diff --git a/lib/configuration-6.3.1.js b/lib/configuration-6.5.0.js similarity index 92% rename from lib/configuration-6.3.1.js rename to lib/configuration-6.5.0.js index 79f95e9..95c418c 100644 --- a/lib/configuration-6.3.1.js +++ b/lib/configuration-6.5.0.js @@ -1,7 +1,7 @@ /** * Mapea API - * Version 6.3.1 - * Date 20-01-2023 + * Version 6.5.0 + * Date 23-01-2024 */ (function(M) { /** @@ -137,7 +137,7 @@ * @public * @api stable */ - 'urls': 'https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/mapa.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_callejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejeroCache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextIDEA.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextOrtofoto2009.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/callejero2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/ortofoto2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextOrtofoto.xml'.split(',').map(e => e), + 'urls': 'https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/mapa.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_callejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejeroCache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/callejero2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/ortofoto2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextOrtofoto.xml'.split(',').map(e => e), /** * WMC predefined names @@ -146,7 +146,7 @@ * @public * @api stable */ - 'predefinedNames': 'mapa,hibrido,satelite,cdau,cdau_hibrido,cdau_satelite,callejerocacheado,callejero,idea,ortofoto09,callejero2011cache,ortofoto2011cache,hibrido2011cache,ortofoto'.split(','), + 'predefinedNames': 'mapa,hibrido,satelite,cdau,cdau_hibrido,cdau_satelite,callejerocacheado,callejero,callejero2011cache,ortofoto2011cache,hibrido2011cache,ortofoto'.split(','), /** * WMC context names @@ -155,7 +155,7 @@ * @public * @api stable */ - 'names': 'Mapa,Hibrido,Satelite,Callejero,Hibrido,Satelite,mapa callejero cache,mapa del callejero,mapa idea,mapa ortofoto09,Callejero,Ortofoto,Híbrido,mapa ortofoto'.split(',') + 'names': 'Mapa,Hibrido,Satelite,Callejero,Hibrido,Satelite,mapa callejero cache,mapa del callejero,Callejero,Ortofoto,Híbrido,mapa ortofoto'.split(',') }); /** diff --git a/lib/mapea-6.3.1.ol.min.css b/lib/mapea-6.3.1.ol.min.css deleted file mode 100644 index c9d45dc..0000000 --- a/lib/mapea-6.3.1.ol.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:g-cartografia;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,fHQAAMBzAAABAAIAAAAAAAAAAAAAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAoUeT9AAAAAAAAAAAAAAAAAAAAAAAABoAZwAtAGMAYQByAHQAbwBnAHIAYQBmAGkAYQAAAA4AUgBlAGcAdQBsAGEAcgAAABYAVgBlAHIAcwBpAG8AbgAgADEALgAwAAAAGgBnAC0AYwBhAHIAdABvAGcAcgBhAGYAaQBhAAAAAAAAAQAAAAsAgAADADBPUy8yDxIGiwAAALwAAABgY21hcBdW0u8AAAEcAAAAVGdhc3AAAAAQAAABcAAAAAhnbHlmOgdqwwAAAXgAAG1MaGVhZBdjuy8AAG7EAAAANmhoZWEHwgQuAABu/AAAACRobXR4qQEkdwAAbyAAAAG0bG9jYVd9cwIAAHDUAAAA3G1heHAAhgGdAABxsAAAACBuYW1lJDIV+wAAcdAAAAHOcG9zdAADAAAAAHOgAAAAIAADA/kBkAAFAAACmQLMAAAAjwKZAswAAAHrADMBCQAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAOloA8D/wABAA8AAQAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAMAAAAcAAMAAQAAABwABAA4AAAACgAIAAIAAgABACDpaP/9//8AAAAAACDpAP/9//8AAf/jFwQAAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAQAAP/5BAADhwAVABkAJQA5AAAlAS4BIyIGBwEOARUUFjMhMjY1NCYnBQkBISUiBhUUFjMyNjU0JgMUFhUXHgEzMjY/ATQ2NTQmIyIGA/X+VQsnGBgnC/5VBQYyIwNWIzIGBfxgAasBq/yqAasYISEYGCEhUQEcAg8LCw8CHAEhGBgheQLjExgYE/0dChUMIzIyIwwVCisC5P0cxyEYFyEhFxghAQACBQKmCg4OCqYCBQIYISEAAAAEAGUAJQObA1sAEQAuAHIAfgAAATQmIyEiBhURFBYzMSEyNjURAxQGBw4BIyEiJicuATURNDY3PgEzITIWFx4BFREBFTgBMTUiBgceATMyNjU+ATc+ATMyFhceARcOAQcOAQcOAQcOAR0BFBYzMjY9ATwBNz4BNz4BNz4BNz4BNTgBMS4BIxEiBhUUFjMyNjU0JgObXkL+CkJeXkIB9kJeUgwLCxwQ/goQHAsLDAwLCxwQAfYQHAsLDP63OVEBARgQERgBCAgIFAwMFAgICAEBAwUEEAoJFAkJDBgRERgBAQUEBAkFCxcLCg4BUTkUHBwUFBwcArtCXl5C/gpCXl5CAfb+CRAcCgsMDAsLHBAB9hAcCwsMDAsLHBD+CQH3EBBROREYGBELFQgHCQkHCBULBgkGBg4ICBILCxwSMBEYGBEwAQEBAgYEAwgFCBUODSMVOVH+ahwUFBwcFBQcAAAAAgBg/8ADoAPAADAASgAAAS4BBw4BIyImJy4BIyIGBy4BIyIGFREUFjMyNjURPgEzMhYXHgEzMjY3PgE1ETQmJwMOASMiJicuASMiBgcRPgEzMhYXHgEzMjY3A4kLGQsdQDY8RCAkXE02SxwGGA8UHBwUFBwfQjk7RCEkW05GVyIMDgwLSRc5KTxEICRcTTRKHB9COTtEISRbTiY7GAOCBwEGDxUZERMjEgwNERwU/GAUHBwUAYkQFxkREyMdEgYXDQHADRYG/jUKDRkREyMRDAFWEBcZERMjCQgAAAQAAP/ABAADwAAbADcAVABkAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBiUwNz4BNzY3Njc+ATc2MTAHDgEHBgcGBw4BBwYxExcWBw4BBwYxMDc+ATc2FwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcCEhISFwTExWVkxMcCEhISFwTEz+uywrcDU1FRQaGy4QESwrcDU1FRQaGy4REMJGBxgYPxscDAseDg8HA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEhcExMVlZMTHAhISEhcExMVlZMTHAhIbEREC4bGhQVNTVwKywQES4bGhQVNTVwKywBCEYHDg8eCwwcGz8YGAcAAAABAI8AOwNtAzEAJgAACQEWFAcOASMiJicJAQ4BIyImJyY0NwkBJjQ3NjIXCQE2MhcWFAcBAmgBBRYWCh0ODR0K/vr++godDQ4dChYWAQX++xYWFj0WAQYBBhY9FhYW/vsBwf77Fj0XCg0NCgEG/voKDQ0KFz0WAQUBBhY9FxYW/voBBhYWFz0W/voAAAMAAP/ABAADwAA3AFMAbwAAAS4BJy4BJyIGDwEnLgEjDgEHDgEHFBYfAQcOARUeARceARcyNj8BFx4BMz4BNz4BNzQmLwE3PgEDIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgLAAQYHBxAJChMHbm4HEwoJEAcHBgEHB25uBwcBBgcHEAkKEwdubgcTCgkQBwcGAQcHbm4HB8BqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExxICEhIHFMTFZWTExxICEhIHFMTAJSCRAHBwYBBwdubgcHAQYHBxAJChMHbm4HEwoJEAcHBgEHB25uBwcBBgcHEAkKEwdubgcTAXgoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQAAAAADAAD/wAQAA8AAGQAiACYAAAEhIgYdASMiBhURFBYzITI2PQEzMjY1ETQmASERMxEUFjMhJSERIQPA/YAaJsAaJiYaAoAbJcAaJib+xv3AoCYaAWABAP3AAkADwCUbwCUb/YAaJiYawCYaAoAbJfxgAkD+oBslYAJAAAAABAA//+IDwQObABkAHQBEAGsAABMFHgEzMjY3JT4BNTQmJyUmIgcFDgEVFBYXJQ0BJQUnJgYHBhYfAQUlNz4BJy4BDwEOARUUFhcFHgEzMjY3JT4BNTQmJxUnJgYHBhYfAQUlNz4BJy4BDwEOARUUFhcFHgEzMjY3JT4BNTQmJ04BpQMHAwMHAwGlBwgIB/5bBg4G/lsHCAgHAbIBVf6r/qsDB3sKIQYFAws+/rP+sz8LAQYFHwp8BwgIBwGlAwcDAwcDAaUHCAgHdwohBgUDCjv+s/6zOgoEBgYhCnYHCAgHAaUDBwMDBwMBpQcICAcCiOEBAgIB4QQNCAgNBOEDA+EEDQgIDQTKsauryEEGBgoLHQUjpaUjBhwKCgcFQgQNCAgNBOEBAgIB4QQNCAgNBOE/BggKChwFIaWlIAYcCgoIBj8EDQgIDQThAQICAeEEDQgIDQQAAAADAAD/wAQAA8AAGwA3AFkAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGEyIGDwEnLgEjDgEHDgEHFBYfAR4BMzI2NwE+ATUuAScuAQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTEx8ChMH3n4HEwoJEAcHBgEHB6AHEgkJEgcBAAcHAQYHBxADwCgoi15dampdXosoKCgoi15dampdXosoKPxgISBxTExWVkxMcSAhISBxTExWVkxMcSAhAkAHB95+BwcBBgcHEAkKEwegBwcHBwEABxMKCRAHBwYAAAACAG4AUgOSA3cAEwAoAAABISIHBhURFBcWMyEyNzY1ETQnJhcRFAcGIyEiJyY1ETQ3NjMhMhcWFQLu/iQlGxsbGyUB3CUbGxsbfzAwRP4kRDAwMDBEAdxEMDADLhsbJv4lJhsbGxsmAdsmGxtc/iVEMDExMEQB20QxMDAxRAAAAAMAbgBSA5IDdwAbADgAWwAAASEiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuARcRFAYHDgEjISImJy4BNRE0Njc+ATMhMhYXHgEVByIGDwEnLgEHIgYHDgEHFBYfAR4BMzI2PwE+ATUuAScuASMC7v4kEyANDg0NDg0gEwHcEyANDg0NDg0gkRgYGDoi/iQiOhgYGBgYGDoiAdwiOhgYGL0JEwjdfQgTCQkQBwcGAQcHnwcSCQkSB/8HBwEGBwcQCQMuDg0OIBP+JRMgDg0ODg0OIBMB2xMgDg0OXP4lIjoYGRgYGRg6IgHbIjoZGBgYGBk6IkQGCN1+BwcBBwYHEAkKEgifBwcHB/8HEwoIEQYHBwAAAAIAAP/ABAADwAAbADcAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExxICEhIHFMTFZWTExxICEhIHFMTAPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEAAAAAAwAA/8AEAAPAABsANwBTAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBhMUBw4BBwYjIicuAScmNTQ3PgE3NjMyFx4BFxYCAGpdXosoKCgoi15dampdXosoKCgoi15dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMpxQURC8uNDQuLkUUFBQURS4uNDQuL0QUFAPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEBoDQuL0QUFBQURC8uNDQuL0QUFBQURC8uAAAAAAQAHf/wA+MDkAAbADUARwBaAAABISIGFREUFjMhFx4BMzI2Nz4BPQE+ATURNCYjExQGKwEiBh0BJy4BIyEiJjURNDYzITIWFREDMhYVMRQGIzEhIiY1MTQ2MzEFMhYVMRQGIzEhIiY1MTQ2MzEhAzr9jEZjY0YBkL8FDQYEBgMKCz9VY0ZcOykIDRSMBQwG/mgpOzspAmQpO50TGhoT/g4TGhoTAfITGhoT/g4TGhoTAfIDkGRG/n1GY8AFBQIBBBEKqQhfQQGDRmT91ik6FA11jAUFOikBeik6Oin+hgFEGhISGhoSEhq+GhISGhoSEhoAAAACACT/4APWA6wAFwA1AAABMhYVERQGIyEiJjURNDYzMhYdASE1NDYFJyY0NzYyHwERNDYzMhYVETc2MhcWFA8BDgEjIiYDoBYgHxf8vBYiIRcWIALYH/5P3BAQECsRgB8XFiB+EC0REBDcBxQLChQBch8X/toWIB8XASYWIB8X7u4WIHrcECsREBB+AdQWIB8X/ix+EBAQKxHcBwkIAAAABAAA/8AEAAPAABAAEwAYABwAAAkBLgEjIgYHAREhAT4BNTQmATUXNycBFwEBJzcXA/X+9gUPBwcPBf1LAUACtQUGBvxmnFbAAbzA/kQCAMA+wAKrAQoFBgYF/Uv+wAK1BQ8HBw/9epycMsABvMD+RAIAwD7AAAAAAwAA/8AEAAPAABwALQAyAAABIgYVESERITI2NTQmIyEiBhURFBYzITI2NRE0JhMnLgEjIgYHARUzAT4BNTQmASM1ARcDkBQc/QABkBQcHBT+UBomJhoDQBomHFGKBQ8HBw8F/evAAhUFBgb9xkAB0EAB4BwU/nADABwUFBwlG/zAGyUlGwGwFBwBS4oFBgYF/evAAhUFDwcHD/4aQAHQQAAAAAADAbgADgKGA3IASABVAGEAAAE0JiMiBhUUFhcjFTMVIxUzFSMVMxUjFTMVIxUzFSMVMxUOARUUFjMyNjU0Jic1MzUjNTM1IzUzNSM1MzUjNTM1IzUzNSM+ATUjNDYzMhYVFAYjIiY1ExQGIyImNTQ2MzIWAoY9Kis8Jx8/Pz8/Pz8/Pz8/Pz8VGS4hIC8aFEZGRkZGRkZGRkZGRh4ooiIZGCMjGBkiXhUODxQUDw4VAwsqPT0qIjULWCcsJywmLCcsJiwPCScYIC8vIBgnCQ8sJiwnLCYsJywnWQo1IhgiIhgZIiIZ/VMPFBQPDhUVAAAGABn/zwPxA6cAJABAAEwAWABkAHAAACUBNjc2JicmJyYnJiIHBgcGBwYUFxYXFhceATc2NwEWMjc2NCcBBgcGIicmJyYnJjQ3Njc2NzYyFxYXFhcWFAcGJTMVIzUzNQcnNzMVFxQGIyImNTQ2MzIWNRQGIyImNTQ2MzIWFxUjNTM1Byc3MxUzA/H+bCUQEAgZGCwxPj6BPj4xMRgZGRgxLTc3dTk6MQGUDykPDw/+BCIrLForKyIjERERESMiKytaLCsiIhIRERL+4w5FEBcJJyBzDgsLDg4LCw4OCwsODgsLDoBFDxYJJyAOFgGUMTo5dTc3LTEYGRkYMTE+PoE+PjEsGBkIEBAl/mwPDw8pDwG1IhIRERIiIissWisrIiMRERERIyIrK1osK0AiIpASIxu8CAsPDwsMDw9kCw8PCwwODnQiIpASIxu8AAUAGwDzA+sCkQAQACAAMQBCAFMAAAEhIgYVERQWMyEyNjUxETQmAxQGIyEiJj0BNDYzITIWFQUjIgYdARQWOwEyNj0BNCYjMyMiBh0BFBY7ATI2PQE0JiMzIyIGHQEUFjsBMjY9ATQmIwPC/IIRGBgRA30SGBgwEAz88wsQEAsDDQwQ/aSDBQcHBYMFBwcF+oIGBwcGggYHBwb7gwUHBwWDBQcHBQKRGBH+tBEYGBEBTBEY/sMLEBAL2wsQEAshBwaCBgcHBoIGBwcGggYHBwaCBgcHBoIGBwcGggYHAAAAAgAD/8ID7wO7ACIAMwAAJSc3PgEnLgEnASYGBw4BFwEeARcWNj8BFx4BMzI2PwE2NCcHJy4BIyIGDwEDBQcGFB8BBwPvuqELCAMEFA/8jxAhDAwHBQEnBBcPDx0LproJFgsLFgmwERHPvQoXDQwYCZr3AuWUExO9Zde6ogoeDw8WBQEnBQgLDCEQ/I8PFAQDCAumuwgJCQiwEjERmLsKCQkKmQLm+JQTNhK7ZgAAAAABADsAqgPlAsAAGQAACQEmIgcGFBcBHgEzMjY3AT4BNTQmJyYiBwECBf6eFzoXFxcBlgsZEBAYDAGWDAoKDBc6F/6eAV4BYhcXFz0X/moLCgoLAZYMGw0OHgsXF/6eAAADAAD/wAQAA8AAGwA3AFcAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGEyIGBzEHJzEuASMiBhUUFhcxFx4BMzI2PwExPgE1NCYCAGpdXosoKCgoi15dampdXosoKCgoi15dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMWgsSBo2NBhILFBwHBrAGEwoKEwawBgccA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQIgCAiZmQgIHBQJEQbACAgICMAGEQkUHAAAAQAkAMEDzgLXABkAAAkBFjI3NjQnAS4BIyIGBwEOARUUFhcWMjcBAgMBYxc6FxcX/mkLGRAQGAz+agsKCgsXOhcBYgIj/p4XFxc9FwGWCwoKC/5qDBsNDh4LFxcBYgAAAwAA/8AEAAPAAB8AOwBXAAABJy4BIyIGDwExDgEVFBYzMjY3MTcXMR4BMzI2NTQmJwMiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAtOwBhMKChMGsAYHHBQLEgaNjQYTChQcBwbTal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTEwBkMAICAgIwAYRCRQcCAiZmQgIHBQJEQYCMCgoi15dampdXosoKCgoi15dampdXosoKPxgISBxTExWVkxMcSAhISBxTExWVkxMcSAhAAEBBP/3AxsDoQAZAAAJAQYUFxYyNwE+ATU0JicBLgEjIgYHBhQXAQJn/p0XFxc9FwGXCwoKC/5pCxsODR4MFxcBYwHB/p4XOhcXFwGWDBgQEBkLAZcLCgoLFzoX/p0AAAMAAP/ABAADwAAfADsAVwAAATEuASMiBhUUFhcxFwcxDgEVFBYzMjY3MTc+ATU0JicDIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgHQBhEJFBwICJmZCAgcFAkRBsAICAgIkGpdXosoKCgoi15dampdXosoKCgoi15dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMApMGBxwUCxIGjY0GEgsUHAcGsAYTCgoTBgHdKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEAAAADAAT/xAP8A7wAHAA5AFYAACUWFxY2NzY3Njc2JicmJyYnJgYHBgcGBwYWFxYXAzY3PgEXFhcWFx4BBwYHBgcOAScmJyYnLgE3NjcXMRQWOwEHBhQXFjI/ATY0LwEmIgcGFB8BIyIGFQEAXGVlvVJRNTUMDDM9PFxcZWW9UlE1NQwMMz08XGMrQUGYUVBKSTEwKQoJKitBQZhRUEpJMTApCgkqfR4V1TkPDw8qD5EPD5EPKg8PDznVFR4FNQwMMz08XFxlZb1SUTU1DAwzPTxcXGVlvVJRNQKISTEwKQkKKitBQZhRUEpJMTApCgkqK0FBmFFQSs0VHjoPKg8PD5EPKg+RDw8PKg86HhUAAQAA/8AEAAPAAFcAABMRFBYzITI2NTQmKwE2Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyYnLgEnJiIHDgEHBhQXFhceARcWMzI3PgE3NjU0Jy4BJyYjIgcOAQcGBzU0JiMiBhUAHBQBABQcHBSOHCYmWzIzNlZMTHEgISEgcUxMVj87O2UnJxkDDgkIEwkKDQMEBB0xMHxISU5qXV2LKSgoKYtdXWo/OzxqLi4kHBQUHANw/wAUHBwUFBwtIyQyDQ0hIHFMTFZWTExxICESEkQvMDoJDgMEBAMOCQgTCUg7OlMXFigpi11dampdXYspKA8ONygoMoYUHBwUAAAAAAEA7f/gAwQDigAYAAAJATY0JyYiBwEOARUUFhcBHgEzMjY3NjQnAaIBYhcXFz0X/moMCgoMAZYMGg4OHgsXFwHAAWIXOhcXF/5qDBgQEBkL/mkLCgoLFzoXAAAAAwAA/8AEAAPAAB8AOwBXAAABIgYHMQcOARUUFh8BMR4BMzI2NTQmJzEnNzE+ATU0JgMiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAlAJEQbACAgICMAGEQkUHAgImZkICBxkal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTEwCoAcGsAYTCgoTBrAGBxwUChMGjY0GEgsUHAEgKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEAAAMABP/EA/wDvAAbADgAVAAAASYnLgEHBgcGBw4BFxYXFhceATc2NzY3PgEnJgEGBwYmJyYnJicmNjc2NzY3NhYXFhcWFxYGBwYHAyM3NjQnJiIPAQYUHwEWMjc2NC8BMzI2NTE0JgO7NVFSvWVlXFw8PTMMDDU1UVK9ZWVcXDw9MwwM/t1KUFGYQUErKgkKKTAxSUpQUZhBQSsqCQopMDFJGtU5Dw8PKg+RDw+RDyoPDw851RUeHgLAXDw9MwwMNTVRUr1lZVxcPD0zDAw1NVFSvWVl/fkqCQopMDFJSlBRmEFBKyoKCSkwMUlKUFGYQUErAZY6DyoPDw+RDyoPkQ8PDyoPOh4VFR4AAAADAG4AUgOSA3cAGwA4AFcAAAEhIgYHDgEVERQWFx4BMyEyNjc+ATURNCYnLgEXERQGBw4BIyEiJicuATURNDY3PgEzITIWFx4BFQcVFAYjIiY1JwcGIicmND8BIyImNTQ2OwEyFhceARUC7v4kEyANDg0NDg0gEwHcEyANDg0NDg0gkRgYGDoi/iQiOhgYGBgYGDoiAdwiOhgYGJwVEA8VAd4LHgoLC954DxYVD9EIDQUFBgMuDg0OIBP+JRMgDg0ODg0OIBMB2xMgDg0OXP4lIjoYGRgYGRg6IgHbIjoZGBgYGBk6Ih/REBQUEHnfCgoLHgveFg8QFAUFBQ4HAAAAAQAi/+gD2AOkAGgAAAEnJiIHBhQfASERFx4BMzI2NzY0LwEuASMiBg8BBhQXFjI/AREhNzY0JyYiDwEOARUUFh8BHgEzMjY3NjQvASERJyYGBwYUHwEeATMyNj8BNjQnJiIPAREhBwYUFx4BMzI2PwE+ATU0JgPMkg0jDA0NRv7mRgYRCQkPBg0NkAYRCQkPBpINDQ0lDEb+5kYNDQ0jDpAGCAgGkAYRCQkPBg0NRgEaRg0jDg0NkgYPCQkRBpANDQ0lDEYBGkYNDQYPCQkPBpIGBgYB4pINDQ0jDkgBIEYGBgYGDSMOkAYICAaQDSMODQ1G/uBIDSMODQ2SBg8JCREGkgYGCAYNIQ5I/uZGDQEMDSUMkAYICAaQDSUMDQ1GARpIDSEOBggGBpIGEQkJDwAAAAADAAD/wAQAA8AAHAA5AFMAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYjESInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBiMTBQ4BFx4BHwIeARcWMjMyNjcTNiYnLgEHAgBqXV2LKSgoKYtdXWpqXV2LKSgoKYtdXWpXTU1yISIiIXJNTVdXTU1yISIiIXJNTVe3/kQKCgIDEAukDQEPCwIDAgkQBe0FAwgIFgoDwCgpi11dampdXYspKCgpi11dampdXYspKPxaIiFyTU1XV01NciIhISJyTU1XV01NciEiAoPtBRULCg8BDqMLEQIBCQkBvQkWCAgDBQAAAwAA/8AEAAPAADwAWABkAAABIyYnLgEnJic1NCYjIgYdAQYHDgEHBgcjIgYVFBY7ARYXHgEXFhcVFBYzMjY9ATY3PgE3NjczMjY1NCYjASInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgMiBhUUFjMyNjU0JgPOOwgeHl09PUYdFRUdRj09XR4eCDsVHR0VPQkfHl08PEQdFRUdRDw8XR4fCT0VHR0V/jI/ODhTGBgYGFM4OD8/ODhTGBgYGFM4OD9GY2NGRmNjAfJGPj1fHx8INhUdHRU2CB8fXz0+Rh0VFR1EOztcHh0JQhUdHRVCCR0eXDs7RB0VFR3+ohgYUzg4P0A3OFMYGBgYUzg3QD84OFMYGAHbY0ZGYmJGRmMAAwAA/8AEAAPAABwAOQBWAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmIxEiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYjARQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFhUCAGpdXYspKCgpi11dampdXYspKCgpi11dalhNTXMhISEhc01NWFhNTXMhISEhc01OVwEXFhZLMzM6OjMzSxYWFhZLMzM6OjMzSxYWA8AoKYtdXWpqXV2LKSgoKYtdXWpqXV2LKSj8WSEhc01NWFhNTXMhISEhc01NWFhNTXMhIQGnOjMzSxYWFhZLMzM6OjMzSxYWFhZLMzM6AAACAAD/wAQAA8AAGwBXAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAzU0JiMiBh0BJicuAScmJzMyNjU0JisBNjc+ATc2NxUUFjMyNj0BFhceARcWFyMiBhUUFjsBBgcOAQcGAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXTgdFRUdRj4+Xx8fCXEUHR0UcQkfH18+PkYdFRUdRj4+Xx8fCXEUHR0UcQkfH18+PgPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GZxFB0dFHEJHx9fPj5GHRUVHUY+Pl8fHwlxFB0dFHEJHx9fPj5GHRUVHUY+Pl8fHwAEAAD/wAQAA8AAIwBAAEQAdQAAAS4BLwEuAScuASMhIgYHDgEVERQWFx4BMyEyNjc+ATURNCYnJTQ2Nz4BOwEyFhceAR0BFAYHDgErASImJy4BPQEBIREhEyMRNCYnLgEjISIGBw4BFREjETMRFBYXHgEzITI2Nz4BNREyFhceAR8BHgEXHgEVEQPzBxAJuwkaEBAdDf2VDRcJCgkJCgkXDQOADRcJCgkHBv24AwMDCASABAgDAwMDAwMIBIAECAMDAwFV/gACAKtWCQkKFg791g4WCgkJVlYJCQoWDgGADRcJCQoFDQgICwO8AwcDAwQCpRAaCbsJEAcGBwkKCRcN/IANFwkKCQkKCRcNAmsNHRCwBQcDAwQDBAMHBdUECAMDAwMDAwgE1fzAAQD/AAEWDRcJCQoKCQkXDf7qA1b+6g0XCQkKCgkJFw0BFgQDAwcDvAMLCQgNBP2qAAACAAD/wAP9A8AARgB3AAABLgEnIiYjIgYPAQ4BIyImLwEuATU0Nj8BPgEnLgEnLgEjIgYHDgEHFBYXAQ4BFx4BHwEeATMyNjcBHgEzMjY3Njc+AScmJwMOASMiJicuASMiBgcBJwE+AScuATU+ATc+ATMyFhcHDgEVFBYfAR4BMzI2PwEWBgcD4AUWDQMFAwsUCKsCBgMDBgJgAgMDAqsJCAIDEQ0lTiZBeC8uLgEKCv7fCwkBAQkJtQkYDAwYCQEhHjweQXgvJRYXDwcIFYEfVTAWLRcHDwgTIw7+9ogBCxMMCAgHASEfH1UwDhsOexARERBgECkWFygQfAwfKQK+DREDAQkHqwIDAwJgAgYDAwYCqwoaDg0WBRAQLi8udUAfPx/+3woaDgsVCLUKCQkKASEKCi4vJS4uZTU0Mv7DHyIIBwIDDw3+9YgBChQ0GhgwFy5SHx8iAwN6ECkXFikQYBARERB7PnQpAAAABQAA/+ID/AOqACQAKAAsADoASQAAASM1NCYjISIGHQEjIgYVERQWOwEHBhYzITI2PQEnMzI2NRE0JiUhFSEDEyETNyMnLgEjISIGDwEjESEFMzI2NTQmKwEiBhUUFjMD0N4RC/5QChLeEhoaEqgaAxUOAkgNExyqEhoa/XABWP6oQiwBhCy6jA4BEwz+JAwSAg6MA1D9NIwTGRkTjBMZGRMDCoQKEhELhBoS/gQSGLAPFxQOCKwYEgH8EhpWVv0qAQD/ANpcDBAQDFwBppsZEhIZGRISGQAABAAA/8AEAAPAAAsAGQA1AFEAAAEiBhUUFjMyNjU0JgciBh0BFBYzMjY9ATQmAyIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYCABomJhoaJiUbGiYmGhomJRtqXV2LKSgoKYtdXWpqXV2LKSgoKYtdXWpWTExxICEhIHFMTFZWTExxICEhIHFMTALAJhoaJiUbGyXAJRvAGiYmGsAaJgHAKCmLXV1qal1diykoKCmLXV1qal1diyko/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEAAQBcACIDrANxABkAAAEmIgcOARcBJgYHBhQXFjI3PgEnARY2Nz4BA6wkZSQaDg39+SBHGiQkI2UkGg4MAgYhRhsjAQNxJCQaRiH9+gwNGiRlJCQkGkcgAgYMDhojZgAAAgAJ//QD5wN8ABoANAAAJSYGBycuAScmBgcGFhcWNjcXHgEXFjY3NiYnAS4BBw4BFwcmIgcOARceATc+ASc3FjY3PgECnShQHPEDMSg2aRQUMDcoUBzxAzAoN2kUFDA3AUohcjAjHgfUIlIjMBUhIXIwIx4H1CJSIzAV+w4THVkoQw8UMTY3aRQPFBxZKEIPFDA3NmoUAl0wFSEYTSeSFBkhci8wFSEYTSeSFQEZIHMAAAAABgAAAFUEAAMrAAsAFwAjADEAQABPAAATIgYVFBYzMjY1NCYDIgYVFBYzMjY1NCYDIgYVFBYzMjY1NCYTITI2NTQmIyEiBhUUFgUhIgYVFBYzITI2NTQmIxEhIgYVFBYzITI2NTQmI2MpOjopKTo6KSk6OikpOjopKTo6KSk6Or4CdBsnJxv9jBsnJwKP/YwbJycbAnQbJycb/YwbJycbAnQbJycbAys6KSk6OikpOv74OikpOjopKTr++DopKTo6KSk6AWsnGxwmJhwbJ4QnGxsnJxsbJ/74JxscJiYcGycAAAAACAAAAAAEAAOAAAgAEQAaACMAMgBHAFMAcAAAARcOAQcnPgE3Bx4BFzcuAScHJR4BFzcuAScHJxc+ATcnDgEHBw4BBxc+ATc+ATcnDgEHExQGBwMwJy4BJyY1LgE1NDYzMhYVIzQmIyIGFRQWMzI2FyMHMxcHHgEVNxchNx4BFzcuASc3My4BJyMDIQMBohgSIhENDh0PvxIlEwEPHA4SAfgOGw0dESMSDYUTDx0NBREkEmcFCwUfBgwGCBAIHQkSCrEJCI8WFzYXFggIXkJCXkA4KCg4OCgoOOCWIYlFFhISBjz8skACAwEiBQoEQIkKEAeWwAQAwAEqPAYLAz4DCQZNBQUBQAEEBD5wAwkHOQkMBD80PQUGAUACBwYwAwYDOAMHBAUJBDkFCgYBjxQkEf7pLCxqLCwBECITQl5eQig4OCgoODh4QM8ZEBgBBbTAAQIBNgMHBMAUIAz9wAJAAAYAAAAgBAADYAANABkAKQAtADEANQAAASIGFRQWFxsBPgE1NCYDIiY1NDYzMhYVFAYTFwcnNycHJwcnAwUlBSUnASc3FxcHPwEXNR8BA0BCXggHkZEHCF5CKDg4KCg4OAg6lDEJHhDAwIDAAQABAAEAAQBs/VaUe0rFsy6FQIUuA2BeQhIiD/7jAR0PIhJCXv8AOCgoODgoKDj+0XRK9wo8EICAgP6AgICAgNj++0r3SpJa51nm5lnnAAAACAAa/8AD5gPAAHUAiQCcALAAxgDZAPMA/wAAAQ4BDwEOAQceARUUBgcOAQc+ATcOASMiJicuASccARUUBgcOASMiJicuATU0Njc+ATMyFhcuAScmIiMiBgc+ATc+ATM4ATE6ATE+ATciJiM4ATkBOAExIgcOAQcGFRQXHgEXFjM4ATkBOAExMjc+ATc2NTQmJyUOAQcOAQcOAQcOAQc2Nz4BNzY3Az4BNw4BFRQWFy4BJy4BNTQ2NwMeARceARceARceARcmJy4BJyYnATgBMSImJy4BJx4BMzI2Nw4BBw4BIzc+ATc+ATc+ATc+ATcGBw4BBwYTMjY3Njc+ATc2NTQmIyIGFRQXHgEXFhceAQM0NjMyFhUUBiMiJgOuCRQLBgkSCSMmPDYSJxUEBQECBAIHDQUDEQsHByZRKipRJgcHBwcmUSoQHw8KEwgGDQYlSSMGDggZPR8BAQYPCggRCGRZWIQnJiYnhFhZZGRZWIQnJh0b/cUKEQgMFAggPBoSHw4QGRpBKCctphInFQUGBgUVJxI2PDw2Wg4fEho8IAgUDAgRCi0nKEEaGRABjR89GQgOBiNJJSZIIwYOCBk9H40KEQgMFAggPBoSHw4QGRpBKCcuAgQBDB0dPhgYbk1NbhgYPR4dCwIEYzsqKTw8KSo7AogRIhEJDhsMFjEZHz0ZCA4GGzkeAQEGBgMUDgQIBCpRJgcHBwcmUSoqUSYHBwEBECIQAQYFFScSNjwRIA8BJieEWFlkZVhZhCYmJiaEWVhlPXMyqw4fEho8IAgUDAgRCi0nKEEZGhD+6AgOBiNJJSZJIgYOCBk9Hx89Gf7+ChEIDBQIIDwaEh8OEBkaQSgnLf7oPDYSJxUGBQUGFScSNjwYDh8SGjwgCBQMCBEKLScoQRoZAaEBAg4mJl0wMCFNbm5NITAwXSYmDgIBAUYqOzsqKjs7AAoAAP/ABAADwAAEABMAHwBOAFYAWgBiAGYAbgByAAABIzUzFQMUBgcLAS4BNTQ2MzIWFSM0JiMiBhUUFjMyNgURFAYjISImNRE0NjsBDgEVFBYXIxUzFyMRIREjNxUhNTQmKwE+ATU0JiczMhYVASMVFBY7ATURIxEzESMiBh0BMzUBIRUhJSEVMzI2PQERIREhA4CAgOAIB5GRBwheQkJeQDgoKDg4KCg4AaBLNf0ANUtLNaMBAgICJHchmAGAGFgBACYaowECAgGjNUv8wIAmGkCAgEAaJoABwP6AAYABQP8AwBom/wABAAFAgIAB4BIiD/7jAR0PIhJCXl5CKDg4KCg4ODj9gDVLSzUCgDVLCBAICBAIwED/AAEArGyAGiYIEAgIEAhLNf4AgBomwAFA/wACACYagMD9wMDAwCYagAFA/wAAAAACADT/wAPMA8AALQBpAAATNDY3NhYfARE0NjMyFh0BPgEzMhYXPgEzMhYXPgEzMhYVFxQGKwEiJi8BLgE1IzEUFh8BFBYXHgEXHgE7ATI2Nz4BPQE0JiMqASMuASMiBiMuAScuASc1NCYjIgYVESImIyYGBw4BFTkBgw8PHEkZHzQlJTQKFwwdLAoLGA0hMAYKFg0kNAFwT78rWx3CCwxPFhXCAgEUMRsfPx2/NGIlKCtjRQEBARdEJgQJBQQIBQ4fEWJGRWMCBQIhPxkbHgFvEiMOGAQcIwGRJTQ0JdAGBiAYBggqHwYGNCXaR2QuHdoNHhAfOhfaAQIBEyINDxAkIiRdM9pGYhwhAQQGAwoOA3hFY2NF/v4BAhYWGEIkAAACAEf/8QO6A40AcgDmAAABMgYXFgYXFjIzMjY3PgE3PgEzMhYXFgYHDgEXOAExMjY3PgEzMhYzFgYHDgEHDgEHDgEjIiYnLgEnLgEnLgEnJjY3MDIxMhYXHgEzOgE3NiYnLgEnLgE3PgEzOgEzHgEXHgEXMBYzMjAxNiY1LgE3NjIzNSoBBw4BBw4BBy4BJyoBIyIGBwYWFx4BFx4BFyYiIyoBIw4BBw4BFx4BFx4BFx4BFx4BFx4BFx4BFx4BMzI2Nz4BNz4BNz4BNz4BNz4BNz4BNz4BNz4BJy4BJy4BIyIGBz4BJy4BIyIGBw4BIy4BJy4BIzECADUBAgIBFQEBARkNBAUNEAcQCREfBggaBQYRIRIVCgodGgIFAisaCyQyJQURAw2IDxxqHg0rCyYqKBArAQEnDQEXKA8HKxEBAwERFwYUIREIFgICIRQBAwEjHQwIFBAQBQEQAwEIOAMGAwYLBis7CgECARIkDgMGAzNKBQMTCwIDAgQKBQUIBQECARgxEhARAQIkFQUKAxgfEQkXDgEDAhssHBtbRAkyHDgtDhMQBQMGAwEEARMeDg0dEgEBAQ0WGAwpGgULBQgQBwcBCQ5DKhUlDwEDAQQLBxEsGgNCgToraQMBdxUhaAsEBA4NFm0bJWgBLRobLQEHXhxkimQNNAEIBQQJBDgPNEAxEywPFhwBJA8GMwEHQRAxTCoUNBEWGQNWHBU1GxkDgBs8fAgBSwEHOC0HDggQDQFCMRw3GQQIBAwXCwEBGBMSLBcgMBcFCwQeKxcOIBMCBAImMQgJBwEBAwoICx4OBxEIBgkDM1MnJU8xAgUCIV0qFRsEAQECAiQ4FyEoCgoBAggQBxIRAAAFABQAVAPmA7AALQAxADUAOQA9AAABJy4BIyoBDwEnLgEjKgEPAQ4BFREUFjMyNj8BFx4BMzI2PwEXHgEzMjY1ETQmAQcRNxMnERcTBxE3EycRFwPQ4AMIBQQJA9LSAwgFBAkD4goMFREEBwXS0gMIBQQJA9LQBAcFEBYL/RuWluKWluKWluCUlANGaAEBAmJiAQECaAQVC/1YDxcCAmBgAQMCAmBgAQMXDwKoChX9uUQCVEb9ZkQCVkb98EQCVEb9ZkQCVkYAAAEAggCIA3gDfgAfAAABMhYVFAYrARUUBiMiJj0BIyImNTQ2OwE1NDYzMhYdAQM4GyUlG/gnGxsn+BsnJxv4JxsbJwJEJxsbJ/gbJSUb+CcbGyf4GycnG/gAAAAAAwAl/+UD2wObADgAVABwAAABLgEjIgYHDgEdASMiBgcOARUUFhceATsBFRQWFx4BMzI2Nz4BPQEzMjY3PgE1NCYnLgErATU0JiclBgcGFBcWFxYXFjI3Njc2NzY0JyYnJicmIgcGAQYHBiInJicmJyY0NzY3Njc2MhcWFxYXFhQHBgIgBhEJCREGBwmcChIHBgcHBgcSCpwJBwYRCQkRBgcJnAoSBwYHBwYHEgqcCQf+dksmJSUmS0teX8RfXktLJiUlJktLXl/EX14CRT1MTaBNTD09Hh8fHj09TE2gTUw9PR4fHx4CrwYHBwYHEgqcCQcGEQkJEQYHCZwKEgcGBwcGBxIKnAkHBhEJCREGBwmcChIHe0teX8RfXktLJiUlJktLXl/EX15LSyYlJSb9JT0eHx8ePT1MTaBNTD09Hh8fHj09TE2gTUwAAAAEACz/3gPZA4cAAwAgACgALwAAASERISU1MxUzNTMVMzUzFTM1MxUzNTMVMzUzFTM1MxUhATEjJzchFwcnNycjBxczA9n8UwOt/I5YOzo7Ozs7Ozs6OztY/MkBJRiLiwEViooxWlq0Wlq0AT/+nzvrdnY7O3Z2Ozt2djs76wGO8PDw8FScnJycAAAAAAMAHP/eA9kDCgAaAB4AOwAAATQmIyIGByEuASciBhUUFjMyNjchHgEzMjY1EyERISU1MxUzNTMVMzUzFTM1MxUzNTMVMzUzFTM1MxUhA9g5KB4vDP24CzAdKTk5KB4wCwJIDC8eKDkB/FMDrfyOWDs6Ozs7Ozs7Ojs7WPzJAqgoOSAZGSABOSkoOSAZGSA5KP6X/p8763Z2Ozt2djs7dnY7O+sAAQB+AbwDfgJIAA0AAAEhIiY1NDYzITIWFRQGAzj9jB4oKB4CdB4oKAG8KB4eKCgeHigAAAQAJf/lA9sDmwAOAB0AOQBVAAABMzI2Nz4BNTQmJy4BKwEzISIGBw4BFRQWFx4BMyEBBgcGFBcWFxYXFjI3Njc2NzY0JyYnJicmIgcGAQYHBiInJicmJyY0NzY3Njc2MhcWFxYXFhQHBgIwnAoSBwYHBwYHEgqcCP78ChIHBgcHBgcSCgEE/l5LJiUlJktLXl/EX15LSyYlJSZLS15fxF9eAkU9TE2gTUw9PR4fHx49PUxNoE1MPT0eHx8eAZAJBwYRCQkRBgcJCQcGEQkJEQYHCQGaS15fxF9eS0smJSUmS0teX8RfXktLJiUlJv0lPR4fHx49PUxNoE1MPT0eHx8ePT1MTaBNTAAAAAADAFYAfgOmA4YADQAbACkAABMiJjU0NjMhMhYVFAYjFTIWFRQGIyEiJjU0NjMBMhYVFAYjISImNTQ2M5weKCgeAsIeKioeHioqHv0+HigoHgLCHioqHv0+HigoHgL4KB4eKioeHiiuKh4eKCgeHir+wigeHioqHh4oAAAABwAi/+ID3gOeAB0ANwBGAFYAZQCAAI4AAAExIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmIwMuAScuAScuASczDgEHDgEHDgEHDgEjIiYnAx4BFx4BFyYnLgEnJiczJzY3PgE3NjcOAQcOAQcxIyEuAScuAScWFx4BFxYXIysBPgE3PgE3PgE3PgEzMhYXHgEXHgEXHgEXMRM+ATc+ATczBgcOAQcGAgBjV1eCJSYmJYJXV2NjV1eCJSYmJYJXV2MQBw8ICA8HEhcD8AMXEgkVCgUKBQUIAwMIBb8DGhUIEAo2LS5GFhYHtrYHFhZGLi02ChAIFRoDtgJUAxoVCBAKNi0uRhYWB7ZX8AMWEwkVCgUKBQUIAwMIBQcPCAgPBxIXAwMKEAgVGgO2BxYWRi4tA54mJYJXV2NjV1eCJSYmJYJXV2NjV1eCJSb8uQQPCwwcEi52QkJ2LhckDAYIAwMCAgMBPkqGNxIhDhIfIFYzNDpWOjQzViAfEg4hEjeGSkqGNxIhDhIfIFYzNDpCdi4XJAwGCAMDAgIDBA8LDBwSLnZC/mIOIRI3hko6NDNWIB8AAA0AAP/ABAADwAApADoATQBeAGoAeACEAJUAoACuALgAyQDcAAABJicuAScmIyIHDgEHBgccAR0BHAEVFhceARcWMzI3PgE3Njc8ATU8ATUBDgEHDgEHDgEHNjc+ATc2NwE0Njc+ATcOARUUFhcuAScuATUXHgEXHgEXHgEXJicuAScmJwEuAScuASceARcVIxEuAScuATU0Njc+ATcVEQ4BBz4BNz4BNxUxBS4BJy4BJy4BJxYXHgEXFhcBHgEXHgEXLgEnNRMeARceARUUBgcOAQc1ETU+ATcOAQcOATc+ATc+ATc+ATcGBw4BBwYHEw4BBz4BNTQmJx4BFx4BFRQGBwQAASkoi11daWldXYsoKQEBKSiLXV1paV1diygpAf1LHi4MFScTFiUQDhcXPiYmLP7+ODsKFgsCAgICDBUKOzgRDyUXEicVDS4fLSYnPhcXDQGBHTcWDxkIJU0pASxVJwMEBAMnVSwoTiUJGA8XNx0Byw8lFxInFQ0uHy0mJz4XFw3+fx03Fg8ZCCVNKQEsVScDBAQDJ1UsKE4lCRgPFzdzHi4NFScSFyUPDRcYPiYmLI8KFgsCAgICDBUKOzg4OwHFaVxdiSgoKCiKXF1pAQEBAgEBAWldXIooKCgoiV1caQECAQEEAQGLLHREBAwGCBAILysqSB0dFP5xDywUBAYDFi8YGC8WAwcDFSwQdggQCAYLBUR0LBQdHUgrKi/+xgw5LB1DJQUHAekBMwEIBxo3HBw2GwYIAvoBQwEGBiVDHis5DOlRCBEHBgsFRHQsFB0dSCorLwE6DDkrHkMlBgYB6f7OAgcHGzYcHDcaBwgB+v3T6QEHBSVDHSw5FCx0RAULBggQCC8qK0gdHRQBQAQGAxcuGBgvFgMGBBQsDw8uFAAGAAAADgQAA3IAHAApAEYAUgBvAHwAABM1NCYjIgYdAQ4BFRQWFxEUFjMyNjURPgE1NCYnByImNTQ2MzIWFRQGIwURNCYjIgYVEQ4BFRQWFxUUFjMyNj0BPgE1NCYnByImNTQ2MzIWFRQGATU0JiMiBh0BDgEVFBYXERQWMzI2NRE+ATU0JicHIiY1NDYzMhYVFAYj2RsTFBs2RkY2GxQTGzZGRjYuIC4uICAtLSABhBwTExw1R0c1HBMTHDVHRzUvIC4uICAuLgFkGxQTGzZGRjYbExQbNkZGNi8gLS0gIC4uIALwVBMbGxNUEFo6O1oP/pQTGxsTAWwPWjs6WhDyLiAgLS0gIC4mAWwTGxsT/pQPWjs6WhBUExsbE1QQWjo7Wg/xLSAgLi4gIC0CCVQTGxsTVBBaOjtaD/6UExsbEwFsD1o7OloQ8i4gIC0tICAuAAAABgBC/8ADvwPAACEAJQApADcARQBTAAABIzU0JiMhIgYdASMiBhUUFjsBERQWMyEyNjURMzI2NTQmJTMVIwEhESEBETQ2MzIWFREUBiMiJjcRNDYzMhYVERQGIyImJRE0NjMyFhURFAYjIiYDj84mGv8AGyXPFBwcFC8lGwJAGiYuFBwc/f7AwAFg/gACAP7YFhIRFxcREhadFxERFxcRERf+xRcRERcXEREXAyBgGiYmGmAcFBQc/UAbJSYaAsAcFBQcQED9AAKg/fIBZxIWFhL+mREXFxEBZxIWFhL+mREXFxEBZxIWFhL+mREXFwAAAwBx/9EDjwOvAEUAggDJAAAFLgEnMS4BJzEuAScxLgEnMS4BJzEuATUxNDY3MT4BMzEyFhcxHgEVMRQGBzEOAQcxDgEHMQ4BBzEOAQcxDgEjOQEiJicxAw4BFTEUFhcxHgEXMR4BFzEeARcxHgEXMR4BFzE+ATcxPgE3MT4BNzE+ATcxPgE1MTQmJzEuASMxIgYHMRMiJicxLgE1MTQ2NzE+ATMxFSIGBzEOARUxFBYXMR4BFzE+ATcxPgE1MTQmJzEuASMxNTIWFzEeARUxFAYHMQ4BIzE4ATkBAekGCQQJEQkSJhQoVCMYJQwHBz82NpJSUpI2Nj8LCgkaEB9MJxoxFg0YDQcRCgcLBcMqMQcIBxUNGkMjFywSCxIHAQIBBAoHDSISJU8gFiEJBgUxKipwQEBwKtoxViAgJSUgIFYxHjUUFBcXFBQ1Hh41FBQXFxQUNR4xViAgJSUgIFYxKwIEAwQMBw8lFy1zPilUKRcuFlOSNjY/PzY2klMbOR0dOx07by8fMxMLEQYDBQMBAyUqcUAQKRcXMhkzZSsdMBEKDgQBAQECBwYKIRUpbDkmSyETIg5AcSoqMTEq/jkmICBWMDFWICAmWxYUFDUfHjUUFBYBARYUFDUeHzUUFBZbJiAgVjEwViAgJgAABQBx/8gD9gOvABsAMwBwAJ4AvwAAAS4BIyIGBw4BFRQWFx4BMzgBMTI2Nz4BNTQmJwMOAQcuAScuATU0Njc+ATMyFhceARUUBhc+ATU+ATc+ATU0JicuASMiBgcOARUUFhceARceARceARceARceARceATMyNjc+ATc+ATceATMyNjU0JicHDgEHDgEHLgEnLgEnLgEnLgEnLgEnLgE1NDY3PgEzMhYXHgEVFAYHDgEHDgEHBSMVFAYjIiY9ASMiJjU0NjsBNTQ2MzIWHQEzMhYVFAYjAqcgVjExViAgJSUgIFYxMVYgICUlIEAUNR4eNRQUFxcUFDUeHjUUFBcXyQECEBoJCgs/NjaSUlKSNjY/BwcMJRgjVCgUJhIJEQkECQYFCwcKEQcNGA0QIRIUXDpLamhK7hIiDQcKBAECAQcSCxIsFyNDGg0VBwgHMSoqcEBAcCoqMQUGCSEWIE8lATQqEg0NEykNExMNKRMNDRIqDRISDQLGICYmICBWMTBWICAmJiAgVjAxViD+8hQWAQEWFBQ1Hh81FBQWFhQUNR8eNZkBAwIdOx0dORtTkjY2Pz82NpJTFi4XKVQpPnMtFyUPBwwEAwQCAQMFAwYRCw0iEzNCa0tKaQK3FSEKBgcCAQEBBA4KETAdK2UzGTIXFykQQHEqKjExKipxQA4iEyFLJjlsKR4qDRISDSoTDQ0SKg0SEg0qEg0NEwAAAgD5/9YDBwOlAB8ALAAAASIHDgEHBhUUFx4BFxYXETMRNjc+ATc2NTQnLgEnJiMHIiY1NDYzMhYVFAYjAgA2MDBHFRUSET0pKS9MLykpPRESFRVHMDA2Sx8sLB8fLCwfA6UUFUcwMDYyLCxFFxYH/joBxgcWF0UsLDI2MDBHFRThLB8fLCwfHywAAAADAGf/wAOZA8AAGwBCAE4AAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYBNDc+ATc2MzIXHgEXFhUUBgcwBi8BLgEjIgYrASIGDwEGJjEuATUlMhYVFAYjIiY1NDYCAFVKSm8gITo6kkFCEBBCQpE6OiEgb0pK/oYXGE82Njw9NjZPFxgzKwcBMgUaDwgEBbARGAUyAgYrMwEoMkdHMjNGRgPAICBvS0pVVGtrvEFAQEG8a2tUVUpLbyAg/nM9NjVQFxcXF1A1Nj0/bykCA5kPEAEPD5gEAihvQO5HMTJGRjIxRwAAAgAA/8AEAAPAADwAZgAACQEuASMiBgcOARcHLgEjIgYPAQ4BFRQWHwEDDgEVFBYzMjY3JRceATMyNj8BNjc+AScmJzcWNjc+ATU0JgciJicmBg8BDgEXFhcWBgcGBwE+ATMyFhcWNj8BPgEnLgE1NDY3Fw4BIwPx/toGEwkKEgYnJAZhI0klUJI5BwcHBwfF7AMEEw0GCgQBJ8UHEQoJEgcHKhwbFwQFFWA4aykHCAi4CBEIDBgIiQsFBhQHCAkQDxv+VidfNCJFHw4fCooIBwICAggI1RAjEgKLASYHCAgHKWs4YA0OPTgHBxIJChEHxf7ZBAoGDRMEA+zFBwcHBwcqNDNwOjo3YQYkJwYSCgoRJAICAgcIigofDicrKlMoJyIBqh8hEBAGBQuJCBgMCBEIEiMQ1QgIAAAAAAIAIQA2A9sDcQAIAA8AACUxIwMTIRMDIQMTIRMDIQMBKBnu7gHe7u7+O5a2AWy2tv6UtjYBngGd/mP+YgGe/sUBOwE6/sYAAAQAAP/DBAADpAA+AHEAngDBAAABDgEHFhceARcWFwYHDgEHBiMiJy4BJyYnNjc+ATc2Ny4BJwYHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJicHLgEnMS4BJzEmJy4BJyYnMTQ3PgE3NjMxMhceARcWFTEUBgcxDgEHMQ4BBzE1FS4BJzEDFBYXMR4BFzEeARcxMjA3MT4BNzE+ATcxPgEnMTQnLgEnJiMxIgcOAQcGFTEzNDYzMRUiBhUxFBYzMTI2NzEuASMxNTIWFTEUBiMxIiY1MQKYER4NQDQ1URwdDxIkJGhFRFNTREVoJCQSDx0cUTU0QA0fEE5CQmAbGygoi15dampdXosoKBsbYEJCTs4KFQsWMBcXFRYhCwoBGRhTNzg/QDc4UxgYOyYoVCILFRMSFQuqHxoaPxwOGQcBAQYQCRIsFSs/ARIRPCgoLi0oKDwREiRsTCg7OygpOgEBOilNbGxNTGwBABgoEQQICBULDAoMDQ4XBwgIBxcODQwKDAsVCAgEESgYCA4PKRkZGyIdHiwNDAwNLB4dIhsZGSkPDwc7BxILFjkgISMjSCQkIz84OFMYGBgYUzg4Pz1/PTtgGQcLASsrAQsHAa0bVi0tVB4PFgUBBA0JEzMeO4UoLigoPBERERE8KCguTG1WOikpOjopKTpWbE1MbWxNAAAAAAMASf/AA24DrgBYAHkAiQAAJRQHBgcGBwYjIicmJyYnJjU0NzY3Njc2NzYXFhcWBwYHBgcGBwYHBgcGBxYXFhcWFxYXFjMyNzY3Njc2NzY3JicmJyYnJicmJyYnJjc2NzYXFhcWFxYXFhUDFRQHBisBFRQHBisBIicmPQEjIicmPQE0NzY7ATIXFhUnFAcGIyInJjU0NzYzMhcWA24jJDo7RkZLSkZGOzsjIxMTISEiIygPDQwDAggJDyEcGxARCwwEBAECDg0cHCYlNjc8PTc2JSUcHA4OAgEEBQsLERAbHCEPCQkDAwwNDygiIyEhExPcCwoPJQsLDpMPCgslDwsKFRUf2x4WFTclJTY1JSYmJTU2JSVSJB0cEhEJCQkJERIcHSQcFxYQDwoKBwMJCQ8ODQ0CBgcIBwcGBwQFAgcICQoKCQgGBgYGCAkKCgkJBwIEBAcHBgcIBwYCDQ0ODwkJAwcKCg8QFhccAgDbDwsL2w8LCwsLD9sLCw/bHxUVFRUf3DUmJSUmNTUlJiYlAAADAID/wAOAA8AAMgBRAF0AACUUBw4BBwYjIicuAScmNTQ3PgE3NjcVDgEVFBceARcWMzI3PgE3NjU0Jic1FhceARcWFQEiBw4BBwYVFBceARcWFxEzETY3PgE3NjU0Jy4BJyYHIiY1NDYzMhYVFAYDgCIibUVFRUVFRW0iIhgXUDQ0OWF/GRlXOjtCQjs6VxkZf2E5NDRQFxj+gC4pKT0REg8PMyMjKUApIyMzDw8SET0pKW4bJSUbGyUlgDElJC8MCwsMLyQlMSkgHy8ODwZBDEIrGxcXIwoKCgojFxcbK0IMQQYPDi8fICkDQBIRPSkpLiomJTsUEwb+fQGDBhMUOyUmKi4pKT0REsAlGxslJRsbJQACACD/wAPgA8AAJQBIAAABBgcOAQcGBwYHDgEnJicRIxE0NjMyFhUWFx4BFxYXFhceARcWMQEVHgEVFAYjIiY1NDY3NQ4BFRQXHgEXFjMyNz4BNzY1NCYnA+AxLCxPIyQhHSQkUS0tMEATDQ0TGyMkUy4uL0g7O1QXF/3AOUeDXV2DRzlXaRUVTTQ1QEA1NE0VFWlXAqASERErHBwpJBgYEwYGGP6jA2ANExMNJxgZHAYFAQEUFDATFP5XQQsuHSg4OCgdLgtBD1A4Ix4dKgwMDAwqHR4jOFAPAAAAAgEhACIDBANpAD0AVQAAARcWBgcOAQ8BHwEWBgcOAQ8BMAYjLgExLwEXMBYHDgExBwYmJy4BLwEHBiYnLgEvASY2Nz4BPwE2FhceARcnFgYHDgEHBiYnLgEnJjY3PgE3NhYXHgECiDoCAQQECwcjUC4CAgQECwcTDwYGDio4PAQDAgouBw4HBgkCcCMHDgcGCQI7BAQHBxcO1A4cDQ0SBHAHBg0NJhoaMBcXHwcHBg0NJxkaMRcXHgJL0wgNBwcIAgqRKAcOBwcIAgUDAQYVVnULCQkEDQIBBAQLB8sKAgIEBAoI0w8bDg0RBDsEAwgHFg/FGjEXFx4HBwYNDSYaGjAXFx8HBwYNDScAAAIAowAsA00DfAAMAHAAAAE+AScuAQcOARceATcFHgE3PgE3PgEnLgEvAS4BLwEuAQcwBjEnLgEvASYiBw4BBwYUFx4BHwEeAR8CMBYxFx4BHwEeATc+ATc+ATU2Ji8BLgEvATcXHgEXFjY3PgE/AT4BJy4BBw4BDwEvAR4BHwEBvi4qEhFaLi8pERJaLgELChgLCAwFBQQCAgsJOgocClMKFA6NbQkXBRMJEwkKDwQEBAQOCRIKHg2QSgEqBRUMTAsgDwUIBAgJAQcITAMJAR0RQQkcEQkUCQYMBi0QBA4LIRAECAQTOy0CBQI6ApwRWi4vKRESWi4uKRHDBwMFAgoHCRMKChEFJgcSBjEGAwU0GwIHAggEAwQOCgkUCgkOBAgECQQjnAGaEScNUgwIBgIFBAcTCwoUCFIEEAVnBmgOEgMBAgMDBwQnDiwRDQgGAQUDEV5fAgMBJgAAAAcAJ//AA7MDrgCEALEAyQDiAQMBGwE8AAAlFAYHDgEHDgEHDgEjIiYnLgEnLgEnLgE1NDY3PgE3PgE3PgE3NhYXHgEXFgYHDgEHDgEHDgEHDgEHDgEHDgEHHgEXHgEXHgEXHgEXHgEzMjY3PgE3PgE3PgE3PgE3LgEnLgEnLgEnLgEnLgEnLgEnLgE3PgE3PgEXHgEXHgEXHgEXHgEVAxUUBgcOASsBFRQGBw4BKwEiJicuAT0BIyImJy4BPQE0Njc+ATsBMhYXHgEVJxQGBw4BIyImJy4BNTQ2Nz4BMzIWFx4BATQmJy4BIyIGBw4BFRQWFx4BMzI2Nz4BNTMUBg8BDgEHDgEjIiYnLgEvAS4BNTQ2Nz4BMzIWFx4BFQE0JicuASMiBgcOARUUFhceATMyNjc+ATcUBg8BDgEHDgEjIiYnLgEvAS4BNTQ2Nz4BMzIWFx4BFQNuEhESLx0dQSMjSCYlSCMjQR0dLxIREgoJCRoRESEREiUUCA0HBgcCAQMEBQwHER4ODRYICQ0GBggCAgIBAQgHBxQODiETEi4bHDkeHzkcGy4SEyAODhUHBwgBAQICAggGBg4ICBYNDh4RBwwFBAMBAQgGBg4IFCUREiEREBoKCQrcBQYFDQclBQYFDQeTBw0FBgUlBw0GBQUKCwsaD9sPGgsLCjcSExMtGxotExMTExMTLRobLRMTEgEgCAgIFAsLFAgICAgICBQLCxQICAg4BANPAgUDBAcEBAcEAwUCTwMEEBEQJxcXJxAREP0bCAkIEwwLFAgICAgICBQLDBMICQg3AwRPAgUDBAcEBAcDBAUBTwQEERAQJxcXJxEQEFISIA8OFwkJDQQFBAQFBA0JCRcODyASDhoLCxMICAwFBQkDAgMFBAwIBw4GBggBAwYEBAcEAwcDBAUCAwMBAwgEBQkFBQoEBAcDAwMDAwMHBAQKBQUKBAUHBAEDAgIGAwMHAwQHBAQGAwEIBgYOBwgMBAUDAgMJBQUMCAgTCwsaDgIA2wgMBgUG2wgMBgUGBgUGDAjbBgUGDAjbDxoLCwoKCwsaD9wbLRMTEhITEy0bGi4SExMTExIu/oYMEwgJCAgJCBMMCxQICAgICAgUCwwTB6gEBQICAgICAgUEqAcTDBcnERAQEBARJxcBDgsUCAgICAgIFAsLFAgICAgICBQLDBMIpwQGAgICAgICBgSnCBMMFycQERAQERAnFwAYAB4AEAPiA4QAXABgAGQAagBwAJgAnACgAKYAqwEdASEBJgEqATABOQFCAXcBewF/AYgBkQGVAZoAABMzMhYdATMyFh0BMz4BOwEyFhczNTQ2OwE1NDY7ATIWHQEzMhYVEzMyFh0BFAYjISImPQE0NjsBNSMOASsBIiYnIxUzMhYdARQGIyEiJj0BNDY7ARM0NjsBNTQ2MxcjFTMlIxUzBSMDMxEjISMRMwMjBy4BKwEiBgcWBgcOARURFBYXHgEHHgE7ATI2NzwBNz4BNRE0JicmNAcjETMTIxEzBSMVITUhISMVITUFIiY1MTU0NjMxMzUjDgEjMSMiJicxIxUzMhYVMRUUBiMxISImNTE1NDYzMTMTNDYzMTM1NDYzOQEzMhYVMRUzMhYVMRUzPgEzMTMyFhcxMzU0NjMxMzU0NjMxMzIWFTEVMzIWFTETMzIWFTEVFAYjMSE3ITUhBSE1IRU3MxEjATMDIxExJxc1LgEnMRUzFzcxNQ4BBzEVJzgBOQE0NjcxNjQ1MRE8AScxLgE1MTgBOQEjOAE5ARQGBzEUBhUxERQWFTEeARUxOAE5ATM3MxEjAzMRIzc+ATcxNQcjFTM1MScVHgEXMTczNSMFMzUjFbaJBQkjBgg5BhUMRAwVBjkIBiQIBogGCCMGCCIbBQkJBf6iBggIBho5BhUMRAwVBjkaBggIBv6iBQkJBRsiCAYjCAZ7bW0CC2xs/XokIfGsAgwk8SGskgMHBEQEBwMBAQEBAQEBAQEBAwcERAQHAwEBAQEBAX8zM9EzM/3hGwFD/tgCLRsBQ/6wDBERDAwkCBgORA4YCCQMDBERDP6iCxERCw4hEQsVEQuJCxEVDBAkCBgORA4YCCQQDBURDIgMEBULESEOCxERC/6iHAEl/tv90wEl/tsq07UCDdMetewCAQEBAX4DAQEBHAEBAQEBAUQBAQEBAQFEPBYW0hcXMwEBAQIBggMBAQGdUFD99FBQA3YIBjYIBncKDAwKdwYINgYICAY2CAX91ggGwAYICAbABghbCgwMClsIBsAGCAgGwAYIAioFCDYGCBwoKCgc/eUCG/3lAht2BAMDBAEEAgIFA/7lAwUCAgQCAwQEAwIEAgIFAwEbAwUCAgQO/uEBH/7hkqWlpaXQEQzADBE9CgwMCj0RDMAMEREMwAwRAhsMDygLERELKBAMaQsLCwtpDBAoCxERCygPDP3lEQzADBE5iIiIiMEB/v4CAf7+AloEBAIEAggEBAgCBAIECgEDAgECAQEbAQIBAgICAgICAQIB/uUBAgECAwEWAQP+/QEDFAIEAgQECAgDAwIEAqkMDAwMAAAAAAIAJP/dA/MDrAADACAAAAkDASc3FzcnNxc3JzcXNyc3FzcnNxc3JzcXNyc3FwEC6f07AQoCxf07sUJZLFgsLCwsLFksWCwsLS0tWCxYLCwtLUOx/ZQDrP07/vYCxf2UsUNZLFksLCwsLVksWSwsLC0sWS1YLCwsLUKx/ZQAAAAAAwAA/9wEAAOkAAYAGwA8AAATESERIREhASM1MzUjNTM1IzUzNSM1MzUjNTMRASM1IxUjNSMVIzUjFSM1IxUjNSMVIzUjFSM1IxUjNSEVAAFvApH8AAEy9VFRjo5RUVFR9QKRNz09PT09PTw9PT09PT03A4YDpPw4AlkBb/x1Nz09PT09PT06/eQCWVFRjo5RUVFRjo5RUVFR9fUABgBL/8ADtQPAAAYAPABXAGQAfwCLAAABOAExOAExJy4BJyEiBh0BFBYzITIWHQEUFjsBMhYdARQGIyEOAQcOAQchMjY9ATQmKwE1NCYjITUhIiYnBSIGFRQXHgEXFhceATMyNjc2Nz4BNzY1NCYjFSImNTQ2MzIWFRQGIwEiBhUUFx4BFxYXHgEzMjY3Njc+ATc2NTQmIxUiJjU0NjMyFhUUBgM1LwcNBv2cGSQkGQFmAgQlGqIFCAgF/qQIEggCBQMBiCEwMCGdLB7+ogKlDxkH/iI1SwwMIxMSDgMJBgUKAw0TEyIMDUs1GCIiGBghIRgCDTVLDAwjExIOAwkGBQoDDRMTIgwNSzUYIiIYGCEhAioaChYLJBlIGSQDA2QaJQgG5AYIDh0NBAUDMCLkIjBfHyw4Dgz9SjUVHx9DIB8VBQUFBRUgH0MfHxU1Sr4hGBghIRgYIQM3SzUUHx9DIB8VBQUFBRUfIEMfHxQ1S78iFxgiIhgXIgAAAAAIACX/5QPbA8AAEAAhADIAQwBUAGUAdgCHAAAlFAcGIyInJjU0NzYzMhcWFQUUBwYjIicmNTQ3NjMyFxYVARQHBiMiJyY1NDc2MzIXFhUBFAcGIyInJjU0NzYzMhcWFQEUBwYjIicmNTQ3NjMyFxYVARQHBiMiJyY1NDc2MzIXFhUBFAcGIyInJjU0NzYzMhcWFQUUBwYjIicmNTQ3NjMyFxYVAS0WFR8dFhYWFR4fFRYBHBUWHh4WFRUWHh4WFf5uFhUeHxUVFRUfHhUWAq8WFh0fFRYWFR8eFRb92RsbJiUbGxsbJSYbGwKcFRUfHhUWFhUeHxUV/pMgIC4uICAgIC4uICABLyYmNDYlJSUlNjQmJqMeFRYWFh0fFRYWFR91HxUVFRUfHhUWFhUeAZIeFhUVFh4eFhUVFh7+4x0WFhYVHh8VFhYVHwI6JhsbGxsmJRsbGxsl/uMeFhUVFh4eFhUVFh4Bki0gICAgLS4gICAgLnU2JSUlJTY0JiYmJjQAAAAAAQHcAo0CJANaAA8AAAExMhYdARQGIzEiJj0BNDYCAA8VFQ8PFRUDWh4WZhUeHhVmFh4AAAECzQGcA5oB5AAPAAABMRQGKwEiJjUxNDY7ATIWA5oeFmYVHh4VZhYeAcAPFRUPDxUVAAABArEA7gNjAV8ADwAAJTEOAS8BLgE3MT4BHwEeAQNjCCQTWBMPBwgkE1gTD/MNAwszCyENDAQLMwshAAABAmEAXQLSAQ8AEAAAJTEGJi8BJjY3MTYWHwEWBgcCzQ0hCzMLBAwNIQszCwMNXQcPE1gTJAgHDxNYEyQIAAAAAQHcACYCJADzAA8AACUxIiY9ATQ2MzEyFh0BFAYCAA8VFQ8PFRUmHhZmFR4eFWYWHgAAAAEBLgBdAZ8BDwAPAAAlMS4BPwE+ARcxHgEPAQ4BATMNAwszCyENDAQLMwshXQgkE1gTDwcIJBNYEw8AAAEAnQDuAU8BXwAQAAA3MSY2PwE2FhcxFgYPAQYmJ50HDxNYEyQIBw8TWBMkCPMNIQszCwQMDSELMwsDDQAAAAABAGYBnAEzAeQAEAAAEzE0NjsBMhYVMRQGKwEiJjVmHhZmFR4eFWYWHgHADxUVDw8VFQ8AAQCdAiEBTwKSAA8AABMxPgEfAR4BBzEOAS8BLgGdCCQTWBMPBwgkE1gTDwKNDQMLMwshDQwECzMLIQAAAQEuAnEBnwMjAA8AAAExNhYfARYGBzEGJi8BJjYBMw0hCzMLBAwNIQszCwMDIwcPE1gTJAgHDxNYEyQAAgAk/+AD1gOsABcAOAAAATIWFREUBiMhIiY1ETQ2MzIWHQEhNTQ2AQYiJyY0PwE+ATMyFh8BFhQHDgEjIiYvAREUBiMiJjURA6AWIB8X/LwWIiEXFiAC2B/9vxArERAQ3AcUCwoUCNwQEAcUCwoWCH4fFxYgAXIfF/7aFiAfFwEmFiAfF+7uFiABAhAQECsR3AcJCAjcECsRBwkICH7+LBYgHxcB1AAABAAA/8ED/wO+AA8AEwA7AGQAAAEhIgYVERQWMyEyNjURNCYDIREhASMRMzI2NzYmLwEmIg8BDgEXHgE7AREjIgYHBhYfARYyPwE+AScuAQEeATc+AT0BIRUUFhcWNj8BNjQvAS4BBw4BHQEhNTQmJyYGDwEGFB8BAtr9WRUeHhUCpxUeHkj9vwJBAU83NwMFAQEBAlkDCANaAgEBAQUENzcEBQEBAQJaAwgDWQIBAQEF/JoCBgMDAwJTAwMDBgJZAwNZAgYDAwP9rQMDAwYCWQMDWQLOHhX9WRUeHhUCpxUe/VkCQf3+AlIEAgMGAloDA1oCBgMCBP2uBAIDBgJaAgJaAgYDAgQClQIBAQEFAzc3AwUBAQECWQMJAloCAQEBBQQ3NwQFAQEBAloCCQNZAAMBAP/AAwADwAAUADAARQAAARE0JiMiBhURDgEVFBYzMjY1NCYnNxE0JiMiBhURDgEVFBceARcWMzI3PgE3NjU0JgMiJjU0NjcRNDYzMhYVER4BFRQGIwIbEAsLECQvQS0tQS8kmGlKSmkkKRQURi4vNTUvLkYUFCnXQl4sJC8hIS8kLF5CAR8BMQsQEAv+zwk7Ji1AQC0mOwlWAZhKaWlK/mgiXjU1Ly5GFBQUFEYuLzU1Xv7BXkMsSRUB3SEvLyH+IxVJLENeAAAAAAYASf/AA7cDwAAjACwAOQBVAHEAjQAAAR4BFx4BFREUBgcOASMhIiYnLgE1ETQ2Nz4BMyEyFhceAR8BJxUzLgEvAS4BExEjIiYnLgE9ASERIQE0Njc+ATMhMhYXHgEdARQGBw4BIyEiJicuATUFMhYXHgEdARQGBw4BIyEiJicuAT0BNDY3PgEzBTIWFx4BHQEUBgcOASMhIiYnLgE9ATQ2Nz4BMwOQCA4FBgYICAgUC/0ACxQICAgICAgUCwIACxoNDhYIsvu6AgYDmgMKwt8LFAgICP5YAr79qgMDAwcEAcYEBwMDAwMDAwcE/joEBwMDAwHaBAcDAwMDAwMHBP46BAcDAwMDAwMHBAHGBAcDAwMDAwMHBP46BAcDAwMDAwMHBALnCBYODRkM/W4MEwgICAgICBMMA5IMEwgICAYFBg4IsnK6BwoDmwMF/MECOwgICBQL3/yvAdgFBwMDAwMDAwcFKQUHAwMDAwMDBwVnAwMDBwUpBAgDAwICAwMIBCkFBwMDA6UDAwMHBCoECAIDAwMDAggEKgQHAwMDAAAAAwAA/8AEAAPAABwAKAA8AAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmIxUyFhUUBiMiJjU0NhMiJicuATU0NjsBMhYVFAYHDgEjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpGY2NGRmNjRkZ9MgwNZEfGR2QNDDJ9RgPAKCiLXl1qal1eiygoKCiLXl1qal1eiygomWNGR2NjR0Zj/R8wKgodEEdkZEcQHQoqMAAABAB6/8ADhgPAACUAQgBLAHEAAAEjPgE1NCcuAScmIyIHDgEHBhUUFhcjIgYVERQWMyEyNjURNCYjJTQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUBByceATMyNjcTIzU0JiMiBh0BITU0JiMiBh0BIzU0NjsBFx4BMzI2PwEzMhYdAQLGKTtJFxdONTQ8PDQ1ThcXSTspT3ETDQLMDRNxT/5ZEhE+KCkvLykoPhESEhE+KCkvLykoPhESAT5dXRYuGRkuFulXEw0NE/6iEw0NE1dLNS+ABQwGBgwFgC81SwGsJ4BMPDQ1TxYXFxZPNTQ8TIAncFD+9A0TEw0BDFBw8y8pKT0REhIRPSkpLy4pKT4REhIRPikpLv7vXl4ICAgI/nKZDhISDpmZDhISDpnsNUuABAUFBIBLNewAAAADAEEAAQO5A3kANwBUAG4AAAE2NzY0JyYnJicmIgcGBwYHDgEXFhcwFgcGBw4BBwYxDgEfARY2NzA3PgE3Njc2FjEWFxY2NzY3JSYnJjQ3Njc2NzYyFxYXFhcWFAcGBwYHBiInJic3IiYnLgE3Njc+ATM2Fx4BBw4BJyYGBw4BIwNlOBwbGxw4N0ZHkkZGNy8cGw4NDSAFBxIgIUAXGB0KGgYZSRwYF0AgIRIHDDc9PXk5OS/+LSkVFBQVKSk0NGs0NCkpFRQUFSkpNDRrNDQpGAQHBA8MBhQjJFgxMS8PDAYHHg9AghsEFAwBDDdGRpJHRjc4HBsbHDgvOTl5PT03DAcSICFAFxgcSRkGGgodGBdAICESBwUgDQ0OGxwvRik0NGs0NCkpFRQUFSkpNDRrNDQpKRUUFBUp3QIBBh8PLyEiJAEUBx4PDwwGHDVACw0AAAAABAAZADcD6gNFABwAOQBqALUAAAERFAYHDgEjISImJy4BNRE0Njc+ATMhMhYXHgEVJyEiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuASMDPgE3PgE1NCYnLgEnLgEnLgEjIgYHDgEHDgEHDgEVFBYXHgEXHgEXHgEzMjY3PgE3Nx4BFx4BFRQGBw4BBw4BBw4BBwYiJy4BJwcOAQcOASMiJicuAScuAScuATU0Njc+AT8BLgEnLgE3PgE3PgE3PgE3PgEzMhYXHgEXA+oMCwwdEfzSER0MDAwMDAwdEQMuER0MCwxb/OYDBgIDAgIDAgYDAxoDBgICAwMCAgYD/wsQBQYFBQYFEAsLGA4NHA4OHA4NGAsLEAUGBQUGBRALCxgNDhwODhwNDhgLLw8YCAcICAcIGA8NHA8QHxEQIRERHw9hBAkFBQsFBQsFBQkEBQYCAgICAgIGBVwJDgQEAgICCQgHFg0QIxQTKBUUKBQUIxAC8/2VEB0MDAwMDAwdEAJrER0MDAwMDAwdEQECAwIFBP2zAwUDAgICAgMFAwJNBAUCAwL+igoZDQ4bDg4cDg0ZCwoQBgUFBQUGEAoLGQ0OHA4OGw4NGQoLEAYFBQUFBhAL/g8kExQoFBUoFBMkDw0UCAcKAwIDAwoIYAQGAgICAgICBgQECQUFCwUGCgUFCgRdDyEREiMSESMQER4NEBcICAcHCAgXEAADAEEAAQO5A3kANwBTAIwAAAE2NzY0JyYnJicmIgcGBwYHDgEXFhcwFgcGBw4BBwYxDgEfARY2NzA3PgE3Njc2FjEWFxY2NzY3JSYnJjQ3Njc2NzYyFxYXFhcWFAcGBwYHBiInJgEjMCY1PAExNCYrASIGFTAUFRQGMSMiBh0BFBY7ATAWFRwBMRQWOwEyNjUwNDU0NjEzMjY9ATQmIwNlOBwbGxw4N0ZHkkZGNy8cGw4NDSAFBxIgIUAXGB0KGgYZSRwYF0AgIRIHDDc9PXk5OS/+LSkVFBQVKSk0NGs0NCkpFRQUFSkpNDRrNDQBNFUIEgwzDBIIVQwSEgxUCRIMMwwSCVQMEhIMAQw3RkaSR0Y3OBwbGxw4Lzk5eT09NwwHEiAhQBcYHEkZBhoKHRgXQCAhEgcFIA0NDhscL0YpNDRrNDQpKRUUFBUpKTQ0azQ0KSkVFBQVASYDBhBEDRISDUQPBwMSDDIMEgMGEEQNEhINRBAGAxIMMgwSAAMAQQABA7kDeQA3AFQAZAAAATY3NjQnJicmJyYiBwYHBgcOARcWFzAWBwYHDgEHBjEOAR8BFjY3MDc+ATc2NzYWMRYXFjY3NjclJicmNDc2NzY3NjIXFhcWFxYUBwYHBgcGIicmJyUUBiMhIiY9ATQ2MyEyFhUDZTgcGxscODdGR5JGRjcvHBsODQ0gBQcSICFAFxgdChoGGUkcGBdAICESBww3PT15OTkv/i0pFRQUFSkpNDRrNDQpKRUUFBUpKTQ0azQ0KQF7Egz+1wwSEgwBKQwSAQw3RkaSR0Y3OBwbGxw4Lzk5eT09NwwHEiAhQBcYHEkZBhoKHRgXQCAhEgcFIA0NDhscL0YpNDRrNDQpKRUUFBUpKTQ0azQ0KSkVFBQVKa0MEhIMMgwSEgwAAAACAGcAJQNCA7AAXQB6AAABLgEjIjAxOAExIgYHDgEVOAExFBYXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEzMjY3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE1OAExNCYnASInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBiMC1zKFSwFLhjEyOQECAgUDBQ4ICRMLECQTEyYSCRIJCREICBAIBAgFBQoGBQkDBAcDBgwFBgsGChYLDBcMESQRESAPBw0GBgoEBQcCAwI5Mv79My4tRBQUFBRELS4zNC4tRBQUFBRELS40A0UxOjoxMoVMChUKCxULEyYTEyYTHTcaGi8VChMJCA8HBgsFAgQBAgICAQECAgIHBAQIBQkVCwwaDhYvGRk1Gw0bDg0bDQ4aDQ0aDEyFMv4ZFBRELS40My4tRBQUFBRELS4zNC4tRBQUAAAAAwBnACUDQgOwAF0AegCzAAABLgEjIjAxOAExIgYHDgEVOAExFBYXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEzMjY3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgE1OAExNCYnASInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBiMTLgEjIgYHDgEdASMiBgcOARUUFhceATsBFRQWFx4BMzI2Nz4BPQEzMjY3PgE1NCYnLgErATU0JicC1zKFSwFLhjEyOQECAgUDBQ4ICRMLECQTEyYSCRIJCREICBAIBAgFBQoGBQkDBAcDBgwFBgsGChYLDBcMESQRESAPBw0GBgoEBQcCAwI5Mv79My4tRBQUFBRELS4zNC4tRBQUFBRELS40FAQLBgYKBAUFZAYMBAQEBAQEDAZkBQUECgYGCwQFBWQGDAQEBAQEBAwGZAUFA0UxOjoxMoVMChUKCxULEyYTEyYTHTcaGi8VChMJCA8HBgsFAgQBAgICAQECAgIHBAQIBQkVCwwaDhYvGRk1Gw0bDg0bDQ4aDQ0aDEyFMv4ZFBRELS40My4tRBQUFBRELS4zNC4tRBQUAZMEBQUEBAsHYwYEBQoGBgsEBAZjBwsFAwUFAwULB2MGBAQLBgYKBQQGYwcLBAADAGcAJQNCA7AAXQB6AIYAAAEuASMiMDE4ATEiBgcOARU4ATEUFhceARceARceARceARceARceARceARceARceARceATMyNjc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATU4ATE0JicBIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGIzcUBiMiJjU0NjMyFgLXMoVLAUuGMTI5AQICBQMFDggJEwsQJBMTJhIJEgkJEQgIEAgECAUFCgYFCQMEBwMGDAUGCwYKFgsMFwwRJBERIA8HDQYGCgQFBwIDAjky/v0zLi1EFBQUFEQtLjM0Li1EFBQUFEQtLjSbW0A/W1s/QFsDRTE6OjEyhUwKFQoLFQsTJhMTJhMdNxoaLxUKEwkIDwcGCwUCBAECAgIBAQICAgcEBAgFCRULDBoOFi8ZGTUbDRsODRsNDhoNDRoMTIUy/hkUFEQtLjQzLi1EFBQUFEQtLjM0Li1EFBT7QFtbQD9bWwAAAAAEACL/4gPeA54AHAA4AFUAZQAAEwYHDgEXFhcWFx4BNzY3Njc+AScmJyYnLgEHBgcBBgcGJicmJyYnJjY3Njc2NzYWFxYXFhcWBgcGBTA3PgE3Njc0Jy4BJyYxMAcOAQcGBxQXHgEXFjEDFzIHDgEHBjEwJy4BJyYznEwnJwQkJEpJXl7EX19NTCcnBCQkSkleXsRfX00ChT5NTaBMTDw8HR0DHyA+Pk1NoExMPDwdHQMfIP6bFBQwFBQBEhIsExIUFDAUFAESEiwTEixkCQcHGQwLCwsWBgcKAzBJXl7EX19NTCcnBCQkSkleXsRfX01MJycEJCRK/WU8HR0DHyA+Pk1NoExMPDwdHQMfID4+TU2gTExiKSpvODgdHTg5cSoqKSpvODgdHTg5cSoqAUQCGxtCGxscG0IcGwAAAQAAAAEAAPSTR6FfDzz1AAsEAAAAAADaIjtZAAAAANoiO1kAAP/ABAADwAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAAbQQAAAAAAAAAAAAAAAIAAAAEAAAABAAAZQQAAGAEAAAABAAAjwQAAAAEAAAABAAAPwQAAAAEAABuBAAAbgQAAAAEAAAABAAAHQQAACQEAAAABAAAAAQAAbgEAAAZBAAAGwQAAAMEAAA7BAAAAAQAACQEAAAABAABBAQAAAAEAAAEBAAAAAQAAO0EAAAABAAABAQAAG4EAAAiBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAABcBAAACQQAAAAEAAAABAAAAAQAABoEAAAABAAANAQAAEcEAAAUBAAAggQAACUEAAAsBAAAHAQAAH4EAAAlBAAAVgQAACIEAAAABAAAAAQAAEIEAABxBAAAcQQAAPkEAABnBAAAAAQAACEEAAAABAAASQQAAIAEAAAgBAABIQQAAKMEAAAnBAAAHgQAACQEAAAABAAASwQAACUEAAHcBAACzQQAArEEAAJhBAAB3AQAAS4EAACdBAAAZgQAAJ0EAAEuBAAAJAQAAAAEAAEABAAASQQAAAAEAAB6BAAAQQQAABkEAABBBAAAQQOrAGcDqwBnA6sAZwQAACIAAAAAAAoAFAAeAHoBKgGYAjACdgMgA14ECgSUBNQFXgW2BjYGsAcABzwHjggGCKwJHAl0CaQKJApUCtQLBAuEDAoMigy4DTgNvg4+DtgPWA/oEGoQ6BGWEkwSuBMwE2ATuhQsFNwVOhaeF0IX0hkWGXoZqBpOGpQa5hsAG4YbxByeHfAemh8SIAghFiFcIdAibiKSI5QkXCTmJVQl2iaIKFIqSCqIKtYrlCxWLHAsiiyoLMgs4i0ALSAtOi1YLXYtyi5iLsgvmC/yMJIxPDJIMwYznjRONUg2CDamAAEAAABtAZsAGAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQANAAAAAQAAAAAAAgAHAJYAAQAAAAAAAwANAEgAAQAAAAAABAANAKsAAQAAAAAABQALACcAAQAAAAAABgANAG8AAQAAAAAACgAaANIAAwABBAkAAQAaAA0AAwABBAkAAgAOAJ0AAwABBAkAAwAaAFUAAwABBAkABAAaALgAAwABBAkABQAWADIAAwABBAkABgAaAHwAAwABBAkACgA0AOxnLWNhcnRvZ3JhZmlhAGcALQBjAGEAcgB0AG8AZwByAGEAZgBpAGFWZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADBnLWNhcnRvZ3JhZmlhAGcALQBjAGEAcgB0AG8AZwByAGEAZgBpAGFnLWNhcnRvZ3JhZmlhAGcALQBjAGEAcgB0AG8AZwByAGEAZgBpAGFSZWd1bGFyAFIAZQBnAHUAbABhAHJnLWNhcnRvZ3JhZmlhAGcALQBjAGEAcgB0AG8AZwByAGEAZgBpAGFGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA#iefix) format("embedded-opentype"),url(data:font/ttf;base64,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) format("truetype"),url(data:application/font-woff;base64,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) format("woff"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGlkPSJnLWNhcnRvZ3JhZmlhIiBob3Jpei1hZHYteD0iMTAyNCI+PGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiLz48Z2x5cGggaG9yaXotYWR2LXg9IjUxMiIvPjxnbHlwaCB1bmljb2RlPSLupIAiIGdseXBoLW5hbWU9ImFsZXJ0YSIgZD0iTTEwMTIuNjUxIDEyMC43NzVMNTg1Ljk4NCA4NjAuMzMxYy0xNC43NjMgMjUuNTQzLTQyLjM4MiA0Mi43OC03My45ODQgNDIuNzhzLTU5LjIyMS0xNy4yMzctNzMuOTg0LTQyLjc4TDExLjM0OSAxMjAuNzc1QTg1LjE0MyA4NS4xNDMgMCAwMTAgNzguMjIyQzAgMzEuMTE4IDM4LjIyOS03LjExMSA4NS4zMzMtNy4xMTFoODUzLjMzM2M0Ny4xMDQgMCA4NS4zMzMgMzguMjI5IDg1LjMzMyA4NS4zMzMgMCAxNS41MDItNC4xMjQgMzAuMDM3LTExLjM0OSA0Mi41NTN6TTg1LjI3NiA3OC4xMzdsNDI2Ljc4IDczOS41NTYgNDI2LjYxLTczOS40Ny04NTMuMzktLjA4NXpNNTEyIDI3Ny4zMzNjLTMxLjQwMyAwLTU2Ljg4OS0yNS40ODYtNTYuODg5LTU2Ljg4OSAwLTMxLjQzMSAyNS40NTgtNTYuODg5IDU2Ljg4OS01Ni44ODlzNTYuODg5IDI1LjQ4NiA1Ni44ODkgNTYuODg5YzAgMzEuNDAzLTI1LjQ1OCA1Ni44ODktNTYuODg5IDU2Ljg4OXptLTU2Ljg4OSAyNTZjMC0zLjI0My4yODQtNi40NTcuNzk2LTkuNTU3bDI4LjAxOC0xNjUuODg4YzIuMzA0LTEzLjQ1NCAxMy45OTUtMjMuNjY2IDI4LjA3NS0yMy42NjZzMjUuNzcxIDEwLjIxMiAyOC4wNDYgMjMuNjY2bDI4LjAxOCAxNjUuODg4Yy41NCAzLjEuODI1IDYuMzE1LjgyNSA5LjU1NyAwIDMxLjQwMy0yNS40NTggNTYuODg5LTU2Ljg4OSA1Ni44ODktMzEuNDAzIDAtNTYuODg5LTI1LjQ4Ni01Ni44ODktNTYuODg5eiIvPjxnbHlwaCB1bmljb2RlPSLupIEiIGdseXBoLW5hbWU9ImF5dWRhIiBkPSJNOTIyLjk5NCA2OTguNzE4QzkyMi45NyA3ODcuMTUyIDg1MS4xMjggODU4Ljk3IDc2Mi43MDQgODU5SDI2MS4yOTZjLTg4LjQzLS4wMzItMTYwLjI2Ni03MS44NTgtMTYwLjI5OC0xNjAuMjk0VjE5Ny4zMDRjLjAzLTg4LjQzIDcxLjg3Mi0xNjAuMjYyIDE2MC4yOTgtMTYwLjI5MnYuMDAyaDUwMS40MDZjODguNDMuMDI2IDE2MC4yNjggNzEuODU4IDE2MC4yOTYgMTYwLjI5MnY1MDEuNGwtLjAwNC4wMTJ6bS04MS45OTgtNTAyLjUzNGMtLjMwMi0yMS4xNjgtOC45ODYtNDAuMjI2LTIyLjk1Ni01NC4yMTgtMTQuMjQtMTQuMjEyLTMzLjcyNC0yMi45NTgtNTUuMzM4LTIyLjk2MkwyNjEuMjk0IDExOWMtMjEuNjE2LjAwOC00MS4wOTYgOC43NTQtNTUuMzM0IDIyLjk2Ni0xNC4yMTIgMTQuMjM2LTIyLjk1OCAzMy43MTgtMjIuOTYyIDU1LjMzNmwtLjAwNCA1MDEuNDAyYy4wMDggMjEuNjE0IDguNzU0IDQxLjA5NCAyMi45NjYgNTUuMzMyIDE0LjIzOCAxNC4yMSAzMy43MiAyMi45NTggNTUuMzM2IDIyLjk2SDc2Mi43YzIxLjYyLS4wMDIgNDEuMS04Ljc1IDU1LjMzNi0yMi45NTggMTQuMjA4LTE0LjIzNCAyMi45NTQtMzMuNzE4IDIyLjk1OC01NS4zMzJWMTk2LjE4NHpNNTEyLjAwOCA2OTkuMTkydi0xNi4wMDRoLS4wMDZ2MTYuMDA2Yy03Ni40MTYtLjAzNC0xMzguNDctNjIuMDk4LTEzOC41MDgtMTM4LjUxOC4wMS0yMi42NCAxOC4zNDYtNDAuOTg0IDQxLjAwMi00MSAyMi42NTIuMDE2IDQwLjk4OCAxOC4zNiA0MSA0MSAuMDA2IDE1LjYxIDYuMzA4IDI5LjY0OCAxNi41NzQgMzkuOTQyIDEwLjI5NCAxMC4yNjggMjQuMzI4IDE2LjU3IDM5LjkzNCAxNi41NzggMTUuNjA2LS4wMDggMjkuNjM2LTYuMzEyIDM5LjkyOC0xNi41NzggMTAuMjcyLTEwLjI5NCAxNi41NjQtMjQuMzMyIDE2LjU3NC0zOS45NDItLjEyNi03LjQ4NC0yLjE3OC0xMi43OTQtOC4yNjQtMjAuNjc0LTYuMDY2LTcuNzA0LTE2LjM2OC0xNi43ODYtMjkuOTM0LTI3LjkyNi0xMi41My0xMC4zNjYtMjYuODMtMjEuOTg2LTM4LjU3NC0zNi45NDQtMTEuNzE0LTE0Ljg1Mi0yMC44MDItMzMuOTE4LTIwLjczNi01Ni43NDJ2LTQ4LjIwOGMuMDE2LTIyLjY1IDE4LjM1Mi00MC45ODYgNDEuMDA4LTQxLjAwNCAyMi42NTIuMDIgNDAuOTg0IDE4LjM2IDQxIDQxLjAwMnY0OC4yMDhjMCAuMTc0LjAzLjk0Mi45NjYgMi43MjIgMS4zNDggMi42MjIgNC44MTYgNi44OTYgOS44NjggMTEuNjY0IDUuMDM2IDQuOCAxMS41NCAxMC4xODQgMTguNjM0IDE2LjAzIDEzLjg1NCAxMS40NTggMzAuNDggMjQuOTg2IDQ0LjA4OCA0Mi45NDQgMTMuNjE0IDE3Ljg3MiAyNC4wMjggNDAuOSAyMy45NTQgNjguOTI2LS4wMDQgMC0uMDA0LjAwOC0uMDA0LjAwOC0uMDMyIDc2LjQyMi02Mi4wOTQgMTM4LjQ3OC0xMzguNTA0IDEzOC41MXptLS4wMDYtNDA2LjIzNGMtMjYuNTUyLS4wMzYtNDguMDQtMjEuNTMtNDguMDcyLTQ4LjA3Mi4wMy0yNi41NDYgMjEuNTE4LTQ4LjAzOCA0OC4wNzItNDguMDcgMjYuNTQ2LjAzIDQ4LjAzOCAyMS41MiA0OC4wNjYgNDguMDctLjAyOCAyNi41NTItMjEuNTIgNDguMDM0LTQ4LjA2NiA0OC4wNzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kgiIgZ2x5cGgtbmFtZT0iYmFuZGVyYSIgZD0iTTkwNC45MjggODk4LjI3MmMtMTQuMjQgOC43MzYtMzIuMTI4IDkuMzQ0LTQ3LjAwOCAxLjYzMkM4MTkuOTY4IDg4MC4yNTYgNzgyLjYyNCA4NjQgNzEwLjUyOCA4NjRjLTc5LjMyOCAwLTExNi42NzIgMTkuNjgtMTU5Ljk2OCA0Mi40NjRDNTAyLjg4IDkzMS41NTIgNDQ4Ljg2NCA5NjAgMzQ1Ljg4OCA5NjBjLTcxLjI2NCAwLTExOC44OC0xMy42MzItMTU3LjM0NC0zMC4yNzJDMTgxLjQ3MiA5NDcuNDI0IDE2NC4yNTYgOTYwIDE0NCA5NjBjLTI2LjQ5NiAwLTQ4LTIxLjQ3Mi00OC00OFYtMTZjMC0yNi41MjggMjEuNTA0LTQ4IDQ4LTQ4czQ4IDIxLjQ3MiA0OCA0OHYzOTIuNzY4QzIzMi43NjggMzk4LjE0NCAyNzAuMzY4IDQxNiAzNDUuODg4IDQxNmM3OS4yOTYgMCAxMTYuNjcyLTE5LjY4IDE1OS45MzYtNDIuNDY0QzU1My41MDQgMzQ4LjQ0OCA2MDcuNDg4IDMyMCA3MTAuNTI4IDMyMGM5My41MzYgMCAxNDUuOTIgMjMuMDQgMTkxLjUyIDQ2LjYyNEE0Ny45ODcgNDcuOTg3IDAgMDE5MjggNDA5LjI4djQ0OGE0Ny45NjQgNDcuOTY0IDAgMDEtMjMuMDcyIDQwLjk5MnpNODMyIDQzOS4yOTZDODAxLjQwOCA0MjUuNzYgNzY2LjQzMiA0MTYgNzEwLjUyOCA0MTZjLTc5LjMyOCAwLTExNi42NzIgMTkuNjgtMTU5Ljk2OCA0Mi40NjRDNTAyLjg4IDQ4My41NTIgNDQ4Ljg2NCA1MTIgMzQ1Ljg4OCA1MTJjLTY5LjA4OCAwLTExNi0xMi43NjgtMTUzLjg4OC0yOC43MzZ2MzQxLjUwNEMyMzIuNzY4IDg0Ni4xNDQgMjcwLjM2OCA4NjQgMzQ1Ljg4OCA4NjRjNzkuMjk2IDAgMTE2LjY3Mi0xOS42OCAxNTkuOTM2LTQyLjQ2NEM1NTMuNTA0IDc5Ni40NDggNjA3LjQ4OCA3NjggNzEwLjUyOCA3NjhjNTAuNzg0IDAgODkuNDQgNi43ODQgMTIxLjQ3MiAxNi43NjhWNDM5LjI5NnoiLz48Z2x5cGggdW5pY29kZT0i7qSDIiBnbHlwaC1uYW1lPSJicnVqdWxhIiBkPSJNNTEyIDk2MEMyMjkuMjI5IDk2MCAwIDczMC43NjkgMCA0NDhTMjI5LjIzMS02NCA1MTItNjRjMjgyLjc3MSAwIDUxMiAyMjkuMjMxIDUxMiA1MTJTNzk0Ljc3MSA5NjAgNTEyIDk2MHptMC05MjcuNzQyQzI4Mi40MDcgMzIuMjU4IDk2LjI1OCAyMTguNDA3IDk2LjI1OCA0NDhjMCAyMjkuNTk1IDE4Ni4xNDkgNDE1Ljc0NCA0MTUuNzQyIDQxNS43NDQgMjI5LjU5NSAwIDQxNS43NDQtMTg2LjE0OSA0MTUuNzQ0LTQxNS43NDRTNzQxLjU5NSAzMi4yNTggNTEyIDMyLjI1OHptLTIzOC42MSAxNzcuMTdzMjcxLjEyNCA5Ny42NDcgMzI1LjM2MiAxNTEuODJjNTQuMjM3IDU0LjIzNyAxNTEuODIyIDMyNS4zNjQgMTUxLjgyMiAzMjUuMzY0UzQ3OS40NSA1ODguOTY1IDQyNS4yNDEgNTM0Ljc1OSAyNzMuMzkgMjA5LjQyOCAyNzMuMzkgMjA5LjQyOHptMTkzLjM1NSAyNjMuOTU3bDcwLjYzMy03MC42MzNjMTcuNjU4LTE3LjY2LTE1OC45MjctODguMjkxLTE1OC45MjctODguMjkxczcwLjYzNiAxNzYuNTg1IDg4LjI5MyAxNTguOTI1eiIvPjxnbHlwaCB1bmljb2RlPSLupIQiIGdseXBoLW5hbWU9ImNhbmNlbGFyIiBkPSJNNjE1LjUzNiA0NDkuNDlMODc3LjA4IDE4Ny45NDRjMjkuODI2LTI5LjgyNCAyOS44MjYtNzUuNzA4IDAtMTA1LjUzNC0xMy43NjYtMTMuNzY2LTM0LjQxMi0yMi45NDQtNTIuNzY4LTIyLjk0NC0xOC4zNTQgMC0zOS4wMDIgOS4xNzgtNTIuNzY4IDIyLjk0NEw1MTAgMzQzLjk1NiAyNDguNDU0IDgyLjQxMmMtMTMuNzY2LTEzLjc2Ni0zNC40MTQtMjIuOTQ0LTUyLjc2OC0yMi45NDRzLTM5LjAwMiA5LjE3OC01Mi43NjggMjIuOTQ0Yy0yOS44MjYgMjkuODI0LTI5LjgyNiA3NS43MDggMCAxMDUuNTM0bDI2MS41NDYgMjYxLjU0Ni0yNjEuNTQ2IDI2MS41NDRjLTI5LjgyNiAyOS44MjYtMjkuODI2IDc1LjcxIDAgMTA1LjUzNnM3NS43MSAyOS44MjYgMTA1LjUzNiAwTDUxMCA1NTUuMDI4bDI2MS41NDQgMjYxLjU0NGMyOS44MjYgMjkuODI2IDc1LjcxIDI5LjgyNiAxMDUuNTM2IDBzMjkuODI2LTc1LjcxIDAtMTA1LjUzNkw2MTUuNTM2IDQ0OS40OXoiLz48Z2x5cGggdW5pY29kZT0i7qSFIiBnbHlwaC1uYW1lPSJjYW5jZWxhcjIiIGQ9Ik03MDMuNTg0IDU5My45MmMtLjQ4IDExLjYxNi00LjggMjMuMTM2LTEzLjY5NiAzMi04Ljg2NCA4Ljg2NC0yMC4zODQgMTMuMjE2LTMyIDEzLjY5Ni0xMi45MjguNTQ0LTI2LjAxNi0zLjgwOC0zNS44NzItMTMuNjk2TDUxMiA1MTUuODcyIDQwMS45ODQgNjI1LjkyYy05Ljg4OCA5Ljg4OC0yMi45NDQgMTQuMjA4LTM1Ljg3MiAxMy42OTYtMTEuNjE2LS40OC0yMy4xMzYtNC44LTMyLTEzLjY5Ni04Ljg2NC04Ljg2NC0xMy4yMTYtMjAuMzg0LTEzLjY5Ni0zMi0uNTQ0LTEyLjkyOCAzLjgwOC0yNS45ODQgMTMuNjk2LTM1Ljg3Mkw0NDQuMTI4IDQ0OCAzMzQuMTEyIDMzNy45ODRjLTkuODg4LTkuODg4LTE0LjIwOC0yMi45NDQtMTMuNjk2LTM1Ljg3Mi40OC0xMS42MTYgNC44LTIzLjEzNiAxMy42OTYtMzIgOC44NjQtOC44NjQgMjAuMzg0LTEzLjIxNiAzMi0xMy42OTYgMTIuOTI4LS41NDQgMjUuOTg0IDMuODA4IDM1Ljg3MiAxMy42OTZMNTEyIDM4MC4xMjggNjIyLjA0OCAyNzAuMDhjOS44ODgtOS44ODggMjIuOTQ0LTE0LjIwOCAzNS44NzItMTMuNjk2IDExLjYxNi40OCAyMy4xMzYgNC44IDMyIDEzLjY5NiA4Ljg2NCA4Ljg2NCAxMy4yMTYgMjAuMzg0IDEzLjY5NiAzMiAuNTQ0IDEyLjkyOC0zLjgwOCAyNS45ODQtMTMuNjk2IDM1Ljg3Mkw1NzkuODcyIDQ0OGwxMTAuMDE2IDExMC4wMTZjOS44ODggOS44ODggMTQuMjQgMjIuOTQ0IDEzLjY5NiAzNS45MDR6TTUxMiA5NjBDMjI5LjI0OCA5NjAgMCA3MzAuNzUyIDAgNDQ4UzIyOS4yNDgtNjQgNTEyLTY0czUxMiAyMjkuMjQ4IDUxMiA1MTItMjI5LjI0OCA1MTItNTEyIDUxMnptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6khiIgZ2x5cGgtbmFtZT0iY2FwYXMiIGQ9Ik05NjAgOTYwSDMyMGMtMzUuMzI4IDAtNjQtMjguNjQtNjQtNjRWNzA0SDY0Yy0zNS4zMjggMC02NC0yOC42NC02NC02NFYwYzAtMzUuMzI4IDI4LjY3Mi02NCA2NC02NGg2NDBjMzUuMzYgMCA2NCAyOC42NzIgNjQgNjR2MTkyaDE5MmMzNS4zMjggMCA2NCAyOC42NzIgNjQgNjR2NjQwYzAgMzUuMzYtMjguNjcyIDY0LTY0IDY0ek02NzIgMzJIOTZ2NTc2aDE2MFYyNTZjMC0zNS4zNiAyOC42NzItNjQgNjQtNjRoMzUyVjMyem0yNTYgMjU2SDM1MnY1NzZoNTc2VjI4OHoiLz48Z2x5cGggdW5pY29kZT0i7qSHIiBnbHlwaC1uYW1lPSJjYXBhczIiIGQ9Ik03OC4yNDYgNjQ4LjAzOEw0OTguNzA4IDQyMy4yMWM0LjE1LTIuMjIgOC43Mi0zLjMyOCAxMy4yOS0zLjMyOHM5LjE0IDEuMTA4IDEzLjI5MiAzLjMyOGw0MjAuNDYyIDIyNC44MjhhMjguMTkxIDI4LjE5MSAwIDAxMCA0OS43MThMNTI1LjI4OCA5MjIuNTg0YTI4LjE2NyAyOC4xNjcgMCAwMS0yNi41ODIgMEw3OC4yNDYgNjk3Ljc1NmEyOC4xOTQgMjguMTk0IDAgMDEtMTQuODk4LTI0Ljg2IDI4LjE5MyAyOC4xOTMgMCAwMTE0Ljg5OC0yNC44NTh6TTUxMS45OTggODQ5Ljc2bDM0MC42ODYtMTc2Ljg2NC0zNDAuNjg2LTE3MC44NjItMzQwLjY4NiAxNzAuODYyTDUxMS45OTggODQ5Ljc2em00MzMuNzU0LTM3Ni45NzJsLTEyMi41NzIgNjUuNTRjLTEzLjcyOCA3LjM0NC00MS41MDQgMy4wNjQtNDguODQ2LTEwLjY2Mi03LjM0LTEzLjczLTUuNDYyLTM3LjcxIDguMjY4LTQ1LjA1bDYyLjA4Mi0zNC42ODRMNTExLjk5OCAyODMuMDcgMTc5LjMxMiA0NDcuOTNsNjIuOTY2IDM1LjE1NmMxMy43MyA3LjM0MiAxMy4zOTQgMzAuMTg4IDYuMDU0IDQzLjkxNi03LjM0IDEzLjcyNC0zMi45MDggMTkuMTM4LTQ2LjYzNCAxMS43OThMNzguMjQ0IDQ3Mi43OWMtOS4xNy00LjkwNC0xNC44OTgtMTQuNDU4LTE0Ljg5OC0yNC44NThzNS43MjItMTkuOTU0IDE0Ljg5OC0yNC44NThsNDIwLjQ2Mi0yMjQuODI2YzQuMTUtMi4yMjIgOC43Mi0zLjMzMiAxMy4yOS0zLjMzMnM5LjE0IDEuMTEgMTMuMjkyIDMuMzMyTDk0NS43NSA0MjMuMDc0YTI4LjE5MSAyOC4xOTEgMCAwMTE0Ljg5OCAyNC44NTggMjguMTc3IDI4LjE3NyAwIDAxLTE0Ljg5NiAyNC44NTZ6bTAtMjI0LjgyOGwtMTE4LjY4NiA2My40NjJjLTEzLjczMiA3LjM0LTQxLjM5MiAxLjMwMi00OC43MzItMTIuNDI0LTcuMzQtMTMuNzMtNS41NzYtMzUuOTUgOC4xNTQtNDMuMjlsNTguMTk2LTMyLjYwNEw1MTEuOTk4IDU4LjI0MiAxNzkuMzEyIDIyMy4xMDRsNTcuNDE0IDMyLjE4NmMxMy43MyA3LjM0IDE1LjYxMiAyOS45ODQgOC4yNzIgNDMuNzFzLTM1LjEyNiAxOS4zNDgtNDguODUgMTIuMDAyTDc4LjI0NCAyNDcuOTU4Yy05LjE3LTQuOTA0LTE0Ljg5OC0xNC40NTgtMTQuODk4LTI0Ljg1OHM1LjcyMi0xOS45NTQgMTQuODk4LTI0Ljg1OEw0OTguNzA2LTI2LjU4NmM0LjE1LTIuMjIgOC43Mi0zLjMzIDEzLjI5LTMuMzNzOS4xNCAxLjExIDEzLjI5MiAzLjMzTDk0NS43NSAxOTguMjQyYTI4LjE5MSAyOC4xOTEgMCAwMS4wMDIgNDkuNzE4eiIvPjxnbHlwaCB1bmljb2RlPSLupIgiIGdseXBoLW5hbWU9ImNoZWNrIiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRzNTEyIDIyOS4yNDkgNTEyIDUxMi0yMjkuMjQ5IDUxMi01MTIgNTEyem0wLTkyOEMyODIuNjI0IDMyIDk2IDIxOC42MjQgOTYgNDQ4czE4Ni42MjQgNDE2IDQxNiA0MTYgNDE2LTE4Ni42MjQgNDE2LTQxNlM3NDEuMzc2IDMyIDUxMiAzMnptMjA5LjkyIDU3NS42MTVjLTEyLjg5Ni41NDUtMjUuOTg1LTMuODA3LTM1Ljg0LTEzLjY5N0w0NjMuOTk5IDM3MS44NzIgMzM3LjkyIDQ5Ny45MmMtOS44NTcgOS44ODgtMjIuOTQ0IDE0LjIwOS0zNS44NCAxMy42OTctMTEuNjE2LS40NzktMjMuMTY5LTQuODAxLTMyLjAzMy0xMy42OTctOC44NjQtOC44NjQtMTMuMjE2LTIwLjQxNy0xMy42OTctMzIuMDMzLS41NDUtMTIuODk2IDMuODA3LTI1Ljk4NSAxMy42OTctMzUuODRsMTYwLTE2MGM5LjM3Ni05LjM3NiAyMS42NjQtMTQuMDQ3IDMzLjk1Mi0xNC4wNDdzMjQuNTc2IDQuNjcxIDMzLjk1MiAxNC4wNDdsMjU2IDI1NmM5Ljg4OCA5Ljg4OCAxNC4yMDkgMjIuOTQ0IDEzLjY5NyAzNS44NC0uNDc5IDExLjYxNi00LjgwMSAyMy4xNjktMTMuNjk3IDMyLjAzMy04Ljg5NCA4Ljg5Ny0yMC40MTQgMTMuMjQ5LTMyLjAzMSAxMy42OTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kiSIgZ2x5cGgtbmFtZT0iY2hlY2syIiBkPSJNNzQ5LjcxNCA4MTMuNzE0SDI3NC4yODVxLTM3LjcxNCAwLTY0LjU3MS0yNi44NTd0LTI2Ljg1Ny02NC41NzFWMjQ2Ljg1N3EwLTM3LjcxNCAyNi44NTctNjQuNTcxdDY0LjU3MS0yNi44NTdoNDc1LjQyOXEzNy43MTQgMCA2NC41NzEgMjYuODU3dDI2Ljg1NyA2NC41NzF2NDc1LjQyOXEwIDM3LjcxNC0yNi44NTcgNjQuNTcxdC02NC41NzEgMjYuODU3em0xNjQuNTcyLTkxLjQyOFYyNDYuODU3cTAtNjgtNDguMjg2LTExNi4yODZUNzQ5LjcxNCA4Mi4yODVIMjc0LjI4NXEtNjggMC0xMTYuMjg2IDQ4LjI4NnQtNDguMjg2IDExNi4yODZ2NDc1LjQyOXEwIDY4IDQ4LjI4NiAxMTYuMjg2dDExNi4yODYgNDguMjg2aDQ3NS40MjlxNjggMCAxMTYuMjg2LTQ4LjI4NnQ0OC4yODYtMTE2LjI4NnoiLz48Z2x5cGggdW5pY29kZT0i7qSKIiBnbHlwaC1uYW1lPSJjaGVjazMiIGQ9Ik03NDkuNzE0IDgxMy43MTRIMjc0LjI4NWMtMjUuMTQzIDAtNDYuNjY2LTguOTUyLTY0LjU3MS0yNi44NTdzLTI2Ljg1Ny0zOS40MjktMjYuODU3LTY0LjU3MVYyNDYuODU3YzAtMjUuMTQzIDguOTUzLTQ2LjY2NiAyNi44NTctNjQuNTcxczM5LjQyOS0yNi44NTcgNjQuNTcxLTI2Ljg1N2g0NzUuNDI5YzI1LjE0MyAwIDQ2LjY2NyA4Ljk1MyA2NC41NzEgMjYuODU3czI2Ljg1NyAzOS40MjkgMjYuODU3IDY0LjU3MXY0NzUuNDI5YzAgMjUuMTQzLTguOTUyIDQ2LjY2Ny0yNi44NTcgNjQuNTcxcy0zOS40MjkgMjYuODU3LTY0LjU3MSAyNi44NTd6bTE2NC41NzItOTEuNDI4VjI0Ni44NTdjMC00NS4zMzMtMTYuMDk1LTg0LjA5NS00OC4yODYtMTE2LjI4NnMtNzAuOTUyLTQ4LjI4Ni0xMTYuMjg2LTQ4LjI4NkgyNzQuMjg1Yy00NS4zMzMgMC04NC4wOTUgMTYuMDk1LTExNi4yODYgNDguMjg2cy00OC4yODYgNzAuOTUzLTQ4LjI4NiAxMTYuMjg2djQ3NS40MjljMCA0NS4zMzQgMTYuMDk1IDg0LjA5NSA0OC4yODYgMTE2LjI4NnM3MC45NTMgNDguMjg2IDExNi4yODYgNDguMjg2aDQ3NS40MjljNDUuMzM0IDAgODQuMDk1LTE2LjA5NSAxMTYuMjg2LTQ4LjI4NnM0OC4yODYtNzAuOTUyIDQ4LjI4Ni0xMTYuMjg2em0tMTg5LjExNy02OC4yMTVjLTEyLjg1LjU0Mi0yNS44OTEtMy43OTQtMzUuNzExLTEzLjY0N0w0NjguMTc1IDQxOS4xNzMgMzQyLjU0OCA1NDQuNzY5Yy05LjgyMSA5Ljg1My0yMi44NjIgMTQuMTU3LTM1LjcxMSAxMy42NDctMTEuNTc0LS40NzgtMjMuMDg1LTQuNzgzLTMxLjkxNy0xMy42NDctOC44MzMtOC44MzMtMTMuMTY5LTIwLjM0My0xMy42NDctMzEuOTE3LS41NDItMTIuODUgMy43OTQtMjUuODkxIDEzLjY0Ny0zNS43MTFsMTU5LjQyNi0xNTkuNDI2YzkuMzQyLTkuMzQzIDIxLjU4Ni0xMy45OTggMzMuODMtMTMuOTk4czI0LjQ4OCA0LjY1NSAzMy44MyAxMy45OThsMjU1LjA4MiAyNTUuMDgyYzkuODUzIDkuODUzIDE0LjE1OSAyMi44NjIgMTMuNjQ3IDM1LjcxMS0uNDc4IDExLjU3NC00Ljc4MiAyMy4wODUtMTMuNjQ3IDMxLjkxNy04Ljg2NSA4Ljg2NC0yMC4zNDMgMTMuMjAxLTMxLjkxOCAxMy42NDd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kiyIgZ2x5cGgtbmFtZT0iY2hlY2s0IiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRjMjgyLjc1MyAwIDUxMiAyMjkuMjQ5IDUxMiA1MTJTNzk0Ljc1MSA5NjAgNTEyIDk2MHptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kjCIgZ2x5cGgtbmFtZT0iY2hlY2s1IiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRjMjgyLjc1MyAwIDUxMiAyMjkuMjQ5IDUxMiA1MTJTNzk0Ljc1MSA5NjAgNTEyIDk2MHptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6bTI1Mi45MTIgNDE1Ljk5OGMwLTEzOS42NzQtMTEzLjI0Mi0yNTIuOTQyLTI1Mi45MTQtMjUyLjk0Mi0xMzkuNjM5IDAtMjUyLjkxNCAxMTMuMjA5LTI1Mi45MTQgMjUyLjk0MiAwIDEzOS42NzIgMTEzLjI3NSAyNTIuOTQ0IDI1Mi45MTQgMjUyLjk0NCAxMzkuNjcyLjAwMiAyNTIuOTE0LTExMy4yNzMgMjUyLjkxNC0yNTIuOTQ0eiIvPjxnbHlwaCB1bmljb2RlPSLupI0iIGdseXBoLW5hbWU9ImNvbWVudGFyaW9zIiBkPSJNODI1LjgzNiA5MTEuN0gxOTguMTY0Yy05My40NDYgMC0xNjkuNDY4LTc2LjAyNi0xNjkuNDY4LTE2OS40N1YzNTUuMDgyYzAtOTMuNDQ4IDc2LjAyMi0xNjkuNDcgMTY5LjQ2OC0xNjkuNDdsMzk5Ljc5Mi0uMDAyTDc4OS4zMzItNS43N2EzMy45MDIgMzMuOTAyIDAgMDEyMy45NzYtOS45MjhjNC4zNjggMCA4Ljc3Mi44NDggMTIuOTU4IDIuNTg2YTMzLjg4NiAzMy44ODYgMCAwMTIwLjkyNiAzMS4zMDh2MTY4Ljc2YzgzLjQxIDEwLjUzNCAxNDguMTA2IDgxLjkxMiAxNDguMTA2IDE2OC4xMjh2Mzg3LjE0OGMuMDA2IDkzLjQ0NC03Ni4wMTYgMTY5LjQ2OC0xNjkuNDYyIDE2OS40Njh6bTkxLjgtNTUzLjg0MmMwLTU0LjczNC00NC41MjgtOTkuMjYyLTk5LjI2NC05OS4yNjJoLTguMTY4Yy0xOC4yNjggMC0zMy4wODYtMTQuODE4LTMzLjA4Ni0zMy4wOXYtMTE2LjY0TDYzNy4wODQgMjQ4LjkwNGEzMy4wNiAzMy4wNiAwIDAxLTIzLjM5NCA5LjY5NEgyMDUuNjI2Yy01NC43MzYgMC05OS4yNjQgNDQuNTI4LTk5LjI2NCA5OS4yNjJ2Mzc3Ljk0MmMwIDU0LjczMiA0NC41MjggOTkuMjY0IDk5LjI2NCA5OS4yNjRoNjEyLjc0NmM1NC43MzYgMCA5OS4yNjQtNDQuNTMyIDk5LjI2NC05OS4yNjRWMzU3Ljg1OHptLTE1Ni4xOCAzMjQuMDFjMjQuMzM4LS4wMDggNDQuMDU2LTE5LjcyNCA0NC4wNjQtNDQuMDY0LS4wMDgtMjQuMzM4LTE5LjcyNi00NC4wNTYtNDQuMDY0LTQ0LjA2NGgtNDk4LjkyYy0yNC4zMzQuMDA4LTQ0LjA1NiAxOS43MjYtNDQuMDY0IDQ0LjA2NC4wMDggMjQuMzQ2IDE5LjcyOCA0NC4wNTYgNDQuMDY0IDQ0LjA2NGg0OTguOTJ6bS4wMDQtMTg5LjgwNmMyNC4zMzItLjAwOCA0NC4wNS0xOS43MTYgNDQuMDU4LTQ0LjA2NC0uMDA4LTI0LjMzNC0xOS43MjItNDQuMDUtNDQuMDU4LTQ0LjA1OEgyNjIuNTRjLTI0LjMzNC4wMDgtNDQuMDU2IDE5LjcyMi00NC4wNjQgNDQuMDU4LjAwNCAyNC4zNDYgMTkuNzI4IDQ0LjA1NiA0NC4wNjQgNDQuMDY0aDQ5OC45MnoiLz48Z2x5cGggdW5pY29kZT0i7qSOIiBnbHlwaC1uYW1lPSJkZXNjYXJnYXIiIGQ9Ik05MjggMzcwYzMwIDAgNTQtMjQgNTQtNTRWMjJjMC0zMC0yNC01NC01NC01NEg5MkM2Mi0zMiAzNi04IDM2IDIydjI5NGMwIDMwIDI2IDU0IDU2IDU0czU0LTI0IDU0LTU0Vjc4aDcyOHYyMzhjMCAzMCAyNCA1NCA1NCA1NHpNNDcyIDI0OEwyNTIgNDY4Yy0yMiAyMi0yMiA1NCAwIDc2czU0IDIyIDc2IDBsMTI4LTEyNnY0NjhjMCAzMCAyNCA1NCA1NCA1NHM1NC0yNCA1NC01NFY0MThsMTI2IDEyNmMyMiAyMiA1NiAyMiA3OCAwczIyLTU0IDAtNzZMNTQ4IDI0OGMtMTAtMTAtMjQtMTYtMzgtMTZzLTI4IDYtMzggMTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kjyIgZ2x5cGgtbmFtZT0iZWRpdGFyIiBkPSJNMTAxMi44MzIgNjgzLjE2OEw3NDcuMTM2IDk0OC44NjRDNzM5LjY0OCA5NTYuMzUyIDcyOS44MjQgOTYwIDcyMCA5NjBzLTE5LjY0OC0zLjY0OC0yNy4xMzYtMTEuMTY4TDAgMjU2Vi02NGgzMjBsNjkyLjgzMiA2OTIuODMyYzcuNTIgNy41MiAxMS4xNjggMTcuMzQ0IDExLjE2OCAyNy4xNjggMCA5Ljg1Ni0zLjY0OCAxOS42NDgtMTEuMTY4IDI3LjE2OHpNOTYgMzJ2MTU2LjEyOEwyNTIuMTI4IDMySDk2em0yNDEuOTUyIDQ5LjkybC0xOTIgMTkyTDU5MC4wOCA3MTguMDhsMTkyLTE5MkwzMzcuOTUyIDgxLjkyem01MTIgNTEybC0xOTIgMTkyTDcyMCA4NDhsMTkyLTE5Mi02Mi4wNDgtNjIuMDh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kkCIgZ2x5cGgtbmFtZT0iZWRpdGFyMiIgZD0iTTkxMiA0ODBjLTI2LjUyOCAwLTQ4LTIxLjUwNC00OC00OFYzMkg5NnY3NjhoNDAwYzI2LjUyOCAwIDQ4IDIxLjUwNCA0OCA0OHMtMjEuNDcyIDQ4LTQ4IDQ4SDY0Yy0zNS4zMjggMC02NC0yOC42NC02NC02NFYwYzAtMzUuMzYgMjguNjcyLTY0IDY0LTY0aDgzMmMzNS4zMjggMCA2NCAyOC42NCA2NCA2NHY0MzJjMCAyNi40OTYtMjEuNDcyIDQ4LTQ4IDQ4em0xMDAuODMyIDMzMS4xNjhMODc1LjEzNiA5NDguODY0Qzg2Ny42NDggOTU2LjM1MiA4NTcuODI0IDk2MCA4NDggOTYwcy0xOS42NDgtMy42NDgtMjcuMTM2LTExLjE2OEwyODggNDE2VjIyNGgxOTJsNTMyLjgzMiA1MzIuODMyYzcuNTIgNy41MiAxMS4xNjggMTcuMzQ0IDExLjE2OCAyNy4xNjggMCA5Ljg1Ni0zLjY0OCAxOS42NDgtMTEuMTY4IDI3LjE2OHpNNDQ4IDMyMGgtNjR2NjRsNDY0IDQ2NCA2NC02NC00NjQtNDY0eiIvPjxnbHlwaCB1bmljb2RlPSLupJEiIGdseXBoLW5hbWU9ImVzY2FsYSIgZD0iTTY0NS42OTIgNzc4LjU3OGMwIDU2LjgxNy00Ni4xNzYgMTAzLjAwNi0xMDMuMDA2IDEwMy4wMDYtNTYuNzI0IDAtMTAyLjk2Ni00Ni4xMzYtMTAyLjk2Ni0xMDMuMDA2IDAtNDUuMTkzIDI5LjQ2NC04My4xOTkgNzAuMDA4LTk3LjEyMWgtNjIuNjIydi04OC4yNmg2Mi40NzZ2LTM5LjQwMWgtNjIuNDc2di00NC4xMTdoNjIuNDc2di0zOC4zNzhoLTYyLjQ3NnYtNDQuMTk3aDYyLjQ3NnYtMzguMzEyaC02Mi40NzZ2LTQ0LjE0M2g2Mi40NzZ2LTM4LjM5MWgtNjIuNDc2di00NC4xMTdoNjIuNDc2di0zOC40NDVoLTYyLjQ3NnYtNDQuMTE3aDYyLjQ3NlYxNjQuOThjLTI3LjAzMy0xMi40ODctNDUuOTktMzkuODM5LTQ1Ljk5LTcxLjUzNSAwLTQzLjY2NSAzNS40OTUtNzkuMTIxIDc5LjA1NC03OS4xMjFzNzkuMTIxIDM1LjQwMiA3OS4xMjEgNzkuMTIxYzAgMzEuNjctMTguOTMgNTkuMDM1LTQ2LjAwMyA3MS41MzV2MTQuNTk5aDcwLjcyNXY0NC4yMWgtNzAuNzUydjM4LjQwNWg3MC43MjV2NDQuMTNoLTcwLjcyNXYzOC40MThoNzAuNzI1djQ0LjEzaC03MC43MjV2MzguMzUyaDcwLjcyNXY0NC4xNTdoLTcwLjcyNXYzOC4zNzhoNzAuNzI1djQ0LjExN2gtNzAuNzI1djM5LjQwMWg3MC43MjV2ODguMjg3aC03MC44OThjNDAuNjYzIDEzLjgyOSA3MC4xMjcgNTEuODIyIDcwLjEyNyA5Ny4wMTV6bS0xNjEuODI4IDBjMCAzMi41MDYgMjYuNDM2IDU4Ljg4OSA1OC44ODkgNTguODg5IDMyLjQ2NyAwIDU4Ljg0OS0yNi4zODIgNTguODQ5LTU4Ljg4OSAwLTMyLjQxMy0yNi4zNjktNTguODM2LTU4Ljg0OS01OC44MzYtMzIuNDQgMC01OC44ODkgMjYuNDIyLTU4Ljg4OSA1OC44MzZ6bTkzLjgtNjg0Ljk0OGMwLTE5LjMxNS0xNS42MzYtMzQuOTM3LTM0LjkxMS0zNC45MzdzLTM0LjkzNyAxNS42MjItMzQuOTM3IDM0LjkzN2MwIDE5LjI3NSAxNS42NDkgMzQuOTUxIDM0LjkzNyAzNC45NTEgMTkuMjg5LjAyNyAzNC45MTEtMTUuNjc1IDM0LjkxMS0zNC45NTF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kkiIgZ2x5cGgtbmFtZT0iZXNjYWxhMiIgZD0iTTEwMDkuMjAyIDIyLjIxNkw2MDUuMzMzIDQyNi4wODNjOTYuNTk1IDEzMS4yMDkgODUuOTI0IDMxNy4xNTYtMzIuNzExIDQzNS44MDItMTMwLjgyNiAxMzAuODE4LTM0My42ODkgMTMwLjgxOC00NzQuNTA3IDBzLTEzMC44MTgtMzQzLjY4MSAwLTQ3NC40OTljMTE4LjY2LTExOC42NiAzMDQuNjA1LTEyOS4zMTkgNDM1LjgwOC0zMi43MzhMOTM3Ljc4Mi00OS4yMDZjMTkuNzEzLTE5LjcyNSA1MS42OTMtMTkuNzI1IDcxLjQyMSAwIDE5LjcyNyAxOS43MjkgMTkuNzI3IDUxLjcyIDAgNzEuNDIzek01MDEuMjAxIDQ1OC44MDNjLTkxLjQzOC05MS40MjMtMjQwLjIxOS05MS40MjMtMzMxLjY3IDAtOTEuNDQyIDkxLjQzNi05MS40NDIgMjQwLjIyNiAwIDMzMS42NTcgOTEuNDQ4IDkxLjQ0MiAyNDAuMjMyIDkxLjQ0MiAzMzEuNjcgMCA5MS40My05MS40MzIgOTEuNDMtMjQwLjIyMiAwLTMzMS42NTd6TTI1MC4yOSA1NTYuOTAxaDEzLjQ4MXYtMzMuNTE5aC02OC45OTh2MzMuNTE5aDE2LjAyNXYxNDMuNzkybC0yMi41NTYtMTcuNzk2LTguODIyIDM0LjczOCAzOC44MjMgMjcuNzQyaDMyLjA0N1Y1NTYuOTAxem0xMTUuMTQzLTcuNDI5YzAtMTUuMTkzLTEwLjY0LTI2LjA5Mi0yNS4yODktMjYuMDkyLTE0LjIyOCAwLTI0Ljk1MyAxMS4xMzUtMjQuOTUzIDI1LjkxNCAwIDE1LjE4NyAxMC42NCAyNi4yMjcgMjUuMzAxIDI2LjIyNyAxNC4yNjEuMDAyIDI0LjUxMi0xMC43MTUgMjQuOTQxLTI2LjA0OXptMCAxMTEuODQ1YzAtMTUuMTg3LTEwLjY0LTI2LjA5Mi0yNS4yODktMjYuMDkyLTE0LjIyOCAwLTI0Ljk1MyAxMS4xNDMtMjQuOTUzIDI1LjkxNiAwIDE1LjIwNSAxMC42NCAyNi4yMzEgMjUuMzAxIDI2LjIzMSAxNC4yNjEuMDEyIDI0LjUxMi0xMC43MDIgMjQuOTQxLTI2LjA1NXptMTI3Ljk4NC0xMDQuNDE2di0zMy41MTloLTY4Ljk5OHYzMy41MTloMTQuNjg2djE0My43OTJsLTIyLjU3NC0xNy43OTYtOC44MTYgMzQuNzM4IDM4LjgxOSAyNy43NDJoMzIuMDQ3VjU1Ni44OThoMTQuODM3eiIvPjxnbHlwaCB1bmljb2RlPSLupJMiIGdseXBoLW5hbWU9ImVzY2FsYTMiIGQ9Ik05NjEuNTA0IDY1Ni45ODJINjguNDc5Yy0yMi44ODQgMC00MS40MjMtMTguNTUxLTQxLjQyMy00MS40MTNWMjg0LjNjMC0yMi44ODQgMTguNTQtNDEuNDEzIDQxLjQyMy00MS40MTNoODkzLjAxNGMyMi44NjIgMCA0MS40MjMgMTguNTI5IDQxLjQyMyA0MS40MTNoLjAxMXYzMzEuMjY5YzAgMjIuODYyLTE4LjU1MSA0MS40MTMtNDEuNDIzIDQxLjQxM3ptLTMwLjgzOS0zMTYuODI1YzAtMTUuMTAxLTEyLjI1Ni0yNy4zNTctMjcuMzU3LTI3LjM1N0gxMjIuMzA5Yy0xNS4xMDEgMC0yNy4zNTcgMTIuMjU2LTI3LjM1NyAyNy4zNTd2MjE4Ljg2N2MwIDE1LjEwMSAxMi4yNTYgMjcuMzU3IDI3LjM1NyAyNy4zNTdoNzgwLjk5OWMxNS4xMDEgMCAyNy4zNTctMTIuMjU2IDI3LjM1Ny0yNy4zNTdWMzQwLjE1N3pNMzI2Ljk5IDUyNS44OTlIMTk2LjEyM2MtNi44ODggMC0xMi40Ni01LjU4My0xMi40Ni0xMi40NlYzODIuNTgzYzAtNi44ODggNS41ODMtMTIuNDcxIDEyLjQ2LTEyLjQ3MUgzMjYuOTljNi44NzcgMCAxMi40NzEgNS41OTQgMTIuNDcxIDEyLjQ3MXYxMzAuODU2Yy0uMDExIDYuODY2LTUuNTk0IDEyLjQ2LTEyLjQ3MSAxMi40NnptMjUwLjQzOCAwSDQ0Ni41NzJjLTYuODc3IDAtMTIuNDYtNS41ODMtMTIuNDYtMTIuNDZWMzgyLjU4M2MwLTYuODg4IDUuNTgzLTEyLjQ3MSAxMi40Ni0xMi40NzFoMTMwLjg1NmM2Ljg3NyAwIDEyLjQ2IDUuNTk0IDEyLjQ2IDEyLjQ3MXYxMzAuODU2Yy4wMTEgNi44NjYtNS41NjIgMTIuNDYtMTIuNDYgMTIuNDZ6bTI1MC40NiAwSDY5Ny4wMWMtNi44NzcgMC0xMi40Ni01LjU4My0xMi40Ni0xMi40NlYzODIuNTgzYzAtNi44ODggNS41OTQtMTIuNDcxIDEyLjQ2LTEyLjQ3MWgxMzAuODc4YzYuODY2IDAgMTIuNDcxIDUuNTk0IDEyLjQ3MSAxMi40NzF2MTMwLjg1NmMwIDYuODY2LTUuNTk0IDEyLjQ2LTEyLjQ3MSAxMi40NnoiLz48Z2x5cGggdW5pY29kZT0i7qSUIiBnbHlwaC1uYW1lPSJmbGVjaGEiIGQ9Ik0xMDA2LjcxOSAyMTQuODU2TDgyMC41MDcgNDAxLjA3MiA5ODIuMDggNTYyLjY0N2E1OC45NzUgNTguOTc1IDAgMDExNS43MDQgNTUuMjQ3IDU4Ljk3IDU4Ljk3IDAgMDEtMzguNzI0IDQyLjQyTDc3LjY5MSA5NTQuODIzYTU4Ljk2MSA1OC45NjEgMCAwMS02MC40MS0xNC4yMzYgNTguOTkgNTguOTkgMCAwMS0xNC4yMzgtNjAuNDFMMjk3LjU2Mi0xLjE5NGE1OC45ODcgNTguOTg3IDAgMDE0Mi40Mi0zOC43MjRjMTkuODc0LTQuNjkyIDQwLjc4OCAxLjI0NyA1NS4yNDcgMTUuNzA0bDE2NS44MzMgMTY1LjgzM0w3NDcuMjc4LTQ0LjU5M2MxMS41Mi0xMS41MiAyNi42MTgtMTcuMjgxIDQxLjcxNC0xNy4yODEgMTUuMDk0IDAgMzAuMTk2IDUuNzYxIDQxLjcxMiAxNy4yODFsMTc2LjAxNyAxNzYuMDE3YzIzLjAzNiAyMy4wMzggMjMuMDM2IDYwLjM5My0uMDAyIDgzLjQzMXpNNzk5Ljg1NSA2My4zNTNMNjEwLjcxOCAyNTAuNDM0Yy0xMi41ODcgMTIuNTg3LTI5LjA4NCAxOC44ODMtNDUuNTc4IDE4Ljg4M3MtMzIuOTk1LTYuMjk2LTQ1LjU3Ni0xOC44ODNsLTE1My4wOS0xNTMuMDktMjQ3Ljg0MyA3NDEuNyA3NDEuNjk1LTI0Ny44NDUtMTQ4LjQzNS0xNDguNDMzYy0yNS4xNzQtMjUuMTctMjUuMTc0LTY1Ljk4NyAwLTkxLjE2MWwxODkuMTMxLTE4Ny4wODdMNzk5Ljg1NSA2My4zNTN6Ii8+PGdseXBoIHVuaWNvZGU9Iu6klSIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFiYWpvIiBkPSJNNTE2Ljk2NCAzNDkuOTU4TDE2Mi41MSA3MDQuNDE0Yy0zMC41NTYgMzAuNTU2LTczLjMzNiAzMC41NTYtMTAzLjg5MiAwLTMwLjU1NC0zMC41NTYtMzAuNTU0LTc2LjM5IDAtMTA2Ljk0OGw0MDYuNC00MDYuNDAyYzE1LjI4LTE1LjI4IDMwLjU1Ni0yMS4zOSA1MS45NDgtMjEuMzlzMzYuNjY4IDYuMTEyIDUxLjk0NiAyMS4zOWw0MDYuNCA0MDYuNDAyYzE1LjI4IDE1LjI4IDIxLjM5IDMzLjYxIDIxLjM5IDUxLjk0NiAwIDE4LjMzNC02LjExMiAzOS43MjQtMjEuMzkgNTUuMDAyLTMwLjU1NiAzMC41NTYtNzMuMzM0IDMwLjU1Ni0xMDMuODkgMEw1MTYuOTY0IDM0OS45NTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kliIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFiYWpvMiIgZD0iTTUxMiA5NjBDMjI5LjI0OCA5NjAgMCA3MzAuNzUyIDAgNDQ4UzIyOS4yNDgtNjQgNTEyLTY0czUxMiAyMjkuMjQ4IDUxMiA1MTItMjI5LjI0OCA1MTItNTEyIDUxMnptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6bTE3NiA1NDRjLTE0LjAxNiAwLTI2LjQ5Ni02LjA4LTM1LjI2NC0xNS42NDhsLS4xMjguMDk2TDUxMiA0MDcuMDQgMzcxLjM2IDU2MC40NDhsLS4xMjgtLjA5NkMzNjIuNDk2IDU2OS45MiAzNTAuMDE2IDU3NiAzMzYgNTc2Yy0yNi40OTYgMC00OC0yMS41MDQtNDgtNDggMC0xMi41MTIgNC44OTYtMjMuNzc2IDEyLjczNi0zMi4zNTJsLS4xMjgtLjA5NiAxNzYtMTkyQzQ4NS43MjggMjkzLjY2NCA0OTguNTI4IDI4OCA1MTIgMjg4czI2LjI3MiA1LjY2NCAzNS4zNiAxNS41NTJsMTc2IDE5Mi0uMTI4LjA5NkM3MzEuMTA0IDUwNC4yMjQgNzM2IDUxNS40ODggNzM2IDUyOGMwIDI2LjQ5Ni0yMS41MDQgNDgtNDggNDh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6klyIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFycmliYSIgZD0iTTUxNS40MzggNTQ3LjA1bDM1NC40NTYtMzU0LjQ1NmMzMC41NTYtMzAuNTU2IDczLjMzNi0zMC41NTYgMTAzLjg5MiAwIDMwLjU1NCAzMC41NTYgMzAuNTU0IDc2LjM5IDAgMTA2Ljk0OGwtNDA2LjQgNDA2LjQwMmMtMTUuMjggMTUuMjgtMzAuNTU2IDIxLjM5LTUxLjk0OCAyMS4zOXMtMzYuNjY4LTYuMTEyLTUxLjk0Ni0yMS4zOUw1Ny4wOTIgMjk5LjU0Yy0xNS4yOC0xNS4yOC0yMS4zOS0zMy42MS0yMS4zOS01MS45NDYgMC0xOC4zMzQgNi4xMTItMzkuNzI0IDIxLjM5LTU1LjAwMiAzMC41NTYtMzAuNTU2IDczLjMzNC0zMC41NTYgMTAzLjg5IDBMNTE1LjQzOCA1NDcuMDV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kmCIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFycmliYTIiIGQ9Ik03MjMuMzYgNDAwLjQ0OGwtMTc2IDE5MkM1MzguMjcyIDYwMi4zMzYgNTI1LjQ3MiA2MDggNTEyIDYwOHMtMjYuMjcyLTUuNjY0LTM1LjM5Mi0xNS41NTJsLTE3Ni0xOTIgLjEyOC0uMDk2QzI5Mi44OTYgMzkxLjc3NiAyODggMzgwLjUxMiAyODggMzY4YzAtMjYuNDk2IDIxLjUwNC00OCA0OC00OCAxNC4wMTYgMCAyNi40OTYgNi4wOCAzNS4yNjQgMTUuNjQ4bC4xMjgtLjA5Nkw1MTIgNDg4Ljk2bDE0MC42MDgtMTUzLjQwOC4xMjguMDk2QzY2MS41MDQgMzI2LjA4IDY3NC4wMTYgMzIwIDY4OCAzMjBjMjYuNDk2IDAgNDggMjEuNTA0IDQ4IDQ4IDAgMTIuNTEyLTQuODk2IDIzLjc3Ni0xMi43MzYgMzIuMzUybC4wOTYuMDk2ek01MTIgOTYwQzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJkiIGdseXBoLW5hbWU9ImZsZWNoYS1kZXJlY2hhIiBkPSJNNjE0Ljc0NiA0NDkuMjY0TDI2MC4yOSA5NC44MDhjLTMwLjU1Ni0zMC41NTYtMzAuNTU4LTczLjMzNiAwLTEwMy44OTIgMzAuNTU2LTMwLjU1NCA3Ni4zOS0zMC41NTQgMTA2Ljk0OCAwbDQwNi40MDIgNDA2LjRjMTUuMjggMTUuMjggMjEuMzkgMzAuNTU2IDIxLjM5IDUxLjk0OHMtNi4xMTIgMzYuNjY4LTIxLjM5IDUxLjk0NmwtNDA2LjQgNDA2LjRDMzUxLjk2IDkyMi44OSAzMzMuNjMgOTI5IDMxNS4yOTQgOTI5Yy0xOC4zMzQgMC0zOS43MjQtNi4xMTItNTUuMDAyLTIxLjM5LTMwLjU1Ni0zMC41NTYtMzAuNTU2LTczLjMzNCAwLTEwMy44OWwzNTQuNDU0LTM1NC40NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kmiIgZ2x5cGgtbmFtZT0iZmxlY2hhLWRlcmVjaGEyIiBkPSJNNDY0LjQ0OCA2NTkuMzZsLS4wOTYtLjEyOEM0NTUuNzc2IDY2Ny4xMDQgNDQ0LjUxMiA2NzIgNDMyIDY3MmMtMjYuNDk2IDAtNDgtMjEuNTA0LTQ4LTQ4IDAtMTQuMDE2IDYuMDgtMjYuNDk2IDE1LjY0OC0zNS4yNjRsLS4wOTYtLjEyOEw1NTIuOTYgNDQ4IDM5OS41NTIgMzA3LjM2bC4wOTYtLjEyOEMzOTAuMDggMjk4LjQ5NiAzODQgMjg2LjAxNiAzODQgMjcyYzAtMjYuNDk2IDIxLjUwNC00OCA0OC00OCAxMi41MTIgMCAyMy43NzYgNC44OTYgMzIuMzUyIDEyLjczNmwuMDk2LS4xMjggMTkyIDE3NkM2NjYuMzM2IDQyMS43MjggNjcyIDQzNC41MjggNjcyIDQ0OHMtNS42NjQgMjYuMjcyLTE1LjU1MiAzNS4zOTJsLTE5MiAxNzUuOTY4ek01MTIgOTYwQzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJsiIGdseXBoLW5hbWU9ImZsZWNoYS1kZXJlY2hhMyIgZD0iTTI1Ni4wNTkgNC42NjJjMjQ0LjgzLTE0MS4zNTMgNTU3LjkxLTU3LjQ0OSA2OTkuMjU0IDE4Ny4zNjggMTQxLjM4MiAyNDQuODU5IDU3LjQ4OCA1NTcuOTYyLTE4Ny4zNTUgNjk5LjMwMy0yNDQuODI2IDE0MS4zNi01NTcuODkxIDU3LjQ2NS02OTkuMjc2LTE4Ny4zNThDLTcyLjY5NCA0NTkuMTI5IDExLjIxNyAxNDYuMDM5IDI1Ni4wNiA0LjY2M3ptLTk4LjcxMyA2NDguMWMxMTMuMDg1IDE5NS44ODEgMzYzLjU2MiAyNjIuOTk0IDU1OS40MiAxNDkuOTEyQzkxMi42NDMgNjg5LjU5MiA5NzkuNzYgNDM5LjEwNiA4NjYuNjU1IDI0My4yNDggNzUzLjU3NiA0Ny4zNTEgNTAzLjExMy0xOS43MTYgMzA3LjI0MiA5My4zNjkgMTExLjM3OCAyMDYuNDU0IDQ0LjI1OCA0NTYuODg5IDE1Ny4zNDcgNjUyLjc2M3pNMjgxLjY1MyA0NDguMDF2LS4wMjljMC0yOC4yMzUgMjIuOTE0LTUxLjE5MiA1MS4xNzktNTEuMTkyaDIxMy41NTZsLTU3LjQwMy01Ny4zODdjLTE5Ljk2Ny0xOS45NjctMTkuOTY3LTUyLjM5NSAwLTcyLjM4NSAxOS45ODMtMTkuOTggNTIuNDIxLTE5Ljk4IDcyLjQwNSAwbDE0NC43NyAxNDQuNzdjMTkuOTgzIDIwLjAwMyAxOS45ODMgNTIuNDM0IDAgNzIuNDI0TDU2MS4zOSA2MjguOTc1Yy0xOS45ODMgMTkuOTk2LTUyLjQyMSAxOS45OTYtNzIuNDA1IDAtMTkuOTY3LTE5Ljk1Ny0xOS45NjctNTIuMzg5IDAtNzIuMzcybDU3LjM4LTU3LjM5N0gzMzIuODM5Yy0yOC4yNjguMDAzLTUxLjE4Mi0yMi45MDEtNTEuMTg2LTUxLjE5NXoiLz48Z2x5cGggdW5pY29kZT0i7qScIiBnbHlwaC1uYW1lPSJmbGVjaGEtZGVzaGFjZXIiIGQ9Ik0wIDg3OS45OTl2LTI1NkMwIDU5Ny41MDQgMjEuNTA0IDU3NiA0Ny45OTkgNTc2aDI1NkMzMzAuNDk2IDU3NiAzNTIgNTk3LjUwNCAzNTIgNjI0LjAwMXMtMjEuNTA0IDQ4LjAwMS00OC4wMDEgNDguMDAxSDE2MS42M0MyMzcuNzYgNzkxLjI2MyAzNjguNDQ3IDg2NCA1MTIgODY0YzIyOS4zNzYgMCA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyYy0xNjkuMDg5IDAtMzIwLjA5NiAxMDAuOTkzLTM4NC42NzIgMjU3LjMxMy01LjA4NyAxMi4yMjUtMTQuNjU1IDIxLjMxMS0yNS45ODUgMjYuMDE2cy0yNC40NDkgNS4wODctMzYuNjcxLjAzM2E0Ny45MzQgNDcuOTM0IDAgMDEtMjYuMDQ5LTI2LjAxNmMtNC43MDQtMTEuMjk3LTUuMDg3LTI0LjQxNi0uMDMzLTM2LjY3MUMxMTguMDc3IDYwLjMyMSAzMDMuOTAyLTYzLjk5OSA1MTItNjMuOTk5YzI4Mi4zMDUgMCA1MTIgMjI5LjY5NSA1MTIgNTEycy0yMjkuNjk1IDUxMi01MTIgNTEyYy0xNjcuNDI0IDAtMzIwLjcwNS04MC4zMjEtNDE2LTIxMy42Vjg4MGMwIDI2LjQ5Ny0yMS41MDQgNDguMDAxLTQ4LjAwMSA0OC4wMDFTMCA5MDYuNDk3IDAgODgweiIvPjxnbHlwaCB1bmljb2RlPSLupJ0iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEiIGQ9Ik00MTcuNjU0IDQ0Ny43NEw3NzIuMTEgODAyLjE5NGMzMC41NTYgMzAuNTU2IDMwLjU1NiA3My4zMzYgMCAxMDMuODkyLTMwLjU1NiAzMC41NTQtNzYuMzkgMzAuNTU0LTEwNi45NDggMGwtNDA2LjQwMi00MDYuNGMtMTUuMjgtMTUuMjgtMjEuMzktMzAuNTU2LTIxLjM5LTUxLjk0OHM2LjExMi0zNi42NjggMjEuMzktNTEuOTQ2bDQwNi40MDItNDA2LjRjMTUuMjgtMTUuMjggMzMuNjEtMjEuMzkgNTEuOTQ2LTIxLjM5IDE4LjMzNCAwIDM5LjcyNCA2LjExMiA1NS4wMDIgMjEuMzkgMzAuNTU2IDMwLjU1NiAzMC41NTYgNzMuMzM0IDAgMTAzLjg5TDQxNy42NTQgNDQ3Ljc0eiIvPjxnbHlwaCB1bmljb2RlPSLupJ4iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEyIiBkPSJNNTkyIDY3MmMtMTIuNTEyIDAtMjMuNzc2LTQuODk2LTMyLjM1Mi0xMi43MzZsLS4wOTYuMTI4LTE5Mi0xNzZDMzU3LjY2NCA0NzQuMjcyIDM1MiA0NjEuNDcyIDM1MiA0NDhzNS42NjQtMjYuMjcyIDE1LjU1Mi0zNS4zOTJsMTkyLTE3NiAuMDk2LjEyOEM1NjguMjI0IDIyOC44OTYgNTc5LjQ4OCAyMjQgNTkyIDIyNGMyNi40OTYgMCA0OCAyMS41MDQgNDggNDggMCAxMy45ODQtNi4wOCAyNi40OTYtMTUuNjQ4IDM1LjI2NGwuMDk2LjEyOEw0NzEuMDQgNDQ4bDE1My40MDggMTQwLjY0LS4wOTYuMTI4QzYzMy45MiA1OTcuNTA0IDY0MCA2MDkuOTg0IDY0MCA2MjRjMCAyNi40OTYtMjEuNTA0IDQ4LTQ4IDQ4em0tODAgMjg4QzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJ8iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEzIiBkPSJNOTU1LjMxOSA3MDMuOTc1Yy0xNDEuMzg1IDI0NC44MjItNDU0LjQ1MiAzMjguNzE3LTY5OS4yNzQgMTg3LjM1Ny0yNDQuODQyLTE0MS4zNC0zMjguNzM5LTQ1NC40NDUtMTg3LjM1NC02OTkuM0MyMTAuMDMxLTUyLjc4NCA1MjMuMTEzLTEzNi42OTEgNzY3LjkzOSA0LjY2NWMyNDQuODQ1IDE0MS4zNzYgMzI4Ljc1NiA0NTQuNDY1IDE4Ny4zOCA2OTkuMzF6TTcxNi43NiA5My4zNzFDNTIwLjg5LTE5LjcxNyAyNzAuNDI3IDQ3LjM1MyAxNTcuMzQ4IDI0My4yNSA0NC4yNDQgNDM5LjEwNyAxMTEuMzYgNjg5LjU5MyAzMDcuMjM2IDgwMi42NzVjMTk1Ljg1NyAxMTMuMDgxIDQ0Ni4zMzMgNDUuOTY5IDU1OS40MTgtMTQ5LjkxMUM5NzkuNzQyIDQ1Ni44OSA5MTIuNjIgMjA2LjQ1NyA3MTYuNzU5IDkzLjM3MnpNNjkxLjE2NiA0OTkuMjFINDc3LjYzN2w1Ny4zOCA1Ny4zOTNjMTkuOTY3IDE5Ljk4MyAxOS45NjcgNTIuNDE1IDAgNzIuMzcyLTE5Ljk4MyAxOS45OTYtNTIuNDIxIDE5Ljk5Ni03Mi40MDQgMGwtMTQ0Ljc3LTE0NC43NjNjLTE5Ljk4My0xOS45OS0xOS45ODMtNTIuNDIxIDAtNzIuNDI0bDE0NC43Ny0xNDQuNzdjMTkuOTgzLTE5Ljk4IDUyLjQyMS0xOS45OCA3Mi40MDQgMCAxOS45NjcgMTkuOTkgMTkuOTY3IDUyLjQxOCAwIDcyLjM4NWwtNTcuNDAzIDU3LjM4N2gyMTMuNTU1YzI4LjI2NSAwIDUxLjE3OSAyMi45NTcgNTEuMTc5IDUxLjE5MnYuMDI2Yy0uMDAzIDI4LjI5Ny0yMi45MTggNTEuMjAyLTUxLjE4MiA1MS4yMDJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6koCIgZ2x5cGgtbmFtZT0iZmxlY2hhLWxpbmsiIGQ9Ik03NDkuNzE0IDgxMy43MTRIMjc0LjI4NWMtMjUuMTQzIDAtNDYuNjY2LTguOTUyLTY0LjU3MS0yNi44NTctMTcuOTA0LTE3LjkwNS0yNi44NTctMzkuNDI5LTI2Ljg1Ny02NC41NzFWMjQ2Ljg1N2MwLTI1LjE0MyA4Ljk1My00Ni42NjYgMjYuODU3LTY0LjU3MSAxNy45MDUtMTcuOTA0IDM5LjQyOS0yNi44NTcgNjQuNTcxLTI2Ljg1N2g0NzUuNDI5YzI1LjE0MyAwIDQ2LjY2NyA4Ljk1MyA2NC41NzEgMjYuODU3czI2Ljg1NyAzOS40MjkgMjYuODU3IDY0LjU3MXY0NzUuNDI5YzAgMjUuMTQzLTguOTUyIDQ2LjY2Ny0yNi44NTcgNjQuNTcxcy0zOS40MjkgMjYuODU3LTY0LjU3MSAyNi44NTd6bTE2NC41NzItOTEuNDI4VjI0Ni44NTdjMC00NS4zMzMtMTYuMDk1LTg0LjA5NS00OC4yODYtMTE2LjI4NnMtNzAuOTUyLTQ4LjI4Ni0xMTYuMjg2LTQ4LjI4NkgyNzQuMjg1Yy00NS4zMzMgMC04NC4wOTUgMTYuMDk2LTExNi4yODYgNDguMjg2LTMyLjE5IDMyLjE5MS00OC4yODYgNzAuOTUzLTQ4LjI4NiAxMTYuMjg2djQ3NS40MjljMCA0NS4zMzQgMTYuMDk1IDg0LjA5NSA0OC4yODYgMTE2LjI4NnM3MC45NTMgNDguMjg2IDExNi4yODYgNDguMjg2aDQ3NS40MjljNDUuMzM0IDAgODQuMDk2LTE2LjA5NSAxMTYuMjg2LTQ4LjI4NiAzMi4xOTEtMzIuMTkgNDguMjg2LTcwLjk1MiA0OC4yODYtMTE2LjI4NnptLTE1Ni43MzItMzEuMDg3VjQ4Mi4wMzNjMC0yMC45MTctMTUuMjEyLTM2LjEzMS0zNi4xMjctMzYuMTMxLTIwLjkxNyAwLTM2LjEyOSAxNS4yMTQtMzYuMTI5IDM2LjEzMWwtLjk1IDEyMC43NDUtMjIyLjQ3Ny0yMjIuNDc5Yy0xNC4yNjEtMTQuMjYxLTM3LjA3OS0xNC4yNjEtNTEuMzQxIDAtMTQuMjYzIDE0LjI2My0xNC4yNjMgMzcuMDgtLjAwMiA1MS4zNDFsMjIyLjQ3NyAyMjIuNDgxSDUxMy4yMTFjLTIwLjkxNyAwLTM3LjA3OSAxNi4xNjItMzcuMDc5IDM3LjA3OSAwIDIwLjkxNSAxNS4yMTEgMzYuMTI5IDM2LjEyOCAzNi4xMjloMjA5LjE2N2M5LjUwNyAwIDE5LjAxNC0zLjgwNCAyNS42Ny0xMC40NTggNi42NTUtNi42NTYgMTAuNDU3LTE2LjE2NCAxMC40NTctMjUuNjcxeiIvPjxnbHlwaCB1bmljb2RlPSLupKEiIGdseXBoLW5hbWU9ImZsZWNoYXMtbW92ZXIiIGQ9Ik05NzIgNDgyTDgyNiA2MjhjLTE4IDE4LTQ0IDE4LTYwIDAtMTgtMTgtMTgtNDQgMC02Mmw3MC03Mkg1NTR2Mjg4bDcwLTcwYzgtOCAyMC0xMiAzMi0xMnMyMiA0IDMwIDEyYzE4IDE4IDE4IDQ0IDAgNjJMNTQyIDkxOGMtOCA4LTIwIDE0LTMyIDE0cy0yMi02LTMwLTE0TDMzNCA3NzRjLTE4LTE4LTE4LTQ0IDAtNjJzNDYtMTggNjIgMGw3MCA3MFY0OTRIMTg0bDcwIDcyYzE4IDE4IDE4IDQ0IDAgNjJzLTQ0IDE4LTYyIDBMNDggNDgyYy04LTgtMTQtMTgtMTQtMzBzNi0yNCAxNC0zMmwxNDQtMTQ2YzgtOCAyMC0xMiAzMi0xMnMyMiA2IDMwIDE0YzE4IDE4IDE4IDQyIDAgNjBsLTcwIDcyaDI4MlYxMjZsLTcwIDcwYy0xOCAxOC00NCAxNi02MiAwLTE4LTE4LTE4LTQ2IDAtNjJMNDgwLTEwYzgtOCAxOC0xNCAzMC0xNHMyNCA2IDMyIDE0bDE0NCAxNDRjMTggMTggMTggNDYgMCA2Mi0xOCAxOC00NiAxOC02MiAwbC03MC03MHYyODJoMjgybC03MC03MmMtMTgtMTgtMTgtNDIgMC02MCA4LTggMTgtMTQgMzAtMTRzMjIgNCAzMCAxMmwxNDYgMTQ2YzggOCAxMiAyMCAxMiAzMnMtNCAyMi0xMiAzMHoiLz48Z2x5cGggdW5pY29kZT0i7qSiIiBnbHlwaC1uYW1lPSJncHMiIGQ9Ik01MTEuOTY4IDk2MEMyMjkuNjU4IDk2MCAuMDA4IDczMC4zMTcuMDA4IDQ0OC4wMDkuMDA4IDE2NS42ODYgMjI5LjY1OC02NCA1MTEuOTY4LTY0YzI4Mi4zNDQgMCA1MTIuMDI1IDIyOS42ODYgNTEyLjAyNSA1MTIuMDA5QzEwMjMuOTkzIDczMC4zMTcgNzk0LjMxIDk2MCA1MTEuOTY4IDk2MHptMC05MzMuNjkxYy0yMzIuNDg5IDAtNDIxLjY1NCAxODkuMTgtNDIxLjY1NCA0MjEuNyAwIDIzMi41MjMgMTg5LjE2NSA0MjEuNjg3IDQyMS42NTQgNDIxLjY4NyAyMzIuNTU0IDAgNDIxLjcxNi0xODkuMTYyIDQyMS43MTYtNDIxLjY4NyAwLTIzMi41MjMtMTg5LjE2Mi00MjEuNy00MjEuNzE2LTQyMS43ek02OTUuNDU2IDY2OS4xNEwyNTAuNTE4IDQzMS44MzNjLTEzLjExOC03LjAwMi0yMC4wNjYtMjEuODA0LTE3LjA4Ny0zNi4zODEgMy4wMi0xNC41NjcgMTUuMjQ4LTI1LjQ0MSAzMC4wNjgtMjYuNzA0bDE2My4xNTctMTMuODM3IDEzLjgzNy0xNjMuMTcyYzEuMjQzLTE0LjgyIDEyLjEzLTI3LjA1IDI2LjY5Mi0zMC4wNTJhMzQuMDQgMzQuMDQgMCAwMTYuNzg2LS42ODZjMTIuMTk3IDAgMjMuNjc3IDYuNjkgMjkuNjA2IDE3Ljc3M0w3NDAuODY5IDYyMy43MWM2Ljk1MSAxMy4wNTMgNC41ODggMjkuMS01Ljg2NSAzOS41NDMtMTAuNDY2IDEwLjQ2MS0yNi41MDEgMTIuODU0LTM5LjU0NiA1Ljg4OHoiLz48Z2x5cGggdW5pY29kZT0i7qSjIiBnbHlwaC1uYW1lPSJncHMyIiBkPSJNOTczLjg1NSA0OTguMTUzaC01OC44OWMtMjAuMTg5IDE4Ni40MjUtMTY3LjI2IDMzNS4wNjMtMzUyLjc5NSAzNTguMDk1djUzLjU4YzAgMjcuNzI4LTIyLjQzMiA1MC4xNy01MC4xNyA1MC4xNy0yNy42NzMgMC01MC4xMzUtMjIuNDQyLTUwLjEzNS01MC4xN3YtNTMuNThjLTE4NS41NDEtMjMuMDMyLTMzMi42MTItMTcxLjY2Ny0zNTIuNzY2LTM1OC4wOTVoLTU4Ljg5QzIyLjQ2NSA0OTguMTUzIDAgNDc1LjcxMSAwIDQ0OC4wMThjMC0yNy43MjIgMjIuNDY1LTUwLjE2NiA1MC4yMTEtNTAuMTY2aDYwLjc2QzEzNi4zMTUgMjE3LjM3OCAyODAuNDk4IDc0LjgwNyA0NjEuODY3IDUyLjI5NXYtNjYuMTE0YzAtMjcuNzI0IDIyLjQ2NS01MC4xNzIgNTAuMTM1LTUwLjE3MiAyNy43MzggMCA1MC4xNyAyMi40NDggNTAuMTcgNTAuMTcydjY2LjExNGMxODEuMzMgMjIuNTEyIDMyNS41NTYgMTY1LjA4MyAzNTAuODUxIDM0NS41NTdoNjAuODM0YzI3LjcwOSAwIDUwLjE0NSAyMi40NDQgNTAuMTQ1IDUwLjE2Ni0uMDAyIDI3LjY5My0yMi40MzYgNTAuMTM1LTUwLjE0NyA1MC4xMzV6TTUxMiAxNDguMTYxYy0xNjguNzQ5IDAtMzA2LjA4OCAxMzcuMzI5LTMwNi4wODggMzA2LjEwNiAwIDE2OC43ODQgMTM3LjMzOSAzMDYuMTAyIDMwNi4wODggMzA2LjEwMiAxNjguODA4IDAgMzA2LjEyMy0xMzcuMzIgMzA2LjEyMy0zMDYuMTAyIDAtMTY4Ljc3Ni0xMzcuMzEyLTMwNi4xMDYtMzA2LjEyMy0zMDYuMTA2em0wIDQ3NC43NTVjLTkzLjEwMiAwLTE2OC42MjQtNzUuNTAyLTE2OC42MjQtMTY4LjY0NyAwLTkzLjEyMSA3NS41MTgtMTY4LjY0OSAxNjguNjI0LTE2OC42NDkgOTMuMTggMCAxNjguNjI0IDc1LjUyNiAxNjguNjI0IDE2OC42NDkgMCA5My4xNDMtNzUuNDQgMTY4LjY0Ny0xNjguNjI0IDE2OC42NDd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kpCIgZ2x5cGgtbmFtZT0iZ3BzMyIgZD0iTTUxMS45NjUgOTYwQzIyOS42MjcgOTYwIDAgNzMwLjMwMyAwIDQ0OFMyMjkuNjI3LTY0IDUxMS45NjUtNjQgMTAyNCAxNjUuNjk3IDEwMjQgNDQ4IDc5NC4zMDMgOTYwIDUxMS45NjUgOTYwem0wLTkzNS4yNjNDMjc4LjUzMyAyNC43MzcgODguNzAyIDIxNC42MDMgODguNzAyIDQ0OHMxODkuODMxIDQyMy4yNjMgNDIzLjI2MyA0MjMuMjYzUzkzNS4yNjMgNjgxLjM5NyA5MzUuMjYzIDQ0OGMwLTIzMy4zOTctMTg5LjkzNi00MjMuMjYzLTQyMy4yOTgtNDIzLjI2M3pNNzkxLjIzMSA0NDhjMC0xNTQuMjI1LTEyNS4wNDItMjc5LjMwMS0yNzkuMjY2LTI3OS4zMDEtMTU0LjE5IDAtMjc5LjI2NiAxMjUuMDA3LTI3OS4yNjYgMjc5LjMwMSAwIDE1NC4yMjUgMTI1LjA3NiAyNzkuMzAxIDI3OS4yNjYgMjc5LjMwMSAxNTQuMjI1IDAgMjc5LjI2Ni0xMjUuMDc2IDI3OS4yNjYtMjc5LjMwMXoiLz48Z2x5cGggdW5pY29kZT0i7qSlIiBnbHlwaC1uYW1lPSJncHM0IiBkPSJNNTEyIDk2MEMyMjkuMjQ0IDk2MCAwIDczMC43NTYgMCA0NDhTMjI5LjI0NC02NCA1MTItNjRzNTEyIDIyOS4yNDQgNTEyIDUxMi0yMjkuMjQ0IDUxMi01MTIgNTEyem00OS41NDgtOTIxLjYzM1YxNTAuNzFjMCAyNy4zNTEtMjIuMTY1IDQ5LjU0OC00OS41NDggNDkuNTQ4cy00OS41NDgtMjIuMTk4LTQ5LjU0OC00OS41NDhWMzguMzY3QzI3NC4zNjYgNjAuOTk0IDEyNC45OTQgMjEwLjM5OSAxMDIuMzY3IDM5OC40NTJIMjE0LjcxYzI3LjM4NCAwIDQ5LjU0OCAyMi4xOTggNDkuNTQ4IDQ5LjU0OHMtMjIuMTY1IDQ5LjU0OC00OS41NDggNDkuNTQ4SDEwMi4zNjdjMjIuNjI3IDE4OC4wNTMgMTcxLjk5OSAzMzcuNDU4IDM2MC4wODUgMzYwLjA4NVY3NDUuMjljMC0yNy4zNTEgMjIuMTY1LTQ5LjU0OCA0OS41NDgtNDkuNTQ4czQ5LjU0OCAyMi4xOTggNDkuNTQ4IDQ5LjU0OHYxMTIuMzQzYzE4OC4wODYtMjIuNjI3IDMzNy40NTgtMTcyLjAzMiAzNjAuMDg1LTM2MC4wODVIODA5LjI5Yy0yNy4zODQgMC00OS41NDgtMjIuMTk4LTQ5LjU0OC00OS41NDhzMjIuMTY1LTQ5LjU0OCA0OS41NDgtNDkuNTQ4aDExMi4zNDNDODk5LjAwNiAyMTAuMzk5IDc0OS42MzQgNjAuOTk0IDU2MS41NDggMzguMzY3eiIvPjxnbHlwaCB1bmljb2RlPSLupKYiIGdseXBoLW5hbWU9Imd1YXJkYXIiIGQ9Ik0xMDEwLjY2NyA2NzcuMzQ0Yy04Ljg4NyAyMS4zMjQtMTkuNTYxIDM4LjIxOC0zMi4wMTEgNTAuNjU5TDc5MS45ODkgOTE0LjY3MmMtMTIuNDM0IDEyLjQzNC0yOS4zMjggMjMuMTA1LTUwLjY2MSAzMi0yMS4zMjEgOC44ODUtNDAuODgyIDEzLjMyOS01OC42NTcgMTMuMzI5SDY0LjAwMmMtMTcuNzcyIDAtMzIuODg3LTYuMjE4LTQ1LjMzMy0xOC42NjRDNi4yMjMgOTI4Ljg5OC4wMDcgOTEzLjc4Ni4wMDcgODk2LjAwNFYtLjAwMmMwLTE3Ljc4NiA2LjIxNi0zMi44OTkgMTguNjYyLTQ1LjM0QzMxLjExNS01Ny43NzYgNDYuMjMtNjQuMDAxIDY0LjAwMi02NC4wMDFoODk2LjAwNGMxNy43ODggMCAzMi44OTkgNi4yMjUgNDUuMzQgMTguNjU5IDEyLjQzNCAxMi40NDEgMTguNjUgMjcuNTU0IDE4LjY1IDQ1LjM0djYxOC42NjljMCAxNy43ODQtNC40NDEgMzcuMzM4LTEzLjMyOSA1OC42Nzh6TTQyNi42NzMgODUzLjM0MmMwIDUuNzc3IDIuMTEzIDEwLjc2NyA2LjMzNyAxNC45OTggNC4yMTkgNC4yMTIgOS4yMjEgNi4zMjMgMTQuOTk4IDYuMzIzaDEyOC4wMDZjNS43NjMgMCAxMC43NjItMi4xMDYgMTQuOTg0LTYuMzIzIDQuMjMzLTQuMjMxIDYuMzQ0LTkuMjIxIDYuMzQ0LTE0Ljk5OFY2NDAuMDA2YzAtNS43ODYtMi4xMjUtMTAuNzgzLTYuMzQ0LTE1LjAwNy00LjIyMi00LjIxLTkuMjIxLTYuMzIzLTE0Ljk4NC02LjMyM0g0NDguMDA4Yy01Ljc3NyAwLTEwLjc4MSAyLjEwNi0xNC45OTggNi4zMjMtNC4yMjQgNC4yMzEtNi4zMzcgOS4yMjEtNi4zMzcgMTUuMDA3djIxMy4zMzZ6TTc2OC4wMTUgMjEuMzI4SDI1NnYyNTYuMDA2aDUxMi4wMTVWMjEuMzI4em0xNzAuNjc4IDBoLTg1LjM2N1YyOTguNjdjMCAxNy43ODYtNi4yMTggMzIuODg5LTE4LjY1OSA0NS4zNC0xMi40NDEgMTIuNDQxLTI3LjU1NCAxOC42NjYtNDUuMzIzIDE4LjY2NkgyMzQuNjdjLTE3Ljc3OSAwLTMyLjg5NC02LjIyNS00NS4zNC0xOC42NjYtMTIuNDM5LTEyLjQ0MS0xOC42NjItMjcuNTU0LTE4LjY2Mi00NS4zNFYyMS4zMjhIODUuMzMzdjg1My4zNDVoODUuMzMyVjU5Ny4zMzZjMC0xNy43ODEgNi4yMTYtMzIuODg3IDE4LjY2Mi00NS4zMzMgMTIuNDQ2LTEyLjQzOSAyNy41NjEtMTguNjY0IDQ1LjM0LTE4LjY2NGgzODQuMDE0YzE3Ljc3IDAgMzIuODk5IDYuMjI1IDQ1LjMyMyAxOC42NjQgMTIuNDM0IDEyLjQzOSAxOC42NjYgMjcuNTUxIDE4LjY2NiA0NS4zMzN2Mjc3LjMzN2M2LjY2NCAwIDE1LjMyNS0yLjIxOCAyNi4wMDMtNi42NjIgMTAuNjc2LTQuNDQxIDE4LjIyNy04Ljg4NSAyMi42NzEtMTMuMzI5TDkxOC42OSA2NjcuMzRjNC40NDEtNC40NDQgOC44ODctMTIuMTE5IDEzLjMyOS0yMy4wMDMgNC40NTgtMTAuODkzIDYuNjcxLTE5LjQ1MSA2LjY3MS0yNS42NzJWMjEuMzI3eiIvPjxnbHlwaCB1bmljb2RlPSLupKciIGdseXBoLW5hbWU9ImhlcnJhbWllbnRhIiBkPSJNOTkxLjk5NyA3MDIuMTUyYTU1LjM0NiA1NS4zNDYgMCAwMS00MC4yOTIgMzIuNTQ3IDU1LjE4MiA1NS4xODIgMCAwMS0xMC40NjUuOTkyIDU1LjE5IDU1LjE5IDAgMDEtMzkuMDQ0LTE2LjE2MmwtMTcwLjgtMTcwLjhhMTUuOTQgMTUuOTQgMCAwMC0xMS4yOTctNC42NzJjLTQuNDQ4IDAtOC40NDkgMS44MjQtMTEuMzI5IDQuNjcybC05Ni4wMDkgOTYuMDA5YTE1LjkzOCAxNS45MzggMCAwMC00LjY3MiAxMS4zMjljMCA0LjQ0OCAxLjc5MiA4LjQ0OSA0LjY3MiAxMS4zMjlsMTcwLjggMTcwLjhhNTUuMjIgNTUuMjIgMCAwMTE1LjE2OSA0OS41NDFjLTMuNDU2IDE3Ljk4Ni0xNS42NDkgMzMuMDI3LTMyLjQ4MyA0MC4yNkM3MTYuNDUgOTQ5LjI0NyA2NjQuMTg5IDk2MCA2MTMuMDE3IDk2MGMtODYuMzc2IDAtMTY5LjQ4OC0zMC42MjctMjMxLjg2Mi05Mi45NjktNjEuMTI2LTYxLjE1OC05MS45NDUtMTQyLjMxNy05My4wNjUtMjI2Ljk2NS0uNTc2LTQxLjQ0NCA2LjE3Ny04My42ODggMTkuNjUtMTI0LjgxMkwxOC43ODUgMjI2LjI5OUM0Ljk5MiAyMTIuNTM4LTEuMTg1IDE5NC4wNzIuMjIzIDE3Ni4wODZjMS4xNTItMTQuNjU3IDcuMzI5LTI5LjAyNyAxOC41NjItNDAuMjkyTDE5OS43OTQtNDUuMjE1YzEyLjUxMy0xMi41MTMgMjguODY3LTE4Ljc1NCA0NS4yNTItMTguNzU0czMyLjczOSA2LjI0MSA0NS4yNTIgMTguNzU0TDU3OS4yODUgMjQzLjc0YzM5LjU1Ni0xMi45MjkgODAuMTM2LTE5LjQ1OCAxMjAuMDQzLTE5LjQ1OCA4Ni4zMTIgMCAxNjkuMzkyIDMwLjU2MyAyMzEuNzM0IDkyLjkwNSA5OS4yNDEgOTkuMjQxIDExOC4wOTEgMjUxLjE2IDYwLjkzNCAzODQuOTY0ek04NjMuMTg1IDM4NS4wMzRjLTQxLjc5Ni00MS43OTYtOTkuOTc3LTY0Ljc3NC0xNjMuODU1LTY0Ljc3NC0zMC4wMTkgMC02MC4zNTggNC45Ni05MC4xODQgMTQuNzIxYTk1LjkzNCA5NS45MzQgMCAwMS0yOS44NTkgNC43MzZjLTI1LjA1OCAwLTQ5LjYwNS05LjgyNS02Ny44NzgtMjguMTMxTDI0NS4wNDggNDUuMjU3IDEwOS4yOTEgMTgxLjAxNCAzNzUuNjIgNDQ3LjM0M2MyNS41NyAyNS41NyAzNC41OTUgNjMuMzAyIDIzLjM2MiA5Ny43MDUtMTAuNDAxIDMxLjg0My0xNS41MjEgNjQuMDA2LTE0LjkxMyA5NS4wMTcgMS4yNDggNjEuMjU0IDIzLjg3NCAxMTcuOTMxIDY0LjkzNCAxNTkuMDU1IDQxLjg2IDQxLjgyOCAxMDAuMDczIDY0Ljg3IDE2NC4wMTUgNjQuODcgMTguMTQ2IDAgMzYuNjc1LTEuODg4IDU1LjA3Ny01LjUzN0w1NDUuMjk5IDczNS42MjVjLTIxLjQxLTIxLjE1NC0zMy4xODctNDkuNDEzLTMzLjE4Ny03OS41NTkgMC0yOS45MjMgMTEuNjQ5LTU4LjAyMSAzMi44MDMtNzkuMjA3bDk2LjAwOS05Ni4wMDljMjEuMTU0LTIxLjE1NCA0OS4yODUtMzIuODAzIDc5LjIwNy0zMi44MDNzNTguMDIxIDExLjY0OSA3OS4yMDcgMzIuODAzbDEyMy4xOCAxMjMuMThjMTYuMzU0LTgyLjY5Ni00LjY0LTE2NC4yNzEtNTkuMzM0LTIxOC45OTd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kqCIgZ2x5cGgtbmFtZT0iaW1wcmVzb3JhIiBkPSJNOTc2IDc3OEg3NTR2MTMyYzAgMTQtMTQgMjgtMjggMjhIMjk0Yy0xNCAwLTI4LTE0LTI4LTI4Vjc3OEg0NGMtMjQgMC00NC0yMC00NC00NFYyMjZjMC0yNCAyMC00MiA0NC00MmgxNjhMMTg2IDhjLTQtMjAgMTQtMzggMzItMzhoNTg0YzE4IDAgMzIgMTYgMzIgMzR2OGwtMjggMTcyaDE3MGMyNCAwIDQ0IDE4IDQ0IDQydjUwOGMwIDI0LTIwIDQ0LTQ0IDQ0em0tNjM4IDg2aDM0NHYtODZIMzM4djg2ek0yNzIgNTJsNDQgMjU2aDM4OGw0NC0yNTZIMjcyem02NjIgMjE4SDc5NGwtMTQgOTJjLTIgMTYtMTYgMjgtMzIgMjhIMjcyYy0xNiAwLTMwLTEyLTMyLTI4bC0xNC05Mkg4NnY0MjJoODQ4VjI3MHpNMjE3LjY0NiA1MzYuNzA0aDE0MC43MDhjMjQuMzU0IDAgNDMuMjk0IDE4Ljk0IDQzLjI5NCA0My4yOTQgMCAyNC4zNTItMTguOTQyIDQzLjI5NC00My4yOTQgNDMuMjk0SDIxNy42NDZjLTI0LjM1NCAwLTQzLjI5NC0xOC45NDItNDMuMjk0LTQzLjI5NC0uMDAyLTI0LjM1MiAxOC45NC00My4yOTQgNDMuMjk0LTQzLjI5NHoiLz48Z2x5cGggdW5pY29kZT0i7qSpIiBnbHlwaC1uYW1lPSJpbmZvIiBkPSJNNTEyIDcwNGMtMzUuMzI4IDAtNjQtMjguNjcyLTY0LTY0czI4LjY3Mi02NCA2NC02NCA2NCAyOC42NCA2NCA2NC0yOC42NCA2NC02NCA2NHptMC0xOTJjLTM1LjMyOCAwLTY0LTI4LjY0LTY0LTY0VjI1NmMwLTM1LjMyOCAyOC42NzItNjQgNjQtNjRzNjQgMjguNjcyIDY0IDY0djE5MmMwIDM1LjMyOC0yOC42NCA2NC02NCA2NHptMCA0NDhDMjI5LjY5NiA5NjAgMCA3MzAuMzA0IDAgNDQ4UzIyOS42OTYtNjQgNTEyLTY0czUxMiAyMjkuNjk2IDUxMiA1MTItMjI5LjY5NiA1MTItNTEyIDUxMnptMC05MjhDMjgyLjU5MiAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNTkyIDQxNiA0MTYgNDE2YzIyOS4zNzYgMCA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupKoiIGdseXBoLW5hbWU9ImxpbmVhIiBkPSJNOTM5Ljg1MyA4ODEuMzA1Yy00Ny41NSA0Ny43MTYtMTI0LjgxNSA0Ny43NzMtMTcyLjQ4OS4xNjItMzUuMDUzLTM0Ljk0Mi00NC4xNDEtODUuODI3LTI3Ljc2NS0xMjkuMzMzbC01MTguNDQ1LTUxOC4xYy00My40NDcgMTYuNDQ4LTk0LjM3MSA3LjQ1LTEyOS40MDMtMjcuNS00Ny42OTItNDcuNTk4LTQ3Ljc3Ni0xMjQuODIxLS4xOTUtMTcyLjUwMSA0Ny42MTMtNDcuNzA0IDEyNC44MzYtNDcuNzk3IDE3Mi41MS0uMTc3IDM1LjA2NSAzNC45NDggNDQuMTY4IDg1Ljg0OCAyNy43OTIgMTI5LjMzM2w1MTguNDMzIDUxOC4xMDljNDMuNDUtMTYuNDY2IDk0LjM2Mi03LjQ3MSAxMjkuMzkxIDI3LjUwNiA0Ny43MjUgNDcuNTggNDcuNzg4IDEyNC44MjcuMTcxIDE3Mi41MDF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kqyIgZ2x5cGgtbmFtZT0ibGluZWFzIiBkPSJNNjY5LjE2OCAyNTAuNjMyYy01My4zMTIgMTkuNjY4LTExMC43MjkgNC42MDYtMTQ4LjE0Ni0zMy40M2wtMjQxLjUxMyA4OC45OTdjLTMuNzgyIDUzLjE5OC0zNy42OTkgMTAxLjkwOC05MS4wMTUgMTIxLjU1Ny03Mi41OTMgMjYuNzU2LTE1My4wODYtMTAuMzg5LTE3OS44MTEtODIuOTY1LTI2Ljc1OC03Mi41OTMgMTAuMzg3LTE1My4xMDIgODIuOTgxLTE3OS44MTMgNTMuMzMxLTE5LjY2NiAxMTAuNzE0LTQuNjIxIDE0OC4xMyAzMy40MTVsMjQxLjUxMy04OS4wMTRjMy43OTgtNTMuMjE0IDM3LjczMi0xMDEuOTA2IDkxLjA0Ni0xMjEuNTM4IDcyLjU2MS0yNi43NzUgMTUzLjA2OSAxMC40MDUgMTc5Ljc5NiA4Mi45ODEgMjYuNzczIDcyLjU3Ni0xMC40MDUgMTUzLjA2OS04Mi45ODEgMTc5LjgwOXptMzMwLjA1NCA2MDUuNjRjLTQzLjg1IDYzLjcwMS0xMzEuMDgyIDc5LjcxOC0xOTQuNzUxIDM1LjgtNDYuNzk0LTMyLjIyMi02Ny41NjgtODcuODA0LTU4LjA1Ni0xNDAuMzE1TDUzNC40ODggNjA1LjY4MmMtNDUuNjY4IDI3LjU0Ny0xMDUuMDM0IDI3Ljg5OS0xNTEuODA3LTQuMzM4LTYzLjY4Ni00My45MDItNzkuNzIzLTEzMS4wODYtMzUuODM3LTE5NC43NTQgNDMuOTE5LTYzLjcwMyAxMzEuMTAyLTc5Ljc1NCAxOTQuNzcyLTM1LjgxOCA0Ni44MDkgMzIuMjIyIDY3LjU5NyA4Ny44MjMgNTguMDg1IDE0MC4zMTNsMjExLjkxNiAxNDYuMDc5YzQ1LjY2OC0yNy41NjYgMTA1LjAxNy0yNy45MiAxNTEuNzkzIDQuMzUyIDYzLjcxNiA0My44NzEgNzkuNzM1IDEzMS4wODggMzUuODEyIDE5NC43NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6krCIgZ2x5cGgtbmFtZT0ibGlzdGEiIGQ9Ik05OS4wOTcgODExLjM1NEM0NC4zNjIgODExLjM1NCAwIDc2Ni45OTIgMCA3MTIuMjU5czQ0LjM2Mi05OS4wOTcgOTkuMDk3LTk5LjA5NyA5OS4wOTcgNDQuMzYzIDk5LjA5NyA5OS4wOTctNDQuMzYzIDk5LjA5NS05OS4wOTcgOTkuMDk1em0wLTI2NC4yNTdDNDQuMzYyIDU0Ny4wOTcgMCA1MDIuNzM0IDAgNDQ4YzAtNTQuNzM1IDQ0LjM2Mi05OS4wOTcgOTkuMDk3LTk5LjA5N3M5OS4wOTcgNDQuMzYyIDk5LjA5NyA5OS4wOTdjMCA1NC43MzQtNDQuMzYzIDk5LjA5Ny05OS4wOTcgOTkuMDk3em0wLTI2NC4yNTlDNDQuMzYyIDI4Mi44MzggMCAyMzguNDc2IDAgMTgzLjc0MXM0NC4zNjItOTkuMDk3IDk5LjA5Ny05OS4wOTcgOTkuMDk3IDQ0LjM2MyA5OS4wOTcgOTkuMDk3YzAgNTQuNzM1LTQ0LjM2MyA5OS4wOTctOTkuMDk3IDk5LjA5N3ptMjMxLjIyNSAzNjMuMzU2aDYyNy42MTJjMzYuNTAxIDAgNjYuMDY1IDI5LjU2NCA2Ni4wNjUgNjYuMDY1cy0yOS41NjQgNjYuMDY1LTY2LjA2NSA2Ni4wNjVIMzMwLjMyMmMtMzYuNTAxIDAtNjYuMDY1LTI5LjU2NC02Ni4wNjUtNjYuMDY1czI5LjU2NC02Ni4wNjUgNjYuMDY1LTY2LjA2NXptNjI3LjYxMy0xMzIuMTI5SDMzMC4zMjJjLTM2LjUwMSAwLTY2LjA2NS0yOS41NjQtNjYuMDY1LTY2LjA2NSAwLTM2LjQ5OSAyOS41NjQtNjYuMDY1IDY2LjA2NS02Ni4wNjVoNjI3LjYxMmMzNi41MDEgMCA2Ni4wNjUgMjkuNTY1IDY2LjA2NSA2Ni4wNjUuMDAyIDM2LjUwMS0yOS41NjIgNjYuMDY1LTY2LjA2MyA2Ni4wNjV6bTAtMjY0LjI1OEgzMzAuMzIyYy0zNi41MDEgMC02Ni4wNjUtMjkuNTY1LTY2LjA2NS02Ni4wNjVzMjkuNTY0LTY2LjA2MyA2Ni4wNjUtNjYuMDYzaDYyNy42MTJjMzYuNTAxIDAgNjYuMDY1IDI5LjU2NCA2Ni4wNjUgNjYuMDYzcy0yOS41NjIgNjYuMDY1LTY2LjA2MyA2Ni4wNjV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6krSIgZ2x5cGgtbmFtZT0ibG9jYWxpemFjaW9uIiBkPSJNNDE3Ljg4MSAyOTcuODE4bDIzLjc0Ny01OS4zODNjLTIyLjk5Ny05LjE4OS00NS45MzMtMTYuMTkxLTY4LjMxLTIwLjg3MmwtMTMuMDY2IDYyLjYxNGMxOC43NTMgMy45NTMgMzguMTI3IDkuODgxIDU3LjYyOSAxNy42NDF6bS0xOTAuNDQtNzYuNjk3YzIzLjQzNi02Ljc0NyA0OC4xMy0xMC4zNzMgNzMuMzc1LTEwLjc0NmwxLjAwNSA2My45OTJjLTE5LjYyOS4zMjMtMzguNjkgMy4wNjItNTYuNjg4IDguMjQzbC0xNy42OTItNjEuNDg5em01MDMuOTMyIDExMS42OTRjMTguNDQ3LTMuNjM2IDM2LjQ0My05Ljk0OSA1My41MDQtMTguNzU1bDI5LjM5MiA1Ni44NzJjLTIyLjUwOCAxMS41NjMtNDYuMTk1IDE5Ljg3Ni03MC41MTQgMjQuNjMzbC0xMi4zODItNjIuNzQ5em0tMTMzLjUwMiA1Mi40OTdsMTkuMTM3LTYwLjk5OGMxOS41NTEgNi4xMjcgMzguODc2IDkuOTk3IDU3LjQ5IDExLjQ5NWwtNS4xMTEgNjMuNzU0Yy0yMy4zODEtMS44OC00Ny40NDQtNi42OTYtNzEuNTE2LTE0LjI1MnptLTEwMi43NDItNDguMTI2Yy03LjE4NC00LjUwMi0xNC4yNTItOC42MTctMjEuMTkxLTEyLjQ5OGwzMS4xMjktNTUuODg2YzcuODExIDQuMzk0IDE1LjgwOSA5LjAwMyAyMy44MDYgMTQuMDA3IDExLjAwNCA2LjgxNSAyMS43NTggMTIuODgyIDMyLjMxNyAxOC4yNjJsLTI5LjA2NyA1Ni45OWE1MTkgNTE5IDAgMDEtMzYuOTk0LTIwLjg3NHptMTc2Ljg3OSAzOTguODEzYzAtMjYuMTI1LTYuMjY0LTUwLjg3Ni0xNy4zODQtNzIuNjNMNTEyLjAwMyAzODQuMDAzUzM2OC4yNTMgNjY1LjY5IDM2Ny42OTIgNjY2Ljg3Yy0xMC4wNjcgMjAuODc2LTE1LjY4NSA0NC4zNzgtMTUuNjg1IDY5LjEyOSAwIDg4LjM3NCA3MS42MjIgMTYwIDE1OS45OTYgMTYwIDg4LjM2OCAwIDE2MC4wMDQtNzEuNjI2IDE2MC4wMDQtMTYwem0tNjQgMGMwIDUzLjAwMS00My4wMDQgOTYuMDAzLTk2LjAwMyA5Ni4wMDMtNTMuMDAxIDAtOTYuMDAzLTQzLjAwMi05Ni4wMDMtOTYuMDAzIDAtNTIuOTk1IDQzLjAwMi05NS45OTcgOTYuMDAzLTk1Ljk5NyA1Mi45OTkgMCA5Ni4wMDMgNDMuMDAyIDk2LjAwMyA5NS45OTd6bTIyMy45OTYtMTYwSDY4MS44ODdsLTMyLjcwMS02NC4wMDNoMTM2LjY5Mmw2OS4wNjYtMjA3LjI1NC0yMi4wNjItMjQuMzc4YzIzLjUwMi0yMS4yMzUgMzUuNjg1LTQwLjgwNyAzNS43NTMtNDAuODc1bDYuNzQ3IDQuMDU4TDkzNS4xOTggNjRIODguNzVsNjQuMTMgMTkyLjE4MmMyLjI1LTEuNTY0IDMuOTk1LTMuMDYyIDYuNDk2LTQuNjE4bDM0LjAwNSA1NC4xMjRjLTcuNjI3IDQuODE2LTEzLjg3OCA5LjU2NC0xOS4zOCAxMy45OTZsNjQuMTMyIDE5Mi4zMTNoMTM2Ljc0NUEzNTQ5Ny44NCAzNTQ5Ny44NCAwIDAwMzQyLjE5MiA1NzZIMTkyLjAwNEwuMDAyLS4wMDNoMTAyNC4wMDJMODMyLjAwNiA1NzUuOTk4eiIvPjxnbHlwaCB1bmljb2RlPSLupK4iIGdseXBoLW5hbWU9ImxvY2FsaXphY2lvbjIiIGQ9Ik04MzIgODY0Yy04OC4zNzYgMC0xNjAtNzEuNjI2LTE2MC0xNjAgMC0yMy44NzYgNS4yNS00Ni41NjIgMTQuNjI0LTY2Ljg3Nkw4MzIgMzUybDE0NS4zNzYgMjg1LjEyNkM5ODYuNzUgNjU3LjQzOCA5OTIgNjgwLjEyNCA5OTIgNzA0YzAgODguMzc0LTcxLjYyNCAxNjAtMTYwIDE2MHptMC0yNTZjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTYgOTYtNDMgOTYtOTYtNDMtOTYtOTYtOTZ6bTQ3Ljg3Ni0zMDIuOTM4bDU4LjI1LTExNi40MzgtMTQ3LjY4OC03My44MTItNDkuNSAyNDcuNjI0IDkuMTg4IDkuMTg4LTMwLjUgNjBMNzA0IDQxNiA1MTIgNTQ0IDMyMCA0MTYgMTkyIDU0NCAwIDE2MCAyNTYgMzJsMjU2IDEyOEw3NjggMzJsMjU2IDEyOC0xMDggMjE1LjkzOC0zNi4xMjQtNzAuODc2ek0yMzMuNSAxMTQuODEyTDg1Ljg3NCAxODguNjI0IDIwOS41IDQzNmw3My41NjItNzMuNTYyTDIzMy41IDExNC44MTJ6TTQ4MCAyMTUuNTYybC0xNzktODkuNSA0Ni4yNSAyMzEuMTg4TDQ4MCA0NDUuNzVWMjE1LjU2MnptNjQgMFY0NDUuNzVsMTMyLjY4OC04OC41IDQ2LjI1LTIzMS4xODhMNTQ0IDIxNS41NjJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kryIgZ2x5cGgtbmFtZT0ibG9jYWxpemFjaW9uMyIgZD0iTTk0MS45MDUgNjQ4LjIzOWMtMTEuNzg2LTIyLjc2Ny0yNS40MTEtNDUuODQzLTM5Ljc3My02OC4zMDVsLTUuNzAzLTguODM0Yy0xMi4wOTItMTguNTM5LTI0LjU4My0zNi41NjEtMzYuODQtNTMuNTQgNDcuMTI2LTI5LjA2NSA3My4zODgtNjIuNzcgNzMuMzg4LTk1LjYyOSAwLTQxLjMyMi00MS40OTEtODMuOTkyLTExMy44MzktMTE3LjA3MS0yMy43NTUtMTAuODYxLTQ5LjkwOS0yMC4yNTMtNzcuODUtMjguMTc4IDUuNDUgMzYuNjY4IDguODI0IDc0Ljg3NSAxMC4wMTYgMTEzLjk1Ni0yLjc1Ny0uNzUtNS42MDktMS4xODUtOC41MjYtMS4xODVhMzIuNDc2IDMyLjQ3NiAwIDAwLTI0LjUxMSAxMS4xNzJjLTQuNDY5IDUuMTQxLTE2LjAyNSAxOC41ODEtMzEuNTgyIDM3Ljc0OS4wOTEtNS40NjkuMTc1LTEwLjk0Mi4xNzUtMTYuNDQ0IDAtNTYuMTQ4LTQuODA3LTExMC41Mi0xMy45MS0xNjAuOTQ5LTUwLjQyNi05LjEtMTA0Ljc5Ny0xMy45MS0xNjAuOTQyLTEzLjkxLTU2LjE1NSAwLTExMC41MyA0LjgwNy0xNjAuOTY1IDEzLjkxLTkuMSA1MC40MjktMTMuOTA3IDEwNC44LTEzLjkwNyAxNjAuOTQ5czQuODA3IDExMC41MiAxMy45MDcgMTYwLjk0OWM1MC40MzIgOS4xIDEwNC44MSAxMy45MSAxNjAuOTY1IDEzLjkxIDIwLjk4MSAwIDQxLjcxMi0uNjcyIDYyLjA4Mi0xLjk4OC0xMy42MjUgMjIuMDk4LTI2LjMxNyA0NC41ODMtMzcuMDY0IDY2LjYwMy04LjMwOC4yMDUtMTYuNjM5LjM0MS0yNS4wMTguMzQxLTUwLjAwMyAwLTk4Ljg1Ny0zLjYzOC0xNDUuMjY1LTEwLjUzMyA3LjkyMSAyNy45NDQgMTcuMzE3IDU0LjA5OSAyOC4xNzggNzcuODUzQzQyOCA4MDEuNDA3IDQ3MC42NyA4NDIuOTAxIDUxMS45OTIgODQyLjkwNGguMDFjLjc5NiAwIDEuNTk1LS4wNDUgMi4zOTQtLjA3NWEyMzguMDA0IDIzOC4wMDQgMCAwMDMwLjUzMyA2My44OTFjLTEwLjg4My43MzEtMjEuODU1IDEuMTQtMzIuOTIzIDEuMTRINTExLjk4N2MtMjY3LjkzNS0uMDEtNDg1LjkxOC0yMTcuOTkzLTQ4NS45MTgtNDg1LjkzMVMyNDQuMDQ5LTYzLjk5MyA1MTEuOTkxLTY0LjAwMkg1MTIuMDFjMjY3LjkzOCAwIDQ4NS45MjIgMjE3Ljk4NyA0ODUuOTIyIDQ4NS45MzEuMDAzIDgxLjY3LTIwLjI4MyAxNTguNjgyLTU2LjAyNSAyMjYuMzA4ek0zNzAuODE5IDgxOC41MjJjLTEyLjU2Ni0xOC4yMjctMjQuMjgxLTM5LjA2NS0zNC45NzItNjIuNDQ2LTE2LjE4MS0zNS4zOTUtMjkuNDQ4LTc1LjMyMy0zOS42NDYtMTE4LjM1NC00My4wMjQtMTAuMTk4LTgyLjk1Mi0yMy40NjItMTE4LjM0Ny0zOS42NDMtMjMuMzgxLTEwLjY5Mi00NC4yMjUtMjIuNDA3LTYyLjQ1Mi0zNC45NzYgNDIuMzk3IDExOC43NCAxMzYuNjc4IDIxMy4wMjEgMjU1LjQxOCAyNTUuNDE4ek0yMDQuODY2IDUzOS4wMDVjMjMuNzU1IDEwLjg2MSA0OS45MDYgMjAuMjUgNzcuODQ3IDI4LjE3NS02Ljg5NS00Ni40MDItMTAuNTI5LTk1LjI0OS0xMC41MjktMTQ1LjI0OXMzLjYzNC05OC44NDQgMTAuNTI5LTE0NS4yNDVjLTI3Ljk0MSA3LjkyMS01NC4wOTIgMTcuMzE0LTc3Ljg0NCAyOC4xNzUtNzIuMzQ4IDMzLjA4Mi0xMTMuODQyIDc1Ljc1Mi0xMTMuODQyIDExNy4wNzEtLjAwMyA0MS4zMjIgNDEuNDkxIDgzLjk5NSAxMTMuODM5IDExNy4wNzR6bS04OS40NjUtMjU4LjI0M2MxOC4yMjctMTIuNTY2IDM5LjA3MS0yNC4yODQgNjIuNDUyLTM0Ljk3NiAzNS4zOTEtMTYuMTgxIDc1LjMyLTI5LjQ0OCAxMTguMzQ3LTM5LjY0NiAxMC4xOTgtNDMuMDI3IDIzLjQ2NS04Mi45NTkgMzkuNjQ2LTExOC4zNTQgMTAuNjkyLTIzLjM4MSAyMi40MDctNDQuMjE5IDM0Ljk3Mi02Mi40NDZDMjUyLjA3OCA2Ny43MzcgMTU3Ljc5NCAxNjIuMDIxIDExNS40IDI4MC43NjF6TTUxMi4wMDIuOTU2aC0uMDFDNDcwLjY3Ljk1OSA0MjggNDIuNDUzIDM5NC45MjEgMTE0Ljc5NWMtMTAuODYxIDIzLjc1NS0yMC4yNTMgNDkuOTA5LTI4LjE3OCA3Ny44NTMgNDYuNDA4LTYuODk1IDk1LjI1OC0xMC41MzMgMTQ1LjI2NS0xMC41MzMgNDkuOTk3IDAgOTguODQxIDMuNjM0IDE0NS4yMzkgMTAuNTI5LTcuOTIxLTI3Ljk0NC0xNy4zMTctNTQuMDk2LTI4LjE3OC03Ny44NUM1OTUuOTkzIDQyLjQ0OSA1NTMuMzIuOTU1IDUxMi4wMDIuOTU1em0xNDEuMTY2IDI0LjM3NWMxMi41NjYgMTguMjI3IDI0LjI4NyAzOS4wNzEgMzQuOTc5IDYyLjQ1NSAxNi4xODQgMzUuMzk1IDI5LjQ1MSA3NS4zMjMgMzkuNjQ5IDExOC4zNTQgNDMuMDI3IDEwLjE5NSA4Mi45NTkgMjMuNDY1IDExOC4zNTQgMzkuNjQ2IDIzLjM4MSAxMC42OTIgNDQuMjIyIDIyLjQwNyA2Mi40NDkgMzQuOTc2LTQyLjM5Ny0xMTguNzUtMTM2LjY4NC0yMTMuMDM3LTI1NS40MzEtMjU1LjQzMXptOTAuNjkyIDQzMi4yMjZhOS43NCA5Ljc0IDAgMDE3LjUzMiAzLjU2M2MyOS45MzggMzYuNDczIDE3OS4yNzkgMjIyLjkzIDE3OS4yNzkgMzEyLjA3NiAwIDEwMy4wMDQtODMuODAzIDE4Ni44MDUtMTg2LjgwOCAxODYuODA1cy0xODYuODA1LTgzLjgtMTg2LjgwNS0xODYuODA1YzAtODkuMTgyIDE0OS4zMzQtMjc1LjYxMyAxNzkuMjctMzEyLjA3NmE5Ljc0IDkuNzQgMCAwMTcuNTMyLTMuNTYzek02NDMuMTgxIDc4NC4wNjljMCA1NS41MTUgNDUuMTY3IDEwMC42ODIgMTAwLjY4MiAxMDAuNjgyczEwMC42ODItNDUuMTY3IDEwMC42ODItMTAwLjY4Mi00NS4xNjctMTAwLjY4Mi0xMDAuNjgyLTEwMC42ODItMTAwLjY4MiA0NS4xNjQtMTAwLjY4MiAxMDAuNjgyeiIvPjxnbHlwaCB1bmljb2RlPSLupLAiIGdseXBoLW5hbWU9ImxvY2FsaXphY2lvbjQiIGQ9Ik04OTYuMDAzIDMyMC4wMDFINzY4VjQ0OGgxMjguMDAzVjMyMC4wMDF6TTY3Mi4wMDggNzk5Ljk5N2MwLTIzLjg3NS01LjI1OS00Ni41NjQtMTQuNjI3LTY2Ljg3N0w1MTIuMDAzIDQ0OC4wMDMgMzY2LjYyNSA3MzMuMTI5Yy05LjM3MiAyMC4zMDQtMTQuNjE3IDQyLjk5My0xNC42MTcgNjYuODY5IDAgODguMzc4IDcxLjYyMSAxNjAuMDAzIDE1OS45OTUgMTYwLjAwMyA4OC4zNyAwIDE2MC4wMDYtNzEuNjMgMTYwLjAwNi0xNjAuMDAzem0tNjQuMDAxIDBjMCA1Mi45OTktNDMuMDA0IDk2LjAwMy05Ni4wMDMgOTYuMDAzLTUzLjAwMSAwLTk2LjAwMy00My4wMDItOTYuMDAzLTk2LjAwM3M0My4wMDItOTUuOTk5IDk2LjAwMy05NS45OTljNTIuOTk5IDAgOTYuMDAzIDQyLjk5OCA5Ni4wMDMgOTUuOTk5ek0xMDI0IDcwMy45OThWNjQuMDAzQzEwMjQtNi42OTYgOTY2LjY4NS02NCA4OTYuMDA1LTY0SDEyOC4wMDFDNTcuMzE3LTY0IC4wMDItNi42OTYuMDAyIDY0LjAwM3Y2MzkuOTk1YzAgNzAuNjg0IDU3LjMxNSAxMjguMDAzIDEyNy45OTkgMTI4LjAwM0gyOTEuMjVjLTEuNDk2LTEwLjQ5OS0zLjI1LTIxLjAwNS0zLjI1LTMyLjAwNyAwLTEwLjgxIDEuOTk5LTIxLjM3MiAzLjUwOC0zMS45OTZoLTM1LjUwNFY1NzUuOTk2aDExOC44NzRsMzIuNjI1LTY0LjAwM0gyNTYuMDAydi0yNTZoMzgzLjk5M3YyNTYuMDAyaC0yMy41NWw4Ny41NjEgMTcxLjc1NFY1NzUuOTk1aDI1Ni4wMDJ2MTI3Ljk5OWMwIDM1LjMwOS0yOC42OTMgNjQuMDAzLTY0LjAwMyA2NC4wMDNINzMyLjU2NGMxLjU2NiAxMC42MjQgMy40MzggMjEuMTIzIDMuNDM4IDMxLjk5NiAwIDExLjAwMi0xLjY4NCAyMS41MDUtMy4yNSAzMi4wMDdoMTYzLjI1M0M5NjYuNjg1IDgzMiAxMDI0IDc3NC42ODEgMTAyNCA3MDMuOTk3ek0xOTIuMDA0IDE5Mi4wMDZINjQuMDA1VjY0LjAwM0M2NC4wMDUgMjguNjgzIDkyLjc1NSAwIDEyOC4wMDEgMGg2NC4wMDN2MTkyLjAwNnptMCAzMTkuOTlINjQuMDA1di0yNTZoMTI3Ljk5OXYyNTZ6bTAgMjU2LjAwMmgtNjQuMDAzYy0zNS4yNDYgMC02My45OTYtMjguNjkxLTYzLjk5Ni02NC4wMDNWNTc1Ljk5NmgxMjcuOTk5djE5Mi4wMDJ6bTQ0Ny45OTMtNTc1Ljk5MkgyNTYuMDA0VjBoMzgzLjk5M3YxOTIuMDA2em0zMjAuMDExIDBoLTI1NlYwaDE5MS45OTdjMzUuMzA5IDAgNjQuMDAzIDI4LjY4MyA2NC4wMDMgNjQuMDAzdjEyOC4wMDN6bTAgMzE5Ljk5aC0yNTZ2LTI1NmgyNTZ2MjU2eiIvPjxnbHlwaCB1bmljb2RlPSLupLEiIGdseXBoLW5hbWU9Im1hbm8iIGQ9Ik0xMzEuNDE3IDM2Ni45ODZjLjAwMyAyNC41MjIgMTAuMDk4IDQ4Ljk0NiAyOS44NzUgNjYuNTE2IDM2LjcxMyAzMi41OTcgOTIuOTE1IDI5LjI4MiAxMjUuNDk2LTcuNDM0bDMxLjQ4Ny0zNS40MzJ2NDAxLjE3MWMwIDQ5LjEwNyAzOS43ODkgODguOTEzIDg4LjkwNiA4OC45MTMgNDkuMDg4IDAgODguOTA2LTM5LjgwNSA4OC45MDYtODguOTEzVjU4My44MzRjMTMuMjgyIDcuODc1IDI4LjcwOCAxMi40OCA0NS4yNiAxMi40OCAzNy43MTggMCA2OS44OS0yMy41MiA4Mi44MDQtNTYuNzEzIDEzLjgyMSA4Ljg1MiAzMC4xOTYgMTQuMDQ3IDQ3LjgyMyAxNC4wNDcgNDMuNDUzIDAgNzkuNTY5LTMxLjE1NyA4Ny4zMjEtNzIuMzQyIDEzLjA1NCA3LjUxMyAyOC4xNTMgMTEuODg3IDQ0LjI4MyAxMS44ODcgNDkuMDg4IDAgODguOTA2LTM5LjgyMSA4OC45MDYtODguOTE2bC4wODItMjE3Ljk0MWMwLTk0LjQ2OS04NS41NTEtMTcxLjAzOC0xOTEuMDU3LTE3MS4wMzhINTEwLjUxM2MtNTcuMTgyIDAtMTIzLjcxMyAzNi4xMzMtMTYyLjcxIDc0LjMwMkwxNTMuODUxIDMwNy45NzNjLTE1LjAzNiAxNi45MzktMjIuNDM1IDM4LjAxLTIyLjQzNSA1OS4wMTV6bS03OS4yODcuMDA2Yy0uMDAzLTQxLjE5OCAxNS4wNzQtODAuODYgNDIuNDU3LTExMS42NzhMMjg4LjUzIDM2Ljk0NGE3OS41OTUgNzkuNTk1IDAgMDEzLjgyMi00LjAxNWMyNi4xOS0yNS42MzUgNjAuMTM1LTQ5LjE1NSA5NS41ODUtNjYuMjMzIDQxLjY4My0yMC4wODIgODQuMDc2LTMwLjY5NCAxMjIuNTg0LTMwLjY5NGgxOTAuOTk2YzcwLjU3MiAwIDEzNy4zMzggMjQuOTY5IDE4Ny45NzcgNzAuMzA2IDUzLjExIDQ3LjU1MyA4Mi4zNjcgMTExLjQ4MSA4Mi4zNjcgMTgwLjAyM2wtLjA3OSAyMTcuOTczYzAgOTIuNzEyLTc1LjQ1IDE2OC4xNjUtMTY4LjE5IDE2OC4xNjUtLjgxOCAwLTEuNjQtLjAwNi0yLjQ0OC0uMDE5LTMxLjEyMiAzNy4yNDktNzcuODYzIDYwLjQ2MS0xMjkuMTYyIDYwLjQ2MS01LjkzMSAwLTExLjgzMy0uMzE0LTE3LjY5NC0uOTM5YTE2Ni4zNzIgMTY2LjM3MiAwIDAxLTE2Ljg2IDEzLjQyOGMtMTguODM1IDEzLjE0OS0zOS44NzIgMjIuMTY5LTYyLjA0NCAyNi43Mjl2MTE5LjY2YzAgOTIuNzQ0LTc1LjQ1MyAxNjguMTk3LTE2OC4xOSAxNjguMTk3LTkyLjc0MSAwLTE2OC4xOTctNzUuNDUzLTE2OC4xOTctMTY4LjE5N1Y1MzQuMTY2Yy0yLjg4My4zMjctNS43OTEuNTcxLTguNzE1LjczNi00NC44MzggMi42NTgtODguMDMxLTEyLjMxMi0xMjEuNjE3LTQyLjEyNy0zNS45MzMtMzEuODk2LTU2LjUyOS03Ny43MzktNTYuNTM1LTEyNS43ODR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ksiIgZ2x5cGgtbmFtZT0ibWFubzIiIGQ9Ik01MTEuODU3IDgzNC4yODRjNzEuMzA0IDAgNTEuMDI1LTEwOS45NTggNTQuNDIyLTE4Ny4xNTIgMi41MjQtNTcuMzY1LTYuMDMzLTE0Ni40OTMgMjIuMTAyLTE1MS41MDlhMTUuMTcgMTUuMTcgMCAwMTIuNjg5LS4yNDNjMzIuNjM5IDAgMzcuMzI2IDExMS4zNjIgNDEuNTExIDEzOS4xMjQgNi42NTYgNDQuNDIyIDEyLjQ2MyAxMzMuNjA3IDM0LjcyMyAxNDguMzgzIDguMzM1IDUuNTMyIDE5LjgyOCA4LjIxNyAzMS43NDggOC4yMTcgMjIuMzAyIDAgNDYuMDk4LTkuNDAyIDUzLjQ2My0yNy4xNTcgMTEuOTY2LTI4Ljg1OC0xNi4xMDEtMTIyLjI0My0yMi4wOTgtMTU3Ljg1Ny04LjMwMy00OS41NjctMzMuODQ5LTE0MS40MDUgOS40NzQtMTQyLjAzOS4xMjIgMCAuMjQzLS4wMDQuMzY5LS4wMDQgMjMuOTA2IDAgMzQuOTYzIDM1LjY4NiA0OC43NjIgNzEuMzc5IDEzLjc5OSAzNS42ODYgMzAuMzQ0IDcxLjM3OSA2NS4yMDMgNzEuMzc5IDIuODExIDAgNS43MzYtLjIyOSA4Ljc5LS43MTMgNTcuNjItOS4wOTEgMjAuMDUtOTIuMjgyIDYuMzE5LTEyOS40MTEtNDguOTczLTEzMi4zNzUtNzMuNDctMjAzLjc2Mi0xMjMuMTMxLTMzNy43NzctNi4yOC0xNi45MjEtMjEuNTk0LTY0LjE1LTI1LjI1Ni02Ni4yOTktMTcuNjE5LTEwLjMzLTE0NC4xNTgtMTIuNjI4LTE2NC4xMzctMTIuNjI4LTM2LjgxNyAwLTEyNC4yNjYuNjk1LTE2NC4xMzcgMTIuNjI4LTE3LjUyMyA1LjIzOC01MS43NzMgNTUuODgtNjYuMzAyIDc1Ljc2OS01MC42NDEgNjkuMzI4LTY2LjczOSA5OS40MTQtMTE5Ljk2OSAxNjQuMTM3LTIxLjgxNSAyNi41NDktNTkuMDM4IDU4LjU2NS01OS45NTQgNzguOTI3LTEuMzI4IDI5LjE0MSAzMi44NjUgNDkuODUgNTAuNDggNTAuNTA5LjUyMy4wMTggMS4wNDUuMDI5IDEuNTY4LjAyOSAzMC4wMjkgMCA1Ny44Ny0zMS4wNTMgNzcuMzU5LTUwLjUzOCA5LjIyMy05LjIyMyA0NC40OTctNTcuOTM4IDY3LjE0NC01Ny45MzggMS45MjMgMCAzLjc1Mi4zNTQgNS40NzEgMS4xMSAyMi40MTMgOS44ODktMy45MjEgNjYuNzE4LTEyLjYyOCA4OC40MDEtMjYuMDc2IDY0Ljk0Mi00Ni42OTYgMTEwLjQzOC02OS40NTcgMTY3LjI5NS0xMC41NzcgMjYuNDU2LTMwLjU1OSA2NS42MDQtMjguNDE0IDg4LjM5NyAyLjg2NCAzMC4zMDUgMjguODgzIDQ3LjU5NSA1NC43MzcgNDcuNTk1YTU3LjA5IDU3LjA5IDAgMDA1LjI0OS0uMjRjNDYuNzI0LTQuMzI1IDYwLjIwNS03OS41NjEgNzUuNzY5LTExNi44MTEgMTEuNTU4LTI3LjcyIDIzLjU1Mi02NC44NDkgNDQuMi0xMDAuOTk2LS4wMzIgMCAxMy44MS0yNS4zMDYgMjEuNDkzLTI1LjMwNi4xOTcgMCAuMzg3LjAxOC41NzYuMDUgMjEuNzE5IDMuODUzIDEzLjAwOCAxMjEuOTYgMTIuNjI4IDE1Ny44MjUtLjgyIDc5LjY4Ni0yNy44NDkgMTgxLjYzMSA0Ny4zNTUgMTkyLjU1MSA0LjIxNC42MTIgOC4xNzguOTEzIDExLjg4LjkxM3ptMCA3NS4xODljLTcuMzQ3IDAtMTQuOTkxLS41NzMtMjIuNzIxLTEuNzAxLTU4LjExNC04LjQzOS05OC45MjctNDcuNjQxLTExMS45MzUtMTA3LjU0OS0yLjA0OC05LjQ0Mi0zLjM4LTE5LjA3My00LjE3NS0yOC44MTUtMjMuNjg4IDIwLjY1NS00OC42ODcgMjcuNzItNjguMTQzIDI5LjUyMS00LjA1Ny4zNzItOC4xMzguNTU5LTEyLjE3Ny41NTktNjcuNjQ1LS4wMDQtMTIzLjM1Ni00OS43NS0xMjkuNTktMTE1LjcwOC0zLjUwNS0zNy4yMzMgMTIuNTQyLTc0LjUwOSAyNi43MDYtMTA3LjM5OCAyLjUzMS01Ljg3NSA0LjkyMy0xMS40MjUgNi43NDYtMTUuOTg3IDYuNTE2LTE2LjI4NCAxMi43ODItMzEuNDYxIDE5LjA1MS00Ni40MzhhMTIyLjAyNSAxMjIuMDI1IDAgMDEtMjEuNDIyIDEuMTMyYy0zMS45NDgtMS4xOTktNjYuNzA3LTE4LjIwNi05MC43OTktNDQuMzktMjIuMDctMjMuOTgyLTMzLjQ1NS01NC4wNTQtMzIuMDYzLTg0LjY4MSAxLjg5LTQyLjEyNyAzMC43MzQtNzMuMDIzIDU4LjYyOS0xMDIuOTAxIDYuOTc1LTcuNDY5IDEzLjU1OS0xNC41MjYgMTguMzQyLTIwLjM0NCAzMi4xNDUtMzkuMDg3IDQ5LjYwMy02NC4zMDggNzEuNzA1LTk2LjIzOCAxMi41OTktMTguMjAzIDI2Ljg3OC0zOC44MzMgNDUuNjM2LTY0LjUxMiAxLjcxOS0yLjM1MiAzLjczMS01LjE2NyA1Ljk3Ni04LjI5OSAzNS45ODMtNTAuMjY5IDYyLjM0OS04NC4wNSA5OS41MDctOTUuMTU3IDM1Ljk2Mi0xMC43NjMgOTQuOTcxLTE1Ljc3OSAxODUuNjczLTE1Ljc3OSAxMS43MDQgMCA0OS44MDQuNjQxIDg2LjgxMSAyLjU0MiA3NC42MTIgMy44MzEgOTcuMzg0IDkuODgyIDExNS4zNSAyMC40MTIgMjQuNzMgMTQuNTAxIDMzLjE5IDM2Ljk2OCAzOS45ODYgNTUuMDI3IDMuNzY3IDEwLjAxMSA3LjkxNiAyMS45NTkgMTEuNTc1IDMyLjQ5OSAyLjQzNSA3LjAwNyA0LjczIDEzLjYyNyA2LjE1OCAxNy40NjkgMjUuNDM1IDY4LjYzMyA0NC41OTEgMTIxLjczNCA2My4xMTkgMTczLjA4NSAxNy43NTkgNDkuMjI3IDM2LjEyNiAxMDAuMTM0IDYwLjA0IDE2NC43NzEgMS4wNjcgMi44ODIgMi4yODggNi4wNTQgMy41OTUgOS40NjcgMTcuMDYxIDQ0LjQ0IDQyLjgzNiAxMTEuNTk4IDEwLjQwMSAxNjcuNzM2LTE2LjQzNCAyOC40NDMtNDQuNTMgNDcuMTExLTc5LjExNyA1Mi41NjhhMTMxLjg5MyAxMzEuODkzIDAgMDEtMjAuNTA5IDEuNjMzYy0xMC43NDggMC0yMS4yMzktMS4zOTMtMzEuMzIyLTQuMTAzIDkuMjQ4IDQ3LjcyNyAxMS43MDEgODQuNDA1LS45MzEgMTE0Ljg2LTE4LjUzNiA0NC42OC02Ni43NzggNzMuNTQ5LTEyMi45MTYgNzMuNTQ5LTI3LjUwOCAwLTUyLjg2MS03LjE3OS03My4zMjMtMjAuNzU2YTk2LjI1MSA5Ni4yNTEgMCAwMS00LjI3OS0zLjAwOGMtNS43ODIgMTEuNDc1LTEzLjE2OSAyMi4xNjMtMjIuNTkyIDMxLjc1MS0yMi42MjggMjMuMDE1LTUyLjcxNSAzNS4xODUtODYuOTk3IDM1LjE4NXoiLz48Z2x5cGggdW5pY29kZT0i7qSzIiBnbHlwaC1uYW1lPSJtYXBhIiBkPSJNOTc2IDgzOEw3NTIgOTQyYy00IDItMTAgMi0xNiAycy0xMiAwLTE2LTJsLTIxMC05OC0yMTAgOThjLTQgMi0xMCAyLTE2IDJzLTEyIDAtMTYtMkw0MiA4MzhjLTE0LTYtMjItMjItMjItMzZWMTIyYzAtMjAgMTYtMzggMzgtMzggNiAwIDEwIDIgMTYgNGwyMTAgOTYgMjEwLTk2YzQtMiAxMC00IDE2LTRzMTIgMiAxNiA0bDIxMCA5NiAyMDgtOTZjNi0yIDEwLTQgMTYtNCAyMiAwIDM4IDE4IDM4IDM4djY4MGMwIDE0LTggMzAtMjIgMzZ6TTI0NiAyNTBMOTYgMTgydjU5NmwxNTAgNzBWMjUwem0yMjYtNjhsLTE1MCA2OHY1OThsMTUwLTcwVjE4MnptMjI2IDY4bC0xNTAtNjh2NTk2bDE1MCA3MFYyNTB6bTIyNC02OGwtMTQ4IDY4djU5OGwxNDgtNzBWMTgyeiIvPjxnbHlwaCB1bmljb2RlPSLupLQiIGdseXBoLW5hbWU9Im1hcyIgZD0iTTgyNCA1ODBjMzYgMCA2NC0zMCA2NC02NnMtMjgtNjYtNjQtNjZINTc2VjIwMGMwLTM2LTMwLTY0LTY2LTY0cy02NiAyOC02NiA2NHYyNDhIMTk2Yy0zNiAwLTY2IDMwLTY2IDY2czMwIDY2IDY2IDY2aDI0OHYyNDhjMCAzNiAzMCA2NiA2NiA2NnM2Ni0zMCA2Ni02NlY1ODBoMjQ4eiIvPjxnbHlwaCB1bmljb2RlPSLupLUiIGdseXBoLW5hbWU9Im1hczIiIGQ9Ik01NDQuMjg5IDY4Ni42NTFjLTguNTU0IDcuODc1LTE5Ljc1NSAxMi45NjYtMzIuMzEzIDEyLjk0My0xMi41MzYgMC0yMy43NTktNS4wNjktMzIuMzExLTEyLjk0My05LjUyNS04Ljc1Ny0xNS43MDItMjEuMDg4LTE1LjY3OS0zNS4wNDlsLjAyMy0xNTUuNjA3LTE1NS42MDkuMDIzYy0xMy45ODQgMC0yNi4yNy02LjE3Ny0zNS4wNDktMTUuNjgyLTcuODc1LTguNTUyLTEyLjk2Ni0xOS43NTMtMTIuOTQzLTMyLjMxMSAwLTEyLjUzOCA1LjA2OS0yMy43NTkgMTIuOTQzLTMyLjMxMyA4Ljc1NS05LjUyNSAyMS4wNjYtMTUuNjc5IDM1LjA0OS0xNS42NzlsMTU1LjYwNy0uMDIzVjI0NC40MjNjMC0xMy45ODQgNi4xNzktMjYuMjcyIDE1LjY4Mi0zNS4wNDkgOC41NTItNy44NzcgMTkuNzU1LTEyLjk2NiAzMi4zMTEtMTIuOTQzIDEyLjUzNiAwIDIzLjc1OSA1LjA2OSAzMi4zMTEgMTIuOTQzIDkuNTI1IDguNzU1IDE1LjY3OSAyMS4wNjYgMTUuNjc5IDM1LjA0OVY0MDAuMDFoMTU1LjYzMmMxMy45ODQgMCAyNi4yNyA2LjE3NyAzNS4wNDkgMTUuNjc5IDcuODc1IDguNTU0IDEyLjk2NiAxOS43NTUgMTIuOTQxIDMyLjMxMSAwIDEyLjUzNi01LjA2OSAyMy43NTktMTIuOTQxIDMyLjMxMS04Ljc1NSA5LjUyNS0yMS4wNjYgMTUuNjgyLTM1LjA0OSAxNS42ODJINTU5Ljk5VjY1MS41OGMuMDAyIDEzLjk4NC02LjE1MiAyNi4yOTItMTUuNyAzNS4wNzJ6TTE0OS45NjEgODEwLjAzOWMtMTk5LjkzNi0xOTkuOTM2LTE5OS45MzYtNTI0LjE0MSAwLTcyNC4wNzdzNTI0LjE0MS0xOTkuOTM2IDcyNC4wNzcgMCAxOTkuOTM2IDUyNC4xNDEgMCA3MjQuMDc3Yy0xOTkuOTM2IDE5OS45MzQtNTI0LjE0MSAxOTkuOTM0LTcyNC4wNzcgMHptNjU2LjE5NS02NTYuMTk1Yy0xNjIuMTkxLTE2Mi4xOTMtNDI2LjExOS0xNjIuMTkzLTU4OC4zMTMgMC0xNjIuMTkzIDE2Mi4xOTEtMTYyLjE5MyA0MjYuMTE5IDAgNTg4LjMxM3M0MjYuMTE5IDE2Mi4xOTMgNTg4LjMxMyAwYzE2Mi4xOTMtMTYyLjE5MyAxNjIuMTkzLTQyNi4xMjEgMC01ODguMzEzeiIvPjxnbHlwaCB1bmljb2RlPSLupLYiIGdseXBoLW5hbWU9Im1lZGlyLWFyZWEiIGQ9Ik05ODUuMTU5IDMxOC44NjZINDMuNzJWLTM0LjE3OGg5NDEuNDM5djM1My4wNDR6TTEwMi41NiAyNC42NjZ2MjM1LjM2aDg4LjI2di0xMTcuNjhoNTguODR2MTE3LjY4aDU4Ljg0di01OC44NGg1OC44NHY1OC44NGg1OC44NHYtMTE3LjY4aDU4Ljg0djExNy42OGg1OC44NHYtNTguODRoNTguODR2NTguODRoNTguODR2LTExNy42OGg1OC44NHYxMTcuNjhoNTguODR2LTU4Ljg0aDU4Ljg0djU4Ljg0aDg4LjI2M1YyNC42NjZIMTAyLjU1OHptMjkzLjMyIDM5OC4yMzVoLTI0LjI4NkwyMzMuMDkyIDY2Mi43OTggMzcxLjYgOTAyLjY5NWgyNzYuOTk5bDEzOC41MTQtMjM5Ljg5Ny0xMzguNTA4LTIzOS44OTdIMzk1Ljg4em0yMDQuMTU2IDg0LjEyMWw4OS45NCAxNTUuNzc2LTg5Ljk0IDE1NS43ODJINDIwLjE2bC04OS45NC0xNTUuNzgyIDg5Ljk0LTE1NS43NzZoMTc5Ljg3NnoiLz48Z2x5cGggdW5pY29kZT0i7qS3IiBnbHlwaC1uYW1lPSJtZWRpci1saW5lYSIgZD0iTTk4My45MDMgNjc5LjgzOGMuMDk5IDUzLjY4OC00My40MiA5Ny4yNy05Ny4xMTQgOTcuMzA2LTM5LjQ1NC4wNi03My4yNjMtMjMuNDk2LTg4LjU0OS01Ny4yNDJsLTU4NC4xOTIuMTg5Yy0xNS4yMTMgMzMuNzYxLTQ4Ljk4MyA1Ny4zOTItODguNDI1IDU3LjQzNC01My43MDYuMDU3LTk3LjI3Ni00My40Mi05Ny4zMy05Ny4xMDgtLjA1MS01My43MjEgNDMuNDItOTcuMjk3IDk3LjEyOS05Ny4zMjQgMzkuNDU3LS4wNjYgNzMuMjgxIDIzLjQ4NCA4OC41NjEgNTcuMjNsNTg0LjE5Mi0uMTg5YzE1LjIwNC0zMy43NjEgNDguOTY1LTU3LjM5MiA4OC40MjUtNTcuNDEzIDUzLjcwMy0uMDg3IDk3LjI2NyA0My40MTQgOTcuMzAzIDk3LjExN3ptMS4yNTYtMzYwLjk3Mkg0My43MlYtMzQuMTc1aDk0MS40Mzl2MzUzLjA0MXpNMTAyLjU2IDI0LjY2NnYyMzUuMzZoODguMjZ2LTExNy42OGg1OC44NHYxMTcuNjhoNTguODR2LTU4Ljg0aDU4Ljg0djU4Ljg0aDU4Ljg0di0xMTcuNjhoNTguODR2MTE3LjY4aDU4Ljg0di01OC44NGg1OC44NHY1OC44NGg1OC44NHYtMTE3LjY4aDU4Ljg0djExNy42OGg1OC44NHYtNTguODRoNTguODR2NTguODRoODguMjZWMjQuNjY2SDEwMi41NTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kuCIgZ2x5cGgtbmFtZT0ibWVub3MiIGQ9Ik04MjQgNDQ0SDE5NmMtNDAgMC03MCAzMC03MCA3MHMzMCA3MCA3MCA3MGg2MjhjNDAgMCA3MC0zMCA3MC03MHMtMzAtNzAtNzAtNzB6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kuSIgZ2x5cGgtbmFtZT0ibWVub3MyIiBkPSJNNTU5Ljk5MSA0MDAuMDA3aDE1NS42MzJjMTMuOTg0IDAgMjYuMjcgNi4xNzcgMzUuMDQ5IDE1LjY3OSA3Ljg3NSA4LjU1NCAxMi45NjYgMTkuNzU1IDEyLjk0MSAzMi4zMTEgMCAxMi41MzYtNS4wNjkgMjMuNzU5LTEyLjk0MSAzMi4zMTEtOC43NTUgOS41MjUtMjEuMDY2IDE1LjY4Mi0zNS4wNDkgMTUuNjgySDU1OS45OTF6bTguNDY0IDk1Ljk4NmwtMjYwLjA1Ny4wMjNjLTEzLjk4NCAwLTI2LjI3LTYuMTc3LTM1LjA0OS0xNS42ODItNy44NzUtOC41NTItMTIuOTY2LTE5Ljc1My0xMi45NDMtMzIuMzExIDAtMTIuNTM4IDUuMDY5LTIzLjc1OSAxMi45NDMtMzIuMzEzIDguNzU1LTkuNTI1IDIxLjA2Ni0xNS42NzkgMzUuMDQ5LTE1LjY3OWwyNjAuMDU3LS4wMjN6TTE0OS45NjEgODEwLjAzOWMtMTk5LjkzNi0xOTkuOTM2LTE5OS45MzYtNTI0LjE0MSAwLTcyNC4wNzdzNTI0LjE0MS0xOTkuOTM2IDcyNC4wNzcgMCAxOTkuOTM2IDUyNC4xNDEgMCA3MjQuMDc3Yy0xOTkuOTM2IDE5OS45MzQtNTI0LjE0MSAxOTkuOTM0LTcyNC4wNzcgMHptNjU2LjE5NS02NTYuMTk1Yy0xNjIuMTkxLTE2Mi4xOTMtNDI2LjExOS0xNjIuMTkzLTU4OC4zMTMgMC0xNjIuMTkzIDE2Mi4xOTEtMTYyLjE5MyA0MjYuMTE5IDAgNTg4LjMxM3M0MjYuMTE5IDE2Mi4xOTMgNTg4LjMxMyAwYzE2Mi4xOTMtMTYyLjE5MyAxNjIuMTkzLTQyNi4xMjEgMC01ODguMzEzeiIvPjxnbHlwaCB1bmljb2RlPSLupLoiIGdseXBoLW5hbWU9Im1lbnUiIGQ9Ik0xNTYgNzYwYy00MCAwLTcwIDMwLTcwIDcwczMwIDcyIDcwIDcyaDcwNmM0MCAwIDcyLTMyIDcyLTcycy0zMi03MC03Mi03MEgxNTZ6bTcwNi0xNzRjNDAgMCA3Mi0zMiA3Mi03MnMtMzItNzAtNzItNzBIMTU2Yy00MCAwLTcwIDMwLTcwIDcwczMwIDcyIDcwIDcyaDcwNnptMC0zMThjNDAgMCA3Mi0zMCA3Mi03MHMtMzItNzItNzItNzJIMTU2Yy00MCAwLTcwIDMyLTcwIDcyczMwIDcwIDcwIDcwaDcwNnoiLz48Z2x5cGggdW5pY29kZT0i7qS7IiBnbHlwaC1uYW1lPSJtdW5kbyIgZD0iTTUxMiA5MjUuOTk4Yy0yNjMuNjEyLS4wMjItNDc3Ljk3OC0yMTQuMzg0LTQ3OC00NzggLjAyMi0yNjMuNjAyIDIxNC4zOTQtNDc3Ljk2OCA0NzgtNDc4IDI2My42MTQuMDMyIDQ3Ny45NzIgMjE0LjM5OCA0NzguMDAyIDQ3OC0uMDMgMjYzLjYxMi0yMTQuMzk0IDQ3Ny45NzYtNDc4LjAwMiA0Nzh6bS0xNS45NS04MzguOTZjLTkuMTM4IDUuMzA4LTE5LjczNiAxNS41OC0zMC4xMDQgMzAuNDUtMTAuNDAyIDE0Ljg1Mi0yMC42MzggMzQuMTgtMjkuODggNTcuMjE0LTI0LjczOCA2MS41MTYtNDAuMjYgMTQyLjIwOC00NC4wODQgMjI5Ljg0MmgyNDAuMDQ0Yy0zLjgyNi04Ny42MzItMTkuMzQ2LTE2OC4zMjYtNDQuMDktMjI5Ljg0Mi0xMi4zMS0zMC43MDgtMjYuNDYtNTQuODQtNDAuMjY4LTcwLjUzOC02Ljg4Mi03Ljg1OC0xMy42NDYtMTMuNTY4LTE5LjcyOC0xNy4xMjYtNi4xMTgtMy41NzItMTEuMzc4LTQuOTg0LTE1Ljk0Mi00Ljk4NC00LjU2NiAwLTkuODI2IDEuNDEyLTE1Ljk0OCA0Ljk4NHpNMzA1LjAxMiA0MDQuNTVjMy45OTQtOTguMjMgMjEuMzQtMTg5Ljc4MiA1MC40MDItMjYyLjIyOCA5LjkyNi0yNC42ODQgMjEuMDE4LTQ2LjU1NiAzMy4yMzYtNjUuNDQ4LTE0Mi4xMyA0Ny4zNTQtMjQ4LjMyOCAxNzQuMzItMjY1LjMzMiAzMjcuNjc2aDE4MS42OTR6bS0xODEuNjk2IDg2LjkxMmMxNy4wMDQgMTUzLjM1NCAxMjMuMTk4IDI4MC4zMjIgMjY1LjMzIDMyNy42NzgtMTIuMjE4LTE4Ljg5OC0yMy4zMTYtNDAuNzY2LTMzLjIzOC02NS40NDgtMjkuMDYyLTcyLjQ0NC00Ni40MDQtMTY0LTUwLjQwMi0yNjIuMjMydi4wMDJoLTE4MS42OXptNTk1LjY2Ni0uMDA4Yy0zLjk4NCA5OC4yMzYtMjEuMzM2IDE4OS43OTItNTAuMzk4IDI2Mi4yMzgtOS45MiAyNC42OC0yMS4wMTQgNDYuNTQ2LTMzLjIzIDY1LjQ0MiAxNDIuMTM4LTQ3LjM1NiAyNDguMzIyLTE3NC4zMjQgMjY1LjMzMi0zMjcuNjc4SDcxOC45ODJ6bS04Ni45NjItLjAwMkgzOTEuOTcyYzMuODI0IDg3LjYzOCAxOS4zNCAxNjguMzI0IDQ0LjA4NCAyMjkuODQ4IDEyLjMwNCAzMC43MDggMjYuNDYyIDU0Ljg0MiA0MC4yNjggNzAuNTMyIDYuODc4IDcuODY0IDEzLjYzOCAxMy41NzYgMTkuNzIyIDE3LjEyOCA2LjEyNiAzLjU3NCAxMS4zODYgNC45ODQgMTUuOTQ4IDQuOTkgNC41NjItLjAwNCA5LjgzLTEuNDE2IDE1Ljk0NC00Ljk5IDkuMTQ4LTUuMzA4IDE5Ljc0LTE1LjU3OCAzMC4xMS0zMC40NDggMTAuMzk4LTE0Ljg0MiAyMC42MzYtMzQuMTc2IDI5Ljg4LTU3LjIwOCAyNC43NS02MS41MjggNDAuMjY0LTE0Mi4yMTYgNDQuMDkyLTIyOS44NTJ6bTMuMzQyLTQxNC41ODJjMTIuMjE4IDE4Ljg5NCAyMy4zMSA0MC43NjYgMzMuMjI2IDY1LjQ0NiAyOS4wNjYgNzIuNDQ4IDQ2LjQwOCAxNjMuOTkyIDUwLjQwMiAyNjIuMjIyaDE4MS42OThDODgzLjY4MiAyNTEuMjA0IDc3Ny40NzggMTI0LjI0IDYzNS4zNjIgNzYuODd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kvCIgZ2x5cGgtbmFtZT0ibXVuZG8yIiBkPSJNMTAyNCA0NTIuOUMxMDIxLjU0OSA3MzIuNzg0IDc5My4xMDkgOTYwIDUxMS45OTkgOTYwIDIzMS41MDMgOTYwIDIuNDUxIDczMi43ODUgMCA0NTIuMjg3di00Ljg5Ny0zLjY3NEMyLjQ1MSAxNjMuMjE4IDIzMC44ODktNjMuOTk3IDUxMS45OTktNjMuOTk3YzI4MC40OTggMCA1MDkuNTUgMjI3LjIxNSA1MTEuOTk5IDUwNy4xdjQuMjg4Yy4wMDIgMS4yMjMuMDAyIDQuMjg2LjAwMiA1LjUxMXpNMzMxLjMzIDg0Ny45MjRjLTQwLjQyMi01OC43OTQtNzEuNjU1LTEzNy4xODctODguODAzLTIyNy44MjctMjcuNTU5LTYuMTI1LTUzLjg5NC0xMy40NzUtNzguMzkzLTIyLjA0OC0yOS4zOTgtMTAuNDEyLTU0LjUwOC0yMC44MjMtNzQuNzE3LTMxLjg0NyAzNS41MiAxMjUuNTQ5IDEyNC45MzcgMjI4LjQzOSAyNDEuOTEzIDI4MS43MjF6TTczLjQ5NCA0NDguNjEzYzAgMjAuMjExIDM1LjUyIDUyLjY2OSAxMTQuNTI3IDc5LjYxNiAxMy40NzUgNC44OTkgMjguMTczIDkuMTg3IDQyLjg3IDEyLjg2MS0zLjA2Mi0zMC4wMS00LjI4OC02MS4yNDQtNC4yODgtOTMuMDkxczEuODM3LTYzLjA4MSA0LjI4OC05My4wOTFjLTE1LjMxMiA0LjI4OC0yOS4zOTggOC41NzMtNDIuODcgMTIuODYxLTc5LjAwNyAyOC4xNzUtMTE0LjUyNyA2MC42MzMtMTE0LjUyNyA4MC44NDR6bTE2LjUzNS0xMTcuNTg4YzIwLjIxMS0xMS4wMjQgNDQuNzA3LTIyLjA0OCA3NC43MTctMzEuODQ3IDIzLjg4NS03Ljk2MiA1MC4yMi0xNS4zMTIgNzguMzkzLTIyLjA0OCAxNy43Ni05MC42NCA0OC4zODMtMTY5LjY0NSA4OS40MTctMjI3LjgyNy0xMTguMjAxIDUzLjI4MS0yMDcuNjE4IDE1Ni4xNy0yNDIuNTI3IDI4MS43MjF6bTM4NS4yMjQtMzEzLjU3QzQzNi42NyAzMi43NjcgMzk4LjY5OSA3MS45NjMgMzY4LjY5IDEyOS41MzFjLTIwLjIxMSAzOS4xOTctMzYuNzQ2IDgzLjkwNC00Ny43NyAxMzMuNTEzIDQ4Ljk5NS03LjM1IDEwMS4wNTMtMTEuNjM2IDE1NC45NDctMTIuODYxVjE3LjQ1N2gtLjYxNHptMCAzMDYuMjJjLTU5LjQwNyAxLjgzNy0xMTYuMzY0IDYuNzM2LTE2OC40MjIgMTUuOTIzLTQuMjg4IDM1LjUyMy02LjczNiA3MS42NTUtNi43MzYgMTA5LjAxNHMyLjQ1MSA3NC4xMDUgNi43MzYgMTA5LjAxNGM1Mi4wNTcgOC41NzMgMTA5LjAxNCAxNC4wODYgMTY4LjQyMiAxNS45MjNWMzIzLjY3NHptMCAzMjMuMzY5Yy01My44OTQtMS4yMjUtMTA1Ljk1Mi01LjUxMS0xNTQuOTQ3LTEyLjg2MSAxMS42MzYgNDguOTk1IDI3LjU1OSA5NC4zMTYgNDcuNzcgMTMzLjUxMyAzMC4wMSA1Ny41NjggNjcuOTgxIDk2Ljc2NSAxMDYuNTYzIDExMi4wNzZWNjQ3LjA0NmguNjE0em00NTguNzE2LTgwLjg0MmMtMjAuMjExIDExLjAyNC00NC43MDcgMjIuMDQ4LTc0LjcxNyAzMS44NDctMjMuODg1IDcuOTYyLTUwLjIyIDE1LjMxMi03OC4zOTMgMjIuMDQ4LTE3Ljc2IDkwLjY0LTQ4LjM4MyAxNjkuNjQ1LTg5LjQxNyAyMjcuODI3IDExOC4yMDMtNTMuMjgzIDIwNy42MTgtMTU2LjE3MiAyNDIuNTI3LTI4MS43MjF6TTU0OC43NDcgODc5Ljc3YzM4LjU4My0xNS4zMTIgNzYuNTU0LTU0LjUwOCAxMDYuNTYzLTExMi4wNzYgMjAuMjExLTM5LjE5NyAzNi43NDYtODMuOTA0IDQ3Ljc3LTEzMy41MTMtNDguOTk1IDcuMzUtMTAxLjA1MyAxMS42MzYtMTU0Ljk0NyAxMi44NjFWODc5Ljc3aC42MTR6bTAtMzA2LjIyYzU5LjQwNy0xLjgzNyAxMTYuMzY0LTYuNzM2IDE2OC40MjItMTUuOTIzIDQuMjg4LTM1LjUyMyA2LjczNi03MS42NTUgNi43MzYtMTA5LjAxNHMtMi40NTEtNzQuMTA1LTYuNzM2LTEwOS4wMTRjLTUyLjA1Ny04LjU3My0xMDkuMDE0LTE0LjA4Ni0xNjguNDIyLTE1LjkyM3YyNDkuODc1em0wLTU1Ni4wOTV2MjMyLjcyNmM1My44OTQgMS4yMjUgMTA1Ljk1MiA1LjUxMSAxNTQuOTQ3IDEyLjg2MS0xMS42MzYtNDguOTk1LTI3LjU1OS05NC4zMTYtNDcuNzctMTMzLjUxMy0zMC42MjMtNTcuNTY2LTY4LjU5NC05Ni43NjMtMTA3LjE3Ny0xMTIuMDc0ek02OTIuNjcgNDkuMzAyYzQwLjQyMiA1OC43OTQgNzEuNjU1IDEzNy4xODcgODkuNDE3IDIyNy44MjcgMjcuNTU5IDYuMTI1IDUzLjg5NCAxMy40NzUgNzguMzkzIDIyLjA0OCAyOS4zOTggMTAuNDEyIDU0LjUwOCAyMC44MjMgNzQuNzE3IDMxLjg0N0M4OTkuMDYxIDIwNS40NzUgODA5LjY0NiAxMDIuNTg1IDY5Mi42NyA0OS4zMDN6bTE0My4zMDkgMzE5LjY5NGMtMTMuNDc1LTQuODk5LTI4LjE3My05LjE4Ny00Mi44Ny0xMi44NjEgMy4wNjIgMzAuMDEgNC4yODggNjEuMjQ0IDQuMjg4IDkzLjA5MXMtMS44MzcgNjMuMDgxLTQuMjg4IDkzLjA5MWMxNS4zMTItNC4yODggMjkuMzk4LTguNTczIDQyLjg3LTEyLjg2MSA3OS4wMDUtMjYuOTQ3IDExNC41MjctNTkuNDA3IDExNC41MjctNzkuNjE2IDAtMjAuMjEzLTM1LjUyMy01My44OTctMTE0LjUyNy04MC44NDR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kvSIgZ2x5cGgtbmFtZT0ib3BjaW9uZXMiIGQ9Ik0yMTcuMjEyIDc1MS42OTR2ODQuMTg1YzAgMjUuNzI0LTIwLjgyMSA0Ni41NDUtNDYuNTQ1IDQ2LjU0NXMtNDYuNTQ1LTIwLjgyMS00Ni41NDUtNDYuNTQ1di04NC4xODVDNTIuNTk3IDczMS4zNjkuMDAxIDY2NS41ODUuMDAxIDU4Ny42MzdTNTIuNTk3IDQ0My45MDUgMTI0LjEyMiA0MjMuNThWNjAuMTIyYzAtMjUuNjkzIDIwLjgyMS00Ni41NDUgNDYuNTQ1LTQ2LjU0NXM0Ni41NDUgMjAuODUyIDQ2LjU0NSA0Ni41NDVWNDIzLjU4YzcxLjUyNSAyMC4zMjUgMTI0LjEyMSA4Ni4wNzggMTI0LjEyMSAxNjQuMDU3IDAgNzcuOTQ4LTUyLjU5NiAxNDMuNzMyLTEyNC4xMjEgMTY0LjA1N3ptLTQ2LjU0NS0yNDEuNjMzYy00Mi43NiAwLTc3LjU3NiAzNC44MTYtNzcuNTc2IDc3LjU3NnMzNC44MTYgNzcuNTc2IDc3LjU3NiA3Ny41NzZjNDIuNzYgMCA3Ny41NzYtMzQuODE2IDc3LjU3Ni03Ny41NzZzLTM0LjgxNi03Ny41NzYtNzcuNTc2LTc3LjU3NnptMzg3Ljg3OC0zNy42NHYzNjMuNDU4YzAgMjUuNzI0LTIwLjgyMSA0Ni41NDUtNDYuNTQ1IDQ2LjU0NXMtNDYuNTQ1LTIwLjgyMS00Ni41NDUtNDYuNTQ1VjQ3Mi40MjFjLTcxLjUyNS0yMC4zMjUtMTI0LjEyMS04Ni4xMDktMTI0LjEyMS0xNjQuMDU3czUyLjU5Ni0xNDMuNzMyIDEyNC4xMjEtMTY0LjA1N1Y2MC4xMjJjMC0yNS42OTMgMjAuODIxLTQ2LjU0NSA0Ni41NDUtNDYuNTQ1czQ2LjU0NSAyMC44NTIgNDYuNTQ1IDQ2LjU0NXY4NC4xODVjNzEuNTI1IDIwLjMyNSAxMjQuMTIxIDg2LjEwOSAxMjQuMTIxIDE2NC4wNTdTNjMwLjA3IDQ1Mi4wOTYgNTU4LjU0NSA0NzIuNDIxek01MTIgMjMwLjc4OGMtNDIuNzYgMC03Ny41NzYgMzQuNzg1LTc3LjU3NiA3Ny41NzZTNDY5LjI0IDM4NS45NCA1MTIgMzg1Ljk0czc3LjU3Ni0zNC43ODUgNzcuNTc2LTc3LjU3NlM1NTQuNzYgMjMwLjc4OCA1MTIgMjMwLjc4OHptMzg3Ljg3OSA1MjAuOTA2djg0LjE4NWMwIDI1LjcyNC0yMC44MjEgNDYuNTQ1LTQ2LjU0NSA0Ni41NDVzLTQ2LjU0NS0yMC44MjEtNDYuNTQ1LTQ2LjU0NXYtODQuMTg1Yy03MS41MjUtMjAuMzI1LTEyNC4xMjEtODYuMDc4LTEyNC4xMjEtMTY0LjA1NyAwLTc3Ljk0OCA1Mi41OTYtMTQzLjczMiAxMjQuMTIxLTE2NC4wNTdWNjAuMTIyYzAtMjUuNjkzIDIwLjgyMS00Ni41NDUgNDYuNTQ1LTQ2LjU0NXM0Ni41NDUgMjAuODUyIDQ2LjU0NSA0Ni41NDVWNDIzLjU4Qzk3MS40MDQgNDQzLjkwNSAxMDI0IDUwOS42NTggMTAyNCA1ODcuNjM3YzAgNzcuOTQ4LTUyLjU5NiAxNDMuNzMyLTEyNC4xMjEgMTY0LjA1N3ptLTQ2LjU0Ni0yNDEuNjMzYy00Mi43NiAwLTc3LjU3NiAzNC44MTYtNzcuNTc2IDc3LjU3NnMzNC44MTYgNzcuNTc2IDc3LjU3NiA3Ny41NzZjNDIuNzYgMCA3Ny41NzYtMzQuODE2IDc3LjU3Ni03Ny41NzZzLTM0LjgxNi03Ny41NzYtNzcuNTc2LTc3LjU3NnoiLz48Z2x5cGggdW5pY29kZT0i7qS+IiBnbHlwaC1uYW1lPSJwYXBlbGVyYSIgZD0iTTkxMS4yODggODAwSDcwNC41Njd2OTZjMCAzNS4zMjgtMjguNjcyIDY0LTY0IDY0SDM4NC41NjljLTM1LjMyOCAwLTY0LTI4LjY3Mi02NC02NHYtOTZIMTEzLjg1Yy0yNi40OTcgMC00OC4wMDEtMjEuNDcxLTQ4LjAwMS00OC4wMDFTODcuMzUzIDcwNCAxMTMuODUgNzA0aDQ2LjcyMVYwYzAtMzUuMzYxIDI4LjY3Mi02NCA2NC02NGg1NzUuOTk4YzM1LjMyOCAwIDY0IDI4LjY3MiA2NCA2NHY3MDRoNDYuNzIxYzI2LjQ5NyAwIDQ4LjAwMSAyMS40NzEgNDguMDAxIDQ4LjAwMVM5MzcuNzgzIDgwMCA5MTEuMjg4IDgwMHptLTQ5NC43MTkgNjRoMTkxLjk5OHYtNjRINDE2LjU2OXY2NHpNNzY4LjU2NyAzMkgyNTYuNTY5djY3Mmg1MTEuOTk4VjMyem0tMjk2LjA1IDE0Ni4xMTl2MzU5LjMwN2MwIDIyLjg4NiAxNy4xNjQgNDAuMDUxIDQwLjA1MSA0MC4wNTEgMjIuODg4IDAgNDAuMDUzLTE3LjE2NCA0MC4wNTMtNDAuMDUxVjE3OC4xMTljMC0yMi44ODYtMTcuMTY0LTQwLjA1MS00MC4wNTMtNDAuMDUxLTIyLjg4Ni4wMDItNDAuMDUxIDE3LjE2Ni00MC4wNTEgNDAuMDUxem0xNTcuNjk2IDB2MzU5LjMwN2MwIDIyLjg4NiAxNy4xNjQgNDAuMDUxIDQwLjA1MSA0MC4wNTFzNDAuMDUzLTE3LjE2NCA0MC4wNTMtNDAuMDUxVjE3OC4xMTljMC0yMi44ODYtMTcuMTY0LTQwLjA1MS00MC4wNTMtNDAuMDUxLTIyLjg4Ni4wMDItNDAuMDUxIDE3LjE2Ni00MC4wNTEgNDAuMDUxem0tMzE1LjM5MiAwdjM1OS4zMDdjMCAyMi44ODYgMTcuMTY0IDQwLjA1MSA0MC4wNTEgNDAuMDUxczQwLjA1My0xNy4xNjQgNDAuMDUzLTQwLjA1MVYxNzguMTE5YzAtMjIuODg2LTE3LjE2NC00MC4wNTEtNDAuMDUzLTQwLjA1MS0yMi44ODYuMDAyLTQwLjA1MSAxNy4xNjYtNDAuMDUxIDQwLjA1MXoiLz48Z2x5cGggdW5pY29kZT0i7qS/IiBnbHlwaC1uYW1lPSJwaW4iIGQ9Ik00ODguNTQ0LTQyLjY3NGMtNi43NjIgMi4yMzItMTIuODIgNS4wMjgtMTguNzI1IDguMTk2LTExLjc0OSA2LjM1OS0yMi45OTcgMTQuMzA3LTM0LjgyNiAyMy43ODgtMjMuNTA1IDE4LjkzMi00OS4wOTEgNDQuMTQzLTc2LjA0MiA3NC4yMTctNTMuNzM3IDYwLjEwNy0xMTIuMzMxIDEzOS4zODctMTU5LjI2MyAyMjIuMDU2LTMxLjI0MiA1NS4xNzEtNTcuMzI4IDExMS42ODQtNzIuNzM3IDE2Ni4xODUtOC43NjMgMzEuMTgzLTE0LjA5NiA2MS43OTItMTQuMTI1IDkxLjcwMy0uMDE2IDEwOS45ODIgNDQuODQ3IDIxMC4wMzMgMTE3LjAzMyAyODIuMTQ1IDcyLjExIDcyLjE4NiAxNzIuMTYxIDExNy4wNDkgMjgyLjE0MyAxMTcuMDMzIDEwOS45NzYuMDE2IDIxMC4wMjQtNDQuODQ3IDI4Mi4xMzktMTE3LjAzMyA3Mi4xOC03Mi4xMTIgMTE3LjA0OS0xNzIuMTYzIDExNy4wMzMtMjgyLjE0NS0uMDU5LTM2LjgwMy04LjA1My03NC42NzYtMjAuNzUyLTExMy4zNC0xMi43NTctMzguNjM2LTMwLjQxNy03OC4wNjYtNTEuMDczLTExNy4xMjEtNDEuMzQxLTc4LjA1My05NC42NjctMTU0LjYwNC0xNDYuMTE3LTIxNi43MjMtMzQuMzg2LTQxLjQzNy02Ny42NzgtNzYuMjktOTcuNDQ2LTEwMS4zOTZDNTc4LjU2NC0xOS40NyA1NjMtMzAuNzcyIDU0NS41NzktMzguNzMxYy05LjQzNS00LjEtMTkuNjM2LTcuNzU0LTMzLjU3OS03LjkyMi05LjE1Ny4wNDMtMTYuNjkxIDEuNzktMjMuNDU2IDMuOTc5ek0yOTMuNTc3IDc2MS45MDFjLTU2LjA2Ni01Ni4xMzItOTAuNjI0LTEzMy4xNC05MC42NDItMjE4LjQyOS0uMDUxLTIyLjE3NCA0Ljk4MS01MC4wNDEgMTQuNzYyLTgwLjYzNCA5LjczNi0zMC42MTQgMjQuMDQ4LTYzLjk0NSA0MS40MzctOTcuNzg4IDM0Ljc0OC02Ny43MjkgODEuNzczLTEzNy40NjYgMTI3LjY2Ni0xOTQuODYxIDMwLjU1Mi0zOC4yNjcgNjAuNzIxLTcxLjE2NCA4NS42MjctOTQuMTQgMTQuMTQ4LTEzLjExMSAyNi43MjItMjIuOTcyIDM1LjMxOC0yOC4zNjFhNzQuNzkzIDc0Ljc5MyAwIDAxNC4yNTgtMi41MzFjNC43MjUgMi41OTUgMTIuMDU5IDcuNTM1IDIwLjU0MyAxNC4zODUgMTcuODA1IDE0LjI3NSA0MC44MzMgMzYuNjQ5IDY1LjM1NCA2NC4wOCA0OS4xOTMgNTQuOTA5IDEwNC45MTkgMTMwLjMzMyAxNDguMDI1IDIwNi40MTggMjguNzg1IDUwLjY3IDUxLjkyOSAxMDEuNzk4IDY0LjM5MSAxNDYuMTc0IDcuMTYgMjUuMzIxIDEwLjc3NSA0OC4zNTkgMTAuNzQ0IDY3LjI1Ni0uMDE4IDg1LjI4OS0zNC41NzYgMTYyLjI5OC05MC42NDIgMjE4LjQyMy01Ni4xMjUgNTYuMDY2LTEzMy4xMzQgOTAuNjI0LTIxOC40MTcgOTAuNjQyLTg1LjI4Ny0uMDE2LTE2Mi4yOTYtMzQuNTc0LTIxOC40MjMtOTAuNjM0em0yMTguNDI1LTQ1NC41MTljLTY1LjAxOC0uMDE4LTEyNC4yOTcgMjYuNTYzLTE2Ni44ODMgNjkuMjE2LTQyLjY1IDQyLjU4Mi02OS4yMzMgMTAxLjg2My02OS4yMTIgMTY2Ljg3OS0uMDIgNjUuMDE2IDI2LjU2MyAxMjQuMjk3IDY5LjIxMiAxNjYuODgzIDQyLjU4NiA0Mi42NTIgMTAxLjg2OCA2OS4yMzEgMTY2Ljg4MyA2OS4yMTJWNjg5LjQ2Yy00MC4zMjMtLjAxOC03Ni41NjItMTYuMjktMTAzLjE2NC00Mi44Mi0yNi41MzItMjYuNTk5LTQyLjgwMS02Mi44NDEtNDIuODItMTAzLjE2NC4wMTYtNDAuMzIzIDE2LjI4OC03Ni41NjIgNDIuODItMTAzLjE2IDI2LjYwMS0yNi41MzYgNjIuODQxLTQyLjgwMSAxMDMuMTY0LTQyLjgyIDQwLjMxOS4wMTggNzYuNTU4IDE2LjI4NCAxMDMuMTU4IDQyLjgyIDI2LjUzMiAyNi41OTUgNDIuODAxIDYyLjgzNyA0Mi44MiAxMDMuMTYtLjAxOCA0MC4zMjMtMTYuMjg4IDc2LjU2Mi00Mi44MiAxMDMuMTY0LTI2LjU5OSAyNi41MzItNjIuODQxIDQyLjgwMS0xMDMuMTU4IDQyLjgydjkwLjExMmM2NS4wMTIuMDE4IDEyNC4yOTEtMjYuNTYxIDE2Ni44NzctNjkuMjEyIDQyLjY1LTQyLjU4NCA2OS4yMzEtMTAxLjg2OCA2OS4yMTItMTY2Ljg4My4wMTgtNjUuMDE2LTI2LjU2My0xMjQuMjkzLTY5LjIxMi0xNjYuODc5LTQyLjU3Mi00Mi42NDEtMTAxLjgyNy02OS4yMTgtMTY2LjgxNi02OS4yMTZoLS4wNjF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgCIgZ2x5cGgtbmFtZT0icGluLW51ZXZvIiBkPSJNNjc4Ljg3OSA3MTAuMzYxYy00Mi41ODYgNDIuNjUyLTEwMS44NjUgNjkuMjMxLTE2Ni44NzcgNjkuMjEyLTY1LjAxNi4wMTgtMTI0LjI5NS0yNi41NjEtMTY2Ljg4MS02OS4yMTItNDIuNjUtNDIuNTg2LTY5LjIzMS0xMDEuODY4LTY5LjIxMi0xNjYuODgzLS4wMTgtNjUuMDE2IDI2LjU2My0xMjQuMjk1IDY5LjIxNi0xNjYuODc3IDQyLjU4Mi00Mi42NTQgMTAxLjg1OS02OS4yMzcgMTY2Ljg3Ny02OS4yMThoLjA2MWM2NC45ODktLjAwMiAxMjQuMjQ4IDI2LjU3NyAxNjYuODE2IDY5LjIxOCA0Mi42NSA0Mi41ODYgNjkuMjMxIDEwMS44NjEgNjkuMjEyIDE2Ni44NzcuMDE4IDY1LjAxNi0yNi41NjMgMTI0LjI5OS02OS4yMTIgMTY2Ljg4M3pNNjE1LjE2IDQ0MC4zMThjLTI2LjU5OS0yNi41MzYtNjIuODM3LTQyLjc5OS0xMDMuMTU4LTQyLjgyLTQwLjMyMS4wMi03Ni41NjIgMTYuMjg0LTEwMy4xNjQgNDIuODItMjYuNTMyIDI2LjYwMS00Mi44MDEgNjIuODM5LTQyLjgxOCAxMDMuMTYuMDE4IDQwLjMyMyAxNi4yODYgNzYuNTY0IDQyLjgxOCAxMDMuMTY0IDI2LjYwMSAyNi41MyA2Mi44NDMgNDIuODAxIDEwMy4xNjQgNDIuODIgNDAuMzE5LS4wMTggNzYuNTU4LTE2LjI4OCAxMDMuMTU4LTQyLjgyIDI2LjUzMi0yNi42MDEgNDIuODAxLTYyLjg0MSA0Mi44Mi0xMDMuMTY0LS4wMTgtNDAuMzIzLTE2LjI4OC03Ni41Ni00Mi44Mi0xMDMuMTZ6TTgzNiAzMDYuNzk3YzEuMTE2IDIuMDczIDIuMjU3IDQuMTM5IDMuMzU1IDYuMjEyIDIwLjY1NiAzOS4wNTUgMzguMzE2IDc4LjQ4MSA1MS4wNzMgMTE3LjEyMSAxMi43IDM4LjY2NCAyMC42OTMgNzYuNTM4IDIwLjc1MiAxMTMuMzQuMDE4IDEwOS45NzgtNDQuODQ3IDIxMC4wMjktMTE3LjAzMyAyODIuMTQ1LTcyLjExNCA3Mi4xODQtMTcyLjE2NyAxMTcuMDUxLTI4Mi4xNDMgMTE3LjAzNS0xMDkuOTgyLjAxNi0yMTAuMDMzLTQ0Ljg1MS0yODIuMTQ1LTExNy4wMzUtNzIuMTg2LTcyLjExNi0xMTcuMDQ5LTE3Mi4xNjEtMTE3LjAzNS0yODIuMTQ1LjAzMS0yOS45MTcgNS4zNjItNjAuNTIgMTQuMTI1LTkxLjcwMyAxNS40MDktNTQuNTAzIDQxLjQ5NS0xMTEuMDE0IDcyLjczNy0xNjYuMTg1IDQ2LjkzMi04Mi42NyAxMDUuNTI1LTE2MS45NSAxNTkuMjY1LTIyMi4wNTYgMjYuOTUyLTMwLjA3NyA1Mi41MzUtNTUuMjg2IDc2LjA0Mi03NC4yMTcgMTEuODI3LTkuNDggMjMuMDc3LTE3LjQyOCAzNC44MjYtMjMuNzg4IDUuOTA0LTMuMTcyIDExLjk2Mi01Ljk2MiAxOC43MjUtOC4xOTYgNi43NjctMi4xODcgMTQuMjk5LTMuOTM2IDIzLjQ2LTMuOTc3IDEzLjk0NS4xNjggMjQuMTQ0IDMuODIyIDMzLjU3OSA3LjkyMiAxNy40MiA3Ljk1OSAzMi45ODMgMTkuMjU5IDUwLjIwNyAzMy42MjIgMjEuMDA0IDE3LjcxMyA0My43NjYgNDAuMjk4IDY3LjQyNCA2Ni42MDVDNjg5LjExNS02LjkxNiA3NTUuMjM1LTU1LjU3MSA4MzIuNzI3LTU1LjU3MWMxMDAuMDY1IDAgMTgxLjIwMyA4MS4xMzYgMTgxLjIwMyAxODEuMjA1LS4wMDIgOTguOTc4LTc5LjM2MiAxNzkuNDE3LTE3Ny45MyAxODEuMTY0ek01OTcuODk5IDEyMy42MjFjLTI0LjUyMS0yNy40MzEtNDcuNTQ4LTQ5LjgwMy02NS4zNTQtNjQuMDgtOC40ODUtNi44NTEtMTUuODE5LTExLjc5LTIwLjU0My0xNC4zODNhNzcuMjAyIDc3LjIwMiAwIDAwLTQuMjU4IDIuNTI5Yy04LjU5MyA1LjM4OC0yMS4xNyAxNS4yNDktMzUuMzE2IDI4LjM2My0yNC45MDYgMjIuOTc3LTU1LjA3NyA1NS44NzEtODUuNjI5IDk0LjEzNC00NS44OTQgNTcuMzk5LTkyLjkxOCAxMjcuMTM4LTEyNy42NjYgMTk0Ljg2NS0xNy4zOSAzMy44MzktMzEuNzAxIDY3LjE3NC00MS40MzcgOTcuNzg4LTkuNzc5IDMwLjU5My0xNC44MTEgNTguNDU0LTE0Ljc2MiA4MC42MzQuMDIgODUuMjkxIDM0LjU3OCAxNjIuMjk0IDkwLjY0NCAyMTguNDIzIDU2LjEyNSA1Ni4wNjIgMTMzLjEzNCA5MC42MjQgMjE4LjQyMSA5MC42NCA4NS4yODUtLjAxOCAxNjIuMjkyLTM0LjU4IDIxOC40MTctOTAuNjQyIDU2LjA2Ni01Ni4xMyA5MC42MjQtMTMzLjEzOCA5MC42NDItMjE4LjQyMy4wMzMtMTguODk3LTMuNTg0LTQxLjkzNS0xMC43NDQtNjcuMjU2LTEyLjQ2Mi00NC4zOC0zNS42MDctOTUuNTA4LTY0LjM4OS0xNDYuMTc0LTQzLjEwNi03Ni4wODUtOTguODMyLTE1MS41MDktMTQ4LjAyNy0yMDYuNDE4em0zMDcuOTU0LTI5LjUxM2gtNDEuODAyVjUyLjQwM2MwLTE3LjQwNC0xMy45MTQtMzEuNTE3LTMxLjMxOC0zMS41MTctMTcuMzk4IDAtMzEuMzE2IDE0LjExMy0zMS4zMTYgMzEuNTE3djQxLjcyMmgtNDEuNzg1Yy0xNy40MDQgMC0zMS41ODggMTQuMTExLTMxLjU4OCAzMS41MjMgMCAxNy40MDQgMTQuMTYgMzEuNTEzIDMxLjU2NiAzMS41MTNoNDEuODA4djQxLjcwMWMwIDE3LjQxMiAxMy45MTggMzEuNTIxIDMxLjMxNiAzMS41MjEgMTcuNDEgMCAzMS4zMTgtMTQuMTA5IDMxLjMxOC0zMS41MjF2LTQxLjcxNmg0MS44MDJjMTcuNDA0IDAgMzEuNTI3LTE0LjEyMSAzMS41MjctMzEuNTI1cy0xNC4xMjMtMzEuNTEzLTMxLjUyNy0zMS41MTN6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgSIgZ2x5cGgtbmFtZT0icGluMiIgZD0iTTUxMS45OTcgOTMzLjJjLTE0NS4wMjEgMC0yNjIuNjMzLTExNy42MTUtMjYyLjYzMy0yNjIuNjM5IDAtMTMyLjE5NCA5OC4wMTItMjQwLjUwNSAyMjUuMTExLTI1OC44MjNWLTQyLjMxM2g3NS4wNDJ2NDU0LjA0OWMxMjcuMDY2IDE4LjMxOCAyMjUuMTI0IDEyNi42MjkgMjI1LjEyNCAyNTguODIzIDAgMTQ1LjAyNS0xMTcuNjIyIDI2Mi42NDEtMjYyLjY0NSAyNjIuNjQxem0tNzUuMDQyLTIyNS4xMmMtNDEuNDc2IDAtNzUuMDM0IDMzLjU2Ni03NS4wMzQgNzUuMDQyczMzLjU1OCA3NS4wMzYgNzUuMDM0IDc1LjAzNmM0MS40ODIgMCA3NS4wNDItMzMuNTYgNzUuMDQyLTc1LjAzNnMtMzMuNTYtNzUuMDQyLTc1LjA0Mi03NS4wNDJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgiIgZ2x5cGgtbmFtZT0icGluMyIgZD0iTTUxMi4wMDQgOTYwYy0yMjUuNjQyIDAtNDA4LjU0OS0xODIuOTE1LTQwOC41NDktNDA4LjU0OVM0NjkuODcxLTY0IDUxMi4wMDQtNjRjNDMuNzE1IDAgNDA4LjUzOSAzODkuODE4IDQwOC41MzkgNjE1LjQ1M0M5MjAuNTQ1IDc3Ny4wODUgNzM3LjYzMiA5NjAgNTEyLjAwNCA5NjB6TTIxOS4zNTEgNTYzLjMzNWMwIDE2Mi40MzMgMTMxLjY4IDI5NC4xMTMgMjk0LjExMSAyOTQuMTEzIDE2Mi40MzkgMCAyOTQuMTE1LTEzMS42OCAyOTQuMTE1LTI5NC4xMTMgMC04NC43ODctMzUuODgzLTE2MS4xODgtOTMuMjgyLTIxNC44Ni0uNDY5LS40NC03LjA2Mi0zLjcyOS04LjU3MSAxLjAyMmwtNDkuNTIzIDE1Mi44MTZjLTcuMTgyIDE5LjM0MS0yNi41ODEgMzAuMjU5LTQ2LjMyNiAzMC4yNTktOS44NTkgMC0xMC43NzctLjI2Mi0xNi42NDItLjI2Mkg0MTcuMDE3Yy0yMi41MyAwLTM5LjExMS0xMC42NTYtNDYuMjk1LTI5Ljk5N2wtNDkuOTY3LTE1MS45MzdjLTIuMjQ3LTYuMjEyLTcuNDY3LTIuNDc2LTcuNjMxLTIuMzIyLTU3Ljk0NiA1My43MTUtOTMuNzc0IDEzMC4wMzYtOTMuNzc0IDIxNS4yODJ6TTUxNC41OCA4MDAuNjY0YzY2Ljg1MSAwIDEyMS4wNDUtNTMuNjM1IDEyMS4wNDUtMTE5LjhzLTU0LjE5NC0xMTkuOC0xMjEuMDQ1LTExOS44Yy02Ni44NTMgMC0xMjEuMDQ1IDUzLjYzNS0xMjEuMDQ1IDExOS44czU0LjE5NCAxMTkuOCAxMjEuMDQ1IDExOS44eiIvPjxnbHlwaCB1bmljb2RlPSLupYMiIGdseXBoLW5hbWU9InBpbjQiIGQ9Ik0xMDA5LjQwOCA2NTEuMzI4bC0yOTQuMDE2IDI5NC4wOGMtOS4xNTIgOS4xODQtMjIuMjQgMTQuMDE2LTM0LjUyOCAxNC41OTItMTIuOTI4LS4xNi0yNS4yNDgtNi4wMTYtMzQuMTQ0LTE1LjM5Mi01Mi4wNjQtNTQuNTYtNzYuOTkyLTEyOC45MjgtNjkuMjE2LTIwMy4yMzJsLTk2LjczNi05Ni43NjhjLTQ2LjA4IDE3Ljg1Ni05NS42NDggMjcuMTY4LTE0NS4xODQgMjcuMTY4LTEwNi42ODggMC0yMDcuMDA4LTQxLjUzNi0yODIuMzM2LTExNi44NjRsLTcuMTY4LTcuMDcyYTQ3Ljk3NSA0Ny45NzUgMCAwMS0xNC4xMTItMzMuOTg0YzAtMTIuNzM2IDUuMDI0LTI0Ljk2IDE0LjA4LTMzLjk4NGwxOTYuNTc2LTE5Ni41NzZMNi45NzYtMTIuMDY0QzIuNTkyLTE3LjUzNiAwLTI0LjQ0OCAwLTMyYzAtMTcuNjk2IDE0LjMwNC0zMiAzMi0zMiA3LjU1MiAwIDE0LjQ5NiAyLjU5MiAxOS45MzYgNi45NzZsMjk1LjMyOCAyMzUuNjQ4TDU0My44NC0xNy45NTJhNDguMDYgNDguMDYgMCAwMTMzLjk1Mi0xNC4wOCA0Ny45MDcgNDcuOTA3IDAgMDEzMy45MiAxNC4wOGw3LjEzNiA3LjEzNmMxMTIuOCAxMTIuOCAxNDYuOTQ0IDI4MC44IDg5LjgyNCA0MjcuNjE2bDk2LjczNiA5Ni43MzZjNzQuNzItNy42OCAxNDguOTkyIDE3LjUwNCAyMDMuMiA2OS4xNTIgOS4zNDQgOC45MjggMTUuMjY0IDIxLjI0OCAxNS4zOTIgMzQuMTQ0LjE2IDEyLjkyOC01LjQ0IDI1LjM3Ni0xNC41OTIgMzQuNDk2ek04MzIgNjA4LjE5MmMtMTEuMTY4IDAtMjIuMzM2IDEuMTItMzMuMzQ0IDMuNDU2LTE1Ljg3MiAzLjM5Mi0zMi40MTYtMS41MzYtNDMuOTA0LTEzLjAyNEw2MTcuNiA0NjEuNDcyYy0xNC41MjgtMTQuNTI4LTE4LjIwOC0zNi43MzYtOS4xMi01NS4xNjggNTEuOTM2LTEwNS40MDggMzguMjcyLTIyOS44ODgtMzIuMzg0LTMyMC43NjhsLTQyNi41NiA0MjYuNTkyYzUyLjk2IDQxLjI4IDExNy43OTIgNjMuNjQ4IDE4Ni4wMTYgNjMuNjQ4IDQ2LjU5MiAwIDkzLjE4NC0xMC44MTYgMTM0Ljc1Mi0zMS4zMjggMTguMzY4LTkuMDU2IDQwLjU3Ni01LjQ0IDU1LjE2OCA5LjEyTDY2Mi42MjQgNjkwLjcyYzExLjQ4OCAxMS40ODggMTYuNDE2IDI4LjAzMiAxMi45OTIgNDMuOTA0LTIuMzM2IDExLjEzNi0zLjQ4OCAyMi4yNzItMy40ODggMzMuMzc2IDAgMjQuMDY0IDUuMzc2IDQ3Ljc0NCAxNS42NDggNjkuMjQ4bDIxMy40NzItMjEzLjUwNGMtMjEuMzEyLTEwLjIwOC00NS4xODQtMTUuNTUyLTY5LjI0OC0xNS41NTJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lhCIgZ2x5cGgtbmFtZT0icG9saWdvbm8iIGQ9Ik0yOTUuNzYgNTQuMjE4aC0yNC4yODNMMzIuODUxIDQ2Ny41MjMgMjcxLjQ4IDg4MC44MzdoNDc3LjIzNGwyMzguNjM1LTQxMy4zMTRMNzQ4LjcxNCA1NC4yMjFsLTQ1Mi45NTQtLjAwM3pNMTQ2LjQxOCA0NjcuNTIzbDE4MS44NDctMzE0Ljk1MSAzNjMuNjcuMDA2IDE4MS44NDEgMzE0Ljk0NS0xODEuODQxIDMxNC45NkgzMjguMjYybC0xODEuODQ0LTMxNC45NnoiLz48Z2x5cGggdW5pY29kZT0i7qWFIiBnbHlwaC1uYW1lPSJwb3NpY2lvbiIgZD0iTTY2My42NDYgMjU2LjIwN2MtMjEuODYxLTMxLjY0Ni00Mi4zNzMtNTkuMTM4LTU5LjQ1OS04MS4yMTMgMTY5LjQ5My0xMC4yMzUgMjgwLjU3NS00Ni44MjcgMzIxLjg3OC03NC4wMTktNDguMzktMzEuOTAzLTE5Mi4yNTMtNzYuNzgxLTQxNC4wMTEtNzYuNzgxcy0zNjUuNjY0IDQ0LjktNDE0LjA3NSA3Ni43ODFjNDEuMzI0IDI3LjIxNCAxNTIuMzIxIDYzLjc4NSAzMjEuNjQyIDczLjk3Ni0xNy4xMjkgMjIuMTE4LTM3LjY2MyA0OS41NjctNTkuNTQ1IDgxLjIxM0MxNTEuNDg2IDIzNS42My4wMDEgMTczLjkyMy4wMDEgMTAxLjAxN2MwLTg5LjcxNCAyMjkuMjUyLTE2Mi40NyA1MTIuMDExLTE2Mi40NyAyODIuNzggMCA1MTEuOTg5IDcyLjcxMyA1MTEuOTg5IDE2Mi40Ny4wNDMgNzIuOTQ5LTE1MS41OTMgMTM0LjY1Ni0zNjAuMzU0IDE1NS4xOXptLTIwNS40NDItNTguOTg4Yy0xMy42NiA5LjUyOC0yNy40NzEgMjEuNjI2LTQyLjI0NSAzNi4xMjEtMjkuMjY5IDI4LjkwNS02MS43NzIgNjcuNDI0LTkyLjg2MSAxMTAuODI1LTYxLjQ1MSA4Ny42MTUtMTE5LjA5IDE4OS42ODQtMTIwLjY3NSAyODEuODE3LjA4NiAxNjguODkzIDEzNy4xODMgMzA1LjkyNiAzMDYuMDEyIDMwNi4wMTIgMTY4Ljc4Ni0uMDg2IDMwNS45MjYtMTM3LjExOSAzMDYuMDEyLTMwNi4wMTItMS4xOTktODAuOTU2LTQ2LjA3Ny0xNjguNDQzLTk3LjgyOS0yNDguNTQzLTUzLjAxNS03OS43MzYtMTExLjg3NS0xNDcuNTAzLTE1Ny45OTUtMTgwLjIyLTE0LjIzOS04Ljk5My0yNS45MjktMTcuOTQzLTUwLjE2Ny0xOS4wOTl2NDIuODAxLTQyLjgyM2MtMjQuMjgxIDEuMTk5LTM1Ljk1IDEwLjEwNi01MC4yNTMgMTkuMTJ6TTI4OC4xMTIgNjI1Ljk4MmMtLjcwNy0zNi42MzUgMjIuMTM5LTk4LjUxNCA1Ni44OS0xNTcuOTczIDM0LjM0NC01OS44MjMgNzkuMjg2LTExOS4wMDUgMTE2LjY3MS0xNTguODMgMTguNTg1LTIwLjI3NyAzNi45NTYtMzUuNzc4IDQ2Ljc0MS00Mi41NDQuNDUuMy44OTkuNiAxLjM3Ljk0MiA3LjYyMiA1LjI0NiAxOC42NDkgMTQuNjAzIDMwLjkzOSAyNi43NjQgMjQuNzczIDI0LjM0NSA1NC45MiA1OS44ODggODMuMzMzIDk5LjY0OSA1Ny41OTcgNzguNjQ0IDEwNi4zMjkgMTc5LjA4NSAxMDQuNzQ1IDIzMS45OTItLjI1NyAxMjEuNDAzLTk5LjAwNiAyMjAuMTMxLTIyMC4zNjYgMjIwLjM0NS0xMjEuMzgxLS4yMTQtMjIwLjEwOS05OC45NDItMjIwLjMyMy0yMjAuMzQ1em0zNS41MjEgMGMuMDg2IDEwMi4wMDQgODIuNzc2IDE4NC43MTYgMTg0LjgwMiAxODQuODAydi04NS42NDZjLTU0LjUzNS0uMTI4LTk5LjAyOC00NC42MjEtOTkuMTEzLTk5LjE3OC4wODYtNTQuNDkyIDQ0LjU3OS05OS4wMjggOTkuMTEzLTk5LjExMyA1NC41MzUuMDg2IDk4Ljk4NSA0NC41NzkgOTkuMTEzIDk5LjExMy0uMTUgNTQuNTk5LTQ0LjU3OSA5OS4wMjgtOTkuMTEzIDk5LjExM3Y4NS43MzFjMTAxLjk4Mi0uMDg2IDE4NC42NzMtODIuNzU1IDE4NC43MzgtMTg0LjgwMi0uMDg2LTEwMS45ODItODIuNzU1LTE4NC42NzMtMTg0LjczOC0xODQuNzM4LTEwMi4wMjUuMDY0LTE4NC42OTUgODIuNzM0LTE4NC44MDIgMTg0LjcxNnoiLz48Z2x5cGggdW5pY29kZT0i7qWGIiBnbHlwaC1uYW1lPSJwb3NpY2lvbjIiIGQ9Ik04NzcuNzE0IDgyLjI4NnEwLTM2LTM1LjE0My02NC44NTd0LTkzLjcxNC00Ni4yODYtMTI4LjU3MS0yNi4yODZUNDc1LjQyOS02NHQtMTQ0Ljg1NyA4Ljg1Ny0xMjguNTcxIDI2LjI4Ni05My43MTQgNDYuMjg2LTM1LjE0MyA2NC44NTdxMCAyOCAxOC44NTcgNTAuNTcxdDUyIDM4IDY3LjQyOSAyNS40MjkgNzQuODU3IDE2Ljg1N3ExNC44NTcgMi44NTcgMjcuNDI5LTZ0MTQuODU3LTIzLjcxNHEyLjg1Ny0xNC44NTctNi0yNy40Mjl0LTIzLjcxNC0xNC44NTdxLTMzLjE0My01LjcxNC02MC41NzEtMTMuNDI5dC00My43MTQtMTQuNTcxLTI3LjcxNC0xMy40MjktMTUuNzE0LTExLjE0My00Ljg1Ny02Ljg1N3ExLjcxNC02LjI4NiAxNS40MjktMTUuMTQzdDQxLjcxNC0xOC44NTcgNjUuMTQzLTE4LjU3MSA5MS43MTQtMTQuMjg2IDExNS4xNDMtNS43MTQgMTE1LjE0MyA1LjcxNCA5MS43MTQgMTQuMjg2VDc0Ny40MzIgNDh0NDEuNzE0IDE5LjE0MyAxNS40MjkgMTUuNzE0cS0uNTcxIDIuMjg2LTQuODU3IDYuMjg2VDc4NC4wMDQgMTAwdC0yNy43MTQgMTMuNDI5LTQzLjcxNCAxNC4yODYtNjAuNTcxIDEzLjQyOXEtMTQuODU3IDIuMjg2LTIzLjcxNCAxNC44NTd0LTYgMjcuNDI5cTIuMjg2IDE0Ljg1NyAxNC44NTcgMjMuNzE0dDI3LjQyOSA2cTQwLjU3MS02Ljg1NyA3NC44NTctMTYuODU3dDY3LjQyOS0yNS40MjkgNTItMzggMTguODU3LTUwLjU3MXptLTIxOS40MjggNTEyVjM3NC44NTdxMC0xNC44NTctMTAuODU3LTI1LjcxNHQtMjUuNzE0LTEwLjg1N2gtMzYuNTcxVjExOC44NTdxMC0xNC44NTctMTAuODU3LTI1LjcxNHQtMjUuNzE0LTEwLjg1N0g0MDIuMjg3cS0xNC44NTcgMC0yNS43MTQgMTAuODU3dC0xMC44NTcgMjUuNzE0djIxOS40MjloLTM2LjU3MXEtMTQuODU3IDAtMjUuNzE0IDEwLjg1N3QtMTAuODU3IDI1LjcxNHYyMTkuNDI5cTAgMzAuMjg2IDIxLjQyOSA1MS43MTR0NTEuNzE0IDIxLjQyOWgyMTkuNDI5cTMwLjI4NiAwIDUxLjcxNC0yMS40Mjl0MjEuNDI5LTUxLjcxNHptLTU0Ljg1NyAyMTkuNDI4cTAtNTMuMTQzLTM3LjQyOS05MC41NzF0LTkwLjU3MS0zNy40MjktOTAuNTcxIDM3LjQyOS0zNy40MjkgOTAuNTcxIDM3LjQyOSA5MC41NzEgOTAuNTcxIDM3LjQyOVQ1NjYgOTA0LjI4NXQzNy40MjktOTAuNTcxeiIvPjxnbHlwaCB1bmljb2RlPSLupYciIGdseXBoLW5hbWU9InBvc2ljaW9uMyIgZD0iTTg5Ni4wMDMgMTI3Ljk5NWMwLTEzMS45MzUtMTk5LjA1Ny0xOTEuOTk3LTM4NC4wMDEtMTkxLjk5Ny0xODQuOTM0IDAtMzg0LjAwMyA2MC4wNjItMzg0LjAwMyAxOTEuOTk3IDAgMTA5LjEzMiAxMzYuMjUzIDE2OC45MzcgMjg3Ljk5OCAxODYuNDQxdi02NC45NGMtMTI5LjUyNy0xNi4zNjgtMjIzLjk5OC02NC4yNDctMjIzLjk5OC0xMjEuNTAxQzE5MS45OTkgNTcuMzE1IDMzNS4yMiAwIDUxMiAwYzE3Ni43NSAwIDMxOS45OTggNTcuMzE1IDMxOS45OTggMTI3Ljk5NSAwIDU3LjI1NC05NC40OTQgMTA1LjEzMy0yMjMuOTk4IDEyMS41MDF2NjQuOTRjMTUxLjc0My0xNy41MDQgMjg4LjAwMi03Ny4zMDkgMjg4LjAwMi0xODYuNDQxek01MTIgOTYwYy0xMjMuNjg5IDAtMjIzLjk5OC0xMDAuMzEyLTIyMy45OTgtMjI0LjAwMiAwLTExMi43NDcgODMuNTk0LTIwNS4xMjQgMTkxLjk5Ny0yMjAuNzQ1VjEyNy45OTZoNjQuMDAzdjM4Ny4yNTdjMTA4LjM3NCAxNS42MjEgMTkyLjAwNiAxMDcuOTk5IDE5Mi4wMDYgMjIwLjc0NUM3MzYuMDA4IDg1OS42ODcgNjM1LjY4OSA5NjAgNTEyIDk2MHptLTY0LjAwMy0xOTIuMDAyYy0zNS4zNzUgMC02My45OTYgMjguNjI4LTYzLjk5NiA2NC4wMDNzMjguNjIxIDYzLjk5NiA2My45OTYgNjMuOTk2YzM1LjM3OSAwIDY0LjAwMy0yOC42MjEgNjQuMDAzLTYzLjk5NnMtMjguNjI0LTY0LjAwMy02NC4wMDMtNjQuMDAzeiIvPjxnbHlwaCB1bmljb2RlPSLupYgiIGdseXBoLW5hbWU9InBvc2ljaW9uNCIgZD0iTTk5Mi4wMDYgNjcxLjk5OGMtMTMxLjU3LTQ4LjQ0LTIzMS44MDgtODIuOTM3LTMyMC4wMDEtMTkyLjAwMi03OC41NjktOTcuMTg1LTE5Mi4wMDYtMTMwLjg2OS0zMTkuOTk4LTY2LjgwOVY2NC4wMDRIMjg4djg2My45OTdjLS4wMDIgMTcuNjkgMTQuMzExIDMyIDMxLjk5OCAzMiAxNy42ODUgMCAzMi4wMDctMTQuMzExIDMyLjAwNy0zMiA3MS4wNTgtMTAzLjMxMSAxOTQuNTU3LTEyNi4xOTIgMzE5Ljk5OC0xMjguMDAzQzg2NCA3OTcuMTkxIDk5Mi4wMDYgNjcxLjk5OSA5OTIuMDA2IDY3MS45OTl6bS01NzYuMDA5LTQyNC41di02NS4xMTVDNDkxLjQ5NyAxNjYuOTM5IDU0NCAxMzQuMTc5IDU0NCA5NS45OTEgNTQ0IDQyLjk5MiA0NDMuNjgzLS4wMTIgMzE5Ljk5OC0uMDEyIDE5Ni4zMDktLjAxMiA5NiA0Mi45OTIgOTYgOTYuMDAxYzAgMzguMTc3IDUyLjQ5NyA3MC45MzUgMTI3Ljk5NSA4Ni4zODJ2NjUuMTE1QzEwNy43NTEgMjI3LjM3NSAzMS45OTMgMTcwLjk5NyAzMS45OTMgOTYuMDA0YzAtOTQuMTkgMTE4LjQzOS0xNjAuMDAzIDI4OC4wMDItMTYwLjAwMyAxNjkuNTU5IDAgMjg4LjAwNCA2NS44MTUgMjg4LjAwNCAxNjAuMDAzLjAwNCA3NC45OTQtNzUuNzYgMTMxLjM3MS0xOTIuMDA0IDE1MS40OTR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6liSIgZ2x5cGgtbmFtZT0icG9zaWNpb241IiBkPSJNNjQ3LjU5NiA1ODcuMDQ5bDU4LjgzMy0yMTEuMzk0YzIuNjU2LTkuNTQyIDEuNDY3LTE4Ljc3LTMuNTY1LTI3LjY4NHMtMTIuMzE5LTE0LjY5OC0yMS44NjItMTcuMzU0bC0zNS4yMzMtOS44MDUgNzkuODc3LTE0NS4xNjIgNDUuOTY5LTM5Ljk4NWMyLjY1NS05LjU0MiAxLjQ2Ni0xOC43Ny0zLjU2Ni0yNy42ODNzLTEyLjMxOS0xNC42OTgtMjEuODYyLTE3LjM1NGwtMTkuMzMyLTQuOTQ2cy0xMi42NjYtMy4xMS0yMS4wNDctMi4zNDktMTkuOTU5IDYuNTU1LTE5Ljk1OSA2LjU1NWwtNDEuNTUxIDIxLjE3NC01Ni41ODQgODYuMzY2TDY0Ny45NTYgODAuMzFzNS4yODEtOC40MDcgMS40NzEtMjAuNTk4Yy0zLjA0Ny0xMS4wNDgtMTIuMTktMTIuOTUzLTEyLjE5LTEyLjk1M2wtNDYuMTk5LTEzLjA3Yy05LjU0Mi0yLjY1NS0xOC43Ny0xLjQ2Ny0yNy42ODMgMy41NjUtOC45MTMgNS4wMzQtMTQuNjk5IDEyLjMyMS0xNy4zNTQgMjEuODYyTDQzNC4zNzUgMjYxLjk3OGwtMzUuMjMzLTkuODA1Yy05LjU0Mi0yLjY1NS0xOC43Ny0xLjQ2Ny0yNy42ODMgMy41NjVzLTE0LjY5OSAxMi4zMjEtMTcuMzU0IDIxLjg2MmwtNTguODMzIDIxMS4zOTRjLTUuNDE0IDE5LjQ1MS0zLjE1NCAzNy45NzMgNi43NzggNTUuNTY2czI0LjYyNSAyOS4wOTYgNDQuMDc1IDM0LjUxbDIxMS4zOTQgNTguODMzYzE5LjQ1MSA1LjQxNCAzNy45NzQgMy4xNTQgNTUuNTY2LTYuNzc5czI5LjA5NS0yNC42MjQgMzQuNTA5LTQ0LjA3NXpNNTM1LjkxNSA3ODMuNzM1YzkuNDk5LTM0LjEzMSA1LjU3My02Ni41NjEtMTEuNzc0LTk3LjI5LTE3LjM0OS0zMC43MjktNDMuMDg5LTUwLjg0My03Ny4yMjEtNjAuMzQycy02Ni41NjItNS41NzQtOTcuMjkgMTEuNzc0Yy0zMC43MjkgMTcuMzQ5LTUwLjg0MyA0My4wODktNjAuMzQyIDc3LjIycy01LjU3NCA2Ni41NjIgMTEuNzc0IDk3LjI5YzE3LjM0OSAzMC43MjkgNDMuMDg5IDUwLjg0MyA3Ny4yMiA2MC4zNDJzNjYuNTYyIDUuNTc0IDk3LjI5MS0xMS43NzQgNTAuODQzLTQzLjA4OSA2MC4zNDItNzcuMjJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6liiIgZ2x5cGgtbmFtZT0icG9zaWNpb242IiBkPSJNNDQ2LjAzMiA2NjcuNzcxYzYxLjcyMSAyMy4wMDcgOTMuMjIzIDkxLjk0NyA3MC4yMSAxNTMuNjc0LTIzLjAwNyA2MS43MjUtOTEuOTQ5IDkzLjIyMy0xNTMuNjcyIDcwLjIxMi02MS43MDYtMjMuMDAzLTkzLjE4Ni05MS45MzMtNzAuMTc3LTE1My42NTkgMjMuMDExLTYxLjcyNyA5MS45MzMtOTMuMjI5IDE1My42MzktNzAuMjI2ek03MTIuNzcgNDcyLjY1YzEzLjQwOC04LjgwNiAzMC40MDEtMTAuNzE1IDQ1LjQ0OS01LjEwNiAxMC4xMTkgMy43NzIgMTguNjEyIDEwLjU1MSAyNC41NiAxOS42MDMgNy40MTIgMTEuMjg0IDkuOTg2IDI0Ljc4MyA3LjI0OCAzOC4wMDctMi43MzYgMTMuMjI0LTEwLjQ1OSAyNC41OTItMjEuNzQ4IDMyLjAwNmwtNTcuOTg5IDM4LjA4OWMtMTMuMjA4IDguNjczLTM0LjkwOCAyMi4yODItNDguMzcyIDMwLjMzM2wtODMuMTU3IDQ5LjcyM2MtMTMuMjUzIDcuOTI0LTI1Ljc2NiAxMC42MzUtNDMuNjM3IDMuOTczLS40NDYtLjE2OC0xNDAuNjg3LTUyLjQ0NS0xNDAuNjg3LTUyLjQ0NWwtMTA5LjEzNiAyNi43MmMtMTMuMDQ2IDMuMTg5LTMwLjYzNCA4Ljg3NC0zNy42MzggMTEuODI3bC0xOC41MjIgNy43OTVjLTExLjkxMyA1LjAxNC0yNS4xNDcgNS4yODgtMzcuMjU3Ljc3NC0xMy4wMTUtNC44NTItMjMuNTY2LTE0Ljk3MS0yOC45NTEtMjcuNzY1LTUuMjM3LTEyLjQ0OC01LjMxMy0yNi4xODgtLjIxNS0zOC42OTMgNS4xLTEyLjUwNSAxNC43Ni0yMi4yNzQgMjcuMjA4LTI3LjUxM2wxOC41MTYtNy43ODljMTIuNjQyLTUuMzI1IDM1LjM0Ni0xMi41NjcgNTIuODEtMTYuODQ3bDE0My40NzMtMzUuMTIxIDc0LjY0OC0xNTYuMDhjLjEwNC0uNDIyLjE2Ni0uODQ0LjI4NS0xLjI2Mmw0Mi4zMTItMTU0LjExYzYuMTk5LTIyLjU5NiAyMi4yMjktNTEuNTAxIDM4LjEyMS02OC43MzFsNzUuOTE1LTgyLjM0YzE0Ljc0NC0xNS45OTMgMzcuNDQ0LTIxLjQyIDU3LjgyNy0xMy44MjJhNTIuOTU3IDUyLjk1NyAwIDAxMTcuNDg4IDEwLjc2OGMxMC40NjcgOS42NDYgMTYuNTUyIDIyLjc5NiAxNy4xMjcgMzcuMDI0LjU4IDE0LjIyMy00LjQxOCAyNy44MjYtMTQuMDcgMzguMjg5bC03NS45MjMgODIuMzQ4Yy00LjQxMSA0Ljc4OC0xMS45NjQgMTguMzk3LTEzLjY4OSAyNC42ODdsLTI4LjI5NSAxMDMuMDY0IDE2LjIwMiA2LjA0MiA2NS42MTItMTAzLjYzOWMxMi4xMzQtMTkuMTY1IDMxLjY4Ny0zMi4wNDUgNTMuNjMxLTM1LjM0NCAxMi42NTUtMS45MDUgMjUuNzY0LS41MTQgMzcuOTEzIDQuMDE0IDguNjY1IDMuMjMgMTYuNjUyIDcuOTQyIDIzLjc0IDE0LjAxMmw0NS4xNDYgMzguNjU4YzIyLjMyMyAxOS4xMTYgMjQuOTQxIDUyLjgzIDUuODI1IDc1LjE1My0xNC40OSAxNi45MjUtMzguMjQ2IDIzLjA3My01OS4xMTMgMTUuMjkyYTUzLjExNiA1My4xMTYgMCAwMS0xNi4wNDQtOS40NjhsLTE5LjI1NS0xNi40OS01OS4xOTEgOTMuNDg3LTQ1LjQxIDk0Ljk2YTk1MS4xNjMgOTUxLjE2MyAwIDAwOS4yNTctNS45OWw1Ny45ODktMzguMDk1eiIvPjxnbHlwaCB1bmljb2RlPSLupYsiIGdseXBoLW5hbWU9InBvc2ljaW9uNyIgZD0iTTg3Ny43MTQgODIuMjg2YzAtMjQtMTEuNzE0LTQ1LjYxOS0zNS4xNDMtNjQuODU3cy01NC42NjYtMzQuNjY2LTkzLjcxNC00Ni4yODZjLTM5LjA0Ny0xMS42MTktODEuOTA1LTIwLjM4MS0xMjguNTcxLTI2LjI4NlM1MjUuMzM0LTY0IDQ3NS40MjktNjRzLTk4LjE5IDIuOTUzLTE0NC44NTcgOC44NTctODkuNTIzIDE0LjY2Ny0xMjguNTcxIDI2LjI4NmMtMzkuMDQ3IDExLjYxOS03MC4yODYgMjcuMDQ4LTkzLjcxNCA0Ni4yODZTNzMuMTQ0IDU4LjI4NiA3My4xNDQgODIuMjg2YzAgMTguNjY3IDYuMjg2IDM1LjUyNCAxOC44NTcgNTAuNTcxczI5LjkwNSAyNy43MTQgNTIgMzhjMjIuMDk1IDEwLjI4NiA0NC41NzEgMTguNzYyIDY3LjQyOSAyNS40MjlzNDcuODEgMTIuMjg2IDc0Ljg1NyAxNi44NTdjOS45MDUgMS45MDUgMTkuMDQ4LS4wOTUgMjcuNDI5LTZzMTMuMzM0LTEzLjgwOSAxNC44NTctMjMuNzE0YzEuOTA1LTkuOTA1LS4wOTUtMTkuMDQ3LTYtMjcuNDI5cy0xMy44MDktMTMuMzMzLTIzLjcxNC0xNC44NTdjLTIyLjA5NS0zLjgwOS00Mi4yODYtOC4yODYtNjAuNTcxLTEzLjQyOXMtMzIuODU3LTEwLTQzLjcxNC0xNC41NzEtMjAuMDk1LTkuMDQ3LTI3LjcxNC0xMy40MjljLTcuNjE5LTQuMzgxLTEyLjg1Ny04LjA5NS0xNS43MTQtMTEuMTQzcy00LjQ3Ni01LjMzMy00Ljg1Ny02Ljg1N2MxLjE0My00LjE5IDYuMjg2LTkuMjM4IDE1LjQyOS0xNS4xNDNzMjMuMDQ4LTEyLjE5IDQxLjcxNC0xOC44NTdjMTguNjY3LTYuNjY2IDQwLjM4MS0xMi44NTcgNjUuMTQzLTE4LjU3MXM1NS4zMzQtMTAuNDc2IDkxLjcxNC0xNC4yODZjMzYuMzgxLTMuODA5IDc0Ljc2Mi01LjcxNCAxMTUuMTQzLTUuNzE0czc4Ljc2MiAxLjkwNSAxMTUuMTQzIDUuNzE0YzM2LjM4MSAzLjgxIDY2Ljk1MyA4LjU3MSA5MS43MTQgMTQuMjg2czQ2LjQ3NyAxMiA2NS4xNDMgMTguODU3YzE4LjY2NyA2Ljg1NyAzMi41NzEgMTMuMjM4IDQxLjcxNCAxOS4xNDNzMTQuMjg2IDExLjE0MyAxNS40MjkgMTUuNzE0Yy0uMzgxIDEuNTI0LTIgMy42MTktNC44NTcgNi4yODZzLTguMDk1IDYuMjg2LTE1LjcxNCAxMC44NTctMTYuODU3IDkuMDQ4LTI3LjcxNCAxMy40MjktMjUuNDI5IDkuMTQzLTQzLjcxNCAxNC4yODYtMzguNDc2IDkuNjE5LTYwLjU3MSAxMy40MjljLTkuOTA1IDEuNTI0LTE3LjgwOSA2LjQ3Ny0yMy43MTQgMTQuODU3cy03LjkwNSAxNy41MjQtNiAyNy40MjljMS41MjQgOS45MDUgNi40NzcgMTcuODEgMTQuODU3IDIzLjcxNHMxNy41MjQgNy45MDUgMjcuNDI5IDZjMjcuMDQ4LTQuNTcxIDUyLTEwLjE5IDc0Ljg1Ny0xNi44NTdzNDUuMzM0LTE1LjE0MyA2Ny40MjktMjUuNDI5YzIyLjA5NS0xMC4yODYgMzkuNDI5LTIyLjk1MiA1Mi0zOHMxOC44NTctMzEuOTA1IDE4Ljg1Ny01MC41NzF6bS0yMTkuNDI4IDUxMlYzNzQuODU3YzAtOS45MDUtMy42MTktMTguNDc2LTEwLjg1Ny0yNS43MTRzLTE1LjgwOS0xMC44NTctMjUuNzE0LTEwLjg1N2gtMzYuNTcxVjExOC44NTdjMC05LjkwNS0zLjYxOS0xOC40NzYtMTAuODU3LTI1LjcxNHMtMTUuODA5LTEwLjg1Ny0yNS43MTQtMTAuODU3SDQwMi4yODdjLTkuOTA1IDAtMTguNDc2IDMuNjE5LTI1LjcxNCAxMC44NTdzLTEwLjg1NyAxNS44MS0xMC44NTcgMjUuNzE0djIxOS40MjloLTM2LjU3MWMtOS45MDUgMC0xOC40NzYgMy42MTktMjUuNzE0IDEwLjg1N3MtMTAuODU3IDE1LjgxLTEwLjg1NyAyNS43MTR2MjE5LjQyOWMwIDIwLjE5MSA3LjE0MyAzNy40MjkgMjEuNDI5IDUxLjcxNHMzMS41MjQgMjEuNDI5IDUxLjcxNCAyMS40MjloMjE5LjQyOWMyMC4xOTEgMCAzNy40MjktNy4xNDMgNTEuNzE0LTIxLjQyOXMyMS40MjktMzEuNTIzIDIxLjQyOS01MS43MTR6bS01NC44NTcgMjE5LjQyOGMwLTM1LjQyOS0xMi40NzYtNjUuNjE5LTM3LjQyOS05MC41NzFzLTU1LjE0My0zNy40MjktOTAuNTcxLTM3LjQyOS02NS42MTkgMTIuNDc3LTkwLjU3MSAzNy40MjljLTI0Ljk1MiAyNC45NTMtMzcuNDI5IDU1LjE0My0zNy40MjkgOTAuNTcxczEyLjQ3NyA2NS42MTkgMzcuNDI5IDkwLjU3MWMyNC45NTMgMjQuOTUzIDU1LjE0MyAzNy40MjkgOTAuNTcxIDM3LjQyOXM2NS42MTktMTIuNDc2IDkwLjU3MS0zNy40MjljMjQuOTUzLTI0Ljk1MiAzNy40MjktNTUuMTQzIDM3LjQyOS05MC41NzF6bTI4OC0zNTEuNDI4YzAgMTUuMzAxLTUuNDEzIDI4LjM2NC0xNi4yMzkgMzkuMTlzLTIzLjg4OSAxNi4yMzktMzkuMTkgMTYuMjM5Yy0xNS4zIDAtMjguMzY0LTUuNDEzLTM5LjE5LTE2LjIzOXMtMTYuMjM5LTIzLjg4OS0xNi4yMzktMzkuMTljMC0xNS4zIDUuNDEzLTI4LjM2NCAxNi4yMzktMzkuMTlzMjMuODg5LTE2LjIzOSAzOS4xOS0xNi4yMzljMTUuMzAxIDAgMjguMzY0IDUuNDEzIDM5LjE5IDE2LjIzOXMxNi4yMzkgMjMuODg5IDE2LjIzOSAzOS4xOXptNTUuNDI4IDBjMC0xNS43MzMtMi4zODItMjguNjUzLTcuMTQ1LTM4Ljc1N2wtNzguODEzLTE2Ny41ODVjLTIuMzA5LTQuNzYzLTUuNzM4LTguNTE2LTEwLjI4NS0xMS4yNTlzLTkuNDE4LTQuMTE0LTE0LjYxNS00LjExNC0xMC4wNjggMS4zNzEtMTQuNjE1IDQuMTE0Yy00LjU0NyAyLjc0My03LjkwMyA2LjQ5NS0xMC4wNjggMTEuMjU5bC03OS4wMjkgMTY3LjU4NWMtNC43NjMgMTAuMTA0LTcuMTQ1IDIzLjAyMy03LjE0NSAzOC43NTcgMCAzMC42MDIgMTAuODI2IDU2LjcyNyAzMi40NzggNzguMzc5czQ3Ljc3OCAzMi40NzggNzguMzc5IDMyLjQ3OGMzMC42MDIgMCA1Ni43MjctMTAuODI2IDc4LjM3OS0zMi40NzhzMzIuNDc4LTQ3Ljc3OCAzMi40NzgtNzguMzc5ek0yMDUuNzE0IDczMmMwIDE1LjMwMS01LjQxMyAyOC4zNjQtMTYuMjM5IDM5LjE5cy0yMy44ODkgMTYuMjM5LTM5LjE5IDE2LjIzOWMtMTUuMyAwLTI4LjM2NC01LjQxMy0zOS4xOS0xNi4yMzlTOTQuODU2IDc0Ny4zMDEgOTQuODU2IDczMmMwLTE1LjMgNS40MTMtMjguMzY0IDE2LjIzOS0zOS4xOXMyMy44ODktMTYuMjM5IDM5LjE5LTE2LjIzOWMxNS4zMDEgMCAyOC4zNjQgNS40MTMgMzkuMTkgMTYuMjM5czE2LjIzOSAyMy44ODkgMTYuMjM5IDM5LjE5em01NS40MjkgMGMwLTE1LjczMy0yLjM4Mi0yOC42NTMtNy4xNDUtMzguNzU3bC03OC44MTMtMTY3LjU4NWMtMi4zMDktNC43NjMtNS43MzgtOC41MTYtMTAuMjg1LTExLjI1OXMtOS40MTgtNC4xMTQtMTQuNjE1LTQuMTE0LTEwLjA2OCAxLjM3MS0xNC42MTUgNC4xMTRjLTQuNTQ3IDIuNzQzLTcuOTAzIDYuNDk1LTEwLjA2OCAxMS4yNTlMNDYuNTczIDY5My4yNDNjLTQuNzYzIDEwLjEwNC03LjE0NSAyMy4wMjMtNy4xNDUgMzguNzU3IDAgMzAuNjAyIDEwLjgyNiA1Ni43MjcgMzIuNDc4IDc4LjM3OXM0Ny43NzggMzIuNDc4IDc4LjM3OSAzMi40NzhjMzAuNjAyIDAgNTYuNzI3LTEwLjgyNiA3OC4zNzktMzIuNDc4czMyLjQ3OC00Ny43NzggMzIuNDc4LTc4LjM3OXoiLz48Z2x5cGggdW5pY29kZT0i7qWMIiBnbHlwaC1uYW1lPSJwcmlzbWF0aWNvcyIgZD0iTTE4Mi4yMzcgODg1LjY4MmgxMzYuMzk3YzcuNjg0IDAgMTMuOTEyLTYuMjMgMTMuOTEyLTEzLjkxMnYtNTMuOTg5aDM1LjUzNWM3LjY4NCAwIDEzLjkxMi02LjIyOCAxMy45MTItMTMuOTE0VjY4NC45NjhoNTcuMzczYzcuOTgxIDEzLjU3NiAyMi41NzcgMjIuMTY2IDM4LjkzOSAyMi4xNjZoNjcuNjg0YzE2LjM1NyAwIDMwLjk1My04LjU4MyAzOC45MzktMjIuMTY2aDU3LjA4OHYxMTguODk3YzAgNy42ODYgNi4yMyAxMy45MTQgMTMuOTE0IDEzLjkxNGgzNS44MTV2NTMuOTkxYzAgNy42ODQgNi4yMjYgMTMuOTEyIDEzLjkxMiAxMy45MTJoMTM2LjM5OWM3LjY4NCAwIDEzLjkxMi02LjIyOCAxMy45MTItMTMuOTEydi01My45ODloMzUuMjQ4YzcuMzk1IDAgMTMuNTAyLTUuNzg4IDEzLjg5Ni0xMy4xNzVsMzMuMzk5LTU1My4yMThoMjcuMTU2YzcuNjg2IDAgMTMuOTE0LTYuMjI2IDEzLjkxNC0xMy45MTJWNDQuNzEyYzAtNy42ODQtNi4yMjgtMTMuOTEyLTEzLjkxNC0xMy45MTJINjE1LjU4MmMtNy42ODggMC0xMy45MTYgNi4yMjgtMTMuOTE2IDEzLjkxMnYxOTIuNzY0YzAgNy42ODYgNi4yMjggMTMuOTEyIDEzLjkxNiAxMy45MTJoMjYuNDM2djkwLjM0NUg1ODQuOTNjLTcuOTgxLTEzLjU3Ni0yMi41NzctMjIuMTYzLTM4LjkzOS0yMi4xNjNoLTY3LjY4NGMtMTYuMzU3IDAtMzAuOTU2IDguNTc5LTM4LjkzOSAyMi4xNjNoLTU3LjM4MXYtOTAuMzQ1aDI2LjQzOGM3LjY4NCAwIDEzLjkxMi02LjIyNiAxMy45MTItMTMuOTEyVjQ0LjcxMmMwLTcuNjg0LTYuMjI4LTEzLjkxMi0xMy45MTItMTMuOTEySDU4LjM0Yy03LjY4NCAwLTEzLjkxIDYuMjI4LTEzLjkxIDEzLjkxMnYxOTIuNzY0YzAgNy42ODYgNi4yMjggMTMuOTEyIDEzLjkxIDEzLjkxMmgyNy4xNTZsMzMuMzk1IDU1My4yMThjLjM5NSA3LjM4NSA2LjQ5NiAxMy4xNzcgMTMuODk2IDEzLjE3N2gzNS41MzN2NTMuOTg3Yy4wMDYgNy42ODQgNi4yMzIgMTMuOTEyIDEzLjkxOCAxMy45MTJ6bTEyMi40NzktMjcuODI0SDE5Ni4xNDN2LTQwLjA3N2gxMDguNTczdjQwLjA3N3ptNTIzLjQyNCAwSDcxOS41NjV2LTQwLjA3N0g4MjguMTR2NDAuMDc3em0tNjQ1LjkwMy02Ny45MDNoLTM2LjI1bC0zMi42MjMtNTM4LjU3M2gyNDAuODAydjUzOC41NzNoLTE3MS45M3ptNTIzLjQxNiAwaC0zNS44MTVWMjUxLjM4Nkg5MTAuNjRsLTMyLjYyMyA1MzguNTczLTE3Mi4zNjQtLjAwNHpNNTU5LjgxNyA2NzIuNDQyYy0zLjI0IDQuMjIxLTguMzM5IDYuODY5LTEzLjgzMiA2Ljg2OWgtNjcuNjg0Yy01LjQ5MSAwLTEwLjU5NC0yLjY1NC0xMy44MzItNi44NjlhMTMuOTIzIDEzLjkyMyAwIDAwLTEuMjQxLTcuMjcyYy0xLjUzNi0zLjI4NS0yLjMxMi02Ljc1Ni0yLjMxMi0xMC4zMDhWMzcxLjg0MWMwLTMuNTQ3Ljc3Ni03LjAxNCAyLjMxOC0xMC4zMDNhMTMuOTM5IDEzLjkzOSAwIDAwMS4yMzktNy4yNzRjMy4yNC00LjIxOSA4LjM0Mi02Ljg2OSAxMy44MzQtNi44NjloNjcuNjc4YzUuNDkzIDAgMTAuNTk0IDIuNjU0IDEzLjgzMiA2Ljg2OWExMy45MTggMTMuOTE4IDAgMDAxLjI0MSA3LjI3NGMxLjUzNCAzLjI4OSAyLjMxOCA2Ljc1NiAyLjMxOCAxMC4zMDN2MjgzLjAyMWMwIDMuNTQ5LS43OCA3LjAyMS0yLjMxNCAxMC4zMDhhMTMuODggMTMuODggMCAwMC0xLjI0NSA3LjI3MnptLTEyNi43MjgtMTUuMjk4aC01MS4xMDR2LTI4Ny41OWg1MS4xMDR2Mjg3LjU5em0yMDguOTIyIDBoLTUwLjgxNXYtMjg3LjU5aDUwLjgxNXYyODcuNTl6TTk4LjY4OSAyMjMuNTY2SDcyLjI1MVY1OC42MjRIMzk0LjUxdjE2NC45NDJIOTguNjg5em01NTcuMjM2IDBoLTI2LjQzOFY1OC42MjRoMzIyLjI1OXYxNjQuOTQySDY1NS45MjV6TTYxNS41NzQgMTYuNDY4Yy0xNS42MDYuMDA0LTI4LjI0NCAxMi42MzgtMjguMjU0IDI4LjI0NHYxOTIuNzY0Yy4wMSAxNS42MSAxMi42NTMgMjguMjQ0IDI4LjI1NCAyOC4yNDhsMTIuMDk1LjAwNHY2MS42NzFoLTM1LjI1OGMtMTEuMDUxLTEzLjc2My0yNy45OC0yMi4xODItNDYuNDI4LTIyLjE2NmgtNjcuNjg0Yy0xOC40NDItLjAxNi0zNS4zNzcgOC4zOTMtNDYuNDI4IDIyLjE2NmgtMzUuNTUzdi02MS42NzFoMTIuMTAyYzE1LjYwNi0uMDA4IDI4LjI0LTEyLjY0MiAyOC4yNDgtMjguMjUyVjQ0LjcxMmMtLjAwOC0xNS42MDYtMTIuNjQyLTI4LjIzNi0yOC4yNDgtMjguMjVINTguMzQzYy0xNS42MS4wMTQtMjguMjQgMTIuNjQ4LTI4LjI0OCAyOC4yNXYxOTIuNzY0Yy4wMDggMTUuNjEgMTIuNjQyIDI4LjI0NCAyOC4yNDggMjguMjQ4bDEzLjY1Ni4wMDQgMzIuNTc1IDUzOS42NDhjLjgxMSAxNC45ODkgMTMuMTg1IDI2LjczNyAyOC4yMTMgMjYuNzQ1aDIxLjE5N3YzOS42NjZjLjAyMyAxNS41OTMgMTIuNjQyIDI4LjIyMyAyOC4yNTIgMjguMjM2aDEzNi4zOTljMTUuNjA2LS4wMTIgMjguMjM2LTEyLjY0OCAyOC4yNDgtMjguMjUybC0uMDA0LTM5LjY1MWgyMS4yMDFjMTUuNjA2LS4wMDggMjguMjQtMTIuNjQyIDI4LjI0OC0yOC4yNDhWNjk5LjMwN2gzNS41NDljMTEuMDQ3IDEzLjc2NSAyNy45NzQgMjIuMTgyIDQ2LjQyMiAyMi4xNjhoNjcuNjg0YzE4LjQ0NC4wMTggMzUuMzczLTguMzk3IDQ2LjQyNi0yMi4xNjhoMzUuMjY1VjgwMy44N2MuMDEgMTUuNjEgMTIuNjQ0IDI4LjI0IDI4LjI1NCAyOC4yNDhoMjEuNDczdjM5LjY1MWMuMDA4IDE1LjYwNiAxMi42NDIgMjguMjQ0IDI4LjI1MiAyOC4yNTJoMTM2LjM5OWMxNS42MDYtLjAxMiAyOC4yMzYtMTIuNjQyIDI4LjI0NC0yOC4yNTJ2LTM5LjY1MWgyMC45MTZjMTUuMDItLjAwOCAyNy4zOTgtMTEuNzQxIDI4LjIwMy0yNi42NDdsMzIuNTgyLTUzOS43NDJoMTMuNjY0YzE1LjYwMi0uMDA4IDI4LjI0NC0xMi42NDIgMjguMjUtMjguMjUyVjQ0LjcxM2MtLjAwNi0xNS42MDYtMTIuNjQ0LTI4LjI0LTI4LjI1LTI4LjI1bC0zNTAuMDg3LjAwNnptMjguMjQ4IDU2LjQ5NmgyOTMuNTg3djEzNi4yNjhINjQzLjgyMlY3Mi45NjR6bS01NTcuMjM3IDBoMjkzLjU4N3YxMzYuMjY4SDg2LjU4NVY3Mi45NjR6bTQyLjAxMyAxOTIuNzZoMjExLjIzM3Y1MDkuODk1SDE1OS40NzhsLTMwLjg4LTUwOS44OTV6bTU1NS41NzEuMDA0aDIxMS4yMzlsLTMwLjg4NiA1MDkuODk3LTE4MC4zNTEtLjAwNFYyNjUuNzI4aC0uMDAyem0tMjM2LjYwMyA5MC4zNDVsMi4zMDYtMy45MjQuMzI4IDMuNDE2YTM4Ljc2IDM4Ljc2IDAgMDAtMi43NzMgOC4yNTV2LTcuNzQ4aC4xMzl6bTEyNi44NjUtMy44OTFsMi4yODYgMy44ODdoLjE0MXY3Ljc2OGEzOS4xNiAzOS4xNiAwIDAwLTIuNzY5LTguMjY2bC4zNDItMy4zODl6bS0yOC40NDYgOS41NTJoLjA4NGEyNy41NzcgMjcuNTc3IDAgMDAxLjk5OSA1Ljg2M2MuNjg2IDEuNDk1Ljk2NyAyLjgxMi45NzMgNC4yNDF2MjgzLjAyM2MtLjAwNiAxLjQ0Ni0uMjg3IDIuNzY3LS45NSA0LjIwNWEyOC4wOTcgMjguMDk3IDAgMDAtMi4wMTMgNS45MDhINDc4LjIxYTI4LjQ0IDI4LjQ0IDAgMDAtMS45OTMtNS44NzRjLS42NzItMS40NjQtLjk1Mi0yLjc3NS0uOTYzLTQuMjM5VjM3MS44NGMuMDA4LTEuNDUyLjI4Ny0yLjc1My45NzktNC4yNTRhMjguMjY1IDI4LjI2NSAwIDAwMS45ODItNS44NTFoLjA5Nmw2Ny42NzQtLjAwMnptNTkuNTQ1IDIyLjE1N2gyMi4xNDV2MjU4LjkxNkg2MDUuNTNWMzgzLjg5MXptLTIwOS4yMTEgMGgyMi40MzZ2MjU4LjkxOGwtMjIuNDM2LjAwMnYtMjU4Ljkyem0yNDUuNjkgMjczLjI1M3ptLTIwOC45MTggMHptMTQuMzM2IDUuNzQ0YTM4LjU5NiAzOC41OTYgMCAwMDIuNzY3IDguMjUxbC0uMzM4IDMuMzk4LTIuMjk2LTMuOTA2aC0uMTM1di03Ljc0M2guMDAyem0xMjkuNDMzLjAwMnY3Ljc0MWgtLjE0M2wtMi4yNjkgMy44NjctLjM1NC0zLjM0OGEzOC45NTEgMzguOTUxIDAgMDAyLjc2Ny04LjI2em0tMTcuMDQzIDkuNTUyem0xNDUuODM2IDExNy41MTV6bTI4LjI0NCA0Mi4xNkg4MTMuOHYxMS40MDVsLTc5LjkwMy4wMDJ2LTExLjQwN3ptLTUyMy40MTggMGg3OS44OTl2MTEuNDA3aC03OS44OTl2LTExLjQwN3ptNjE3LjY2MSAyNS43Mzl6bS01MjMuNDI2IDB6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ljSIgZ2x5cGgtbmFtZT0icmVnbGEiIGQ9Ik03NDQuODYyIDkzOS42MzJMMzYuMzI2IDIzMS4wODcgMzAyLjAyOS0zNC42MTZsNzA4LjUzNiA3MDguNTQ1LTI2NS43MDMgMjY1LjcwM3pNMzAyLjAyNiA1My45NTRMMTI0Ljg5MyAyMzEuMDg3bDY2LjQyMyA2Ni40MjYgODguNTY3LTg4LjU3IDQ0LjI4NSA0NC4yODUtODguNTY0IDg4LjU3IDQ0LjI4MiA0NC4yODIgNDQuMjg1LTQ0LjI4MiA0NC4yODIgNDQuMjgyLTQ0LjI4MiA0NC4yODIgNDQuMjg1IDQ0LjI5NCA4OC41NjctODguNTc2IDQ0LjI4NSA0NC4yODItODguNTY3IDg4LjU3NiA0NC4yODIgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjg1IDQ0LjI4NSA0NC4yODUgODguNTY0LTg4LjU3IDQ0LjI4NSA0NC4yODUtODguNTY3IDg4LjU2NyA0NC4yODIgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjgyIDQ0LjI4NS00NC4yODIgNDQuMjg1IDY2LjQyNiA2Ni40MjYgMTc3LjEzMy0xNzcuMTMzTDMwMi4wMjkgNTMuOTU3eiIvPjxnbHlwaCB1bmljb2RlPSLupY4iIGdseXBoLW5hbWU9InJlZ2xhcyIgZD0iTTAgOTMxLjk3MVYtMzUuOTc0aDM2Ni42NTV2NjAxLjIwM2g2NTcuMzQ3djM2Ni43NDJILS4wMDF6bTMwNS43ODYtOTA3LjA2SDYwLjg2M1Y4MC40NWg4MC44NTF2NjAuODY0SDYwLjg2M3Y2MC44NTNoMTQxLjcwNHY2MC44NThINjAuODYzdjYwLjg3N2g4MC44NTF2NjAuODkzSDYwLjg2M3Y2MC44NjFoODAuODUxdjYwLjg1M0g2MC44NjN2NTguNzJoMjQ0LjkyM1YyNC45MTF6TTk2My4xNSA2MjYuMTI2aC01NS40NnY4MC44NjFoLTYwLjg1OHYtODAuODYxaC02MC44ODN2MTQxLjczNmgtNjAuOTQ3VjYyNi4xMjNoLTYwLjg1M3Y4MC44NjRoLTYwLjg3NXYtODAuODYxaC02MC44NTN2ODAuODYxaC02MC44NTN2LTgwLjg2MWgtNjAuODUzdjE0MS43MzZoLTYwLjg1OFY2MjYuMTIzaC02MC44NjR2ODAuODY0aC02MC44NTh2LTgwLjg2MWgtNjAuOTM3djgwLjg2MWgtNjAuODkxdi04MC44NjFINjAuODYzdjI0NC45NWg5MDIuMjg2di0yNDQuOTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ljyIgZ2x5cGgtbmFtZT0icnV0YSIgZD0iTTgyMC43OTkgNTU0LjM5MmMuMDMzIDAgLjA2LjAyMS4wOTMuMDIxLS4wMzMgMC0uMDkzLS4wMjEtLjE2NS0uMDIxaC4wNzJ6bS00Ny4xMDIgMjUuOTY5Yy04LjUwNiAxMy40NC0xNy4yMDUgMjcuNzY4LTI1Ljk0OCA0Mi4zNGgtNjExLjg5Yy0zMy4zMjEgMC02MC40MjktMjcuMTExLTYwLjQyOS02MC40MzN2LTcyLjU3NWMwLTMzLjMxOSAyNy4xMDktNjAuNDIxIDYwLjQyOS02MC40MjFoMzU3LjcwN2MzLjQ3NSAwIDYuMzA1LTIuODM0IDYuMzA1LTYuMzAxVjMyMi44NDZjMC0zNC43MDggMjguMjUzLTYyLjk0MiA2Mi45NC02Mi45NDJoMTYxLjc5MWM3LjQwNyAwIDEzLjQ0Mi02LjAxNCAxMy40NDItMTMuNDIxVjE3LjczNGMwLTcuNDA3LTYuMDM3LTEzLjQzLTEzLjQ0Mi0xMy40M2gtMzQ3LjRjLTExLjQzNy0xOS41NTktMjMuMDc3LTM4Ljc1OC0zNC4zMTgtNTYuNTM0LTIuODQtNC40ODEtNi4zMzYtOC4zNTMtMTAuMTcxLTExLjc3MWgzOTEuODljNDUuMDY2IDAgODEuNzUxIDM2LjY3MiA4MS43NTEgODEuNzMydjIyOC43NTFjMCA0NS4wNi0zNi42ODQgODEuNzI4LTgxLjc1MSA4MS43MjhINTY4LjE4MXY5NC43NmMwIDQxLjE0LTMzLjQ4NSA3NC42MDctNzQuNjExIDc0LjYwN0gxNDMuNzM4djU2LjgxNGg2NzYuOTkxYy0xOS4yNDIuMDU0LTM2LjgxNiA5Ljc3OC00Ny4wMzEgMjUuOTY5ek0yOTUuNzkgMzI3LjM5M2MtNzAuNTQxIDAtMTI3Ljc3MS01Ny4yMDItMTI3Ljc3MS0xMjcuNzcxIDAtNTMuNzk5IDc0LjI3My0xNzcuNzcyIDEwOS41NTYtMjMzLjYzNiAzLjk0MS02LjIzNSAxMC44NDEtMTAuMDIzIDE4LjIxNS0xMC4wMjNhMjEuNTQxIDIxLjU0MSAwIDAxMTguMjEzIDEwLjAzOWMzNS4zMTggNTUuODg1IDEwOS41NTggMTc5LjgyIDEwOS41NTggMjMzLjYyMSAwIDcwLjU3LTU3LjIwMiAxMjcuNzY5LTEyNy43NzEgMTI3Ljc2OXptMC0xOTAuODQxYy0zMS42NTUgMC01Ny4zMDUgMjUuNjYyLTU3LjMwNSA1Ny4zMTkgMCAzMS42NjQgMjUuNjQ3IDU3LjMxNSA1Ny4zMDUgNTcuMzE1IDMxLjY1MyAwIDU3LjMwMy0yNS42NDkgNTcuMzAzLTU3LjMxNS0uMDAyLTMxLjY1Ny0yNS42NDktNTcuMzE5LTU3LjMwMy01Ny4zMTl6TTgyMC43OTkgOTYwYy03MC41NDkgMC0xMjcuNzgyLTU3LjIwMi0xMjcuNzgyLTEyNy43NzEgMC01My44MDUgNzQuMjQyLTE3Ny43MzkgMTA5LjU2OC0yMzMuNjI2IDMuOTM5LTYuMjUxIDEwLjgwOC0xMC4wMzUgMTguMjEzLTEwLjA1NiA3LjM2MiAwIDE0LjI3NSAzLjgwNSAxOC4yMDMgMTAuMDQzIDM1LjI5NSA1NS44NjIgMTA5LjU2OCAxNzkuODMzIDEwOS41NjggMjMzLjYzNiAwIDcwLjU3Mi01Ny4yMDIgMTI3Ljc3My0xMjcuNzcxIDEyNy43NzN6bTAtMTkwLjg0N2MtMzEuNjU1IDAtNTcuMzA1IDI1LjY2Ni01Ny4zMDUgNTcuMzE5IDAgMzEuNjY4IDI1LjY0NyA1Ny4zMTUgNTcuMzA1IDU3LjMxNSAzMS42NDUgMCA1Ny4yOTQtMjUuNjQ1IDU3LjI5NC01Ny4zMTUgMC0zMS42NTMtMjUuNjQ5LTU3LjMxOS01Ny4yOTQtNTcuMzE5eiIvPjxnbHlwaCB1bmljb2RlPSLupZAiIGdseXBoLW5hbWU9InNwaW5uZXIiIGQ9Ik0zMDAuNTcxIDE2My40MjlxMC0zMC4yODYtMjEuNDI5LTUxLjcxNHQtNTEuNzE0LTIxLjQyOXEtMjkuNzE0IDAtNTEuNDI5IDIxLjcxNHQtMjEuNzE0IDUxLjQyOXEwIDMwLjI4NiAyMS40MjkgNTEuNzE0dDUxLjcxNCAyMS40MjkgNTEuNzE0LTIxLjQyOSAyMS40MjktNTEuNzE0ek01ODUuMTQzIDQ1LjcxNHEwLTMwLjI4Ni0yMS40MjktNTEuNzE0VDUxMi0yNy40MjkgNDYwLjI4Ni02dC0yMS40MjkgNTEuNzE0IDIxLjQyOSA1MS43MTRUNTEyIDExOC44NTd0NTEuNzE0LTIxLjQyOSAyMS40MjktNTEuNzE0ek0xODIuODU3IDQ0OHEwLTMwLjI4Ni0yMS40MjktNTEuNzE0dC01MS43MTQtMjEuNDI5VDU4IDM5Ni4yODYgMzYuNTcxIDQ0OCA1OCA0OTkuNzE0dDUxLjcxNCAyMS40MjkgNTEuNzE0LTIxLjQyOVQxODIuODU3IDQ0OHptNjg2Ljg1Ny0yODQuNTcxcTAtMjkuNzE0LTIxLjcxNC01MS40Mjl0LTUxLjQyOS0yMS43MTRxLTMwLjI4NiAwLTUxLjcxNCAyMS40Mjl0LTIxLjQyOSA1MS43MTQgMjEuNDI5IDUxLjcxNCA1MS43MTQgMjEuNDI5IDUxLjcxNC0yMS40MjkgMjEuNDI5LTUxLjcxNHpNMzE4Ljg1NyA3MzIuNTcxcTAtMzcuNzE0LTI2Ljg1Ny02NC41NzF0LTY0LjU3MS0yNi44NTdUMTYyLjg1OCA2Njh0LTI2Ljg1NyA2NC41NzEgMjYuODU3IDY0LjU3MSA2NC41NzEgMjYuODU3VDI5MiA3OTcuMTQydDI2Ljg1Ny02NC41NzF6TTk4Ny40MjkgNDQ4cTAtMzAuMjg2LTIxLjQyOS01MS43MTR0LTUxLjcxNC0yMS40MjktNTEuNzE0IDIxLjQyOVQ4NDEuMTQzIDQ0OHQyMS40MjkgNTEuNzE0IDUxLjcxNCAyMS40MjlUOTY2IDQ5OS43MTQgOTg3LjQyOSA0NDh6TTYyMS43MTQgODUwLjI4NnEwLTQ1LjcxNC0zMi03Ny43MTR0LTc3LjcxNC0zMi03Ny43MTQgMzItMzIgNzcuNzE0IDMyIDc3LjcxNFQ1MTIgOTYwdDc3LjcxNC0zMiAzMi03Ny43MTR6bTMwMi44NTctMTE3LjcxNXEwLTUzLjE0My0zNy43MTQtOTAuNTcxdC05MC4yODYtMzcuNDI5cS01My4xNDMgMC05MC41NzEgMzcuNDI5dC0zNy40MjkgOTAuNTcxcTAgNTIuNTcxIDM3LjQyOSA5MC4yODZ0OTAuNTcxIDM3LjcxNHE1Mi41NzEgMCA5MC4yODYtMzcuNzE0dDM3LjcxNC05MC4yODZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lkSIgZD0iTTUxMiA4NTcuNmMxOS44MDQgMCAzNS44NC0yMi45MjcgMzUuODQtNTEuMlY3MDRjMC0yOC4yNzMtMTYuMDM2LTUxLjItMzUuODQtNTEuMi0xOS43OTQgMC0zNS44NCAyMi45MjctMzUuODQgNTEuMnYxMDIuNGMwIDI4LjI3MyAxNi4wNDYgNTEuMiAzNS44NCA1MS4yeiIvPjxnbHlwaCB1bmljb2RlPSLupZIiIGQ9Ik05MjEuNiA0NDhjMC0xOS44MDQtMjIuOTE3LTM1Ljg0LTUxLjItMzUuODRINzY4Yy0yOC4yODMgMC01MS4yIDE2LjAzNi01MS4yIDM1Ljg0IDAgMTkuNzk0IDIyLjkxNyAzNS44NCA1MS4yIDM1Ljg0aDEwMi40YzI4LjI4MyAwIDUxLjItMTYuMDQ2IDUxLjItMzUuODR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lkyIgZD0iTTg2Ni43MjQgMjQzLjJjLTkuOTAyLTE3LjE0Mi0zNy43NjUtMTkuNTc5LTYyLjI1OS01LjQzN2wtODguNjc4IDUxLjJjLTI0LjQ4NCAxNC4xNDEtMzYuMzIxIDM5LjQ5Ni0yNi40MjkgNTYuNjM3IDkuOTAyIDE3LjE0MiAzNy43NzUgMTkuNTc5IDYyLjI1OSA1LjQzN2w4OC42NzgtNTEuMmMyNC40OTQtMTQuMTQxIDM2LjMyMS0zOS40OTYgMjYuNDI5LTU2LjYzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWUIiBkPSJNNzE2LjggOTMuMjc2Yy0xNy4xNDItOS45MDItNDIuNDk2IDEuOTI1LTU2LjYzNyAyNi40MTlsLTUxLjIgODguNjc4Yy0xNC4xNDEgMjQuNDg0LTExLjcwNCA1Mi4zNTcgNS40MzcgNjIuMjU5IDE3LjE0MiA5LjkwMiA0Mi40OTYtMS45MzUgNTYuNjM3LTI2LjQxOWw1MS4yLTg4LjY3OGMxNC4xNDEtMjQuNDk0IDExLjcwNC01Mi4zNTctNS40MzctNjIuMjU5eiIvPjxnbHlwaCB1bmljb2RlPSLupZUiIGQ9Ik01MTIgMzguNGMtMTkuNzk0IDAtMzUuODQgMjIuOTE3LTM1Ljg0IDUxLjJWMTkyYzAgMjguMjgzIDE2LjA0NiA1MS4yIDM1Ljg0IDUxLjIgMTkuODA0IDAgMzUuODQtMjIuOTE3IDM1Ljg0LTUxLjJWODkuNmMwLTI4LjI4My0xNi4wMzYtNTEuMi0zNS44NC01MS4yeiIvPjxnbHlwaCB1bmljb2RlPSLupZYiIGQ9Ik0zMDcuMiA5My4yNzZjLTE3LjE0MiA5LjkwMi0xOS41NzkgMzcuNzY1LTUuNDM3IDYyLjI1OWw1MS4yIDg4LjY3OGMxNC4xNDEgMjQuNDg0IDM5LjQ5NiAzNi4zMjEgNTYuNjM3IDI2LjQxOSAxNy4xNDItOS45MDIgMTkuNTc5LTM3Ljc3NSA1LjQzNy02Mi4yNTlsLTUxLjItODguNjc4Yy0xNC4xNDEtMjQuNDk0LTM5LjQ5Ni0zNi4zMTEtNTYuNjM3LTI2LjQxOXoiLz48Z2x5cGggdW5pY29kZT0i7qWXIiBkPSJNMTU3LjI3NiAyNDMuMmMtOS44OTIgMTcuMTQyIDEuOTM1IDQyLjQ5NiAyNi40MTkgNTYuNjM3bDg4LjY3OCA1MS4yYzI0LjQ5NCAxNC4xNDEgNTIuMzY3IDExLjcwNCA2Mi4yNjktNS40MzcgOS44OTItMTcuMTQyLTEuOTM1LTQyLjQ5Ni0yNi40MjktNTYuNjM3bC04OC42NzgtNTEuMmMtMjQuNDg0LTE0LjE0MS01Mi4zNTctMTEuNzA0LTYyLjI1OSA1LjQzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWYIiBkPSJNMTAyLjQgNDQ4YzAgMTkuNzk0IDIyLjkyNyAzNS44NCA1MS4yIDM1Ljg0SDI1NmMyOC4yNzMgMCA1MS4yLTE2LjA0NiA1MS4yLTM1Ljg0IDAtMTkuODA0LTIyLjkyNy0zNS44NC01MS4yLTM1Ljg0SDE1My42Yy0yOC4yNzMgMC01MS4yIDE2LjAzNi01MS4yIDM1Ljg0eiIvPjxnbHlwaCB1bmljb2RlPSLupZkiIGQ9Ik0xNTcuMjc2IDY1Mi44YzkuOTAyIDE3LjE0MiAzNy43NzUgMTkuNTc5IDYyLjI1OSA1LjQzN2w4OC42ODktNTEuMmMyNC40ODQtMTQuMTQxIDM2LjMxMS0zOS40OTYgMjYuNDE5LTU2LjYzNy05LjkwMi0xNy4xNDItMzcuNzc1LTE5LjU3OS02Mi4yNTktNS40MzdsLTg4LjY4OSA1MS4yYy0yNC40ODQgMTQuMTQxLTM2LjMxMSAzOS40OTYtMjYuNDE5IDU2LjYzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWaIiBkPSJNMzA3LjIgODAyLjcyNGMxNy4xNDIgOS44OTIgNDIuNDk2LTEuOTI1IDU2LjYzNy0yNi40MTlsNTEuMi04OC42NzhjMTQuMTMxLTI0LjQ5NCAxMS43MDQtNTIuMzY3LTUuNDM3LTYyLjI2OS0xNy4xNDItOS44OTItNDIuNDk2IDEuOTM1LTU2LjYzNyAyNi40MjlsLTUxLjIgODguNjc4Yy0xNC4xNDEgMjQuNDk0LTExLjcwNCA1Mi4zNTcgNS40MzcgNjIuMjU5eiIvPjxnbHlwaCB1bmljb2RlPSLupZsiIGdseXBoLW5hbWU9InN1YmlyIiBkPSJNOTI4IDM3MGMzMCAwIDU0LTI0IDU0LTU0VjIyYzAtMzAtMjQtNTQtNTQtNTRIOTJDNjItMzIgMzYtOCAzNiAyMnYyOTRjMCAzMCAyNiA1NCA1NiA1NHM1NC0yNCA1NC01NFY3OGg3Mjh2MjM4YzAgMzAgMjQgNTQgNTQgNTR6TTMyOCA2MjhjLTIyLTIyLTU0LTIyLTc2IDBzLTIyIDU0IDAgNzZsMjIwIDIyMGMxMCAxMCAyNCAxNiAzOCAxNnMyOC02IDM4LTE2bDIyMC0yMjBjMjItMjIgMjItNTQgMC03Ni0xMC0xMC0yNC0xNi0zOC0xNnMtMzAgNi00MCAxNkw1NjQgNzU0VjI4NmMwLTMwLTI0LTU0LTU0LTU0cy01NCAyNC01NCA1NHY0NjhMMzI4IDYyOHoiLz48Z2x5cGggdW5pY29kZT0i7qWcIiBnbHlwaC1uYW1lPSJ0YW1hbm8iIGQ9Ik03MjkuOTEzIDcxOC4yNDRINTAuOTI1QzIyLjc5NSA3MTguMjQ0IDAgNjk1LjQ1MyAwIDY2Ny4zMjFWLTExLjY2N2MwLTI4LjEzIDIyLjc5NS01MC45MjUgNTAuOTI1LTUwLjkyNWg2NzguOTg4YzI4LjEzIDAgNTAuOTIzIDIyLjc5NSA1MC45MjMgNTAuOTI1djY3OC45ODhjMCAyOC4xMzItMjIuNzkzIDUwLjkyMy01MC45MjMgNTAuOTIzek02NzguOTg4IDM5LjI1OGgtNTc3LjE0djU3Ny4xNGg1NzcuMTRWMzkuMjU4em0zMzQuOTE3IDYyLjYyN2gtNTUuMjMzdjU5NC4zMTRoNTUuMjMzYzQuMDc5IDAgNy43NTggMi40NTQgOS4zMTYgNi4yMzFhMTAuMDYgMTAuMDYgMCAwMS0yLjE4NyAxMS4wMDZsLTg5LjE2NyA4OS4xNjdjLTMuOTQ2IDMuOTQ2LTEwLjM0MyAzLjk0Ni0xNC4yODcgMGwtODkuMTY5LTg5LjE2N2ExMC4wNTggMTAuMDU4IDAgMDEtMi4xODctMTEuMDA2IDEwLjA3NyAxMC4wNzcgMCAwMTkuMzE4LTYuMjMxaDU1LjIzM1YxMDEuODg1aC01NS4yMzNhMTAuMDc0IDEwLjA3NCAwIDAxLTkuMzE4LTYuMjMxIDEwLjA3IDEwLjA3IDAgMDEyLjE4Ny0xMS4wMUw5MTcuNTgtNC41MjNjMy45NDQtMy45NDYgMTAuMzQzLTMuOTQ2IDE0LjI4NyAwbDg5LjE2NyA4OS4xNjdhMTAuMDU2IDEwLjA1NiAwIDAxMi4xODcgMTEuMDEgMTAuMDY3IDEwLjA2NyAwIDAxLTkuMzE2IDYuMjMxem0tODY2LjY3IDY2MS4xMTdhMTAuMDYgMTAuMDYgMCAwMTExLjAwOC0yLjE4NyAxMC4wNjkgMTAuMDY5IDAgMDE2LjIzMyA5LjMxNnY1NS4yMzNINzU4Ljc5di01NS4yMzNjMC00LjA3OSAyLjQ1Mi03Ljc2IDYuMjMxLTkuMzE2YTEwLjA2NCAxMC4wNjQgMCAwMTExLjAwOCAyLjE4N2w4OS4xNjcgODkuMTY3YzMuOTQ2IDMuOTQ4IDMuOTQ2IDEwLjM0NyAwIDE0LjI5MWwtODkuMTY3IDg5LjE2NWExMC4wNTkgMTAuMDU5IDAgMDEtMTEuMDA4IDIuMTg5IDEwLjA2OSAxMC4wNjkgMCAwMS02LjIzMS05LjMxNnYtNTUuMjM3SDE2NC40NzZ2NTUuMjM3YTEwLjA3IDEwLjA3IDAgMDEtNi4yMzMgOS4zMTYgMTAuMDYgMTAuMDYgMCAwMS0xMS4wMDgtMi4xODlMNTguMDcgODY2LjQ2Yy0zLjk0Ni0zLjk0NC0zLjk0Ni0xMC4zNDMgMC0xNC4yOTFsODkuMTY1LTg5LjE2N3oiLz48Z2x5cGggdW5pY29kZT0i7qWdIiBnbHlwaC1uYW1lPSJ0ZW1wZXJhdHVyYSIgZD0iTTUzOS4zODQgMjg2Ljk0NXYzMDUuMTAzYzAgMTUuMDYxLTEyLjMyNSAyNy4zODQtMjcuMzg0IDI3LjM4NC0xNS4wNjEgMC0yNy4zODQtMTIuMzIzLTI3LjM4NC0yNy4zODRWMjg2Ljk0NWMtNDcuMS0xMi4yNjgtODIuMTQ5LTU0Ljc2Ni04Mi4xNDktMTA1LjY0NiAwLTYwLjQwNiA0OS4wNzItMTA5LjUzMSAxMDkuNTMzLTEwOS41MzEgNjAuNDYzIDAgMTA5LjUzMSA0OS4xMjUgMTA5LjUzMSAxMDkuNTMxIDAgNTAuODgxLTM1LjA0OSA5My4zNzktODIuMTQ3IDEwNS42NDZ6TTY5MS4yIDM3My4yOTlWNzgwLjhjMCA5OC44MTYtODAuMzg0IDE3OS4yLTE3OS4yIDE3OS4ycy0xNzkuMi04MC4zODQtMTc5LjItMTc5LjJWMzczLjI5OUMyODUuNTk0IDMyNy4xMTcgMjU2IDI2My4xNjggMjU2IDE5MiAyNTYgNTAuODQyIDM3MC44NDItNjQgNTEyLTY0YzE0MS4xNiAwIDI1NiAxMTQuODQyIDI1NiAyNTYgMCA3MS4xNjgtMjkuNTkyIDEzNS4xMTctNzYuOCAxODEuMjk5ek01MTIgMjAuMTA3Yy04OC40NjUgMC0xNjAuNDU5IDcxLjk5My0xNjAuNDU5IDE2MC40NjEgMCA1OS4xMDEgMzIuNDY1IDExMC4yODkgODAuMjI4IDEzOC4xNTZ2NDc2LjkzOGMwIDQ0LjIzMyAzNS45OTggODAuMjMgODAuMjMgODAuMjNzODAuMjMtMzUuOTk4IDgwLjIzLTgwLjIzVjMxOC43MjRjNDcuNzYzLTI3Ljg2NyA4MC4yMy03OS4wNTUgODAuMjMtMTM4LjE1Ni0uMDAyLTg4LjQ2Ny03MS45OTMtMTYwLjQ2MS0xNjAuNDYxLTE2MC40NjF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lniIgZ2x5cGgtbmFtZT0idGV4dG8iIGQ9Ik05MTIgNzQyLjg1N2MxMC42NjctMTAuNjY2IDE5LjgxLTI1LjE0MyAyNy40MjktNDMuNDI5czExLjQyOS0zNS4wNDcgMTEuNDI5LTUwLjI4NlYtOS4xNDRjMC0xNS4yMzgtNS4zMzMtMjguMTktMTYtMzguODU3cy0yMy42MTktMTYtMzguODU3LTE2aC03NjhjLTE1LjIzOCAwLTI4LjE5IDUuMzM0LTM4Ljg1NyAxNnMtMTYgMjMuNjE5LTE2IDM4Ljg1N3Y5MTQuMjg2YzAgMTUuMjM4IDUuMzM0IDI4LjE5MSAxNiAzOC44NTdzMjMuNjE5IDE2IDM4Ljg1NyAxNmg1MTJjMTUuMjM4IDAgMzItMy44MDkgNTAuMjg2LTExLjQyOXMzMi43NjItMTYuNzYyIDQzLjQyOS0yNy40MjlsMTc4LjI4Ni0xNzguMjg2ek02NjEuMzkgODU2Ljg5NVY2NzEuMTA0aDE4NS43OTFjLTMuMjk0IDkuNTU0LTYuOTE3IDE2LjMwNi0xMC44NyAyMC4yNTlMNjgxLjY0OSA4NDYuMDI1Yy0zLjk1MyAzLjk1My0xMC43MDYgNy41NzctMjAuMjU5IDEwLjg3ek04NjMuNDI5IDIzLjQyOXY1NzAuODU3SDY0MGMtMTUuMjM4IDAtMjguMTkgNS4zMzQtMzguODU3IDE2cy0xNiAyMy42MTktMTYgMzguODU3Vjg3MkgxNjAuNTcyVjIzLjQyOWg3MDIuODU3ek0yNjQuODI1IDQ5NS4wOTZjMCA2LjAwOCAxLjkzMSAxMC45NDIgNS43OTMgMTQuODA1czguNzk4IDUuNzkzIDE0LjgwNSA1Ljc5M2g0NTMuMTU1YzYuMDA5IDAgMTAuOTQyLTEuOTMxIDE0LjgwNS01Ljc5M3M1Ljc5NC04Ljc5NyA1Ljc5NC0xNC44MDVWNDUzLjljMC02LjAwNy0xLjkzMS0xMC45NDItNS43OTQtMTQuODA1cy04Ljc5Ny01Ljc5My0xNC44MDUtNS43OTNIMjg1LjQyM2MtNi4wMDcgMC0xMC45NDMgMS45MzEtMTQuODA1IDUuNzkzLTMuODYyIDMuODYzLTUuNzkzIDguNzk4LTUuNzkzIDE0LjgwNXY0MS4xOTZ6TTczOC41NzcgMzUwLjkxYzYuMDA5IDAgMTAuOTQyLTEuOTMxIDE0LjgwNS01Ljc5M3M1Ljc5NC04Ljc5NyA1Ljc5NC0xNC44MDV2LTQxLjE5N2MwLTYuMDA3LTEuOTMxLTEwLjk0Mi01Ljc5NC0xNC44MDVzLTguNzk3LTUuNzkzLTE0LjgwNS01Ljc5M0gyODUuNDIyYy02LjAwNyAwLTEwLjk0MyAxLjkzMS0xNC44MDUgNS43OTNzLTUuNzkzIDguNzk4LTUuNzkzIDE0LjgwNXY0MS4xOTdjMCA2LjAwOCAxLjkzMSAxMC45NDIgNS43OTMgMTQuODA1czguNzk4IDUuNzkzIDE0LjgwNSA1Ljc5M2g0NTMuMTU1em0wLTE2NC43ODRjNi4wMDkgMCAxMC45NDItMS45MzEgMTQuODA1LTUuNzk0czUuNzk0LTguNzk3IDUuNzk0LTE0LjgwNXYtNDEuMTk2YzAtNi4wMDgtMS45MzEtMTAuOTQyLTUuNzk0LTE0LjgwNXMtOC43OTctNS43OTQtMTQuODA1LTUuNzk0SDI4NS40MjJjLTYuMDA3IDAtMTAuOTQzIDEuOTMxLTE0LjgwNSA1Ljc5NHMtNS43OTMgOC43OTctNS43OTMgMTQuODA1djQxLjE5NmMwIDYuMDA5IDEuOTMxIDEwLjk0MiA1Ljc5MyAxNC44MDVzOC43OTggNS43OTQgMTQuODA1IDUuNzk0aDQ1My4xNTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lnyIgZ2x5cGgtbmFtZT0idXN1YXJpbyIgZD0iTTUxMiA5NTkuOTc4QzIyOS4yNiA5NTkuOTc4IDAgNzMwLjc2MyAwIDQ0OFMyMjkuMjM3LTYzLjk3OCA1MTItNjMuOTc4YzI4Mi43ODUgMCA1MTIgMjI5LjIxNSA1MTIgNTExLjk3OFM3OTQuNzg1IDk1OS45NzggNTEyIDk1OS45Nzh6bTAtMTUzLjA4OGM5My41NTcgMCAxNjkuMzctNzUuODM1IDE2OS4zNy0xNjkuMzQ3IDAtOTMuNTM1LTc1LjgxMy0xNjkuMzQ3LTE2OS4zNy0xNjkuMzQ3LTkzLjUxMiAwLTE2OS4zMjUgNzUuODEzLTE2OS4zMjUgMTY5LjM0NyAwIDkzLjUxMiA3NS44MTMgMTY5LjM0NyAxNjkuMzI1IDE2OS4zNDd6bS0uMTEyLTczNy4wMDljLTkzLjMxIDAtMTc4Ljc3IDMzLjk4Mi0yNDQuNjg4IDkwLjIyOS0xNi4wNTggMTMuNjk2LTI1LjMyMyAzMy43NzktMjUuMzIzIDU0Ljg1MiAwIDk0LjgzOSA3Ni43NTcgMTcwLjc0MiAxNzEuNjE5IDE3MC43NDJoMTk3LjA1NWM5NC44ODQgMCAxNzEuMzQ5LTc1LjkwMyAxNzEuMzQ5LTE3MC43NDJhNzEuOTg4IDcxLjk4OCAwIDAwLTI1LjMwMS01NC44M2MtNjUuODk1LTU2LjI2OS0xNTEuMzc4LTkwLjI1MS0yNDQuNzEtOTAuMjUxeiIvPjxnbHlwaCB1bmljb2RlPSLupaAiIGdseXBoLW5hbWU9InVzdWFyaW8yIiBkPSJNNzA5LjczMiA0MjguMzA5SDY2OC41MmM3OS42MTIgNTEuNTEgMTMyLjQxNSAxNDEuMDggMTMyLjQxNSAyNDIuNzU2IDAgMTU5LjMyMS0xMjkuNjE0IDI4OC45MzQtMjg4LjkzNCAyODguOTM0UzIyMy4wNjcgODMwLjM4NSAyMjMuMDY3IDY3MS4wNjVjMC0xMDEuNjc2IDUyLjc5OC0xOTEuMjQ2IDEzMi40MTUtMjQyLjc1NkgzMTQuMjdjLTEwNS45MDkgMC0xOTIuMDcyLTg2LjE1OC0xOTIuMDcyLTE5Mi4wNjdWLTMyLjA1MmMwLTE3LjY0NyAxNC4zMDYtMzEuOTUxIDMxLjk1MS0zMS45NTFoNzE1LjcwM2MxNy42NDUgMCAzMS45NTEgMTQuMzA0IDMxLjk1MSAzMS45NTF2MjY4LjI5N2MwIDEwNS45MDYtODYuMTYzIDE5Mi4wNjQtMTkyLjA3MiAxOTIuMDY0ek0yODYuOTY5IDY3MS4wNjZjMCAxMjQuMDgyIDEwMC45NDcgMjI1LjAzMiAyMjUuMDMyIDIyNS4wMzIgMTI0LjA4MiAwIDIyNS4wMzItMTAwLjk1IDIyNS4wMzItMjI1LjAzMiAwLTEyNC4wOC0xMDAuOTUtMjI1LjAyNy0yMjUuMDMyLTIyNS4wMjctMTI0LjA4NSAwLTIyNS4wMzIgMTAwLjk0Ny0yMjUuMDMyIDIyNS4wMjd6bTMxOC41MTYtMjczLjM5OWwtOTMuNDg0LTkzLjQ4Ni05My40ODQgOTMuNDg0YzI5LjMzNi0xMC4wNTggNjAuNzgxLTE1LjUyOCA5My40ODQtMTUuNTI4czY0LjE1IDUuNDcgOTMuNDg0IDE1LjUzMXpNODM3LjkwMi0uMDk4aC04Ni45MDd2MTUzLjUxNmMwIDE3LjY0Ny0xNC4zMDYgMzEuOTUxLTMxLjk1MSAzMS45NTFzLTMxLjk1MS0xNC4zMDQtMzEuOTUxLTMxLjk1MVYtLjA5OEgzMzYuOTF2MTUzLjUxNmMwIDE3LjY0Ny0xNC4zMDYgMzEuOTUxLTMxLjk1MSAzMS45NTFzLTMxLjk1MS0xNC4zMDQtMzEuOTUxLTMxLjk1MVYtLjA5OGgtODYuOTA3djIzNi4zNDNjMCA3MC42NjggNTcuNDk3IDEyOC4xNjUgMTI4LjE3IDEyOC4xNjVoNDcuMTMybDEyOC4wMDYtMTI4LjAwNGM2LjIzOS02LjIzOSAxNC40MTYtOS4zNTggMjIuNTkzLTkuMzU4czE2LjM0OSAzLjExOCAyMi41OTMgOS4zNThMNjYyLjYwMSAzNjQuNDFoNDcuMTMyYzcwLjY3MSAwIDEyOC4xNy01Ny40OTEgMTI4LjE3LTEyOC4xNjVWLS4wOTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6loSIgZ2x5cGgtbmFtZT0iem9vbSIgZD0iTTg2OS4yNjIgMjY3LjY2YzE0OC4yMSAxNDguMjE2IDE0OC4yMDggMzg5LjM4NCAwIDUzNy41OTgtMTQ4LjIxNiAxNDguMjE2LTM4OS4zOCAxNDguMjE2LTUzNy41OTggMC0xMjUuNzM4LTEyNS43NDItMTQ0Ljc4LTMxMi43NS01Ny4xNzgtNDU4Ljc4IDAgMCA2LjI5NC0xMC41NTYtMi4yMDYtMTkuMDU0QzIyMy43OTQgMjc4Ljk0MiA3OC4zMzYgMTMzLjQ4IDc4LjMzNiAxMzMuNDggMzkuNzM0IDk0Ljg4IDMwLjU0NCA0MC45MDQgNjQuNzc2IDYuNjdMNzAuNjcuNzhjMzQuMjMyLTM0LjIzNiA4OC4yMS0yNS4wNDggMTI2LjgxMiAxMy41NTJMMzkxLjAyIDIwNy44N2M4LjkwNiA4LjkwNCAxOS40NiAyLjYxMiAxOS40NiAyLjYxMiAxNDYuMDI4LTg3LjYwNCAzMzMuMDQtNjguNTYyIDQ1OC43ODIgNTcuMTc4em0tNDY3LjQxNiA3MC4xODRjLTEwOS41MTYgMTA5LjUxNi0xMDkuNTE0IDI4Ny43MDguMDAyIDM5Ny4yMjYgMTA5LjUxNiAxMDkuNTE0IDI4Ny43MTIgMTA5LjUxNiAzOTcuMjIyIDAgMTA5LjUxOC0xMDkuNTE0IDEwOS41MTgtMjg3LjcxIDAtMzk3LjIyNi0xMDkuNTEyLTEwOS41MTItMjg3LjcwOC0xMDkuNTEyLTM5Ny4yMjQgMHptMjQuMjU4IDIyMS4xNzRhMzkuMTc0IDM5LjE3NCAwIDAwLTE1LjI3NCAzLjExMmMtMTkuOTUyIDguNDQ0LTI5LjI4NiAzMS40NjQtMjAuODQyIDUxLjQyIDUzLjA3NCAxMjUuNDIyIDE5OC4yOSAxODQuMjgyIDMyMy43MTQgMTMxLjIwOCAxOS45NS04LjQ0NCAyOS4yODQtMzEuNDY0IDIwLjg0LTUxLjQyLTguNDQ4LTE5Ljk1NC0zMS40Ni0yOS4yODQtNTEuNDI0LTIwLjg0LTg1LjU3MiAzNi4yMDgtMTg0LjY1Ni0zLjk1NC0yMjAuODY0LTg5LjUyNC02LjMzMi0xNC45NjQtMjAuODU4LTIzLjk1Ni0zNi4xNS0yMy45NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6loiIgZ2x5cGgtbmFtZT0iem9vbS1leHRlbnNpb24iIGQ9Ik0xMDAyLjQzNCA3NTUuMzM5VjEzNi40NjhjMC0yMi4zOTMtNy45NzMtNDEuNTYzLTIzLjkyLTU3LjUxMS0xNS45NDYtMTUuOTQ2LTM1LjExNi0yMy45MTktNTcuNTEtMjMuOTE5SDEwNi42OThjLTIyLjM5MyAwLTQxLjU2MyA3Ljk3My01Ny41MTEgMjMuOTE5LTE1Ljk0NiAxNS45NDYtMjMuOTE5IDM1LjExNy0yMy45MTkgNTcuNTExdjYxOC44NzFjMCAyMi4zOTMgNy45NzMgNDEuNTYzIDIzLjkxOSA1Ny41MTFzMzUuMTE3IDIzLjkyIDU3LjUxMSAyMy45Mmg4MTQuMzA2YzIyLjM5MyAwIDQxLjU2My03Ljk3MyA1Ny41MS0yMy45MnMyMy45Mi0zNS4xMTggMjMuOTItNTcuNTExem0tOTEuNDc2LjY0OUgxMTYuNzQyYy00LjMwMiAwLTguMDI1LTEuNTM0LTExLjE2OS00LjYwM3MtNC43MTYtNi43MDItNC43MTYtMTAuOTAxVjE1MS4zMjFjMC00LjE5OCAxLjU3Mi03LjgzMiA0LjcxNi0xMC45MDFzNi44NjYtNC42MDMgMTEuMTY5LTQuNjAzaDc5NC4yMTdjNC4zMDIgMCA4LjAyNCAxLjUzNCAxMS4xNjkgNC42MDNzNC43MTcgNi43MDIgNC43MTcgMTAuOTAxdjU4OS4xNjVjMCA0LjE5OC0xLjU3MyA3LjgzMy00LjcxNyAxMC45MDItMy4xNDUgMy4wNjctNi44NjcgNC42MDEtMTEuMTY5IDQuNjAxek02NTUuOTEyIDM4MS41MjVjMTQuMzM3IDE0LjMzOCAyNS4wOTIgMzAuNTMgMzIuMjYxIDQ4LjU2NyA3LjE2NSAxOC4wMzYgMTAuNzQ5IDM2LjQyMiAxMC43NDkgNTUuMTUzIDAgMTguNzMzLTMuNTgyIDM3LjIzNC0xMC43NDkgNTUuNTAyLTcuMTY5IDE4LjI2Ny0xNy45MjYgMzQuNTcxLTMyLjI2MSA0OC45MTEtMTQuMzM3IDE0LjMzNy0zMC41MjkgMjQuOTc3LTQ4LjU2NCAzMS45MTMtMTguMDM4IDYuOTM4LTM2LjUzOCAxMC40MDgtNTUuNTAyIDEwLjQwOHMtMzcuNDctMy40Ny01NS41MDMtMTAuNDA4Yy0xOC4wMzgtNi45MzctMzQuMjI0LTE3LjU3OC00OC41NjMtMzEuOTEzLTE0LjM0LTE0LjMzOS0yNS4wOTItMzAuNjQyLTMyLjI2LTQ4LjkxMXMtMTAuNzU1LTM2Ljc3My0xMC43NTUtNTUuNTAyYzAtMTguNzMxIDMuNTg2LTM3LjExNyAxMC43NTUtNTUuMTUzIDcuMTY4LTE4LjAzOCAxNy45Mi0zNC4yMjYgMzIuMjYtNDguNTY3IDE0LjM0LTE0LjMzOSAzMC41MjUtMjUuMDkzIDQ4LjU2My0zMi4yNjIgMTguMDM5LTcuMTY1IDM2LjU0MS0xMC43NDkgNTUuNTAzLTEwLjc0OSAxOC45NjQgMCAzNy40NjUgMy41ODMgNTUuNTAyIDEwLjc0OSAxOC4wMzkgNy4xNzEgMzQuMjI3IDE3LjkyMyA0OC41NjQgMzIuMjYyem00Ni43OTYgMjU0Ljg2MmMyMC44NjQtMjAuODU5IDM2LjUwNi00NC40MjIgNDYuOTM3LTcwLjY4MiAxMC40MzEtMjYuMjYyIDE1LjY0Ni01Mi45ODggMTUuNjQ2LTgwLjE4MXMtNS4yMTUtNTMuOTE4LTE1LjY0Ni04MC4xNzljLTEwLjQzMS0yNi4yNjItMjYuMDc1LTQ5LjgyMi00Ni45MzctNzAuNjgyLTE2Ljc1OS0xNi43NjMtMzUuMzg3LTMwLjE3My01NS44NzUtNDAuMjMxLTIwLjQ4Ni0xMC4wNTYtNDEuNzE3LTE2Ljc1OC02My42OTktMjAuMTExLTIxLjk3NS0zLjM1NS00NC4wNDgtMy4xNy02Ni4yMS41NTUtMjIuMTY0IDMuNzI1LTQzLjMwOCAxMC44MDMtNjMuNDE5IDIxLjIzM2wtOTYuMTA2LTk2LjEwNmMtNS41ODktNS41ODYtMTEuNzMzLTkuNjgxLTE4LjQ0MS0xMi4yOTItNi43MDMtMi42MDYtMTMuNjg5LTMuOTExLTIwLjk1MS0zLjkxMXMtMTQuMjQ5IDEuMzA1LTIwLjk1MiAzLjkxMWMtNi43MDcgMi42MDgtMTIuODUzIDYuNzA1LTE4LjQ0IDEyLjI5Mi01LjU4NiA1LjU4OS05LjY4NiAxMS43MzUtMTIuMjk0IDE4LjQzOS0yLjYwNiA2LjcwNi0zLjkxMSAxMy42OS0zLjkxMSAyMC45NTNzMS4zMDUgMTQuMjQ2IDMuOTExIDIwLjk0OWMyLjYwNyA2LjcwNyA2LjcwNSAxMi44NTEgMTIuMjk0IDE4LjQzOWw5Mi43NTIgOTIuNzU0Yy0xMy4wMzggMjAuNDg3LTIyLjE2NCA0Mi40NjYtMjcuMzc4IDY1LjkzNS01LjIxNSAyMy40NjYtNi42MTQgNDYuOTM0LTQuMTkyIDcwLjM5OSAyLjQyMiAyMy40NjcgOC43NTQgNDYuMjg1IDE4Ljk5OCA2OC40NDcgMTAuMjQ0IDIyLjE2NCAyNC4zMDUgNDIuMTg2IDQyLjE4NiA2MC4wNjYgMjAuODYxIDIwLjQ4OSA0NC40MiAzNS45NDcgNzAuNjgzIDQ2LjM3OCAyNi4yNjEgMTAuNDMyIDUyLjk4OSAxNS42NDYgODAuMTgyIDE1LjY0NiAyNy4xOSAwIDUzLjkyLTUuMjE0IDgwLjE3OS0xNS42NDQgMjYuMjY1LTEwLjQzIDQ5LjgyNC0yNS44ODkgNzAuNjgzLTQ2LjM3N3oiLz48Z2x5cGggdW5pY29kZT0i7qWjIiBnbHlwaC1uYW1lPSJ6b29tLW1hcyIgZD0iTTg2OS4yNjIgMjY3LjY2YzE0OC4yMSAxNDguMjE2IDE0OC4yMSAzODkuMzg0IDAgNTM3LjU5OC0xNDguMjE0IDE0OC4yMTYtMzg5LjM4MiAxNDguMjE2LTUzNy41OTggMC0xMjUuNzM4LTEyNS43NDItMTQ0Ljc4LTMxMi43NS01Ny4xNzgtNDU4Ljc4IDAgMCA2LjI5NC0xMC41NTQtMi4yMDYtMTkuMDU0QzIyMy43OTQgMjc4Ljk0MiA3OC4zMzYgMTMzLjQ4IDc4LjMzNiAxMzMuNDggMzkuNzM0IDk0Ljg4IDMwLjU0NCA0MC45MDQgNjQuNzc2IDYuNjdMNzAuNjcuNzhjMzQuMjMyLTM0LjIzNiA4OC4yMS0yNS4wNDggMTI2LjgxMiAxMy41NTIgMCAwIDE0NS4xNTIgMTQ1LjE1MiAxOTMuNTM2IDE5My41MzggOC45MDggOC45MDQgMTkuNDYgMi42MTIgMTkuNDYgMi42MTIgMTQ2LjAyOC04Ny42MDQgMzMzLjA0Mi02OC41NjIgNDU4Ljc4NCA1Ny4xNzh6bS00NjcuNDE2IDcwLjE4NGMtMTA5LjUxNiAxMDkuNTE2LTEwOS41MTQgMjg3LjcwOC4wMDIgMzk3LjIyNiAxMDkuNTE2IDEwOS41MTQgMjg3LjcxNiAxMDkuNTE2IDM5Ny4yMjQgMCAxMDkuNTE4LTEwOS41MTQgMTA5LjUxOC0yODcuNzEgMC0zOTcuMjI2LTEwOS41MTQtMTA5LjUxNC0yODcuNzEtMTA5LjUxNC0zOTcuMjI2IDB6TTc1MC44ODggNTkxLjJoLTg1LjA1NHMtOC4xMzYuNjQtOC4xMzYgOC45NDJ2ODQuMjVjMCAxNi41OTgtMTMuNTgyIDMwLjE4LTMwLjE4MiAzMC4xOGgtNTAuMDI0Yy0xNi41OTggMC0zMC4xOC0xMy41ODItMzAuMTgtMzAuMTh2LTgzLjY4NGMwLTguODY2LTguNjA4LTkuNTA0LTguNjA4LTkuNTA0aC04NC41ODJjLTE2LjU5OCAwLTMwLjE4LTEzLjU4Mi0zMC4xOC0zMC4xOFY1MTFjMC0xNi41OTggMTMuNTgyLTMwLjE4IDMwLjE4LTMwLjE4aDgzLjk1MnM5LjIzNi0uMjYyIDkuMjM2LTkuMDY2di04NC4xMjZjMC0xNi41OTggMTMuNTgyLTMwLjE4IDMwLjE4LTMwLjE4aDUwLjAyNGMxNi42IDAgMzAuMTgyIDEzLjU4MiAzMC4xODIgMzAuMTh2ODQuNjNjMCA4LjExNCA5LjI3MiA4LjU2MiA5LjI3MiA4LjU2Mmg4My45MjJjMTYuNiAwIDMwLjE4IDEzLjU4MiAzMC4xOCAzMC4xOHY1MC4wMjRjLS4wMDIgMTYuNTk0LTEzLjU4NCAzMC4xNzYtMzAuMTgyIDMwLjE3NnoiLz48Z2x5cGggdW5pY29kZT0i7qWkIiBnbHlwaC1uYW1lPSJ6b29tLW1lbm9zIiBkPSJNODY5LjI2MiAyNjcuNjZjMTQ4LjIxIDE0OC4yMTYgMTQ4LjIxIDM4OS4zODQgMCA1MzcuNTk4LTE0OC4yMTQgMTQ4LjIxNi0zODkuMzggMTQ4LjIxNi01MzcuNTk4IDAtMTI1LjczOC0xMjUuNzQyLTE0NC43ODItMzEyLjc1LTU3LjE4LTQ1OC43OCAwIDAgNi4yOTQtMTAuNTU0LTIuMjA2LTE5LjA1NEMyMjMuNzk0IDI3OC45NDIgNzguMzM0IDEzMy40OCA3OC4zMzQgMTMzLjQ4IDM5LjczMiA5NC44OCAzMC41NCA0MC45MDQgNjQuNzc0IDYuNjdMNzAuNjY4Ljc4QzEwNC45LTMzLjQ1NiAxNTguODgtMjQuMjY4IDE5Ny40OCAxNC4zMzJMMzkxLjAxOCAyMDcuODdjOC45MDYgOC45MDQgMTkuNDYgMi42MTIgMTkuNDYgMi42MTIgMTQ2LjAyOC04Ny42MDQgMzMzLjA0Mi02OC41NjIgNDU4Ljc4NCA1Ny4xNzh6bS00NjcuNDE2IDcwLjE4NGMtMTA5LjUxNiAxMDkuNTE2LTEwOS41MTQgMjg3LjcwOCAwIDM5Ny4yMjYgMTA5LjUxNiAxMDkuNTE0IDI4Ny43MTYgMTA5LjUxNiAzOTcuMjI0IDAgMTA5LjUxNi0xMDkuNTE0IDEwOS41MTYtMjg3LjcxIDAtMzk3LjIyNi0xMDkuNTEyLTEwOS41MTQtMjg3LjcwOC0xMDkuNTE0LTM5Ny4yMjQgMHptMzc5LjIyMiAxNzMuMTUyYzAtMTYuNTk4LTEzLjU4LTMwLjE4LTMwLjE4LTMwLjE4SDQ1NC4xMmMtMTYuNTk4IDAtMzAuMTggMTMuNTgyLTMwLjE4IDMwLjE4djUwLjAyNGMwIDE2LjU5OCAxMy41ODIgMzAuMTggMzAuMTggMzAuMThoMjk2Ljc2OGMxNi42IDAgMzAuMTgtMTMuNTgyIDMwLjE4LTMwLjE4di01MC4wMjR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lpSIgZ2x5cGgtbmFtZT0icGluNSIgaG9yaXotYWR2LXg9IjkzOSIgZD0iTTcyNy4wNTUgODM2LjgxNGMtNjYuMDc5IDY2LjE1Mi0xNTcuNzU4IDEwNy4yNzMtMjU4LjUzMiAxMDcuMjczSDQ2OC4zOGMtMTAwLjc3NCAwLTE5Mi40NTItNDEuMTIxLTI1OC41MzItMTA3LjI3My02Ni4xNTItNjYuMDc3LTEwNy4yNzMtMTU3Ljc1OC0xMDcuMjczLTI1OC41M3YtLjA2OWMuMDE5LTEzLjcxMSAxLjI0MS0yNy41NzYgMy40NzMtNDEuNTk4IDIuMjM4LTE0LjAwNCA1LjQ2My0yOC4xNTggOS40OC00Mi40NjIgNy4wNTQtMjQuOTY2IDE2LjU1Ny01MC40MTkgMjcuODk1LTc1LjkzMiAxMS4zMTktMjUuNTExIDI0LjQzNy01MS4xMSAzOC43NTYtNzYuMzk5IDIxLjUyLTM3Ljg4MyA0NS42OTgtNzQuOTkzIDcwLjY2NC0xMDkuNTE2IDI0Ljk2Ni0zNC41MjEgNTAuNzAzLTY2LjQ2OSA3NS4zMzEtOTQuMDA5IDEyLjM1Mi0xMy43OTIgMjQuMzg1LTI2LjQ0OSAzNi4wNDItMzcuODQyIDExLjY0LTExLjM5NCAyMi44NzktMjEuNTEyIDMzLjY1OC0zMC4xODUgMTAuODMzLTguNjkxIDIxLjE1OC0xNS45NzcgMzEuOTEyLTIxLjgxMyA1LjQyMS0yLjg5MSAxMC45NzgtNS40NTcgMTcuMTc2LTcuNTA5IDYuMTk1LTIuMDAxIDEzLjA5OS0zLjU5OSAyMS40ODYtMy42MzhhNjkuNTk0IDY5LjU5NCAwIDAxMTYuOTUzIDIuMjY2YzUuMDEyIDEuMzMzIDkuNSAzLjExNiAxMy44MzUgNC45OTMgNy45NzggMy42MzggMTUuNTI2IDguMDUzIDIzLjA3MSAxMy4xODkgNy41MjcgNS4xNDMgMTUuMDU3IDExLjAxOSAyMi45MzkgMTcuNjA4IDEzLjY0OSAxMS41MTEgMjguMTA3IDI1LjI1MiA0My4wODEgNDAuODY4IDE0Ljk2OSAxNS41OTYgMzAuNDcgMzMuMDc2IDQ2LjIzOSA1Mi4wNzMgMjMuNTc5IDI4LjQ3NyA0Ny41ODggNjAuMjU5IDcwLjQzNCA5My44NTkgMjIuODY2IDMzLjU5NiA0NC41NjQgNjkuMDIgNjMuNTA1IDEwNC44MDMgOS40NjEgMTcuODg0IDE4LjI0NiAzNS44NjUgMjYuMTEyIDUzLjgxOSA3Ljg4MiAxNy45MjcgMTQuODY3IDM1LjgxNyAyMC42OTggNTMuNTE4IDUuODI3IDE3LjcyMiAxMC41NzYgMzUuMjc0IDEzLjg2MSA1Mi42IDMuMjg1IDE3LjMyMyA1LjEyMyAzNC40NDYgNS4xNjIgNTEuMzAzdi4wNjljLjAwNCAxMDAuNzc2LTQxLjEyOSAxOTIuNDU4LTEwNy4yODEgMjU4LjUzNHpNNDY4LjQ0OCAzNTAuNDI4Yy0xMzguMTE5IDAtMjUwLjA5MyAxMTEuOTctMjUwLjA5MyAyNTAuMDk0IDAgMTM4LjEyMSAxMTEuOTcgMjUwLjA5MyAyNTAuMDkzIDI1MC4wOTMgMTM4LjEyNSAwIDI1MC4wOTQtMTExLjk2OCAyNTAuMDk0LTI1MC4wOTMtLjAwMi0xMzguMTI1LTExMS45Ny0yNTAuMDk0LTI1MC4wOTQtMjUwLjA5NHoiLz48Z2x5cGggdW5pY29kZT0i7qWmIiBnbHlwaC1uYW1lPSJwaW4tbnVldm8yIiBob3Jpei1hZHYteD0iOTM5IiBkPSJNNzI3LjA1MyA4MzYuODE2Yy02Ni4wNzcgNjYuMTUyLTE1Ny43NTggMTA3LjI3Ny0yNTguNTI5IDEwNy4yNzdoLS4xNDZjLTEwMC43NzEgMC0xOTIuNDUtNDEuMTI1LTI1OC41MjktMTA3LjI3Ny02Ni4xNTItNjYuMDc3LTEwNy4yNzctMTU3Ljc1OC0xMDcuMjc3LTI1OC41Mjd2LS4wNzNjLjAxOS0xMy43MDcgMS4yMzktMjcuNTc2IDMuNDczLTQxLjU5OCAyLjIzNi0xNC4wMDQgNS40NjMtMjguMTU4IDkuNDgtNDIuNDYyIDcuMDU2LTI0Ljk2NiAxNi41NTctNTAuNDE5IDI3Ljg5NS03NS45MzIgMTEuMzE5LTI1LjUxMSAyNC40MzktNTEuMTEyIDM4Ljc2LTc2LjM5OSAyMS41MTYtMzcuODgzIDQ1LjY5NC03NC45OTMgNzAuNjYxLTEwOS41MTYgMjQuOTY2LTM0LjUyMSA1MC43MDMtNjYuNDY5IDc1LjMzMS05NC4wMDkgMTIuMzUyLTEzLjc5MyAyNC4zODUtMjYuNDQ5IDM2LjA0Mi0zNy44NDIgMTEuNjQtMTEuMzk0IDIyLjg4MS0yMS41MTIgMzMuNjU4LTMwLjE4NSAxMC44MzMtOC42OTEgMjEuMTU4LTE1Ljk3NyAzMS45MTItMjEuODEzIDUuNDIzLTIuODkxIDEwLjk4LTUuNDU5IDE3LjE3Ni03LjUwOSA2LjE5NS0yLjAwNSAxMy4xMDEtMy42IDIxLjQ5LTMuNjM4IDYuNDAxLjA3NSAxMS45Mi45NTkgMTYuOTUxIDIuMjY2IDUuMDEyIDEuMzMzIDkuNDk5IDMuMTE2IDEzLjgzNSA0Ljk5MyA3Ljk3OCAzLjYzOCAxNS41MjIgOC4wNTMgMjMuMDcxIDEzLjE5MyA3LjUyNyA1LjE0MyAxNS4wNTUgMTEuMDE5IDIyLjkzOSAxNy42MDggMTMuNjQ3IDExLjUxMSAyOC4xMDUgMjUuMjUyIDQzLjA4MSA0MC44NjggMTQuOTY1IDE1LjU5NyAzMC40NjggMzMuMDc2IDQ2LjIzNSA1Mi4wNzMgMjMuNTgxIDI4LjQ3NyA0Ny41OSA2MC4yNTkgNzAuNDM0IDkzLjg1OSAyMi44NjYgMzMuNiA0NC41NjQgNjkuMDIyIDYzLjUwNSAxMDQuODAzIDkuNDYxIDE3Ljg4OCAxOC4yNDYgMzUuODY5IDI2LjExMiA1My44MTkgNy44ODIgMTcuOTI3IDE0Ljg2NyAzNS44MTcgMjAuNzAyIDUzLjUxOCA1LjgyMyAxNy43MjIgMTAuNTcyIDM1LjI3NCAxMy44NTcgNTIuNiAzLjI4NSAxNy4zMjQgNS4xMjMgMzQuNDQ2IDUuMTYyIDUxLjMwM3YuMDczYy4wMDQgMTAwLjc2OS00MS4xMjcgMTkyLjQ1LTEwNy4yNzkgMjU4LjUyN3ptLTI1OC42MDUtNDg2LjM5Yy0xMzguMTIzIDAtMjUwLjA5NCAxMTEuOTctMjUwLjA5NCAyNTAuMDk0czExMS45NyAyNTAuMDk0IDI1MC4wOTQgMjUwLjA5NCAyNTAuMDk0LTExMS45NyAyNTAuMDk0LTI1MC4wOTRjMC0xMzguMTI1LTExMS45Ny0yNTAuMDk0LTI1MC4wOTQtMjUwLjA5NHpNNDg4LjA1MyA3NTMuNGMtNS40NjggNS4wMzYtMTIuNjI2IDguMjg2LTIwLjY0OSA4LjI3MS04LjAxMiAwLTE1LjE4My0zLjIzOC0yMC42NDktOC4yNzEtNi4wODYtNS41OTItMTAuMDM0LTEzLjQ3Ni0xMC4wMTgtMjIuMzk3bC4wMTMtOTkuNDM2LTk5LjQzNi4wMTNjLTguOTM1IDAtMTYuNzg4LTMuOTUtMjIuMzk3LTEwLjAyLTUuMDM2LTUuNDY2LTguMjg0LTEyLjYyNi04LjI3MS0yMC42NDcgMC04LjAxNiAzLjIzOC0xNS4xODMgOC4yNzEtMjAuNjQ5IDUuNTkyLTYuMDg4IDEzLjQ2MS0xMC4wMTggMjIuMzk3LTEwLjAxOGw5OS40MzYtLjAxOXYtOTkuNDE5YzAtOC45MzcgMy45NS0xNi43ODQgMTAuMDItMjIuMzk3IDUuNDY0LTUuMDM1IDEyLjYyOC04LjI4OCAyMC42NDctOC4yNzEgOC4wMTQgMCAxNS4xODMgMy4yNDQgMjAuNjQ5IDguMjcxIDYuMDg4IDUuNTkyIDEwLjAyIDEzLjQ1OSAxMC4wMiAyMi4zOTd2OTkuNDE5aDk5LjQ1MWM4LjkzNyAwIDE2Ljc4NiAzLjk1IDIyLjM5NyAxMC4wMjQgNS4wMzYgNS40NjMgOC4yODQgMTIuNjI0IDguMjcxIDIwLjY0OSAwIDguMDEtMy4yNCAxNS4xODEtOC4yNzEgMjAuNjQ3LTUuNTkyIDYuMDg0LTEzLjQ1OSAxMC4wMi0yMi4zOTcgMTAuMDJoLTk5LjQ1MXY5OS40MjFjLjAwMiA4LjkzNS0zLjkzMyAxNi44MDMtMTAuMDM0IDIyLjQxMnoiLz48Z2x5cGggdW5pY29kZT0i7qWnIiBnbHlwaC1uYW1lPSJwaW4tc2VsZWNjaW9uYWRvIiBob3Jpei1hZHYteD0iOTM5IiBkPSJNNzI3LjA1NSA4MzYuODE0Yy02Ni4wNzkgNjYuMTUyLTE1Ny43NTggMTA3LjI3NS0yNTguNTMgMTA3LjI3NUg0NjguMzgxYy0xMDAuNzcyIDAtMTkyLjQ1Mi00MS4xMjMtMjU4LjUzLTEwNy4yNzUtNjYuMTUyLTY2LjA3Ny0xMDcuMjc1LTE1Ny43NTgtMTA3LjI3NS0yNTguNTI5di0uMDcxYy4wMTktMTMuNzA5IDEuMjQxLTI3LjU3NiAzLjQ3My00MS41OTggMi4yMzgtMTQuMDA0IDUuNDYzLTI4LjE1OCA5LjQ4LTQyLjQ2MiA3LjA1NC0yNC45NjYgMTYuNTU3LTUwLjQxOSAyNy44OTUtNzUuOTMyIDExLjMxOS0yNS41MTEgMjQuNDM3LTUxLjExIDM4Ljc1OC03Ni4zOTkgMjEuNTE4LTM3Ljg4MyA0NS42OTYtNzQuOTkzIDcwLjY2My0xMDkuNTE2IDI0Ljk2Ni0zNC41MjEgNTAuNzAzLTY2LjQ2OSA3NS4zMzEtOTQuMDA5IDEyLjM1Mi0xMy43OTIgMjQuMzg1LTI2LjQ0OSAzNi4wNDItMzcuODQyIDExLjY0LTExLjM5NCAyMi44ODEtMjEuNTEyIDMzLjY1OC0zMC4xODUgMTAuODMzLTguNjkxIDIxLjE1OC0xNS45NzcgMzEuOTEyLTIxLjgxMyA1LjQyMS0yLjg5MSAxMC45NzgtNS40NTcgMTcuMTc2LTcuNTA5IDYuMTk1LTIuMDAzIDEzLjA5OS0zLjU5OSAyMS40ODgtMy42MzggNi40MDEuMDc1IDExLjkyLjk1OSAxNi45NTMgMi4yNjYgNS4wMTIgMS4zMzMgOS40OTkgMy4xMTYgMTMuODM1IDQuOTkzIDcuOTc4IDMuNjM4IDE1LjUyNCA4LjA1MyAyMy4wNzEgMTMuMTkxIDcuNTI3IDUuMTQzIDE1LjA1NyAxMS4wMTkgMjIuOTM5IDE3LjYwOCAxMy42NDcgMTEuNTA5IDI4LjEwNSAyNS4yNTIgNDMuMDgxIDQwLjg2OCAxNC45NjcgMTUuNTk2IDMwLjQ3IDMzLjA3NiA0Ni4yMzcgNTIuMDczIDIzLjU3OSAyOC40NzcgNDcuNTg4IDYwLjI1OSA3MC40MzQgOTMuODU5IDIyLjg2NiAzMy41OTggNDQuNTY0IDY5LjAyIDYzLjUwNSAxMDQuODAzIDkuNDYxIDE3Ljg4NiAxOC4yNDYgMzUuODY3IDI2LjExMiA1My44MTkgNy44ODIgMTcuOTI3IDE0Ljg2NyAzNS44MTcgMjAuNyA1My41MTggNS44MjUgMTcuNzIyIDEwLjU3NCAzNS4yNzQgMTMuODU5IDUyLjYgMy4yODUgMTcuMzIzIDUuMTIzIDM0LjQ0NiA1LjE2MiA1MS4zMDN2LjA3MWMuMDAyIDEwMC43NzItNDEuMTI5IDE5Mi40NTQtMTA3LjI4MSAyNTguNTN6TTQ2OC40NDggMzUwLjQyOGMtMTM4LjEyMSAwLTI1MC4wOTMgMTExLjk3LTI1MC4wOTMgMjUwLjA5NCAwIDEzOC4xMjEgMTExLjk3IDI1MC4wOTMgMjUwLjA5MyAyNTAuMDkzczI1MC4wOTQtMTExLjk3IDI1MC4wOTQtMjUwLjA5M2MtLjAwMi0xMzguMTI1LTExMS45NzItMjUwLjA5NC0yNTAuMDk0LTI1MC4wOTR6bTE1NC4zNTYgMjUwLjA5M2MwLTg1LjI0OS02OS4xMDgtMTU0LjM1Ny0xNTQuMzU3LTE1NC4zNTdTMzE0LjA5IDUxNS4yNzIgMzE0LjA5IDYwMC41MjFzNjkuMTA4IDE1NC4zNTcgMTU0LjM1NyAxNTQuMzU3IDE1NC4zNTctNjkuMTA4IDE1NC4zNTctMTU0LjM1N3oiLz48Z2x5cGggdW5pY29kZT0i7qWoIiBnbHlwaC1uYW1lPSJicnVqdWxhLW5vcnRlIiBkPSJNMTU2LjMzNSA4MTYuMzAyQy00Ny4wNzQgNjE5Ljg3Mi01Mi43MyAyOTUuNzQyIDE0My42OTggOTIuMzM1czUyMC41Ni0yMDkuMDY1IDcyMy45NjctMTIuNjM3YzIwMy40MDkgMTk2LjQzIDIwOS4wNjUgNTIwLjU2IDEyLjYzNyA3MjMuOTY3cy01MjAuNTU4IDIwOS4wNjYtNzIzLjk2NyAxMi42Mzd6TTgwMC43OTkgMTQ4Ljk0QzYzNS42NDQtMTAuNTQ5IDM3Mi40MjktNS45NTQgMjEyLjk0MSAxNTkuMjAxYy0xNTkuNDkgMTY1LjE1Ny0xNTQuODk2IDQyOC4zNzEgMTAuMjYgNTg3Ljg2IDE2NS4xNTcgMTU5LjQ5IDQyOC4zNzEgMTU0Ljg5NiA1ODcuODYxLTEwLjI2MXMxNTQuODk0LTQyOC4zNy0xMC4yNjMtNTg3Ljg2em0tMjk0LjcxNS0zOC4zMDdzMTI3LjIgMjU4LjU4IDEyOC41ODIgMzM1LjIyNmMxLjMzOSA3Ni42OTEtMTE2LjgwNSAzMzkuNTEyLTExNi44MDUgMzM5LjUxMnMtMTI3LjItMjU4LjU4LTEyOC41MzktMzM1LjIyOWMtMS4zMzktNzYuNjQ5IDExNi43NjEtMzM5LjUwOCAxMTYuNzYxLTMzOS41MDh6bS00NC4yNzEgMzI0LjE5MWw5OS44NzYtMS43NDNjMjQuOTctLjQzNy01Mi45OS0xNzMuOTExLTUyLjk5LTE3My45MTFzLTcxLjg1NSAxNzYuMDkyLTQ2Ljg4NiAxNzUuNjU1eiIvPjwvZm9udD48L2RlZnM+PC9zdmc+) format("svg");font-weight:400;font-style:normal;font-display:block}[class*=" g-cartografia-"],[class^=g-cartografia-]{font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.g-cartografia-alerta:before{content:"\e900"}.g-cartografia-ayuda:before{content:"\e901"}.g-cartografia-bandera:before{content:"\e902"}.g-cartografia-brujula:before{content:"\e903"}.g-cartografia-cancelar:before{content:"\e904"}.g-cartografia-cancelar2:before{content:"\e905"}.g-cartografia-capas:before{content:"\e906"}.g-cartografia-capas2:before{content:"\e907"}.g-cartografia-check:before{content:"\e908"}.g-cartografia-check2:before{content:"\e909"}.g-cartografia-check3:before{content:"\e90a"}.g-cartografia-check4:before{content:"\e90b"}.g-cartografia-check5:before{content:"\e90c"}.g-cartografia-comentarios:before{content:"\e90d"}.g-cartografia-descargar:before{content:"\e90e"}.g-cartografia-editar:before{content:"\e90f"}.g-cartografia-editar2:before{content:"\e910"}.g-cartografia-escala:before{content:"\e911"}.g-cartografia-escala2:before{content:"\e912"}.g-cartografia-escala3:before{content:"\e913"}.g-cartografia-flecha:before{content:"\e914"}.g-cartografia-flecha-abajo:before{content:"\e915"}.g-cartografia-flecha-abajo2:before{content:"\e916"}.g-cartografia-flecha-arriba:before{content:"\e917"}.g-cartografia-flecha-arriba2:before{content:"\e918"}.g-cartografia-flecha-derecha:before{content:"\e919"}.g-cartografia-flecha-derecha2:before{content:"\e91a"}.g-cartografia-flecha-derecha3:before{content:"\e91b"}.g-cartografia-flecha-deshacer:before{content:"\e91c"}.g-cartografia-flecha-izquierda:before{content:"\e91d"}.g-cartografia-flecha-izquierda2:before{content:"\e91e"}.g-cartografia-flecha-izquierda3:before{content:"\e91f"}.g-cartografia-flecha-link:before{content:"\e920"}.g-cartografia-flechas-mover:before{content:"\e921"}.g-cartografia-gps:before{content:"\e922"}.g-cartografia-gps2:before{content:"\e923"}.g-cartografia-gps3:before{content:"\e924"}.g-cartografia-gps4:before{content:"\e925"}.g-cartografia-guardar:before{content:"\e926"}.g-cartografia-herramienta:before{content:"\e927"}.g-cartografia-impresora:before{content:"\e928"}.g-cartografia-info:before{content:"\e929"}.g-cartografia-linea:before{content:"\e92a"}.g-cartografia-lineas:before{content:"\e92b"}.g-cartografia-lista:before{content:"\e92c"}.g-cartografia-localizacion:before{content:"\e92d"}.g-cartografia-localizacion2:before{content:"\e92e"}.g-cartografia-localizacion3:before{content:"\e92f"}.g-cartografia-localizacion4:before{content:"\e930"}.g-cartografia-mano:before{content:"\e931"}.g-cartografia-mano2:before{content:"\e932"}.g-cartografia-mapa:before{content:"\e933"}.g-cartografia-mas:before{content:"\e934"}.g-cartografia-mas2:before{content:"\e935"}.g-cartografia-medir-area:before{content:"\e936"}.g-cartografia-medir-linea:before{content:"\e937"}.g-cartografia-menos:before{content:"\e938"}.g-cartografia-menos2:before{content:"\e939"}.g-cartografia-menu:before{content:"\e93a"}.g-cartografia-mundo:before{content:"\e93b"}.g-cartografia-mundo2:before{content:"\e93c"}.g-cartografia-opciones:before{content:"\e93d"}.g-cartografia-papelera:before{content:"\e93e"}.g-cartografia-pin:before{content:"\e93f"}.g-cartografia-pin-nuevo:before{content:"\e940"}.g-cartografia-pin2:before{content:"\e941"}.g-cartografia-pin3:before{content:"\e942"}.g-cartografia-pin4:before{content:"\e943"}.g-cartografia-poligono:before{content:"\e944"}.g-cartografia-posicion:before{content:"\e945"}.g-cartografia-posicion2:before{content:"\e946"}.g-cartografia-posicion3:before{content:"\e947"}.g-cartografia-posicion4:before{content:"\e948"}.g-cartografia-posicion5:before{content:"\e949"}.g-cartografia-posicion6:before{content:"\e94a"}.g-cartografia-posicion7:before{content:"\e94b"}.g-cartografia-prismaticos:before{content:"\e94c"}.g-cartografia-regla:before{content:"\e94d"}.g-cartografia-reglas:before{content:"\e94e"}.g-cartografia-ruta:before{content:"\e94f"}.g-cartografia-spinner:before{content:"\e950"}.g-cartografia-spinner2 .path1:before{content:"\e951";color:#6b6b6b}.g-cartografia-spinner2 .path2:before{content:"\e952";margin-left:-1em;color:#6b6b6b;opacity:.1}.g-cartografia-spinner2 .path3:before{content:"\e953";margin-left:-1em;color:#6b6b6b;opacity:.2}.g-cartografia-spinner2 .path4:before{content:"\e954";margin-left:-1em;color:#6b6b6b;opacity:.3}.g-cartografia-spinner2 .path5:before{content:"\e955";margin-left:-1em;color:#6b6b6b;opacity:.4}.g-cartografia-spinner2 .path6:before{content:"\e956";margin-left:-1em;color:#6b6b6b;opacity:.5}.g-cartografia-spinner2 .path7:before{content:"\e957";margin-left:-1em;color:#6b6b6b;opacity:.6}.g-cartografia-spinner2 .path8:before{content:"\e958";margin-left:-1em;color:#6b6b6b;opacity:.7}.g-cartografia-spinner2 .path9:before{content:"\e959";margin-left:-1em;color:#6b6b6b;opacity:.8}.g-cartografia-spinner2 .path10:before{content:"\e95a";margin-left:-1em;color:#6b6b6b;opacity:.9}.g-cartografia-subir:before{content:"\e95b"}.g-cartografia-tamano:before{content:"\e95c"}.g-cartografia-temperatura:before{content:"\e95d"}.g-cartografia-texto:before{content:"\e95e"}.g-cartografia-usuario:before{content:"\e95f"}.g-cartografia-usuario2:before{content:"\e960"}.g-cartografia-zoom:before{content:"\e961"}.g-cartografia-zoom-extension:before{content:"\e962"}.g-cartografia-zoom-mas:before{content:"\e963"}.g-cartografia-zoom-menos:before{content:"\e964"}.g-cartografia-pin5:before{content:"\e965"}.g-cartografia-pin-nuevo2:before{content:"\e966"}.g-cartografia-pin-seleccionado:before{content:"\e967"}.g-cartografia-brujula-norte:before{content:"\e968"}.m-position-top{top:0}.m-position-bottom{bottom:0}.m-position-right{right:0}.m-position-left{left:0}.m-mapea-container{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlMICLCRzwIAAAAVSURBVBjTY2CEAwYEGNKCw8QbCEEApbQAyTWv+7EAAAAASUVORK5CYII=);font-family:Muli,"sans-serif"!important;font-size:13px;color:#6c6c6c;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;-webkit-rtl-ordering:logical;-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}.m-control{position:absolute;margin:0;z-index:990;overflow-y:hidden;background-color:hsla(0,0%,100%,.4);border-radius:4px;padding:2px}.m-control>button{color:#404040}div.m-control button[class*=" g-cartografia-"],div.m-control button[class^=g-cartografia-]{font-size:28px;padding:8px;font-size:24px;background:none;border:none;cursor:pointer;opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s;color:#404040;margin:0}.ol-overviewmap>button{opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:hover,.ol-overviewmap>button:hover,div.m-control.activated button[class^=g-cartografia-],div.m-control button[class*=" g-cartografia-"]:hover,div.m-control button[class^=g-cartografia-]:hover{opacity:1!important}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus,div.m-control button[class*=" g-cartografia-"]:focus,div.m-control button[class^=g-cartografia-]:focus{outline:none}.m-clear-btn,.m-help-btn{opacity:.4!important;font-size:18px!important}.m-search-btn{order:3;padding-right:14px}.m-help-btn{order:2}.m-clear-btn{order:1}.m-results-btn{display:none}.m-label-content{white-space:nowrap}.m-mapea-container input[type=text],.m-mapea-container textarea{margin:5px;padding:5px;background-color:transparent;cursor:auto;border-radius:4px;border:1px solid rgba(0,0,0,.5);-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6c6c6c;font-family:Muli,"sans-serif"!important;font-size:13px}.m-mapea-container input[type=text]:focus{outline:none}@media only screen and (max-width:768px){.m-wordbreak{word-break:break-all;white-space:none}}button::-moz-focus-inner{border:0}@-moz-keyframes mloading{to{-moz-transform:rotate(1turn)}}@-webkit-keyframes mloading{to{-webkit-transform:rotate(1turn)}}@keyframes mloading{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.m-area.m-top.m-right,.m-areas,.ol-overlaycontainer-stopevent,.ol-viewport{height:inherit!important}.m-panel.m-layerswitcher.opened{height:calc(100% - 30px)}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{height:100%!important;max-height:100%}.m-attribution{left:3px!important;right:inherit!important;z-index:999999}@media print{.ol-control{display:none}}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{opacity:1;-webkit-transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s;transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{opacity:0;max-width:0;max-height:0;-webkit-transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s;transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s}.m-location-container.m-locating>button#m-location-button:before{-webkit-animation:mloading 1s linear infinite;-moz-animation:mloading 1s linear infinite}.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-step-marker{width:1px;height:15px;background-color:#000;float:right;z-Index:10}.ol-scale-step-text{bottom:-5px;font-size:12px;z-Index:11}.ol-scale-step-text,.ol-scale-text{position:absolute;color:#000;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.ol-scale-text{font-size:14px;text-align:center;bottom:25px}.ol-scale-singlebar{position:relative;height:10px;z-Index:9;border:1px solid #000}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ol-overlaycontainer,.ol-overlaycontainer-stopevent{pointer-events:none}.ol-overlaycontainer-stopevent>*,.ol-overlaycontainer>*{pointer-events:auto}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:hsla(0,0%,100%,.4);border-radius:4px;padding:2px}.ol-control:hover{background-color:hsla(0,0%,100%,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-control button span{pointer-events:none}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-viewport>div.ol-unselectable>div img{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;-ms-perspective:1000;perspective:1000}.ol-box{border:1px solid #337ceb!important;background-color:rgba(51,124,235,.33)!important}.ol-zoom>button{background-color:#fff!important;margin:0!important;padding:0;color:#404040!important;opacity:.75;font-size:18px!important;text-align:center;cursor:pointer;width:30px!important;height:30px!important;box-shadow:0 1px 3px 0 #cacaca}.ol-zoom>button:focus,.ol-zoom>button:hover{background-color:transparent;outline:none!important}.ol-zoom>button:hover{opacity:1}.ol-zoomslider{height:198px!important;overflow:auto!important}.ol-zoomslider>button.ol-zoomslider-thumb{background-color:#f0f0f0;border:1px solid rgba(64,64,64,.4);border-radius:20px;padding:0;margin:-5px;height:20px!important;width:20px!important}@-moz-document url-prefix(){.ol-zoomslider>button.ol-zoomslider-thumb{position:relative!important}}.ol-scale-line .ol-scale-line-inner{color:#404040;border-color:#404040}@media only screen and (max-width:768px){.ol-scale-line-up{margin-bottom:30px;margin-left:-15px}}.ol-overviewmap{background-color:#fff!important;border-radius:4px!important;display:block;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;transition:border-radius .33s ease 0s;order:1!important;margin-left:10px!important;display:relative!important}.ol-overviewmap:not(.ol-collapsed) button{position:static!important;position:absolute!important;right:0!important;background-color:#fff!important;border-radius:15px;left:auto!important;right:4px;padding:0 2px 2px;font-size:6px}.ol-overviewmap:not(.ol-collapsed) .ol-overviewmap-map{margin:4px!important}.ol-overviewmap:not(.ol-collapsed)>button:before{font-size:11px!important}.ol-overviewmap.ol-collapsed{border-radius:20px!important}.ol-overviewmap .ol-overviewmap-map{border:0!important;transition:width .33s ease 0s,height .33s ease 0s}.ol-overviewmap.ol-collapsed .ol-overviewmap-map{display:inline-block!important;height:0;width:0;margin:0;padding:0}.ol-overviewmap>button{bottom:4px!important}.ol-overviewmap.ol-collapsed>button,.ol-overviewmap>button{width:20px!important;height:20px!important;border-radius:20px;margin:0!important;padding:0;background-color:transparent!important;color:#404040!important;opacity:.75!important;font-size:15px!important;background:none;border:none;cursor:pointer;font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.ol-overviewmap.ol-collapsed>button:hover{opacity:1}.ol-overviewmap.ol-collapsed>button{height:40px!important;width:40px!important}.ol-overviewmap>button:active,.ol-overviewmap>button:focus,.ol-overviewmap>button:hover{background-color:transparent;outline:none}.ol-overviewmap>button>span{display:none}@media only screen and (max-width:768px){.ol-overviewmap{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container,.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{border-radius:20px!important}.m-panel.m-map-info>div.m-panel-controls>div.ol-overviewmap{order:1}.m-wmcselector-container{bottom:8px;right:60px;display:block;padding:0;margin:0}.m-wmcselector-container:before{font-family:g-cartografia!important}.m-wmcselector-select{border:none;background-color:#fefefe;color:#6c6c6c;font-weight:400;text-decoration:none;outline:none;margin:0;-webkit-appearance:none}.m-layerswitcher-container{position:absolute;top:.5em;right:.5em;text-align:left;overflow-y:auto!important;width:100%}@media only screen and (min-width:769px){.m-layerswitcher-container{min-width:440px!important}}.m-layerswitcher-container .m-layersiwtcher-panel{margin:0;top:0;right:0;max-height:100%;text-align:left;background-color:#f4f4f4}.m-layerswitcher-container li.group{padding-top:5px;padding-bottom:8px;text-align:center}.m-layerswitcher-container li.group>div{line-height:normal;margin:0;color:#404040;font-family:Muli,"sans-serif"!important;line-height:40px;text-align:center;border-bottom:1px solid rgba(0,0,0,.08);font-size:15px}.m-layerswitcher-container li div{font-family:sans-serif;font-size:.8em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:1.4em;line-height:40px;text-align:center;font-size:15px}.m-layerswitcher-container ul>li{overflow:hidden}.m-layerswitcher-container ul>li.group>ul>li{margin:10px;background-color:#fff}.m-layerswitcher-container li span.m-check{color:#6abe47;margin:0 1% 0 0}.m-layerswitcher-container li input.m-layerswitcher-transparency{margin-right:3%;width:74%}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{width:81%;margin-top:16px}.m-layerswitcher-container .tools span{display:block;margin-top:-12px;margin-left:143px}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-layerswitcher-container li input.m-layerswitcher-transparency{display:block;margin-top:1px}.m-layerswitcher-container .tools span{display:block;margin-top:-52px;float:right;margin-right:13%}}.m-layerswitcher-container li span.m-layerswitcher-remove{font-size:11px;color:rgba(0,0,0,.53);cursor:pointer}@media only screen and (max-width:768px){.m-layerswitcher-container li span.m-check{font-size:2em;margin-right:5%}.m-layerswitcher-container li input.m-layerswitcher-transparency{width:77%;display:none}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{width:66%}}.m-layerswitcher-container li span.m-layerswitcher-remove{font-size:13px}.m-layerswitcher-container li.visible input.m-layerswitcher-transparency{display:initial}.m-layerswitcher-container li.visible span.m-layerswitcher-remove{font-size:11px}}.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{padding:0 5px;text-align:left;margin:0;border-bottom:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.m-layersiwtcher-panel li.visible>div.tools{width:40%;height:auto}.m-layersiwtcher-panel div.tools{float:right;text-align:left}.m-layersiwtcher-panel li.visible>div.layer{margin-bottom:4px}.m-layersiwtcher-panel div.layer{margin-bottom:4px;float:left;width:55%}@media only screen and (max-width:768px){.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{width:90%;padding-right:0}}.m-layersiwtcher-panel li.visible>div.layer-base{margin:0;border:0}.m-layersiwtcher-panel li>div.legend{width:100%;text-align:left;height:0}.m-layersiwtcher-panel li.visible>div.legend{width:90%;height:auto;margin:0 auto}@media only screen and (max-width:768px){.m-layersiwtcher-panel li.visible>div.tools{width:90%;float:none}.m-layersiwtcher-panel div.tools{width:calc(10% - 5px);float:right;text-align:left;margin:0 auto}}.m-layerswitcher-container li.disabled span{color:#666}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{color:#fda823;height:40px}.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{position:absolute;left:-40px;background-color:#fda823;color:#fff;z-index:999999;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{background-color:transparent;position:absolute;left:auto;right:0;color:#fda823;z-index:999999;box-shadow:none}}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>button.m-panel-btn{position:inherit;color:#fda823;left:0;box-shadow:none}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{padding:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{border-top-left-radius:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-width:61vw}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{width:100vw;height:100vh;position:fixed;top:0;left:0;margin:0;z-index:10000}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-width:100vw;max-height:100vh;width:100%}}input[type=range].m-layerswitcher-transparency{-webkit-appearance:none;width:30%;height:8px}@media (-ms-high-contrast:active),(-ms-high-contrast:none){input[type=range].m-layerswitcher-transparency{height:auto}}input[type=range].m-layerswitcher-transparency:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:2px;cursor:pointer;background:rgba(0,0,0,.31);border-radius:12px}input[type=range]::-webkit-slider-thumb{height:10px;width:10px;cursor:pointer;border-radius:15px;background:#fff;-webkit-appearance:none;margin-top:-4px;background-color:#fda823}@media only screen and (max-width:768px){input[type=range]::-webkit-slider-thumb{height:12px;width:12px}}input[type=range]::-moz-range-track{width:100%;height:2px;cursor:pointer;background:rgba(0,0,0,.31);border-radius:12px}input[type=range]::-moz-range-thumb{height:10px;width:10px;cursor:pointer;border:none;background:#fff;-webkit-appearance:none;margin-top:20px;background-color:#fda823}input[type=range]::-ms-track{cursor:pointer;width:100%;height:2px;background:transparent;border-color:transparent;border-width:12px;color:transparent;margin-top:-8px}input[type=range]::-ms-thumb{border:none;height:10px;cursor:pointer;width:10px;border-radius:15px;background-color:#fda823;-webkit-appearance:none}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ddd;border-radius:10px}input[type=range]:disabled::-moz-range-thumb,input[type=range]:disabled::-ms-thumb,input[type=range]:disabled::-webkit-slider-thumb{background-color:#848484}input[type=range]:disabled{opacity:.5}.m-areas>div.m-area>div.m-panel.m-layerswitcher{background-color:#f4f4f4}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{overflow:hidden;overflow-y:auto;padding-right:0}.m-layersiwtcher-panel>ul{margin:0;padding:0}.m-layerswitcher-container ul.m-base-layers,.m-layerswitcher-container ul.m-groups,.m-layerswitcher-container ul.m-layers,ul.m-groups>li.m-group>ul.m-layers{list-style:none;padding:10px}ul.m-groups>li.m-group{background:#eaeaea}ul.m-base-layers>li.m-layer,ul.m-groups>li.m-group,ul.m-layers>li.m-layer{box-shadow:0 1px 2px rgba(0,0,0,.3)}ul.m-groups>li.m-group>.m-title{cursor:pointer}ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{float:left;width:24px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{text-align:left;display:inline-block;width:59%}@-moz-document url-prefix(){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{text-align:left;display:inline-block;width:59%}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:57%}}}ul.m-groups>li.m-group>.m-title{float:left;width:calc(96% - 48px)}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{width:38px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:53%}ul.m-groups>li.m-group>.m-title{width:calc(94% - 48px)}}ul.m-groups>li.m-group>.m-collapsed-icon{width:24px;cursor:pointer}ul.m-base-layers,ul.m-layers{background-color:#f9f9f9}ul.m-base-layers>li,ul.m-layers>li{background-color:#fff;margin-bottom:5px;border:1px solid rgba(0,0,0,.1)}ul.m-base-layers>li>div.m-legend,ul.m-layers>li>div.m-legend{padding-top:12.5px;padding-bottom:12.5px}ul.m-base-layers>li>div.m-legend{max-width:50vw}ul.m-base-layers>li>div.m-legend>img,ul.m-layers>li>div.m-legend>img{max-width:45vw;margin:auto!important}.m-popup{position:absolute;background-color:#fff;border:1px solid #ccc;bottom:12px;left:-50px;border-radius:5px;box-shadow:2px 2px 8px -4px rgba(0,0,0,.53)}.m-popup:after,.m-popup:before{top:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.m-popup:after{border-top-color:#fff;border-width:10px;left:48px;margin-left:-10px}.m-popup:before{border-top-color:#ccc;border-width:11px;left:48px;margin-left:-11px}.m-popup-content{min-width:170px;width:auto;overflow-x:auto;max-width:50vw;max-height:70vh}.m-popup>div.m-content>div.m-header{cursor:pointer}.m-popup>div.m-content>div.m-header>div.m-subtitle,.m-popup>div.m-content>div.m-header>div.m-title{display:none}.m-popup-closer{position:absolute;top:2px;right:2px;font-size:100%;padding:0 4px;color:grey;text-decoration:none}.m-popup-closer:after{content:"\2716"}.m-popup div.infoResult{min-width:130px}.m-popup div.infoResult p{padding:.1em;margin:0}.m-popup-content h3{margin:.25em 0}.m-popup.marker{margin-bottom:30px}.m-popup .m-content{margin:0;padding:15px 27px 15px 15px}.m-popup .m-footer{margin:0;padding:5px 0;display:flex}.m-popup .m-footer>a>button{border:none;background-color:transparent;cursor:pointer;font-size:18px;color:#337ceb;transition:color .3s}.m-popup .m-footer>a>button:hover{color:#d9534f}.m-popup>div.m-content>div.m-body{overflow-y:auto;overflow-x:hidden;max-height:50vh;width:calc(100% + 15px)}@media only screen and (max-width:768px){.m-popup>div.m-content>div.m-body{width:calc(100% - 30px);margin-left:15px;margin-top:15px}}.m-popup>div.m-popup-content>div.m-content+div.m-content{margin-top:10px}.m-popup>div.m-popup-content>div.m-content>p.m-title{text-align:center;line-height:30px;font-size:15px;color:#404040;background-color:#dedede;margin-top:0;font-weight:700}.m-popup>div.m-popup-content>div.m-content:last-child{border-bottom:0}.m-popup div.m-editattribute-content button.save{display:table;margin:10px 0;padding:5px;background-color:#fff;font-family:Muli,"sans-serif"!important;width:97%;border-radius:4px;border:1px solid rgba(0,0,0,.4);font-size:15px;line-height:25px;cursor:pointer;opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s;color:#404040}.m-popup div.m-editattribute-content button.save:hover{opacity:1}.m-popup.m-has-tabs{border-top-left-radius:0;min-width:150px}.m-popup>div.m-tabs{position:absolute;display:inline-flex;left:-1px;top:-29px;margin:0}.m-popup>div.m-tabs>div.m-tab{height:17px;width:30px;background-color:#f2f2f2;cursor:pointer;font-size:18px;padding:5px;text-align:center;border:1px solid #ccc;margin:0;border-right:0}.m-popup>div.m-tabs>div.m-tab:first-child{border-top-left-radius:4px}.m-popup>div.m-tabs>div.m-tab:last-child{border-top-right-radius:4px;border-right:1px solid #ccc}.m-popup>div.m-tabs>div.m-tab.m-activated{border-bottom:0;height:18px;background-color:#fff}@media only screen and (max-width:768px){.m-popup{width:100vw;height:100vh;position:fixed;left:0;margin:0;padding:0;z-index:1500;border-bottom-left-radius:0;border-bottom-right-radius:0}.m-popup .m-footer{position:relative;display:flex;padding:15px 5px}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{text-align:center;padding-top:5px;display:flex;align-items:center;flex-flow:column;flex-wrap:nowrap;justify-content:center}.m-popup:not(.m-has-tabs)>div.m-content>div.m-header{padding-top:0;position:relative;box-shadow:0 0 7px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);flex-flow:row;justify-content:flex-end;height:10vh}.m-popup.m-has-tabs>div.m-content>div.m-header{height:0;margin:0;padding:0}.m-popup>div.m-tabs{flex-flow:row;position:relative;top:0;left:0;width:100%;align-items:stretch;margin:0;padding:0;height:10vh}.m-popup>div.m-tabs>div.m-tab,.m-popup>div.m-tabs>div.m-tab.m-activated{height:100%;width:100%;margin:0;font-size:24px;display:flex;justify-content:center;align-items:center;padding:0;border-top:0;border-radius:0}.m-popup>div.m-tabs>div.m-tab:first-child{border-left:0}.m-popup>div.m-content{padding:0}.m-popup>div.m-content>div.m-header>div.m-title{display:initial;font-size:1.2em;font-weight:700;width:100%}.m-popup>div.m-content>div.m-header>div.m-subtitle{display:initial;font-size:1em;font-style:italic}.m-popup.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{position:absolute;right:0;height:40px}.m-popup>div.m-content>div.m-body{overflow-y:auto;max-height:100vh}.m-popup.m-collapsed>div.m-tabs,.m-popup:not(.m-has-tabs).m-collapsed>div.m-content>div.m-header{height:7vh}.m-popup.m-collapsed>div.m-content>div.m-body{height:0}.m-popup.m-collapsed{top:92%}.m-popup.m-collapsed.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{display:none}.m-popup.m-default>div.m-tabs,.m-popup:not(.m-has-tabs).m-default>div.m-content>div.m-header{height:7vh}.m-popup.m-default>div.m-content>div.m-body{height:48vh}.m-popup.m-default{top:45vh}.m-popup.m-default.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup.m-full>div.m-tabs,.m-popup:not(.m-has-tabs).m-full>div.m-content>div.m-header{height:7vh}.m-popup.m-full>div.m-content>div.m-body{height:93vh}.m-popup.m-full{top:0}.m-popup>div.m-content>div.m-header>a.m-popup-closer{height:100%;width:40px;margin:0;padding:0;font-family:g-cartografia;position:inherit;display:flex;align-items:center;justify-content:flex-end;font-size:22px}.m-popup>div.m-content>div.m-header>a.m-popup-closer:after{content:"\e919"}.m-popup.m-full.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup:not(.m-no-animation){-webkit-transition:top .5s ease 0s;transition:top .5s ease 0s}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{-webkit-transition:height .5s ease 0s,background-color .5s ease 0s;transition:height .5s ease 0s,background-color .5s ease 0s}.m-popup>div.m-content>div.m-header>div.m-title,.m-popup>div.m-tabs>div.m-tab{-webkit-transition:font-size .5s ease 0s;transition:font-size .5s ease 0s}}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result{border-top:1px solid rgba(0,0,0,.13)}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table{width:100%;border-top:1px dashed rgba(0,0,0,.09)}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{text-align:right}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key{font-weight:700}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key,.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{white-space:nowrap}@supports (overflow:-webkit-marquee) and (justify-content:inherit){@media only screen and (max-width:768px){.m-popup.m-collapsed{top:87vh}}}.unsetTransform{transform:unset!important}.m-dialog{position:absolute;top:0;left:0;z-index:99999;width:100%;height:100%}.m-dialog>div.m-modal{width:100%;height:100%;background-color:hsla(0,0%,100%,.5);display:flex;align-items:center}.m-dialog>div.m-modal>div.m-content{position:relative;max-height:70vh;max-width:70vw;min-width:30vw;margin:0 auto;background-color:#fff;padding:10px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-dialog div.m-title{line-height:40px;text-align:center;font-weight:700}.m-dialog div.m-message{padding:10px 5px;border-bottom:1px solid rgba(0,0,0,.2);font-size:15px}.m-dialog div.m-button>button{background-color:transparent;border:none;box-shadow:none;cursor:pointer;margin-top:10px;padding:5px;width:50px;font-weight:700}.m-dialog div.m-button{text-align:right}.m-dialog.info div.m-button>button,.m-dialog.info div.m-title{background-color:#337ceb;color:#fff}.m-dialog.error div.m-button>button,.m-dialog.error div.m-title{background-color:#d9534f;color:#fff}.m-dialog.success div.m-button>button,.m-dialog.success div.m-title{background-color:#67af13;color:#fff}.m-location-container{top:20px;left:600px}.m-location-container.m-locating>button#m-location-button:before{animation:mloading 1s linear infinite;position:absolute;left:11px;top:11px}.m-location-container.m-locating>button#m-location-button{padding:8px}@supports (-ms-ime-align:auto){.m-location-container.m-locating>button#m-location-button{height:36px}}.m-scale-container{margin:0;box-shadow:0 1px 2px rgba(0,0,0,.3);padding:5px;right:0;font-weight:700;bottom:2em;display:block;font-size:smaller;background-color:rgba(0,60,136,.5);font-weight:400;border-top-left-radius:2px;border-bottom-left-radius:2px}.m-scale-container>.m-unit{font-family:Muli!important;line-height:normal}.m-scale-container>.m-scale{line-height:normal}.m-scale-container>.m-unit:before{font-family:g-cartografia!important;color:#a35d38;font-size:12px!important;margin-right:5px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div.m-control.m-rotate-container button[class^=g-cartografia-]#m-rotate-button{background-color:#fff;color:#337ceb;cursor:pointer;position:absolute;z-index:200;padding:0;left:19%;top:23%;font-size:1.5rem;border-radius:50%}.m-rotate-slider{border-radius:50%;height:30px;width:30px;cursor:pointer;position:absolute}#m-rotate-slider-container{width:40px;height:40px}#m-rotate-marker{width:45px;position:absolute;height:45px}#m-rotate-marker-circle{stroke:#337ceb;fill:#fff;cursor:pointer}.m-mouse-position{white-space:pre}.m-mouse-position:before{color:#a35d38;margin-right:5px;font-family:g-cartografia!important}@media only screen and (max-width:768px){.m-mouse-position{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>.m-mouse-position{border-radius:20px!important;order:4}.m-panel.m-map-info.m-with-scale>div.m-panel-controls>.m-mouse-position,.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>.m-mouse-position{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.m-getfeatureinfo-container{top:20px;left:300px}.m-popup table.mapea-table td.header{text-align:center;padding-top:10px;border-bottom:1px ridge #6c6c6c}.m-getfeatureinfo-content-info{min-width:250px;margin-bottom:.7rem}.m-getfeatureinfo-content-info-body.m-content-collapsed,span.m-content-collapsed{display:none}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header{display:flex;align-items:center;font-size:12px;background-color:#eee;margin-bottom:5px;color:#000;padding:5px}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-right{border:7px solid transparent;border-left-color:#000;cursor:pointer}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-down{border:7px solid transparent;border-top-color:#000;cursor:pointer;margin-right:5px}.m-areas{top:0;left:0;width:0;height:0;max-height:0}.m-areas>div.m-area{-webkit-display:flex;display:flex;position:absolute;-webkit-flex-flow:column nowrap;flex-flow:column nowrap}.m-areas>div.m-area.m-top{top:0}.m-areas>div.m-area.m-bottom{bottom:0;width:0;max-width:0}.m-areas>div.m-area.m-bottom.m-right{z-index:10}.m-areas>div.m-area.m-left{left:0;-webkit-align-items:flex-start;align-items:flex-start}.m-areas>div.m-area.m-right{right:0;-webkit-align-items:flex-end;align-items:flex-end}@media only screen and (max-width:768px){.m-areas>div.m-area.m-top.top-extra{top:65px}.m-areas>div.m-area.m-top.top-extra.top-extra-search{top:75px}.m-areas>div.m-area.m-top.top-extra.top-extra-searchs{top:135px}}.m-areas>div.m-area>div.m-panel{z-index:999;position:relative;background:#fff;box-sizing:border-box;border-radius:4px}.m-areas>div.m-area>div.m-panel,div.m-panel>button{box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-areas>div.m-area.m-top>div.m-panel{margin-top:10px}.m-areas>div.m-area.m-bottom>div.m-panel{margin-bottom:10px}.m-areas>div.m-area.m-left>div.m-panel{margin-left:10px}.m-areas>div.m-area.m-right>div.m-panel{margin-right:10px}.m-areas>div.m-area>div.m-panel.no-collapsible{border-radius:20px}.m-areas>div.m-area>div.m-panel>button.m-panel-btn{color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-areas>div.m-area>div.m-panel.no-collapsible>div.m-panel-controls>div.m-control>button,.m-areas>div.m-area>div.m-panel>button.m-panel-btn{-webkit-transition:opacity .25s ease 0s,color .25s ease 0s;transition:opacity .25s ease 0s,color .25s ease 0s;padding:0;font-size:19px;background:none;cursor:pointer;width:40px;height:40px;box-sizing:border-box;border:0;font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.m-areas>div.m-area>div.m-panel.opened>button.m-panel-btn{font-size:15px}.m-areas>div.m-area.m-left>div.m-panel>button.m-panel-btn{border-top-right-radius:4px;border-bottom-right-radius:4px;float:right}.m-areas>div.m-area.m-left>div.m-panel.collapsed>button.m-panel-btn{position:inherit;right:0;box-shadow:none}.m-areas>div.m-area.m-right>div.m-panel>button.m-panel-btn{border-top-left-radius:4px;border-bottom-left-radius:4px;float:left}.m-areas>div.m-area>div.m-panel.m-tools>button.m-panel-btn{background-color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>button.m-panel-btn{background-color:#67af13}.m-areas>div.m-area>div.m-panel.m-tools.collapsed>button.m-panel-btn{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition.collapsed>button.m-panel-btn{color:#67af13}.m-areas>div.m-area>div.m-panel.collapsed>button.m-panel-btn{border-radius:20px;background-color:#fff!important}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus{outline:none}.m-areas>div.m-area>div.m-panel.no-collapsible>button.m-panel-btn{display:none}.m-areas>div.m-area.m-left>div.m-panel,.m-areas>div.m-area.m-left>div.m-panel>div.m-panel-controls{-webkit-flex-direction:row-reverse;flex-direction:row-reverse;align-items:flex-end}.m-areas>div.m-area>div.m-panel.m-tools{order:-90}.m-areas>div.m-area>div.m-panel.m-edition{order:-80}.m-areas>div.m-area>div.m-panel.m-panzoombar{order:-69;margin-top:8px;border-radius:20px;margin-left:25px;width:10px}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-panzoombar{display:none}}.m-areas>div.m-area>div.m-panel.m-panzoom{order:-70;width:30px;height:60px;border-radius:4px;margin-left:15px}.m-areas>div.m-area>div.m-panel.m-scaleline{background-color:transparent;box-shadow:none;left:20px}.m-areas>div.m-area>div.m-panel.m-location>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-mouse{border-radius:4px;padding:5px}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls{width:auto}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls:before{font-size:15px;background:none}.m-areas>div.m-area>div.m-panel.m-overviewmap{box-shadow:none}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:flex}@-moz-document url-prefix(){.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:inline-flex}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-areas>div.m-area>div.m-panel.collapsed{height:auto!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{width:40px!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{width:100%!important}.m-areas>div.m-area>div.m-panel.m-panzoom{height:auto!important}.m-printer.opened .m-printer-container .form{min-height:176px}.m-printer-container>div.button>button.print{width:57%!important}}@supports (overflow:-webkit-marquee) and (justify-content:inherit){.m-areas>div.m-area.m-top{top:0}}.m-areas>div.m-area.m-bottom,.m-areas>div.m-area.m-top,.m-areas>div.m-area>div.m-panel.m-map-info,.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls{visibility:hidden}.m-areas>div.m-area>div.m-panel{visibility:visible}.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls>div{visibility:visible!important}.m-areas>div.m-area>div.m-panel{-webkit-transition:border-radius .5s ease 0s;transition:border-radius .5s ease 0s}.m-areas>div.m-area>div.m-panel.collapsed{border-radius:20px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{opacity:1;border-radius:10px;-webkit-transition:max-width 1s ease 0s,opacity .75s ease .1s;transition:max-width 1s ease 0s,opacity .75s ease .1s}.m-areas>div.m-area>div.m-panel.collapsed>div.m-panel-controls{opacity:0;max-width:0;-webkit-transition:max-width .4s ease 0s,opacity .3s ease 0s;transition:max-width .4s ease 0s,opacity .3s ease 0s}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div{position:inherit!important;overflow:hidden;background-color:transparent;border-radius:0;padding:0;box-shadow:none;display:table}.m-areas>div.m-area>div.m-panel.m-tools>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>div.m-panel-controls>div.m-control.activated>button{color:#67af13}@media only screen and (min-width:769px){.m-geosearch.collapsed .m-panel-controls,.m-searchstreet.collapsed .m-panel-controls,.m-searchstreetgeosearch.collapsed .m-panel-controls{display:none!important}}.m-edition.collapsed .m-panel-controls,.m-tools.collapsed .m-panel-controls{display:none!important}.m-map-info>div.m-panel-controls{flex-direction:row-reverse;align-items:flex-end}.m-map-info{background:transparent!important;border-radius:0!important;box-shadow:none!important;right:0;order:4}.m-location{order:1;z-index:97}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container{order:3}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-top-left-radius:0!important;border-bottom-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important}}.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>div.m-control.m-scale-container{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{order:2}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-wmcselector-container,.m-panel.m-map-info.m-with-scale>div.m-panel-controls>div.m-control.m-wmcselector-container{border-top-left-radius:0!important;border-bottom-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse:not(.m-with-scale)>div.m-panel-controls>div.m-control.m-wmcselector-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important}}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position{display:inline;height:15px!important}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position,.m-scale-container{background-color:#fff!important;padding:6px 12px 3px!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important}.m-scale-container{display:flex!important;height:15px;white-space:pre}.m-scale-container:before{color:#a35d38;margin-right:5px}.m-wmcselector-container{background-color:#fff!important;padding:4px 10px 3px 12px!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;display:flex!important;height:17px}.m-wmcselector-container:before{color:#a35d38;margin-right:5px;margin-top:3px}@media only screen and (max-width:768px){.m-scale-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important;padding:6px 12px 3px!important}}@media only screen and (min-width:769px){.m-geosearch.collapsed div.results-panel,.m-geosearch.collapsed div.search-panel{display:none!important}}.m-kml-desc>table{width:100%} \ No newline at end of file diff --git a/lib/mapea-6.3.1.ol.min.js b/lib/mapea-6.3.1.ol.min.js deleted file mode 100644 index 27da7d5..0000000 --- a/lib/mapea-6.3.1.ol.min.js +++ /dev/null @@ -1,99 +0,0 @@ -!function(t){function e(e){for(var r,i,o=e[0],a=e[1],s=0,u=[];so&&(u|=n.a.RIGHT),la&&(u|=n.a.ABOVE),u===n.a.UNKNOWN&&(u=n.a.INTERSECTING),u}function p(){return[1/0,1/0,-1/0,-1/0]}function d(t,e,r,n,i){return i?(i[0]=t,i[1]=e,i[2]=r,i[3]=n,i):[t,e,r,n]}function g(t){return d(1/0,1/0,-1/0,-1/0,t)}function y(t,e){var r=t[0],n=t[1];return d(r,n,r,n,e)}function m(t,e,r,n,i){return w(g(i),t,e,r,n)}function _(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function v(t,e,r){return Math.abs(t[0]-e[0])t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function x(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function w(t,e,r,n,i){for(;re[0]?n[0]=t[0]:n[0]=e[0],t[1]>e[1]?n[1]=t[1]:n[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function G(t){return t[2]=s&&m<=u),i||!(a&n.a.RIGHT)||o&n.a.RIGHT||(i=(_=g-(d-u)*y)>=l&&_<=c),i||!(a&n.a.BELOW)||o&n.a.BELOW||(i=(m=d-(g-l)/y)>=s&&m<=u),i||!(a&n.a.LEFT)||o&n.a.LEFT||(i=(_=g-(d-s)*y)>=l&&_<=c)}return i}function V(t,e,r,n){var i=[];if(n>1)for(var o=t[2]-t[0],a=t[3]-t[1],s=0;s=r[2])){var i=F(r),o=Math.floor((n[0]-r[0])/i)*i;t[0]-=o,t[2]-=o}return t}function Y(t,e){if(e.canWrapX()){var r=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[r[0],t[1],r[2],t[3]]];q(t,e);var n=F(r);if(F(t)>n)return[[r[0],t[1],r[2],t[3]]];if(t[0]r[2])return[[t[0],t[1],r[2],t[3]],[r[0],t[1],t[2]-n,t[3]]]}return[t]}},function(t,e,r){"use strict";var n,i=r(37),o=r(17),a=r(3),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=6378137,u=Math.PI*l,c=[-u,-u,u,u],h=[-180,-85,180,85],f=l*Math.log(Math.tan(Math.PI/2)),p=function(t){function e(e){return t.call(this,{code:e,units:o.b.METERS,extent:c,global:!0,worldExtent:h,getPointResolution:function(t,e){return t/Object(a.c)(e[1]/l)}})||this}return s(e,t),e}(i.a),d=[new p("EPSG:3857"),new p("EPSG:102100"),new p("EPSG:102113"),new p("EPSG:900913"),new p("http://www.opengis.net/def/crs/EPSG/0/3857"),new p("http://www.opengis.net/gml/srs/epsg.xml#3857")];function g(t,e,r){var n=t.length,i=r>1?r:2,o=e;void 0===o&&(o=i>2?t.slice():new Array(n));for(var a=0;af?s=f:s<-f&&(s=-f),o[a+1]=s}return o}function y(t,e,r){var n=t.length,i=r>1?r:2,o=e;void 0===o&&(o=i>2?t.slice():new Array(n));for(var a=0;a=u?e[s+c]:l[c];return a}}function F(t,e,r,n){var i=M(t),o=M(e);Object(E.a)(i,o,j(r)),Object(E.a)(o,i,j(n))}function D(t,e){return T(),V(t,"EPSG:4326",void 0!==e?e:"EPSG:3857")}function G(t,e){var r=V(t,void 0!==e?e:"EPSG:3857","EPSG:4326"),n=r[0];return(n<-180||n>180)&&(r[0]=Object(a.g)(n+180,360)-180),r}function U(t,e){if(t===e)return!0;var r=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||B(t,e)===P)&&r}function B(t,e){var r=t.getCode(),n=e.getCode(),i=Object(E.c)(r,n);return i||(i=R),i}function z(t,e){return B(M(t),M(e))}function V(t,e,r){return z(e,r)(t,void 0,t.length)}function q(t,e,r,n){var i=z(e,r);return Object(S.a)(t,i,void 0,n)}var Y,W,X,H=null;function Z(t){H=M(t)}function K(){H=null}function J(){return H}function Q(){Z("EPSG:4326")}function $(t,e){return H?V(t,e,H):t}function tt(t,e){return H?V(t,H,e):(C&&!Object(O.g)(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(C=!1,console.warn("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t)}function et(t,e){return H?q(t,e,H):t}function rt(t,e){return H?q(t,H,e):t}function nt(t,e){if(!H)return t;var r=M(e).getUnits(),n=H.getUnits();return r&&n?t*o.a[r]/o.a[n]:t}function it(t,e){if(!H)return t;var r=M(e).getUnits(),n=H.getUnits();return r&&n?t*o.a[n]/o.a[r]:t}function ot(t,e,r){return function(n){var i,o;if(t.canWrapX()){var s=t.getExtent(),l=Object(S.G)(s);n=n.slice(0),(o=Object(O.i)(n,t,l))&&(n[0]=n[0]-o*l),n[0]=Object(a.b)(n[0],s[0],s[2]),n[1]=Object(a.b)(n[1],s[1],s[3]),i=r(n)}else i=r(n);return o&&e.canWrapX()&&(i[0]+=o*Object(S.G)(e.getExtent())),i}}N(d),N(x),Y=d,W=g,X=y,x.forEach((function(t){Y.forEach((function(e){Object(E.a)(t,e,W),Object(E.a)(e,t,X)}))}))},function(t,e,r){"use strict";function n(){return function(){throw new Error("Unimplemented abstract method.")}()}r.d(e,"b",(function(){return n})),r.d(e,"c",(function(){return o})),r.d(e,"a",(function(){return a}));var i=0;function o(t){return t.ol_uid||(t.ol_uid=String(++i))}var a="6.15.1"},function(t,e,r){"use strict";function n(t,e,r){return Math.min(Math.max(t,e),r)}r.d(e,"b",(function(){return n})),r.d(e,"c",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"k",(function(){return a})),r.d(e,"j",(function(){return s})),r.d(e,"i",(function(){return l})),r.d(e,"l",(function(){return u})),r.d(e,"n",(function(){return c})),r.d(e,"g",(function(){return h})),r.d(e,"e",(function(){return f})),r.d(e,"m",(function(){return p})),r.d(e,"h",(function(){return d})),r.d(e,"d",(function(){return g})),r.d(e,"a",(function(){return y}));var i="cosh"in Math?Math.cosh:function(t){var e=Math.exp(t);return(e+1/e)/2},o="log2"in Math?Math.log2:function(t){return Math.log(t)*Math.LOG2E};function a(t,e,r,n,i,o){var a=i-r,l=o-n;if(0!==a||0!==l){var u=((t-r)*a+(e-n)*l)/(a*a+l*l);u>1?(r=i,n=o):u>0&&(r+=a*u,n+=l*u)}return s(t,e,r,n)}function s(t,e,r,n){var i=r-t,o=n-e;return i*i+o*o}function l(t){for(var e=t.length,r=0;ri&&(i=a,n=o)}if(0===i)return null;var s=t[n];t[n]=t[r],t[r]=s;for(var l=r+1;l=0;f--){h[f]=t[f][e]/t[f][f];for(var p=f-1;p>=0;p--)t[p][e]-=t[p][f]*h[f]}return h}function u(t){return 180*t/Math.PI}function c(t){return t*Math.PI/180}function h(t,e){var r=t%e;return r*e<0?r+e:r}function f(t,e,r){return t+r*(e-t)}function p(t,e){var r=Math.pow(10,e);return Math.round(t*r)/r}function d(t,e){return Math.round(p(t,e))}function g(t,e){return Math.floor(p(t,e))}function y(t,e){return Math.ceil(p(t,e))}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i})),r.d(e,"c",(function(){return o})),r.d(e,"d",(function(){return a}));var n="function"==typeof Object.assign?Object.assign:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var r=Object(t),n=1,i=arguments.length;n>1)],e))<0?s=n+1:(l=n,u=!o);return u?s:~s}function i(t,e){return t>e?1:t=0}function a(t,e,r){var n=t.length;if(t[0]<=e)return 0;if(e<=t[n-1])return n-1;var i=void 0;if(r>0){for(i=1;i0?i-1:i:t[i-1]-e>>0,i=0;i0||r&&0===o)}))}r.d(e,"a",(function(){return n})),r.d(e,"i",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"h",(function(){return a})),r.d(e,"j",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"b",(function(){return c})),r.d(e,"k",(function(){return h})),r.d(e,"e",(function(){return f})),r.d(e,"g",(function(){return p}))},function(t,e,r){"use strict";e.a={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"}},function(t,e,r){"use strict";r.d(e,"d",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"g",(function(){return u})),r.d(e,"k",(function(){return h})),r.d(e,"a",(function(){return f})),r.d(e,"i",(function(){return p})),r.d(e,"j",(function(){return d})),r.d(e,"f",(function(){return g})),r.d(e,"m",(function(){return y})),r.d(e,"b",(function(){return m})),r.d(e,"c",(function(){return _})),r.d(e,"e",(function(){return v})),r.d(e,"l",(function(){return b}));var n,i=r(24),o=r(10),a=new Array(6);function s(){return[1,0,0,1,0,0]}function l(t){return c(t,1,0,0,1,0,0)}function u(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],p=e[5];return t[0]=r*l+i*u,t[1]=n*l+o*u,t[2]=r*c+i*h,t[3]=n*c+o*h,t[4]=r*f+i*p+a,t[5]=n*f+o*p+s,t}function c(t,e,r,n,i,o,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function f(t,e){var r=e[0],n=e[1];return e[0]=t[0]*r+t[2]*n+t[4],e[1]=t[1]*r+t[3]*n+t[5],e}function p(t,e){var r=Math.cos(e),n=Math.sin(e);return u(t,c(a,r,n,-n,r,0,0))}function d(t,e,r){return u(t,c(a,e,0,0,r,0,0))}function g(t,e,r){return c(t,e,0,0,r,0,0)}function y(t,e,r){return u(t,c(a,1,0,0,1,e,r))}function m(t,e,r,n,i,o,a,s){var l=Math.sin(o),u=Math.cos(o);return t[0]=n*u,t[1]=i*l,t[2]=-n*l,t[3]=i*u,t[4]=a*n*u-s*n*l+e,t[5]=a*i*l+s*i*u+r,t}function _(t,e,r,n,i,o,a){return b(m([1,0,0,1,0,0],t,e,r,n,i,o,a))}function v(t,e){var r,n=(r=e)[0]*r[3]-r[1]*r[2];Object(o.a)(0!==n,32);var i=e[0],a=e[1],s=e[2],l=e[3],u=e[4],c=e[5];return t[0]=l/n,t[1]=-a/n,t[2]=-s/n,t[3]=i/n,t[4]=(s*c-l*u)/n,t[5]=-(i*c-a*u)/n,t}function b(t){var e="matrix("+t.join(", ")+")";if(i.h)return e;var r=n||(n=document.createElement("div"));return r.style.transform=e,r.style.transform}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return a}));var n=r(4);function i(t,e,r,n,i){if(n&&n!==t&&(r=r.bind(n)),i){var o=r;r=function(){t.removeEventListener(e,r),o.apply(this,arguments)}}var a={target:t,type:e,listener:r};return t.addEventListener(e,r),a}function o(t,e,r,n){return i(t,e,r,n,!0)}function a(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),Object(n.b)(t))}},function(t,e,r){"use strict";e.a={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i}));var n=r(65);function i(t,e){if(!t)throw new n.a(e)}},function(t,e,r){"use strict";r.d(e,"e",(function(){return n})),r.d(e,"f",(function(){return o})),r.d(e,"d",(function(){return a})),r.d(e,"g",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"j",(function(){return u})),r.d(e,"a",(function(){return c})),r.d(e,"c",(function(){return h})),r.d(e,"b",(function(){return f})),r.d(e,"i",(function(){return p}));const n={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},i={};for(const t in n)n.hasOwnProperty(t)&&(i[n[t]]=parseInt(t,10));const o={256:"SHORT",257:"SHORT",258:"SHORT",259:"SHORT",262:"SHORT",273:"LONG",274:"SHORT",277:"SHORT",278:"LONG",279:"LONG",282:"RATIONAL",283:"RATIONAL",284:"SHORT",286:"SHORT",287:"RATIONAL",296:"SHORT",297:"SHORT",305:"ASCII",306:"ASCII",338:"SHORT",339:"SHORT",513:"LONG",514:"LONG",1024:"SHORT",1025:"SHORT",2048:"SHORT",2049:"ASCII",3072:"SHORT",3073:"ASCII",33550:"DOUBLE",33922:"DOUBLE",34665:"LONG",34735:"SHORT",34737:"ASCII",42113:"ASCII"},a=[i.BitsPerSample,i.ExtraSamples,i.SampleFormat,i.StripByteCounts,i.StripOffsets,i.StripRowCounts,i.TileByteCounts,i.TileOffsets,i.SubIFDs],s={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},l={};for(const t in s)s.hasOwnProperty(t)&&(l[s[t]]=parseInt(t,10));const u={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},c={Unspecified:0,Assocalpha:1,Unassalpha:2},h={Version:0,AddCompression:1},f={None:0,Deflate:1},p={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},d={};for(const t in p)p.hasOwnProperty(t)&&(d[p[t]]=parseInt(t,10))},function(t,e,r){"use strict";r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return c})),r.d(e,"h",(function(){return h})),r.d(e,"g",(function(){return f})),r.d(e,"j",(function(){return p})),r.d(e,"k",(function(){return d})),r.d(e,"l",(function(){return g})),r.d(e,"f",(function(){return y})),r.d(e,"m",(function(){return m})),r.d(e,"n",(function(){return _})),r.d(e,"o",(function(){return v})),r.d(e,"p",(function(){return b})),r.d(e,"i",(function(){return x}));var n=r(0),i=r(3),o=r(46);function a(t,e){return t[0]+=+e[0],t[1]+=+e[1],t}function s(t,e){var r=e.getRadius(),n=e.getCenter(),i=n[0],o=n[1],a=t[0]-i,s=t[1]-o;0===a&&0===s&&(a=1);var l=Math.sqrt(a*a+s*s);return[i+r*a/l,o+r*s/l]}function l(t,e){var r,n,i=t[0],o=t[1],a=e[0],s=e[1],l=a[0],u=a[1],c=s[0],h=s[1],f=c-l,p=h-u,d=0===f&&0===p?0:(f*(i-l)+p*(o-u))/(f*f+p*p||0);return d<=0?(r=l,n=u):d>=1?(r=c,n=h):(r=l+d*f,n=u+d*p),[r,n]}function u(t){return function(e){return v(e,t)}}function c(t,e,r){var n=Object(i.g)(e+180,360)-180,a=Math.abs(3600*n),s=r||0,l=Math.pow(10,s),u=Math.floor(a/3600),c=Math.floor((a-3600*u)/60),h=a-3600*u-60*c;return(h=Math.ceil(h*l)/l)>=60&&(h=0,c+=1),c>=60&&(c=0,u+=1),u+"° "+Object(o.b)(c,2)+"′ "+Object(o.b)(h,2,s)+"″"+(0==n?"":" "+t.charAt(n<0?1:0))}function h(t,e,r){return t?e.replace("{x}",t[0].toFixed(r)).replace("{y}",t[1].toFixed(r)):""}function f(t,e){for(var r=!0,n=t.length-1;n>=0;--n)if(t[n]!=e[n]){r=!1;break}return r}function p(t,e){var r=Math.cos(e),n=Math.sin(e),i=t[0]*r-t[1]*n,o=t[1]*r+t[0]*n;return t[0]=i,t[1]=o,t}function d(t,e){return t[0]*=e,t[1]*=e,t}function g(t,e){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n}function y(t,e){return Math.sqrt(g(t,e))}function m(t,e){return g(t,l(t,e))}function _(t,e){return t?c("NS",t[1],e)+" "+c("EW",t[0],e):""}function v(t,e){return h(t,"{x}, {y}",e)}function b(t,e){if(e.canWrapX()){var r=Object(n.G)(e.getExtent()),i=x(t,e,r);i&&(t[0]-=i*r)}return t}function x(t,e,r){var i=e.getExtent(),o=0;if(e.canWrapX()&&(t[0]i[2])){var a=r||Object(n.G)(i);o=Math.floor((t[0]-i[0])/a)}return o}},function(t,e,r){"use strict";e.a={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"d",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"f",(function(){return u})),r.d(e,"e",(function(){return c})),r.d(e,"g",(function(){return h}));var n=r(24);function i(t,e,r,i){var o;return o=r&&r.length?r.shift():n.h?new OffscreenCanvas(t||300,e||300):document.createElement("canvas"),t&&(o.width=t),e&&(o.height=e),o.getContext("2d",i)}function o(t){var e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function a(t){var e=t.offsetWidth,r=getComputedStyle(t);return e+=parseInt(r.marginLeft,10)+parseInt(r.marginRight,10)}function s(t){var e=t.offsetHeight,r=getComputedStyle(t);return e+=parseInt(r.marginTop,10)+parseInt(r.marginBottom,10)}function l(t,e){var r=e.parentNode;r&&r.replaceChild(t,e)}function u(t){return t&&t.parentNode?t.parentNode.removeChild(t):null}function c(t){for(;t.lastChild;)t.removeChild(t.lastChild)}function h(t,e){for(var r=t.childNodes,n=0;;++n){var i=r[n],o=e[n];if(!i&&!o)break;i!==o&&(i?o?t.insertBefore(o,i):(t.removeChild(i),--n):t.appendChild(o))}}},function(t,e,r){"use strict";function n(t,e,r){return void 0===r&&(r=[0,0]),r[0]=t[0]+2*e,r[1]=t[1]+2*e,r}function i(t){return t[0]>0&&t[1]>0}function o(t,e,r){return void 0===r&&(r=[0,0]),r[0]=t[0]*e+.5|0,r[1]=t[1]*e+.5|0,r}function a(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i})),r.d(e,"c",(function(){return o})),r.d(e,"d",(function(){return a}))},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"d",(function(){return s})),r.d(e,"e",(function(){return l}));var n=r(5);function i(){return!0}function o(){return!1}function a(){}function s(t){var e,r,i,o=!1;return function(){var a=Array.prototype.slice.call(arguments);return o&&this===i&&Object(n.b)(a,r)||(o=!0,i=this,r=a,e=t.apply(this,arguments)),e}}function l(t){return function(){var e;try{e=t()}catch(t){return Promise.reject(t)}return e instanceof Promise?e:Promise.resolve(e)}()}},function(t,e,r){"use strict";r.d(e,"c",(function(){return o})),r.d(e,"a",(function(){return a}));var n={RADIANS:"radians",DEGREES:"degrees",FEET:"ft",METERS:"m",PIXELS:"pixels",TILE_PIXELS:"tile-pixels",USFEET:"us-ft"},i={9001:n.METERS,9002:n.FEET,9003:n.USFEET,9101:n.RADIANS,9102:n.DEGREES};function o(t){return i[t]}var a={};a[n.RADIANS]=6370997/(2*Math.PI),a[n.DEGREES]=2*Math.PI*6370997/360,a[n.FEET]=.3048,a[n.METERS]=1,a[n.USFEET]=1200/3937,e.b=n},function(t,e,r){"use strict";r.d(e,"b",(function(){return i}));var n=function(){function t(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}return t.prototype.preventDefault=function(){this.defaultPrevented=!0},t.prototype.stopPropagation=function(){this.propagationStopped=!0},t}();function i(t){t.stopPropagation()}e.a=n},function(t,e,r){"use strict";function n(t,e,r,n){return void 0!==n?(n[0]=t,n[1]=e,n[2]=r,n):[t,e,r]}function i(t,e,r){return t+"/"+e+"/"+r}function o(t){return i(t[0],t[1],t[2])}function a(t){var e=t.substring(t.lastIndexOf("/")+1,t.length).split(",").map(Number);return i(e[0],e[1],e[2])}function s(t){return t.split("/").map(Number)}function l(t){return(t[1]<r||r>e.getMaxZoom())return!1;var o=e.getFullTileRange(r);return!o||o.containsXY(n,i)}r.d(e,"a",(function(){return n})),r.d(e,"e",(function(){return i})),r.d(e,"d",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"f",(function(){return l})),r.d(e,"g",(function(){return u}))},function(t,e,r){"use strict";function n(t,e){for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r])}function i(t,e){if(t.lengthsetTimeout(e,t))}function u(t,e){const r=Array.isArray(t)?t:Array.from(t),n=Array.isArray(e)?e:Array.from(e);return r.map((t,e)=>[t,n[e]])}r.d(e,"c",(function(){return n})),r.d(e,"d",(function(){return i})),r.d(e,"e",(function(){return o})),r.d(e,"f",(function(){return a})),r.d(e,"g",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"i",(function(){return u})),r.d(e,"a",(function(){return c})),r.d(e,"b",(function(){return f}));class c extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,c),this.name="AbortError"}}class h extends Error{constructor(t,e){super(e),this.errors=t,this.message=e,this.name="AggregateError"}}const f=h},function(t,e,r){"use strict";r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return h})),r.d(e,"a",(function(){return f})),r.d(e,"e",(function(){return d})),r.d(e,"d",(function(){return g}));var n=r(10),i=r(3),o=/^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i,a=/^([a-z]*)$|^hsla?\(.*\)$/i;function s(t){return"string"==typeof t?t:d(t)}function l(t){var e=document.createElement("div");if(e.style.color=t,""!==e.style.color){document.body.appendChild(e);var r=getComputedStyle(e).color;return document.body.removeChild(e),r}return""}var u,c,h=(u={},c=0,function(t){var e;if(u.hasOwnProperty(t))e=u[t];else{if(c>=1024){var r=0;for(var i in u)0==(3&r++)&&(delete u[i],--c)}e=function(t){var e,r,i,s,u;if(a.exec(t)&&(t=l(t)),o.exec(t)){var c=t.length-1,h=void 0;h=c<=4?1:2;var f=4===c||8===c;e=parseInt(t.substr(1+0*h,h),16),r=parseInt(t.substr(1+1*h,h),16),i=parseInt(t.substr(1+2*h,h),16),s=f?parseInt(t.substr(1+3*h,h),16):255,1==h&&(e=(e<<4)+e,r=(r<<4)+r,i=(i<<4)+i,f&&(s=(s<<4)+s)),u=[e,r,i,s/255]}else 0==t.indexOf("rgba(")?p(u=t.slice(5,-1).split(",").map(Number)):0==t.indexOf("rgb(")?((u=t.slice(4,-1).split(",").map(Number)).push(1),p(u)):Object(n.a)(!1,14);return u}(t),u[t]=e,++c}return e});function f(t){return Array.isArray(t)?t:h(t)}function p(t){return t[0]=Object(i.b)(t[0]+.5|0,0,255),t[1]=Object(i.b)(t[1]+.5|0,0,255),t[2]=Object(i.b)(t[2]+.5|0,0,255),t[3]=Object(i.b)(t[3],0,1),t}function d(t){var e=t[0];e!=(0|e)&&(e=e+.5|0);var r=t[1];r!=(0|r)&&(r=r+.5|0);var n=t[2];return n!=(0|n)&&(n=n+.5|0),"rgba("+e+","+r+","+n+","+(void 0===t[3]?1:Math.round(100*t[3])/100)+")"}function g(t){return a.test(t)&&(t=l(t)),o.test(t)||0===t.indexOf("rgba(")||0===t.indexOf("rgb(")}},function(t,e,r){"use strict";e.a={ANIMATING:0,INTERACTING:1}},function(t,e,r){"use strict";e.a={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",MAX_ZOOM:"maxZoom",MIN_ZOOM:"minZoom",SOURCE:"source",MAP:"map"}},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"g",(function(){return a})),r.d(e,"d",(function(){return s})),r.d(e,"a",(function(){return l})),r.d(e,"h",(function(){return u})),r.d(e,"c",(function(){return c})),r.d(e,"e",(function(){return h}));var n="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"",i=-1!==n.indexOf("firefox"),o=-1!==n.indexOf("safari")&&-1==n.indexOf("chrom")&&!!(n.indexOf("version/15.4")>=0||n.match(/cpu (os|iphone os) 15_4 like mac os x/)),a=-1!==n.indexOf("webkit")&&-1==n.indexOf("edge"),s=-1!==n.indexOf("macintosh"),l="undefined"!=typeof devicePixelRatio?devicePixelRatio:1,u="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,c="undefined"!=typeof Image&&Image.prototype.decode,h=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("_",null,e),window.removeEventListener("_",null,e)}catch(t){}return t}()},function(t,e,r){"use strict";function n(t){return Math.pow(t,3)}function i(t){return 1-n(1-t)}function o(t){return 3*t*t-2*t*t*t}function a(t){return t}function s(t){return t<.5?o(2*t):1-o(2*(t-.5))}r.r(e),r.d(e,"easeIn",(function(){return n})),r.d(e,"easeOut",(function(){return i})),r.d(e,"inAndOut",(function(){return o})),r.d(e,"linear",(function(){return a})),r.d(e,"upAndDown",(function(){return s}))},function(t,e,r){"use strict";var n,i=r(18),o=r(45),a=r(34),s=r(4),l=r(2),u=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),c=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.key=r,i.oldValue=n,i}return u(e,t),e}(i.a),h=function(t){function e(e){var r=t.call(this)||this;return r.on,r.once,r.un,Object(l.c)(r),r.values_=null,void 0!==e&&r.setProperties(e),r}return u(e,t),e.prototype.get=function(t){var e;return this.values_&&this.values_.hasOwnProperty(t)&&(e=this.values_[t]),e},e.prototype.getKeys=function(){return this.values_&&Object.keys(this.values_)||[]},e.prototype.getProperties=function(){return this.values_&&Object(s.a)({},this.values_)||{}},e.prototype.hasProperties=function(){return!!this.values_},e.prototype.notify=function(t,e){var r;r="change:".concat(t),this.hasListener(r)&&this.dispatchEvent(new c(r,t,e)),r=o.a.PROPERTYCHANGE,this.hasListener(r)&&this.dispatchEvent(new c(r,t,e))},e.prototype.addChangeListener=function(t,e){this.addEventListener("change:".concat(t),e)},e.prototype.removeChangeListener=function(t,e){this.removeEventListener("change:".concat(t),e)},e.prototype.set=function(t,e,r){var n=this.values_||(this.values_={});if(r)n[t]=e;else{var i=n[t];n[t]=e,i!==e&&this.notify(t,i)}},e.prototype.setProperties=function(t,e){for(var r in t)this.set(r,t[r],e)},e.prototype.applyProperties=function(t){t.values_&&Object(s.a)(this.values_||(this.values_={}),t.values_)},e.prototype.unset=function(t,e){if(this.values_&&t in this.values_){var r=this.values_[t];delete this.values_[t],Object(s.d)(this.values_)&&(this.values_=null),e||this.notify(t,r)}},e}(a.a);e.a=h},function(t,e,r){"use strict";r.d(e,"c",(function(){return u})),r.d(e,"d",(function(){return c})),r.d(e,"a",(function(){return h})),r.d(e,"b",(function(){return p}));var n=r(31),i=r(17),o=r(41),a=r(1),s=r(0),l=r(15);function u(t){var e=t.getDefaultTileGrid();return e||(e=function(t,e,r,i){return function(t,e,r,i){var o=void 0!==i?i:"top-left",a=f(t,e,r);return new n.a({extent:t,origin:Object(s.y)(t,o),resolutions:a,tileSize:r})}(p(t),e,r,i)}(t),t.setDefaultTileGrid(e)),e}function c(t,e,r){var n=e[0],i=t.getTileCoordCenter(e),o=p(r);if(Object(s.g)(o,i))return e;var a=Object(s.G)(o),l=Math.ceil((o[0]-i[0])/a);return i[0]+=a*l,t.getTileCoordForCoordAndZ(i,n)}function h(t){var e=t||{},r=e.extent||Object(a.o)("EPSG:3857").getExtent(),i={extent:r,minZoom:e.minZoom,tileSize:e.tileSize,resolutions:f(r,e.maxZoom,e.tileSize,e.maxResolution)};return new n.a(i)}function f(t,e,r,n){for(var i=void 0!==e?e:o.a,a=Object(s.A)(t),u=Object(s.G)(t),c=Object(l.d)(void 0!==r?r:o.b),h=n>0?n:Math.max(u/c[0],a/c[1]),f=i+1,p=new Array(f),d=0;dr&&(t=r),t},Ot=function(t){return t.length>=3?Array.prototype.slice.call(t):t[0]},E=function(t){var e,r;for(t._clipped=!1,t._unclipped=t.slice(0),e=r=0;r<3;e=++r)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t._clipped||delete t._unclipped,t},a=Math.PI,vt=Math.round,O=Math.cos,R=Math.floor,nt=Math.pow,K=Math.log,xt=Math.sin,wt=Math.sqrt,y=Math.atan2,$=Math.max,g=Math.abs,u=2*a,s=a/3,i=a/180,l=180/a,(w=function(){return arguments[0]instanceof n?arguments[0]:function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,arguments,(function(){}))}).default=w,d=[],null!==t&&null!=t.exports&&(t.exports=w),void 0===(r=function(){return w}.apply(e,[]))||(t.exports=r),w.version="1.4.0",p={},h=[],f=!1,n=function(){function t(){var t,e,r,n,i,o,a,s,l;for(o=this,e=[],s=0,n=arguments.length;s1&&(a=e[e.length-1]),null!=p[a])o._rgb=E(p[a](Ot(e.slice(0,-1))));else{for(f||(h=h.sort((function(t,e){return e.p-t.p})),f=!0),l=0,i=h.length;l3?e[3]:1]},Tt=function(t){return 255*(t<=.00304?12.92*t:1.055*nt(t,1/2.4)-.055)},Y=function(t){return t>o.t1?t*t*t:o.t2*(t-o.t0)},o={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ht=function(){var t,e,r,n,i,o,a;return r=(n=Ot(arguments))[0],e=n[1],t=n[2],o=(i=yt(r,e,t))[0],[116*(a=i[1])-16,500*(o-a),200*(a-i[2])]},mt=function(t){return(t/=255)<=.04045?t/12.92:nt((t+.055)/1.055,2.4)},Ct=function(t){return t>o.t3?nt(t,1/3):t/o.t2+o.t0},yt=function(){var t,e,r,n;return r=(n=Ot(arguments))[0],e=n[1],t=n[2],r=mt(r),e=mt(e),t=mt(t),[Ct((.4124564*r+.3575761*e+.1804375*t)/o.Xn),Ct((.2126729*r+.7151522*e+.072175*t)/o.Yn),Ct((.0193339*r+.119192*e+.9503041*t)/o.Zn)]},w.lab=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["lab"]),(function(){}))},p.lab=q,n.prototype.lab=function(){return ht(this._rgb)},m=function(t){var e,r,n,i,o,a,s,l,u,c,h;return 2===(t=function(){var e,r,n;for(n=[],r=0,e=t.length;r=0&&e[3]<=1?"rgb":void 0}}),p.lrgb=p.rgb,U=function(t,e,r,i){var o,a;return o=t._rgb,a=e._rgb,new n(wt(nt(o[0],2)*(1-r)+nt(a[0],2)*r),wt(nt(o[1],2)*(1-r)+nt(a[1],2)*r),wt(nt(o[2],2)*(1-r)+nt(a[2],2)*r),i)},c=function(t){var e,r,i,o,a;for(e=1/t.length,a=[0,0,0,0],i=0,r=t.length;i1&&(a[3]=1),new n(E(a))},d.push(["lrgb",U]),w.average=function(t,e){var r,n,i,o,s,l,u,h,f,p,d,g,m;if(null==e&&(e="rgb"),f=t.length,u=(t=t.map((function(t){return w(t)}))).splice(0,1)[0],"lrgb"===e)return c(t);for(h in o=[],s=0,l=0,g=u.get(e))g[h]=g[h]||0,o.push(isNaN(g[h])?0:1),"h"!==e.charAt(h)||isNaN(g[h])||(r=g[h]/180*a,s+=O(r),l+=xt(r));for(n=u.alpha(),d=0,p=t.length;d=360;)r-=360;g[h]=r}else g[h]=g[h]/o[h];return w(g,e).alpha(n/f)},M=function(t){var e,r;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]),[(r=parseInt(t,16))>>16,r>>8&255,255&r,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),[(r=parseInt(t,16))>>24&255,r>>16&255,r>>8&255,vt((255&r)/255*100)/100];if(null!=p.css&&(e=p.css(t)))return e;throw"unknown color: "+t},st=function(t,e){var r,n,i,o,a,s;return null==e&&(e="auto"),a=t[0],i=t[1],n=t[2],r=t[3],"auto"===e&&(e=r<1?"rgba":"rgb"),a=Math.round(a),i=Math.round(i),n=Math.round(n),s=(s="000000"+(a<<16|i<<8|n).toString(16)).substr(s.length-6),o=(o="0"+vt(255*r).toString(16)).substr(o.length-2),"#"+function(){switch(e.toLowerCase()){case"rgba":return s+o;case"argb":return o+s;default:return s}}()},p.hex=function(t){return M(t)},w.hex=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hex"]),(function(){}))},n.prototype.hex=function(t){return null==t&&(t="auto"),st(this._rgb,t)},h.push({p:4,test:function(t){if(1===arguments.length&&"string"===St(t))return"hex"}}),k=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p;if(i=(t=Ot(arguments))[0],c=t[1],a=t[2],0===c)l=n=e=255*a;else{for(r=[0,0,0],h=2*a-(f=a<.5?a*(1+c):a+c-a*c),(p=[0,0,0])[0]=(i/=360)+1/3,p[1]=i,p[2]=i-1/3,o=s=0;s<=2;o=++s)p[o]<0&&(p[o]+=1),p[o]>1&&(p[o]-=1),6*p[o]<1?r[o]=h+6*(f-h)*p[o]:2*p[o]<1?r[o]=f:3*p[o]<2?r[o]=h+(f-h)*(2/3-p[o])*6:r[o]=h;l=(u=[vt(255*r[0]),vt(255*r[1]),vt(255*r[2])])[0],n=u[1],e=u[2]}return t.length>3?[l,n,e,t[3]]:[l,n,e]},ut=function(t,e,r){var n,i,o,a,s;return void 0!==t&&t.length>=3&&(t=(a=t)[0],e=a[1],r=a[2]),t/=255,e/=255,r/=255,o=Math.min(t,e,r),i=(($=Math.max(t,e,r))+o)/2,$===o?(s=0,n=Number.NaN):s=i<.5?($-o)/($+o):($-o)/(2-$-o),t===$?n=(e-r)/($-o):e===$?n=2+(r-t)/($-o):r===$&&(n=4+(t-e)/($-o)),(n*=60)<0&&(n+=360),[n,s,i]},w.hsl=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsl"]),(function(){}))},p.hsl=k,n.prototype.hsl=function(){return ut(this._rgb)},j=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m;if(i=(t=Ot(arguments))[0],g=t[1],m=t[2],m*=255,0===g)l=n=e=m;else switch(360===i&&(i=0),i>360&&(i-=360),i<0&&(i+=360),a=m*(1-g),s=m*(1-g*(r=(i/=60)-(o=R(i)))),y=m*(1-g*(1-r)),o){case 0:l=(u=[m,y,a])[0],n=u[1],e=u[2];break;case 1:l=(c=[s,m,a])[0],n=c[1],e=c[2];break;case 2:l=(h=[a,m,y])[0],n=h[1],e=h[2];break;case 3:l=(f=[a,s,m])[0],n=f[1],e=f[2];break;case 4:l=(p=[y,a,m])[0],n=p[1],e=p[2];break;case 5:l=(d=[m,a,s])[0],n=d[1],e=d[2]}return[l,n,e,t.length>3?t[3]:1]},ct=function(){var t,e,r,n,i,o,a,s,l;return o=(a=Ot(arguments))[0],r=a[1],t=a[2],i=Math.min(o,r,t),e=($=Math.max(o,r,t))-i,l=$/255,0===$?(n=Number.NaN,s=0):(s=e/$,o===$&&(n=(r-t)/e),r===$&&(n=2+(t-o)/e),t===$&&(n=4+(o-r)/e),(n*=60)<0&&(n+=360)),[n,s,l]},w.hsv=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsv"]),(function(){}))},p.hsv=j,n.prototype.hsv=function(){return ct(this._rgb)},et=function(t){return"number"===St(t)&&t>=0&&t<=16777215?[t>>16,t>>8&255,255&t,1]:(console.warn("unknown num color: "+t),[0,0,0,1])},dt=function(){var t;return((t=Ot(arguments))[0]<<16)+(t[1]<<8)+t[2]},w.num=function(t){return new n(t,"num")},n.prototype.num=function(t){return null==t&&(t="rgb"),dt(this._rgb,t)},p.num=et,h.push({p:1,test:function(t){if(1===arguments.length&&"number"===St(t)&&t>=0&&t<=16777215)return"num"}}),L=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v;if(s=(r=Ot(arguments))[0],i=r[1],e=r[2],a=a/100*255,t=255*(i/=100),0===i)h=a=n=e;else switch(360===s&&(s=0),s>360&&(s-=360),s<0&&(s+=360),c=(u=e*(1-i))+t*(1-(o=(s/=60)-(l=R(s)))),_=u+t*o,v=u+t,l){case 0:h=(f=[v,_,u])[0],a=f[1],n=f[2];break;case 1:h=(p=[c,v,u])[0],a=p[1],n=p[2];break;case 2:h=(d=[u,v,_])[0],a=d[1],n=d[2];break;case 3:h=(g=[u,c,v])[0],a=g[1],n=g[2];break;case 4:h=(y=[_,u,v])[0],a=y[1],n=y[2];break;case 5:h=(m=[v,u,c])[0],a=m[1],n=m[2]}return[h,a,n,r.length>3?r[3]:1]},at=function(){var t,e,r,n,i,o,a,s,l;return s=(l=Ot(arguments))[0],i=l[1],e=l[2],a=Math.min(s,i,e),r=100*(n=($=Math.max(s,i,e))-a)/255,t=a/(255-n)*100,0===n?o=Number.NaN:(s===$&&(o=(i-e)/n),i===$&&(o=2+(e-s)/n),e===$&&(o=4+(s-i)/n),(o*=60)<0&&(o+=360)),[o,r,t]},w.hcg=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hcg"]),(function(){}))},p.hcg=L,n.prototype.hcg=function(){return at(this._rgb)},I=function(t){var e,r,n,i,o,a,s,l;if(t=t.toLowerCase(),null!=w.colors&&w.colors[t])return M(w.colors[t]);if(o=t.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(s=o.slice(1,4),i=a=0;a<=2;i=++a)s[i]=+s[i];s[3]=1}else if(o=t.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(s=o.slice(1,5),i=l=0;l<=3;i=++l)s[i]=+s[i];else if(o=t.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(s=o.slice(1,4),i=e=0;e<=2;i=++e)s[i]=vt(2.55*s[i]);s[3]=1}else if(o=t.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(s=o.slice(1,5),i=r=0;r<=2;i=++r)s[i]=vt(2.55*s[i]);s[3]=+s[3]}else(o=t.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?((n=o.slice(1,4))[1]*=.01,n[2]*=.01,(s=k(n))[3]=1):(o=t.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&((n=o.slice(1,4))[1]*=.01,n[2]*=.01,(s=k(n))[3]=+o[4]);return s},ot=function(t){var e;return"rgb"===(e=t[3]<1?"rgba":"rgb")?e+"("+t.slice(0,3).map(vt).join(",")+")":"rgba"===e?e+"("+t.slice(0,3).map(vt).join(",")+","+t[3]+")":void 0},_t=function(t){return vt(100*t)/100},N=function(t,e){var r;return r=e<1?"hsla":"hsl",t[0]=_t(t[0]||0),t[1]=_t(100*t[1])+"%",t[2]=_t(100*t[2])+"%","hsla"===r&&(t[3]=e),r+"("+t.join(",")+")"},p.css=function(t){return I(t)},w.css=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["css"]),(function(){}))},n.prototype.css=function(t){return null==t&&(t="rgb"),"rgb"===t.slice(0,3)?ot(this._rgb):"hsl"===t.slice(0,3)?N(this.hsl(),this.alpha()):void 0},p.named=function(t){return M(It[t])},h.push({p:5,test:function(t){if(1===arguments.length&&null!=It[t])return"named"}}),n.prototype.name=function(t){var e,r;for(r in arguments.length&&(It[t]&&(this._rgb=M(It[t])),this._rgb[3]=1),e=this.hex("rgb"),It)if(e===It[r])return r;return e},W=function(){var t,e,r,n;return r=(n=Ot(arguments))[0],t=n[1],e=n[2],[r,O(e*=i)*t,xt(e)*t]},X=function(){var t,e,r,n,i,o,a,s,l;return a=(r=Ot(arguments))[0],i=r[1],o=r[2],t=(s=W(a,i,o))[0],e=s[1],n=s[2],[(l=q(t,e,n))[0],l[1],n=l[2],r.length>3?r[3]:1]},V=function(){var t,e,r,n,i,o;return i=(o=Ot(arguments))[0],t=o[1],e=o[2],r=wt(t*t+e*e),n=(y(e,t)*l+360)%360,0===vt(1e4*r)&&(n=Number.NaN),[i,r,n]},ft=function(){var t,e,r,n,i,o,a;return i=(o=Ot(arguments))[0],r=o[1],e=o[2],n=(a=ht(i,r,e))[0],t=a[1],e=a[2],V(n,t,e)},w.lch=function(){var t;return t=Ot(arguments),new n(t,"lch")},w.hcl=function(){var t;return t=Ot(arguments),new n(t,"hcl")},p.lch=X,p.hcl=function(){var t,e,r,n;return e=(n=Ot(arguments))[0],t=n[1],r=n[2],X([r,t,e])},n.prototype.lch=function(){return ft(this._rgb)},n.prototype.hcl=function(){return ft(this._rgb).reverse()},it=function(t){var e,r,n,i,o,a;return null==t&&(t="rgb"),o=(a=Ot(arguments))[0],n=a[1],e=a[2],n/=255,e/=255,[(1-(o/=255)-(i=1-Math.max(o,Math.max(n,e))))*(r=i<1?1/(1-i):0),(1-n-i)*r,(1-e-i)*r,i]},S=function(){var t,e,r,n,i,o;return r=(e=Ot(arguments))[0],i=e[1],o=e[2],n=e[3],t=e.length>4?e[4]:1,1===n?[0,0,0,t]:[r>=1?0:255*(1-r)*(1-n),i>=1?0:255*(1-i)*(1-n),o>=1?0:255*(1-o)*(1-n),t]},p.cmyk=function(){return S(Ot(arguments))},w.cmyk=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["cmyk"]),(function(){}))},n.prototype.cmyk=function(){return it(this._rgb)},p.gl=function(){var t,e,r,n,i;for(n=function(){var t,r;for(e in r=[],t=Ot(arguments))i=t[e],r.push(i);return r}.apply(this,arguments),t=r=0;r<=2;t=++r)n[t]*=255;return n},w.gl=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["gl"]),(function(){}))},n.prototype.gl=function(){var t;return[(t=this._rgb)[0]/255,t[1]/255,t[2]/255,t[3]]},pt=function(t,e,r){var n;return t=(n=Ot(arguments))[0],e=n[1],r=n[2],.2126*(t=J(t))+.7152*(e=J(e))+.0722*(r=J(r))},J=function(t){return(t/=255)<=.03928?t/12.92:nt((t+.055)/1.055,2.4)},z=function(t,e,r,i){var o,a;return o=t._rgb,a=e._rgb,new n(o[0]+r*(a[0]-o[0]),o[1]+r*(a[1]-o[1]),o[2]+r*(a[2]-o[2]),i)},d.push(["rgb",z]),n.prototype.luminance=function(t,e){var r,n,i,o,a;return null==e&&(e="rgb"),arguments.length?(o=this._rgb,0===t?o=[0,0,0,this._rgb[3]]:1===t?o=[255,255,255,this[3]]:(r=pt(this._rgb),n=1e-7,i=20,a=function(r,o){var s,l;return s=(l=r.interpolate(o,.5,e)).luminance(),Math.abs(t-s)t?a(r,l):a(l,o)},o=r>t?a(w("black"),this).rgba():a(this,w("white")).rgba()),w(o).alpha(this.alpha())):pt(this._rgb)},Et=function(t){var e,r,n,i;return(i=t/100)<66?(n=255,r=-155.25485562709179-.44596950469579133*(r=i-2)+104.49216199393888*K(r),e=i<20?0:.8274096064007395*(e=i-10)-254.76935184120902+115.67994401066147*K(e)):(n=351.97690566805693+.114206453784165*(n=i-55)-40.25366309332127*K(n),r=325.4494125711974+.07943456536662342*(r=i-50)-28.0852963507957*K(r),e=255),[n,r,e]},gt=function(){var t,e,r,n,i,o,a,s;for(i=(o=Ot(arguments))[0],o[1],t=o[2],n=1e3,r=4e4,e=.4;r-n>e;)(a=Et(s=.5*(r+n)))[2]/a[0]>=t/i?r=s:n=s;return vt(s)},w.temperature=w.kelvin=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["temperature"]),(function(){}))},p.temperature=p.kelvin=p.K=Et,n.prototype.temperature=function(){return gt(this._rgb)},n.prototype.kelvin=n.prototype.temperature,w.contrast=function(t,e){var r,i,o,a;return"string"!==(o=St(t))&&"number"!==o||(t=new n(t)),"string"!==(a=St(e))&&"number"!==a||(e=new n(e)),(r=t.luminance())>(i=e.luminance())?(r+.05)/(i+.05):(i+.05)/(r+.05)},w.distance=function(t,e,r){var i,o,a,s,l,u,c;for(o in null==r&&(r="lab"),"string"!==(l=St(t))&&"number"!==l||(t=new n(t)),"string"!==(u=St(e))&&"number"!==u||(e=new n(e)),a=t.get(r),s=e.get(r),c=0,a)c+=(i=(a[o]||0)-(s[o]||0))*i;return Math.sqrt(c)},w.deltaE=function(t,e,r,i){var o,s,l,u,c,h,f,p,d,m,_,v,b,x,w,E,S,I,C,T,P,R,L,M;for(null==r&&(r=1),null==i&&(i=1),"string"!==(w=St(t))&&"number"!==w||(t=new n(t)),"string"!==(E=St(e))&&"number"!==E||(e=new n(e)),o=(S=t.lab())[0],l=S[1],c=S[2],s=(I=e.lab())[0],u=I[1],h=I[2],f=wt(l*l+c*c),p=wt(u*u+h*h),T=o<16?.511:.040975*o/(1+.01765*o),C=.0638*f/(1+.0131*f)+.638,x=f<1e-6?0:180*y(c,l)/a;x<0;)x+=360;for(;x>=360;)x-=360;return P=x>=164&&x<=345?.56+g(.2*O(a*(x+168)/180)):.36+g(.4*O(a*(x+35)/180)),b=wt((d=f*f*f*f)/(d+1900)),wt((R=(o-s)/(r*T))*R+(L=(v=f-p)/(i*C))*L+((m=l-u)*m+(_=c-h)*_-v*v)/((M=C*(b*P+1-b))*M))},n.prototype.get=function(t){var e,r,n,i,o;return this,n=(i=t.split("."))[0],e=i[1],o=this[n](),e?(r=n.indexOf(e))>-1?o[r]:console.warn("unknown channel "+e+" in mode "+n):o},n.prototype.set=function(t,e){var r,n,i,o,a;if(this,i=(o=t.split("."))[0],r=o[1])if(a=this[i](),(n=i.indexOf(r))>-1)if("string"===St(e))switch(e.charAt(0)){case"+":case"-":a[n]+=+e;break;case"*":a[n]*=+e.substr(1);break;case"/":a[n]/=+e.substr(1);break;default:a[n]=+e}else a[n]=e;else console.warn("unknown channel "+r+" in mode "+i);else a=e;return w(a,i).alpha(this.alpha())},n.prototype.clipped=function(){return this._rgb._clipped||!1},n.prototype.alpha=function(t){return arguments.length?w.rgb([this._rgb[0],this._rgb[1],this._rgb[2],t]):this._rgb[3]},n.prototype.darken=function(t){var e;return null==t&&(t=1),this,(e=this.lab())[0]-=o.Kn*t,w.lab(e).alpha(this.alpha())},n.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},n.prototype.darker=n.prototype.darken,n.prototype.brighter=n.prototype.brighten,n.prototype.saturate=function(t){var e;return null==t&&(t=1),this,(e=this.lch())[1]+=t*o.Kn,e[1]<0&&(e[1]=0),w.lch(e).alpha(this.alpha())},n.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},n.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),w(e[0]*t,e[1]*t,e[2]*t,t)},tt=function(t,e){return t*e/255},C=function(t,e){return t>e?e:t},H=function(t,e){return t>e?t:e},bt=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},rt=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},x=function(t,e){return 255*(1-(1-e/255)/(t/255))},T=function(t,e){return 255===t||(t=e/255*255/(1-t/255))>255?255:t},(_=function(t,e,r){if(!_[r])throw"unknown blend mode "+r;return _[r](t,e)}).normal=(v=function(t){return function(e,r){var n,i;return n=w(r).rgb(),i=w(e).rgb(),w(t(n,i),"rgb")}})((P=function(t){return function(e,r){var n,i,o;for(o=[],n=i=0;i<=3;n=++i)o[n]=t(e[n],r[n]);return o}})((function(t,e){return t}))),_.multiply=v(P(tt)),_.screen=v(P(bt)),_.overlay=v(P(rt)),_.darken=v(P(C)),_.lighten=v(P(H)),_.dodge=v(P(T)),_.burn=v(P(x)),w.blend=_,w.analyze=function(t){var e,r,n,i;for(n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},r=0,e=t.length;rn.max&&(n.max=i),n.count+=1);return n.domain=[n.min,n.max],n.limits=function(t,e){return w.limits(n,t,e)},n},w.scale=function(t,e){var r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,E;return c="rgb",h=w("#ccc"),g=0,!1,a=[0,1],d=[],p=[0,0],r=!1,i=[],f=!1,u=0,l=1,o=!1,n={},y=!0,s=1,x=function(t){var e,r,n,o,a,s;if(null==t&&(t=["#fff","#000"]),null!=t&&"string"===St(t)&&null!=w.brewer&&(t=w.brewer[t]||w.brewer[t.toLowerCase()]||t),"array"===St(t)){for(1===t.length&&(t=[t[0],t[0]]),e=n=0,o=(t=t.slice(0)).length-1;0<=o?n<=o:n>=o;e=0<=o?++n:--n)r=t[e],"string"===St(r)&&(t[e]=w(r));for(d.length=0,e=s=0,a=t.length-1;0<=a?s<=a:s>=a;e=0<=a?++s:--s)d.push(e/(t.length-1))}return b(),i=t},_=function(t){var e,n;if(null!=r){for(n=r.length-1,e=0;e=r[e];)e++;return e-1}return 0},E=function(t){return t},function(t){var e,n,i,o,a;return a=t,r.length>2&&(o=r.length-1,e=_(t),i=r[0]+(r[1]-r[0])*(0+.5*g),n=r[o-1]+(r[o]-r[o-1])*(1-.5*g),a=u+(r[e]+.5*(r[e+1]-r[e])-i)/(n-i)*(l-u)),a},v=function(t,e){var o,a,f,g,m,v,b;if(null==e&&(e=!1),isNaN(t))return h;if(b=e?t:r&&r.length>2?_(t)/(r.length-2):l!==u?(t-u)/(l-u):1,e||(b=E(b)),1!==s&&(b=nt(b,s)),b=p[0]+b*(1-p[0]-p[1]),b=Math.min(1,Math.max(0,b)),f=Math.floor(1e4*b),y&&n[f])o=n[f];else{if("array"===St(i))for(a=g=0,v=d.length-1;0<=v?g<=v:g>=v;a=0<=v?++g:--g){if(b<=(m=d[a])){o=i[a];break}if(b>=m&&a===d.length-1){o=i[a];break}if(b>m&&b=c;e=0<=c?++h:--h)d.push(e/(n-1));return a=[u,l],m},m.mode=function(t){return arguments.length?(c=t,b(),m):c},m.range=function(t,e){return x(t),m},m.out=function(t){return f=t,m},m.spread=function(t){return arguments.length?(g=t,m):g},m.correctLightness=function(t){return null==t&&(t=!0),o=t,b(),E=o?function(t){var e,r,n,i,o,a,s,l,u;for(e=v(0,!0).lab()[0],r=v(1,!0).lab()[0],s=e>r,n=v(t,!0).lab()[0],i=n-(o=e+(r-e)*t),l=0,u=1,a=20;Math.abs(i)>.01&&a-- >0;)s&&(i*=-1),i<0?(l=t,t+=.5*(u-t)):(u=t,t+=.5*(l-t)),n=v(t,!0).lab()[0],i=n-o;return t}:function(t){return t},m},m.padding=function(t){return null!=t?("number"===St(t)&&(t=[t,t]),p=t,m):p},m.colors=function(e,n){var o,s,l,u,c,h,f,p;if(arguments.length<2&&(n="hex"),c=[],0===arguments.length)c=i.slice(0);else if(1===e)c=[m(.5)];else if(e>1)s=a[0],o=a[1]-s,c=function(){h=[];for(var t=0;0<=e?te;0<=e?t++:t--)h.push(t);return h}.apply(this).map((function(t){return m(s+t/(e-1)*o)}));else{if(t=[],f=[],r&&r.length>2)for(l=p=1,u=r.length;1<=u?pu;l=1<=u?++p:--p)f.push(.5*(r[l-1]+r[l]));else f=a;c=f.map((function(t){return m(t)}))}return w[n]&&(c=c.map((function(t){return t[n]()}))),c},m.cache=function(t){return null!=t?(y=t,m):y},m.gamma=function(t){return null!=t?(s=t,m):s},m},null==w.scales&&(w.scales={}),w.scales.cool=function(){return w.scale([w.hsl(180,1,.9),w.hsl(250,.7,.4)])},w.scales.hot=function(){return w.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},w.analyze=function(t,e,r){var n,i,o,a,s,l;if(s={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==r&&(r=function(){return!0}),n=function(t){null==t||isNaN(t)||(s.values.push(t),s.sum+=t,ts.max&&(s.max=t),s.count+=1)},l=function(t,i){if(r(t,i))return null!=e&&"function"===St(e)?n(e(t)):null!=e&&"string"===St(e)||"number"===St(e)?n(t[e]):n(t)},"array"===St(t))for(a=0,o=t.length;a=U;S=1<=U?++j:--j)C.push(P+S/r*($-P));C.push($)}else if("l"===e.substr(0,1)){if(P<=0)throw"Logarithmic scales are only possible for values > 0";for(L=Math.LOG10E*K(P),T=Math.LOG10E*K($),C.push(P),S=ut=1,B=r-1;1<=B?ut<=B:ut>=B;S=1<=B?++ut:--ut)C.push(nt(10,L+S/r*(T-L)));C.push($)}else if("q"===e.substr(0,1)){for(C.push(P),S=n=1,X=r-1;1<=X?n<=X:n>=X;S=1<=X?++n:--n)F=(lt.length-1)*S/r,(D=R(F))===F?C.push(lt[D]):(G=F-D,C.push(lt[D]*(1-G)+lt[D+1]*G));C.push($)}else if("k"===e.substr(0,1)){for(A=lt.length,m=new Array(A),x=new Array(r),it=!0,N=0,v=null,(v=[]).push(P),S=i=1,H=r-1;1<=H?i<=H:i>=H;S=1<=H?++i:--i)v.push(P+S/r*($-P));for(v.push($);it;){for(O=o=0,Z=r-1;0<=Z?o<=Z:o>=Z;O=0<=Z?++o:--o)x[O]=0;for(S=a=0,J=A-1;0<=J?a<=J:a>=J;S=0<=J?++a:--a){for(st=lt[S],M=Number.MAX_VALUE,O=s=0,Q=r-1;0<=Q?s<=Q:s>=Q;O=0<=Q?++s:--s)(E=g(v[O]-st))=tt;O=0<=tt?++l:--l)k[O]=null;for(S=u=0,et=A-1;0<=et?u<=et:u>=et;S=0<=et?++u:--u)null===k[b=m[S]]?k[b]=lt[S]:k[b]+=lt[S];for(O=c=0,rt=r-1;0<=rt?c<=rt:c>=rt;O=0<=rt?++c:--c)k[O]*=1/x[O];for(it=!1,O=h=0,z=r-1;0<=z?h<=z:h>=z;O=0<=z?++h:--h)if(k[O]!==v[S]){it=!0;break}v=k,++N>200&&(it=!1)}for(I={},O=f=0,V=r-1;0<=V?f<=V:f>=V;O=0<=V?++f:--f)I[O]=[];for(S=p=0,q=A-1;0<=q?p<=q:p>=q;S=0<=q?++p:--p)I[b=m[S]].push(lt[S]);for(ot=[],O=d=0,Y=r-1;0<=Y?d<=Y:d>=Y;O=0<=Y?++d:--d)ot.push(I[O][0]),ot.push(I[O][I[O].length-1]);for(ot=ot.sort((function(t,e){return t-e})),C.push(ot[0]),S=y=1,W=ot.length-1;y<=W;S=y+=2)at=ot[S],isNaN(at)||-1!==C.indexOf(at)||C.push(at)}return C},A=function(t,e,r){var n,i,o,a;return t=(n=Ot(arguments))[0],e=n[1],r=n[2],isNaN(t)&&(t=0),(t/=360)<1/3?o=1-((i=(1-e)/3)+(a=(1+e*O(u*t)/O(s-u*t))/3)):t<2/3?i=1-((a=(1-e)/3)+(o=(1+e*O(u*(t-=1/3))/O(s-u*t))/3)):a=1-((o=(1-e)/3)+(i=(1+e*O(u*(t-=2/3))/O(s-u*t))/3)),[255*(a=Z(r*a*3)),255*(o=Z(r*o*3)),255*(i=Z(r*i*3)),n.length>3?n[3]:1]},lt=function(){var t,e,r,n,i,o,a;return i=(o=Ot(arguments))[0],e=o[1],t=o[2],u=2*Math.PI,i/=255,e/=255,t/=255,0===(a=1-Math.min(i,e,t)/(n=(i+e+t)/3))?r=0:(r=(i-e+(i-t))/2,r/=Math.sqrt((i-e)*(i-e)+(i-t)*(e-t)),r=Math.acos(r),t>e&&(r=u-r),r/=u),[360*r,a,n]},w.hsi=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsi"]),(function(){}))},p.hsi=A,n.prototype.hsi=function(){return lt(this._rgb)},D=function(t,e,r,n){var i,o,a,s,l,u,c,h,f,p;return"hsl"===n?(f=t.hsl(),p=e.hsl()):"hsv"===n?(f=t.hsv(),p=e.hsv()):"hcg"===n?(f=t.hcg(),p=e.hcg()):"hsi"===n?(f=t.hsi(),p=e.hsi()):"lch"!==n&&"hcl"!==n||(n="hcl",f=t.hcl(),p=e.hcl()),"h"===n.substr(0,1)&&(o=f[0],c=f[1],s=f[2],a=p[0],h=p[1],l=p[2]),isNaN(o)||isNaN(a)?isNaN(o)?isNaN(a)?i=Number.NaN:(i=a,1!==s&&0!==s||"hsv"===n||(u=h)):(i=o,1!==l&&0!==l||"hsv"===n||(u=c)):i=o+r*(a>o&&a-o>180?a-(o+360):a180?a+360-o:a-o),null==u&&(u=c+r*(h-c)),w[n](i,u,s+r*(l-s))},B=function(t,e,r,n){var i,o;return i=t.num(),o=e.num(),w.num(i+(o-i)*r,"num")},(d=d.concat(function(){var t,e,r,n;for(n=[],e=0,t=(r=["hsv","hsl","hsi","hcl","lch","hcg"]).length;e=this.minZoom;){if(2===this.zoomFactor_?(a=Math.floor(a/2),s=Math.floor(s/2),o=Object(n.a)(a,a,s,s,r)):o=this.getTileRangeForExtentAndZ(l,u,r),e(u,o))return!0;--u}return!1},t.prototype.getExtent=function(){return this.extent_},t.prototype.getMaxZoom=function(){return this.maxZoom},t.prototype.getMinZoom=function(){return this.minZoom},t.prototype.getOrigin=function(t){return this.origin_?this.origin_:this.origins_[t]},t.prototype.getResolution=function(t){return this.resolutions_[t]},t.prototype.getResolutions=function(){return this.resolutions_},t.prototype.getTileCoordChildTileRange=function(t,e,r){if(t[0]this.maxZoom||et.maxResolution)return!1;var n=e.zoom;return n>t.minZoom&&n<=t.maxZoom}e.a=f},function(t,e,r){"use strict";r.d(e,"b",(function(){return n})),r.d(e,"a",(function(){return i}));var n=.5,i=!0},function(t,e,r){"use strict";var n=r(17),i=function(){function t(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}return t.prototype.canWrapX=function(){return this.canWrapX_},t.prototype.getCode=function(){return this.code_},t.prototype.getExtent=function(){return this.extent_},t.prototype.getUnits=function(){return this.units_},t.prototype.getMetersPerUnit=function(){return this.metersPerUnit_||n.a[this.units_]},t.prototype.getWorldExtent=function(){return this.worldExtent_},t.prototype.getAxisOrientation=function(){return this.axisOrientation_},t.prototype.isGlobal=function(){return this.global_},t.prototype.setGlobal=function(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)},t.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_},t.prototype.setDefaultTileGrid=function(t){this.defaultTileGrid_=t},t.prototype.setExtent=function(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)},t.prototype.setWorldExtent=function(t){this.worldExtent_=t},t.prototype.setGetPointResolution=function(t){this.getPointResolutionFunc_=t},t.prototype.getPointResolutionFunc=function(){return this.getPointResolutionFunc_},t}();e.a=i},function(t,e,r){"use strict";var n,i=r(52),o=r(18),a=r(16),s=r(4),l=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),u=function(t){function e(e){var r=t.call(this)||this;return r.eventTarget_=e,r.pendingRemovals_=null,r.dispatching_=null,r.listeners_=null,r}return l(e,t),e.prototype.addEventListener=function(t,e){if(t&&e){var r=this.listeners_||(this.listeners_={}),n=r[t]||(r[t]=[]);-1===n.indexOf(e)&&n.push(e)}},e.prototype.dispatchEvent=function(t){var e="string"==typeof t,r=e?t:t.type,n=this.listeners_&&this.listeners_[r];if(n){var i=e?new o.a(t):t;i.target||(i.target=this.eventTarget_||this);var s,l=this.dispatching_||(this.dispatching_={}),u=this.pendingRemovals_||(this.pendingRemovals_={});r in l||(l[r]=0,u[r]=0),++l[r];for(var c=0,h=n.length;c0)},e.prototype.removeEventListener=function(t,e){var r=this.listeners_&&this.listeners_[t];if(r){var n=r.indexOf(e);-1!==n&&(this.pendingRemovals_&&t in this.pendingRemovals_?(r[n]=a.c,++this.pendingRemovals_[t]):(r.splice(n,1),0===r.length&&delete this.listeners_[t]))}},e}(i.a);e.a=u},function(t,e,r){"use strict";r.d(e,"a",(function(){return y}));var n,i=r(18),o=r(44),a=r(67),s=r(9),l=r(2),u=r(10),c=r(1),h=r(19),f=r(27),p=r(15),d=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),g=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:e.projection,state:e.state,wrapX:e.wrapX,interpolate:e.interpolate})||this;r.on,r.once,r.un,r.opaque_=void 0!==e.opaque&&e.opaque,r.tilePixelRatio_=void 0!==e.tilePixelRatio?e.tilePixelRatio:1,r.tileGrid=void 0!==e.tileGrid?e.tileGrid:null;return r.tileGrid&&Object(p.d)(r.tileGrid.getTileSize(r.tileGrid.getMinZoom()),[256,256]),r.tileCache=new a.a(e.cacheSize||0),r.tmpSize=[0,0],r.key_=e.key||"",r.tileOptions={transition:e.transition,interpolate:e.interpolate},r.zDirection=e.zDirection?e.zDirection:0,r}return d(e,t),e.prototype.canExpireCache=function(){return this.tileCache.canExpireCache()},e.prototype.expireCache=function(t,e){var r=this.getTileCacheForProjection(t);r&&r.expireCache(e)},e.prototype.forEachLoadedTile=function(t,e,r,n){var i=this.getTileCacheForProjection(t);if(!i)return!1;for(var o,a,l,u=!0,c=r.minX;c<=r.maxX;++c)for(var f=r.minY;f<=r.maxY;++f)a=Object(h.e)(e,c,f),l=!1,i.containsKey(a)&&(l=(o=i.get(a)).getState()===s.a.LOADED)&&(l=!1!==n(o)),l||(u=!1);return u},e.prototype.getGutterForProjection=function(t){return 0},e.prototype.getKey=function(){return this.key_},e.prototype.setKey=function(t){this.key_!==t&&(this.key_=t,this.changed())},e.prototype.getOpaque=function(t){return this.opaque_},e.prototype.getResolutions=function(){return this.tileGrid?this.tileGrid.getResolutions():null},e.prototype.getTile=function(t,e,r,n,i){return Object(l.b)()},e.prototype.getTileGrid=function(){return this.tileGrid},e.prototype.getTileGridForProjection=function(t){return this.tileGrid?this.tileGrid:Object(f.c)(t)},e.prototype.getTileCacheForProjection=function(t){var e=this.getProjection();return Object(u.a)(null===e||Object(c.j)(e,t),68),this.tileCache},e.prototype.getTilePixelRatio=function(t){return this.tilePixelRatio_},e.prototype.getTilePixelSize=function(t,e,r){var n=this.getTileGridForProjection(r),i=this.getTilePixelRatio(e),o=Object(p.d)(n.getTileSize(t),this.tmpSize);return 1==i?o:Object(p.c)(o,i,this.tmpSize)},e.prototype.getTileCoordForTileUrlFunction=function(t,e){var r=void 0!==e?e:this.getProjection(),n=this.getTileGridForProjection(r);return this.getWrapX()&&r.isGlobal()&&(t=Object(f.d)(n,t,r)),Object(h.g)(t,n)?t:null},e.prototype.clear=function(){this.tileCache.clear()},e.prototype.refresh=function(){this.clear(),t.prototype.refresh.call(this)},e.prototype.updateCacheSize=function(t,e){var r=this.getTileCacheForProjection(e);t>r.highWaterMark&&(r.highWaterMark=t)},e.prototype.useTile=function(t,e,r,n){},e}(o.a),y=function(t){function e(e,r){var n=t.call(this,e)||this;return n.tile=r,n}return d(e,t),e}(i.a);e.b=g},function(t,e,r){"use strict";function n(t,e){let r=t.length-e,n=0;do{for(let r=e;r>0;r--)t[n+e]+=t[n],n++;r-=e}while(r>0)}function i(t,e,r){let n=0,i=t.length;const o=i/r;for(;i>e;){for(let r=e;r>0;--r)t[n+e]+=t[n],++n;i-=e}const a=t.slice();for(let e=0;e=t.byteLength);++s){let o;if(2===e){switch(a[0]){case 8:o=new Uint8Array(t,s*u*r*l,u*r*l);break;case 16:o=new Uint16Array(t,s*u*r*l,u*r*l/2);break;case 32:o=new Uint32Array(t,s*u*r*l,u*r*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${a[0]} bits per sample.`)}n(o,u)}else 3===e&&(o=new Uint8Array(t,s*u*r*l,u*r*l),i(o,u,l))}return t}(r,o,e?t.TileWidth:t.ImageWidth,e?t.TileLength:t.RowsPerStrip||t.ImageLength,t.BitsPerSample,t.PlanarConfiguration)}return r}}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=42,i=256},function(t,e,r){"use strict";r.d(e,"b",(function(){return f}));var n,i=r(6),o=r(66),a=r(13),s=r(24),l=r(0),u=r(8),c=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),h=function(t){function e(e,r,n,i,o,s){var l=t.call(this,e,r,n,a.a.IDLE)||this;return l.src_=i,l.image_=new Image,null!==o&&(l.image_.crossOrigin=o),l.unlisten_=null,l.state=a.a.IDLE,l.imageLoadFunction_=s,l}return c(e,t),e.prototype.getImage=function(){return this.image_},e.prototype.handleImageError_=function(){this.state=a.a.ERROR,this.unlistenImage_(),this.changed()},e.prototype.handleImageLoad_=function(){void 0===this.resolution&&(this.resolution=Object(l.A)(this.extent)/this.image_.height),this.state=a.a.LOADED,this.unlistenImage_(),this.changed()},e.prototype.load=function(){this.state!=a.a.IDLE&&this.state!=a.a.ERROR||(this.state=a.a.LOADING,this.changed(),this.imageLoadFunction_(this,this.src_),this.unlisten_=f(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))},e.prototype.setImage=function(t){this.image_=t,this.resolution=Object(l.A)(this.extent)/this.image_.height},e.prototype.unlistenImage_=function(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)},e}(o.a);function f(t,e,r){var n=t,o=!0,a=!1,l=!1,c=[Object(u.b)(n,i.a.LOAD,(function(){l=!0,a||e()}))];return n.src&&s.c?(a=!0,n.decode().then((function(){o&&e()})).catch((function(t){o&&(l?e():r())}))):c.push(Object(u.b)(n,i.a.ERROR,r)),function(){o=!1,c.forEach(u.c)}}e.a=h},function(t,e,r){"use strict";var n,i=r(38),o=r(6),a=r(9),s=r(2),l=r(25),u=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),c=function(t){function e(e,r,n){var i=t.call(this)||this,o=n||{};return i.tileCoord=e,i.state=r,i.interimTile=null,i.key="",i.transition_=void 0===o.transition?250:o.transition,i.transitionStarts_={},i.interpolate=!!o.interpolate,i}return u(e,t),e.prototype.changed=function(){this.dispatchEvent(o.a.CHANGE)},e.prototype.release=function(){},e.prototype.getKey=function(){return this.key+"/"+this.tileCoord},e.prototype.getInterimTile=function(){if(!this.interimTile)return this;var t=this.interimTile;do{if(t.getState()==a.a.LOADED)return this.transition_=0,t;t=t.interimTile}while(t);return this},e.prototype.refreshInterimChain=function(){if(this.interimTile){var t=this.interimTile,e=this;do{if(t.getState()==a.a.LOADED){t.interimTile=null;break}t.getState()==a.a.LOADING?e=t:t.getState()==a.a.IDLE?e.interimTile=t.interimTile:e=t,t=e.interimTile}while(t)}},e.prototype.getTileCoord=function(){return this.tileCoord},e.prototype.getState=function(){return this.state},e.prototype.setState=function(t){if(this.state!==a.a.ERROR&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()},e.prototype.load=function(){Object(s.b)()},e.prototype.getAlpha=function(t,e){if(!this.transition_)return 1;var r=this.transitionStarts_[t];if(r){if(-1===r)return 1}else r=e,this.transitionStarts_[t]=r;var n=e-r+1e3/60;return n>=this.transition_?1:Object(l.easeIn)(n/this.transition_)},e.prototype.inTransition=function(t){return!!this.transition_&&-1!==this.transitionStarts_[t]},e.prototype.endTransition=function(t){this.transition_&&(this.transitionStarts_[t]=-1)},e}(i.a);e.a=c},function(t,e,r){"use strict";var n,i=r(26),o=r(2),a=r(1),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=function(t){function e(e){var r=t.call(this)||this;r.projection=Object(a.o)(e.projection),r.attributions_=u(e.attributions),r.attributionsCollapsible_=void 0===e.attributionsCollapsible||e.attributionsCollapsible,r.loading=!1,r.state_=void 0!==e.state?e.state:"ready",r.wrapX_=void 0!==e.wrapX&&e.wrapX,r.interpolate_=!!e.interpolate,r.viewResolver=null,r.viewRejector=null;var n=r;return r.viewPromise_=new Promise((function(t,e){n.viewResolver=t,n.viewRejector=e})),r}return s(e,t),e.prototype.getAttributions=function(){return this.attributions_},e.prototype.getAttributionsCollapsible=function(){return this.attributionsCollapsible_},e.prototype.getProjection=function(){return this.projection},e.prototype.getResolutions=function(){return Object(o.b)()},e.prototype.getView=function(){return this.viewPromise_},e.prototype.getState=function(){return this.state_},e.prototype.getWrapX=function(){return this.wrapX_},e.prototype.getInterpolate=function(){return this.interpolate_},e.prototype.refresh=function(){this.changed()},e.prototype.setAttributions=function(t){this.attributions_=u(t),this.changed()},e.prototype.setState=function(t){this.state_=t,this.changed()},e}(i.a);function u(t){return t?Array.isArray(t)?function(e){return t}:"function"==typeof t?t:function(e){return[t]}:null}e.a=l},function(t,e,r){"use strict";e.a={PROPERTYCHANGE:"propertychange"}},function(t,e,r){"use strict";function n(t,e,r){var n=void 0!==r?t.toFixed(r):""+t,i=n.indexOf(".");return(i=-1===i?n.length:i)>e?n:new Array(1+e-i).join("0")+n}function i(t,e){for(var r=(""+t).split("."),n=(""+e).split("."),i=0;ia)return 1;if(a>o)return-1}return 0}r.d(e,"b",(function(){return n})),r.d(e,"a",(function(){return i}))},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"d",(function(){return s}));var n=r(0);function i(t,e,r,i,a){return!Object(n.t)(a,(function(n){return!o(t,e,r,i,n[0],n[1])}))}function o(t,e,r,n,i,o){for(var a=0,s=t[r-n],l=t[r-n+1];eo&&(u-s)*(o-l)-(i-s)*(c-l)>0&&a++:c<=o&&(u-s)*(o-l)-(i-s)*(c-l)<0&&a--,s=u,l=c}return 0!==a}function a(t,e,r,n,i,a){if(0===r.length)return!1;if(!o(t,e,r[0],n,i,a))return!1;for(var s=1,l=r.length;sthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)},t.prototype.getHeight=function(){return this.maxY-this.minY+1},t.prototype.getSize=function(){return[this.getWidth(),this.getHeight()]},t.prototype.getWidth=function(){return this.maxX-this.minX+1},t.prototype.intersects=function(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY},t}();function i(t,e,r,i,o){return void 0!==o?(o.minX=t,o.maxX=e,o.minY=r,o.maxY=i,o):new n(t,e,r,i)}e.b=n},function(t,e,r){"use strict";r.d(e,"c",(function(){return c})),r.d(e,"b",(function(){return p})),r.d(e,"a",(function(){return d})),r.d(e,"d",(function(){return g}));var n,i=r(50),o=r(4),a=r(0),s=r(14),l=r(1),u=r(3),c=[];function h(t,e,r,n,i){t.beginPath(),t.moveTo(0,0),t.lineTo(e,r),t.lineTo(n,i),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,n)+1,Math.max(r,i)),t.restore()}function f(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function p(t,e,r,n){var i=Object(l.z)(r,e,t),o=Object(l.p)(e,n,r),s=e.getMetersPerUnit();void 0!==s&&(o*=s);var u=t.getMetersPerUnit();void 0!==u&&(o/=u);var c=t.getExtent();if(!c||Object(a.g)(c,i)){var h=Object(l.p)(t,o,i)/o;isFinite(h)&&h>0&&(o/=h)}return o}function d(t,e,r,n){var i=Object(a.x)(r),o=p(t,e,i,n);return(!isFinite(o)||o<=0)&&Object(a.t)(r,(function(r){return o=p(t,e,r,n),isFinite(o)&&o>0})),o}function g(t,e,r,l,p,d,g,y,m,_,v,b){var x=Object(s.a)(Math.round(r*t),Math.round(r*e),c);if(b||Object(o.a)(x,i.a),0===m.length)return x.canvas;function w(t){return Math.round(t*r)/r}x.scale(r,r),x.globalCompositeOperation="lighter";var E=Object(a.k)();m.forEach((function(t,e,r){Object(a.q)(E,t.extent)}));var S=Object(a.G)(E),O=Object(a.A)(E),I=Object(s.a)(Math.round(r*S/l),Math.round(r*O/l));b||Object(o.a)(I,i.a);var C=r/l;m.forEach((function(t,e,r){var n=t.extent[0]-E[0],i=-(t.extent[3]-E[3]),o=Object(a.G)(t.extent),s=Object(a.A)(t.extent);t.image.width>0&&t.image.height>0&&I.drawImage(t.image,_,_,t.image.width-2*_,t.image.height-2*_,n*C,i*C,o*C,s*C)}));var T=Object(a.E)(g);return y.getTriangles().forEach((function(t,e,i){var o=t.source,a=t.target,s=o[0][0],c=o[0][1],p=o[1][0],g=o[1][1],y=o[2][0],m=o[2][1],_=w((a[0][0]-T[0])/d),v=w(-(a[0][1]-T[1])/d),S=w((a[1][0]-T[0])/d),O=w(-(a[1][1]-T[1])/d),C=w((a[2][0]-T[0])/d),P=w(-(a[2][1]-T[1])/d),R=s,L=c;s=0,c=0;var M=[[p-=R,g-=L,0,0,S-_],[y-=R,m-=L,0,0,C-_],[0,0,p,g,O-v],[0,0,y,m,P-v]],A=Object(u.i)(M);if(A){if(x.save(),x.beginPath(),function(){if(void 0===n){var t=document.createElement("canvas").getContext("2d");t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",h(t,4,5,4,0),h(t,4,5,0,5);var e=t.getImageData(0,0,3,3).data;n=f(e,0)||f(e,4)||f(e,8)}return n}()||!b){x.moveTo(S,O);for(var N=_-S,k=v-O,j=0;j<4;j++)x.lineTo(S+w((j+1)*N/4),O+w(j*k/3)),3!=j&&x.lineTo(S+w((j+1)*N/4),O+w((j+1)*k/3));x.lineTo(C,P)}else x.moveTo(S,O),x.lineTo(_,v),x.lineTo(C,P);x.clip(),x.transform(A[0],A[2],A[1],A[3],_,v),x.translate(E[0]-R,E[3]-L),x.scale(l/r,-l/r),x.drawImage(I.canvas,0,0),x.restore()}})),v&&(x.save(),x.globalCompositeOperation="source-over",x.strokeStyle="black",x.lineWidth=1,y.getTriangles().forEach((function(t,e,r){var n=t.target,i=(n[0][0]-T[0])/d,o=-(n[0][1]-T[1])/d,a=(n[1][0]-T[0])/d,s=-(n[1][1]-T[1])/d,l=(n[2][0]-T[0])/d,u=-(n[2][1]-T[1])/d;x.beginPath(),x.moveTo(a,s),x.lineTo(i,o),x.lineTo(l,u),x.closePath(),x.stroke()})),x.restore()),x.canvas}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n={imageSmoothingEnabled:!1,msImageSmoothingEnabled:!1},i={imageSmoothingEnabled:!0,msImageSmoothingEnabled:!0}},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"c",(function(){return a}));r(4);var n={};function i(){n={}}function o(t,e,r){var i=t.getCode(),o=e.getCode();i in n||(n[i]={}),n[i][o]=r}function a(t,e){var r;return t in n&&e in n[t]&&(r=n[t][e]),r}},function(t,e,r){"use strict";var n=function(){function t(){this.disposed=!1}return t.prototype.dispose=function(){this.disposed||(this.disposed=!0,this.disposeInternal())},t.prototype.disposeInternal=function(){},t}();e.a=n},function(t,e,r){"use strict";r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return c}));var n=r(0),i=r(78),o=r(47);function a(t,e,r,o,a){var s=Object(n.s)(Object(n.k)(),t,e,r,o);return!!Object(n.H)(a,s)&&(!!Object(n.h)(a,s)||(s[0]>=a[0]&&s[2]<=a[2]||(s[1]>=a[1]&&s[3]<=a[3]||Object(i.a)(t,e,r,o,(function(t,e){return Object(n.I)(a,t,e)})))))}function s(t,e,r,n,i){for(var o=0,s=r.length;othis.fetchSlice(t,e)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}}},function(t,e,r){"use strict";e.a={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"}},function(t,e,r){"use strict";var n,i=r(18),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.inversePixelTransform=r,o.frameState=n,o.context=i,o}return o(e,t),e}(i.a);e.a=a},function(t,e,r){"use strict";var n,i=r(81),o=r(72),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(e){return t.call(this,e)||this}return a(e,t),e.prototype.createRenderer=function(){return new o.a(this)},e.prototype.getData=function(e){return t.prototype.getData.call(this,e)},e}(i.a);e.a=s},function(t,e,r){"use strict";r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return s})),r.d(e,"a",(function(){return u})),r.d(e,"d",(function(){return c}));var n=r(3),i=6371008.8;function o(t,e,r){var o=r||i,a=Object(n.n)(t[1]),s=Object(n.n)(e[1]),l=(s-a)/2,u=Object(n.n)(e[0]-t[0])/2,c=Math.sin(l)*Math.sin(l)+Math.sin(u)*Math.sin(u)*Math.cos(a)*Math.cos(s);return 2*o*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))}function a(t,e){for(var r=0,n=0,i=t.length;n= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};e.REVISION_CHANGES=p;var d="[object Object]";n.prototype={constructor:n,logger:u.default,log:u.default.log,registerHelper:function(t,e){if(o.toString.call(t)===d){if(e)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(o.toString.call(t)===d)o.extend(this.partials,t);else{if(void 0===e)throw new a.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(o.toString.call(t)===d){if(e)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]}};var g=u.default.log;e.log=g,e.createFrame=o.createFrame,e.logger=u.default},function(t,e){"use strict";function r(t){return c[t]}function n(t){for(var e=1;e":">",'"':""","'":"'","`":"`","=":"="},h=/[&<>"'`=]/g,f=/[&<>"'`=]/,p=Object.prototype.toString;e.toString=p;var d=function(t){return"function"==typeof t};d(/x/)&&(e.isFunction=d=function(t){return"function"==typeof t&&"[object Function]"===p.call(t)}),e.isFunction=d;var g=Array.isArray||function(t){return!(!t||"object"!=typeof t)&&"[object Array]"===p.call(t)};e.isArray=g},function(t,e,r){"use strict";function n(t,e){var r=e&&e.loc,a=void 0,s=void 0,l=void 0,u=void 0;r&&(a=r.start.line,s=r.end.line,l=r.start.column,u=r.end.column,t+=" - "+a+":"+l);for(var c=Error.prototype.constructor.call(this,t),h=0;h0?(r.ids&&(r.ids=[r.name]),t.helpers.each(e,r)):i(this);if(r.data&&r.ids){var a=n.createFrame(r.data);a.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:a}}return o(e,r)}))},t.exports=e.default},function(t,e,r){(function(n){"use strict";var i=r(1).default;e.__esModule=!0;var o=r(5),a=i(r(6));e.default=function(t){t.registerHelper("each",(function(t,e){function r(e,r,n){c&&(c.key=e,c.index=r,c.first=0===r,c.last=!!n,h&&(c.contextPath=h+e)),u+=i(t[e],{data:c,blockParams:o.blockParams([t[e],e],[h+e,null])})}if(!e)throw new a.default("Must pass iterator to #each");var i=e.fn,s=e.inverse,l=0,u="",c=void 0,h=void 0;if(e.data&&e.ids&&(h=o.appendContextPath(e.data.contextPath,e.ids[0])+"."),o.isFunction(t)&&(t=t.call(this)),e.data&&(c=o.createFrame(e.data)),t&&"object"==typeof t)if(o.isArray(t))for(var f=t.length;l=0?e:parseInt(t,10)}return t},log:function(t){if(t=i.lookupLevel(t),"undefined"!=typeof console&&i.lookupLevel(i.level)<=t){var e=i.methodMap[t];console[e]||(e="log");for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o=y.LAST_COMPATIBLE_COMPILER_REVISION&&e<=y.COMPILER_REVISION)){if(e2&&x.push("'"+this.terminals_[_]+"'");E=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(E,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:h,expected:x})}}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+p);switch(y[0]){case 1:n.push(p),i.push(this.lexer.yytext),o.push(this.lexer.yylloc),n.push(y[1]),p=null,d?(p=d,d=null):(u=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,h=this.lexer.yylloc,c>0&&c--);break;case 2:if(v=this.productions_[y[1]][1],w.$=i[i.length-v],w._$={first_line:o[o.length-(v||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(v||1)].first_column,last_column:o[o.length-1].last_column},f&&(w._$.range=[o[o.length-(v||1)].range[0],o[o.length-1].range[1]]),void 0!==(m=this.performAction.call(w,s,u,l,this.yy,y[1],i,o)))return m;v&&(n=n.slice(0,-1*v*2),i=i.slice(0,-1*v),o=o.slice(0,-1*v)),n.push(this.productions_[y[1]][0]),i.push(w.$),o.push(w._$),b=a[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},r=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;var t,e,r,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;ae[0].length)||(e=r,n=a,this.options.flex));a++);return e?((i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,o[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)},options:{},performAction:function(t,e,r,n){function i(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(i(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(i(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=i(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=i(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return t}();return e.lexer=r,t.prototype=e,e.Parser=t,new t}();e.default=r,t.exports=e.default},function(t,e,r){"use strict";function n(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function i(t,e,r){void 0===e&&(e=t.length);var n=t[e-1],i=t[e-2];return n?"ContentStatement"===n.type?(i||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:r}function o(t,e,r){void 0===e&&(e=-1);var n=t[e+1],i=t[e+2];return n?"ContentStatement"===n.type?(i||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:r}function a(t,e,r){var n=t[null==e?0:e+1];if(n&&"ContentStatement"===n.type&&(r||!n.rightStripped)){var i=n.value;n.value=n.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==i}}function s(t,e,r){var n=t[null==e?t.length-1:e-1];if(n&&"ContentStatement"===n.type&&(r||!n.leftStripped)){var i=n.value;return n.value=n.value.replace(r?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==i,n.leftStripped}}var l=r(1).default;e.__esModule=!0;var u=l(r(39));n.prototype=new u.default,n.prototype.Program=function(t){var e=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var n=t.body,l=0,u=n.length;l0)throw new g.default("Invalid path: "+n,{loc:r});".."===l&&o++}}return{type:"PathExpression",data:t,depth:o,parts:i,original:n,loc:r}}function u(t,e,r,n,i,o){var a=n.charAt(3)||n.charAt(2),s="{"!==a&&"&"!==a;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:s,strip:i,loc:this.locInfo(o)}}function c(t,e,r,i){n(t,r);var o={type:"Program",body:e,strip:{},loc:i=this.locInfo(i)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:i}}function h(t,e,r,i,o,a){i&&i.path&&n(t,i);var s=/\*/.test(t.open);e.blockParams=t.blockParams;var l=void 0,u=void 0;if(r){if(s)throw new g.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=i.strip),u=r.strip,l=r.program}return o&&(o=l,l=e,e=o),{type:s?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:l,openStrip:t.strip,inverseStrip:u,closeStrip:i&&i.strip,loc:this.locInfo(a)}}function f(t,e){if(!e&&t.length){var r=t[0].loc,n=t[t.length-1].loc;r&&n&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:t,strip:{},loc:e}}function p(t,e,r,i){return n(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(i)}}var d=r(1).default;e.__esModule=!0,e.SourceLocation=i,e.id=o,e.stripFlags=a,e.stripComment=s,e.preparePath=l,e.prepareMustache=u,e.prepareRawBlock=c,e.prepareBlock=h,e.prepareProgram=f,e.preparePartialBlock=p;var g=d(r(6))},function(t,e,r){"use strict";function n(){}function i(t,e,r){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new u.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0),e.compat&&(e.useDepths=!0);var n=r.parse(t,e),i=(new r.Compiler).compile(n,e);return(new r.JavaScriptCompiler).compile(i,e)}function o(t,e,r){function n(){var n=r.parse(t,e),i=(new r.Compiler).compile(n,e),o=(new r.JavaScriptCompiler).compile(i,e,void 0,!0);return r.template(o)}function i(t,e){return o||(o=n()),o.call(this,t,e)}if(void 0===e&&(e={}),null==t||"string"!=typeof t&&"Program"!==t.type)throw new u.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in(e=c.extend({},e))||(e.data=!0),e.compat&&(e.useDepths=!0);var o=void 0;return i._setup=function(t){return o||(o=n()),o._setup(t)},i._child=function(t,e,r,i){return o||(o=n()),o._child(t,e,r,i)},i}function a(t,e){if(t===e)return!0;if(c.isArray(t)&&c.isArray(e)&&t.length===e.length){for(var r=0;r1)throw new u.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var n=t.name.original,i="SubExpression"===t.name.type;i&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var o=t.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",i,n,o),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){s(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,r){var n=t.path,i=n.parts[0],o=null!=e||null!=r;this.opcode("getContext",n.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",r),n.strict=!0,this.accept(n),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,r){var n=this.setupFullMustacheParams(t,e,r),i=t.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",n.length,o);else{if(this.options.knownHelpersOnly)throw new u.default("You specified knownHelpersOnly, but used the unknown helper "+o,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",n.length,i.original,h.default.helpers.simpleId(i))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],r=h.default.helpers.scopedId(t),n=!t.depth&&!r&&this.blockParamIndex(e);n?this.opcode("lookupBlockParam",n,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,r):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,r=0,n=e.length;for(this.opcode("pushHash");r=0)return[e,i]}}}},function(t,e,r){"use strict";function n(t){this.value=t}function i(){}function o(t,e,r,n){var i=e.popStack(),o=0,a=r.length;for(t&&a--;o0&&(e+=", "+r.join(", "));var n=0;for(var i in this.aliases){var o=this.aliases[i];this.aliases.hasOwnProperty(i)&&o.children&&o.referenceCount>1&&(e+=", alias"+ ++n+"="+i,o.children[0]="alias"+n)}var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var s=this.mergeSource(e);return t?(a.push(s),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),") {\n ",s,"}"])},mergeSource:function(t){var e=this.environment.isSimple,r=!this.forceBuffer,n=void 0,i=void 0,o=void 0,a=void 0;return this.source.each((function(t){t.appendToBuffer?(o?t.prepend(" + "):o=t,a=t):(o&&(i?o.prepend("buffer += "):n=!0,a.add(";"),o=a=void 0),i=!0,e||(r=!1))})),r?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(n?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(n?"":";\n")),this.source.merge()},blockValue:function(t){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var n=this.popStack();r.splice(1,0,n),this.push(this.source.functionCall(e,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var r=this.topStack();e.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack((function(t){return[" != null ? ",t,' : ""']})),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,r,n){var i=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[i++])),this.resolvePath("context",t,i,e,r)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,r)},resolvePath:function(t,e,r,n,i){var a=this;if(this.options.strict||this.options.assumeObjects)this.push(o(this.options.strict&&i,this,e,t));else for(var s=e.length;rthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,r=t.length;e=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}}class i{constructor(t){this.url=t}async request({headers:t,credentials:e,signal:r}={}){throw new Error("request is not implemented")}}},function(t,e,r){"use strict";r.d(e,"a",(function(){return p}));var n,i=r(80),o=r(57),a=r(30),s=r(7),l=r(21),u=r(0),c=r(14),h=r(5),f=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),p=[],d=null;var g=function(t){function e(e){var r=t.call(this,e)||this;return r.container=null,r.renderedResolution,r.tempTransform=Object(s.d)(),r.pixelTransform=Object(s.d)(),r.inversePixelTransform=Object(s.d)(),r.context=null,r.containerReused=!1,r.pixelContext_=null,r.frameState=null,r}return f(e,t),e.prototype.getImageData=function(t,e,r){var n,i;d||((n=document.createElement("canvas")).width=1,n.height=1,d=n.getContext("2d")),d.clearRect(0,0,1,1);try{d.drawImage(t,e,r,1,1,0,0,1,1),i=d.getImageData(0,0,1,1).data}catch(t){return d=null,null}return i},e.prototype.getBackground=function(t){var e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0},e.prototype.useContainer=function(t,e,r){var n,i,o=this.getLayer().getClassName();t&&t.className===o&&(!r||t&&t.style.backgroundColor&&Object(h.b)(Object(l.a)(t.style.backgroundColor),Object(l.a)(r)))&&((s=t.firstElementChild)instanceof HTMLCanvasElement&&(i=s.getContext("2d")));if(i&&i.canvas.style.transform===e?(this.container=t,this.context=i,this.containerReused=!0):this.containerReused&&(this.container=null,this.context=null,this.containerReused=!1),!this.container){(n=document.createElement("div")).className=o;var a=n.style;a.position="absolute",a.width="100%",a.height="100%";var s=(i=Object(c.a)()).canvas;n.appendChild(s),(a=s.style).position="absolute",a.left="0",a.transformOrigin="top left",this.container=n,this.context=i}this.containerReused||!r||this.container.style.backgroundColor||(this.container.style.backgroundColor=r)},e.prototype.clipUnrotated=function(t,e,r){var n=Object(u.E)(r),i=Object(u.F)(r),o=Object(u.w)(r),a=Object(u.v)(r);Object(s.a)(e.coordinateToPixelTransform,n),Object(s.a)(e.coordinateToPixelTransform,i),Object(s.a)(e.coordinateToPixelTransform,o),Object(s.a)(e.coordinateToPixelTransform,a);var l=this.inversePixelTransform;Object(s.a)(l,n),Object(s.a)(l,i),Object(s.a)(l,o),Object(s.a)(l,a),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.lineTo(Math.round(a[0]),Math.round(a[1])),t.clip()},e.prototype.dispatchRenderEvent_=function(t,e,r){var n=this.getLayer();if(n.hasListener(t)){var i=new o.a(t,this.inversePixelTransform,r,e);n.dispatchEvent(i)}},e.prototype.preRender=function(t,e){this.frameState=e,this.dispatchRenderEvent_(a.a.PRERENDER,t,e)},e.prototype.postRender=function(t,e){this.dispatchRenderEvent_(a.a.POSTRENDER,t,e)},e.prototype.getRenderTransform=function(t,e,r,n,i,o,a){var l=i/2,u=o/2,c=n/e,h=-c,f=-t[0]+a,p=-t[1];return Object(s.b)(this.tempTransform,l,u,c,h,-r,f,p)},e.prototype.getDataAtPixel=function(t,e,r){var n=Object(s.a)(this.inversePixelTransform,t.slice()),i=this.context,o=this.getLayer().getExtent();if(o){var a=Object(s.a)(e.pixelToCoordinateTransform,t.slice());if(!Object(u.g)(o,a))return null}var l,c=Math.round(n[0]),h=Math.round(n[1]),f=this.pixelContext_;if(!f){var p=document.createElement("canvas");p.width=1,p.height=1,f=p.getContext("2d"),this.pixelContext_=f}f.clearRect(0,0,1,1);try{f.drawImage(i.canvas,c,h,1,1,0,0,1,1),l=f.getImageData(0,0,1,1).data}catch(t){return"SecurityError"===t.name?(this.pixelContext_=null,new Uint8Array):l}return 0===l[3]?null:l},e.prototype.disposeInternal=function(){delete this.frameState,t.prototype.disposeInternal.call(this)},e}(i.a);e.b=g},function(t,e,r){"use strict";var n=r(10),i=function(){function t(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}return t.prototype.canExpireCache=function(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark},t.prototype.expireCache=function(t){for(;this.canExpireCache();)this.pop()},t.prototype.clear=function(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null},t.prototype.containsKey=function(t){return this.entries_.hasOwnProperty(t)},t.prototype.forEach=function(t){for(var e=this.oldest_;e;)t(e.value_,e.key_,this),e=e.newer},t.prototype.get=function(t,e){var r=this.entries_[t];return Object(n.a)(void 0!==r,15),r===this.newest_||(r===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(r.newer.older=r.older,r.older.newer=r.newer),r.newer=null,r.older=this.newest_,this.newest_.newer=r,this.newest_=r),r.value_},t.prototype.remove=function(t){var e=this.entries_[t];return Object(n.a)(void 0!==e,15),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_},t.prototype.getCount=function(){return this.count_},t.prototype.getKeys=function(){var t,e=new Array(this.count_),r=0;for(t=this.newest_;t;t=t.older)e[r++]=t.key_;return e},t.prototype.getValues=function(){var t,e=new Array(this.count_),r=0;for(t=this.newest_;t;t=t.older)e[r++]=t.value_;return e},t.prototype.peekLast=function(){return this.oldest_.value_},t.prototype.peekLastKey=function(){return this.oldest_.key_},t.prototype.peekFirstKey=function(){return this.newest_.key_},t.prototype.peek=function(t){if(this.containsKey(t))return this.entries_[t].value_},t.prototype.pop=function(){var t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_},t.prototype.replace=function(t,e){this.get(t),this.entries_[t].value_=e},t.prototype.set=function(t,e){Object(n.a)(!(t in this.entries_),16);var r={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=r:this.oldest_=r,this.newest_=r,this.entries_[t]=r,++this.count_},t.prototype.setSize=function(t){this.highWaterMark=t},t}();e.a=i},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return a}));var n,i=r(2),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});function a(t,e,r,n){var o=document.createElement("script"),a="olc_"+Object(i.c)(e);function s(){delete window[a],o.parentNode.removeChild(o)}o.async=!0,o.src=t+(-1==t.indexOf("?")?"?":"&")+(n||"callback")+"="+a;var l=setTimeout((function(){s(),r&&r()}),1e4);window[a]=function(t){clearTimeout(l),s(),e(t)},document.head.appendChild(o)}(function(t){function e(e){var r=this,n="Unexpected response status: "+e.status;return(r=t.call(this,n)||this).name="ResponseError",r.response=e,r}o(e,t)})(Error),function(t){function e(e){var r=t.call(this,"Failed to issue request")||this;return r.name="ClientError",r.client=e,r}o(e,t)}(Error)}).call(this,r(90))},function(t,e,r){"use strict";var n,i=r(2),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e){var r=this,n="Assertion failed. See https://openlayers.org/en/"+("latest"===i.a?i.a:"v"+i.a.split("-")[0])+"/doc/errors/#"+e+" for details.";return(r=t.call(this,n)||this).code=e,r.name="AssertionError",r.message=n,r}return o(e,t),e}(Error);e.a=a},function(t,e,r){"use strict";var n,i=r(38),o=r(6),a=r(2),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=function(t){function e(e,r,n,i){var o=t.call(this)||this;return o.extent=e,o.pixelRatio_=n,o.resolution=r,o.state=i,o}return s(e,t),e.prototype.changed=function(){this.dispatchEvent(o.a.CHANGE)},e.prototype.getExtent=function(){return this.extent},e.prototype.getImage=function(){return Object(a.b)()},e.prototype.getPixelRatio=function(){return this.pixelRatio_},e.prototype.getResolution=function(){return this.resolution},e.prototype.getState=function(){return this.state},e.prototype.load=function(){Object(a.b)()},e}(i.a);e.a=l},function(t,e,r){"use strict";var n,i=r(63),o=r(19),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.expireCache=function(t){for(;this.canExpireCache();){if(this.peekLast().getKey()in t)break;this.pop().release()}},e.prototype.pruneExceptNewestZ=function(){if(0!==this.getCount()){var t=this.peekFirstKey(),e=Object(o.b)(t)[0];this.forEach(function(t){t.tileCoord[0]!==e&&(this.remove(Object(o.d)(t.tileCoord)),t.release())}.bind(this))}},e}(i.a);e.a=s},function(t,e,r){"use strict";var n,i=r(36),o=r(6),a=r(43),s=r(9),l=r(79),u=r(49),c=r(3),h=r(0),f=r(8),p=r(14),d=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),g=function(t){function e(e,r,n,o,a,f,p,d,g,y,m,_){var v=t.call(this,a,s.a.IDLE,{interpolate:!!_})||this;v.renderEdges_=void 0!==m&&m,v.pixelRatio_=p,v.gutter_=d,v.canvas_=null,v.sourceTileGrid_=r,v.targetTileGrid_=o,v.wrappedTileCoord_=f||a,v.sourceTiles_=[],v.sourcesListenerKeys_=null,v.sourceZ_=0;var b=o.getTileCoordExtent(v.wrappedTileCoord_),x=v.targetTileGrid_.getExtent(),w=v.sourceTileGrid_.getExtent(),E=x?Object(h.B)(b,x):b;if(0===Object(h.u)(E))return v.state=s.a.EMPTY,v;var S=e.getExtent();S&&(w=w?Object(h.B)(w,S):S);var O=o.getResolution(v.wrappedTileCoord_[0]),I=Object(u.a)(e,n,E,O);if(!isFinite(I)||I<=0)return v.state=s.a.EMPTY,v;var C=void 0!==y?y:i.b;if(v.triangulation_=new l.a(e,n,E,w,I*C,O),0===v.triangulation_.getTriangles().length)return v.state=s.a.EMPTY,v;v.sourceZ_=r.getZForResolution(I);var T=v.triangulation_.calculateSourceExtent();if(w&&(e.canWrapX()?(T[1]=Object(c.b)(T[1],w[1],w[3]),T[3]=Object(c.b)(T[3],w[1],w[3])):T=Object(h.B)(T,w)),Object(h.u)(T)){for(var P=r.getTileRangeForExtentAndZ(T,v.sourceZ_),R=P.minX;R<=P.maxX;R++)for(var L=P.minY;L<=P.maxY;L++){var M=g(v.sourceZ_,R,L,p);M&&v.sourceTiles_.push(M)}0===v.sourceTiles_.length&&(v.state=s.a.EMPTY)}else v.state=s.a.EMPTY;return v}return d(e,t),e.prototype.getImage=function(){return this.canvas_},e.prototype.reproject_=function(){var t=[];if(this.sourceTiles_.forEach(function(e,r,n){e&&e.getState()==s.a.LOADED&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})}.bind(this)),this.sourceTiles_.length=0,0===t.length)this.state=s.a.ERROR;else{var e=this.wrappedTileCoord_[0],r=this.targetTileGrid_.getTileSize(e),n="number"==typeof r?r:r[0],i="number"==typeof r?r:r[1],o=this.targetTileGrid_.getResolution(e),a=this.sourceTileGrid_.getResolution(this.sourceZ_),l=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Object(u.d)(n,i,this.pixelRatio_,a,this.sourceTileGrid_.getExtent(),o,l,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=s.a.LOADED}this.changed()},e.prototype.load=function(){if(this.state==s.a.IDLE){this.state=s.a.LOADING,this.changed();var t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(function(e,r,n){var i=e.getState();if(i==s.a.IDLE||i==s.a.LOADING){t++;var a=Object(f.a)(e,o.a.CHANGE,(function(r){var n=e.getState();n!=s.a.LOADED&&n!=s.a.ERROR&&n!=s.a.EMPTY||(Object(f.c)(a),0===--t&&(this.unlistenSources_(),this.reproject_()))}),this);this.sourcesListenerKeys_.push(a)}}.bind(this)),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function(t,e,r){t.getState()==s.a.IDLE&&t.load()}))}},e.prototype.unlistenSources_=function(){this.sourcesListenerKeys_.forEach(f.c),this.sourcesListenerKeys_=null},e.prototype.release=function(){this.canvas_&&(Object(p.d)(this.canvas_.getContext("2d")),u.c.push(this.canvas_),this.canvas_=null),t.prototype.release.call(this)},e}(a.a);e.a=g},function(t,e,r){"use strict";var n,i=r(62),o=r(54),a=r(68),s=r(48),l=r(9),u=r(50),c=r(7),h=r(4),f=r(0),p=r(1),d=r(2),g=r(5),y=r(15),m=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),_=function(t){function e(e){var r=t.call(this,e)||this;return r.extentChanged=!0,r.renderedExtent_=null,r.renderedPixelRatio,r.renderedProjection=null,r.renderedRevision,r.renderedTiles=[],r.newTiles_=!1,r.tmpExtent=Object(f.k)(),r.tmpTileRange_=new s.b(0,0,0,0),r}return m(e,t),e.prototype.isDrawableTile=function(t){var e=this.getLayer(),r=t.getState(),n=e.getUseInterimTilesOnError();return r==l.a.LOADED||r==l.a.EMPTY||r==l.a.ERROR&&!n},e.prototype.getTile=function(t,e,r,n){var i=n.pixelRatio,o=n.viewState.projection,a=this.getLayer(),s=a.getSource().getTile(t,e,r,i,o);return s.getState()==l.a.ERROR&&(a.getUseInterimTilesOnError()?a.getPreload()>0&&(this.newTiles_=!0):s.setState(l.a.LOADED)),this.isDrawableTile(s)||(s=s.getInterimTile()),s},e.prototype.getData=function(t){var e=this.frameState;if(!e)return null;var r=this.getLayer(),n=Object(c.a)(e.pixelToCoordinateTransform,t.slice()),i=r.getExtent();if(i&&!Object(f.g)(i,n))return null;for(var s=e.pixelRatio,u=e.viewState.projection,h=e.viewState,p=r.getRenderSource(),d=p.getTileGridForProjection(h.projection),g=p.getTilePixelRatio(e.pixelRatio),m=d.getZForResolution(h.resolution);m>=d.getMinZoom();--m){var _=d.getTileCoordForCoordAndZ(n,m),v=p.getTile(m,_[1],_[2],s,u);if(!(v instanceof o.a||v instanceof a.a))return null;if(v.getState()===l.a.LOADED){var b=d.getOrigin(m),x=Object(y.d)(d.getTileSize(m)),w=d.getResolution(m),E=Math.floor(g*((n[0]-b[0])/w-_[1]*x[0])),S=Math.floor(g*((b[1]-n[1])/w-_[2]*x[1])),O=Math.round(g*p.getGutterForProjection(h.projection));return this.getImageData(v.getImage(),E+O,S+O)}}return null},e.prototype.loadedTileCallback=function(e,r,n){return!!this.isDrawableTile(n)&&t.prototype.loadedTileCallback.call(this,e,r,n)},e.prototype.prepareFrame=function(t){return!!this.getLayer().getSource()},e.prototype.renderFrame=function(t,e){var r=t.layerStatesArray[t.layerIndex],n=t.viewState,i=n.projection,o=n.resolution,a=n.center,s=n.rotation,y=t.pixelRatio,m=this.getLayer(),_=m.getSource(),v=_.getRevision(),b=_.getTileGridForProjection(i),x=b.getZForResolution(o,_.zDirection),w=b.getResolution(x),E=t.extent,S=t.viewState.resolution,O=_.getTilePixelRatio(y),I=Math.round(Object(f.G)(E)/S*y),C=Math.round(Object(f.A)(E)/S*y),T=r.extent&&Object(p.m)(r.extent,i);T&&(E=Object(f.B)(E,Object(p.m)(r.extent,i)));var P=w*I/2/O,R=w*C/2/O,L=[a[0]-P,a[1]-R,a[0]+P,a[1]+R],M=b.getTileRangeForExtentAndZ(E,x),A={};A[x]={};var N=this.createLoadedTileFinder(_,i,A),k=this.tmpExtent,j=this.tmpTileRange_;this.newTiles_=!1;for(var F=s?Object(f.C)(n.center,S,s,t.size):void 0,D=M.minX;D<=M.maxX;++D)for(var G=M.minY;G<=M.maxY;++G)if(!s||b.tileCoordIntersectsViewport([x,D,G],F)){var U=this.getTile(x,D,G,t);if(this.isDrawableTile(U)){var B=Object(d.c)(this);if(U.getState()==l.a.LOADED)A[x][U.tileCoord.toString()]=U,(ct=U.inTransition(B))&&1!==r.opacity&&(U.endTransition(B),ct=!1),this.newTiles_||!ct&&-1!==this.renderedTiles.indexOf(U)||(this.newTiles_=!0);if(1===U.getAlpha(B,t.time))continue}var z=b.getTileCoordChildTileRange(U.tileCoord,j,k),V=!1;z&&(V=N(x+1,z)),V||b.forEachTileCoordParentTileRange(U.tileCoord,N,j,k)}var q=w/o*y/O;Object(c.b)(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/y,1/y,s,-I/2,-C/2);var Y=Object(c.l)(this.pixelTransform);this.useContainer(e,Y,this.getBackground(t));var W=this.context,X=W.canvas;Object(c.e)(this.inversePixelTransform,this.pixelTransform),Object(c.b)(this.tempTransform,I/2,C/2,q,q,0,-I/2,-C/2),X.width!=I||X.height!=C?(X.width=I,X.height=C):this.containerReused||W.clearRect(0,0,I,C),T&&this.clipUnrotated(W,t,T),_.getInterpolate()||Object(h.a)(W,u.a),this.preRender(W,t),this.renderedTiles.length=0;var H,Z,K,J=Object.keys(A).map(Number);J.sort(g.i),1!==r.opacity||this.containerReused&&!_.getOpaque(t.viewState.projection)?(H=[],Z=[]):J=J.reverse();for(var Q=J.length-1;Q>=0;--Q){var $=J[Q],tt=_.getTilePixelSize($,y,i),et=b.getResolution($)/w,rt=tt[0]*et*q,nt=tt[1]*et*q,it=b.getTileCoordForCoordAndZ(Object(f.E)(L),$),ot=b.getTileCoordExtent(it),at=Object(c.a)(this.tempTransform,[O*(ot[0]-L[0])/w,O*(L[3]-ot[3])/w]),st=O*_.getGutterForProjection(i),lt=A[$];for(var ut in lt){var ct,ht=(U=lt[ut]).tileCoord,ft=it[1]-ht[1],pt=Math.round(at[0]-(ft-1)*rt),dt=it[2]-ht[2],gt=Math.round(at[1]-(dt-1)*nt),yt=pt-(D=Math.round(at[0]-ft*rt)),mt=gt-(G=Math.round(at[1]-dt*nt)),_t=x===$,vt=!1;if(!(ct=_t&&1!==U.getAlpha(Object(d.c)(this),t.time)))if(H){K=[D,G,D+yt,G,D+yt,G+mt,D,G+mt];for(var bt=0,xt=H.length;bt=a.width)return null;var c=Object(h.A)(o),f=Math.floor(a.height*((o[3]-n[1])/c));return f<0||f>=a.height?null:this.getImageData(a,l,f)},e.prototype.renderFrame=function(t,e){var r=this.image_,n=r.getExtent(),i=r.getResolution(),o=r.getPixelRatio(),a=t.layerStatesArray[t.layerIndex],s=t.pixelRatio,p=t.viewState,d=p.center,g=s*i/(p.resolution*o),y=t.extent,m=p.resolution,_=p.rotation,v=Math.round(Object(h.G)(y)/m*s),b=Math.round(Object(h.A)(y)/m*s);Object(u.b)(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,_,-v/2,-b/2),Object(u.e)(this.inversePixelTransform,this.pixelTransform);var x=Object(u.l)(this.pixelTransform);this.useContainer(e,x,this.getBackground(t));var w=this.context,E=w.canvas;E.width!=v||E.height!=b?(E.width=v,E.height=b):this.containerReused||w.clearRect(0,0,v,b);var S=!1,O=!0;if(a.extent){var I=Object(f.m)(a.extent,p.projection);(S=(O=Object(h.H)(I,t.extent))&&!Object(h.h)(I,t.extent))&&this.clipUnrotated(w,t,I)}var C=r.getImage(),T=Object(u.b)(this.tempTransform,v/2,b/2,g,g,0,o*(n[0]-d[0])/i,o*(d[1]-n[3])/i);this.renderedResolution=i*s/o;var P=C.width*T[0],R=C.height*T[3];if(this.getLayer().getSource().getInterpolate()||Object(c.a)(w,l.a),this.preRender(w,t),O&&P>=.5&&R>=.5){var L=T[4],M=T[5],A=a.opacity,N=void 0;1!==A&&(N=w.globalAlpha,w.globalAlpha=A),w.drawImage(C,0,0,+C.width,+C.height,L,M,P,R),1!==A&&(w.globalAlpha=N)}return this.postRender(w,t),S&&w.restore(),Object(c.a)(w,l.b),x!==E.style.transform&&(E.style.transform=x),this.container},e}(i.b);e.a=d},function(t,e,r){t.exports=function(){"use strict";function t(t,n,i,o,a){!function t(r,n,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1);t(r,n,Math.max(i,Math.floor(n-l*c/s+h)),Math.min(o,Math.floor(n+(s-l)*c/s+h)),a)}var f=r[n],p=i,d=o;for(e(r,i,n),a(r[o],f)>0&&e(r,i,o);p0;)d--}0===a(r[i],f)?e(r,i,d):e(r,++d,o),d<=n&&(i=d+1),n<=d&&(o=d-1)}}(t,n,i||0,o||t.length-1,a||r)}function e(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function r(t,e){return te?1:0}var n=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function i(t,e,r){if(!r)return e.indexOf(t);for(var n=0;n=t.minX&&e.maxY>=t.minY}function d(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function g(e,r,n,i,o){for(var a=[r,n];a.length;)if(!((n=a.pop())-(r=a.pop())<=i)){var s=r+Math.ceil((n-r)/i/2)*i;t(e,s,r,n,o),a.push(r,s,s,n)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(t){var e=this.data,r=[];if(!p(t,e))return r;for(var n=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(n,i,e)},n.prototype._split=function(t,e){var r=t[e],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);var a=this._chooseSplitIndex(r,i,n),s=d(r.children.splice(a,r.children.length-a));s.height=r.height,s.leaf=r.leaf,o(r,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(r,s)},n.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(t,e,r){for(var n,i,o,s,l,u,h,f=1/0,p=1/0,d=e;d<=r-e;d++){var g=a(t,0,d,this.toBBox),y=a(t,d,r,this.toBBox),m=(i=g,o=y,s=void 0,l=void 0,u=void 0,h=void 0,s=Math.max(i.minX,o.minX),l=Math.max(i.minY,o.minY),u=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,u-s)*Math.max(0,h-l)),_=c(g)+c(y);m=e;p--){var d=t.children[p];s(l,t.leaf?i(d):d),u+=h(l)}return u},n.prototype._adjustParentBBoxes=function(t,e,r){for(var n=r;n>=0;n--)s(e[n],t)},n.prototype._condense=function(t){for(var e=t.length-1,r=void 0;e>=0;e--)0===t[e].children.length?e>0?(r=t[e-1].children).splice(r.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox)},n}()},function(t,e,r){"use strict";var n,i=r(66),o=r(13),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(e,r,n,i,a){var s=this,l=void 0!==a?o.a.IDLE:o.a.LOADED;return(s=t.call(this,e,r,n,l)||this).loader_=void 0!==a?a:null,s.canvas_=i,s.error_=null,s}return a(e,t),e.prototype.getError=function(){return this.error_},e.prototype.handleLoad_=function(t){t?(this.error_=t,this.state=o.a.ERROR):this.state=o.a.LOADED,this.changed()},e.prototype.load=function(){this.state==o.a.IDLE&&(this.state=o.a.LOADING,this.changed(),this.loader_(this.handleLoad_.bind(this)))},e.prototype.getImage=function(){return this.canvas_},e}(i.a);e.a=s},function(t,e,r){"use strict";(function(t){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var n=r(155),i=r(89),o=r(156);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(l.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(t).length;default:if(n)return B(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return P(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function m(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:_(t,e,r,n,i);if("number"==typeof e)return e&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):_(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(t,e,r,n,i){var o,a=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=r;os&&(r=s-l),o=r;o>=0;o--){for(var h=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(o=t[i+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},l.prototype.compare=function(t,e,r,n,i){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(n,i),c=t.slice(e,r),h=0;hi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return w(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,r,n,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function k(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function j(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F(t,e,r,n,o){return o||j(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,o){return o||j(t,0,r,8),i.write(t,e,r,n,52,8),r+8}l.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},l.prototype.readUInt8=function(t,e){return e||M(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return e||M(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return e||M(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){e||M(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(t,e){e||M(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(t,e){return e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||A(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},l.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,255,0),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},l.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},l.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):k(this,t,e,!0),e+4},l.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):k(this,t,e,!1),e+4},l.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);A(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},l.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);A(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},l.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,127,-128),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},l.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},l.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):k(this,t,e,!0),e+4},l.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):k(this,t,e,!1),e+4},l.prototype.writeFloatLE=function(t,e,r){return F(this,t,e,!0,r)},l.prototype.writeFloatBE=function(t,e,r){return F(this,t,e,!1,r)},l.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},l.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},l.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function z(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(G,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(90))},function(t,e,r){"use strict";(function(t){var n,i,o=r(52),a=r(18),s=r(6),l=r(74),u=r(58),c=r(28),h=r(44),f=r(32),p=r(77),d=r(39),g=r(4),y=r(14),m=r(7),_=r(0),v=r(2),b=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),x=!0;try{new ImageData(10,10)}catch(t){x=!1}function w(t){var e=!0;try{new ImageData(10,10)}catch(t){e=!1}function r(t,r,n){return e?new ImageData(t,r,n):{data:t,width:r,height:n}}return function(e){var n=e.buffers,i=e.meta,o=e.imageOps,a=e.width,s=e.height,l=n.length,u=n[0].byteLength;if(o){for(var c=new Array(l),h=0;hthis._maxQueueLength;)this._queue.shift().callback(null,null)},e.prototype._dispatch=function(){if(!this._running&&0!==this._queue.length){var t=this._queue.shift();this._job=t;var e=t.inputs[0].width,r=t.inputs[0].height,n=t.inputs.map((function(t){return t.data.buffer})),i=this._workers.length;if(this._running=i,1!==i)for(var o=t.inputs[0].data.length,a=4*Math.ceil(o/4/i),s=0;s>1},t.prototype.heapify_=function(){var t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)},t.prototype.isEmpty=function(){return 0===this.elements_.length},t.prototype.isKeyQueued=function(t){return t in this.queuedElements_},t.prototype.isQueued=function(t){return this.isKeyQueued(this.keyFunction_(t))},t.prototype.siftUp_=function(t){for(var e=this.elements_,r=this.priorities_,n=e.length,i=e[t],o=r[t],a=t;t>1;){var s=this.getLeftChildIndex_(t),l=this.getRightChildIndex_(t),u=lt;){var a=this.getParentIndex_(e);if(!(n[a]>o))break;r[e]=r[a],n[e]=n[a],e=a}r[e]=i,n[e]=o},t.prototype.reprioritize=function(){var t,e,r,n=this.priorityFunction_,i=this.elements_,o=this.priorities_,s=0,l=i.length;for(e=0;e0;)n=(r=this.dequeue()[0]).getKey(),r.getState()!==l.a.IDLE||n in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[n]=!0,++this.tilesLoading_,++i,r.load())},e}(s);e.a=h;function f(t,e,r,n,i){if(!t||!(r in t.wantedTiles))return a;if(!t.wantedTiles[r][e.getKey()])return a;var o=t.viewState.center,s=n[0]-o[0],l=n[1]-o[1];return 65536*Math.log(i)+Math.sqrt(s*s+l*l)/i}},function(t,e,r){"use strict";function n(t,e,r,n,i){var o;for(e+=n;ethis.sourceWorldWidth_/2){var e=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]];e[0][0]-b>this.sourceWorldWidth_/2&&(e[0][0]-=this.sourceWorldWidth_),e[1][0]-b>this.sourceWorldWidth_/2&&(e[1][0]-=this.sourceWorldWidth_),e[2][0]-b>this.sourceWorldWidth_/2&&(e[2][0]-=this.sourceWorldWidth_);var r=Math.min(e[0][0],e[1][0],e[2][0]);Math.max(e[0][0],e[1][0],e[2][0])-r.5&&f<1,g=!1;if(c>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){var y=Object(n.c)([t,e,r,i]);g=Object(n.G)(y)/this.targetWorldWidth_>.25||g}!d&&this.sourceProj_.isGlobal()&&f&&(g=f>.25||g)}if(!(!g&&this.maxSourceExtent_&&isFinite(h[0])&&isFinite(h[1])&&isFinite(h[2])&&isFinite(h[3]))||Object(n.H)(h,this.maxSourceExtent_)){var m=0;if(!(g||isFinite(a[0])&&isFinite(a[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(l[0])&&isFinite(l[1])&&isFinite(u[0])&&isFinite(u[1])))if(c>0)g=!0;else if(1!=(m=(isFinite(a[0])&&isFinite(a[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(l[0])&&isFinite(l[1])?0:2)+(isFinite(u[0])&&isFinite(u[1])?0:1))&&2!=m&&4!=m&&8!=m)return;if(c>0){if(!g){var _=[(t[0]+r[0])/2,(t[1]+r[1])/2],v=this.transformInv_(_),b=void 0;if(d)b=(Object(o.g)(a[0],p)+Object(o.g)(l[0],p))/2-Object(o.g)(v[0],p);else b=(a[0]+l[0])/2-v[0];var x=(a[1]+l[1])/2-v[1];g=b*b+x*x>this.errorThresholdSquared_}if(g){if(Math.abs(t[0]-r[0])<=Math.abs(t[1]-r[1])){var w=[(e[0]+r[0])/2,(e[1]+r[1])/2],E=this.transformInv_(w),S=[(i[0]+t[0])/2,(i[1]+t[1])/2],O=this.transformInv_(S);this.addQuad_(t,e,w,S,a,s,E,O,c-1),this.addQuad_(S,w,r,i,O,E,l,u,c-1)}else{var I=[(t[0]+e[0])/2,(t[1]+e[1])/2],C=this.transformInv_(I),T=[(r[0]+i[0])/2,(r[1]+i[1])/2],P=this.transformInv_(T);this.addQuad_(t,I,T,i,a,C,P,u,c-1),this.addQuad_(I,e,r,T,C,s,l,P,c-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}0==(11&m)&&this.addTriangle_(t,r,i,a,l,u),0==(14&m)&&this.addTriangle_(t,r,e,a,l,s),m&&(0==(13&m)&&this.addTriangle_(e,i,t,s,u,a),0==(7&m)&&this.addTriangle_(e,i,r,s,u,l))}},t.prototype.calculateSourceExtent=function(){var t=Object(n.k)();return this.triangles_.forEach((function(e,r,i){var o=e.source;Object(n.r)(t,o[0]),Object(n.r)(t,o[1]),Object(n.r)(t,o[2])})),t},t.prototype.getTriangles=function(){return this.triangles_},t}();e.a=a},function(t,e,r){"use strict";var n,i=r(6),o=r(13),a=r(34),s=r(2),l=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),u=function(t){function e(e){var r=t.call(this)||this;return r.ready=!0,r.boundHandleImageChange_=r.handleImageChange_.bind(r),r.layer_=e,r.declutterExecutorGroup=null,r}return l(e,t),e.prototype.getFeatures=function(t){return Object(s.b)()},e.prototype.getData=function(t){return null},e.prototype.prepareFrame=function(t){return Object(s.b)()},e.prototype.renderFrame=function(t,e){return Object(s.b)()},e.prototype.loadedTileCallback=function(t,e,r){t[e]||(t[e]={}),t[e][r.tileCoord.toString()]=r},e.prototype.createLoadedTileFinder=function(t,e,r){return function(n,i){var o=this.loadedTileCallback.bind(this,r,n);return t.forEachLoadedTile(e,n,i,o)}.bind(this)},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i){},e.prototype.getDataAtPixel=function(t,e,r){return null},e.prototype.getLayer=function(){return this.layer_},e.prototype.handleFontsChanged=function(){},e.prototype.handleImageChange_=function(t){t.target.getState()===o.a.LOADED&&this.renderIfReadyAndVisible()},e.prototype.loadImage=function(t){var e=t.getState();return e!=o.a.LOADED&&e!=o.a.ERROR&&t.addEventListener(i.a.CHANGE,this.boundHandleImageChange_),e==o.a.IDLE&&(t.load(),e=t.getState()),e==o.a.LOADED},e.prototype.renderIfReadyAndVisible=function(){var t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()},e.prototype.disposeInternal=function(){delete this.layer_,t.prototype.disposeInternal.call(this)},e}(a.a);e.a=u},function(t,e,r){"use strict";var n,i=r(35),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e){var r=e||{};return t.call(this,r)||this}return o(e,t),e}(i.a);e.a=a},function(t,e){t.exports='{{#*inline "layerswitcherLayer"}}\n {{#each layers}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n {{#if visible}}\n {{#unless base}}\n
    \n \n \n
    \n {{/unless}}\n
    \n \n
    \n {{/if}}\n
  • \n {{/each}}\n {{/inline}}\n {{#*inline "layerswitcherGroup"}}\n {{#each layerGroups}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n
    \n \n
    \n {{#unless collapsed}}\n {{#gt layerGroups.length 0}}\n
      \n {{> layerswitcherGroup}}\n
    \n {{/gt}}\n {{#gt layers.length 0}}\n
      \n {{> layerswitcherLayer group=id}}\n
    \n {{/gt}}\n {{/unless}}\n
  • \n {{/each}}\n {{/inline}}\n
    \n
    \n
      \n {{#gt baseLayers.length 0}}\n
    • \n
      Capas base
      \n
        \n {{> layerswitcherLayer layers=baseLayers}}\n
      \n
    • \n {{/gt}}\n {{#gt layerGroups.length 0}}\n
    • \n
      Grupos de capas
      \n
        \n {{> layerswitcherGroup }}\n
      \n
    • \n {{/gt}}\n {{#gt overlayLayers.length 0}}\n
    • \n
      Otras capas
      \n
        \n {{> layerswitcherLayer layers=overlayLayers}}\n
      \n
    • \n {{/gt}}\n
    \n
    \n
    '},function(t,e){ -/*! @petamoriken/float16 v3.7.1 | MIT License - https://github.com/petamoriken/float16 */ -!function(t){"use strict";const e="This constructor is not a subclass of Float16Array",r="The constructor property value is not an object",n="Attempting to access detached ArrayBuffer",i="Cannot convert undefined or null to object",o="Cannot mix BigInt and other types, use explicit conversions",a="@@iterator property is not callable",s="Reduce of empty array with no initial value",l="Offset is out of bounds";function u(t){return(e,...r)=>h(t,e,r)}function c(t,e){return u(g(t,e).get)}const{apply:h,construct:f,defineProperty:p,get:d,getOwnPropertyDescriptor:g,getPrototypeOf:y,has:m,ownKeys:_,set:v,setPrototypeOf:b}=Reflect,x=Proxy,{MAX_SAFE_INTEGER:w,isFinite:E,isNaN:S}=Number,{iterator:O,species:I,toStringTag:C,for:T}=Symbol,P=Object,{create:R,defineProperty:L,freeze:M,is:A}=P,N=P.prototype,k=N.__lookupGetter__?u(N.__lookupGetter__):(t,e)=>{if(null==t)throw Tt(i);let r=P(t);do{const t=g(r,e);if(void 0!==t)return j(t,"get")?t.get:void 0}while(null!==(r=y(r)))},j=P.hasOwn||u(N.hasOwnProperty),F=Array,D=F.isArray,G=F.prototype,U=u(G.join),B=u(G.push),z=u(G.toLocaleString),V=G[O],q=u(V),Y=Math.trunc,W=ArrayBuffer,X=W.isView,H=W.prototype,Z=u(H.slice),K=c(H,"byteLength"),J="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:null,Q=J&&c(J.prototype,"byteLength"),$=y(Uint8Array),tt=$.from,et=$.prototype,rt=et[O],nt=u(et.keys),it=u(et.values),ot=u(et.entries),at=u(et.set),st=u(et.reverse),lt=u(et.fill),ut=u(et.copyWithin),ct=u(et.sort),ht=u(et.slice),ft=u(et.subarray),pt=c(et,"buffer"),dt=c(et,"byteOffset"),gt=c(et,"length"),yt=c(et,C),mt=Uint16Array,_t=(...t)=>h(tt,mt,t),vt=Uint32Array,bt=Float32Array,xt=y([][O]()),wt=u(xt.next),Et=u(function*(){}().next),St=y(xt),Ot=DataView.prototype,It=u(Ot.getUint16),Ct=u(Ot.setUint16),Tt=TypeError,Pt=RangeError,Rt=WeakSet,Lt=Rt.prototype,Mt=u(Lt.add),At=u(Lt.has),Nt=WeakMap,kt=Nt.prototype,jt=u(kt.get),Ft=u(kt.has),Dt=u(kt.set),Gt=new Nt,Ut=R(null,{next:{value:function(){const t=jt(Gt,this);return wt(t)}},[O]:{value:function(){return this}}});function Bt(t){if(t[O]===V&&xt.next===wt)return t;const e=R(Ut);return Dt(Gt,e,q(t)),e}const zt=new Nt,Vt=R(St,{next:{value:function(){const t=jt(zt,this);return Et(t)},writable:!0,configurable:!0}});for(const t of _(xt))"next"!==t&&L(Vt,t,g(xt,t));function qt(t){const e=R(Vt);return Dt(zt,e,t),e}function Yt(t){return null!==t&&"object"==typeof t||"function"==typeof t}function Wt(t){return null!==t&&"object"==typeof t}function Xt(t){return void 0!==yt(t)}function Ht(t){const e=yt(t);return"BigInt64Array"===e||"BigUint64Array"===e}function Zt(t){return!!D(t)&&(t[O]===V&&xt.next===wt)}function Kt(t){if("string"!=typeof t)return!1;const e=+t;return t===e+""&&(!!E(e)&&e===Y(e))}const Jt=T("__Float16Array__");const Qt=new W(4),$t=new bt(Qt),te=new vt(Qt),ee=new vt(512),re=new vt(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(ee[t]=0,ee[256|t]=32768,re[t]=24,re[256|t]=24):e<-14?(ee[t]=1024>>-e-14,ee[256|t]=1024>>-e-14|32768,re[t]=-e-1,re[256|t]=-e-1):e<=15?(ee[t]=e+15<<10,ee[256|t]=e+15<<10|32768,re[t]=13,re[256|t]=13):e<128?(ee[t]=31744,ee[256|t]=64512,re[t]=24,re[256|t]=24):(ee[t]=31744,ee[256|t]=64512,re[t]=13,re[256|t]=13)}function ne(t){$t[0]=t;const e=te[0],r=e>>23&511;return ee[r]+((8388607&e)>>re[r])}const ie=new vt(2048),oe=new vt(64),ae=new vt(64);for(let t=1;t<1024;++t){let e=t<<13,r=0;for(;0==(8388608&e);)e<<=1,r-=8388608;e&=-8388609,r+=947912704,ie[t]=e|r}for(let t=1024;t<2048;++t)ie[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)oe[t]=t<<23;oe[31]=1199570944,oe[32]=2147483648;for(let t=33;t<63;++t)oe[t]=2147483648+(t-32<<23);oe[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(ae[t]=1024);function se(t){const e=t>>10;return te[0]=ie[ae[e]+(1023&t)]+oe[e],$t[0]}function le(t){const e=+t;return S(e)||0===e?0:Y(e)}function ue(t){const e=le(t);return e<0?0:ee)return 1;if(0===t&&0===e){const r=A(t,0),n=A(e,0);if(!r&&n)return-1;if(r&&!n)return 1}return 0}const pe=new Nt;function de(t){return Ft(pe,t)||!X(t)&&function(t){if(!Wt(t))return!1;const e=y(t);if(!Wt(e))return!1;const n=e.constructor;if(void 0===n)return!1;if(!Yt(n))throw Tt(r);return m(n,Jt)}(t)}function ge(t){if(!de(t))throw Tt("This is not a Float16Array object")}function ye(t,e){const r=de(t),n=Xt(t);if(!r&&!n)throw Tt("Species constructor didn't return TypedArray object");if("number"==typeof e){let n;if(r){const e=me(t);n=gt(e)}else n=gt(t);if(nKt(e)&&j(t,e)?se(d(t,e)):At(ve,k(t,e))?d(t,e):d(t,e,r),set:(t,e,r,n)=>Kt(e)&&j(t,e)?v(t,e,ne(r)):v(t,e,r,n),getOwnPropertyDescriptor(t,e){if(Kt(e)&&j(t,e)){const r=g(t,e);return r.value=se(r.value),r}return g(t,e)},defineProperty:(t,e,r)=>Kt(e)&&j(t,e)&&j(r,"value")?(r.value=ne(r.value),p(t,e,r)):p(t,e,r)});class xe{constructor(t,e,r){let i;if(de(t))i=f(mt,[me(t)],new.target);else if(Yt(t)&&!function(t){try{return K(t),!0}catch(t){return!1}}(t)){let e,r;if(Xt(t)){e=t,r=gt(t);if(he(pt(t)))throw Tt(n);if(Ht(t))throw Tt(o);const a=new W(2*r);i=f(mt,[a],new.target)}else{const n=t[O];if(null!=n&&"function"!=typeof n)throw Tt(a);null!=n?Zt(t)?(e=t,r=t.length):(e=[...t],r=e.length):(e=t,r=ue(e.length)),i=f(mt,[r],new.target)}for(let t=0;t=0?n:r+n;if(!(i<0||i>=r))return se(e[i])}with(t,e){ge(this);const r=me(this),n=gt(r),i=le(t),o=i>=0?i:n+i,a=+e;if(o<0||o>=n)throw Pt(l);const s=new mt(pt(r),dt(r),gt(r)),u=new xe(pt(ht(s)));return me(u)[o]=ne(a),u}map(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0],o=ce(r,xe);if(o===xe){const e=new xe(n),o=me(e);for(let e=0;e=0;--e)i=t(i,se(r[e]),e,this);return i}forEach(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=0;e=0;--e){const n=se(r[e]);if(h(t,i,[n,e,this]))return n}}findLastIndex(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=n-1;e>=0;--e){const n=se(r[e]);if(h(t,i,[n,e,this]))return e}return-1}every(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=0;es)throw Pt(l);for(let t=0;tr(se(t),se(e))),this}toSorted(t){ge(this);const e=me(this);if(void 0!==t&&"function"!=typeof t)throw new Tt("The comparison function must be either a function or undefined");const r=void 0!==t?t:fe,n=new mt(pt(e),dt(e),gt(e)),i=new xe(pt(ht(n))),o=me(i);return ct(o,(t,e)=>r(se(t),se(e))),i}slice(t,e){ge(this);const r=me(this),i=ce(r,xe);if(i===xe){const n=new mt(pt(r),dt(r),gt(r));return new xe(pt(ht(n,t,e)))}const o=gt(r),a=le(t),s=void 0===e?o:le(e);let l,u;l=a===-1/0?0:a<0?o+a>0?o+a:0:o0?o+s:0:o0?u-l:0,h=new i(c);if(ye(h,c),0===c)return h;if(he(pt(r)))throw Tt(n);let f=0;for(;l=1?le(e[0]):n-1;if(i===-1/0)return-1;i>=0?i=i=0;--e)if(j(r,e)&&se(r[e])===t)return e;return-1}includes(t,...e){ge(this);const r=me(this),n=gt(r);let i=le(e[0]);if(i===1/0)return!1;i<0&&(i+=n,i<0&&(i=0));const o=S(t);for(let e=i;e=0;)t[e]=0}const i=256,o=286,a=30,s=15,l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),u=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),c=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new Array(576);n(f);const p=new Array(60);n(p);const d=new Array(512);n(d);const g=new Array(256);n(g);const y=new Array(29);n(y);const m=new Array(a);function _(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}let v,b,x;function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}n(m);const E=t=>t<256?d[t]:d[256+(t>>>7)],S=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},O=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<{O(t,r[2*e],r[2*e+1])},C=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},T=(t,e,r)=>{const n=new Array(16);let i,o,a=0;for(i=1;i<=s;i++)a=a+r[i-1]<<1,n[i]=a;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=C(n[e]++,e))}},P=t=>{let e;for(e=0;e{t.bi_valid>8?S(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},L=(t,e,r,n)=>{const i=2*e,o=2*r;return t[i]{const n=t.heap[r];let i=r<<1;for(;i<=t.heap_len&&(i{let n,o,a,s,c=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+c++],n+=(255&t.pending_buf[t.sym_buf+c++])<<8,o=t.pending_buf[t.sym_buf+c++],0===n?I(t,o,e):(a=g[o],I(t,a+i+1,e),s=l[a],0!==s&&(o-=y[a],O(t,o,s)),n--,a=E(n),I(t,a,r),s=u[a],0!==s&&(n-=m[a],O(t,n,s)))}while(c{const r=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,o=e.stat_desc.elems;let a,l,u,c=-1;for(t.heap_len=0,t.heap_max=573,a=0;a>1;a>=1;a--)M(t,r,a);u=o;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],M(t,r,1),l=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=l,r[2*u]=r[2*a]+r[2*l],t.depth[u]=(t.depth[a]>=t.depth[l]?t.depth[a]:t.depth[l])+1,r[2*a+1]=r[2*l+1]=u,t.heap[1]=u++,M(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,o=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,u=e.stat_desc.max_length;let c,h,f,p,d,g,y=0;for(p=0;p<=s;p++)t.bl_count[p]=0;for(r[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)h=t.heap[c],p=r[2*r[2*h+1]+1]+1,p>u&&(p=u,y++),r[2*h+1]=p,h>n||(t.bl_count[p]++,d=0,h>=l&&(d=a[h-l]),g=r[2*h],t.opt_len+=g*(p+d),o&&(t.static_len+=g*(i[2*h+1]+d)));if(0!==y){do{for(p=u-1;0===t.bl_count[p];)p--;t.bl_count[p]--,t.bl_count[p+1]+=2,t.bl_count[u]--,y-=2}while(y>0);for(p=u;0!==p;p--)for(h=t.bl_count[p];0!==h;)f=t.heap[--c],f>n||(r[2*f+1]!==p&&(t.opt_len+=(p-r[2*f+1])*r[2*f],r[2*f+1]=p),h--)}})(t,e),T(r,c,t.bl_count)},k=(t,e,r)=>{let n,i,o=-1,a=e[1],s=0,l=7,u=4;for(0===a&&(l=138,u=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=e[2*(n+1)+1],++s{let n,i,o=-1,a=e[1],s=0,l=7,u=4;for(0===a&&(l=138,u=3),n=0;n<=r;n++)if(i=a,a=e[2*(n+1)+1],!(++s{O(t,0+(n?1:0),3),R(t),S(t,r),S(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var G={_tr_init:t=>{F||((()=>{let t,e,r,n,i;const h=new Array(16);for(r=0,n=0;n<28;n++)for(y[n]=r,t=0;t<1<>=7;n{let o,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(k(t,t.dyn_ltree,t.l_desc.max_code),k(t,t.dyn_dtree,t.d_desc.max_code),N(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=o&&(o=a)):o=a=r+5,r+4<=o&&-1!==e?D(t,e,r,n):4===t.strategy||a===o?(O(t,2+(n?1:0),3),A(t,f,p)):(O(t,4+(n?1:0),3),((t,e,r,n)=>{let i;for(O(t,e-257,5),O(t,r-1,5),O(t,n-4,4),i=0;i(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(g[r]+i+1)]++,t.dyn_dtree[2*E(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{O(t,2,3),I(t,256,f),(t=>{16===t.bi_valid?(S(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var U=(t,e,r,n)=>{let i=65535&t|0,o=t>>>16&65535|0,a=0;for(;0!==r;){a=r>2e3?2e3:r,r-=a;do{i=i+e[n++]|0,o=o+i|0}while(--a);i%=65521,o%=65521}return i|o<<16|0};const B=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var z=(t,e,r,n)=>{const i=B,o=n+r;t^=-1;for(let r=n;r>>8^i[255&(t^e[r])];return-1^t},V={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},q={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Y,_tr_stored_block:W,_tr_flush_block:X,_tr_tally:H,_tr_align:Z}=G,{Z_NO_FLUSH:K,Z_PARTIAL_FLUSH:J,Z_FULL_FLUSH:Q,Z_FINISH:$,Z_BLOCK:tt,Z_OK:et,Z_STREAM_END:rt,Z_STREAM_ERROR:nt,Z_DATA_ERROR:it,Z_BUF_ERROR:ot,Z_DEFAULT_COMPRESSION:at,Z_FILTERED:st,Z_HUFFMAN_ONLY:lt,Z_RLE:ut,Z_FIXED:ct,Z_DEFAULT_STRATEGY:ht,Z_UNKNOWN:ft,Z_DEFLATED:pt}=q,dt=258,gt=262,yt=42,mt=113,_t=666,vt=(t,e)=>(t.msg=V[e],e),bt=t=>2*t-(t>4?9:0),xt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},wt=t=>{let e,r,n,i=t.w_size;e=t.hash_size,n=e;do{r=t.head[--n],t.head[n]=r>=i?r-i:0}while(--e);e=i,n=e;do{r=t.prev[--n],t.prev[n]=r>=i?r-i:0}while(--e)};let Et=(t,e,r)=>(e<{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},Ot=(t,e)=>{X(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,St(t.strm)},It=(t,e)=>{t.pending_buf[t.pending++]=e},Ct=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Tt=(t,e,r,n)=>{let i=t.avail_in;return i>n&&(i=n),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),r),1===t.state.wrap?t.adler=U(t.adler,e,i,r):2===t.state.wrap&&(t.adler=z(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)},Pt=(t,e)=>{let r,n,i=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match;const l=t.strstart>t.w_size-gt?t.strstart-(t.w_size-gt):0,u=t.window,c=t.w_mask,h=t.prev,f=t.strstart+dt;let p=u[o+a-1],d=u[o+a];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(r=e,u[r+a]===d&&u[r+a-1]===p&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&oa){if(t.match_start=e,a=n,n>=s)break;p=u[o+a-1],d=u[o+a]}}}while((e=h[e&c])>l&&0!=--i);return a<=t.lookahead?a:t.lookahead},Rt=t=>{const e=t.w_size;let r,n,i;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-gt)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),wt(t),n+=e),0===t.strm.avail_in)break;if(r=Tt(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=r,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Et(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Et(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let r,n,i,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,a=0,s=t.strm.avail_in;do{if(r=65535,i=t.bi_valid+42>>3,t.strm.avail_outn+t.strm.avail_in&&(r=n+t.strm.avail_in),r>i&&(r=i),r>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,St(t.strm),n&&(n>r&&(n=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,r-=n),r&&(Tt(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===a);return s-=t.strm.avail_in,s&&(s>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=s&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-s,t.strm.next_in),t.strstart),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.block_start=t.strstart),t.high_wateri&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(Tt(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,o=i>t.w_size?t.w_size:i,n=t.strstart-t.block_start,(n>=o||(n||e===$)&&e!==K&&0===t.strm.avail_in&&n<=i)&&(r=n>i?i:n,a=e===$&&0===t.strm.avail_in&&r===n?1:0,W(t,t.block_start,r,a),t.block_start+=r,St(t.strm)),a?3:1)},Mt=(t,e)=>{let r,n;for(;;){if(t.lookahead=3&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-gt&&(t.match_length=Pt(t,r)),t.match_length>=3)if(n=H(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Et(t,t.ins_h,t.window[t.strstart+1]);else n=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2},At=(t,e)=>{let r,n,i;for(;;){if(t.lookahead=3&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,n=H(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(Ot(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=H(t,0,t.window[t.strstart-1]),n&&Ot(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=H(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2};function Nt(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}const kt=[new Nt(0,0,0,0,Lt),new Nt(4,4,8,4,Mt),new Nt(4,5,16,8,Mt),new Nt(4,6,32,32,Mt),new Nt(4,4,16,16,At),new Nt(8,16,32,32,At),new Nt(8,16,128,128,At),new Nt(8,32,128,256,At),new Nt(32,128,258,1024,At),new Nt(32,258,258,4096,At)];function jt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=pt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),xt(this.dyn_ltree),xt(this.dyn_dtree),xt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),xt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),xt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Ft=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==yt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==mt&&e.status!==_t?1:0},Dt=t=>{if(Ft(t))return vt(t,nt);t.total_in=t.total_out=0,t.data_type=ft;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?yt:mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,Y(e),et},Gt=t=>{const e=Dt(t);var r;return e===et&&((r=t.state).window_size=2*r.w_size,xt(r.head),r.max_lazy_match=kt[r.level].max_lazy,r.good_match=kt[r.level].good_length,r.nice_match=kt[r.level].nice_length,r.max_chain_length=kt[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),e},Ut=(t,e,r,n,i,o)=>{if(!t)return nt;let a=1;if(e===at&&(e=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>9||r!==pt||n<8||n>15||e<0||e>9||o<0||o>ct||8===n&&1!==a)return vt(t,nt);8===n&&(n=9);const s=new jt;return t.state=s,s.strm=t,s.status=yt,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<Ut(t,e,pt,15,8,ht),deflateInit2:Ut,deflateReset:Gt,deflateResetKeep:Dt,deflateSetHeader:(t,e)=>Ft(t)||2!==t.state.wrap?nt:(t.state.gzhead=e,et),deflate:(t,e)=>{if(Ft(t)||e>tt||e<0)return t?vt(t,nt):nt;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===_t&&e!==$)return vt(t,0===t.avail_out?ot:nt);const n=r.last_flush;if(r.last_flush=e,0!==r.pending){if(St(t),0===t.avail_out)return r.last_flush=-1,et}else if(0===t.avail_in&&bt(e)<=bt(n)&&e!==$)return vt(t,ot);if(r.status===_t&&0!==t.avail_in)return vt(t,ot);if(r.status===yt&&0===r.wrap&&(r.status=mt),r.status===yt){let e=pt+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=lt||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=n<<6,0!==r.strstart&&(e|=32),e+=31-e%31,Ct(r,e),0!==r.strstart&&(Ct(r,t.adler>>>16),Ct(r,65535&t.adler)),t.adler=1,r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et}if(57===r.status)if(t.adler=0,It(r,31),It(r,139),It(r,8),r.gzhead)It(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),It(r,255&r.gzhead.time),It(r,r.gzhead.time>>8&255),It(r,r.gzhead.time>>16&255),It(r,r.gzhead.time>>24&255),It(r,9===r.level?2:r.strategy>=lt||r.level<2?4:0),It(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(It(r,255&r.gzhead.extra.length),It(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=z(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(It(r,0),It(r,0),It(r,0),It(r,0),It(r,0),It(r,9===r.level?2:r.strategy>=lt||r.level<2?4:0),It(r,3),r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et;if(69===r.status){if(r.gzhead.extra){let e=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=z(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=i,St(t),0!==r.pending)return r.last_flush=-1,et;e=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>e&&(t.adler=z(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),St(t),0!==r.pending)return r.last_flush=-1,et;n=0}e=r.gzindexn&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),St(t),0!==r.pending)return r.last_flush=-1,et;n=0}e=r.gzindexn&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(St(t),0!==r.pending))return r.last_flush=-1,et;It(r,255&t.adler),It(r,t.adler>>8&255),t.adler=0}if(r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et}if(0!==t.avail_in||0!==r.lookahead||e!==K&&r.status!==_t){let n=0===r.level?Lt(r,e):r.strategy===lt?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(Rt(t),0===t.lookahead)){if(e===K)return 1;break}if(t.match_length=0,r=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===ut?((t,e)=>{let r,n,i,o;const a=t.window;for(;;){if(t.lookahead<=dt){if(Rt(t),t.lookahead<=dt&&e===K)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){o=t.strstart+dt;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=H(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2})(r,e):kt[r.level].func(r,e);if(3!==n&&4!==n||(r.status=_t),1===n||3===n)return 0===t.avail_out&&(r.last_flush=-1),et;if(2===n&&(e===J?Z(r):e!==tt&&(W(r,0,0,!1),e===Q&&(xt(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),St(t),0===t.avail_out))return r.last_flush=-1,et}return e!==$?et:r.wrap<=0?rt:(2===r.wrap?(It(r,255&t.adler),It(r,t.adler>>8&255),It(r,t.adler>>16&255),It(r,t.adler>>24&255),It(r,255&t.total_in),It(r,t.total_in>>8&255),It(r,t.total_in>>16&255),It(r,t.total_in>>24&255)):(Ct(r,t.adler>>>16),Ct(r,65535&t.adler)),St(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?et:rt)},deflateEnd:t=>{if(Ft(t))return nt;const e=t.state.status;return t.state=null,e===mt?vt(t,it):et},deflateSetDictionary:(t,e)=>{let r=e.length;if(Ft(t))return nt;const n=t.state,i=n.wrap;if(2===i||1===i&&n.status!==yt||n.lookahead)return nt;if(1===i&&(t.adler=U(t.adler,e,r,0)),n.wrap=0,r>=n.w_size){0===i&&(xt(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(r-n.w_size,r),0),e=t,r=n.w_size}const o=t.avail_in,a=t.next_in,s=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,Rt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=Et(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Rt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=a,t.input=s,t.avail_in=o,n.wrap=i,et},deflateInfo:"pako deflate (from Nodeca project)"};const zt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Vt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)zt(r,e)&&(t[e]=r[e])}}return t},qt=t=>{let e=0;for(let r=0,n=t.length;r=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Wt[254]=Wt[254]=1;var Xt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,n,i,o,a=t.length,s=0;for(i=0;i>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},Ht=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,i;const o=new Array(2*r);for(i=0,n=0;n4)o[i++]=65533,n+=a-1;else{for(e&=2===a?31:3===a?15:7;a>1&&n1?o[i++]=65533:e<65536?o[i++]=e:(e-=65536,o[i++]=55296|e>>10&1023,o[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Yt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let n=0;n{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+Wt[t[r]]>e?r:e};var Kt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Jt=Object.prototype.toString,{Z_NO_FLUSH:Qt,Z_SYNC_FLUSH:$t,Z_FULL_FLUSH:te,Z_FINISH:ee,Z_OK:re,Z_STREAM_END:ne,Z_DEFAULT_COMPRESSION:ie,Z_DEFAULT_STRATEGY:oe,Z_DEFLATED:ae}=q;function se(t){this.options=Vt({level:ie,method:ae,chunkSize:16384,windowBits:15,memLevel:8,strategy:oe},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Kt,this.strm.avail_out=0;let r=Bt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==re)throw new Error(V[r]);if(e.header&&Bt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Xt(e.dictionary):"[object ArrayBuffer]"===Jt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=Bt.deflateSetDictionary(this.strm,t),r!==re)throw new Error(V[r]);this._dict_set=!0}}function le(t,e){const r=new se(e);if(r.push(t,!0),r.err)throw r.msg||V[r.err];return r.result}se.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?ee:Qt,"string"==typeof t?r.input=Xt(t):"[object ArrayBuffer]"===Jt.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(o===$t||o===te)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=Bt.deflate(r,o),i===ne)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=Bt.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===re;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},se.prototype.onData=function(t){this.chunks.push(t)},se.prototype.onEnd=function(t){t===re&&(this.result=qt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ue={Deflate:se,deflate:le,deflateRaw:function(t,e){return(e=e||{}).raw=!0,le(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,le(t,e)},constants:q};const ce=16209;var he=function(t,e){let r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,w,E,S,O;const I=t.state;r=t.next_in,S=t.input,n=r+(t.avail_in-5),i=t.next_out,O=t.output,o=i-(e-t.avail_out),a=i+(t.avail_out-257),s=I.dmax,l=I.wsize,u=I.whave,c=I.wnext,h=I.window,f=I.hold,p=I.bits,d=I.lencode,g=I.distcode,y=(1<>>24,f>>>=v,p-=v,v=_>>>16&255,0===v)O[i++]=65535&_;else{if(!(16&v)){if(0==(64&v)){_=d[(65535&_)+(f&(1<>>=v,p-=v),p<15&&(f+=S[r++]<>>24,f>>>=v,p-=v,v=_>>>16&255,!(16&v)){if(0==(64&v)){_=g[(65535&_)+(f&(1<s){t.msg="invalid distance too far back",I.mode=ce;break t}if(f>>>=v,p-=v,v=i-o,x>v){if(v=x-v,v>u&&I.sane){t.msg="invalid distance too far back",I.mode=ce;break t}if(w=0,E=h,0===c){if(w+=l-v,v2;)O[i++]=E[w++],O[i++]=E[w++],O[i++]=E[w++],b-=3;b&&(O[i++]=E[w++],b>1&&(O[i++]=E[w++]))}else{w=i-x;do{O[i++]=O[w++],O[i++]=O[w++],O[i++]=O[w++],b-=3}while(b>2);b&&(O[i++]=O[w++],b>1&&(O[i++]=O[w++]))}break}}break}}while(r>3,r-=b,p-=b<<3,f&=(1<{const l=s.bits;let u,c,h,f,p,d,g=0,y=0,m=0,_=0,v=0,b=0,x=0,w=0,E=0,S=0,O=null;const I=new Uint16Array(16),C=new Uint16Array(16);let T,P,R,L=null;for(g=0;g<=fe;g++)I[g]=0;for(y=0;y=1&&0===I[_];_--);if(v>_&&(v=_),0===_)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(m=1;m<_&&0===I[m];m++);for(v0&&(0===t||1!==_))return-1;for(C[1]=0,g=1;g852||2===t&&E>592)return 1;for(;;){T=g-x,a[y]+1=d?(P=L[a[y]-d],R=O[a[y]-d]):(P=96,R=0),u=1<>x)+c]=T<<24|P<<16|R|0}while(0!==c);for(u=1<>=1;if(0!==u?(S&=u-1,S+=u):S=0,y++,0==--I[g]){if(g===_)break;g=e[r+a[y]]}if(g>v&&(S&f)!==h){for(0===x&&(x=v),p+=m,b=g-x,w=1<852||2===t&&E>592)return 1;h=S&f,i[h]=v<<24|b<<16|p-o|0}}return 0!==S&&(i[p+S]=g-x<<24|64<<16|0),s.bits=v,0};const{Z_FINISH:_e,Z_BLOCK:ve,Z_TREES:be,Z_OK:xe,Z_STREAM_END:we,Z_NEED_DICT:Ee,Z_STREAM_ERROR:Se,Z_DATA_ERROR:Oe,Z_MEM_ERROR:Ie,Z_BUF_ERROR:Ce,Z_DEFLATED:Te}=q,Pe=16180,Re=16190,Le=16191,Me=16192,Ae=16194,Ne=16199,ke=16200,je=16206,Fe=16209,De=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Ge(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ue=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},Be=t=>{if(Ue(t))return Se;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Pe,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,xe},ze=t=>{if(Ue(t))return Se;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Be(t)},Ve=(t,e)=>{let r;if(Ue(t))return Se;const n=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?Se:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,ze(t))},qe=(t,e)=>{if(!t)return Se;const r=new Ge;t.state=r,r.strm=t,r.window=null,r.mode=Pe;const n=Ve(t,e);return n!==xe&&(t.state=null),n};let Ye,We,Xe=!0;const He=t=>{if(Xe){Ye=new Int32Array(512),We=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(me(1,t.lens,0,288,Ye,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;me(2,t.lens,0,32,We,0,t.work,{bits:5}),Xe=!1}t.lencode=Ye,t.lenbits=9,t.distcode=We,t.distbits=5},Ze=(t,e,r,n)=>{let i;const o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>n&&(i=n),o.window.set(e.subarray(r-n,r-n+i),o.wnext),(n-=i)?(o.window.set(e.subarray(r-n,r),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whaveqe(t,15),inflateInit2:qe,inflate:(t,e)=>{let r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,w,E,S=0;const O=new Uint8Array(4);let I,C;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ue(t)||!t.output||!t.input&&0!==t.avail_in)return Se;r=t.state,r.mode===Le&&(r.mode=Me),a=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=r.hold,c=r.bits,h=s,f=l,E=xe;t:for(;;)switch(r.mode){case Pe:if(0===r.wrap){r.mode=Me;break}for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,r.check=z(r.check,O,2,0),u=0,c=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=Fe;break}if((15&u)!==Te){t.msg="unknown compression method",r.mode=Fe;break}if(u>>>=4,c-=4,w=8+(15&u),0===r.wbits&&(r.wbits=w),w>15||w>r.wbits){t.msg="invalid window size",r.mode=Fe;break}r.dmax=1<>8&1),512&r.flags&&4&r.wrap&&(O[0]=255&u,O[1]=u>>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0,r.mode=16182;case 16182:for(;c<32;){if(0===s)break t;s--,u+=n[o++]<>>8&255,O[2]=u>>>16&255,O[3]=u>>>24&255,r.check=z(r.check,O,4,0)),u=0,c=0,r.mode=16183;case 16183:for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>8),512&r.flags&&4&r.wrap&&(O[0]=255&u,O[1]=u>>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0,r.mode=16184;case 16184:if(1024&r.flags){for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(p=r.length,p>s&&(p=s),p&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(o,o+p),w)),512&r.flags&&4&r.wrap&&(r.check=z(r.check,n,p,o)),s-=p,o+=p,r.length-=p),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===s)break t;p=0;do{w=n[o+p++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w))}while(w&&p>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Le;break;case 16189:for(;c<32;){if(0===s)break t;s--,u+=n[o++]<>>=7&c,c-=7&c,r.mode=je;break}for(;c<3;){if(0===s)break t;s--,u+=n[o++]<>>=1,c-=1,3&u){case 0:r.mode=16193;break;case 1:if(He(r),r.mode=Ne,e===be){u>>>=2,c-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=Fe}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===s)break t;s--,u+=n[o++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=Fe;break}if(r.length=65535&u,u=0,c=0,r.mode=Ae,e===be)break t;case Ae:r.mode=16195;case 16195:if(p=r.length,p){if(p>s&&(p=s),p>l&&(p=l),0===p)break t;i.set(n.subarray(o,o+p),a),s-=p,o+=p,l-=p,a+=p,r.length-=p;break}r.mode=Le;break;case 16196:for(;c<14;){if(0===s)break t;s--,u+=n[o++]<>>=5,c-=5,r.ndist=1+(31&u),u>>>=5,c-=5,r.ncode=4+(15&u),u>>>=4,c-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Fe;break}r.have=0,r.mode=16197;case 16197:for(;r.have>>=3,c-=3}for(;r.have<19;)r.lens[T[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,I={bits:r.lenbits},E=me(0,r.lens,0,19,r.lencode,0,r.work,I),r.lenbits=I.bits,E){t.msg="invalid code lengths set",r.mode=Fe;break}r.have=0,r.mode=16198;case 16198:for(;r.have>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=y,c-=y,r.lens[r.have++]=_;else{if(16===_){for(C=y+2;c>>=y,c-=y,0===r.have){t.msg="invalid bit length repeat",r.mode=Fe;break}w=r.lens[r.have-1],p=3+(3&u),u>>>=2,c-=2}else if(17===_){for(C=y+3;c>>=y,c-=y,w=0,p=3+(7&u),u>>>=3,c-=3}else{for(C=y+7;c>>=y,c-=y,w=0,p=11+(127&u),u>>>=7,c-=7}if(r.have+p>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Fe;break}for(;p--;)r.lens[r.have++]=w}}if(r.mode===Fe)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=Fe;break}if(r.lenbits=9,I={bits:r.lenbits},E=me(1,r.lens,0,r.nlen,r.lencode,0,r.work,I),r.lenbits=I.bits,E){t.msg="invalid literal/lengths set",r.mode=Fe;break}if(r.distbits=6,r.distcode=r.distdyn,I={bits:r.distbits},E=me(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,I),r.distbits=I.bits,E){t.msg="invalid distances set",r.mode=Fe;break}if(r.mode=Ne,e===be)break t;case Ne:r.mode=ke;case ke:if(s>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=o,t.avail_in=s,r.hold=u,r.bits=c,he(t,f),a=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=r.hold,c=r.bits,r.mode===Le&&(r.back=-1);break}for(r.back=0;S=r.lencode[u&(1<>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>v)],y=S>>>24,m=S>>>16&255,_=65535&S,!(v+y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=v,c-=v,r.back+=v}if(u>>>=y,c-=y,r.back+=y,r.length=_,0===m){r.mode=16205;break}if(32&m){r.back=-1,r.mode=Le;break}if(64&m){t.msg="invalid literal/length code",r.mode=Fe;break}r.extra=15&m,r.mode=16201;case 16201:if(r.extra){for(C=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;S=r.distcode[u&(1<>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>v)],y=S>>>24,m=S>>>16&255,_=65535&S,!(v+y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=v,c-=v,r.back+=v}if(u>>>=y,c-=y,r.back+=y,64&m){t.msg="invalid distance code",r.mode=Fe;break}r.offset=_,r.extra=15&m,r.mode=16203;case 16203:if(r.extra){for(C=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Fe;break}r.mode=16204;case 16204:if(0===l)break t;if(p=f-l,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Fe;break}p>r.wnext?(p-=r.wnext,d=r.wsize-p):d=r.wnext-p,p>r.length&&(p=r.length),g=r.window}else g=i,d=a-r.offset,p=r.length;p>l&&(p=l),l-=p,r.length-=p;do{i[a++]=g[d++]}while(--p);0===r.length&&(r.mode=ke);break;case 16205:if(0===l)break t;i[a++]=r.length,l--,r.mode=ke;break;case je:if(r.wrap){for(;c<32;){if(0===s)break t;s--,u|=n[o++]<{if(Ue(t))return Se;let e=t.state;return e.window&&(e.window=null),t.state=null,xe},inflateGetHeader:(t,e)=>{if(Ue(t))return Se;const r=t.state;return 0==(2&r.wrap)?Se:(r.head=e,e.done=!1,xe)},inflateSetDictionary:(t,e)=>{const r=e.length;let n,i,o;return Ue(t)?Se:(n=t.state,0!==n.wrap&&n.mode!==Re?Se:n.mode===Re&&(i=1,i=U(i,e,r,0),i!==n.check)?Oe:(o=Ze(t,e,r,r),o?(n.mode=16210,Ie):(n.havedict=1,xe)))},inflateInfo:"pako inflate (from Nodeca project)"};var Je=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Qe=Object.prototype.toString,{Z_NO_FLUSH:$e,Z_FINISH:tr,Z_OK:er,Z_STREAM_END:rr,Z_NEED_DICT:nr,Z_STREAM_ERROR:ir,Z_DATA_ERROR:or,Z_MEM_ERROR:ar}=q;function sr(t){this.options=Vt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Kt,this.strm.avail_out=0;let r=Ke.inflateInit2(this.strm,e.windowBits);if(r!==er)throw new Error(V[r]);if(this.header=new Je,Ke.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Xt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=Ke.inflateSetDictionary(this.strm,e.dictionary),r!==er)))throw new Error(V[r])}function lr(t,e){const r=new sr(e);if(r.push(t),r.err)throw r.msg||V[r.err];return r.result}sr.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let o,a,s;if(this.ended)return!1;for(a=e===~~e?e:!0===e?tr:$e,"[object ArrayBuffer]"===Qe.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),o=Ke.inflate(r,a),o===nr&&i&&(o=Ke.inflateSetDictionary(r,i),o===er?o=Ke.inflate(r,a):o===or&&(o=nr));r.avail_in>0&&o===rr&&r.state.wrap>0&&0!==t[r.next_in];)Ke.inflateReset(r),o=Ke.inflate(r,a);switch(o){case ir:case or:case nr:case ar:return this.onEnd(o),this.ended=!0,!1}if(s=r.avail_out,r.next_out&&(0===r.avail_out||o===rr))if("string"===this.options.to){let t=Zt(r.output,r.next_out),e=r.next_out-t,i=Ht(r.output,t);r.next_out=e,r.avail_out=n-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==er||0!==s){if(o===rr)return o=Ke.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},sr.prototype.onData=function(t){this.chunks.push(t)},sr.prototype.onEnd=function(t){t===er&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=qt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ur={Inflate:sr,inflate:lr,inflateRaw:function(t,e){return(e=e||{}).raw=!0,lr(t,e)},ungzip:lr,constants:q};const{Deflate:cr,deflate:hr,deflateRaw:fr,gzip:pr}=ue,{Inflate:dr,inflate:gr,inflateRaw:yr,ungzip:mr}=ur;var _r=gr},function(t,e){function r(t,e,r){const n=r&&r.debug||!1;n&&console.log("getting "+e+" in "+t);const i="object"==typeof t?t.outer:t,o=e+'\\="([^"]*)"';n&&console.log("pattern:",o);const a=new RegExp(o).exec(i);if(n&&console.log("match:",a),a)return a[1]}t.exports=r,t.exports.default=r},function(t,e){},function(t,e){t.exports='
    \n {{#gt tabs.length 1}}\n
    \n {{#each tabs}}\n
    \n \n
    \n {{/each}}\n
    \n {{/gt}}\n
    \n \n {{#if options.takeMeThere}}\n {{#if options.textMode}}\n \n {{else}}\n \n {{/if}}\n {{/if}}\n
    {{{tabs.0.content}}}
    \n
    \n
    '},function(t,e,r){},function(t,e){e.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),o-=u}return(p?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,l,u=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*l-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[r+p]=255&a,p+=d,a/=256,u-=8);t[r+p-d]|=128*g}},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t){t.exports=JSON.parse('{"name":"mapea","version":"6.3.1","description":"Herramienta para desarrollo de mapas interactivos de forma sencilla","keywords":["map","mapping","tool","sigcorporativo-ja"],"homepage":"http://mapea4-sigc.juntadeandalucia.es/","repository":{"type":"git","url":"https://github.com/sigcorporativo-ja/Mapea4"},"license":"EUPL","bugs":{"url":"https://github.com/sigcorporativo-ja/Mapea4/issues"},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-proposal-export-default-from":"^7.0.0-beta.51","@babel/preset-env":"^7.4.4","babel-loader":"^8.0.0-beta.4","chromedriver":"^2.46.0","copy-webpack-plugin":"^6.1.0","cross-env":"^5.2.0","css-loader":"^2.1.1","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","expect.js":"^0.3.1","expose-loader":"^0.7.5","file-loader":"^1.1.11","fs-extra":"2.0.0","get-image-colors":"^2.0.0","html-loader":"^0.5.5","jsdoc-plugin-typescript":"^2.0.5","karma":"^5.2.2","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","karma-mocha":"^2.0.1","karma-webpack":"^3.0.5","mini-css-extract-plugin":"^0.4.1","mocha":"^8.1.3","nightwatch":"^1.4.2","optimize-css-assets-webpack-plugin":"^5.0.1","style-loader":"^0.21.0","terser-webpack-plugin":"^4.2.1","uglify-js":"^2.6.1","uglifycss":"0.0.29","url-loader":"^1.0.1","walk":"^2.3.14","webpack":"^4.41.2","webpack-cli":"^3.3.12","webpack-dev-server":"^3.11.0","yargs":"^16.0.3"},"dependencies":{"chroma-js":"^1.3.7","draggabilly":"^2.2.0","handlebars":"4.5.2","jsdoc":"^3.6.4","jsts":"^2.0.2","ol":"6.15.1","proj4":"^2.8.0"},"scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=2048 ./node/npm run build:core && ./node/npm run build:plugins && ./node/npm run build:plugins-extern","build:sourcemap":"npm run prebuild && npm run build:core -- --source-map && npm run build:plugins","build:core":"webpack --config=webpack-config/webpack.production-core.config.js","build:plugins":"webpack --config=webpack-config/webpack.production-plugins.config.js","build:plugins-extern":"./node/node tasks/build-extern-plugins.js","debug:build":"webpack-dev-server --config=webpack-config/webpack.test-production.config.js","debug:prebuild":"node --inspect-brk tasks/generate-index.js","generate-doc":"jsdoc config/jsdoc/api/index.md -c config/jsdoc/api/conf.json","generate-test":"node tasks/test-generator","karma":"karma start ./karma.conf.js","nightwatch":"nightwatch --config=./nightwatch.conf.js","prebuild":"node tasks/clean-build.js --path=dist && node tasks/generate-index.js && node tasks/generate-plugins-entrypoints.js","postbuild":"npm run generate-doc && node tasks/copy-legacy.js","publish_npm":"node tasks/prepare-package/prepare.js","start":"webpack-dev-server --config=webpack-config/webpack.development.config.js","start:build":"npm run build && npm run debug:build","test":"npm run karma && npm run nightwatch"}}')},function(t,e){t.exports='
    '},function(t){t.exports=JSON.parse('{"location":{"title":"Get current location"},"layerswitcher":{"title":"Layer selector","unsupported_param":"Unsupported parameter","no_base_layer":"Without base layer"},"scale":{"title":"Scale","scale":"Scale"},"getfeatureinfo":{"info":"Information","title":"Consult layer","no_info":"No associated info","info_of":"Information about","unsupported_format":"Unsupported format"},"wmcselector":{"title":"Context selector"},"dialog":{"info":"INFORMATION","error":"ERROR","success":"SUCCESS","id_feature":"An ID has not been indicated to obtain the feature","invalid_type_layer":"A valid type was not specified for the layer","vector_filter":"The indicated filter is not correct","unauthorized_user":"An error occurred while loading the layer: Unauthorized user.","only_one_filter":"FeatureID and CQL are mutually exclusive, indicate only one type of filtering.","getfeatureinfo_type":"The requested format for the information is not available. Try it using gml, plain or html."},"feature":{"incorrect_attributes":"The attributes were not specified correctly."},"exception":{"addto_method":"The used implementation does not have the addTo method","no_get_rotation_method":"The used implementation does not have the getRotation method","no_set_rotation_method":"The used implementation does not have the setRotation method","getelement_method":"The used implementation does not have the getElement method","getfeatureinfo_method":"The used implementation can not create GetFeatureInfo controls","mouse_method":"The used implementation can not create Mouse controls","navtoolbar_method":"The used implementation can not create navtoolbar controls","overviewmap_method":"The used implementation can not create OverviewMap controls","panzoom_method":"The used implementation can not create Panzoom controls","panzoombar_method":"The used implementation can not create Panzoombar controls","scale_method":"The used implementation can not create Scale controls","scaleline_method":"The used implementation can not create ScaleLine controls","wmcselector_method":"The used implementation can not create WMCSelector controls","geojson_method":"The used implementation can not create objects M.impl.format.GeoJSON","wkt_method":"The used implementation can not creat objects M.impl.format.WKT","getfeaturesbylayer_method":"The used implementation does not have the getFeaturesByLayer method","geojsonlayer_method":"The used implementation can not create GeoJSON layers","no_param":"No parameters specified","no_name":"You have not specified any name","kmllayer_method":"The used implementation can not create KML layers","isvisible_method":"The used implementation does not have the isVisible method","isqueryable_methd":"The used implementation does not have the isQueryable method","visibility_param":"You have not specified any visibility parameters","setvisible_method":"The used implementation does not have the setVisible method","inrange_method":"The used implementation does not have the inRange method","mapbox_method":"The used implementation can not create Mapbox layers","osm_method":"The used implementation can not create OSM layers","vectorlayer_method":"The used implementation can not create Vector layers","wfslayer_method":"The used implementation can not create WFS layers","wmclayer_method":"The used implementation can not create WMC layers","select_method":"The used implementation does not have the select method","unselect_method":"The used implementation does not have the unselect method","constructor_impl":"The used implementation does not have a constructor.","getlayers_method":"The used implementation does not have the getLayers method.","getbaselayers_method":"The used implementation does not have the getBaseLayers method.","addlayers_method":"The used implementation does not have the addLayers method.","removelayers_method":"The used implementation does not have the removeLayers method.","getwmc_method":"The implementation used does not have the getWMC method.","addwmc_method":"The used implementation does not have the addWMC method.","removewmc_method":"The used implementation does not have the removeWMC method.","getkml_method":"The used implementation does not have the getKML method.","addkml_method":"The implementation used does not have the addKML method.","removekml_method":"The implementation used does not have the removeKML method.","getwms_method":"The used implementation does not have the getWMS method.","addwms_method":"The used implementation does not have the addWMS method.","removewms_method":"The used implementation does not have the removeWMS method.","getwfs_method":"The implementation used does not have the getWFS method.","getgeojson_method":"The used implementation does not have the getGeoJSON method.","addwfs_method":"The used implementation does not have the addWFS method.","removewfs_method":"The used implementation does not have the removeWFS method.","getwmts_method":"The implementation used does not have the getWMTS method.","addwmts_method":"The used implementation does not have the addWMTS method.","removewmts_method":"The used implementation does not have the removeWMTS method.","getmbtiles_method":"The used implementation does not have the getMBtiles method.","getcontrols_method":"The used implementation does not have the getControls method.","addcontrols_method":"The used implementation does not have the addControls method.","remove_control":"You have not specified any control to delete.","removecontrol_method":"The used implementation does not have the removeControls method.","setmaxextent_method":"The used implementation does not have the setMaxExtent method.","getbbox_method":"The used implementation does not have the getBbox method.","no_bbox":"You have not specified any bbox.","setbbox_method":"The used implementation does not have the setBbox method.","incorrect_bbox_format":"The format of the bbox parameter is not correct.","getzoom_method":"The used implementation does not have the getZoom method.","no_zoom":"You have not specified any zoom.","setzoom_method":"The implementation used does not have the setZoom method.","getcenter_method":"The used implementation does not have the getCenter method.","setcenter_method":"The used implementation does not have the setCenter method.","getresolutions_method":"The used implementation does not have the getResolutions method.","no_resolutions":"You have not specified any resolution.","setresolutions_method":"The used implementation does not have the setResolutions method.","getscale_method":"The used implementation does not have the getScale method.","getprojection_method":"The implementation used does not have the getProjection method.","no_projection":"You have not specified any projection.","setprojection_method":"The used implementation does not have the setProjection method.","no_plugins":"You have not specified any plugins.","no_add_plugin_to_map":"The plugin can not be added to the map.","no_plugin_to_remove":"You have not specified any plugins to delete.","destroy_method":"The used implementation does not have the destroy method.","addlabel_method":"The used implementation does not have the addLabel method.","no_point":"You have not specified any points.","remove_control_from_panel":"You must remove the controls from the panel previously.","getcontainer_method":"The used implementation does not have the getContainer method.","getmapimpl_method":"The used implementation does not have the getMapImpl method.","removepopup_method":"The used implementation does not have the removePopup method.","no_popup":"You have not specified any popup.","invalid_popup":"The specified popup is not valid.","no_maxextent":"You have not specified any maxExtent","must_be_document":"doc.nodeType must be DOCUMENT type","no_service_response":"There was no reply from the service","no_kml_response":"There was no response from the KML","no_getfeature_response":"There was no response in the GetFeature operation","no_map":"You have not specified any map","layerswitcher_method":"The used implementation can not create LayerSwitcher controls","location_method":"The used implementation can not create Location controls","wms_method":"The used implementation can not create WMS layers","wmts_method":"The used implementation can not create WMTS layers","no_impl":"No implementation specified","no_container":"You have not specified any container parameters","no_id_container":"There is no container with the specified id","no_center":"You have not specified any center parameters","no_attr_name":"The name of the attribute was not specified","no_empty":"The attribute name can not be null. Specify string or function","invalid_center_param":"The format of the center parameter is not correct","invalid_maxextent_param":"The format of the maxExtent parameter is not correct","invalid_resolutions_param":"The format of the resolutions parameter is not correct","invalid_zoom_param":"The format of the zoom parameter is not correct","min_gt_max":"A minimum radius greater than the maximum can not be established.","max_lt_min":"A maximum radius of less than the minimum can not be established.","no_geojson":"No GeoJSON has been specified","unsupported_lang":"A language without support has been established","generate_image":"An error occurred while generating the image","id_exists":"ID already exists"}}')},function(t){t.exports=JSON.parse('{"location":{"title":"Obtener ubicación actual"},"layerswitcher":{"title":"Selector de capas","unsupported_param":"Parámetro no soportado","no_base_layer":"Sin capa base"},"scale":{"title":"Escala","scale":"Escala"},"getfeatureinfo":{"info":"Información","title":"Consultar capa","no_info":"No existe información asociada","info_of":"Información de","unsupported_format":"Formato no soportado"},"wmcselector":{"title":"Selector de contextos"},"dialog":{"info":"INFORMACIÓN","error":"ERROR","success":"ÉXITO","id_feature":"No se ha indicado un ID para obtener el feature","invalid_type_layer":"No se ha especificado un tipo válido para la capa","vector_filter":"El filtro indicado no es correcto","unauthorized_user":"Ha ocurrido un error al cargar la capa: Usuario no autorizado.","only_one_filter":"FeatureID y CQL son mutuamente excluyentes. Indicar sólo un tipo de filtrado.","getfeatureinfo_type":"El formato solicitado para la información no está disponible. Inténtelo utilizando gml, plain o html."},"feature":{"incorrect_attributes":"No se han especificado correctamente los atributos."},"exception":{"addto_method":"La implementación usada no posee el método addTo","no_get_rotation_method":"La implementación usada no posee el método getRotation","no_set_rotation_method":"La implementación usada no posee el método setRotation","getelement_method":"La implementación usada no posee el método getElement","getfeatureinfo_method":"La implementación usada no puede crear controles GetFeatureInfo","mouse_method":"La implementación usada no puede crear controles Mouse","navtoolbar_method":"La implementación usada no puede crear controles Navtoolbar","overviewmap_method":"La implementación usada no puede crear controles OverviewMap","panzoom_method":"La implementación usada no puede crear controles Panzoom","panzoombar_method":"La implementación usada no puede crear controles Panzoombar","scale_method":"La implementación usada no puede crear controles Scale","scaleline_method":"La implementación usada no puede crear controles ScaleLine","wmcselector_method":"La implementación usada no puede crear controles WMCSelector","geojson_method":"La implementación usada no puede crear objetos M.impl.format.GeoJSON","wkt_method":"La implementación usada no puede creat objetos M.impl.format.WKT","getfeaturesbylayer_method":"La implementación usada no posee el método getFeaturesByLayer","geojsonlayer_method":"La implementación usada no puede crear capas GeoJSON","no_param":"No se ha especificado ningun parámetro","no_name":"No ha especificado ningún nombre","kmllayer_method":"La implementación usada no puede crear capas KML","isvisible_method":"La implementación usada no posee el método isVisible","isqueryable_methd":"La implementación usada no posee el método isQueryable","visibility_param":"No ha especificado ningún parámetro de visibilidad","setvisible_method":"La implementación usada no posee el método setVisible","inrange_method":"La implementación usada no posee el método inRange","mapbox_method":"La implementación usada no puede crear capas Mapbox","osm_method":"La implementación usada no puede crear capas OSM","vectorlayer_method":"La implementación usada no puede crear capas Vector","wfslayer_method":"La implementación usada no puede crear capas WFS","wmclayer_method":"La implementación usada no puede crear capas WMC","select_method":"La implementación usada no posee el método select","unselect_method":"La implementación usada no posee el método unselect","constructor_impl":"La implementación usada no posee un constructor.","getlayers_method":"La implementación usada no posee el método getLayers.","getbaselayers_method":"La implementación usada no posee el método getBaseLayers.","addlayers_method":"La implementación usada no posee el método addLayers.","removelayers_method":"La implementación usada no posee el método removeLayers.","getwmc_method":"La implementación usada no posee el método getWMC.","addwmc_method":"La implementación usada no posee el método addWMC.","removewmc_method":"La implementación usada no posee el método removeWMC.","getkml_method":"La implementación usada no posee el método getKML.","addkml_method":"La implementación usada no posee el método addKML.","removekml_method":"La implementación usada no posee el método removeKML.","getwms_method":"La implementación usada no posee el método getWMS.","addwms_method":"La implementación usada no posee el método addWMS.","removewms_method":"La implementación usada no posee el método removeWMS.","getwfs_method":"La implementación usada no posee el método getWFS.","getgeojson_method":"La implementación usada no posee el método getGeoJSON.","addwfs_method":"La implementación usada no posee el método addWFS.","removewfs_method":"La implementación usada no posee el método removeWFS.","getwmts_method":"La implementación usada no posee el método getWMTS.","addwmts_method":"La implementación usada no posee el método addWMTS.","removewmts_method":"La implementación usada no posee el método removeWMTS.","getmbtiles_method":"La implementación usada no posee el método getMBtiles.","getcontrols_method":"La implementación usada no posee el método getControls.","addcontrols_method":"La implementación usada no posee el método addControls.","remove_control":"No ha especificado ningún control a eliminar.","removecontrol_method":"La implementación usada no posee el método removeControls.","setmaxextent_method":"La implementación usada no posee el método setMaxExtent.","getbbox_method":"La implementación usada no posee el método getBbox.","no_bbox":"No ha especificado ningún bbox.","setbbox_method":"La implementación usada no posee el método setBbox.","incorrect_bbox_format":"El formato del parámetro bbox no es el correcto.","getzoom_method":"La implementación usada no posee el método getZoom.","no_zoom":"No ha especificado ningún zoom.","setzoom_method":"La implementación usada no posee el método setZoom.","getcenter_method":"La implementación usada no posee el método getCenter.","setcenter_method":"La implementación usada no posee el método setCenter.","getresolutions_method":"La implementación usada no posee el método getResolutions.","no_resolutions":"No ha especificado ninguna resolución.","setresolutions_method":"La implementación usada no posee el método setResolutions.","getscale_method":"La implementación usada no posee el método getScale.","getprojection_method":"La implementación usada no posee el método getProjection.","no_projection":"No ha especificado ninguna proyección.","setprojection_method":"La implementación usada no posee el método setProjection.","no_plugins":"No ha especificado ningún plugin.","no_add_plugin_to_map":"El plugin no puede añadirse al mapa.","no_plugin_to_remove":"No ha especificado ningún plugin a eliminar.","destroy_method":"La implementación usada no posee el método destroy.","addlabel_method":"La implementación usada no posee el método addLabel.","no_point":"No ha especificado ningún punto.","remove_control_from_panel":"Debe eliminar los controles del panel previamente.","getcontainer_method":"La implementación usada no posee el método getContainer.","getmapimpl_method":"La implementación usada no posee el método getMapImpl.","removepopup_method":"La implementación usada no posee el método removePopup.","no_popup":"No ha especificado ningún popup.","invalid_popup":"El popup especificado no es válido.","no_maxextent":"No ha especificado ningún maxExtent","must_be_document":"doc.nodeType debe ser de tipo DOCUMENT","no_service_response":"No hubo respuesta del servicio","no_kml_response":"No hubo respuesta del KML","no_getfeature_response":"No hubo respuesta en la operación GetFeature","no_map":"No ha especificado ningun mapa","layerswitcher_method":"La implementación usada no puede crear controles LayerSwitcher","location_method":"La implementación usada no puede crear controles Location","wms_method":"La implementación usada no puede crear capas WMS","wmts_method":"La implementación usada no puede crear capas WMTS","no_impl":"No se ha especificado ninguna implementación","no_container":"No ha especificado ningún parámetro contenedor","no_id_container":"No existe ningún contenedor con el id especificado","no_center":"No ha especificado ningún parámetro center","no_attr_name":"No se ha especificado el nombre del atributo","no_empty":"El nombre de atributo no puede ser nulo. Especifique cadena o función","invalid_center_param":"El formato del parámetro center no es correcto","invalid_maxextent_param":"El formato del parámetro maxExtent no es correcto","invalid_resolutions_param":"El formato del parámetro resolutions no es correcto","invalid_zoom_param":"El formato del parámetro zoom no es correcto","min_gt_max":"No puede establecerse un radio mínimo mayor que el máximo.","max_lt_min":"No puede establecerse un radio máximo menor que el mínimo.","no_geojson":"No se ha especificado ningun GeoJSON","unsupported_lang":"Se ha establecido un idioma sin soporte","generate_image":"Se ha producido un error al generar la imagen","id_exists":"El ID indicado ya existe"}}')},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n {{#each features}}\n
    \n {{#each attributes}}\n \n \n \n \n \n
    {{key}}{{{value}}}
    \n {{/each}}\n
    \n
    \n {{/each}}\n
    '},function(t,e){t.exports='
    \n
    \n
    \n
    \n \n {{{title}}}\n
    \n
    {{{message}}}
    \n
    \n \n
    \n
    \n
    \n
    '},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n
    {{scale}} = 1 :
    \n
    \n
    '},function(t,e){t.exports='
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    \n {{{info}}}\n
    '},function(t,e){t.exports=" {{#each layers}}\n \n {{/each}}"},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n \n
    \n
    '},function(t,e){t.exports='
    \n {{{info}}}\n
    '},function(t,e){t.exports='
    \n

    {{{name}}}

    \n
    {{{desc}}}
    \n
    '},function(t,e,r){"use strict";t.exports=i;var n=r(89);function i(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}i.Varint=0,i.Fixed64=1,i.Bytes=2,i.Fixed32=5;var o=4294967296,a=1/o,s="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function l(t){return t.type===i.Bytes?t.readVarint()+t.pos:t.pos+1}function u(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function c(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function h(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function w(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}i.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,o=this.pos;this.type=7&n,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=b(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=w(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=b(this.buf,this.pos)+b(this.buf,this.pos+4)*o;return this.pos+=8,t},readSFixed64:function(){var t=b(this.buf,this.pos)+w(this.buf,this.pos+4)*o;return this.pos+=8,t},readFloat:function(){var t=n.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=n.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(i=o[r.pos++],n=(112&i)>>4,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<3,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<10,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<17,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<24,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(1&i)<<31,i<128)return u(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&s?function(t,e,r){return s.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){var n="",i=e;for(;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)<=127&&(u=null):3===c?(o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&((u=(15&l)<<12|(63&o)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&((u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==i.Bytes)return t.push(this.readVarint(e));var r=l(this);for(t=t||[];this.pos127;);else if(e===i.Bytes)this.pos=this.readVarint()+this.pos;else if(e===i.Fixed32)this.pos+=4;else{if(e!==i.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;if(e.buf[e.pos++]|=r|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,o=0;o55295&&n<57344){if(!i){n>56319||o+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&c(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),n.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),n.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&c(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,i.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,h,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,f,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,g,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,p,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,d,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,y,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,m,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,v,e)},writeBytesField:function(t,e){this.writeTag(t,i.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,i.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,i.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,i.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,i.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,i.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,i.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,i.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,i.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,i.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},function(t,e,r){"use strict";(function(t){function n(){var e='const e="function"==typeof Object.assign?Object.assign:function(e,n){if(null==e)throw new TypeError("Cannot convert undefined or null to object");const t=Object(e);for(let e=1,n=arguments.length;e=0||n.match(/cpu (os|iphone os) 15_4 like mac os x/)),-1!==n.indexOf("webkit")&&n.indexOf("edge"),n.indexOf("macintosh"),"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&(self,WorkerGlobalScope),function(){let e=!1;try{const n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("_",null,n),window.removeEventListener("_",null,n)}catch(e){}}(),new Array(6);const t="GENERATE_BUFFERS",o=[],r={vertexPosition:0,indexPosition:0};function i(e,n,t,o,r){e[n+0]=t,e[n+1]=o,e[n+2]=r}function s(e,n,t,s,f,c){const l=3+f,a=e[n+0],u=e[n+1],d=o;d.length=f;for(let t=0;t{const o=n.data;if(o.type===t){const n=3,t=2,r=o.customAttributesCount,i=t+r,c=new Float32Array(o.renderInstructions),l=c.length/i,a=4*l*(r+n),u=new Uint32Array(6*l),d=new Float32Array(a);let g;for(let e=0;e1;const g=(t,e,r)=>{const n=t[f].get(e);if(n){const e=n.value;if(y(t,e)){if(_(t,n),!t[s])return}else r&&(t[p]&&(n.value.now=Date.now()),t[h].unshiftNode(n));return e.value}},y=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[l]&&r>t[l]},m=t=>{if(t[o]>t[i])for(let e=t[h].tail;t[o]>t[i]&&null!==e;){const r=e.prev;_(t,e),e=r}},_=(t,e)=>{if(e){const r=e.value;t[u]&&t[u](r.key,r.value),t[o]-=r.length,t[f].delete(r.key),t[h].removeNode(e)}};class v{constructor(t,e,r,n,i){this.key=t,this.value=e,this.length=r,this.now=n,this.maxAge=i||0}}const b=(t,e,r,n)=>{let i=r.value;y(t,i)&&(_(t,r),t[s]||(i=void 0)),i&&e.call(n,i.value,i.key,t)};t.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[i]=t.max||1/0;const e=t.length||d;if(this[a]="function"!=typeof e?d:e,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[u]=t.dispose,this[c]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[i]=t||1/0,m(this)}get max(){return this[i]}set allowStale(t){this[s]=!!t}get allowStale(){return this[s]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,m(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=d),t!==this[a]&&(this[a]=t,this[o]=0,this[h].forEach(t=>{t.length=this[a](t.value,t.key),this[o]+=t.length})),m(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let r=this[h].tail;null!==r;){const n=r.prev;b(this,t,r,e),r=n}}forEach(t,e){e=e||this;for(let r=this[h].head;null!==r;){const n=r.next;b(this,t,r,e),r=n}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[u]&&this[h]&&this[h].length&&this[h].forEach(t=>this[u](t.key,t.value)),this[f]=new Map,this[h]=new n,this[o]=0}dump(){return this[h].map(t=>!y(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,r){if((r=r||this[l])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,s=this[a](e,t);if(this[f].has(t)){if(s>this[i])return _(this,this[f].get(t)),!1;const a=this[f].get(t).value;return this[u]&&(this[c]||this[u](t,a.value)),a.now=n,a.maxAge=r,a.value=e,this[o]+=s-a.length,a.length=s,this.get(t),m(this),!0}const p=new v(t,e,s,n,r);return p.length>this[i]?(this[u]&&this[u](t,e),!1):(this[o]+=p.length,this[h].unshift(p),this[f].set(t,this[h].head),m(this),!0)}has(t){if(!this[f].has(t))return!1;const e=this[f].get(t).value;return!y(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(_(this,t),t.value):null}del(t){_(this,this[f].get(t))}load(t){this.reset();const e=Date.now();for(let r=t.length-1;r>=0;r--){const n=t[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const t=i-e;t>0&&this.set(n.k,n.v,t)}}}prune(){this[f].forEach((t,e)=>g(this,e,!1))}}},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return f}));var n=r(117),i=r.n(n),o=r(118),a=r.n(o),s=r(119),l=r.n(s),u=r(61),c=r(20);class h extends u.b{constructor(t,e){super(),this.response=t,this.dataPromise=e}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}}class f extends u.a{constructor(t){super(t),this.parsedUrl=l.a.parse(this.url),this.httpApi="http:"===this.parsedUrl.protocol?i.a:a.a}constructRequest(e,r){return new Promise((n,i)=>{const o=this.httpApi.get({...this.parsedUrl,headers:e},e=>{const r=new Promise(r=>{const n=[];e.on("data",t=>{n.push(t)}),e.on("end",()=>{const e=t.concat(n).buffer;r(e)}),e.on("error",i)});n(new h(e,r))});o.on("error",i),r&&(r.aborted&&o.destroy(new c.a("Request aborted")),r.addEventListener("abort",()=>o.destroy(new c.a("Request aborted"))))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}}).call(this,r(75).Buffer)},function(t,e){},function(t,e){},function(t,e){},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return s}));var n=r(86),i=r.n(n),o=r(55);class a extends o.a{constructor(t){super(),this.path=t,this.openRequest=function(t,e,r){return new Promise((n,o)=>{i.a.open(t,e,r,(t,e)=>{t?o(t):n(e)})})}(t,"r")}async fetchSlice(e){const r=await this.openRequest,{buffer:n}=await function(...t){return new Promise((e,r)=>{i.a.read(...t,(t,n,i)=>{t?r(t):e({bytesRead:n,buffer:i})})})}(r,t.alloc(e.length),0,e.length,e.offset);return n.buffer}async close(){const t=await this.openRequest;await function(t){return new Promise((e,r)=>{i.a.close(t,t=>{t?r(t):e()})})}(t)}}function s(t){return new a(t)}}).call(this,r(75).Buffer)},function(t,e){t.exports=Worker},function(t,e,r){var n,i,o,a,s,l,u,c,h,f,p,d,g; -/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */i={defaultNoDataValue:-34027999387901484e22,decode:function(t,e){var r=(e=e||{}).encodedMaskData||null===e.encodedMaskData,n=l(t,e.inputOffset||0,r),u=null!==e.noDataValue?e.noDataValue:i.defaultNoDataValue,c=o(n,e.pixelType||Float32Array,e.encodedMaskData,u,e.returnMask),h={width:n.width,height:n.height,pixelData:c.resultPixels,minValue:c.minValue,maxValue:n.pixels.maxValue,noDataValue:u};return c.resultMask&&(h.maskData=c.resultMask),e.returnEncodedMask&&n.mask&&(h.encodedMaskData=n.mask.bitset?n.mask.bitset:null),e.returnFileInfo&&(h.fileInfo=a(n),e.computeUsedBitDepths&&(h.fileInfo.bitDepths=s(n))),h}},o=function(t,e,r,n,i){var o,a,s,l=0,c=t.pixels.numBlocksX,h=t.pixels.numBlocksY,f=Math.floor(t.width/c),p=Math.floor(t.height/h),d=2*t.maxZError,g=Number.MAX_VALUE;r=r||(t.mask?t.mask.bitset:null),a=new e(t.width*t.height),i&&r&&(s=new Uint8Array(t.width*t.height));for(var y,m,_=new Float32Array(f*p),v=0;v<=h;v++){var b=v!==h?p:t.height%h;if(0!==b)for(var x=0;x<=c;x++){var w=x!==c?f:t.width%c;if(0!==w){var E,S,O,I,C=v*t.width*p+x*f,T=t.width-w,P=t.pixels.blocks[l];if(P.encoding<2?(0===P.encoding?E=P.rawData:(u(P.stuffedData,P.bitsPerPixel,P.numValidPixels,P.offset,d,_,t.pixels.maxValue),E=_),S=0):O=2===P.encoding?0:P.offset,r)for(m=0;m>3],I<<=7&C),y=0;y>3]),128&I?(s&&(s[C]=1),g=g>(o=P.encoding<2?E[S++]:O)?o:g,a[C++]=o):(s&&(s[C]=0),a[C++]=n),I<<=1;C+=T}else if(P.encoding<2)for(m=0;m(o=E[S++])?o:g,a[C++]=o;C+=T}else for(g=g>O?O:g,m=0;m0){var a=new Uint8Array(Math.ceil(n.width*n.height/8)),s=(o=new DataView(t,e,n.mask.numBytes)).getInt16(0,!0),l=2,u=0;do{if(s>0)for(;s--;)a[u++]=o.getUint8(l++);else{var c=o.getUint8(l++);for(s=-s;s--;)a[u++]=c}s=o.getInt16(l,!0),l+=2}while(l0?1:0),d=f+(n.height%f>0?1:0);n.pixels.blocks=new Array(p*d);for(var g=0,y=0;y3)throw"Invalid block encoding ("+b.encoding+")";if(2!==b.encoding){if(0!==x&&2!==x){if(x>>=6,b.offsetType=x,2===x)b.offset=o.getInt8(1),_++;else if(1===x)b.offset=o.getInt16(1,!0),_+=2;else{if(0!==x)throw"Invalid block offset type";b.offset=o.getFloat32(1,!0),_+=4}if(1===b.encoding)if(x=o.getUint8(_),_++,b.bitsPerPixel=63&x,x>>=6,b.numValidPixelsType=x,2===x)b.numValidPixels=o.getUint8(_),_++;else if(1===x)b.numValidPixels=o.getUint16(_,!0),_+=2;else{if(0!==x)throw"Invalid valid pixel count type";b.numValidPixels=o.getUint32(_,!0),_+=4}}var w;if(e+=_,3!==b.encoding)if(0===b.encoding){var E=(n.pixels.numBytes-1)/4;if(E!==Math.floor(E))throw"uncompressed block has invalid length";w=new ArrayBuffer(4*E),new Uint8Array(w).set(new Uint8Array(t,e,4*E));var S=new Float32Array(w);b.rawData=S,e+=4*E}else if(1===b.encoding){var O=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),I=Math.ceil(O/4);w=new ArrayBuffer(4*I),new Uint8Array(w).set(new Uint8Array(t,e,O)),b.stuffedData=new Uint32Array(w),e+=O}}else e++}return n.eofOffset=e,n},u=function(t,e,r,n,i,o,a){var s,l,u,c=(1<=e)l=u>>>f-e&c,f-=e;else{var g=e-f;l=(u&c)<>>(f=32-g)}o[s]=l=r?(u=c>>>g-r&p,g-=r):(u=(c&p)<<(h=r-g)&p,u+=(c=t[d++])>>>(g=32-h)),e[l]=i[u];else for(f=Math.ceil((s-o)/a),l=0;l=r?(u=c>>>g-r&p,g-=r):(u=(c&p)<<(h=r-g)&p,u+=(c=t[d++])>>>(g=32-h)),e[l]=u=e?(f=a>>>h-e&s,h-=e):(f=(a&s)<<(c=e-h)&s,f+=(a=t[l++])>>>(h=32-c)),p[u]=f=r?(u=c>>>g&f,d-=r,g+=r):(u=c>>>g&f,d=32-(h=r-d),u|=((c=t[p++])&(1<=r?(u=c>>>g&f,d-=r,g+=r):(u=c>>>g&f,d=32-(h=r-d),u|=((c=t[p++])&(1<=e?(f=a>>>p&s,h-=e,p+=e):(f=a>>>p&s,h=32-(c=e-h),f|=((a=t[l++])&(1<=r?(o=a>>>c-r&l,c-=r):(o=(a&l)<<(s=r-c)&l,o+=(a=t[u++])>>>(c=32-s)),e[i]=o;return e},o=function(t,e,r,n){var i,o,a,s,l=(1<=r?(o=a>>>h&l,c-=r,h+=r):(o=a>>>h&l,c=32-(s=r-c),o|=((a=t[u++])&(1<=359?359:i;i-=a;do{e+=t[o++]<<8,r+=e+=t[o++]}while(--a);e=(65535&e)+(e>>>16),r=(65535&r)+(r>>>16)}return 1&n&&(r+=e+=t[o]<<8),((r=(65535&r)+(r>>>16))<<16|(e=(65535&e)+(e>>>16)))>>>0},readHeaderInfo:function(t,e){var r=e.ptr,n=new Uint8Array(t,r,6),i={};if(i.fileIdentifierString=String.fromCharCode.apply(null,n),0!==i.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+i.fileIdentifierString;r+=6;var o,a=new DataView(t,r,8),s=a.getInt32(0,!0);if(i.fileVersion=s,r+=4,s>=3&&(i.checksum=a.getUint32(4,!0),r+=4),a=new DataView(t,r,12),i.height=a.getUint32(0,!0),i.width=a.getUint32(4,!0),r+=8,s>=4?(i.numDims=a.getUint32(8,!0),r+=4):i.numDims=1,a=new DataView(t,r,40),i.numValidPixel=a.getUint32(0,!0),i.microBlockSize=a.getInt32(4,!0),i.blobSize=a.getInt32(8,!0),i.imageType=a.getInt32(12,!0),i.maxZError=a.getFloat64(16,!0),i.zMin=a.getFloat64(24,!0),i.zMax=a.getFloat64(32,!0),r+=40,e.headerInfo=i,e.ptr=r,s>=3&&(o=s>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(t,r-o,i.blobSize-14))!==i.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(t,e){var r=e.headerInfo,n=this.getDataTypeArray(r.imageType),i=r.numDims*this.getDataTypeSize(r.imageType),o=this.readSubArray(t,e.ptr,n,i),a=this.readSubArray(t,e.ptr+i,n,i);e.ptr+=2*i;var s,l=!0;for(s=0;s0){r=new Uint8Array(Math.ceil(a/8));var c=(l=new DataView(t,i,u.numBytes)).getInt16(0,!0),h=2,f=0,p=0;do{if(c>0)for(;c--;)r[f++]=l.getUint8(h++);else for(p=l.getUint8(h++),c=-c;c--;)r[f++]=p;c=l.getInt16(h,!0),h+=2}while(h>3],d<<=7&g):d=r[g>>3],128&d&&(n[g]=1);e.pixels.resultMask=n,u.bitset=r,i+=u.numBytes}return e.ptr=i,e.mask=u,!0},readDataOneSweep:function(t,e,r,n){var i,o=e.ptr,s=e.headerInfo,l=s.numDims,u=s.width*s.height,c=s.imageType,h=s.numValidPixel*a.getDataTypeSize(c)*l,f=e.pixels.resultMask;if(r===Uint8Array)i=new Uint8Array(t,o,h);else{var p=new ArrayBuffer(h);new Uint8Array(p).set(new Uint8Array(t,o,h)),i=new r(p)}if(i.length===u*l)e.pixels.resultPixels=n?a.swapDimensionOrder(i,u,l,r,!0):i;else{e.pixels.resultPixels=new r(u*l);var d=0,g=0,y=0,m=0;if(l>1){if(n){for(g=0;g=l)return!1;var u=new Uint32Array(l-o);a.decodeBits(t,e,u);var c,h,f,p,d=[];for(c=o;c0&&(d[h].second=_<>>32-p,32-b>=p?32===(b+=p)&&(b=0,_=v[++x]):(b+=p-32,_=v[++x],d[h].second|=_>>>32-b));var w=0,E=0,S=new s;for(c=0;c=r?r:w;var O,I,C,T,P,R=[];for(c=o;c0)if(O=[p,h],p<=E)for(I=d[h].second<=0;T--)I>>>T&1?(P.right||(P.right=new s),P=P.right):(P.left||(P.left=new s),P=P.left),0!==T||P.val||(P.val=O[1]);return{decodeLut:R,numBitsLUTQick:E,numBitsLUT:w,tree:S,stuffedData:v,srcPtr:x,bitPos:b}},readHuffman:function(t,e,r,n){var i,o,s,l,u,c,h,f,p,d=e.headerInfo.numDims,g=e.headerInfo.height,y=e.headerInfo.width,m=y*g,_=this.readHuffmanTree(t,e),v=_.decodeLut,b=_.tree,x=_.stuffedData,w=_.srcPtr,E=_.bitPos,S=_.numBitsLUTQick,O=_.numBitsLUT,I=0===e.headerInfo.imageType?128:0,C=e.pixels.resultMask,T=0;E>0&&(w++,E=0);var P,R=x[w],L=1===e.encodeMode,M=new r(m*d),A=M;if(d<2||L){for(P=0;P1&&(A=new r(M.buffer,m*P,m),T=0),e.headerInfo.numValidPixel===y*g)for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,L?(s+=h>0?T:c>0?A[f-y]:T,s&=255,A[f]=s,T=s):A[f]=s}else for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,L?(h>0&&C[f-1]?s+=T:c>0&&C[f-y]?s+=A[f-y]:s+=T,s&=255,A[f]=s,T=s):A[f]=s}}else for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,A[f]=s}e.ptr=e.ptr+4*(w+1)+(E>0?4:0),e.pixels.resultPixels=M,d>1&&!n&&(e.pixels.resultPixels=a.swapDimensionOrder(M,m,d,r))},decodeBits:function(a,s,l,u,c){var h=s.headerInfo,f=h.fileVersion,p=0,d=a.byteLength-s.ptr>=5?5:a.byteLength-s.ptr,g=new DataView(a,s.ptr,d),y=g.getUint8(0);p++;var m=y>>6,_=0===m?4:3-m,v=(32&y)>0,b=31&y,x=0;if(1===_)x=g.getUint8(p),p++;else if(2===_)x=g.getUint16(p,!0),p+=2;else{if(4!==_)throw"Invalid valid pixel count type";x=g.getUint32(p,!0),p+=4}var w,E,S,O,I,C,T,P,R,L=2*h.maxZError,M=h.numDims>1?h.maxValues[c]:h.zMax;if(v){for(s.counter.lut++,P=g.getUint8(p),p++,O=Math.ceil((P-1)*b/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),S=new Uint8Array(E),s.ptr+=p,S.set(new Uint8Array(a,s.ptr,O)),T=new Uint32Array(E),s.ptr+=O,R=0;P-1>>>R;)R++;O=Math.ceil(x*R/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),(S=new Uint8Array(E)).set(new Uint8Array(a,s.ptr,O)),w=new Uint32Array(E),s.ptr+=O,C=f>=3?n(T,b,P-1,u,L,M):e(T,b,P-1,u,L,M),f>=3?r(w,l,R,x,C):t(w,l,R,x,C)}else s.counter.bitstuffer++,R=b,s.ptr+=p,R>0&&(O=Math.ceil(x*R/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),(S=new Uint8Array(E)).set(new Uint8Array(a,s.ptr,O)),w=new Uint32Array(E),s.ptr+=O,f>=3?null==u?o(w,l,R,x):r(w,l,R,x,!1,u,L,M):null==u?i(w,l,R,x):t(w,l,R,x,!1,u,L,M))},readTiles:function(t,e,r,n){var i=e.headerInfo,o=i.width,s=i.height,l=o*s,u=i.microBlockSize,c=i.imageType,h=a.getDataTypeSize(c),f=Math.ceil(o/u),p=Math.ceil(s/u);e.pixels.numBlocksY=p,e.pixels.numBlocksX=f,e.pixels.ptr=0;var d,g,y,m,_,v,b,x,w,E,S=0,O=0,I=0,C=0,T=0,P=0,R=0,L=0,M=0,A=0,N=0,k=0,j=0,F=0,D=0,G=new r(u*u),U=s%u||u,B=o%u||u,z=i.numDims,V=e.pixels.resultMask,q=e.pixels.resultPixels,Y=i.fileVersion>=5?14:15,W=i.zMax;for(I=0;I1?(E=q,A=I*o*u+C*u,q=new r(e.pixels.resultPixels.buffer,l*x*h,l),W=i.maxValues[x]):E=null,R=t.byteLength-e.ptr,g={},D=0,L=(d=new DataView(t,e.ptr,Math.min(10,R))).getUint8(0),D++,w=i.fileVersion>=5?4&L:0,M=L>>6&255,(L>>2&Y)!=(C*u>>3&Y))throw"integrity issue";if(w&&0===x)throw"integrity issue";if((_=3&L)>3)throw e.ptr+=D,"Invalid block encoding ("+_+")";if(2!==_)if(0===_){if(w)throw"integrity issue";if(e.counter.uncompressed++,e.ptr+=D,k=(k=T*P*h)<(j=t.byteLength-e.ptr)?k:j,y=new ArrayBuffer(k%h==0?k:k+h-k%h),new Uint8Array(y).set(new Uint8Array(t,e.ptr,k)),m=new r(y),F=0,V)for(S=0;S1&&!n&&(e.pixels.resultPixels=a.swapDimensionOrder(e.pixels.resultPixels,l,z,r))},formatFileInfo:function(t){return{fileIdentifierString:t.headerInfo.fileIdentifierString,fileVersion:t.headerInfo.fileVersion,imageType:t.headerInfo.imageType,height:t.headerInfo.height,width:t.headerInfo.width,numValidPixel:t.headerInfo.numValidPixel,microBlockSize:t.headerInfo.microBlockSize,blobSize:t.headerInfo.blobSize,maxZError:t.headerInfo.maxZError,pixelType:a.getPixelType(t.headerInfo.imageType),eofOffset:t.eofOffset,mask:t.mask?{numBytes:t.mask.numBytes}:null,pixels:{numBlocksX:t.pixels.numBlocksX,numBlocksY:t.pixels.numBlocksY,maxValue:t.headerInfo.zMax,minValue:t.headerInfo.zMin,noDataValue:t.noDataValue}}},constructConstantSurface:function(t,e){var r=t.headerInfo.zMax,n=t.headerInfo.zMin,i=t.headerInfo.maxValues,o=t.headerInfo.numDims,a=t.headerInfo.height*t.headerInfo.width,s=0,l=0,u=0,c=t.pixels.resultMask,h=t.pixels.resultPixels;if(c)if(o>1){if(e)for(s=0;s1&&n!==r)if(e)for(s=0;s=-128&&e<=127;break;case 1:r=e>=0&&e<=255;break;case 2:r=e>=-32768&&e<=32767;break;case 3:r=e>=0&&e<=65536;break;case 4:r=e>=-2147483648&&e<=2147483647;break;case 5:r=e>=0&&e<=4294967296;break;case 6:r=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:r=e>=-17976931348623157e292&&e<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(t){var e=0;switch(t){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=t}return e},getDataTypeUsed:function(t,e){var r=t;switch(t){case 2:case 4:r=t-e;break;case 3:case 5:r=t-2*e;break;case 6:r=0===e?t:1===e?2:1;break;case 7:r=0===e?t:t-2*e+1;break;default:r=t}return r},getOnePixel:function(t,e,r,n){var i=0;switch(r){case 0:i=n.getInt8(e);break;case 1:i=n.getUint8(e);break;case 2:i=n.getInt16(e,!0);break;case 3:i=n.getUint16(e,!0);break;case 4:i=n.getInt32(e,!0);break;case 5:i=n.getUInt32(e,!0);break;case 6:i=n.getFloat32(e,!0);break;case 7:i=n.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return i},swapDimensionOrder:function(t,e,r,n,i){var o=0,a=0,s=0,l=0,u=t;if(r>1)if(u=new n(e*r),i)for(o=0;o5)throw"unsupported lerc version 2."+s;a.readMask(t,i),o.numValidPixel===o.width*o.height||i.pixels.resultMask||(i.pixels.resultMask=e.maskData);var u=o.width*o.height;i.pixels.resultPixels=new l(u*o.numDims),i.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var c,h=!e.returnPixelInterleavedDims;if(0!==o.numValidPixel)if(o.zMax===o.zMin)a.constructConstantSurface(i,h);else if(s>=4&&a.checkMinMaxRanges(t,i))a.constructConstantSurface(i,h);else{var f=new DataView(t,i.ptr,2),p=f.getUint8(0);if(i.ptr++,p)a.readDataOneSweep(t,i,l,h);else if(s>1&&o.imageType<=1&&Math.abs(o.maxZError-.5)<1e-5){var d=f.getUint8(1);if(i.ptr++,i.encodeMode=d,d>2||s<4&&d>1)throw"Invalid Huffman flag "+d;d?a.readHuffman(t,i,l,h):a.readTiles(t,i,l,h)}else a.readTiles(t,i,l,h)}i.eofOffset=i.ptr,e.inputOffset?(c=i.headerInfo.blobSize+e.inputOffset-i.ptr,Math.abs(c)>=1&&(i.eofOffset=e.inputOffset+i.headerInfo.blobSize)):(c=i.headerInfo.blobSize-i.ptr,Math.abs(c)>=1&&(i.eofOffset=i.headerInfo.blobSize));var g={width:o.width,height:o.height,pixelData:i.pixels.resultPixels,minValue:o.zMin,maxValue:o.zMax,validPixelCount:o.numValidPixel,dimCount:o.numDims,dimStats:{minValues:o.minValues,maxValues:o.maxValues},maskData:i.pixels.resultMask};if(i.pixels.resultMask&&a.isValidPixelValue(o.imageType,r)){var y=i.pixels.resultMask;for(n=0;n1&&(u&&_.push(u),x.fileInfo.mask&&x.fileInfo.mask.numBytes>0&&b++),y++,v.pixels.push(x.pixelData),v.statistics.push({minValue:x.minValue,maxValue:x.maxValue,noDataValue:x.noDataValue,dimStats:x.dimStats})}if(n>1&&b>1){for(g=v.width*v.height,v.bandMasks=_,(u=new Uint8Array(g)).set(_[0]),c=1;c<_.length;c++)for(l=_[c],h=0;h=0?n=o:(n=r+o)<0&&(n=0);n=0?n=i:(n=r+i)<0&&(n=0);for(var o,a=[];n-1||o.indexOf(e)>-1)return!1;for(n in e){if(e.hasOwnProperty(n)!==t.hasOwnProperty(n))return!1;if(r(e[n])!==r(t[n]))return!1}for(n in t){if(e.hasOwnProperty(n)!==t.hasOwnProperty(n))return!1;if(r(e[n])!==r(t[n]))return!1;switch(r(t[n])){case"object":case"function":if(i.push(t),o.push(e),!Object.equals(t[n],e[n]))return!1;i.pop(),o.pop();break;default:if(t[n]!==e[n])return!1}}return!0})},function(t,e,r){"use strict";e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),a=n[0],s=n[1],l=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e);return l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,l=r-i;sl?l:s+a));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){const n=r(158),i=r(159),o=r(160);function a(t,e,r){const a=r&&r.debug||!1,s=!(r&&!1===typeof r.nested),l=r&&r.startIndex||0;a&&console.log("[xml-utils] starting findTagByName with",e," and ",r);const u=n(t,`<${e}[ >/]`,l);if(a&&console.log("[xml-utils] start:",u),-1===u)return;const c=t.slice(u+e.length);let h=i(c,"^[^<]*[ /]>",0);const f=-1!==h&&"/"===c[h-1];if(a&&console.log("[xml-utils] selfClosing:",f),!1===f)if(s){let t=0,r=1,n=0;for(;-1!==(h=i(c,"[ /]"+e+">",t));){const i=c.substring(t,h+1);if(r+=o(i,"<"+e),n+=o(i,"/"+e+">"),n>=r)break;t=h}}else h=i(c,"[ /]"+e+">",0);const p=u+e.length+h+1;if(a&&console.log("[xml-utils] end:",p),-1===p)return;const d=t.slice(u,p);let g;return g=f?null:d.slice(d.indexOf(">")+1,d.lastIndexOf("<")),{inner:g,outer:d,start:u,end:p}}t.exports=a,t.exports.default=a},function(t,e){function r(t,e,r){const n=new RegExp(e).exec(t.slice(r));return n?r+n.index:-1}t.exports=r,t.exports.default=r},function(t,e){function r(t,e,r){const n=new RegExp(e).exec(t.slice(r));return n?r+n.index+n[0].length-1:-1}t.exports=r,t.exports.default=r},function(t,e){function r(t,e){const r=new RegExp(e,"g"),n=t.match(r);return n?n.length:0}t.exports=r,t.exports.default=r},function(t,e,r){"use strict";function n(t){var e=this;if(e instanceof n||(e=new n),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach((function(t){e.push(t)}));else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=t(r,n.value,i),n=n.next;return r},n.prototype.reduceReverse=function(t,e){var r,n=this.tail;if(arguments.length>1)r=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=t(r,n.value,i),n=n.prev;return r},n.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;null!==r;e++)t[e]=r.value,r=r.next;return t},n.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;null!==r;e++)t[e]=r.value,r=r.prev;return t},n.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var r=new n;if(ethis.length&&(e=this.length);for(var i=0,o=this.head;null!==o&&ithis.length&&(e=this.length);for(var i=this.length,o=this.tail;null!==o&&i>e;i--)o=o.prev;for(;null!==o&&i>t;i--,o=o.prev)r.push(o.value);return r},n.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var n=0,o=this.head;null!==o&&n0;r>>>=1)e+=(t.high&r)===r?"1":"0";for(r=2147483648;r>0;r>>>=1)e+=(t.low&r)===r?"1":"0";return e},i.isNaN=t=>Number.isNaN(t),i.isInfinite=t=>!Number.isFinite(t),i.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(u=new Float64Array(1),c=new Int32Array(u.buffer),i.doubleToLongBits=function(t){u[0]=t;var e=0|c[0],r=0|c[1];return 2146435072==(2146435072&r)&&0!=(1048575&r)&&0!==e&&(e=0,r=2146959360),new n(r,e)},i.longBitsToDouble=function(t){return c[0]=t.low,c[1]=t.high,u[0]}):(o=Math.log2,a=Math.floor,s=Math.pow,l=function(){for(var t=53;t>0;t--){var e=s(2,t)-1;if(a(o(e))+1===t)return e}return 0}(),i.doubleToLongBits=function(t){var e,r,i,u,c,h,f,p,d;if(t<0||1/t===Number.NEGATIVE_INFINITY?(h=1<<31,t=-t):h=0,0===t)return new n(p=h,d=0);if(t===1/0)return new n(p=2146435072|h,d=0);if(t!=t)return new n(p=2146959360,d=0);if(u=0,d=0,(e=a(t))>1)if(e<=l)(u=a(o(e)))<=20?(d=0,p=e<<20-u&1048575):(d=e%(r=s(2,i=u-20))<<32-i,p=e/r&1048575);else for(i=e,d=0;0!==(i=a(r=i/2));)u++,d>>>=1,d|=(1&p)<<31,p>>>=1,r!==i&&(p|=524288);if(f=u+1023,c=0===e,e=t-e,u<52&&0!==e)for(i=0;;){if((r=2*e)>=1?(e=r-1,c?(f--,c=!1):(i<<=1,i|=1,u++)):(e=r,c?0==--f&&(u++,c=!1):(i<<=1,u++)),20===u)p|=i,i=0;else if(52===u){d|=i;break}if(1===r){u<20?p|=i<<20-u:u<52&&(d|=i<<52-u);break}}return p|=f<<20,new n(p|=h,d)},i.longBitsToDouble=function(t){var e,r,n,i,o=t.high,a=t.low;r=o&1<<31?-1:1,n=((2146435072&o)>>20)-1023,i=0,e=1<<19;for(var l=1;l<=20;l++)o&e&&(i+=s(2,-l)),e>>>=1;for(e=1<<31,l=21;l<=52;l++)a&e&&(i+=s(2,-l)),e>>>=1;if(-1023===n){if(0===i)return 0*r;n=-1022}else{if(1024===n)return 0===i?r/0:NaN;i+=1}return r*i*s(2,n)}),g.prototype=Object.create(Error.prototype),g.prototype.constructor=Error;class y extends g{constructor(){super(),y.constructor_.apply(this,arguments)}getClass(){return y}get interfaces_(){return[]}}y.constructor_=function(){if(0===arguments.length)g.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];g.constructor_.call(this,t)}};class m{constructor(){m.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)m.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new y("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];m.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new y:new y(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];m.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];if(!e.equals(t))throw new y("Expected "+t+" but encountered "+e+(null!==r?": "+r:""))}}getClass(){return m}get interfaces_(){return[]}}m.constructor_=function(){};class _{constructor(){_.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=i.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case _.X:this.x=e;break;case _.Y:this.y=e;break;case _.Z:this.z=e;break;default:throw new r("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],r=arguments[1];return!!e.equalsWithTolerance(this.x,t.x,r)&&!!e.equalsWithTolerance(this.y,t.y,r)}}getOrdinate(t){switch(t){case _.X:return this.x;case _.Y:return this.y;case _.Z:return this.z}throw new r("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||i.isNaN(this.z)&&i.isNaN(t.z))}equals(t){return t instanceof _&&this.equals2D(t)}equalInZ(t,r){return e.equalsWithTolerance(this.z,t.z,r)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return m.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new _(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+r*r+n*n)}distance(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)}hashCode(){var t=17;return 37*(t=37*t+_.hashCode(this.x))+_.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return _}get interfaces_(){return[h,f,d]}}class v{constructor(){v.constructor_.apply(this,arguments)}static compare(t,e){return te?1:i.isNaN(t)?i.isNaN(e)?0:-1:i.isNaN(e)?1:0}compare(t,e){var r=t,n=e,i=v.compare(r.x,n.x);if(0!==i)return i;var o=v.compare(r.y,n.y);return 0!==o?o:this._dimensionsToTest<=2?0:v.compare(r.z,n.z)}getClass(){return v}get interfaces_(){return[p]}}function b(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}function x(){}function w(){}function E(t){this.message=t||""}function S(){}function O(t){this.message=t||""}function I(t){this.message=t||""}function C(){this.array_=[],arguments[0]instanceof w&&this.addAll(arguments[0])}v.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)v.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new r("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},_.DimensionalComparator=v,_.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)_.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];_.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];_.constructor_.call(this,t,e,_.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.z=r}},_.serialVersionUID=0x5cbf2c235c7e5800,_.NULL_ORDINATE=i.NaN,_.X=0,_.Y=1,_.Z=2,x.prototype.hasNext=function(){},x.prototype.next=function(){},x.prototype.remove=function(){},w.prototype.add=function(){},w.prototype.addAll=function(){},w.prototype.isEmpty=function(){},w.prototype.iterator=function(){},w.prototype.size=function(){},w.prototype.toArray=function(){},w.prototype.remove=function(){},E.prototype=new Error,E.prototype.name="IndexOutOfBoundsException",S.prototype=Object.create(w.prototype),S.prototype.constructor=S,S.prototype.get=function(){},S.prototype.set=function(){},S.prototype.isEmpty=function(){},O.prototype=new Error,O.prototype.name="NoSuchElementException",I.prototype=new Error,I.prototype.name="OperationNotSupported",C.prototype=Object.create(S.prototype),C.prototype.constructor=C,C.prototype.ensureCapacity=function(){},C.prototype.interfaces_=[S,w],C.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},C.prototype.clear=function(){this.array_=[]},C.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},C.prototype.set=function(t,e){var r=this.array_[t];return this.array_[t]=e,r},C.prototype.iterator=function(){return new T(this)},C.prototype.get=function(t){if(t<0||t>=this.size())throw new E;return this.array_[t]},C.prototype.isEmpty=function(){return 0===this.array_.length},C.prototype.size=function(){return this.array_.length},C.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e=1&&this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],r=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],r);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof _){let t=arguments[0],r=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0&&this.get(t-1).equals2D(r))return null;if(to&&(r=-1),t=i;t!==o;t+=r)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new _(this.get(0)),!1)}getClass(){return P}get interfaces_(){return[]}}P.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},P.coordArrayType=new Array(0).fill(null);class R{constructor(){R.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return r.x>=(t.xe.x?t.x:e.x)&&r.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=Math.min(a.x,s.x),e=Math.max(a.x,s.x),r=Math.min(i.x,o.x),n=Math.max(i.x,o.x);return!(r>e||ne||nt._minx?this._minx:t._minx,r=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy}}intersects(){if(1===arguments.length){if(arguments[0]instanceof R){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||(t.x>e.x?t.x:e.x)this._maxy||(t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof R){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof _){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new _((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof R){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var r=0;return this._maxyt._maxy&&(r=this._miny-t._maxy),0===e?r:0===r?e:Math.sqrt(e*e+r*r)}hashCode(){var t=17;return 37*(t=37*(t=37*(t=37*t+_.hashCode(this._minx))+_.hashCode(this._maxx))+_.hashCode(this._miny))+_.hashCode(this._maxy)}getClass(){return R}get interfaces_(){return[h,d]}}function L(){}R.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof R){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this.init(t,e,r,n)}},R.serialVersionUID=0x51845cd552189800;class M extends L{constructor(){super(),M.constructor_.apply(this,arguments)}getClass(){return M}get interfaces_(){return[]}}function A(t){this.str=t}function N(t){this.value=t}function k(){}M.constructor_=function(){L.constructor_.call(this,"Projective point not representable on the Cartesian plane.")},A.prototype.append=function(t){this.str+=t},A.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},A.prototype.toString=function(t){return this.str},N.prototype.intValue=function(){return this.value},N.prototype.compareTo=function(t){return this.valuet?1:0},N.isNaN=t=>Number.isNaN(t),k.isWhitespace=t=>t<=32&&t>=0||127==t,k.toUpperCase=t=>t.toUpperCase();class j{constructor(){j.constructor_.apply(this,arguments)}static sqr(t){return j.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return j.parse(t)}if("number"==typeof arguments[0])return new j(arguments[0])}static sqrt(t){return j.valueOf(t).sqrt()}static parse(t){for(var e=0,r=t.length;k.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=r);){var u=t.charAt(e);if(e++,k.isDigit(u)){var c=u-"0";o.selfMultiply(j.TEN),o.selfAdd(c),a++}else{if("."!==u){if("e"===u||"E"===u){var h=t.substring(e);try{l=N.parseInt(h)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+h+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+u+"' at position "+e+" in string "+t)}s=a}}var f=o,p=a-s-l;if(0===p)f=o;else if(p>0){var d=j.TEN.pow(p);f=o.divide(d)}else p<0&&(d=j.TEN.pow(-p),f=o.multiply(d));return n?f.negate():f}static createNaN(){return new j(i.NaN,i.NaN)}static copy(t){return new j(t)}static magnitude(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(r));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var r=new A,n=0;n9?(c=!0,h="9"):h="0"+u,a.append(h),r=r.subtract(j.valueOf(u)).multiply(j.TEN),c&&r.selfAdd(j.TEN);var f=!0,p=j.magnitude(r._hi);if(p<0&&Math.abs(p)>=s-l&&(f=!1),!f)break}return e[0]=n,a.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof j){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof j){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof j){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r,n,i=null,o=null,a=null,s=null;return r=this._hi/l,s=(i=(a=j.SPLIT*r)-(i=a-r))*(o=(s=j.SPLIT*l)-(o=s-l))-(n=r*l)+i*(e=l-o)+(t=r-i)*o+t*e,s=r+(a=(this._hi-n-s+this._lo-r*u)/l),this._hi=s,this._lo=r-s+a,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof j){let i=arguments[0];var t,e,r,n,o=null,a=null,s=null,l=null;return t=(r=this._hi/i._hi)-(o=(s=j.SPLIT*r)-(o=s-r)),l=o*(a=(l=j.SPLIT*i._hi)-(a=l-i._hi))-(n=r*i._hi)+o*(e=i._hi-a)+t*a+t*e,s=(this._hi-n-l+this._lo-r*i._lo)/i._hi,new j(l=r+s,r-l+s)}if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)?j.createNaN():j.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return j.valueOf(1);var e=new j(this),r=j.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&r.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r}ceil(){if(this.isNaN())return j.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new j(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof j){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return j.valueOf(0);if(this.isNegative())return j.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=j.valueOf(e),n=this.subtract(r.sqr())._hi*(.5*t);return r.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let a=arguments[0];var t=null,e=null,r=null,n=null,i=null,o=null;return n=(r=this._hi+a)-(i=r-this._hi),e=(o=(n=a-i+(this._hi-n))+this._lo)+(r-(t=r+o)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],h=arguments[1];t=null,e=null;var a,s=null;r=null,n=null,i=null,o=null,r=this._hi+c,a=this._lo+h,n=r-(i=r-this._hi),s=a-(o=a-this._lo);var l=(t=r+(i=(n=c-i+(this._hi-n))+a))+(i=(s=h-o+(this._lo-s))+(e=i+(r-t))),u=i+(t-l);return this._hi=l,this._lo=u,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r=null,n=null,i=null,o=null;r=(i=j.SPLIT*this._hi)-this._hi,o=j.SPLIT*l,r=i-r,t=this._hi-r,n=o-l;var a=(i=this._hi*l)+(o=r*(n=o-n)-i+r*(e=l-n)+t*n+t*e+(this._hi*u+this._lo*l)),s=o+(r=i-a);return this._hi=a,this._lo=s,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return j.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new j(t,e)}negate(){return this.isNaN()?this:new j(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof j){let t=arguments[0];return t.isNaN()?j.createNaN():j.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)?j.createNaN():j.copy(this).selfMultiply(t,0)}}isNaN(){return i.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=j.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),n=e[0]+1,i=r;if("."===r.charAt(0))i="0"+r;else if(n<0)i="0."+j.stringOfChar("0",-n)+r;else if(-1===r.indexOf(".")){var o=n-r.length;i=r+j.stringOfChar("0",o)+".0"}return this.isNegative()?"-"+i:i}reciprocal(){var t,e,r,n,i=null,o=null,a=null,s=null;t=(r=1/this._hi)-(i=(a=j.SPLIT*r)-(i=a-r)),o=(s=j.SPLIT*this._hi)-this._hi;var l=r+(a=(1-(n=r*this._hi)-(s=i*(o=s-o)-n+i*(e=this._hi-o)+t*o+t*e)-r*this._lo)/this._hi);return new j(l,r-l+a)}toSciNotation(){if(this.isZero())return j.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),n=j.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===r.charAt(0))throw new IllegalStateException("Found leading zero: "+r);var i="";r.length>1&&(i=r.substring(1));var o=r.charAt(0)+"."+i;return this.isNegative()?"-"+o+n:o+n}abs(){return this.isNaN()?j.NaN:this.isNegative()?this.negate():new j(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?j.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return j}get interfaces_(){return[d,h,f]}}j.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof j){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];j.constructor_.call(this,j.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},j.PI=new j(3.141592653589793,12246467991473532e-32),j.TWO_PI=new j(6.283185307179586,24492935982947064e-32),j.PI_2=new j(1.5707963267948966,6123233995736766e-32),j.E=new j(2.718281828459045,14456468917292502e-32),j.NaN=new j(i.NaN,i.NaN),j.EPS=123259516440783e-46,j.SPLIT=134217729,j.MAX_PRINT_DIGITS=32,j.TEN=j.valueOf(10),j.ONE=j.valueOf(1),j.SCI_NOT_EXPONENT_CHAR="E",j.SCI_NOT_ZERO="0.0E0";class F{constructor(){F.constructor_.apply(this,arguments)}static orientationIndex(t,e,r){var n=F.orientationIndexFilter(t,e,r);if(n<=1)return n;var i=j.valueOf(e.x).selfAdd(-t.x),o=j.valueOf(e.y).selfAdd(-t.y),a=j.valueOf(r.x).selfAdd(-e.x),s=j.valueOf(r.y).selfAdd(-e.y);return i.selfMultiply(s).selfSubtract(o.selfMultiply(a)).signum()}static signOfDet2x2(){if(arguments[0]instanceof j){let t=arguments[1],e=arguments[2],r=arguments[3];return arguments[0].multiply(r).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=j.valueOf(i),e=j.valueOf(o),r=j.valueOf(a),n=j.valueOf(s);return t.multiply(n).selfSubtract(e.multiply(r)).signum()}}static intersection(t,e,r,n){var i=j.valueOf(n.y).selfSubtract(r.y).selfMultiply(j.valueOf(e.x).selfSubtract(t.x)),o=j.valueOf(n.x).selfSubtract(r.x).selfMultiply(j.valueOf(e.y).selfSubtract(t.y)),a=i.subtract(o),s=j.valueOf(n.x).selfSubtract(r.x).selfMultiply(j.valueOf(t.y).selfSubtract(r.y)),l=j.valueOf(n.y).selfSubtract(r.y).selfMultiply(j.valueOf(t.x).selfSubtract(r.x)),u=s.subtract(l).selfDivide(a).doubleValue(),c=j.valueOf(t.x).selfAdd(j.valueOf(e.x).selfSubtract(t.x).selfMultiply(u)).doubleValue(),h=j.valueOf(e.x).selfSubtract(t.x).selfMultiply(j.valueOf(t.y).selfSubtract(r.y)),f=j.valueOf(e.y).selfSubtract(t.y).selfMultiply(j.valueOf(t.x).selfSubtract(r.x)),p=h.subtract(f).selfDivide(a).doubleValue(),d=j.valueOf(r.y).selfAdd(j.valueOf(n.y).selfSubtract(r.y).selfMultiply(p)).doubleValue();return new _(c,d)}static orientationIndexFilter(t,e,r){var n=null,i=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=i-o;if(i>0){if(o<=0)return F.signum(a);n=i+o}else{if(!(i<0))return F.signum(a);if(o>=0)return F.signum(a);n=-i-o}var s=F.DP_SAFE_EPSILON*n;return a>=s||-a>=s?F.signum(a):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return F}get interfaces_(){return[]}}F.constructor_=function(){},F.DP_SAFE_EPSILON=1e-15;class D{constructor(){D.constructor_.apply(this,arguments)}static index(t,e,r){return F.orientationIndex(t,e,r)}static isCCW(t){var e=t.length-1;if(e<3)throw new r("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=t[0],i=0,o=1;o<=e;o++){var a=t[o];a.y>n.y&&(n=a,i=o)}var s=i;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==i);var l=i;do{l=(l+1)%e}while(t[l].equals2D(n)&&l!==i);var u=t[s],c=t[l];if(u.equals2D(n)||c.equals2D(n)||u.equals2D(c))return!1;var h=D.index(u,n,c);return 0===h?u.x>c.x:h>0}getClass(){return D}get interfaces_(){return[]}}function G(){}D.constructor_=function(){},D.CLOCKWISE=-1,D.RIGHT=D.CLOCKWISE,D.COUNTERCLOCKWISE=1,D.LEFT=D.COUNTERCLOCKWISE,D.COLLINEAR=0,D.STRAIGHT=D.COLLINEAR,G.arraycopy=(t,e,r,n,i)=>{let o=0;for(let a=e;a({"line.separator":"\n"}[t]);class U{constructor(){U.constructor_.apply(this,arguments)}static intersection(t,e,r,n){var o=t.y-e.y,a=e.x-t.x,s=t.x*e.y-e.x*t.y,l=r.y-n.y,u=n.x-r.x,c=r.x*n.y-n.x*r.y,h=o*u-l*a,f=(a*c-u*s)/h,p=(l*s-o*c)/h;if(i.isNaN(f)||i.isInfinite(f)||i.isNaN(p)||i.isInfinite(p))throw new M;return new _(f,p)}getY(){var t=this.y/this.w;if(i.isNaN(t)||i.isInfinite(t))throw new M;return t}getX(){var t=this.x/this.w;if(i.isNaN(t)||i.isInfinite(t))throw new M;return t}getCoordinate(){var t=new _;return t.x=this.getX(),t.y=this.getY(),t}getClass(){return U}get interfaces_(){return[]}}U.constructor_=function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){let t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];this.x=t,this.y=e,this.w=1}else if(arguments[0]instanceof U&&arguments[1]instanceof U){let t=arguments[0],e=arguments[1];this.x=t.y*e.w-e.y*t.w,this.y=e.x*t.w-t.x*e.w,this.w=t.x*e.y-e.x*t.y}else if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];this.x=t.y-e.y,this.y=e.x-t.x,this.w=t.x*e.y-e.x*t.y}}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.w=r}else if(4===arguments.length){let a=arguments[0],s=arguments[1],l=arguments[2],u=arguments[3];var t=a.y-s.y,e=s.x-a.x,r=a.x*s.y-s.x*a.y,n=l.y-u.y,i=u.x-l.x,o=l.x*u.y-u.x*l.y;this.x=e*o-i*r,this.y=n*r-t*o,this.w=t*i-n*e}};class B{constructor(){B.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return i.isInfinite(e)||i.isNaN(e)?e:e/B.LOG_10}static min(t,e,r,n){var i=t;return er?r:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],r=arguments[2];return tr?r:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],r=arguments[2];return e>(t=arguments[0])&&(t=e),r>t&&(t=r),t}if(4===arguments.length){let e=arguments[1],r=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),r>t&&(t=r),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return B}get interfaces_(){return[]}}B.constructor_=function(){},B.LOG_10=Math.log(10);class z{constructor(){z.constructor_.apply(this,arguments)}static segmentToSegment(t,e,r,n){if(t.equals(e))return z.pointToSegment(t,r,n);if(r.equals(n))return z.pointToSegment(n,t,e);var i=!1;if(R.intersects(t,e,r,n)){var o=(e.x-t.x)*(n.y-r.y)-(e.y-t.y)*(n.x-r.x);if(0===o)i=!0;else{var a=(t.y-r.y)*(n.x-r.x)-(t.x-r.x)*(n.y-r.y),s=((t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y))/o,l=a/o;(l<0||l>1||s<0||s>1)&&(i=!0)}}else i=!0;return i?B.min(z.pointToSegment(t,r,n),z.pointToSegment(e,r,n),z.pointToSegment(r,t,e),z.pointToSegment(n,t,e)):0}static pointToSegment(t,e,r){if(e.x===r.x&&e.y===r.y)return t.distance(e);var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;if(i<=0)return t.distance(e);if(i>=1)return t.distance(r);var o=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,r){var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(i)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new r("Line array must contain at least one vertex");for(var n=t.distance(e[0]),i=0;i0}getClass(){return K}get interfaces_(){return[H]}}K.constructor_=function(){};class J{constructor(){J.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return J}get interfaces_(){return[H]}}J.constructor_=function(){};class Q{constructor(){Q.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return Q}get interfaces_(){return[H]}}Q.constructor_=function(){},H.Mod2BoundaryNodeRule=Z,H.EndPointBoundaryNodeRule=K,H.MultiValentEndPointBoundaryNodeRule=J,H.MonoValentEndPointBoundaryNodeRule=Q,H.constructor_=function(){},H.MOD2_BOUNDARY_RULE=new Z,H.ENDPOINT_BOUNDARY_RULE=new K,H.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new J,H.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Q,H.OGC_SFS_BOUNDARY_RULE=H.MOD2_BOUNDARY_RULE;class ${constructor(){$.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))}static ptNotInList(t,e){for(var r=0;r=t?e:[]}static indexOf(t,e){for(var r=0;r0)&&(e=t[r]);return e}static extract(t,e,r){e=B.clamp(e,0,t.length);var n=(r=B.clamp(r,-1,t.length))-e+1;r<0&&(n=0),e>=t.length&&(n=0),rn.length)return 1;if(0===r.length)return 0;var i=$.compare(r,n);return $.isEqualReversed(r,n)?0:i}OLDcompare(t,e){var r=t,n=e;if(r.lengthn.length)return 1;if(0===r.length)return 0;for(var i=$.increasingDirection(r),o=$.increasingDirection(n),a=i>0?0:r.length-1,s=o>0?0:r.length-1,l=0;l0))return e.value;e=e.right}}return null},pt.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:st,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var r,n,i=this.root_;do{if(r=i,(n=t.compareTo(i.key))<0)i=i.left;else{if(!(n>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var a={key:t,left:null,right:null,value:e,parent:r,color:st,getValue(){return this.value},getKey(){return this.key}};return n<0?r.left=a:r.right=a,this.fixAfterInsertion(a),this.size_++,null},pt.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;ut(t)==ht(ut(ut(t)))?1==lt(e=ft(ut(ut(t))))?(ct(ut(t),st),ct(e,st),ct(ut(ut(t)),1),t=ut(ut(t))):(t==ft(ut(t))&&(t=ut(t),this.rotateLeft(t)),ct(ut(t),st),ct(ut(ut(t)),1),this.rotateRight(ut(ut(t)))):1==lt(e=ht(ut(ut(t))))?(ct(ut(t),st),ct(e,st),ct(ut(ut(t)),1),t=ut(ut(t))):(t==ht(ut(t))&&(t=ut(t),this.rotateRight(t)),ct(ut(t),st),ct(ut(ut(t)),1),this.rotateLeft(ut(ut(t))))}this.root_.color=st},pt.prototype.values=function(){var t=new C,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=pt.successor(e));)t.add(e.value);return t},pt.prototype.entrySet=function(){var t=new ot,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=pt.successor(e));)t.add(e);return t},pt.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},pt.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},pt.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},pt.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var r=t;null!==e&&r===e.right;)r=e,e=e.parent;return e},pt.prototype.size=function(){return this.size_},pt.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var r=t.compareTo(e.key);if(r<0)e=e.left;else{if(!(r>0))return!0;e=e.right}}return!1};class dt{constructor(){dt.constructor_.apply(this,arguments)}getClass(){return dt}get interfaces_(){return[]}}function gt(){}function yt(){this.array_=[],arguments[0]instanceof w&&this.addAll(arguments[0])}dt.constructor_=function(){},gt.prototype=new it,yt.prototype=new gt,yt.prototype.contains=function(t){for(var e=0,r=this.array_.length;e=0;){var a=i.substring(0,o);n.add(a),o=(i=i.substring(o+r)).indexOf(e)}i.length>0&&n.add(i);for(var s=new Array(n.size()).fill(null),l=0;l0)for(var o=i;o0&&r.append(" ");for(var i=0;i0&&r.append(","),r.append(At.toString(o.getOrdinate(n,i)))}return r.append(")"),r.toString()}}static ensureValidRing(t,e){var r=e.size();return 0===r?e:r<=3?kt.createClosedRing(t,e,4):e.getOrdinate(0,V.X)===e.getOrdinate(r-1,V.X)&&e.getOrdinate(0,V.Y)===e.getOrdinate(r-1,V.Y)?e:kt.createClosedRing(t,e,r+1)}static createClosedRing(t,e,r){var n=t.create(r,e.getDimension()),i=e.size();kt.copy(e,0,n,0,i);for(var o=i;o0){var r=this._points.copy();kt.reverse(r),this._points=r}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?bt.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return W.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return Ct.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return kt.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,r=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return W.TYPENAME_LINEARRING}copy(){return new Vt(this._points.copy(),this._factory)}getClass(){return Vt}get interfaces_(){return[]}}Vt.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof ae){let t=arguments[0],e=arguments[1];Vt.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(b(arguments[0],V)&&arguments[1]instanceof ae){let t=arguments[0],e=arguments[1];jt.constructor_.call(this,t,e),this.validateConstruction()}},Vt.MINIMUM_VALID_SIZE=4,Vt.serialVersionUID=-0x3b229e262367a600;class qt extends Et{constructor(){super(),qt.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof W){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return W.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),r=0;r0){var t=new Nt(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new Kt(t):new Kt(t,e)}}getClass(){return Jt}get interfaces_(){return[q,d]}}Jt.constructor_=function(){},Jt.serialVersionUID=-0x38e49fa6cf6f2e00,Jt.instanceObject=new Jt;var Qt=Object.defineProperty,$t=function(t,e){function r(t){if(!this||this.constructor!==r)return new r(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&function(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}.call(this,t)}return e||Qt(t,"size",{get:ee}),t.constructor=r,r.prototype=t,r}({delete:function(t){return this.has(t)&&(this._keys.splice(mt,1),this._values.splice(mt,1),this._itp.forEach((function(t){mt-1},has:function(t){return function(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(mt=t.length;mt--&&(r=t[mt])!==(n=e)&&(r==r||n==n););else mt=t.indexOf(e);var r,n;return mt>-1}.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[mt]:void 0},set:function(t,e){return this.has(t)?this._values[mt]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return te(this._itp,this._keys)},values:function(){return te(this._itp,this._values)},entries:function(){return te(this._itp,this._keys,this._values)},forEach:function(t,e){for(var r=this.entries();;){var n=r.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function te(t,e,r){var n=[0],i=!1;return t.push(n),{next:function(){var o,a=n[0];return!i&&at.add(e)),t},ne.prototype.size=function(){return this.map_.size()};class ie{constructor(){ie.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof ie))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,r=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new N(r).compareTo(new N(n))}getScale(){return this._scale}isFloating(){return this._modelType===ie.FLOATING||this._modelType===ie.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===ie.FLOATING?t="Floating":this._modelType===ie.FLOATING_SINGLE?t="Floating-Single":this._modelType===ie.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)||this._modelType===ie.FLOATING_SINGLE?t:this._modelType===ie.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof _){let t=arguments[0];if(this._modelType===ie.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===ie.FLOATING?t=16:this._modelType===ie.FLOATING_SINGLE?t=6:this._modelType===ie.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return ie}get interfaces_(){return[d,h]}}class oe{constructor(){oe.constructor_.apply(this,arguments)}readResolve(){return oe.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return oe}get interfaces_(){return[d]}}oe.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,oe.nameToTypeMap.put(t,this)},oe.serialVersionUID=-552860263173159e4,oe.nameToTypeMap=new ne,ie.Type=oe,ie.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=ie.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof oe){let t=arguments[0];this._modelType=t,t===ie.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=ie.FIXED,this.setScale(t)}else if(arguments[0]instanceof ie){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},ie.serialVersionUID=0x6bee6404e9a25c00,ie.FIXED=new oe("FIXED"),ie.FLOATING=new oe("FLOATING"),ie.FLOATING_SINGLE=new oe("FLOATING SINGLE"),ie.maximumPreciseValue=9007199254740992;class ae{constructor(){ae.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return Jt.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new _(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new _(t.getMinX(),t.getMinY()),new _(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new _(t.getMinX(),t.getMinY()),new _(t.getMinX(),t.getMaxY()),new _(t.getMaxX(),t.getMaxY()),new _(t.getMaxX(),t.getMinY()),new _(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(b(arguments[0],V))return new jt(arguments[0],this)}}createMultiLineString(){return 0===arguments.length?new St(null,this):1===arguments.length?new St(arguments[0],this):void 0}buildGeometry(t){for(var e=null,r=!1,n=!1,i=t.iterator();i.hasNext();){var o=i.next(),a=o.getClass();null===e&&(e=a),a!==e&&(r=!0),o instanceof Et&&(n=!0)}if(null===e)return this.createGeometryCollection();if(r||n)return this.createGeometryCollection(ae.toGeometryArray(t));var s=t.iterator().next();if(t.size()>1){if(s instanceof Bt)return this.createMultiPolygon(ae.toPolygonArray(t));if(s instanceof jt)return this.createMultiLineString(ae.toLineStringArray(t));if(s instanceof Dt)return this.createMultiPoint(ae.toPointArray(t));m.shouldNeverReachHere("Unhandled class: "+s.getClass().getName())}return s}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(b(arguments[0],V))return new Dt(arguments[0],this)}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(b(arguments[0],V)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Vt){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length)return new Bt(arguments[0],arguments[1],this)}getSRID(){return this._SRID}createGeometryCollection(){return 0===arguments.length?new Et(null,this):1===arguments.length?new Et(arguments[0],this):void 0}createGeometry(t){return new Yt(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof W&&b(arguments[0],V)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(b(arguments[0],V))return new Vt(arguments[0],this)}}createMultiPolygon(){return 0===arguments.length?new qt(null,this):1===arguments.length?new qt(arguments[0],this):void 0}createMultiPoint(){if(0===arguments.length)return new zt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new zt(arguments[0],this);if(b(arguments[0],V)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return ue.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let r=0,n=t._geometries.length;ri?n:i;else{var a=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);0!==(o=n>i?a:s)||t.equals(e)||(o=Math.max(a,s))}return m.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}static nonRobustComputeEdgeDistance(t,e,r){var n=t.x-e.x,i=t.y-e.y,o=Math.sqrt(n*n+i*i);return m.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new Nt;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,r,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=r,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,r,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map(()=>Array(2)),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2)),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new _,this._intPt[1]=new _,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},fe.DONT_INTERSECT=0,fe.DO_INTERSECT=1,fe.COLLINEAR=2,fe.NO_INTERSECTION=0,fe.POINT_INTERSECTION=1,fe.COLLINEAR_INTERSECTION=2;class pe extends fe{constructor(){super(),pe.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,r,n){var i=t,o=z.pointToSegment(t,r,n),a=z.pointToSegment(e,r,n);return a1e-4&&G.out.println("Distance = "+i.distance(o))}intersectionWithNormalization(t,e,r,n){var i=new _(t),o=new _(e),a=new _(r),s=new _(n),l=new _;this.normalizeToEnvCentre(i,o,a,s,l);var u=this.safeHCoordinateIntersection(i,o,a,s);return u.x+=l.x,u.y+=l.y,u}computeCollinearIntersection(t,e,r,n){var i=R.intersects(t,e,r),o=R.intersects(t,e,n),a=R.intersects(r,n,t),s=R.intersects(r,n,e);return i&&o?(this._intPt[0]=r,this._intPt[1]=n,fe.COLLINEAR_INTERSECTION):a&&s?(this._intPt[0]=t,this._intPt[1]=e,fe.COLLINEAR_INTERSECTION):i&&a?(this._intPt[0]=r,this._intPt[1]=t,!r.equals(t)||o||s?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):i&&s?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||o||a?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||i||s?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||i||a?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):fe.NO_INTERSECTION}normalizeToEnvCentre(t,e,r,n,i){var o=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,u=r.xn.x?r.x:n.x,f=r.y>n.y?r.y:n.y,p=((o>u?o:u)+(sc?a:c)+(l0&&o>0||i<0&&o<0)return fe.NO_INTERSECTION;var a=D.index(r,n,t),s=D.index(r,n,e);return a>0&&s>0||a<0&&s<0?fe.NO_INTERSECTION:0===i&&0===o&&0===a&&0===s?this.computeCollinearIntersection(t,e,r,n):(0===i||0===o||0===a||0===s?(this._isProper=!1,t.equals2D(r)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(r)||e.equals2D(n)?this._intPt[0]=e:0===i?this._intPt[0]=new _(r):0===o?this._intPt[0]=new _(n):0===a?this._intPt[0]=new _(t):0===s&&(this._intPt[0]=new _(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,r,n)),fe.POINT_INTERSECTION)}getClass(){return pe}get interfaces_(){return[]}}pe.constructor_=function(){};class de{constructor(){de.constructor_.apply(this,arguments)}static midPoint(t,e){return new _((t.x+e.x)/2,(t.y+e.y)/2)}minX(){return Math.min(this.p0.x,this.p1.x)}orientationIndex(){if(arguments[0]instanceof de){let r=arguments[0];var t=D.index(this.p0,this.p1,r.p0),e=D.index(this.p0,this.p1,r.p1);return t>=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof _){let t=arguments[0];return D.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof de))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new pe;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof _){let r=arguments[0];if(r.equals(this.p0)||r.equals(this.p1))return new _(r);var t=this.projectionFactor(r),e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof de){let t=arguments[0];var r=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(r>=1&&n>=1)return null;if(r<=0&&n<=0)return null;var i=this.project(t.p0);r<0&&(i=this.p0),r>1&&(i=this.p1);var o=this.project(t.p1);return n<0&&(o=this.p0),n>1&&(o=this.p1),new de(i,o)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return z.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return de.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,n=e*e+r*r;return n<=0?i.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var r=new Array(2).fill(null),n=i.MAX_VALUE,o=null,a=this.closestPoint(t.p0);n=a.distance(t.p0),r[0]=a,r[1]=t.p0;var s=this.closestPoint(t.p1);(o=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||i.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof de){let t=arguments[0];return z.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof _){let t=arguments[0];return z.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),r=java.lang.Double.doubleToLongBits(this.p1.x);return r^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^Math.trunc(r)^Math.trunc(r>>32)}getClass(){return de}get interfaces_(){return[h,d]}}de.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)de.constructor_.call(this,new _,new _);else if(1===arguments.length){let t=arguments[0];de.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];de.constructor_.call(this,new _(t,e),new _(r,n))}},de.serialVersionUID=0x2d2172135f411c00;class ge{constructor(){ge.constructor_.apply(this,arguments)}static toLocationSymbol(t){switch(t){case ge.EXTERIOR:return"e";case ge.BOUNDARY:return"b";case ge.INTERIOR:return"i";case ge.NONE:return"-"}throw new r("Unknown location value: "+t)}getClass(){return ge}get interfaces_(){return[]}}ge.constructor_=function(){},ge.INTERIOR=0,ge.BOUNDARY=1,ge.EXTERIOR=2,ge.NONE=-1;class ye{constructor(){ye.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===bt.SYM_DONTCARE||e===bt.SYM_TRUE&&(t>=0||t===bt.TRUE)||e===bt.SYM_FALSE&&t===bt.FALSE||e===bt.SYM_P&&t===bt.P||e===bt.SYM_L&&t===bt.L||e===bt.SYM_A&&t===bt.A}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new ye(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===bt.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])||ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))&&this._matrix[ge.EXTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.BOUNDARY]===bt.FALSE}isCoveredBy(){return(ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])||ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,r)}isWithin(){return ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===bt.A&&e===bt.A||t===bt.L&&e===bt.L||t===bt.L&&e===bt.A||t===bt.P&&e===bt.A||t===bt.P&&e===bt.L)&&this._matrix[ge.INTERIOR][ge.INTERIOR]===bt.FALSE&&(ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))}isOverlaps(t,e){return t===bt.P&&e===bt.P||t===bt.A&&e===bt.A?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR]):t===bt.L&&e===bt.L&&1===this._matrix[ge.INTERIOR][ge.INTERIOR]&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR])}isEquals(t,e){return t===e&&ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.BOUNDARY]===bt.FALSE}toString(){for(var t=new Nt("123456789"),e=0;e<3;e++)for(var r=0;r<3;r++)t.setCharAt(3*e+r,bt.toDimensionSymbol(this._matrix[e][r]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this._matrix[e][r]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new r("Should be length 9: "+t);for(var e=0;e<3;e++)for(var n=0;n<3;n++)if(!ye.matches(this._matrix[e][n],t.charAt(3*e+n)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this.setAtLeast(e,r,t.get(e,r))}isDisjoint(){return this._matrix[ge.INTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.INTERIOR][ge.BOUNDARY]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.BOUNDARY]===bt.FALSE}isCrosses(t,e){return t===bt.P&&e===bt.L||t===bt.P&&e===bt.A||t===bt.L&&e===bt.A?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR]):t===bt.L&&e===bt.P||t===bt.A&&e===bt.P||t===bt.A&&e===bt.L?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR]):t===bt.L&&e===bt.L&&0===this._matrix[ge.INTERIOR][ge.INTERIOR]}getClass(){return ye}get interfaces_(){return[f]}}ye.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map(()=>Array(3)),this.setAll(bt.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];ye.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof ye){let t=arguments[0];ye.constructor_.call(this),this._matrix[ge.INTERIOR][ge.INTERIOR]=t._matrix[ge.INTERIOR][ge.INTERIOR],this._matrix[ge.INTERIOR][ge.BOUNDARY]=t._matrix[ge.INTERIOR][ge.BOUNDARY],this._matrix[ge.INTERIOR][ge.EXTERIOR]=t._matrix[ge.INTERIOR][ge.EXTERIOR],this._matrix[ge.BOUNDARY][ge.INTERIOR]=t._matrix[ge.BOUNDARY][ge.INTERIOR],this._matrix[ge.BOUNDARY][ge.BOUNDARY]=t._matrix[ge.BOUNDARY][ge.BOUNDARY],this._matrix[ge.BOUNDARY][ge.EXTERIOR]=t._matrix[ge.BOUNDARY][ge.EXTERIOR],this._matrix[ge.EXTERIOR][ge.INTERIOR]=t._matrix[ge.EXTERIOR][ge.INTERIOR],this._matrix[ge.EXTERIOR][ge.BOUNDARY]=t._matrix[ge.EXTERIOR][ge.BOUNDARY],this._matrix[ge.EXTERIOR][ge.EXTERIOR]=t._matrix[ge.EXTERIOR][ge.EXTERIOR]}};class me{constructor(){me.constructor_.apply(this,arguments)}static toDegrees(t){return 180*t/Math.PI}static normalize(t){for(;t>Math.PI;)t-=me.PI_TIMES_2;for(;t<=-Math.PI;)t+=me.PI_TIMES_2;return t}static angle(){if(1===arguments.length){let t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){let r=arguments[0],n=arguments[1];var t=n.x-r.x,e=n.y-r.y;return Math.atan2(e,t)}}static isAcute(t,e,r){var n=t.x-e.x,i=t.y-e.y;return n*(r.x-e.x)+i*(r.y-e.y)>0}static isObtuse(t,e,r){var n=t.x-e.x,i=t.y-e.y;return n*(r.x-e.x)+i*(r.y-e.y)<0}static interiorAngle(t,e,r){var n=me.angle(e,t),i=me.angle(e,r);return Math.abs(i-n)}static normalizePositive(t){if(t<0){for(;t<0;)t+=me.PI_TIMES_2;t>=me.PI_TIMES_2&&(t=0)}else{for(;t>=me.PI_TIMES_2;)t-=me.PI_TIMES_2;t<0&&(t=0)}return t}static angleBetween(t,e,r){var n=me.angle(e,t),i=me.angle(e,r);return me.diff(n,i)}static diff(t,e){var r=null;return(r=tMath.PI&&(r=2*Math.PI-r),r}static toRadians(t){return t*Math.PI/180}static getTurn(t,e){var r=Math.sin(e-t);return r>0?me.COUNTERCLOCKWISE:r<0?me.CLOCKWISE:me.NONE}static angleBetweenOriented(t,e,r){var n=me.angle(e,t),i=me.angle(e,r)-n;return i<=-Math.PI?i+me.PI_TIMES_2:i>Math.PI?i-me.PI_TIMES_2:i}getClass(){return me}get interfaces_(){return[]}}me.constructor_=function(){},me.PI_TIMES_2=2*Math.PI,me.PI_OVER_2=Math.PI/2,me.PI_OVER_4=Math.PI/4,me.COUNTERCLOCKWISE=D.COUNTERCLOCKWISE,me.CLOCKWISE=D.CLOCKWISE,me.NONE=D.COLLINEAR;class _e{constructor(){_e.constructor_.apply(this,arguments)}static area(t,e,r){return Math.abs(((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2)}static signedArea(t,e,r){return((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2}static det(t,e,r,n){return t*n-e*r}static interpolateZ(t,e,r,n){var i=e.x,o=e.y,a=r.x-i,s=n.x-i,l=r.y-o,u=n.y-o,c=a*u-s*l,h=t.x-i,f=t.y-o,p=(u*h-s*f)/c,d=(-l*h+a*f)/c;return e.z+p*(r.z-e.z)+d*(n.z-e.z)}static longestSideLength(t,e,r){var n=t.distance(e),i=e.distance(r),o=r.distance(t),a=n;return i>a&&(a=i),o>a&&(a=o),a}static isAcute(t,e,r){return!!me.isAcute(t,e,r)&&!!me.isAcute(e,r,t)&&!!me.isAcute(r,t,e)}static circumcentre(t,e,r){var n=r.x,i=r.y,o=t.x-n,a=t.y-i,s=e.x-n,l=e.y-i,u=2*_e.det(o,a,s,l),c=_e.det(a,o*o+a*a,l,s*s+l*l),h=_e.det(o,o*o+a*a,s,s*s+l*l);return new _(n-c/u,i+h/u)}static perpendicularBisector(t,e){var r=e.x-t.x,n=e.y-t.y,i=new U(t.x+r/2,t.y+n/2,1),o=new U(t.x-n+r/2,t.y+r+n/2,1);return new U(i,o)}static angleBisector(t,e,r){var n=e.distance(t),i=n/(n+e.distance(r)),o=r.x-t.x,a=r.y-t.y;return new _(t.x+i*o,t.y+i*a)}static area3D(t,e,r){var n=e.x-t.x,i=e.y-t.y,o=e.z-t.z,a=r.x-t.x,s=r.y-t.y,l=r.z-t.z,u=i*l-o*s,c=o*a-n*l,h=n*s-i*a,f=u*u+c*c+h*h;return Math.sqrt(f)/2}static centroid(t,e,r){var n=(t.x+e.x+r.x)/3,i=(t.y+e.y+r.y)/3;return new _(n,i)}static inCentre(t,e,r){var n=e.distance(r),i=t.distance(r),o=t.distance(e),a=n+i+o,s=(n*t.x+i*e.x+o*r.x)/a,l=(n*t.y+i*e.y+o*r.y)/a;return new _(s,l)}area(){return _e.area(this.p0,this.p1,this.p2)}signedArea(){return _e.signedArea(this.p0,this.p1,this.p2)}interpolateZ(t){if(null===t)throw new r("Supplied point is null.");return _e.interpolateZ(t,this.p0,this.p1,this.p2)}longestSideLength(){return _e.longestSideLength(this.p0,this.p1,this.p2)}isAcute(){return _e.isAcute(this.p0,this.p1,this.p2)}circumcentre(){return _e.circumcentre(this.p0,this.p1,this.p2)}area3D(){return _e.area3D(this.p0,this.p1,this.p2)}centroid(){return _e.centroid(this.p0,this.p1,this.p2)}inCentre(){return _e.inCentre(this.p0,this.p1,this.p2)}getClass(){return _e}get interfaces_(){return[]}}_e.constructor_=function(){this.p0=null,this.p1=null,this.p2=null;let t=arguments[0],e=arguments[1],r=arguments[2];this.p0=t,this.p1=e,this.p2=r};var ve=Object.freeze({Coordinate:_,CoordinateList:P,Envelope:R,LineSegment:de,GeometryFactory:ae,Geometry:W,Point:Dt,LineString:jt,LinearRing:Vt,Polygon:Bt,GeometryCollection:Et,MultiPoint:zt,MultiLineString:St,MultiPolygon:qt,Dimension:bt,IntersectionMatrix:ye,PrecisionModel:ie,Location:ge,Triangle:_e});class be{constructor(){be.constructor_.apply(this,arguments)}getCoordinates(){return this._pt}getCoordinate(t){return this._pt[t]}setMinimum(){if(1===arguments.length){let t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){let e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var t=e.distance(r);tthis._distance&&this.initialize(e,r,t)}}getClass(){return be}get interfaces_(){return[]}}be.constructor_=function(){this._pt=[new _,new _],this._distance=i.NaN,this._isNull=!0};class xe{constructor(){xe.constructor_.apply(this,arguments)}static computeDistance(){if(arguments[2]instanceof be&&arguments[0]instanceof jt&&arguments[1]instanceof _){let i=arguments[0],o=arguments[1],a=arguments[2];for(var t=new de,e=i.getCoordinates(),r=0;r1||t<=0)throw new r("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t}compute(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)}distance(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()}computeOrientedDistance(t,e,r){var n=new Ee(e);if(t.apply(n),r.setMaximum(n.getMaxPointDistance()),this._densifyFrac>0){var i=new Se(e,this._densifyFrac);t.apply(i),r.setMaximum(i.getMaxPointDistance())}}orientedDistance(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()}getClass(){return we}get interfaces_(){return[]}}class Ee{constructor(){Ee.constructor_.apply(this,arguments)}filter(t){this._minPtDist.initialize(),xe.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)}getMaxPointDistance(){return this._maxPtDist}getClass(){return Ee}get interfaces_(){return[X]}}Ee.constructor_=function(){this._maxPtDist=new be,this._minPtDist=new be,this._euclideanDist=new xe,this._geom=null;let t=arguments[0];this._geom=t};class Se{constructor(){Se.constructor_.apply(this,arguments)}filter(t,e){if(0===e)return null;for(var r=t.getCoordinate(e-1),n=t.getCoordinate(e),i=(n.x-r.x)/this._numSubSegs,o=(n.y-r.y)/this._numSubSegs,a=0;ae||this._maxo?1:0}getClass(){return Pe}get interfaces_(){return[p]}}Pe.constructor_=function(){},Te.NodeComparator=Pe,Te.constructor_=function(){this._min=i.POSITIVE_INFINITY,this._max=i.NEGATIVE_INFINITY};class Re extends Te{constructor(){super(),Re.constructor_.apply(this,arguments)}query(t,e,r){if(!this.intersects(t,e))return null;r.visitItem(this._item)}getClass(){return Re}get interfaces_(){return[]}}Re.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],r=arguments[2];this._min=t,this._max=e,this._item=r};const Le={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return Le.sort(t),t.get(0)},sort:function(t,e){const r=t.toArray();e?vt.sort(r,e):vt.sort(r);const n=t.iterator();for(let t=0,e=r.length;tn&&(r=e.x,n=t.x),this._p.x>=r&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=D.index(t,e,this._p);if(i===D.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new O;var t=this._parent.getGeometryN(this._index++);return t instanceof Et?(this._subcollectionIterator=new Be(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return Be}get interfaces_(){return[x]}}Be.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class ze{constructor(){ze.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return ge.EXTERIOR;var r=e.getExteriorRing(),n=ze.locatePointInRing(t,r);if(n!==ge.INTERIOR)return n;for(var i=0;i0&&this.addPoint(t[0])}addHole(t){for(var e=D.isCCW(t),r=0;r0)t.x=this._cg3.x/3/this._areasum2,t.y=this._cg3.y/3/this._areasum2;else if(this._totalLength>0)t.x=this._lineCentSum.x/this._totalLength,t.y=this._lineCentSum.y/this._totalLength;else{if(!(this._ptCount>0))return null;t.x=this._ptCentSum.x/this._ptCount,t.y=this._ptCentSum.y/this._ptCount}return t}addShell(t){t.length>0&&this.setAreaBasePoint(t[0]);for(var e=!D.isCCW(t),r=0;r=this.size())throw new IndexOutOfBoundsException;return this.array_[t]},Je.prototype.push=function(t){return this.array_.push(t),t},Je.prototype.pop=function(t){if(0===this.array_.length)throw new Ke;return this.array_.pop()},Je.prototype.peek=function(){if(0===this.array_.length)throw new Ke;return this.array_[this.array_.length-1]},Je.prototype.empty=function(){return 0===this.array_.length},Je.prototype.isEmpty=function(){return this.empty()},Je.prototype.search=function(t){return this.array_.indexOf(t)},Je.prototype.size=function(){return this.array_.length},Je.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e50&&(t=this.reduce(this._inputPts));var e=this.preSort(t),r=this.grahamScan(e),n=this.toCoordinateArray(r);return this.lineOrPolygon(n)}padArray3(t){for(var e=new Array(3).fill(null),r=0;re[2].y&&(e[2]=t[n]),t[n].x+t[n].y>e[3].x+e[3].y&&(e[3]=t[n]),t[n].x>e[4].x&&(e[4]=t[n]),t[n].x-t[n].y>e[5].x-e[5].y&&(e[5]=t[n]),t[n].y0;)e=r.pop();r.push(e),r.push(t[n])}return r.push(t[0]),r}getClass(){return $e}get interfaces_(){return[]}}class tr{constructor(){tr.constructor_.apply(this,arguments)}static polarCompare(t,e,r){var n=e.x-t.x,i=e.y-t.y,o=r.x-t.x,a=r.y-t.y,s=D.index(t,e,r);if(s===D.COUNTERCLOCKWISE)return 1;if(s===D.CLOCKWISE)return-1;var l=n*n+i*i,u=o*o+a*a;return lu?1:0}compare(t,e){var r=t,n=e;return tr.polarCompare(this._origin,r,n)}getClass(){return tr}get interfaces_(){return[p]}}tr.constructor_=function(){this._origin=null;let t=arguments[0];this._origin=t},$e.RadialComparator=tr,$e.constructor_=function(){if(this._geomFactory=null,this._inputPts=null,1===arguments.length){let t=arguments[0];$e.constructor_.call(this,$e.extractCoordinates(t),t.getFactory())}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._inputPts=Qe.filterCoordinates(t),this._geomFactory=e}};class er{constructor(){er.constructor_.apply(this,arguments)}static centre(t){return new _(er.avg(t.getMinX(),t.getMaxX()),er.avg(t.getMinY(),t.getMaxY()))}static avg(t,e){return(t+e)/2}addPolygon(t){if(t.isEmpty())return null;var e=null,r=null,n=this.horizontalBisector(t);if(0===n.getLength())r=0,e=n.getCoordinate();else{var i=n.intersection(t),o=this.widestGeometry(i);r=o.getEnvelopeInternal().getWidth(),e=er.centre(o.getEnvelopeInternal())}(null===this._interiorPoint||r>this._maxWidth)&&(this._interiorPoint=e,this._maxWidth=r)}getInteriorPoint(){return this._interiorPoint}widestGeometry(){if(arguments[0]instanceof Et){let r=arguments[0];if(r.isEmpty())return r;for(var t=r.getGeometryN(0),e=1;et.getEnvelopeInternal().getWidth()&&(t=r.getGeometryN(e));return t}if(arguments[0]instanceof W){let t=arguments[0];return t instanceof Et?this.widestGeometry(t):t}}horizontalBisector(t){var e=t.getEnvelopeInternal(),r=rr.getBisectorY(t);return this._factory.createLineString([new _(e.getMinX(),r),new _(e.getMaxX(),r)])}add(t){if(t instanceof Bt)this.addPolygon(t);else if(t instanceof Et)for(var e=t,r=0;rthis._loY&&(this._loY=t):t>this._centreY&&t=t.length&&(e=0),e}static computeC(t,e,r){return t*r.y-e*r.x}static getMinimumDiameter(t){return new ar(t).getDiameter()}static getMinimumRectangle(t){return new ar(t).getMinimumRectangle()}static computeSegmentForLine(t,e,r){var n=null,i=null;return Math.abs(e)>Math.abs(t)?(n=new _(0,r/e),i=new _(1,r/e-t/e)):(n=new _(r/t,0),i=new _(r/t-e/t,1)),new de(n,i)}getWidthCoordinate(){return this.computeMinimumDiameter(),this._minWidthPt}getSupportingSegment(){return this.computeMinimumDiameter(),this._inputGeom.getFactory().createLineString([this._minBaseSeg.p0,this._minBaseSeg.p1])}getDiameter(){if(this.computeMinimumDiameter(),null===this._minWidthPt)return this._inputGeom.getFactory().createLineString();var t=this._minBaseSeg.project(this._minWidthPt);return this._inputGeom.getFactory().createLineString([t,this._minWidthPt])}computeWidthConvex(t){this._convexHullPts=t instanceof Bt?t.getExteriorRing().getCoordinates():t.getCoordinates(),0===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=null,this._minBaseSeg=null):1===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[0]):2===this._convexHullPts.length||3===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[1]):this.computeConvexRingMinDiameter(this._convexHullPts)}computeConvexRingMinDiameter(t){this._minWidth=i.MAX_VALUE;for(var e=1,r=new de,n=0;n=n;)n=i,o=a,a=ar.nextIndex(t,o),i=e.distancePerpendicular(t[a]);return nn&&(n=l),la&&(a=u),u0&&n<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)}getClass(){return lr}get interfaces_(){return[]}}lr.constructor_=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};class ur{constructor(){ur.constructor_.apply(this,arguments)}static densifyPoints(t,e,r){for(var n=new de,i=new P,o=0;o1)for(var l=a/s,u=1;ue?t:e)?3:r}static isInHalfPlane(t,e){return e===fr.SE?t===fr.SE||t===fr.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new r("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?fr.NE:fr.SE:e>=0?fr.NW:fr.SW}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new r("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?fr.NE:fr.SE:e.y>=t.y?fr.NW:fr.SW}}getClass(){return fr}get interfaces_(){return[]}}fr.constructor_=function(){},fr.NE=0,fr.NW=1,fr.SW=2,fr.SE=3;class pr{constructor(){pr.constructor_.apply(this,arguments)}static init(t,e){if(null!==t._sym||null!==e._sym||null!==t._next||null!==e._next)throw new IllegalStateException("Edges are already initialized");return t.init(e),t}static create(t,e){var r=new pr(t),n=new pr(e);return r.init(n),r}find(t){var e=this;do{if(null===e)return null;if(e.dest().equals2D(t))return e;e=e.oNext()}while(e!==this);return null}dest(){return this._sym._orig}oNext(){return this._sym._next}insert(t){if(this.oNext()===this)return this.insertAfter(t),null;var e=this.compareTo(t),r=this;do{var n=r.oNext();if(n.compareTo(t)!==e||n===this)return r.insertAfter(t),null;r=n}while(r!==this);m.shouldNeverReachHere()}insertAfter(t){m.equals(this._orig,t.orig());var e=this.oNext();this._sym.setNext(t),t.sym().setNext(e)}degree(){var t=0,e=this;do{t++,e=e.oNext()}while(e!==this);return t}equals(){if(2===arguments.length&&arguments[1]instanceof _&&arguments[0]instanceof _){let t=arguments[0],e=arguments[1];return this._orig.equals2D(t)&&this._sym._orig.equals(e)}}deltaY(){return this._sym._orig.y-this._orig.y}sym(){return this._sym}prev(){return this._sym.next()._sym}compareAngularDirection(t){var e=this.deltaX(),r=this.deltaY(),n=t.deltaX(),i=t.deltaY();if(e===n&&r===i)return 0;var o=fr.quadrant(e,r),a=fr.quadrant(n,i);return o>a?1:o0||this._isIn?ge.INTERIOR:ge.EXTERIOR)}getClass(){return br}get interfaces_(){return[]}}br.constructor_=function(){if(this._boundaryRule=H.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new r("Rule must be non-null");this._boundaryRule=t}};class xr{constructor(){xr.constructor_.apply(this,arguments)}static opposite(t){return t===xr.LEFT?xr.RIGHT:t===xr.RIGHT?xr.LEFT:t}getClass(){return xr}get interfaces_(){return[]}}xr.constructor_=function(){},xr.ON=0,xr.LEFT=1,xr.RIGHT=2;class wr{constructor(){wr.constructor_.apply(this,arguments)}computeIntersections(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)}getClass(){return wr}get interfaces_(){return[]}}wr.constructor_=function(){this.mce=null,this.chainIndex=null;let t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};class Er{constructor(){Er.constructor_.apply(this,arguments)}isDelete(){return this._eventType===Er.DELETE}setDeleteEventIndex(t){this._deleteEventIndex=t}getObject(){return this._obj}compareTo(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===Er.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return Er}get interfaces_(){return[h]}}Er.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=Er.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._eventType=Er.INSERT,this._label=t,this._xValue=e,this._obj=r}},Er.INSERT=1,Er.DELETE=2;class Sr{constructor(){Sr.constructor_.apply(this,arguments)}getClass(){return Sr}get interfaces_(){return[]}}Sr.constructor_=function(){};class Or{constructor(){Or.constructor_.apply(this,arguments)}static isAdjacentSegments(t,e){return 1===Math.abs(t-e)}isTrivialIntersection(t,e,r,n){if(t===r&&1===this._li.getIntersectionNum()){if(Or.isAdjacentSegments(e,n))return!0;if(t.isClosed()){var i=t.getNumPoints()-1;if(0===e&&n===i||0===n&&e===i)return!0}}return!1}getProperIntersectionPoint(){return this._properIntersectionPoint}setIsDoneIfProperInt(t){this._isDoneWhenProperInt=t}hasProperInteriorIntersection(){return this._hasProperInterior}isBoundaryPointInternal(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next().getCoordinate();if(t.isIntersection(n))return!0}return!1}hasProperIntersection(){return this._hasProper}hasIntersection(){return this._hasIntersection}isDone(){return this._isDone}isBoundaryPoint(t,e){return!(null===e||!this.isBoundaryPointInternal(t,e[0])&&!this.isBoundaryPointInternal(t,e[1]))}setBoundaryNodes(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e}addIntersections(t,e,r,n){if(t===r&&e===n)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[n],s=r.getCoordinates()[n+1];this._li.computeIntersection(i,o,a,s),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,r,n)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),r.addIntersections(this._li,n,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))}getClass(){return Or}get interfaces_(){return[]}}Or.constructor_=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=r};class Ir extends Sr{constructor(){super(),Ir.constructor_.apply(this,arguments)}prepareEvents(){Le.sort(this.events);for(var t=0;tthis.location.length){var e=new Array(3).fill(null);e[xr.ON]=this.location[xr.ON],e[xr.LEFT]=ge.NONE,e[xr.RIGHT]=ge.NONE,this.location=e}for(var r=0;r1&&t.append(ge.toLocationSymbol(this.location[xr.LEFT])),t.append(ge.toLocationSymbol(this.location[xr.ON])),this.location.length>1&&t.append(ge.toLocationSymbol(this.location[xr.RIGHT])),t.toString()}setLocations(t,e,r){this.location[xr.ON]=t,this.location[xr.LEFT]=e,this.location[xr.RIGHT]=r}get(t){return t1}isAnyNull(){for(var t=0;t0||!e.coord.equals2D(n);i||r--;var o=new Array(r).fill(null),a=0;o[a++]=new _(t.coord);for(var s=t.segmentIndex+1;s<=e.segmentIndex;s++)o[a++]=this.edge.pts[s];return i&&(o[a]=e.coord),new kr(o,new Tr(this.edge._label))}add(t,e,r){var n=new Pr(t,e,r),i=this._nodeMap.get(n);return null!==i?i:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1}getClass(){return Rr}get interfaces_(){return[]}}Rr.constructor_=function(){this._nodeMap=new pt,this.edge=null;let t=arguments[0];this.edge=t};class Lr{constructor(){Lr.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),r=0;rr?e:r}getMinX(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][r]=n}}}getDelta(t){return this._depth[t][xr.RIGHT]-this._depth[t][xr.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?ge.EXTERIOR:ge.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var r=n.getLocation(t,e);r!==ge.EXTERIOR&&r!==ge.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=Ar.depthAtLocation(r):this._depth[t][e]+=Ar.depthAtLocation(r))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===ge.INTERIOR&&this._depth[t][e]++}}getClass(){return Ar}get interfaces_(){return[]}}Ar.constructor_=function(){this._depth=Array(2).fill().map(()=>Array(3));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=Ar.NULL_VALUE},Ar.NULL_VALUE=-1;class Nr{constructor(){Nr.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){m.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return Nr}get interfaces_(){return[]}}Nr.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class kr extends Nr{constructor(){super(),kr.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof ye&&arguments[0]instanceof Tr))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,xr.ON),t.getLocation(1,xr.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,xr.LEFT),t.getLocation(1,xr.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,xr.RIGHT),t.getLocation(1,xr.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new kr(t,Tr.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof kr))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var r=!0,n=!0,i=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){kr.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new Mr(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new R;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;et._quadrant?1:this._quadrant=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=i.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,r){if(this.isBoundaryNode(t,e))return null;r===ge.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,r)}addPolygonRing(t,e,r){if(t.isEmpty())return null;var n=$.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var i=e,o=r;D.isCCW(n)&&(i=r,o=e);var a=new kr(n,new Tr(this._argIndex,ge.BOUNDARY,i,o));this._lineEdgeMap.put(t,a),this.insertEdge(a),this.insertPoint(this._argIndex,n[0],ge.BOUNDARY)}insertPoint(t,e,r){var n=this._nodes.addNode(e),i=n.getLabel();null===i?n._label=new Tr(t,r):i.setLocation(t,r)}createEdgeSetIntersector(){return new Ir}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof W))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof qt&&(this._useBoundaryDeterminationRule=!1),t instanceof Bt)this.addPolygon(t);else if(t instanceof jt)this.addLineString(t);else if(t instanceof Dt)this.addPoint(t);else if(t instanceof zt)this.addCollection(t);else if(t instanceof St)this.addCollection(t);else if(t instanceof qt)this.addCollection(t);else{if(!(t instanceof Et))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new Fe(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof jt){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return Vr}get interfaces_(){return[]}}Vr.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new ne,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new br,2===arguments.length){let t=arguments[0],e=arguments[1];Vr.constructor_.call(this,t,e,H.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=r,null!==e&&this.add(e)}};var qr=Object.freeze({GeometryGraph:Vr});class Yr{constructor(){Yr.constructor_.apply(this,arguments)}visit(t){}getClass(){return Yr}get interfaces_(){return[]}}Yr.constructor_=function(){};class Wr{constructor(){Wr.constructor_.apply(this,arguments)}isRepeated(){return this._count>1}getRight(){return this._right}getCoordinate(){return this._p}setLeft(t){this._left=t}getX(){return this._p.x}getData(){return this._data}getCount(){return this._count}getLeft(){return this._left}getY(){return this._p.y}increment(){this._count=this._count+1}setRight(t){this._right=t}getClass(){return Wr}get interfaces_(){return[]}}Wr.constructor_=function(){if(this._p=null,this._data=null,this._left=null,this._right=null,this._count=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._p=new _(t),this._left=null,this._right=null,this._count=1,this._data=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._p=new _(t,e),this._left=null,this._right=null,this._count=1,this._data=r}};class Xr{constructor(){Xr.constructor_.apply(this,arguments)}static toCoordinates(){if(1===arguments.length){let t=arguments[0];return Xr.toCoordinates(t,!1)}if(2===arguments.length){let o=arguments[0],a=arguments[1];for(var t=new P,e=o.iterator();e.hasNext();)for(var r=e.next(),n=a?r.getCount():1,i=0;i0){var t=this.findBestMatchNode(e);if(null!==t)return t.increment(),t}return this.insertExact(e,r)}}query(){if(1===arguments.length){let e=arguments[0];var t=new C;return this.query(e,t),t}if(2===arguments.length)if(arguments[0]instanceof R&&b(arguments[1],S)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,new class{get interfaces_(){return[Yr]}visit(t){e.add(t)}})}else if(arguments[0]instanceof R&&b(arguments[1],Yr)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,e)}}queryNode(t,e,r,n){if(null===t)return null;var i=null,o=null,a=null;r?(i=e.getMinX(),o=e.getMaxX(),a=t.getX()):(i=e.getMinY(),o=e.getMaxY(),a=t.getY());var s=a<=o;i=e&&(t.getMinY()>=r&&(n=3),t.getMaxY()<=r&&(n=1)),t.getMaxX()<=e&&(t.getMinY()>=r&&(n=2),t.getMaxY()<=r&&(n=0)),n}hasChildren(){for(var t=0;t<4;t++)if(null!==this._subnode[t])return!0;return!1}isPrunable(){return!(this.hasChildren()||this.hasItems())}addAllItems(t){t.addAll(this._items);for(var e=0;e<4;e++)null!==this._subnode[e]&&this._subnode[e].addAllItems(t);return t}getNodeCount(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+1}size(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+this._items.size()}addAllItemsFromOverlapping(t,e){if(!this.isSearchMatch(t))return null;e.addAll(this._items);for(var r=0;r<4;r++)null!==this._subnode[r]&&this._subnode[r].addAllItemsFromOverlapping(t,e)}visitItems(t,e){for(var r=this._items.iterator();r.hasNext();)e.visitItem(r.next())}hasItems(){return!this._items.isEmpty()}remove(t,e){if(!this.isSearchMatch(t))return!1;for(var r=!1,n=0;n<4;n++)if(null!==this._subnode[n]&&(r=this._subnode[n].remove(t,e))){this._subnode[n].isPrunable()&&(this._subnode[n]=null);break}return r||this._items.remove(e)}visit(t,e){if(!this.isSearchMatch(t))return null;this.visitItems(t,e);for(var r=0;r<4;r++)null!==this._subnode[r]&&this._subnode[r].visit(t,e)}getItems(){return this._items}depth(){for(var t=0,e=0;e<4;e++)if(null!==this._subnode[e]){var r=this._subnode[e].depth();r>t&&(t=r)}return t+1}isEmpty(){var t=!0;if(this._items.isEmpty()){for(var e=0;e<4;e++)if(null!==this._subnode[e]&&!this._subnode[e].isEmpty()){t=!1;break}}else t=!1;return t}add(t){this._items.add(t)}getClass(){return Kr}get interfaces_(){return[d]}}function Jr(){}Kr.constructor_=function(){this._items=new C,this._subnode=new Array(4).fill(null)},Jr.exponent=function(t){return function(t,e){var r,n,i,o,a={32:8,64:11}[t];if(o||(r=e<0||1/e<0,isFinite(e)||(o={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}}[t],r&&(o.d+=1<=2;)n++,i/=2;for(;i<1&&n>0;)n--,i*=2;n<=0&&(i/=2),32===t&&n>254&&(o={d:r?255:127,c:128,b:0,a:0},n=Math.pow(2,a)-1,i=0)}return n}(64,t)-1023},Jr.powerOf2=function(t){return Math.pow(2,t)};class Qr{constructor(){Qr.constructor_.apply(this,arguments)}static computeQuadLevel(t){var e=t.getWidth(),r=t.getHeight(),n=e>r?e:r;return Jr.exponent(n)+1}getLevel(){return this._level}computeKey(){if(1===arguments.length){let t=arguments[0];for(this._level=Qr.computeQuadLevel(t),this._env=new R,this.computeKey(this._level,t);!this._env.contains(t);)this._level+=1,this.computeKey(this._level,t)}else if(2===arguments.length){let e=arguments[0],r=arguments[1];var t=Jr.powerOf2(e);this._pt.x=Math.floor(r.getMinX()/t)*t,this._pt.y=Math.floor(r.getMinY()/t)*t,this._env.init(this._pt.x,this._pt.x+t,this._pt.y,this._pt.y+t)}}getEnvelope(){return this._env}getCentre(){return new _((this._env.getMinX()+this._env.getMaxX())/2,(this._env.getMinY()+this._env.getMaxY())/2)}getPoint(){return this._pt}getClass(){return Qr}get interfaces_(){return[]}}Qr.constructor_=function(){this._pt=new _,this._level=0,this._env=null;let t=arguments[0];this.computeKey(t)};class $r extends Kr{constructor(){super(),$r.constructor_.apply(this,arguments)}static createNode(t){var e=new Qr(t);return new $r(e.getEnvelope(),e.getLevel())}static createExpanded(t,e){var r=new R(e);null!==t&&r.expandToInclude(t._env);var n=$r.createNode(r);return null!==t&&n.insertNode(t),n}find(t){var e=Kr.getSubnodeIndex(t,this._centrex,this._centrey);return-1===e?this:null!==this._subnode[e]?this._subnode[e].find(t):this}isSearchMatch(t){return null!==t&&this._env.intersects(t)}getSubnode(t){return null===this._subnode[t]&&(this._subnode[t]=this.createSubnode(t)),this._subnode[t]}getEnvelope(){return this._env}getNode(t){var e=Kr.getSubnodeIndex(t,this._centrex,this._centrey);return-1!==e?this.getSubnode(e).getNode(t):this}createSubnode(t){var e=0,r=0,n=0,i=0;switch(t){case 0:e=this._env.getMinX(),r=this._centrex,n=this._env.getMinY(),i=this._centrey;break;case 1:e=this._centrex,r=this._env.getMaxX(),n=this._env.getMinY(),i=this._centrey;break;case 2:e=this._env.getMinX(),r=this._centrex,n=this._centrey,i=this._env.getMaxY();break;case 3:e=this._centrex,r=this._env.getMaxX(),n=this._centrey,i=this._env.getMaxY()}var o=new R(e,r,n,i);return new $r(o,this._level-1)}insertNode(t){m.isTrue(null===this._env||this._env.contains(t._env));var e=Kr.getSubnodeIndex(t._env,this._centrex,this._centrey);if(t._level===this._level-1)this._subnode[e]=t;else{var r=this.createSubnode(e);r.insertNode(t),this._subnode[e]=r}}getClass(){return $r}get interfaces_(){return[]}}$r.constructor_=function(){this._env=null,this._centrex=null,this._centrey=null,this._level=null;let t=arguments[0],e=arguments[1];this._env=t,this._level=e,this._centrex=(t.getMinX()+t.getMaxX())/2,this._centrey=(t.getMinY()+t.getMaxY())/2};class tn{constructor(){tn.constructor_.apply(this,arguments)}static isZeroWidth(t,e){var r=e-t;if(0===r)return!0;var n=r/Math.max(Math.abs(t),Math.abs(e));return Jr.exponent(n)<=tn.MIN_BINARY_EXPONENT}getClass(){return tn}get interfaces_(){return[]}}tn.constructor_=function(){},tn.MIN_BINARY_EXPONENT=-50;class en extends Kr{constructor(){super(),en.constructor_.apply(this,arguments)}insert(t,e){var r=Kr.getSubnodeIndex(t,en.origin.x,en.origin.y);if(-1===r)return this.add(e),null;var n=this._subnode[r];if(null===n||!n.getEnvelope().contains(t)){var i=$r.createExpanded(n,t);this._subnode[r]=i}this.insertContained(this._subnode[r],t,e)}isSearchMatch(t){return!0}insertContained(t,e,r){m.isTrue(t.getEnvelope().contains(e));var n=tn.isZeroWidth(e.getMinX(),e.getMaxX()),i=tn.isZeroWidth(e.getMinY(),e.getMaxY());(n||i?t.find(e):t.getNode(e)).add(r)}getClass(){return en}get interfaces_(){return[]}}en.constructor_=function(){},en.origin=new _(0,0);class rn{constructor(){rn.constructor_.apply(this,arguments)}insert(t,e){}remove(t,e){}query(){}getClass(){return rn}get interfaces_(){return[]}}rn.constructor_=function(){};class nn{constructor(){nn.constructor_.apply(this,arguments)}static ensureExtent(t,e){var r=t.getMinX(),n=t.getMaxX(),i=t.getMinY(),o=t.getMaxY();return r!==n&&i!==o?t:(r===n&&(n=(r-=e/2)+e/2),i===o&&(o=(i-=e/2)+e/2),new R(r,n,i,o))}size(){return null!==this._root?this._root.size():0}insert(t,e){this.collectStats(t);var r=nn.ensureExtent(t,this._minExtent);this._root.insert(r,e)}query(){if(1===arguments.length){let e=arguments[0];var t=new ke;return this.query(e,t),t.getItems()}if(2===arguments.length){let t=arguments[0],e=arguments[1];this._root.visit(t,e)}}queryAll(){var t=new C;return this._root.addAllItems(t),t}remove(t,e){var r=nn.ensureExtent(t,this._minExtent);return this._root.remove(r,e)}collectStats(t){var e=t.getWidth();e0&&(this._minExtent=e);var r=t.getHeight();r0&&(this._minExtent=r)}depth(){return null!==this._root?this._root.depth():0}isEmpty(){return null===this._root||this._root.isEmpty()}getClass(){return nn}get interfaces_(){return[rn,d]}}nn.constructor_=function(){this._root=null,this._minExtent=1,this._root=new en},nn.serialVersionUID=-0x678b60c967a25400;var on=Object.freeze({Quadtree:nn});class an{constructor(){an.constructor_.apply(this,arguments)}getBounds(){}getClass(){return an}get interfaces_(){return[]}}an.constructor_=function(){};class sn{constructor(){sn.constructor_.apply(this,arguments)}getItem(){return this._item}getBounds(){return this._bounds}getClass(){return sn}get interfaces_(){return[an,d]}}sn.constructor_=function(){this._bounds=null,this._item=null;let t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};class ln{constructor(){ln.constructor_.apply(this,arguments)}poll(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}size(){return this._size}reorder(t){for(var e=null,r=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(r)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,r)}clear(){this._size=0,this._items.clear()}peek(){return this.isEmpty()?null:this._items.get(1)}isEmpty(){return 0===this._size}add(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}getClass(){return ln}get interfaces_(){return[]}}ln.constructor_=function(){this._size=null,this._items=null,this._size=0,this._items=new C,this._items.add(null)};class un{constructor(){un.constructor_.apply(this,arguments)}getLevel(){return this._level}size(){return this._childBoundables.size()}getChildBoundables(){return this._childBoundables}addChildBoundable(t){m.isTrue(null===this._bounds),this._childBoundables.add(t)}isEmpty(){return this._childBoundables.isEmpty()}getBounds(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}getClass(){return un}get interfaces_(){return[an,d]}}un.constructor_=function(){if(this._childBoundables=new C,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._level=t}},un.serialVersionUID=0x5a1e55ec41369800;class cn{constructor(){cn.constructor_.apply(this,arguments)}static area(t){return t.getBounds().getArea()}static isComposite(t){return t instanceof un}expandToQueue(t,e){var n=cn.isComposite(this._boundable1),i=cn.isComposite(this._boundable2);if(n&&i)return cn.area(this._boundable1)>cn.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(i)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new r("neither boundable is composite")}isLeaves(){return!(cn.isComposite(this._boundable1)||cn.isComposite(this._boundable2))}compareTo(t){var e=t;return this._distancee._distance?1:0}expand(t,e,r,n){for(var i=t.getChildBoundables().iterator();i.hasNext();){var o=i.next(),a=new cn(o,e,this._itemDistance);a.getDistance()e?1:t-2),n.getLevel()===t)return i.add(n),null;for(var e=n.getChildBoundables().iterator();e.hasNext();){var r=e.next();r instanceof un?this.boundablesAtLevel(t,r,i):(m.isTrue(r instanceof sn),-1===t&&i.add(r))}return null}}query(){if(1===arguments.length){let e=arguments[0];this.build();var t=new C;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.queryInternal(e,this._root,t),t}if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e)}}build(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}getRoot(){return this.build(),this._root}remove(){if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2];var t=this.removeItem(o,a);if(t)return!0;for(var e=null,r=o.getChildBoundables().iterator();r.hasNext();){var n=r.next();if(this.getIntersectsOp().intersects(n.getBounds(),i)&&n instanceof un&&(t=this.remove(i,n,a))){e=n;break}}return null!==e&&e.getChildBoundables().isEmpty()&&o.getChildBoundables().remove(e),t}}createHigherLevels(t,e){m.isTrue(!t.isEmpty());var r=this.createParentBoundables(t,e+1);return 1===r.size()?r.get(0):this.createHigherLevels(r,e+1)}depth(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var r=e.next();if(r instanceof un){var n=this.depth(r);n>t&&(t=n)}}return t+1}}createParentBoundables(t,e){m.isTrue(!t.isEmpty());var r=new C;r.add(this.createNode(e));var n=new C(t);Le.sort(n,this.getComparator());for(var i=n.iterator();i.hasNext();){var o=i.next();this.lastNode(r).getChildBoundables().size()===this.getNodeCapacity()&&r.add(this.createNode(e)),this.lastNode(r).addChildBoundable(o)}return r}isEmpty(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}getClass(){return hn}get interfaces_(){return[d]}}hn.IntersectsOp=function(){},hn.constructor_=function(){if(this._root=null,this._built=!1,this._itemBoundables=new C,this._nodeCapacity=null,0===arguments.length)hn.constructor_.call(this,hn.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];m.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},hn.serialVersionUID=-0x35ef64c82d4c5400,hn.DEFAULT_NODE_CAPACITY=10;class fn{constructor(){fn.constructor_.apply(this,arguments)}distance(t,e){}getClass(){return fn}get interfaces_(){return[]}}fn.constructor_=function(){};class pn extends hn{constructor(){super(),pn.constructor_.apply(this,arguments)}static centreX(t){return pn.avg(t.getMinX(),t.getMaxX())}static avg(t,e){return(t+e)/2}static getItems(t){for(var e=new Array(t.size()).fill(null),r=0;!t.isEmpty();){var n=t.poll();e[r]=n.getBoundable(0).getItem(),r++}return e}static centreY(t){return pn.avg(t.getMinY(),t.getMaxY())}createParentBoundablesFromVerticalSlices(t,e){m.isTrue(t.length>0);for(var r=new C,n=0;n0&&!((l=(s=o.poll()).getDistance())>=e);)s.isLeaves()?(e=l,r=s):s.expandToQueue(o,e);return[r.getBoundable(0).getItem(),r.getBoundable(1).getItem()]}if(arguments[0]instanceof cn&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1];return this.nearestNeighbour(t,i.POSITIVE_INFINITY,e)}}else if(3===arguments.length){if(b(arguments[2],fn)&&arguments[0]instanceof R&&arguments[1]instanceof Object){let e=arguments[2];var n=new sn(arguments[0],arguments[1]);return t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t)[0]}if(Number.isInteger(arguments[2])&&arguments[0]instanceof cn&&"number"==typeof arguments[1]){let t=arguments[0],r=arguments[2];var o;e=arguments[1],(o=new ln).add(t);for(var a=new ln;!o.isEmpty()&&e>=0;){var s,l;if((l=(s=o.poll()).getDistance())>=e)break;s.isLeaves()?a.size()l&&(a.poll(),a.add(s)),e=a.peek().getDistance()):s.expandToQueue(o,e)}return pn.getItems(a)}}else if(4===arguments.length){let e=arguments[2],r=arguments[3];return n=new sn(arguments[0],arguments[1]),t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t,r)}}getClass(){return pn}get interfaces_(){return[rn,d]}}class dn extends un{constructor(){super(),dn.constructor_.apply(this,arguments)}computeBounds(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var r=e.next();null===t?t=new R(r.getBounds()):t.expandToInclude(r.getBounds())}return t}getClass(){return dn}get interfaces_(){return[]}}dn.constructor_=function(){let t=arguments[0];un.constructor_.call(this,t)},pn.STRtreeNode=dn,pn.constructor_=function(){if(0===arguments.length)pn.constructor_.call(this,pn.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];hn.constructor_.call(this,t)}},pn.serialVersionUID=0x39920f7d5f261e0,pn.xComparator=new class{get interfaces_(){return[p]}compare(t,e){return hn.compareDoubles(pn.centreX(t.getBounds()),pn.centreX(e.getBounds()))}},pn.yComparator=new class{get interfaces_(){return[p]}compare(t,e){return hn.compareDoubles(pn.centreY(t.getBounds()),pn.centreY(e.getBounds()))}},pn.intersectsOp=new class{get interfaces_(){return[IntersectsOp]}intersects(t,e){return t.intersects(e)}},pn.DEFAULT_NODE_CAPACITY=10;var gn=Object.freeze({STRtree:pn}),yn=Object.freeze({kdtree:Zr,quadtree:on,strtree:gn});const mn=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"];class _n{constructor(t){this.geometryFactory=t||new ae}read(t){let e;const r=(e="string"==typeof t?JSON.parse(t):t).type;if(!vn[r])throw new Error("Unknown GeoJSON type: "+e.type);return-1!==mn.indexOf(r)?vn[r].call(this,e.coordinates):"GeometryCollection"===r?vn[r].call(this,e.geometries):vn[r].call(this,e)}write(t){const e=t.getGeometryType();if(!bn[e])throw new Error("Geometry is not supported");return bn[e].call(this,t)}}const vn={Feature:function(t){const e={};for(let r in t)e[r]=t[r];if(t.geometry){const r=t.geometry.type;if(!vn[r])throw new Error("Unknown GeoJSON type: "+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=vn.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){const e={};if(t.features){e.features=[];for(let r=0;re?1:0}static compare(t,e,r){if(e.equals2D(r))return 0;var n=En.relativeSign(e.x,r.x),i=En.relativeSign(e.y,r.y);switch(t){case 0:return En.compareValue(n,i);case 1:return En.compareValue(i,n);case 2:return En.compareValue(i,-n);case 3:return En.compareValue(-n,i);case 4:return En.compareValue(-n,-i);case 5:return En.compareValue(-i,-n);case 6:return En.compareValue(-i,n);case 7:return En.compareValue(n,-i)}return m.shouldNeverReachHere("invalid octant value"),0}static compareValue(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}getClass(){return En}get interfaces_(){return[]}}En.constructor_=function(){};class Sn{constructor(){Sn.constructor_.apply(this,arguments)}getCoordinate(){return this.coord}print(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)}compareTo(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:En.compare(this._segmentOctant,this.coord,e.coord)}isEndPoint(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}isInterior(){return this._isInterior}getClass(){return Sn}get interfaces_(){return[h]}}Sn.constructor_=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this._segString=t,this.coord=new _(e),this.segmentIndex=r,this._segmentOctant=n,this._isInterior=!e.equals2D(t.getCoordinate(r))};class On{constructor(){On.constructor_.apply(this,arguments)}getSplitCoordinates(){var t=new P;this.addEndpoints();for(var e=this.iterator(),r=e.next();e.hasNext();){var n=e.next();this.addEdgeCoordinates(r,n,t),r=n}return t.toCoordinateArray()}addCollapsedNodes(){var t=new C;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var r=e.next().intValue();this.add(this._edge.getCoordinate(r),r)}}print(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}findCollapsesFromExistingVertices(t){for(var e=0;e=0?i>=0?t>=e?0:1:t>=e?7:6:i>=0?t>=e?3:2:t>=e?4:5}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];var n=e.x-t.x,i=e.y-t.y;if(0===n&&0===i)throw new r("Cannot compute the octant for two identical points "+t);return In.octant(n,i)}}getClass(){return In}get interfaces_(){return[]}}In.constructor_=function(){};class Cn{constructor(){Cn.constructor_.apply(this,arguments)}getCoordinates(){}size(){}getCoordinate(t){}isClosed(){}setData(t){}getData(){}getClass(){return Cn}get interfaces_(){return[]}}Cn.constructor_=function(){};class Tn{constructor(){Tn.constructor_.apply(this,arguments)}addIntersection(t,e){}getClass(){return Tn}get interfaces_(){return[Cn]}}Tn.constructor_=function(){};class Pn{constructor(){Pn.constructor_.apply(this,arguments)}static getNodedSubstrings(){if(1===arguments.length){let e=arguments[0];var t=new C;return Pn.getNodedSubstrings(e,t),t}if(2===arguments.length){let t=arguments[1];for(var e=arguments[0].iterator();e.hasNext();)e.next().getNodeList().addSplitEdges(t)}}getCoordinates(){return this._pts}size(){return this._pts.length}getCoordinate(t){return this._pts[t]}isClosed(){return this._pts[0].equals(this._pts[this._pts.length-1])}getSegmentOctant(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}setData(t){this._data=t}safeOctant(t,e){return t.equals2D(e)?0:In.octant(t,e)}getData(){return this._data}addIntersection(){if(2===arguments.length){let t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){let e=arguments[1],r=arguments[3];var t=new _(arguments[0].getIntersection(r));this.addIntersection(t,e)}}toString(){return he.toLineString(new Kt(this._pts))}getNodeList(){return this._nodeList}addIntersectionNode(t,e){var r=e,n=r+1;if(n=t.length-1)return t.length-1;for(var n=fr.quadrant(t[r],t[r+1]),i=e+1;ir.getId()&&(r.computeOverlaps(i,t),this._nOverlaps++),this._segInt.isDone())return null}}getClass(){return kn}get interfaces_(){return[]}}class jn extends Rn{constructor(){super(),jn.constructor_.apply(this,arguments)}overlap(){if(4!==arguments.length)return super.overlap.apply(this,arguments);{let r=arguments[1],n=arguments[2],i=arguments[3];var t=arguments[0].getContext(),e=n.getContext();this._si.processIntersections(t,r,e,i)}}getClass(){return jn}get interfaces_(){return[]}}jn.constructor_=function(){this._si=null;let t=arguments[0];this._si=t},kn.SegmentOverlapAction=jn,kn.constructor_=function(){if(this._monoChains=new C,this._index=new pn,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];Nn.constructor_.call(this,t)}};class Fn{constructor(){Fn.constructor_.apply(this,arguments)}rescale(){if(b(arguments[0],w))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.rescale(e.getCoordinates())}else if(arguments[0]instanceof Array){let e=arguments[0];for(2===e.length&&(new _(e[0]),new _(e[1])),t=0;t0&&this._minIndexthis._minCoord.y&&r.y>this._minCoord.y&&n===D.CLOCKWISE)&&(i=!0),i&&(this._minIndex=this._minIndex-1)}getRightmostSideOfSegment(t,e){var r=t.getEdge().getCoordinates();if(e<0||e+1>=r.length)return-1;if(r[e].y===r[e+1].y)return-1;var n=xr.LEFT;return r[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=r,this._minCoord=e[r])}findRightmostEdgeAtNode(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}findEdge(t){for(var e=t.iterator();e.hasNext();){var r=e.next();r.isForward()&&this.checkForRightmostCoordinate(r)}m.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===xr.LEFT&&(this._orientedDe=this._minDe.getSym())}getClass(){return zn}get interfaces_(){return[]}}function Vn(){this.array_=[]}zn.constructor_=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null},Vn.prototype.addLast=function(t){this.array_.push(t)},Vn.prototype.removeFirst=function(){return this.array_.shift()},Vn.prototype.isEmpty=function(){return 0===this.array_.length};class qn{constructor(){qn.constructor_.apply(this,arguments)}clearVisitedEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();)t.next().setVisited(!1)}getRightmostCoordinate(){return this._rightMostCoord}computeNodeDepth(t){for(var e=null,r=t.getEdges().iterator();r.hasNext();)if((n=r.next()).isVisited()||n.getSym().isVisited()){e=n;break}if(null===e)throw new Gr("unable to find edge to compute depths at "+t.getCoordinate());for(t.getEdges().computeDepths(e),r=t.getEdges().iterator();r.hasNext();){var n;(n=r.next()).setVisited(!0),this.copySymDepths(n)}}computeDepth(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.getNode(),e.getLabel(),e.setEdgeDepths(xr.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)}create(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()}findResultEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(xr.RIGHT)>=1&&e.getDepth(xr.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}computeDepths(t){var e=new ot,r=new Vn,n=t.getNode();for(r.addLast(n),e.add(n),t.setVisited(!0);!r.isEmpty();){var i=r.removeFirst();e.add(i),this.computeNodeDepth(i);for(var o=i.getEdges().iterator();o.hasNext();){var a=o.next().getSym();if(!a.isVisited()){var s=a.getNode();e.contains(s)||(r.addLast(s),e.add(s))}}}}compareTo(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}getEnvelope(){if(null===this._env){for(var t=new R,e=this._dirEdgeList.iterator();e.hasNext();)for(var r=e.next().getEdge().getCoordinates(),n=0;nthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}addPoints(t,e,r){var n=t.getCoordinates();if(e){var i=1;r&&(i=0);for(var o=i;o=0;o--)this._pts.add(n[o])}isHole(){return this._isHole}setInResult(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}containsPoint(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!Ue.isInRing(t,e.getCoordinates()))return!1;for(var r=this._holes.iterator();r.hasNext();)if(r.next().containsPoint(t))return!1;return!0}addHole(t){this._holes.add(t)}isShell(){return null===this._shell}getLabel(){return this._label}getEdges(){return this._edges}getMaxNodeDegree(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}getShell(){return this._shell}mergeLabel(){if(1===arguments.length){let t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){let e=arguments[1];var t=arguments[0].getLocation(e,xr.RIGHT);if(t===ge.NONE)return null;if(this._label.getLocation(e)===ge.NONE)return this._label.setLocation(e,t),null}}setShell(t){this._shell=t,null!==t&&t.addHole(this)}toPolygon(t){for(var e=new Array(this._holes.size()).fill(null),r=0;r2){o.linkDirectedEdgesForMinimalEdgeRings();var a=o.buildMinimalRings(),s=this.findShell(a);null!==s?(this.placePolygonHoles(s,a),e.add(s)):r.addAll(a)}else n.add(o)}return n}containsPoint(t){for(var e=this._shellList.iterator();e.hasNext();)if(e.next().containsPoint(t))return!0;return!1}buildMaximalEdgeRings(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var i=new Xn(n,this._geometryFactory);e.add(i),i.setInResult()}}return e}placePolygonHoles(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next();n.isHole()&&n.setShell(t)}}getPolygons(){return this.computePolygons(this._shellList)}findEdgeRingContaining(t,e){for(var r=t.getLinearRing(),n=r.getEnvelopeInternal(),i=r.getCoordinateN(0),o=null,a=null,s=e.iterator();s.hasNext();){var l=s.next(),u=l.getLinearRing(),c=u.getEnvelopeInternal();null!==o&&(a=o.getLinearRing().getEnvelopeInternal());var h=!1;c.contains(n)&&Ue.isInRing(i,u.getCoordinates())&&(h=!0),h&&(null===o||a.contains(c))&&(o=l)}return o}findShell(t){for(var e=0,r=null,n=t.iterator();n.hasNext();){var i=n.next();i.isHole()||(r=i,e++)}return m.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),r}add(){if(1===arguments.length){let t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){let n=arguments[0],i=arguments[1];zr.linkResultDirectedEdges(i);var t=this.buildMaximalEdgeRings(n),e=new C,r=this.buildMinimalEdgeRings(t,this._shellList,e);this.sortShellsAndHoles(r,this._shellList,e),this.placeFreeHoles(this._shellList,e)}}getClass(){return Hn}get interfaces_(){return[]}}Hn.constructor_=function(){this._geometryFactory=null,this._shellList=new C;let t=arguments[0];this._geometryFactory=t};class Zn{constructor(){Zn.constructor_.apply(this,arguments)}static simplify(t,e){return new Zn(t).simplify(e)}isDeletable(t,e,r,n){var i=this._inputLine[t],o=this._inputLine[e],a=this._inputLine[r];return!!this.isConcave(i,o,a)&&!!this.isShallow(i,o,a,n)&&this.isShallowSampled(i,o,t,r,n)}deleteShallowConcavities(){for(var t=1,e=(this._inputLine.length,this.findNextNonDeletedIndex(t)),r=this.findNextNonDeletedIndex(e),n=!1;r=0;r--)this.addPt(t[r])}isRedundant(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)=2&&this._ptList.get(this._ptList.size()-2),t.equals(e))return null;this._ptList.add(t)}setMinimumVertexDistance(t){this._minimimVertexDistance=t}getClass(){return Kn}get interfaces_(){return[]}}Kn.constructor_=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new C},Kn.COORDINATE_ARRAY_TYPE=new Array(0).fill(null);class Jn{constructor(){Jn.constructor_.apply(this,arguments)}addNextSegment(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var r=D.index(this._s0,this._s1,this._s2),n=r===D.CLOCKWISE&&this._side===xr.LEFT||r===D.COUNTERCLOCKWISE&&this._side===xr.RIGHT;0===r?this.addCollinear(e):n?this.addOutsideTurn(r,e):this.addInsideTurn(r,e)}addLineEndCap(t,e){var r=new de(t,e),n=new de;this.computeOffsetSegment(r,xr.LEFT,this._distance,n);var i=new de;this.computeOffsetSegment(r,xr.RIGHT,this._distance,i);var o=e.x-t.x,a=e.y-t.y,s=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case Bn.CAP_ROUND:this._segList.addPt(n.p1),this.addDirectedFillet(e,s+Math.PI/2,s-Math.PI/2,D.CLOCKWISE,this._distance),this._segList.addPt(i.p1);break;case Bn.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(i.p1);break;case Bn.CAP_SQUARE:var l=new _;l.x=Math.abs(this._distance)*Math.cos(s),l.y=Math.abs(this._distance)*Math.sin(s);var u=new _(n.p1.x+l.x,n.p1.y+l.y),c=new _(i.p1.x+l.x,i.p1.y+l.y);this._segList.addPt(u),this._segList.addPt(c)}}getCoordinates(){return this._segList.getCoordinates()}addMitreJoin(t,e,r,n){var i=!0,o=null;try{o=U.intersection(e.p0,e.p1,r.p0,r.p1),(n<=0?1:o.distance(t)/Math.abs(n))>this._bufParams.getMitreLimit()&&(i=!1)}catch(t){if(!(t instanceof M))throw t;o=new _(0,0),i=!1}i?this._segList.addPt(o):this.addLimitedMitreJoin(e,r,n,this._bufParams.getMitreLimit())}addOutsideTurn(t,e){if(this._offset0.p1.distance(this._offset1.p0)=c&&(s-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,s,c,n,i),this._segList.addPt(r)}addLastSegment(){this._segList.addPt(this._offset1.p1)}initSideSegments(t,e,r){this._s1=t,this._s2=e,this._side=r,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,r,this._distance,this._offset1)}addLimitedMitreJoin(t,e,r,n){var i=this._seg0.p1,o=me.angle(i,this._seg0.p0),a=(me.angle(i,this._seg1.p1),me.angleBetweenOriented(this._seg0.p0,i,this._seg1.p1)/2),s=me.normalize(o+a),l=me.normalize(s+Math.PI),u=n*r,c=r-u*Math.abs(Math.sin(a)),h=i.x+u*Math.cos(l),f=i.y+u*Math.sin(l),p=new _(h,f),d=new de(i,p),g=d.pointAlongOffset(1,c),y=d.pointAlongOffset(1,-c);this._side===xr.LEFT?(this._segList.addPt(g),this._segList.addPt(y)):(this._segList.addPt(y),this._segList.addPt(g))}addDirectedFillet(t,e,r,n,i){var o,a=n===D.CLOCKWISE?-1:1,s=Math.abs(e-r),l=Math.trunc(s/this._filletAngleQuantum+.5);if(l<1)return null;o=s/l;for(var u=0,c=new _;u0){var r=new _((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r);var n=new _((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}createCircle(t){var e=new _(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}addBevelJoin(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}init(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Kn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}addCollinear(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Bn.JOIN_BEVEL||this._bufParams.getJoinStyle()===Bn.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,D.CLOCKWISE,this._distance))}closeRing(){this._segList.closeRing()}hasNarrowConcaveAngle(){return this._hasNarrowConcaveAngle}getClass(){return Jn}get interfaces_(){return[]}}Jn.constructor_=function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new de,this._seg1=new de,this._offset0=new de,this._offset1=new de,this._side=0,this._hasNarrowConcaveAngle=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._precisionModel=t,this._bufParams=e,this._li=new pe,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===Bn.JOIN_ROUND&&(this._closingSegLengthFactor=Jn.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Jn.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,Jn.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,Jn.MAX_CLOSING_SEG_LEN_FACTOR=80;class Qn{constructor(){Qn.constructor_.apply(this,arguments)}static copyCoordinates(t){for(var e=new Array(t.length).fill(null),r=0;r=0;a--)r.addNextSegment(i[a],!0)}else{r.addSegments(t,!1);var s=Zn.simplify(t,n),l=s.length-1;for(r.initSideSegments(s[0],s[1],xr.LEFT),r.addFirstSegment(),a=2;a<=l;a++)r.addNextSegment(s[a],!0)}r.addLastSegment(),r.closeRing()}computeRingBufferCurve(t,e,r){var n=this.simplifyTolerance(this._distance);e===xr.RIGHT&&(n=-n);var i=Zn.simplify(t,n),o=i.length-1;r.initSideSegments(i[o-1],i[0],e);for(var a=1;a<=o;a++){var s=1!==a;r.addNextSegment(i[a],s)}r.closeRing()}computeLineBufferCurve(t,e){var r=this.simplifyTolerance(this._distance),n=Zn.simplify(t,r),i=n.length-1;e.initSideSegments(n[0],n[1],xr.LEFT);for(var o=2;o<=i;o++)e.addNextSegment(n[o],!0);e.addLastSegment(),e.addLineEndCap(n[i-1],n[i]);var a=Zn.simplify(t,-r),s=a.length-1;for(e.initSideSegments(a[s],a[s-1],xr.LEFT),o=s-2;o>=0;o--)e.addNextSegment(a[o],!0);e.addLastSegment(),e.addLineEndCap(a[1],a[0]),e.closeRing()}computePointCurve(t,e){switch(this._bufParams.getEndCapStyle()){case Bn.CAP_ROUND:e.createCircle(t);break;case Bn.CAP_SQUARE:e.createSquare(t)}}getLineCurve(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var r=Math.abs(e),n=this.getSegGen(r);if(t.length<=1)this.computePointCurve(t[0],n);else if(this._bufParams.isSingleSided()){var i=e<0;this.computeSingleSidedBufferCurve(t,i,n)}else this.computeLineBufferCurve(t,n);return n.getCoordinates()}getBufferParameters(){return this._bufParams}simplifyTolerance(t){return t*this._bufParams.getSimplifyFactor()}getRingCurve(t,e,r){if(this._distance=r,t.length<=2)return this.getLineCurve(t,r);if(0===r)return Qn.copyCoordinates(t);var n=this.getSegGen(r);return this.computeRingBufferCurve(t,e,n),n.getCoordinates()}computeOffsetCurve(t,e,r){var n=this.simplifyTolerance(this._distance);if(e){var i=Zn.simplify(t,-n),o=i.length-1;r.initSideSegments(i[o],i[o-1],xr.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(i[a],!0)}else{var s=Zn.simplify(t,n),l=s.length-1;for(r.initSideSegments(s[0],s[1],xr.LEFT),r.addFirstSegment(),a=2;a<=l;a++)r.addNextSegment(s[a],!0)}r.addLastSegment()}getSegGen(t){return new Jn(this._precisionModel,this._bufParams,t)}getClass(){return Qn}get interfaces_(){return[]}}Qn.constructor_=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;let t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};class $n{constructor(){$n.constructor_.apply(this,arguments)}findStabbedSegments(){if(1===arguments.length){let i=arguments[0];for(var t=new C,e=this._subgraphs.iterator();e.hasNext();){var r=e.next(),n=r.getEnvelope();i.yn.getMaxY()||this.findStabbedSegments(i,r.getDirectedEdges(),t)}return t}if(3===arguments.length)if(b(arguments[2],S)&&arguments[0]instanceof _&&arguments[1]instanceof Ur){let t=arguments[0],r=arguments[1],n=arguments[2];var i=r.getEdge().getCoordinates();for(e=0;ethis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||D.index(this._seg.p0,this._seg.p1,t)===D.RIGHT)){var o=r.getDepth(xr.LEFT);this._seg.p0.equals(i[e])||(o=r.getDepth(xr.RIGHT));var a=new ti(this._seg,o);n.add(a)}}else if(b(arguments[2],S)&&arguments[0]instanceof _&&b(arguments[1],S)){let t=arguments[0],r=arguments[2];for(e=arguments[1].iterator();e.hasNext();){var s=e.next();s.isForward()&&this.findStabbedSegments(t,s,r)}}}getDepth(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:Le.min(e)._leftDepth}getClass(){return $n}get interfaces_(){return[]}}class ti{constructor(){ti.constructor_.apply(this,arguments)}compareTo(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var r=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==r||0!=(r=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?r:this._upwardSeg.compareTo(e._upwardSeg)}compareX(t,e){var r=t.p0.compareTo(e.p0);return 0!==r?r:t.p1.compareTo(e.p1)}toString(){return this._upwardSeg.toString()}getClass(){return ti}get interfaces_(){return[h]}}ti.constructor_=function(){this._upwardSeg=null,this._leftDepth=null;let t=arguments[0],e=arguments[1];this._upwardSeg=new de(t),this._leftDepth=e},$n.DepthSegment=ti,$n.constructor_=function(){this._subgraphs=null,this._seg=new de;let t=arguments[0];this._subgraphs=t};class ei{constructor(){ei.constructor_.apply(this,arguments)}addPoint(t){if(this._distance<=0)return null;var e=t.getCoordinates(),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,ge.EXTERIOR,ge.INTERIOR)}addPolygon(t){var e=this._distance,r=xr.LEFT;this._distance<0&&(e=-this._distance,r=xr.RIGHT);var n=t.getExteriorRing(),i=$.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&i.length<3)return null;this.addPolygonRing(i,e,r,ge.EXTERIOR,ge.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(a,-this._distance)||this.addPolygonRing(s,e,xr.opposite(r),ge.INTERIOR,ge.EXTERIOR)}}isTriangleErodedCompletely(t,e){var r=new _e(t[0],t[1],t[2]),n=r.inCentre();return z.pointToSegment(n,r.p0,r.p1)=Vt.MINIMUM_VALID_SIZE&&D.isCCW(t)&&(o=i,a=n,r=xr.opposite(r));var s=this._curveBuilder.getRingCurve(t,r,e);this.addCurve(s,o,a)}add(t){if(t.isEmpty())return null;if(t instanceof Bt)this.addPolygon(t);else if(t instanceof jt)this.addLineString(t);else if(t instanceof Dt)this.addPoint(t);else if(t instanceof zt)this.addCollection(t);else if(t instanceof St)this.addCollection(t);else if(t instanceof qt)this.addCollection(t);else{if(!(t instanceof Et))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}isErodedCompletely(t,e){var r=t.getCoordinates();if(r.length<4)return e<0;if(4===r.length)return this.isTriangleErodedCompletely(r,e);var n=t.getEnvelopeInternal(),i=Math.min(n.getHeight(),n.getWidth());return e<0&&2*Math.abs(e)>i}addCollection(t){for(var e=0;e=0;r--){var n=this._edgeList.get(r),i=n.getSym();null===e&&(e=i),null!==t&&i.setNext(t),t=n}e.setNext(t)}computeDepths(){if(1===arguments.length){let i=arguments[0];var t=this.findIndex(i),e=(i.getLabel(),i.getDepth(xr.LEFT)),r=i.getDepth(xr.RIGHT),n=this.computeDepths(t+1,this._edgeList.size(),e);if(this.computeDepths(0,t,n)!==r)throw new Gr("depth mismatch at "+i.getCoordinate())}else if(3===arguments.length){let t=arguments[1];for(var i=arguments[2],o=arguments[0];o=0;i--){var o=this._resultAreaEdgeList.get(i),a=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),n){case this._SCANNING_FOR_INCOMING:if(a.getEdgeRing()!==t)continue;r=a,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;r.setNextMin(o),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(m.isTrue(null!==e,"found null for first outgoing dirEdge"),m.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),r.setNextMin(e))}getOutgoingDegree(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){let r=arguments[0];for(t=0,e=this.iterator();e.hasNext();)e.next().getEdgeRing()===r&&t++;return t}}getLabel(){return this._label}findCoveredLineEdges(){for(var t=ge.NONE,e=this.iterator();e.hasNext();){var r=(i=e.next()).getSym();if(!i.isLineEdge()){if(i.isInResult()){t=ge.INTERIOR;break}if(r.isInResult()){t=ge.EXTERIOR;break}}}if(t===ge.NONE)return null;var n=t;for(e=this.iterator();e.hasNext();){var i;r=(i=e.next()).getSym(),i.isLineEdge()?i.getEdge().setCovered(n===ge.INTERIOR):(i.isInResult()&&(n=ge.EXTERIOR),r.isInResult()&&(n=ge.INTERIOR))}}computeLabelling(t){super.computeLabelling.call(this,t),this._label=new Tr(ge.NONE);for(var e=this.iterator();e.hasNext();)for(var r=e.next().getEdge().getLabel(),n=0;n<2;n++){var i=r.getLocation(n);i!==ge.INTERIOR&&i!==ge.BOUNDARY||this._label.setLocation(n,ge.INTERIOR)}}getClass(){return ni}get interfaces_(){return[]}}ni.constructor_=function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2};class ii extends Br{constructor(){super(),ii.constructor_.apply(this,arguments)}createNode(t){return new jr(t,new ni)}getClass(){return ii}get interfaces_(){return[]}}ii.constructor_=function(){};class oi{constructor(){oi.constructor_.apply(this,arguments)}static orientation(t){return 1===$.increasingDirection(t)}static compareOriented(t,e,r,n){for(var i=e?1:-1,o=n?1:-1,a=e?t.length:-1,s=n?r.length:-1,l=e?0:t.length-1,u=n?0:r.length-1;;){var c=t[l].compareTo(r[u]);if(0!==c)return c;var h=(l+=i)===a,f=(u+=o)===s;if(h&&!f)return-1;if(!h&&f)return 1;if(h&&f)return 0}}compareTo(t){var e=t;return oi.compareOriented(this._pts,this._orientation,e._pts,e._orientation)}getClass(){return oi}get interfaces_(){return[h]}}oi.constructor_=function(){this._pts=null,this._orientation=null;let t=arguments[0];this._pts=t,this._orientation=oi.orientation(t)};class ai{constructor(){ai.constructor_.apply(this,arguments)}print(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var n=r.getCoordinates(),i=0;i0&&t.print(","),t.print(n[i].x+" "+n[i].y);t.println(")")}t.print(") ")}addAll(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}findEdgeIndex(t){for(var e=0;en||this._maxyo;if(a)return!1;var s=this.intersectsToleranceSquare(t,e);return m.isTrue(!(a&&s),"Found bad envelope test"),s}initCorners(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new _(this._maxx,this._maxy),this._corner[1]=new _(this._minx,this._maxy),this._corner[2]=new _(this._minx,this._miny),this._corner[3]=new _(this._maxx,this._miny)}intersects(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}scale(t){return Math.round(t*this._scaleFactor)}getCoordinate(){return this._originalPt}copyScaled(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}getSafeEnvelope(){if(null===this._safeEnv){var t=hi.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new R(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}intersectsPixelClosure(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))))}intersectsToleranceSquare(t,e){var r=!1,n=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper()||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper()||r&&n||t.equals(this._pt)||e.equals(this._pt)))))}addSnappedNode(t,e){var r=t.getCoordinate(e),n=t.getCoordinate(e+1);return!!this.intersects(r,n)&&(t.addIntersection(this.getCoordinate(),e),!0)}getClass(){return hi}get interfaces_(){return[]}}hi.constructor_=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;let t=arguments[0],e=arguments[1],n=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=n,e<=0)throw new r("Scale factor must be non-zero");1!==e&&(this._pt=new _(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new _,this._p1Scaled=new _),this.initCorners(this._pt)},hi.SAFE_ENV_EXPANSION_FACTOR=.75;class fi{constructor(){fi.constructor_.apply(this,arguments)}select(){if(1===arguments.length);else if(2===arguments.length){let t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}getClass(){return fi}get interfaces_(){return[]}}fi.constructor_=function(){this.selectedSegment=new de};class pi{constructor(){pi.constructor_.apply(this,arguments)}snap(){if(1===arguments.length){let t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){let r=arguments[0],n=arguments[1],i=arguments[2];var t=r.getSafeEnvelope(),e=new di(r,n,i);return this._index.query(t,new class{get interfaces_(){return[Ie]}visitItem(r){r.select(t,e)}}),e.isNodeAdded()}}getClass(){return pi}get interfaces_(){return[]}}class di extends fi{constructor(){super(),di.constructor_.apply(this,arguments)}isNodeAdded(){return this._isNodeAdded}select(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Ln))return super.select.apply(this,arguments);{let e=arguments[1];var t=arguments[0].getContext();if(null!==this._parentEdge&&t===this._parentEdge&&e===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(t,e)}}getClass(){return di}get interfaces_(){return[]}}di.constructor_=function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=r},pi.HotPixelSnapAction=di,pi.constructor_=function(){this._index=null;let t=arguments[0];this._index=t};class gi{constructor(){gi.constructor_.apply(this,arguments)}processIntersections(t,e,r,n){if(t===r&&e===n)return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[n],s=r.getCoordinates()[n+1];if(this._li.computeIntersection(i,o,a,s),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var l=0;l0?e:0),o=r-Math.trunc(Math.log(i)/Math.log(10)+1);return Math.pow(10,o)}bufferFixedPrecision(t){var e=new Fn(new yi(new ie(1)),t.getScale()),r=new ui(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)}bufferReducedPrecision(){if(0===arguments.length){for(var t=mi.MAX_PRECISION_DIGITS;t>=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof Gr))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){let t=arguments[0];var e=mi.precisionScaleFactor(this._argGeom,this._distance,t),r=new ie(e);this.bufferFixedPrecision(r)}}computeGeometry(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===ie.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}setQuadrantSegments(t){this._bufParams.setQuadrantSegments(t)}bufferOriginalPrecision(){try{var t=new ui(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof g))throw t;this._saveException=t}}getResultGeometry(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}setEndCapStyle(t){this._bufParams.setEndCapStyle(t)}getClass(){return mi}get interfaces_(){return[]}}mi.constructor_=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Bn,this._resultGeometry=null,this._saveException=null,1===arguments.length){let t=arguments[0];this._argGeom=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._argGeom=t,this._bufParams=e}},mi.CAP_ROUND=Bn.CAP_ROUND,mi.CAP_BUTT=Bn.CAP_FLAT,mi.CAP_FLAT=Bn.CAP_FLAT,mi.CAP_SQUARE=Bn.CAP_SQUARE,mi.MAX_PRECISION_DIGITS=12;var _i=Object.freeze({BufferOp:mi,BufferParameters:Bn});class vi{constructor(){vi.constructor_.apply(this,arguments)}static getPolygons(){if(1===arguments.length){let t=arguments[0];return vi.getPolygons(t,new C)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Bt?e.add(t):t instanceof Et&&t.apply(new vi(e)),e}}filter(t){t instanceof Bt&&this._comps.add(t)}getClass(){return vi}get interfaces_(){return[xt]}}vi.constructor_=function(){this._comps=null;let t=arguments[0];this._comps=t};class bi{constructor(){bi.constructor_.apply(this,arguments)}isInsideArea(){return this._segIndex===bi.INSIDE_AREA}getCoordinate(){return this._pt}getGeometryComponent(){return this._component}getSegmentIndex(){return this._segIndex}getClass(){return bi}get interfaces_(){return[]}}bi.constructor_=function(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){let t=arguments[0],e=arguments[1];bi.constructor_.call(this,t,bi.INSIDE_AREA,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._component=t,this._segIndex=e,this._pt=r}},bi.INSIDE_AREA=-1;class xi{constructor(){xi.constructor_.apply(this,arguments)}static getPoints(){if(1===arguments.length){let t=arguments[0];return t instanceof Dt?Le.singletonList(t):xi.getPoints(t,new C)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Dt?e.add(t):t instanceof Et&&t.apply(new xi(e)),e}}filter(t){t instanceof Dt&&this._pts.add(t)}getClass(){return xi}get interfaces_(){return[xt]}}xi.constructor_=function(){this._pts=null;let t=arguments[0];this._pts=t};class wi{constructor(){wi.constructor_.apply(this,arguments)}static getLocations(t){var e=new C;return t.apply(new wi(e)),e}filter(t){(t instanceof Dt||t instanceof jt||t instanceof Bt)&&this._locations.add(new bi(t,0,t.getCoordinate()))}getClass(){return wi}get interfaces_(){return[xt]}}wi.constructor_=function(){this._locations=null;let t=arguments[0];this._locations=t};class Ei{constructor(){Ei.constructor_.apply(this,arguments)}static distance(t,e){return new Ei(t,e).distance()}static isWithinDistance(t,e,r){return!(t.getEnvelopeInternal().distance(e.getEnvelopeInternal())>r)&&new Ei(t,e,r).distance()<=r}static nearestPoints(t,e){return new Ei(t,e).nearestPoints()}computeContainmentDistance(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){let t=arguments[0],o=arguments[1];var e=this._geom[t];if(e.getDimension()<2)return null;var r=1-t,n=vi.getPolygons(e);if(n.size()>0){var i=wi.getLocations(this._geom[r]);if(this.computeContainmentDistance(i,n,o),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[r]=o[0],this._minDistanceLocation[t]=o[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&b(arguments[0],S)&&b(arguments[1],S)){let t=arguments[0],e=arguments[1],r=arguments[2];for(var o=0;othis._minDistance)return null;for(var t=i.getCoordinates(),e=o.getCoordinate(),r=0;rthis._minDistance)return null;t=e.getCoordinates();var i=n.getCoordinates();for(r=0;rt&&$.reverse(this._coordinates)}return this._coordinates}toLineString(){return this._factory.createLineString(this.getCoordinates())}add(t){this._directedEdges.add(t)}getClass(){return Oi}get interfaces_(){return[]}}Oi.constructor_=function(){this._factory=null,this._directedEdges=new C,this._coordinates=null;let t=arguments[0];this._factory=t};class Ii{constructor(){Ii.constructor_.apply(this,arguments)}static getComponentWithVisitedState(t,e){for(;t.hasNext();){var r=t.next();if(r.isVisited()===e)return r}return null}static setVisited(t,e){for(;t.hasNext();)t.next().setVisited(e)}static setMarked(t,e){for(;t.hasNext();)t.next().setMarked(e)}setVisited(t){this._isVisited=t}isMarked(){return this._isMarked}setData(t){this._data=t}getData(){return this._data}setMarked(t){this._isMarked=t}getContext(){return this._data}isVisited(){return this._isVisited}setContext(t){this._data=t}getClass(){return Ii}get interfaces_(){return[]}}Ii.constructor_=function(){this._isMarked=!1,this._isVisited=!1,this._data=null};class Ci extends Ii{constructor(){super(),Ci.constructor_.apply(this,arguments)}static toEdges(t){for(var e=new C,r=t.iterator();r.hasNext();)e.add(r.next()._parentEdge);return e}isRemoved(){return null===this._parentEdge}compareDirection(t){return this._quadrant>t._quadrant?1:this._quadrant=t.size()-2}hasIntersection(){return null!==this._interiorIntersection}isDone(){return!this._findAllIntersections&&null!==this._interiorIntersection}getClass(){return Gi}get interfaces_(){return[si]}}Gi.constructor_=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new C,this._intersectionCount=0,this._keepIntersections=!0;let t=arguments[0];this._li=t,this._interiorIntersection=null};class Ui{constructor(){Ui.constructor_.apply(this,arguments)}static computeIntersections(t){var e=new Ui(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()}execute(){if(null!==this._segInt)return null;this.checkInteriorIntersections()}getIntersections(){return this._segInt.getIntersections()}isValid(){return this.execute(),this._isValid}setFindAllIntersections(t){this._findAllIntersections=t}checkInteriorIntersections(){this._isValid=!0,this._segInt=new Gi(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new kn;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null}checkValid(){if(this.execute(),!this._isValid)throw new Gr(this.getErrorMessage(),this._segInt.getInteriorIntersection())}getErrorMessage(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+he.toLineString(t[0],t[1])+" and "+he.toLineString(t[2],t[3])}getClass(){return Ui}get interfaces_(){return[]}}Ui.constructor_=function(){this._li=new pe,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;let t=arguments[0];this._segStrings=t};class Bi{constructor(){Bi.constructor_.apply(this,arguments)}static toSegmentStrings(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next();e.add(new Di(n.getCoordinates(),n))}return e}static checkValid(t){new Bi(t).checkValid()}checkValid(){this._nv.checkValid()}getClass(){return Bi}get interfaces_(){return[]}}Bi.constructor_=function(){this._nv=null;let t=arguments[0];this._nv=new Ui(Bi.toSegmentStrings(t))};class zi{constructor(){zi.constructor_.apply(this,arguments)}static map(t,e){return new zi(e).map(t)}map(t){for(var e=new C,r=0;r=0&&t.add(o+1,new _(i),!1)}}findSegmentIndexToSnap(t,e){for(var r=i.MAX_VALUE,n=-1,o=0;ot&&(t=r)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Math.min(Wi.computeOverlaySnapTolerance(t),Wi.computeOverlaySnapTolerance(e))}}static computeSizeBasedSnapTolerance(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*Wi.SNAP_PRECISION_FACTOR}static snapToSelf(t,e,r){return new Wi(t).snapToSelf(e,r)}snapTo(t,e){var r=this.extractTargetCoordinates(t);return new Xi(e,r).transform(this._srcGeom)}snapToSelf(t,e){var r=this.extractTargetCoordinates(this._srcGeom),n=new Xi(t,r,!0).transform(this._srcGeom),i=n;return e&&b(i,Ut)&&(i=n.buffer(0)),i}computeSnapTolerance(t){return this.computeMinimumSegmentLength(t)/10}extractTargetCoordinates(t){for(var e=new yt,r=t.getCoordinates(),n=0;n>>20}static zeroLowerBits(t,e){var r="low";if(e>32&&(t.low=0,e%=32,r="high"),e>0){var n=e<32?~((1<=0;n--){if(Hi.getBit(t,n)!==Hi.getBit(e,n))return r;r++}return 52}}class Zi{constructor(){Zi.constructor_.apply(this,arguments)}addCommonBits(t){var e=new Ji(this._commonCoord);t.apply(e),t.geometryChanged()}removeCommonBits(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new _(this._commonCoord);e.x=-e.x,e.y=-e.y;var r=new Ji(e);return t.apply(r),t.geometryChanged(),t}getCommonCoordinate(){return this._commonCoord}add(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()}getClass(){return Zi}get interfaces_(){return[]}}class Ki{constructor(){Ki.constructor_.apply(this,arguments)}filter(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)}getCommonCoordinate(){return new _(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())}getClass(){return Ki}get interfaces_(){return[X]}}Ki.constructor_=function(){this._commonBitsX=new Hi,this._commonBitsY=new Hi};class Ji{constructor(){Ji.constructor_.apply(this,arguments)}filter(t,e){var r=t.getOrdinate(e,0)+this.trans.x,n=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,r),t.setOrdinate(e,1,n)}isDone(){return!1}isGeometryChanged(){return!0}getClass(){return Ji}get interfaces_(){return[wt]}}Ji.constructor_=function(){this.trans=null;let t=arguments[0];this.trans=t},Zi.CommonCoordinateFilter=Ki,Zi.Translater=Ji,Zi.constructor_=function(){this._commonCoord=null,this._ccFilter=new Ki};class Qi{constructor(){Qi.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new Qi(t,e).getResultGeometry(r)}static union(t,e){return Qi.overlayOp(t,e,eo.UNION)}static intersection(t,e){return Qi.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){return Qi.overlayOp(t,e,eo.SYMDIFFERENCE)}static difference(t,e){return Qi.overlayOp(t,e,eo.DIFFERENCE)}selfSnap(t){return new Wi(t).snapTo(t,this._snapTolerance)}removeCommonBits(t){this._cbr=new Zi,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e}prepareResult(t){return this._cbr.addCommonBits(t),t}getResultGeometry(t){var e=this.snap(this._geom),r=eo.overlayOp(e[0],e[1],t);return this.prepareResult(r)}checkValid(t){t.isValid()||G.out.println("Snapped geometry is invalid")}computeSnapTolerance(){this._snapTolerance=Wi.computeOverlaySnapTolerance(this._geom[0],this._geom[1])}snap(t){var e=this.removeCommonBits(t);return Wi.snap(e[0],e[1],this._snapTolerance)}getClass(){return Qi}get interfaces_(){return[]}}Qi.constructor_=function(){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null;let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};class $i{constructor(){$i.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new $i(t,e).getResultGeometry(r)}static union(t,e){return $i.overlayOp(t,e,eo.UNION)}static intersection(t,e){return $i.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){return $i.overlayOp(t,e,eo.SYMDIFFERENCE)}static difference(t,e){return $i.overlayOp(t,e,eo.DIFFERENCE)}getResultGeometry(t){var e=null,r=!1,n=null;try{e=eo.overlayOp(this._geom[0],this._geom[1],t),r=!0}catch(t){if(!(t instanceof g))throw t;n=t}if(!r)try{e=Qi.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof g?n:t}return e}getClass(){return $i}get interfaces_(){return[]}}$i.constructor_=function(){this._geom=new Array(2).fill(null);let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e};class to{constructor(){to.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return to}get interfaces_(){return[]}}to.constructor_=function(){if(this._li=new pe,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new Vr(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e,H.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Vr(0,t,r),this._arg[1]=new Vr(1,e,r)}};class eo extends to{constructor(){super(),eo.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new eo(t,e).getResultGeometry(r)}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.UNION)}static intersection(t,e){if(t.isEmpty()||e.isEmpty())return eo.createEmptyResult(eo.INTERSECTION,t,e,t.getFactory());if(t.isGeometryCollection()){var n=e;return zi.map(t,new class{get interfaces_(){return[MapOp]}map(t){return t.intersection(n)}})}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.SYMDIFFERENCE,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.SYMDIFFERENCE)}static resultDimension(t,e,r){var n=e.getDimension(),i=r.getDimension(),o=-1;switch(t){case eo.INTERSECTION:o=Math.min(n,i);break;case eo.UNION:o=Math.max(n,i);break;case eo.DIFFERENCE:o=n;break;case eo.SYMDIFFERENCE:o=Math.max(n,i)}return o}static createEmptyResult(t,e,r,n){var i=null;switch(eo.resultDimension(t,e,r)){case-1:i=n.createGeometryCollection();break;case 0:i=n.createPoint();break;case 1:i=n.createLineString();break;case 2:i=n.createPolygon()}return i}static difference(t,e){if(t.isEmpty())return eo.createEmptyResult(eo.DIFFERENCE,t,e,t.getFactory());if(e.isEmpty())return t.copy();if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.DIFFERENCE)}static isResultOfOp(){if(2===arguments.length){let r=arguments[0],n=arguments[1];var t=r.getLocation(0),e=r.getLocation(1);return eo.isResultOfOp(t,e,n)}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];switch(t===ge.BOUNDARY&&(t=ge.INTERIOR),e===ge.BOUNDARY&&(e=ge.INTERIOR),r){case eo.INTERSECTION:return t===ge.INTERIOR&&e===ge.INTERIOR;case eo.UNION:return t===ge.INTERIOR||e===ge.INTERIOR;case eo.DIFFERENCE:return t===ge.INTERIOR&&e!==ge.INTERIOR;case eo.SYMDIFFERENCE:return t===ge.INTERIOR&&e!==ge.INTERIOR||t!==ge.INTERIOR&&e===ge.INTERIOR}return!1}}insertUniqueEdge(t){var e=this._edgeList.findEqualEdge(t);if(null!==e){var r=e.getLabel(),n=t.getLabel();e.isPointwiseEqual(t)||(n=new Tr(t.getLabel())).flip();var i=e.getDepth();i.isNull()&&i.add(r),i.add(n),r.merge(n)}else this._edgeList.add(t)}getGraph(){return this._graph}cancelDuplicateResultEdges(){for(var t=this._graph.getEdgeEnds().iterator();t.hasNext();){var e=t.next(),r=e.getSym();e.isInResult()&&r.isInResult()&&(e.setInResult(!1),r.setInResult(!1))}}isCoveredByLA(t){return!!this.isCovered(t,this._resultLineList)||!!this.isCovered(t,this._resultPolyList)}computeGeometry(t,e,r,n){var i=new C;return i.addAll(t),i.addAll(e),i.addAll(r),i.isEmpty()?eo.createEmptyResult(n,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(i)}mergeSymLabels(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().mergeSymLabels()}isCovered(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next();if(this._ptLocator.locate(t,n)!==ge.EXTERIOR)return!0}return!1}replaceCollapsedEdges(){for(var t=new C,e=this._edgeList.iterator();e.hasNext();){var r=e.next();r.isCollapsed()&&(e.remove(),t.add(r.getCollapsedEdge()))}this._edgeList.addAll(t)}updateNodeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),r=e.getEdges().getLabel();e.getLabel().merge(r)}}getResultGeometry(t){return this.computeOverlay(t),this._resultGeom}insertUniqueEdges(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this.insertUniqueEdge(r)}}computeOverlay(t){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var e=new C;this._arg[0].computeSplitEdges(e),this._arg[1].computeSplitEdges(e),this.insertUniqueEdges(e),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Bi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(t),this.cancelDuplicateResultEdges();var r=new Hn(this._geomFact);r.add(this._graph),this._resultPolyList=r.getPolygons();var n=new Vi(this,this._geomFact,this._ptLocator);this._resultLineList=n.build(t);var i=new qi(this,this._geomFact,this._ptLocator);this._resultPointList=i.build(t),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,t)}labelIncompleteNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setLocation(e,r)}copyPoints(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._graph.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}findResultAreaEdges(t){for(var e=this._graph.getEdgeEnds().iterator();e.hasNext();){var r=e.next(),n=r.getLabel();n.isArea()&&!r.isInteriorAreaEdge()&&eo.isResultOfOp(n.getLocation(0,xr.RIGHT),n.getLocation(1,xr.RIGHT),t)&&r.setInResult(!0)}}computeLabelsFromDepths(){for(var t=this._edgeList.iterator();t.hasNext();){var e=t.next(),r=e.getLabel(),n=e.getDepth();if(!n.isNull()){n.normalize();for(var i=0;i<2;i++)r.isNull(i)||!r.isArea()||n.isNull(i)||(0===n.getDelta(i)?r.toLine(i):(m.isTrue(!n.isNull(i,xr.LEFT),"depth of LEFT side has not been initialized"),r.setLocation(i,xr.LEFT,n.getLocation(i,xr.LEFT)),m.isTrue(!n.isNull(i,xr.RIGHT),"depth of RIGHT side has not been initialized"),r.setLocation(i,xr.RIGHT,n.getLocation(i,xr.RIGHT))))}}}computeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg);this.mergeSymLabels(),this.updateNodeLabelling()}labelIncompleteNodes(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),r=e.getLabel();e.isIsolated()&&(r.isNull(0)?this.labelIncompleteNode(e,0):this.labelIncompleteNode(e,1)),e.getEdges().updateLabelling(r)}}isCoveredByA(t){return!!this.isCovered(t,this._resultPolyList)}getClass(){return eo}get interfaces_(){return[]}}eo.constructor_=function(){this._ptLocator=new br,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new ai,this._resultPolyList=new C,this._resultLineList=new C,this._resultPointList=new C;let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e),this._graph=new zr(new ii),this._geomFact=t.getFactory()},eo.INTERSECTION=1,eo.UNION=2,eo.DIFFERENCE=3,eo.SYMDIFFERENCE=4;var ro=Object.freeze({OverlayOp:eo});class no extends Ci{constructor(){super(),no.constructor_.apply(this,arguments)}getNext(){return this._next}isInRing(){return null!==this._edgeRing}setRing(t){this._edgeRing=t}setLabel(t){this._label=t}getLabel(){return this._label}setNext(t){this._next=t}getRing(){return this._edgeRing}getClass(){return no}get interfaces_(){return[]}}no.constructor_=function(){this._edgeRing=null,this._next=null,this._label=-1;let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];Ci.constructor_.call(this,t,e,r,n)};class io extends Pi{constructor(){super(),io.constructor_.apply(this,arguments)}getLine(){return this._line}getClass(){return io}get interfaces_(){return[]}}io.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class oo{constructor(){oo.constructor_.apply(this,arguments)}static findDirEdgesInRing(t){var e=t,r=new C;do{r.add(e),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t);return r}static addEdge(t,e,r){if(e)for(var n=0;n=0;n--)r.add(t[n],!1)}static findEdgeRingContaining(t,e){for(var r=t.getRing(),n=r.getEnvelopeInternal(),i=r.getCoordinateN(0),o=null,a=null,s=e.iterator();s.hasNext();){var l=s.next(),u=l.getRing(),c=u.getEnvelopeInternal();if(!c.equals(n)&&c.contains(n)){i=$.ptNotInList(r.getCoordinates(),u.getCoordinates());var h=!1;Ue.isInRing(i,u.getCoordinates())&&(h=!0),h&&(null===o||a.contains(c))&&(a=(o=l).getRing().getEnvelopeInternal())}}return o}isIncluded(){return this._isIncluded}getCoordinates(){if(null===this._ringPts){for(var t=new P,e=this._deList.iterator();e.hasNext();){var r=e.next(),n=r.getEdge();oo.addEdge(n.getLine().getCoordinates(),r.getEdgeDirection(),t)}this._ringPts=t.toCoordinateArray()}return this._ringPts}isIncludedSet(){return this._isIncludedSet}isValid(){return this.getCoordinates(),!(this._ringPts.length<=3)&&(this.getRing(),this._ring.isValid())}build(t){var e=t;do{this.add(e),e.setRing(this),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t)}isOuterHole(){return!!this._isHole&&!this.hasShell()}getPolygon(){var t=null;if(null!==this._holes){t=new Array(this._holes.size()).fill(null);for(var e=0;e=0)){e.add(i);var o=oo.findDirEdgesInRing(i);so.label(o,r),r++}}return e}static getDegreeNonDeleted(t){for(var e=0,r=t.getOutEdges().getEdges().iterator();r.hasNext();)r.next().isMarked()||e++;return e}static deleteAllEdges(t){for(var e=t.getOutEdges().getEdges().iterator();e.hasNext();){var r=e.next();r.setMarked(!0);var n=r.getSym();null!==n&&n.setMarked(!0)}}static label(t,e){for(var r=t.iterator();r.hasNext();)r.next().setLabel(e)}static computeNextCWEdges(t){for(var e=null,r=null,n=t.getOutEdges().getEdges().iterator();n.hasNext();){var i=n.next();i.isMarked()||(null===e&&(e=i),null!==r&&r.getSym().setNext(i),r=i)}null!==r&&r.getSym().setNext(e)}static computeNextCCWEdges(t,e){for(var r=null,n=null,i=t.getOutEdges().getEdges(),o=i.size()-1;o>=0;o--){var a=i.get(o),s=a.getSym(),l=null;a.getLabel()===e&&(l=a);var u=null;s.getLabel()===e&&(u=s),null===l&&null===u||(null!==u&&(n=u),null!==l&&(null!==n&&(n.setNext(l),n=null),null===r&&(r=l)))}null!==n&&(m.isTrue(null!==r),n.setNext(r))}static getDegree(t,e){for(var r=0,n=t.getOutEdges().getEdges().iterator();n.hasNext();)n.next().getLabel()===e&&r++;return r}static findIntersectionNodes(t,e){var r=t,n=null;do{var i=r.getFromNode();so.getDegree(i,e)>1&&(null===n&&(n=new C),n.add(i)),r=r.getNext(),m.isTrue(null!==r,"found null DE in ring"),m.isTrue(r===t||!r.isInRing(),"found DE already in ring")}while(r!==t);return n}findEdgeRing(t){var e=new oo(this._factory);return e.build(t),e}computeDepthParity(){if(0===arguments.length)for(;;)return null}computeNextCWEdges(){for(var t=this.nodeIterator();t.hasNext();){var e=t.next();so.computeNextCWEdges(e)}}addEdge(t){if(t.isEmpty())return null;var e=$.removeRepeatedPoints(t.getCoordinates());if(e.length<2)return null;var r=e[0],n=e[e.length-1],i=this.getNode(r),o=this.getNode(n),a=new no(i,o,e[1],!0),s=new no(o,i,e[e.length-2],!1),l=new io(t);l.setDirectedEdges(a,s),this.add(l)}deleteCutEdges(){this.computeNextCWEdges(),so.findLabeledEdgeRings(this._dirEdges);for(var t=new C,e=this._dirEdges.iterator();e.hasNext();){var r=e.next();if(!r.isMarked()){var n=r.getSym();if(r.getLabel()===n.getLabel()){r.setMarked(!0),n.setMarked(!0);var i=r.getEdge();t.add(i.getLine())}}}return t}getEdgeRings(){this.computeNextCWEdges(),so.label(this._dirEdges,-1);var t=so.findLabeledEdgeRings(this._dirEdges);this.convertMaximalToMinimalEdgeRings(t);for(var e=new C,r=this._dirEdges.iterator();r.hasNext();){var n=r.next();if(!n.isMarked()&&!n.isInRing()){var i=this.findEdgeRing(n);e.add(i)}}return e}getNode(t){var e=this.findNode(t);return null===e&&(e=new Li(t),this.add(e)),e}convertMaximalToMinimalEdgeRings(t){for(var e=t.iterator();e.hasNext();){var r=e.next(),n=r.getLabel(),i=so.findIntersectionNodes(r,n);if(null!==i)for(var o=i.iterator();o.hasNext();){var a=o.next();so.computeNextCCWEdges(a,n)}}}deleteDangles(){for(var t=this.findNodesOfDegree(1),e=new ot,r=new Je,n=t.iterator();n.hasNext();)r.push(n.next());for(;!r.isEmpty();){var i=r.pop();for(so.deleteAllEdges(i),n=i.getOutEdges().getEdges().iterator();n.hasNext();){var o=n.next();o.setMarked(!0);var a=o.getSym();null!==a&&a.setMarked(!0);var s=o.getEdge();e.add(s.getLine());var l=o.getToNode();1===so.getDegreeNonDeleted(l)&&r.push(l)}}return e}getClass(){return so}get interfaces_(){return[]}}so.constructor_=function(){this._factory=null;let t=arguments[0];this._factory=t};class lo{constructor(){lo.constructor_.apply(this,arguments)}static findOuterShells(t){for(var e=t.iterator();e.hasNext();){var r=e.next(),n=r.getOuterHole();null===n||n.isProcessed()||(r.setIncluded(!0),n.setProcessed(!0))}}static extractPolygons(t,e){for(var r=new C,n=t.iterator();n.hasNext();){var i=n.next();(e||i.isIncluded())&&r.add(i.getPolygon())}return r}static assignHolesToShells(t,e){for(var r=t.iterator();r.hasNext();){var n=r.next();lo.assignHoleToShell(n,e)}}static assignHoleToShell(t,e){var r=oo.findEdgeRingContaining(t,e);null!==r&&r.addHole(t)}static findDisjointShells(t){lo.findOuterShells(t);var e=null;do{e=!1;for(var r=t.iterator();r.hasNext();){var n=r.next();n.isIncludedSet()||(n.updateIncluded(),n.isIncludedSet()||(e=!0))}}while(e)}getGeometry(){return null===this._geomFactory&&(this._geomFactory=new ae),this.polygonize(),this._extractOnlyPolygonal?this._geomFactory.buildGeometry(this._polyList):this._geomFactory.createGeometryCollection(ae.toGeometryArray(this._polyList))}getInvalidRingLines(){return this.polygonize(),this._invalidRingLines}findValidRings(t,e,r){for(var n=t.iterator();n.hasNext();){var i=n.next();i.isValid()?e.add(i):r.add(i.getLineString())}}polygonize(){if(null!==this._polyList)return null;if(this._polyList=new C,null===this._graph)return null;this._dangles=this._graph.deleteDangles(),this._cutEdges=this._graph.deleteCutEdges();var t=this._graph.getEdgeRings(),e=new C;this._invalidRingLines=new C,this._isCheckingRingsValid?this.findValidRings(t,e,this._invalidRingLines):e=t,this.findShellsAndHoles(e),lo.assignHolesToShells(this._holeList,this._shellList),Le.sort(this._shellList,new oo.EnvelopeComparator);var r=!0;this._extractOnlyPolygonal&&(lo.findDisjointShells(this._shellList),r=!1),this._polyList=lo.extractPolygons(this._shellList,r)}getDangles(){return this.polygonize(),this._dangles}getCutEdges(){return this.polygonize(),this._cutEdges}getPolygons(){return this.polygonize(),this._polyList}add(){if(b(arguments[0],w))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.add(e)}else if(arguments[0]instanceof jt){let t=arguments[0];this._geomFactory=t.getFactory(),null===this._graph&&(this._graph=new so(this._geomFactory)),this._graph.addEdge(t)}else arguments[0]instanceof W&&arguments[0].apply(this._lineStringAdder)}setCheckRingsValid(t){this._isCheckingRingsValid=t}findShellsAndHoles(t){this._holeList=new C,this._shellList=new C;for(var e=t.iterator();e.hasNext();){var r=e.next();r.computeHole(),r.isHole()?this._holeList.add(r):this._shellList.add(r)}}getClass(){return lo}get interfaces_(){return[]}}class uo{constructor(){uo.constructor_.apply(this,arguments)}filter(t){t instanceof jt&&this.p.add(t)}getClass(){return uo}get interfaces_(){return[Y]}}uo.constructor_=function(){this.p=null;let t=arguments[0];this.p=t},lo.LineStringAdder=uo,lo.constructor_=function(){if(this._lineStringAdder=new uo(this),this._graph=null,this._dangles=new C,this._cutEdges=new C,this._invalidRingLines=new C,this._holeList=null,this._shellList=null,this._polyList=null,this._isCheckingRingsValid=!0,this._extractOnlyPolygonal=null,this._geomFactory=null,0===arguments.length)lo.constructor_.call(this,!1);else if(1===arguments.length){let t=arguments[0];this._extractOnlyPolygonal=t}};var co=Object.freeze({Polygonizer:lo});class ho{constructor(){ho.constructor_.apply(this,arguments)}createEdgeEndForNext(t,e,r,n){var i=r.segmentIndex+1;if(i>=t.getNumPoints()&&null===n)return null;var o=t.getCoordinate(i);null!==n&&n.segmentIndex===r.segmentIndex&&(o=n.coord);var a=new Dr(t,r.coord,o,new Tr(t.getLabel()));e.add(a)}createEdgeEndForPrev(t,e,r,n){var i=r.segmentIndex;if(0===r.dist){if(0===i)return null;i--}var o=t.getCoordinate(i);null!==n&&n.segmentIndex>=i&&(o=n.coord);var a=new Tr(t.getLabel());a.flip();var s=new Dr(t,r.coord,o,a);e.add(s)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new C,e=n;e.hasNext();){var r=e.next();this.computeEdgeEnds(r,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var i=n.iterator(),o=null,a=null;if(!i.hasNext())return null;var s=i.next();do{o=a,a=s,s=null,i.hasNext()&&(s=i.next()),null!==a&&(this.createEdgeEndForPrev(t,e,a,o),this.createEdgeEndForNext(t,e,a,s))}while(null!==a)}}getClass(){return ho}get interfaces_(){return[]}}ho.constructor_=function(){};class fo extends Dr{constructor(){super(),fo.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();)e.next().print(t),t.println()}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var r=0,n=!1,i=this.iterator();i.hasNext();)(o=i.next().getLabel().getLocation(t))===ge.BOUNDARY&&r++,o===ge.INTERIOR&&(n=!0);var o=ge.NONE;n&&(o=ge.INTERIOR),r>0&&(o=Vr.determineBoundary(e,r)),this._label.setLocation(t,o)}computeLabelSide(t,e){for(var r=this.iterator();r.hasNext();){var n=r.next();if(n.getLabel().isArea()){var i=n.getLabel().getLocation(t,e);if(i===ge.INTERIOR)return this._label.setLocation(t,e,ge.INTERIOR),null;i===ge.EXTERIOR&&this._label.setLocation(t,e,ge.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,xr.LEFT),this.computeLabelSide(t,xr.RIGHT)}updateIM(t){kr.updateIM(this._label,t)}computeLabel(t){for(var e=!1,r=this.iterator();r.hasNext();)r.next().getLabel().isArea()&&(e=!0);this._label=e?new Tr(ge.NONE,ge.NONE,ge.NONE):new Tr(ge.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return fo}get interfaces_(){return[]}}fo.constructor_=function(){if(this._edgeEnds=new C,1===arguments.length){let t=arguments[0];fo.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];Dr.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new Tr(t.getLabel())),this.insert(t)}};class po extends ri{constructor(){super(),po.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();)e.next().updateIM(t)}insert(t){var e=this._edgeMap.get(t);null===e?(e=new fo(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return po}get interfaces_(){return[]}}po.constructor_=function(){};class go extends jr{constructor(){super(),go.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return go}get interfaces_(){return[]}}go.constructor_=function(){let t=arguments[0],e=arguments[1];jr.constructor_.call(this,t,e)};class yo extends Br{constructor(){super(),yo.constructor_.apply(this,arguments)}createNode(t){return new go(t,new po)}getClass(){return yo}get interfaces_(){return[]}}yo.constructor_=function(){};class mo{constructor(){mo.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this._nodes.add(r)}}computeProperIntersectionIM(t,e){var r=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),i=t.hasProperIntersection(),o=t.hasProperInteriorIntersection();2===r&&2===n?i&&e.setAtLeast("212101212"):2===r&&1===n?(i&&e.setAtLeast("FFF0FFFF2"),o&&e.setAtLeast("1FFFFF1FF")):1===r&&2===n?(i&&e.setAtLeast("F0FFFFFF2"),o&&e.setAtLeast("1F1FFFFFF")):1===r&&1===n&&o&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var r=this._arg[t].getEdgeIterator();r.hasNext();){var n=r.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,r){if(r.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),r);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,ge.EXTERIOR)}computeIM(){var t=new ye;if(t.set(ge.EXTERIOR,ge.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var r=new ho,n=r.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var i=r.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(i),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg)}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._nodes.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.find(o.coord);a.getLabel().isNull(t)&&(n===ge.BOUNDARY?a.setLabelBoundary(t):a.setLabel(t,ge.INTERIOR))}}labelIsolatedNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,r)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.addNode(o.coord);n===ge.BOUNDARY?a.setLabelBoundary(t):a.getLabel().isNull(t)&&a.setLabel(t,ge.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),r=e.getLabel();m.isTrue(r.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(r.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();)e.next().updateIM(t);for(var r=this._nodes.iterator();r.hasNext();){var n=r.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(ge.INTERIOR,ge.EXTERIOR,e.getDimension()),t.set(ge.BOUNDARY,ge.EXTERIOR,e.getBoundaryDimension()));var r=this._arg[1].getGeometry();r.isEmpty()||(t.set(ge.EXTERIOR,ge.INTERIOR,r.getDimension()),t.set(ge.EXTERIOR,ge.BOUNDARY,r.getBoundaryDimension()))}getClass(){return mo}get interfaces_(){return[]}}mo.constructor_=function(){this._li=new pe,this._ptLocator=new br,this._arg=null,this._nodes=new Fr(new yo),this._im=null,this._isolatedEdges=new C,this._invalidPoint=null;let t=arguments[0];this._arg=t};class _o{constructor(){_o.constructor_.apply(this,arguments)}static contains(t,e){return new _o(t).contains(e)}isContainedInBoundary(t){if(t instanceof Bt)return!1;if(t instanceof Dt)return this.isPointContainedInBoundary(t);if(t instanceof jt)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var i=!1;return e.y>t.y&&(i=!0),i?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return vo}get interfaces_(){return[]}}vo.constructor_=function(){this._li=new pe,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new _(t.getMinX(),t.getMinY()),this._diagUp1=new _(t.getMaxX(),t.getMaxY()),this._diagDown0=new _(t.getMinX(),t.getMaxY()),this._diagDown1=new _(t.getMaxX(),t.getMinY())};class bo{constructor(){bo.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return wo}get interfaces_(){return[]}}wo.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class Eo extends bo{constructor(){super(),Eo.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof Bt))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var r=new _,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,r),e.contains(r)&&ze.containsPointInPolygon(r,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return Eo}get interfaces_(){return[]}}Eo.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class So extends bo{constructor(){super(),So.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var r=Ne.getLines(t);this.checkIntersectionWithLineStrings(r)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var r=e.next();if(this.checkIntersectionWithSegments(r),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),r=1;r0)&&!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new Oo(t,e).getIntersectionMatrix().isCovers())}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return xo.intersects(t,e);if(e.isRectangle())return xo.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var r=0;r0)&&!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?_o.contains(t,e):new Oo(t,e).getIntersectionMatrix().isContains())}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return Oo}get interfaces_(){return[]}}Oo.constructor_=function(){if(this._relate=null,2===arguments.length){let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e),this._relate=new mo(this._arg)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];to.constructor_.call(this,t,e,r),this._relate=new mo(this._arg)}};var Io=Object.freeze({RelateOp:Oo});class Co{constructor(){Co.constructor_.apply(this,arguments)}static combine(){if(1===arguments.length)return new Co(arguments[0]).combine();if(2===arguments.length){let t=arguments[0],e=arguments[1];return new Co(Co.createList(t,e)).combine()}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return new Co(Co.createList(t,e,r)).combine()}}static extractFactory(t){return t.isEmpty()?null:t.iterator().next().getFactory()}static createList(){if(2===arguments.length){let e=arguments[0],r=arguments[1];return(t=new C).add(e),t.add(r),t}if(3===arguments.length){let e=arguments[0],r=arguments[1],n=arguments[2];var t;return(t=new C).add(e),t.add(r),t.add(n),t}}extractElements(t,e){if(null===t)return null;for(var r=0;r=t.size()?null:t.get(e)}static union(t){return new Ro(t).union()}reduceToGeometries(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next(),i=null;b(n,S)?i=this.unionTree(n):n instanceof W&&(i=n),e.add(i)}return e}extractByEnvelope(t,e,r){for(var n=new C,i=0;i0){var e=this._geomFact.buildGeometry(this._points);t=this.unionNoOpt(e)}var r=null;if(this._lines.size()>0){var n=this._geomFact.buildGeometry(this._lines);r=this.unionNoOpt(n)}var i=null;this._polygons.size()>0&&(i=Ro.union(this._polygons));var o=this.unionWithNull(r,i),a=null;return null===(a=null===t?o:null===o?t:To.union(t,o))?this._geomFact.createGeometryCollection():a}getClass(){return Lo}get interfaces_(){return[]}}Lo.constructor_=function(){if(this._polygons=new C,this._lines=new C,this._points=new C,this._geomFact=null,1===arguments.length){if(b(arguments[0],w)){let t=arguments[0];this.extract(t)}else if(arguments[0]instanceof W){let t=arguments[0];this.extract(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._geomFact=e,this.extract(t)}};var Mo=Object.freeze({UnaryUnionOp:Lo});class Ao{constructor(){Ao.constructor_.apply(this,arguments)}static findDifferentPoint(t,e){for(var r=0;r1)return this._invalidPoint=r.getEdge().getCoordinate(0),!0}return!1}isNodeConsistentArea(){var t=this._geomGraph.computeSelfNodes(this._li,!0,!0);return t.hasProperIntersection()?(this._invalidPoint=t.getProperIntersectionPoint(),!1):(this._nodeGraph.build(this._geomGraph),this.isNodeEdgeAreaLabelsConsistent())}getClass(){return ko}get interfaces_(){return[]}}ko.constructor_=function(){this._li=new pe,this._geomGraph=null,this._nodeGraph=new No,this._invalidPoint=null;let t=arguments[0];this._geomGraph=t};class jo{constructor(){jo.constructor_.apply(this,arguments)}buildIndex(){this._index=new pn;for(var t=0;t=1&&(e=t.getCoordinateN(0)),this._validErr=new Fo(Fo.RING_NOT_CLOSED,e)}}checkShellsNotNested(t,e){for(var r=0;r=2&&(n=!0),e.edit(t,new Bo(this._targetPM,n))}changePM(t,e){return this.createEditor(t.getFactory(),e).edit(t,new Yt.NoOpGeometryOperation)}setRemoveCollapsedComponents(t){this._removeCollapsed=t}createFactory(t,e){return new ae(e,t.getSRID(),t.getCoordinateSequenceFactory())}setChangePrecisionModel(t){this._changePrecisionModel=t}reduce(t){var e=this.reducePointwise(t);return this._isPointwise?e:b(e,Ut)?Do.isValid(e)?e:this.fixPolygonalTopology(e):e}setPointwise(t){this._isPointwise=t}createEditor(t,e){if(t.getPrecisionModel()===e)return new Yt;var r=this.createFactory(t,e);return new Yt(r)}getClass(){return zo}get interfaces_(){return[]}}zo.constructor_=function(){this._targetPM=null,this._removeCollapsed=!0,this._changePrecisionModel=!1,this._isPointwise=!1;let t=arguments[0];this._targetPM=t};var Vo=Object.freeze({GeometryPrecisionReducer:zo});class qo{constructor(){qo.constructor_.apply(this,arguments)}static simplify(t,e){var r=new qo(t);return r.setDistanceTolerance(e),r.simplify()}simplifySection(t,e){if(t+1===e)return null;this._seg.p0=this._pts[t],this._seg.p1=this._pts[e];for(var r=-1,n=t,i=t+1;ir&&(r=o,n=i)}if(r<=this._distanceTolerance)for(i=t+1;i=e[0]&&nthis._distanceTolerance&&(o=!1);var l=new de;if(l.p0=this._linePts[t],l.p1=this._linePts[e],n[0]=t,n[1]=e,this.hasBadIntersection(this._line,n,l)&&(o=!1),o)return i=this.flatten(t,e),this._line.addToResult(i),null;this.simplifySection(t,s,r),this.simplifySection(s,e,r)}hasBadOutputIntersection(t){for(var e=this._outputIndex.query(t).iterator();e.hasNext();){var r=e.next();if(this.hasInteriorIntersection(r,t))return!0}return!1}findFurthestPoint(t,e,r,n){var i=new de;i.p0=t[e],i.p1=t[r];for(var o=-1,a=e,s=e+1;so&&(o=u,a=s)}return n[0]=o,a}simplify(t){this._line=t,this._linePts=t.getParentCoordinates(),this.simplifySection(0,this._linePts.length-1,0)}remove(t,e,r){for(var n=e;nn&&(a=n),i.setMinimumLength(a),i.splitAt(o),i.getSplitPoint()}getClass(){return oa}get interfaces_(){return[ia]}}oa.constructor_=function(){};class aa{constructor(){aa.constructor_.apply(this,arguments)}static triArea(t,e,r){return(e.x-t.x)*(r.y-t.y)-(e.y-t.y)*(r.x-t.x)}static isInCircleDDNormalized(t,e,r,n){var i=j.valueOf(t.x).selfSubtract(n.x),o=j.valueOf(t.y).selfSubtract(n.y),a=j.valueOf(e.x).selfSubtract(n.x),s=j.valueOf(e.y).selfSubtract(n.y),l=j.valueOf(r.x).selfSubtract(n.x),u=j.valueOf(r.y).selfSubtract(n.y),c=i.multiply(s).selfSubtract(a.multiply(o)),h=a.multiply(u).selfSubtract(l.multiply(s)),f=l.multiply(o).selfSubtract(i.multiply(u)),p=i.multiply(i).selfAdd(o.multiply(o)),d=a.multiply(a).selfAdd(s.multiply(s)),g=l.multiply(l).selfAdd(u.multiply(u));return p.selfMultiply(h).selfAdd(d.selfMultiply(f)).selfAdd(g.selfMultiply(c)).doubleValue()>0}static checkRobustInCircle(t,e,r,n){var i=aa.isInCircleNonRobust(t,e,r,n),o=aa.isInCircleDDSlow(t,e,r,n),a=aa.isInCircleCC(t,e,r,n),s=_e.circumcentre(t,e,r);G.out.println("p radius diff a = "+Math.abs(n.distance(s)-t.distance(s))/t.distance(s)),i===o&&i===a||(G.out.println("inCircle robustness failure (double result = "+i+", DD result = "+o+", CC result = "+a+")"),G.out.println(he.toLineString(new Kt([t,e,r,n]))),G.out.println("Circumcentre = "+he.toPoint(s)+" radius = "+t.distance(s)),G.out.println("p radius diff a = "+Math.abs(n.distance(s)/t.distance(s)-1)),G.out.println("p radius diff b = "+Math.abs(n.distance(s)/e.distance(s)-1)),G.out.println("p radius diff c = "+Math.abs(n.distance(s)/r.distance(s)-1)),G.out.println())}static isInCircleDDFast(t,e,r,n){var i=j.sqr(t.x).selfAdd(j.sqr(t.y)).selfMultiply(aa.triAreaDDFast(e,r,n)),o=j.sqr(e.x).selfAdd(j.sqr(e.y)).selfMultiply(aa.triAreaDDFast(t,r,n)),a=j.sqr(r.x).selfAdd(j.sqr(r.y)).selfMultiply(aa.triAreaDDFast(t,e,n)),s=j.sqr(n.x).selfAdd(j.sqr(n.y)).selfMultiply(aa.triAreaDDFast(t,e,r));return i.selfSubtract(o).selfAdd(a).selfSubtract(s).doubleValue()>0}static isInCircleCC(t,e,r,n){var i=_e.circumcentre(t,e,r),o=t.distance(i);return n.distance(i)-o<=0}static isInCircleNormalized(t,e,r,n){var i=t.x-n.x,o=t.y-n.y,a=e.x-n.x,s=e.y-n.y,l=r.x-n.x,u=r.y-n.y;return(i*i+o*o)*(a*u-l*s)+(a*a+s*s)*(l*o-i*u)+(l*l+u*u)*(i*s-a*o)>0}static isInCircleDDSlow(t,e,r,n){var i=j.valueOf(n.x),o=j.valueOf(n.y),a=j.valueOf(t.x),s=j.valueOf(t.y),l=j.valueOf(e.x),u=j.valueOf(e.y),c=j.valueOf(r.x),h=j.valueOf(r.y),f=a.multiply(a).add(s.multiply(s)).multiply(aa.triAreaDDSlow(l,u,c,h,i,o)),p=l.multiply(l).add(u.multiply(u)).multiply(aa.triAreaDDSlow(a,s,c,h,i,o)),d=c.multiply(c).add(h.multiply(h)).multiply(aa.triAreaDDSlow(a,s,l,u,i,o)),g=i.multiply(i).add(o.multiply(o)).multiply(aa.triAreaDDSlow(a,s,l,u,c,h));return f.subtract(p).add(d).subtract(g).doubleValue()>0}static isInCircleNonRobust(t,e,r,n){return(t.x*t.x+t.y*t.y)*aa.triArea(e,r,n)-(e.x*e.x+e.y*e.y)*aa.triArea(t,r,n)+(r.x*r.x+r.y*r.y)*aa.triArea(t,e,n)-(n.x*n.x+n.y*n.y)*aa.triArea(t,e,r)>0}static isInCircleRobust(t,e,r,n){return aa.isInCircleNormalized(t,e,r,n)}static triAreaDDSlow(t,e,r,n,i,o){return r.subtract(t).multiply(o.subtract(e)).subtract(n.subtract(e).multiply(i.subtract(t)))}static triAreaDDFast(t,e,r){var n=j.valueOf(e.x).selfSubtract(t.x).selfMultiply(j.valueOf(r.y).selfSubtract(t.y)),i=j.valueOf(e.y).selfSubtract(t.y).selfMultiply(j.valueOf(r.x).selfSubtract(t.x));return n.selfSubtract(i)}getClass(){return aa}get interfaces_(){return[]}}aa.constructor_=function(){};class sa{constructor(){sa.constructor_.apply(this,arguments)}static interpolateZ(){if(3===arguments.length){let n=arguments[0],i=arguments[1],o=arguments[2];var t=i.distance(o),e=n.distance(i),r=o.z-i.z;return i.z+r*(e/t)}if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],d=arguments[3];var n=e.x,i=e.y,o=r.x-n,a=d.x-n,s=r.y-i,l=d.y-i,u=o*l-a*s,c=t.x-n,h=t.y-i,f=(l*c-a*h)/u,p=(-s*c+o*h)/u;return e.z+f*(r.z-e.z)+p*(d.z-e.z)}}circleCenter(t,e){var r=new sa(this.getX(),this.getY()),n=this.bisector(r,t),i=this.bisector(t,e),o=new U(n,i),a=null;try{a=new sa(o.getX(),o.getY())}catch(n){if(!(n instanceof M))throw n;G.err.println("a: "+r+" b: "+t+" c: "+e),G.err.println(n)}return a}dot(t){return this._p.x*t.getX()+this._p.y*t.getY()}magn(){return Math.sqrt(this._p.x*this._p.x+this._p.y*this._p.y)}getZ(){return this._p.z}bisector(t,e){var r=e.getX()-t.getX(),n=e.getY()-t.getY(),i=new U(t.getX()+r/2,t.getY()+n/2,1),o=new U(t.getX()-n+r/2,t.getY()+r+n/2,1);return new U(i,o)}equals(){if(1===arguments.length){let t=arguments[0];return this._p.x===t.getX()&&this._p.y===t.getY()}if(2===arguments.length){let t=arguments[0],e=arguments[1];return this._p.distance(t.getCoordinate())0}getX(){return this._p.x}crossProduct(t){return this._p.x*t.getY()-this._p.y*t.getX()}setZ(t){this._p.z=t}times(t){return new sa(t*this._p.x,t*this._p.y)}cross(){return new sa(this._p.y,-this._p.x)}leftOf(t){return this.isCCW(t.orig(),t.dest())}toString(){return"POINT ("+this._p.x+" "+this._p.y+")"}sub(t){return new sa(this._p.x-t.getX(),this._p.y-t.getY())}getY(){return this._p.y}classify(t,e){var r=e.sub(t),n=this.sub(t),i=r.crossProduct(n);return i>0?sa.LEFT:i<0?sa.RIGHT:r.getX()*n.getX()<0||r.getY()*n.getY()<0?sa.BEHIND:r.magn()0};class ha{constructor(){ha.constructor_.apply(this,arguments)}locate(t){}getClass(){return ha}get interfaces_(){return[]}}ha.constructor_=function(){};class fa{constructor(){fa.constructor_.apply(this,arguments)}init(){this._lastEdge=this.findEdge()}locate(t){this._lastEdge.isLive()||this.init();var e=this._subdiv.locateFromEdge(t,this._lastEdge);return this._lastEdge=e,e}findEdge(){return this._subdiv.getEdges().iterator().next()}getClass(){return fa}get interfaces_(){return[ha]}}fa.constructor_=function(){this._subdiv=null,this._lastEdge=null;let t=arguments[0];this._subdiv=t,this.init()};class pa extends g{constructor(){super(),pa.constructor_.apply(this,arguments)}static msgWithSpatial(t,e){return null!==e?t+" [ "+e+" ]":t}getSegment(){return this._seg}getClass(){return pa}get interfaces_(){return[]}}pa.constructor_=function(){if(this._seg=null,1===arguments.length){if("string"==typeof arguments[0]){let t=arguments[0];g.constructor_.call(this,t)}else if(arguments[0]instanceof de){let t=arguments[0];g.constructor_.call(this,"Locate failed to converge (at edge: "+t+"). Possible causes include invalid Subdivision topology or very close sites"),this._seg=new de(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];g.constructor_.call(this,pa.msgWithSpatial(t,e)),this._seg=new de(e)}};class da{constructor(){da.constructor_.apply(this,arguments)}visit(t){}getClass(){return da}get interfaces_(){return[]}}da.constructor_=function(){};class ga{constructor(){ga.constructor_.apply(this,arguments)}static getTriangleEdges(t,e){if(e[0]=t,e[1]=e[0].lNext(),e[2]=e[1].lNext(),e[2].lNext()!==e[0])throw new r("Edges do not form a triangle")}getTriangleVertices(t){var e=new _a;return this.visitTriangles(e,t),e.getTriangleVertices()}isFrameVertex(t){return!!t.equals(this._frameVertex[0])||!!t.equals(this._frameVertex[1])||!!t.equals(this._frameVertex[2])}isVertexOfEdge(t,e){return!(!e.equals(t.orig(),this._tolerance)&&!e.equals(t.dest(),this._tolerance))}connect(t,e){var r=ua.connect(t,e);return this._quadEdges.add(r),r}getVoronoiCellPolygon(t,e){var r=new C,n=t;do{var i=t.rot().orig().getCoordinate();r.add(i),t=t.oPrev()}while(t!==n);var o=new P;o.addAll(r,!1),o.closeRing(),o.size()<4&&(G.out.println(o),o.add(o.get(o.size()-1),!0));var a=o.toCoordinateArray(),s=e.createPolygon(e.createLinearRing(a)),l=n.orig();return s.setUserData(l.getCoordinate()),s}setLocator(t){this._locator=t}initSubdiv(){var t=this.makeEdge(this._frameVertex[0],this._frameVertex[1]),e=this.makeEdge(this._frameVertex[1],this._frameVertex[2]);ua.splice(t.sym(),e);var r=this.makeEdge(this._frameVertex[2],this._frameVertex[0]);return ua.splice(e.sym(),r),ua.splice(r.sym(),t),t}isFrameBorderEdge(t){var e=new Array(3).fill(null);ga.getTriangleEdges(t,e);var r=new Array(3).fill(null);ga.getTriangleEdges(t.sym(),r);var n=t.lNext().dest();if(this.isFrameVertex(n))return!0;var i=t.sym().lNext().dest();return!!this.isFrameVertex(i)}makeEdge(t,e){var r=ua.makeEdge(t,e);return this._quadEdges.add(r),r}visitTriangles(t,e){this._visitedKey++;var r=new Je;r.push(this._startingEdge);for(var n=new ot;!r.empty();){var i=r.pop();if(!n.contains(i)){var o=this.fetchTriangleToVisit(i,r,e,n);null!==o&&t.visit(o)}}}isFrameEdge(t){return!(!this.isFrameVertex(t.orig())&&!this.isFrameVertex(t.dest()))}isOnEdge(t,e){return this._seg.setCoordinates(t.orig().getCoordinate(),t.dest().getCoordinate()),this._seg.distance(e)r?10*e:10*r,this._frameVertex[0]=new sa((t.getMaxX()+t.getMinX())/2,t.getMaxY()+n),this._frameVertex[1]=new sa(t.getMinX()-n,t.getMinY()-n),this._frameVertex[2]=new sa(t.getMaxX()+n,t.getMinY()-n),this._frameEnv=new R(this._frameVertex[0].getCoordinate(),this._frameVertex[1].getCoordinate()),this._frameEnv.expandToInclude(this._frameVertex[2].getCoordinate())}getTriangleCoordinates(t){var e=new va;return this.visitTriangles(e,t),e.getTriangles()}getVertices(t){for(var e=new ot,r=this._quadEdges.iterator();r.hasNext();){var n=r.next(),i=n.orig();!t&&this.isFrameVertex(i)||e.add(i);var o=n.dest();!t&&this.isFrameVertex(o)||e.add(o)}return e}fetchTriangleToVisit(t,e,r,n){var i=t,o=0,a=!1;do{this._triEdges[o]=i,this.isFrameEdge(i)&&(a=!0);var s=i.sym();n.contains(s)||e.push(s),n.add(i),o++,i=i.lNext()}while(i!==t);return a&&!r?null:this._triEdges}getEdges(){if(0===arguments.length)return this._quadEdges;if(1===arguments.length){let o=arguments[0];for(var t=this.getPrimaryEdges(!1),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=o.createLineString([i.orig().getCoordinate(),i.dest().getCoordinate()])}return o.createMultiLineString(e)}}getVertexUniqueEdges(t){for(var e=new C,r=new ot,n=this._quadEdges.iterator();n.hasNext();){var i=n.next(),o=i.orig();r.contains(o)||(r.add(o),!t&&this.isFrameVertex(o)||e.add(i));var a=i.sym(),s=a.orig();r.contains(s)||(r.add(s),!t&&this.isFrameVertex(s)||e.add(a))}return e}getTriangleEdges(t){var e=new ma;return this.visitTriangles(e,t),e.getTriangleEdges()}getPrimaryEdges(t){this._visitedKey++;var e=new C,r=new Je;r.push(this._startingEdge);for(var n=new ot;!r.empty();){var i=r.pop();if(!n.contains(i)){var o=i.getPrimary();!t&&this.isFrameEdge(o)||e.add(o),r.push(i.oNext()),r.push(i.sym().oNext()),n.add(i),n.add(i.sym())}}return e}delete(t){ua.splice(t,t.oPrev()),ua.splice(t.sym(),t.sym().oPrev());var e=t.sym(),r=t.rot(),n=t.rot().sym();this._quadEdges.remove(t),this._quadEdges.remove(e),this._quadEdges.remove(r),this._quadEdges.remove(n),t.delete(),e.delete(),r.delete(),n.delete()}locateFromEdge(t,e){for(var r=0,n=this._quadEdges.size(),i=e;;){if(++r>n)throw new pa(i.toLineSegment());if(t.equals(i.orig())||t.equals(i.dest()))break;if(t.rightOf(i))i=i.sym();else if(t.rightOf(i.oNext())){if(t.rightOf(i.dPrev()))break;i=i.dPrev()}else i=i.oNext()}return i}getTolerance(){return this._tolerance}getVoronoiCellPolygons(t){this.visitTriangles(new ya,!0);for(var e=new C,r=this.getVertexUniqueEdges(!1).iterator();r.hasNext();){var n=r.next();e.add(this.getVoronoiCellPolygon(n,t))}return e}getVoronoiDiagram(t){var e=this.getVoronoiCellPolygons(t);return t.createGeometryCollection(ae.toGeometryArray(e))}getTriangles(t){for(var e=this.getTriangleCoordinates(!1),r=new Array(e.size()).fill(null),n=0,i=e.iterator();i.hasNext();){var o=i.next();r[n++]=t.createPolygon(t.createLinearRing(o))}return t.createGeometryCollection(r)}insertSite(t){var e=this.locate(t);if(t.equals(e.orig(),this._tolerance)||t.equals(e.dest(),this._tolerance))return e;var r=this.makeEdge(e.orig(),t);ua.splice(r,e);var n=r;do{e=(r=this.connect(e,r.sym())).oPrev()}while(e.lNext()!==n);return n}locate(){if(1===arguments.length){if(arguments[0]instanceof sa){let t=arguments[0];return this._locator.locate(t)}if(arguments[0]instanceof _){let t=arguments[0];return this._locator.locate(new sa(t))}}else if(2===arguments.length){let n=arguments[0],i=arguments[1];var t=this._locator.locate(new sa(n));if(null===t)return null;var e=t;t.dest().getCoordinate().equals2D(n)&&(e=t.sym());var r=e;do{if(r.dest().getCoordinate().equals2D(i))return r;r=r.oNext()}while(r!==e);return null}}getClass(){return ga}get interfaces_(){return[]}}class ya{constructor(){ya.constructor_.apply(this,arguments)}visit(t){for(var e=t[0].orig().getCoordinate(),r=t[1].orig().getCoordinate(),n=t[2].orig().getCoordinate(),i=_e.circumcentre(e,r,n),o=new sa(i),a=0;a<3;a++)t[a].rot().setOrig(o)}getClass(){return ya}get interfaces_(){return[da]}}ya.constructor_=function(){};class ma{constructor(){ma.constructor_.apply(this,arguments)}getTriangleEdges(){return this._triList}visit(t){this._triList.add(t)}getClass(){return ma}get interfaces_(){return[da]}}ma.constructor_=function(){this._triList=new C};class _a{constructor(){_a.constructor_.apply(this,arguments)}visit(t){this._triList.add([t[0].orig(),t[1].orig(),t[2].orig()])}getTriangleVertices(){return this._triList}getClass(){return _a}get interfaces_(){return[da]}}_a.constructor_=function(){this._triList=new C};class va{constructor(){va.constructor_.apply(this,arguments)}checkTriangleSize(t){t.length>=2?he.toLineString(t[0],t[1]):t.length>=1&&he.toPoint(t[0])}visit(t){this._coordList.clear();for(var e=0;e<3;e++){var r=t[e].orig();this._coordList.add(r.getCoordinate())}if(this._coordList.size()>0){this._coordList.closeRing();var n=this._coordList.toCoordinateArray();if(4!==n.length)return null;this._triCoords.add(n)}}getTriangles(){return this._triCoords}getClass(){return va}get interfaces_(){return[da]}}va.constructor_=function(){this._coordList=new P,this._triCoords=new C},ga.TriangleCircumcentreVisitor=ya,ga.TriangleEdgesListVisitor=ma,ga.TriangleVertexListVisitor=_a,ga.TriangleCoordinatesVisitor=va,ga.constructor_=function(){this._visitedKey=0,this._quadEdges=new C,this._startingEdge=null,this._tolerance=null,this._edgeCoincidenceTolerance=null,this._frameVertex=new Array(3).fill(null),this._frameEnv=null,this._locator=null,this._seg=new de,this._triEdges=new Array(3).fill(null);let t=arguments[0],e=arguments[1];this._tolerance=e,this._edgeCoincidenceTolerance=e/ga.EDGE_COINCIDENCE_TOL_FACTOR,this.createFrame(t),this._startingEdge=this.initSubdiv(),this._locator=new fa(this)},ga.EDGE_COINCIDENCE_TOL_FACTOR=1e3;class ba{constructor(){ba.constructor_.apply(this,arguments)}getLineSegment(){return this._ls}getEndZ(){return this._ls.getCoordinate(1).z}getStartZ(){return this._ls.getCoordinate(0).z}intersection(t){return this._ls.intersection(t.getLineSegment())}getStart(){return this._ls.getCoordinate(0)}getEnd(){return this._ls.getCoordinate(1)}getEndY(){return this._ls.getCoordinate(1).y}getStartX(){return this._ls.getCoordinate(0).x}equalsTopo(t){return this._ls.equalsTopo(t.getLineSegment())}getStartY(){return this._ls.getCoordinate(0).y}setData(t){this._data=t}getData(){return this._data}getEndX(){return this._ls.getCoordinate(1).x}toString(){return this._ls.toString()}getClass(){return ba}get interfaces_(){return[]}}ba.constructor_=function(){if(this._ls=null,this._data=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._ls=new de(t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._ls=new de(t,e),this._data=r}else if(6===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3],i=arguments[4],o=arguments[5];ba.constructor_.call(this,new _(t,e,r),new _(n,i,o))}else if(7===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3],i=arguments[4],o=arguments[5],a=arguments[6];ba.constructor_.call(this,new _(t,e,r),new _(n,i,o),a)}};class xa{constructor(){xa.constructor_.apply(this,arguments)}static computeVertexEnvelope(t){for(var e=new R,r=t.iterator();r.hasNext();){var n=r.next();e.expandToInclude(n.getCoordinate())}return e}getInitialVertices(){return this._initialVertices}getKDT(){return this._kdt}enforceConstraints(){this.addConstraintVertices();var t=0,e=0;do{e=this.enforceGabriel(this._segments),t++}while(e>0&&t=1)return e;var n=(e.x-t.x)*r+t.x,i=(e.y-t.y)*r+t.y,o=(e.z-t.z)*r+t.z;return new _(n,i,o)}static compareLocationValues(t,e,r,n,i,o){return tn?1:ei?1:ro?1:0}getSegmentIndex(){return this._segmentIndex}getComponentIndex(){return this._componentIndex}isEndpoint(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex>=e||this._segmentIndex===e&&this._segmentFraction>=1}isValid(t){if(this._componentIndex<0||this._componentIndex>=t.getNumGeometries())return!1;var e=t.getGeometryN(this._componentIndex);return!(this._segmentIndex<0||this._segmentIndex>e.getNumPoints()||this._segmentIndex===e.getNumPoints()&&0!==this._segmentFraction||this._segmentFraction<0||this._segmentFraction>1)}normalize(){this._segmentFraction<0&&(this._segmentFraction=0),this._segmentFraction>1&&(this._segmentFraction=1),this._componentIndex<0&&(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0),this._segmentIndex<0&&(this._segmentIndex=0,this._segmentFraction=0),1===this._segmentFraction&&(this._segmentFraction=0,this._segmentIndex+=1)}toLowest(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex=e.getNumPoints()-1)return r;var n=e.getCoordinateN(this._segmentIndex+1);return Ca.pointAlongSegmentByFraction(r,n,this._segmentFraction)}getSegmentFraction(){return this._segmentFraction}getSegment(t){var e=t.getGeometryN(this._componentIndex),r=e.getCoordinateN(this._segmentIndex);if(this._segmentIndex>=e.getNumPoints()-1){var n=e.getCoordinateN(e.getNumPoints()-2);return new de(n,r)}var i=e.getCoordinateN(this._segmentIndex+1);return new de(r,i)}clamp(t){if(this._componentIndex>=t.getNumGeometries())return this.setToEnd(t),null;if(this._segmentIndex>=t.getNumPoints()){var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}}setToEnd(t){this._componentIndex=t.getNumGeometries()-1;var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}compareTo(t){var e=t;return this._componentIndexe._componentIndex?1:this._segmentIndexe._segmentIndex?1:this._segmentFractione._segmentFraction?1:0}copy(){return new Ca(this._componentIndex,this._segmentIndex,this._segmentFraction)}toString(){return"LinearLoc["+this._componentIndex+", "+this._segmentIndex+", "+this._segmentFraction+"]"}isOnSameSegment(t){return this._componentIndex===t._componentIndex&&(this._segmentIndex===t._segmentIndex||t._segmentIndex-this._segmentIndex==1&&0===t._segmentFraction||this._segmentIndex-t._segmentIndex==1&&0===this._segmentFraction)}snapToVertex(t,e){if(this._segmentFraction<=0||this._segmentFraction>=1)return null;var r=this.getSegmentLength(t),n=this._segmentFraction*r,i=r-n;n<=i&&nt?1:this._segmentIndexe?1:this._segmentFractionr?1:0}getSegmentLength(t){var e=t.getGeometryN(this._componentIndex),r=this._segmentIndex;this._segmentIndex>=e.getNumPoints()-1&&(r=e.getNumPoints()-2);var n=e.getCoordinateN(r),i=e.getCoordinateN(r+1);return n.distance(i)}isVertex(){return this._segmentFraction<=0||this._segmentFraction>=1}getClass(){return Ca}get interfaces_(){return[h]}}Ca.constructor_=function(){if(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._componentIndex=t._componentIndex,this._segmentIndex=t._segmentIndex,this._segmentFraction=t._segmentFraction}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Ca.constructor_.call(this,0,t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=r,this.normalize()}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=r,n&&this.normalize()}};class Ta{constructor(){Ta.constructor_.apply(this,arguments)}static segmentEndVertexIndex(t){return t.getSegmentFraction()>0?t.getSegmentIndex()+1:t.getSegmentIndex()}getComponentIndex(){return this._componentIndex}getLine(){return this._currentLine}getVertexIndex(){return this._vertexIndex}getSegmentEnd(){return this._vertexIndex=this._currentLine.getNumPoints()&&(this._componentIndex++,this.loadCurrentLine(),this._vertexIndex=0)}loadCurrentLine(){if(this._componentIndex>=this._numLines)return this._currentLine=null,null;this._currentLine=this._linearGeom.getGeometryN(this._componentIndex)}getSegmentStart(){return this._currentLine.getCoordinateN(this._vertexIndex)}isEndOfLine(){return!(this._componentIndex>=this._numLines||this._vertexIndex=this._numLines||this._componentIndex===this._numLines-1&&this._vertexIndex>=this._currentLine.getNumPoints())}getClass(){return Ta}get interfaces_(){return[]}}Ta.constructor_=function(){if(this._linearGeom=null,this._numLines=null,this._currentLine=null,this._componentIndex=0,this._vertexIndex=0,1===arguments.length){let t=arguments[0];Ta.constructor_.call(this,t,0,0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Ta.constructor_.call(this,t,e.getComponentIndex(),Ta.segmentEndVertexIndex(e))}else if(3===arguments.length){let t=arguments[0],e=arguments[1],n=arguments[2];if(!b(t,dt))throw new r("Lineal geometry is required");this._linearGeom=t,this._numLines=t.getNumGeometries(),this._componentIndex=e,this._vertexIndex=n,this.loadCurrentLine()}};class Pa{constructor(){Pa.constructor_.apply(this,arguments)}static indexOf(t,e){return new Pa(t).indexOf(e)}static indexOfAfter(t,e,r){return new Pa(t).indexOfAfter(e,r)}indexOf(t){return this.indexOfFromStart(t,null)}indexOfFromStart(t,e){for(var r=i.MAX_VALUE,n=0,o=0,a=-1,s=new de,l=new Ta(this._linearGeom);l.hasNext();l.next())if(!l.isEndOfLine()){s.p0=l.getSegmentStart(),s.p1=l.getSegmentEnd();var u=s.distance(t),c=s.segmentFraction(t),h=l.getComponentIndex(),f=l.getVertexIndex();u=0,"computed location is before specified minimum location"),n}getClass(){return Pa}get interfaces_(){return[]}}Pa.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class Ra{constructor(){Ra.constructor_.apply(this,arguments)}static indicesOf(t,e){return new Ra(t).indicesOf(e)}indicesOf(t){var e=t.getGeometryN(0).getCoordinateN(0),r=t.getGeometryN(t.getNumGeometries()-1),n=r.getCoordinateN(r.getNumPoints()-1),i=new Pa(this._linearGeom),o=new Array(2).fill(null);return o[0]=i.indexOf(e),0===t.getLength()?o[1]=o[0].copy():o[1]=i.indexOfAfter(n,o[0]),o}getClass(){return Ra}get interfaces_(){return[]}}Ra.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class La{constructor(){La.constructor_.apply(this,arguments)}getGeometry(){return this.endLine(),this._geomFact.buildGeometry(this._lines)}getLastCoordinate(){return this._lastPt}endLine(){if(null===this._coordList)return null;if(this._ignoreInvalidLines&&this._coordList.size()<2)return this._coordList=null,null;var t=this._coordList.toCoordinateArray(),e=t;this._fixInvalidLines&&(e=this.validCoordinateSequence(t)),this._coordList=null;var n=null;try{n=this._geomFact.createLineString(e)}catch(t){if(!(t instanceof r))throw t;if(!this._ignoreInvalidLines)throw t}null!==n&&this._lines.add(n)}setFixInvalidLines(t){this._fixInvalidLines=t}add(){if(1===arguments.length){let t=arguments[0];this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];null===this._coordList&&(this._coordList=new P),this._coordList.add(t,e),this._lastPt=t}}setIgnoreInvalidLines(t){this._ignoreInvalidLines=t}validCoordinateSequence(t){return t.length>=2?t:[t[0],t[0]]}getClass(){return La}get interfaces_(){return[]}}La.constructor_=function(){this._geomFact=null,this._lines=new C,this._coordList=null,this._ignoreInvalidLines=!1,this._fixInvalidLines=!1,this._lastPt=null;let t=arguments[0];this._geomFact=t};class Ma{constructor(){Ma.constructor_.apply(this,arguments)}static extract(t,e,r){return new Ma(t).extract(e,r)}computeLinear(t,e){var r=new La(this._line.getFactory());r.setFixInvalidLines(!0),t.isVertex()||r.add(t.getCoordinate(this._line));for(var n=new Ta(this._line,t);n.hasNext()&&!(e.compareLocationValues(n.getComponentIndex(),n.getVertexIndex(),0)<0);n.next()){var i=n.getSegmentStart();r.add(i),n.isEndOfLine()&&r.endLine()}return e.isVertex()||r.add(e.getCoordinate(this._line)),r.getGeometry()}computeLine(t,e){var r=this._line.getCoordinates(),n=new P,i=t.getSegmentIndex();t.getSegmentFraction()>0&&(i+=1);var o=e.getSegmentIndex();1===e.getSegmentFraction()&&(o+=1),o>=r.length&&(o=r.length-1),t.isVertex()||n.add(t.getCoordinate(this._line));for(var a=i;a<=o;a++)n.add(r[a]);e.isVertex()||n.add(e.getCoordinate(this._line)),n.size()<=0&&n.add(t.getCoordinate(this._line));var s=n.toCoordinateArray();return s.length<=1&&(s=[s[0],s[0]]),this._line.getFactory().createLineString(s)}extract(t,e){return e.compareTo(t)<0?this.reverse(this.computeLinear(e,t)):this.computeLinear(t,e)}reverse(t){return t instanceof jt||t instanceof St?t.reverse():(m.shouldNeverReachHere("non-linear geometry encountered"),null)}getClass(){return Ma}get interfaces_(){return[]}}Ma.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class Aa{constructor(){Aa.constructor_.apply(this,arguments)}clampIndex(t){var e=t.copy();return e.clamp(this._linearGeom),e}project(t){return Pa.indexOf(this._linearGeom,t)}checkGeometryType(){if(!(this._linearGeom instanceof jt||this._linearGeom instanceof St))throw new r("Input geometry must be linear")}extractPoint(){if(1===arguments.length)return arguments[0].getCoordinate(this._linearGeom);if(2===arguments.length){let e=arguments[1];var t=arguments[0].toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),e)}}isValidIndex(t){return t.isValid(this._linearGeom)}getEndIndex(){return Ca.getEndLocation(this._linearGeom)}getStartIndex(){return new Ca}indexOfAfter(t,e){return Pa.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){return Ma.extract(this._linearGeom,t,e)}indexOf(t){return Pa.indexOf(this._linearGeom,t)}indicesOf(t){return Ra.indicesOf(this._linearGeom,t)}getClass(){return Aa}get interfaces_(){return[]}}Aa.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t,this.checkGeometryType()};class Na{constructor(){Na.constructor_.apply(this,arguments)}static indexOf(t,e){return new Na(t).indexOf(e)}static indexOfAfter(t,e,r){return new Na(t).indexOfAfter(e,r)}indexOf(t){return this.indexOfFromStart(t,-1)}indexOfFromStart(t,e){for(var r=i.MAX_VALUE,n=e,o=0,a=new de,s=new Ta(this._linearGeom);s.hasNext();){if(!s.isEndOfLine()){a.p0=s.getSegmentStart(),a.p1=s.getSegmentEnd();var l=a.distance(t),u=this.segmentNearestMeasure(a,t,o);le&&(n=u,r=l),o+=a.getLength()}s.next()}return n}indexOfAfter(t,e){if(e<0)return this.indexOf(t);var r=this._linearGeom.getLength();if(r=e,"computed index is before specified minimum index"),n}segmentNearestMeasure(t,e,r){var n=t.projectionFactor(e);return n<=0?r:n<=1?r+n*t.getLength():r+t.getLength()}getClass(){return Na}get interfaces_(){return[]}}Na.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class ka{constructor(){ka.constructor_.apply(this,arguments)}static getLength(t,e){return new ka(t).getLength(e)}static getLocation(){if(2===arguments.length){let t=arguments[1];return new ka(arguments[0]).getLocation(t)}if(3===arguments.length){let t=arguments[1],e=arguments[2];return new ka(arguments[0]).getLocation(t,e)}}getLength(t){for(var e=0,r=new Ta(this._linearGeom);r.hasNext();){if(!r.isEndOfLine()){var n=r.getSegmentStart(),i=r.getSegmentEnd().distance(n);if(t.getComponentIndex()===r.getComponentIndex()&&t.getSegmentIndex()===r.getVertexIndex())return e+i*t.getSegmentFraction();e+=i}r.next()}return e}resolveHigher(t){if(!t.isEndpoint(this._linearGeom))return t;var e=t.getComponentIndex();if(e>=this._linearGeom.getNumGeometries()-1)return t;do{e++}while(et){var s=(t-e)/a;return n=r.getComponentIndex(),i=r.getVertexIndex(),new Ca(n,i,s)}e+=a}r.next()}return Ca.getEndLocation(this._linearGeom)}getClass(){return ka}get interfaces_(){return[]}}ka.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class ja{constructor(){ja.constructor_.apply(this,arguments)}clampIndex(t){var e=this.positiveIndex(t),r=this.getStartIndex();if(en?n:e}locationOf(){if(1===arguments.length){let t=arguments[0];return ka.getLocation(this._linearGeom,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return ka.getLocation(this._linearGeom,t,e)}}project(t){return Na.indexOf(this._linearGeom,t)}positiveIndex(t){return t>=0?t:this._linearGeom.getLength()+t}extractPoint(){if(1===arguments.length){let t=arguments[0];return ka.getLocation(this._linearGeom,t).getCoordinate(this._linearGeom)}if(2===arguments.length){let e=arguments[0],r=arguments[1];var t=ka.getLocation(this._linearGeom,e).toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),r)}}isValidIndex(t){return t>=this.getStartIndex()&&t<=this.getEndIndex()}getEndIndex(){return this._linearGeom.getLength()}getStartIndex(){return 0}indexOfAfter(t,e){return Na.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){new Aa(this._linearGeom);var r=this.clampIndex(t),n=this.clampIndex(e),i=r===n,o=this.locationOf(r,i),a=this.locationOf(n);return Ma.extract(this._linearGeom,o,a)}indexOf(t){return Na.indexOf(this._linearGeom,t)}indicesOf(t){var e=Ra.indicesOf(this._linearGeom,t);return[ka.getLength(this._linearGeom,e[0]),ka.getLength(this._linearGeom,e[1])]}getClass(){return ja}get interfaces_(){return[]}}ja.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};var Fa=Object.freeze({LengthIndexedLine:ja,LengthLocationMap:ka,LinearGeometryBuilder:La,LinearIterator:Ta,LinearLocation:Ca,LocationIndexedLine:Aa});class Da{get interfaces_(){return[]}getClass(){return Da}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),$i.overlayOp(t,e,eo.UNION)}}W.prototype.equalsTopo=function(t){return!!this.getEnvelopeInternal().equals(t.getEnvelopeInternal())&&Oo.relate(this,t).isEquals(this.getDimension(),t.getDimension())},W.prototype.union=function(){if(0===arguments.length)return Lo.union(this);if(1===arguments.length){let t=arguments[0];return Da.union(this,t)}},W.prototype.isValid=function(){return Do.isValid(this)},W.prototype.intersection=function(t){if(this.isEmpty()||t.isEmpty())return eo.createEmptyResult(eo.INTERSECTION,this,t,this._factory);if(this.isGeometryCollection()){var e=t;return zi.map(this,{interfaces_:[MapOp],map:function(t){return t.intersection(e)}})}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.INTERSECTION)},W.prototype.covers=function(t){return Oo.covers(this,t)},W.prototype.coveredBy=function(t){return Oo.covers(t,this)},W.prototype.touches=function(t){return Oo.touches(this,t)},W.prototype.intersects=function(t){return Oo.intersects(this,t)},W.prototype.within=function(t){return Oo.contains(t,this)},W.prototype.overlaps=function(t){return Oo.overlaps(this,t)},W.prototype.disjoint=function(t){return Oo.disjoint(this,t)},W.prototype.crosses=function(t){return Oo.crosses(this,t)},W.prototype.buffer=function(){if(1===arguments.length){let t=arguments[0];return mi.bufferOp(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return mi.bufferOp(this,t,e)}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return mi.bufferOp(this,t,e,r)}},W.prototype.convexHull=function(){return new $e(this).getConvexHull()},W.prototype.relate=function(...t){if(1===arguments.length){let t=arguments[0];return Oo.relate(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Oo.relate(this,t).matches(e)}},W.prototype.getCentroid=function(){if(this.isEmpty())return this._factory.createPoint();var t=Ze.getCentroid(this);return this.createPointFromInternalCoord(t,this)},W.prototype.getInteriorPoint=function(){if(this.isEmpty())return this._factory.createPoint();var t=null,e=this.getDimension();return t=0===e?new ir(this).getInteriorPoint():1===e?new nr(this).getInteriorPoint():new er(this).getInteriorPoint(),this.createPointFromInternalCoord(t,this)},W.prototype.symDifference=function(t){if(this.isEmpty()||t.isEmpty()){if(this.isEmpty()&&t.isEmpty())return eo.createEmptyResult(eo.SYMDIFFERENCE,this,t,this._factory);if(this.isEmpty())return t.copy();if(t.isEmpty())return this.copy()}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.SYMDIFFERENCE)},W.prototype.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},W.prototype.toText=function(){return(new he).write(this)},W.prototype.toString=function(){this.toText()},W.prototype.contains=function(t){return Oo.contains(this,t)},W.prototype.difference=function(t){return this.isEmpty()?eo.createEmptyResult(eo.DIFFERENCE,this,t,this._factory):t.isEmpty()?this.copy():(this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.DIFFERENCE))},W.prototype.isSimple=function(){return new Gn(this).isSimple()},W.prototype.isWithinDistance=function(t,e){return!(this.getEnvelopeInternal().distance(t.getEnvelopeInternal())>e)&&Ei.isWithinDistance(this,t,e)},W.prototype.distance=function(t){return Ei.distance(this,t)},W.prototype.isEquivalentClass=function(t){return this.getClass()===t.getClass()},t.version="2.0.2 (f363091)",t.algorithm=sr,t.densify=hr,t.dissolve=vr,t.geom=ve,t.geomgraph=qr,t.index=yn,t.io=wn,t.noding=Dn,t.operation=Uo,t.precision=Vo,t.simplify=ra,t.triangulate=Ia,t.linearref=Fa,Object.defineProperty(t,"__esModule",{value:!0})}(e)},function(t,e,r){"use strict";r.r(e);var n={};r.r(n),r.d(n,"LEFT",(function(){return Gy})),r.d(n,"CENTER",(function(){return Uy})),r.d(n,"RIGHT",(function(){return By})),r.d(n,"JUSTIFY",(function(){return zy}));var i={};r.r(i),r.d(i,"TOP",(function(){return Vy})),r.d(i,"MIDDLE",(function(){return qy})),r.d(i,"BOTTOM",(function(){return Yy})),r.d(i,"ALPHABETIC",(function(){return Wy})),r.d(i,"HANGING",(function(){return Xy})),r.d(i,"IDEOGRAPHIC",(function(){return Hy}));var o={};r.r(o),r.d(o,"show",(function(){return Ux})),r.d(o,"info",(function(){return Bx})),r.d(o,"error",(function(){return zx})),r.d(o,"success",(function(){return Vx}));var a={};r.r(a),r.d(a,"POINT",(function(){return ZA})),r.d(a,"LINE",(function(){return KA})),r.d(a,"POLYGON",(function(){return JA})),r.d(a,"MPOINT",(function(){return QA})),r.d(a,"MLINE",(function(){return $A})),r.d(a,"MPOLYGON",(function(){return tN}));var s=r(29),l=r.n(s),u=r(1),c=function(t,e,r){var n=Object(u.o)(e),i=Object(u.o)(r);return Object(u.z)(t,n,i)},h=r(5),f="http://www.w3.org/2001/XMLSchema-instance";function p(t,e){return j().createElementNS(t,e)}function d(t,e){return g(t,e,[]).join("")}function g(t,e,r){if(t.nodeType==Node.CDATA_SECTION_NODE||t.nodeType==Node.TEXT_NODE)e?r.push(String(t.nodeValue).replace(/(\r\n|\r|\n)/g,"")):r.push(t.nodeValue);else{var n=void 0;for(n=t.firstChild;n;n=n.nextSibling)g(n,e,r)}return r}function y(t){return"documentElement"in t}function m(t){return(new DOMParser).parseFromString(t,"application/xml")}function _(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);if(void 0!==i){var o=n[n.length-1];Object(h.c)(o,i)}}}function v(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);void 0!==i&&n[n.length-1].push(i)}}function b(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);void 0!==i&&(n[n.length-1]=i)}}function x(t,e,r){return function(n,i){var o=t.call(void 0!==r?r:this,n,i);if(void 0!==o){var a=i[i.length-1],s=void 0!==e?e:n.localName,l=void 0;s in a?l=a[s]:(l=[],a[s]=l),l.push(o)}}}function w(t,e,r){return function(n,i){var o=t.call(void 0!==r?r:this,n,i);void 0!==o&&(i[i.length-1][void 0!==e?e:n.localName]=o)}}function E(t,e){return function(r,n,i){t.call(void 0!==e?e:this,r,n,i),i[i.length-1].node.appendChild(r)}}function S(t,e){var r,n;return function(e,i,o){if(void 0===r){r={};var a={};a[e.localName]=t,r[e.namespaceURI]=a,n=O(e.localName)}L(r,n,i,o)}}function O(t,e){var r=t;return function(t,n,i){var o=n[n.length-1].node,a=r;return void 0===a&&(a=i),p(void 0!==e?e:o.namespaceURI,a)}}var I=O();function C(t,e){for(var r=e.length,n=new Array(r),i=0;i=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},ne.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(ee.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},ne.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},ne.prototype.number=function(t){if(!re.test(t)){if(ee.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},ne.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},ne.prototype.keyword=function(t){if(te.test(t))this.word+=t;else{if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!ee.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},ne.prototype.neutral=function(t){if($t.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(re.test(t))return this.word=t,void(this.state=3);if(!ee.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},ne.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1)}(i),i};function le(t){var e=this;if(2===arguments.length){var r=arguments[1];"string"==typeof r?"+"===r.charAt(0)?le[t]=Kt(arguments[1]):le[t]=se(arguments[1]):le[t]=r}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?le.apply(e,t):le(t)}));if("string"==typeof t){if(t in le)return le[t]}else"EPSG"in t?le["EPSG:"+t.EPSG]=t:"ESRI"in t?le["ESRI:"+t.ESRI]=t:"IAU2000"in t?le["IAU2000:"+t.IAU2000]=t:console.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}(le);var ue=le;var ce=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];var he=["3857","900913","3785","102113"];var fe=function(t){if(!function(t){return"string"==typeof t}(t))return t;if(function(t){return t in ue}(t))return ue[t];if(function(t){return ce.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=se(t);if(function(t){var e=Zt(t,"authority");if(e){var r=Zt(e,"epsg");return r&&he.indexOf(r)>-1}}(e))return ue["EPSG:3857"];var r=function(t){var e=Zt(t,"extension");if(e)return Zt(e,"proj4")}(e);return r?Kt(r):e}return function(t){return"+"===t[0]}(t)?Kt(t):void 0},pe=function(t,e){var r,n;if(t=t||{},!e)return t;for(n in e)void 0!==(r=e[n])&&(t[n]=r);return t},de=function(t,e,r){var n=t*e;return r/Math.sqrt(1-n*n)},ge=function(t){return t<0?-1:1},ye=function(t){return Math.abs(t)<=Yt?t:t-ge(t)*qt},me=function(t,e,r){var n=t*r,i=.5*t;return n=Math.pow((1-n)/(1+n),i),Math.tan(.5*(Gt-e))/n},_e=function(t,e){for(var r,n,i=.5*t,o=Gt-2*Math.atan(e),a=0;a<=15;a++)if(r=t*Math.sin(o),o+=n=Gt-2*Math.atan(e*Math.pow((1-r)/(1+r),i))-o,Math.abs(n)<=1e-10)return o;return-9999};function ve(t){return t}var be=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var e,r,n=t.x,i=t.y;if(i*zt>90&&i*zt<-90&&n*zt>180&&n*zt<-180)return null;if(Math.abs(Math.abs(i)-Gt)<=Ut)return null;if(this.sphere)e=this.x0+this.a*this.k0*ye(n-this.long0),r=this.y0+this.a*this.k0*Math.log(Math.tan(Vt+.5*i));else{var o=Math.sin(i),a=me(this.e,i,o);e=this.x0+this.a*this.k0*ye(n-this.long0),r=this.y0-this.a*this.k0*Math.log(a)}return t.x=e,t.y=r,t},inverse:function(t){var e,r,n=t.x-this.x0,i=t.y-this.y0;if(this.sphere)r=Gt-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else{var o=Math.exp(-i/(this.a*this.k0));if(-9999===(r=_e(this.e,o)))return null}return e=ye(this.long0+n/(this.a*this.k0)),t.x=e,t.y=r,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:ve,inverse:ve,names:["longlat","identity"]}],xe={},we=[];function Ee(t,e){var r=we.length;return t.names?(we[r]=t,t.names.forEach((function(t){xe[t.toLowerCase()]=r})),this):(console.log(e),!0)}var Se={start:function(){be.forEach(Ee)},add:Ee,get:function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==xe[e]&&we[xe[e]]?we[xe[e]]:void 0}},Oe={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},Ie=Oe.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};Oe.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var Ce={};Ce.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},Ce.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},Ce.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},Ce.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},Ce.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},Ce.potsdam={towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},Ce.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},Ce.hermannskogel={towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},Ce.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},Ce.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},Ce.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},Ce.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},Ce.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},Ce.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},Ce.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},Ce.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},Ce.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};var Te=function(t,e,r,n,i,o,a){var s={};return s.datum_type=void 0===t||"none"===t?5:4,e&&(s.datum_params=e.map(parseFloat),0===s.datum_params[0]&&0===s.datum_params[1]&&0===s.datum_params[2]||(s.datum_type=1),s.datum_params.length>3&&(0===s.datum_params[3]&&0===s.datum_params[4]&&0===s.datum_params[5]&&0===s.datum_params[6]||(s.datum_type=2,s.datum_params[3]*=Dt,s.datum_params[4]*=Dt,s.datum_params[5]*=Dt,s.datum_params[6]=s.datum_params[6]/1e6+1))),a&&(s.datum_type=3,s.grids=a),s.a=r,s.b=n,s.es=i,s.ep2=o,s},Pe={};function Re(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:Pe[t]||null,isNull:!1}}function Le(t){return t/3600*Math.PI/180}function Me(t,e,r){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,r)))}function Ae(t){return t.map((function(t){return[Le(t.longitudeShift),Le(t.latitudeShift)]}))}function Ne(t,e,r){return{name:Me(t,e+8,e+16).trim(),parent:Me(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,r),upperLatitude:t.getFloat64(e+88,r),lowerLongitude:t.getFloat64(e+104,r),upperLongitude:t.getFloat64(e+120,r),latitudeInterval:t.getFloat64(e+136,r),longitudeInterval:t.getFloat64(e+152,r),gridNodeCount:t.getInt32(e+168,r)}}function ke(t,e,r,n){for(var i=e+176,o=[],a=0;a-1.001*Gt)l=-Gt;else if(l>Gt&&l<1.001*Gt)l=Gt;else{if(l<-Gt)return{x:-1/0,y:-1/0,z:t.z};if(l>Gt)return{x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(l),a=Math.cos(l),o=i*i,{x:((n=r/Math.sqrt(1-e*o))+u)*a*Math.cos(s),y:(n+u)*a*Math.sin(s),z:(n*(1-e)+u)*i}}function Ge(t,e,r,n){var i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v=1e-12,b=t.x,x=t.y,w=t.z?t.z:0;if(i=Math.sqrt(b*b+x*x),o=Math.sqrt(b*b+x*x+w*w),i/r1e-24&&y<30);return{x:m,y:Math.atan(d/Math.abs(p)),z:_}}function Ue(t){return 1===t||2===t}var Be=function(t,e,r){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(1===t.datum_type?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:2!==t.datum_type||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return r;if(5===t.datum_type||5===e.datum_type)return r;var n=t.a,i=t.es;if(3===t.datum_type){if(0!==ze(t,!1,r))return;n=jt,i=Ft}var o=e.a,a=e.b,s=e.es;if(3===e.datum_type&&(o=jt,a=6356752.314,s=Ft),i===s&&n===o&&!Ue(t.datum_type)&&!Ue(e.datum_type))return r;if((r=De(r,i,n),Ue(t.datum_type)&&(r=function(t,e,r){if(1===e)return{x:t.x+r[0],y:t.y+r[1],z:t.z+r[2]};if(2===e){var n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=r[5],u=r[6];return{x:u*(t.x-l*t.y+s*t.z)+n,y:u*(l*t.x+t.y-a*t.z)+i,z:u*(-s*t.x+a*t.y+t.z)+o}}}(r,t.datum_type,t.datum_params)),Ue(e.datum_type)&&(r=function(t,e,r){if(1===e)return{x:t.x-r[0],y:t.y-r[1],z:t.z-r[2]};if(2===e){var n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=r[5],u=r[6],c=(t.x-n)/u,h=(t.y-i)/u,f=(t.z-o)/u;return{x:c+l*h-s*f,y:-l*c+h+a*f,z:s*c-a*h+f}}}(r,e.datum_type,e.datum_params)),r=Ge(r,s,o,a),3===e.datum_type)&&0!==ze(e,!0,r))return;return r};function ze(t,e,r){if(null===t.grids||0===t.grids.length)return console.log("Grid shift grids not found"),-1;for(var n={x:-r.x,y:r.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;an.y||c>n.x||p1e-12&&Math.abs(a.y)>1e-12);if(l<0)return console.log("Inverse grid shift iterator failed to converge."),n;n.x=ye(o.x+r.ll[0]),n.y=o.y+r.ll[1]}else isNaN(o.x)||(n.x=t.x+o.x,n.y=t.y+o.y);return n}function qe(t,e){var r,n={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(n.x),o=Math.floor(n.y),a=n.x-1*i,s=n.y-1*o,l={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return l;if(o<0||o>=e.lim[1])return l;r=o*e.lim[0]+i;var u=e.cvs[r][0],c=e.cvs[r][1];r++;var h=e.cvs[r][0],f=e.cvs[r][1];r+=e.lim[0];var p=e.cvs[r][0],d=e.cvs[r][1];r--;var g=e.cvs[r][0],y=e.cvs[r][1],m=a*s,_=a*(1-s),v=(1-a)*(1-s),b=(1-a)*s;return l.x=v*u+_*h+b*g+m*p,l.y=v*c+_*f+b*y+m*d,l}var Ye=function(t,e,r){var n,i,o,a=r.x,s=r.y,l=r.z||0,u={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==r.z)switch(0===o?(n=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(n=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(n=l,i="z"),t.axis[o]){case"e":u[i]=n;break;case"w":u[i]=-n;break;case"n":u[i]=n;break;case"s":u[i]=-n;break;case"u":void 0!==r[i]&&(u.z=n);break;case"d":void 0!==r[i]&&(u.z=-n);break;default:return null}return u},We=function(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e};function Xe(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function He(t,e,r,n){var i,o=void 0!==(r=Array.isArray(r)?We(r):{x:r.x,y:r.y,z:r.z,m:r.m}).z;if(function(t){Xe(t.x),Xe(t.y)}(r),t.datum&&e.datum&&function(t,e){return(1===t.datum.datum_type||2===t.datum.datum_type||3===t.datum.datum_type)&&"WGS84"!==e.datumCode||(1===e.datum.datum_type||2===e.datum.datum_type||3===e.datum.datum_type)&&"WGS84"!==t.datumCode}(t,e)&&(r=He(t,i=new Fe("WGS84"),r,n),t=i),n&&"enu"!==t.axis&&(r=Ye(t,!1,r)),"longlat"===t.projName)r={x:r.x*Bt,y:r.y*Bt,z:r.z||0};else if(t.to_meter&&(r={x:r.x*t.to_meter,y:r.y*t.to_meter,z:r.z||0}),!(r=t.inverse(r)))return;if(t.from_greenwich&&(r.x+=t.from_greenwich),r=Be(t.datum,e.datum,r))return e.from_greenwich&&(r={x:r.x-e.from_greenwich,y:r.y,z:r.z||0}),"longlat"===e.projName?r={x:r.x*zt,y:r.y*zt,z:r.z||0}:(r=e.forward(r),e.to_meter&&(r={x:r.x/e.to_meter,y:r.y/e.to_meter,z:r.z||0})),n&&"enu"!==e.axis?Ye(e,!0,r):(o||delete r.z,r)}var Ze=Fe("WGS84");function Ke(t,e,r,n){var i,o,a;return Array.isArray(r)?(i=He(t,e,r,n)||{x:NaN,y:NaN},r.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(r.splice(3)):[i.x,i.y,r[2]].concat(r.splice(3)):[i.x,i.y].concat(r.splice(2)):[i.x,i.y]):(o=He(t,e,r,n),2===(a=Object.keys(r)).length||a.forEach((function(n){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===n||"y"===n||"z"===n)return}else if("x"===n||"y"===n)return;o[n]=r[n]})),o)}function Je(t){return t instanceof Fe?t:t.oProj?t.oProj:Fe(t)}var Qe=function(t,e,r){t=Je(t);var n,i=!1;return void 0===e?(e=t,t=Ze,i=!0):(void 0!==e.x||Array.isArray(e))&&(r=e,e=t,t=Ze,i=!0),e=Je(e),r?Ke(t,e,r):(n={forward:function(r,n){return Ke(t,e,r,n)},inverse:function(r,n){return Ke(e,t,r,n)}},i&&(n.oProj=e),n)},$e="AJSAJS",tr="AFAFAF",er=65,rr=73,nr=79,ir=86,or=90,ar={forward:sr,inverse:function(t){var e=hr(dr(t.toUpperCase()));if(e.lat&&e.lon)return[e.lon,e.lat,e.lon,e.lat];return[e.left,e.bottom,e.right,e.top]},toPoint:lr};function sr(t,e){return e=e||5,function(t,e){var r="00000"+t.easting,n="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(p=t.easting,d=t.northing,g=t.zoneNumber,y=pr(g),m=Math.floor(p/1e5),_=Math.floor(d/1e5)%20,i=m,o=_,a=y,s=a-1,l=$e.charCodeAt(s),u=tr.charCodeAt(s),c=l+i-1,h=u+o,f=!1,c>or&&(c=c-or+er-1,f=!0),(c===rr||lrr||(c>rr||lnr||(c>nr||lor&&(c=c-or+er-1),h>ir?(h=h-ir+er-1,f=!0):f=!1,(h===rr||urr||(h>rr||unr||(h>nr||uir&&(h=h-ir+er-1),String.fromCharCode(c)+String.fromCharCode(h))+r.substr(r.length-5,e)+n.substr(n.length-5,e);var i,o,a,s,l,u,c,h,f;var p,d,g,y,m,_}(function(t){var e,r,n,i,o,a,s,l,u=t.lat,c=t.lon,h=6378137,f=.00669438,p=.9996,d=ur(u),g=ur(c);l=Math.floor((c+180)/6)+1,180===c&&(l=60);u>=56&&u<64&&c>=3&&c<12&&(l=32);u>=72&&u<84&&(c>=0&&c<9?l=31:c>=9&&c<21?l=33:c>=21&&c<33?l=35:c>=33&&c<42&&(l=37));s=ur(6*(l-1)-180+3),e=f/(1-f),r=h/Math.sqrt(1-f*Math.sin(d)*Math.sin(d)),n=Math.tan(d)*Math.tan(d),i=e*Math.cos(d)*Math.cos(d),o=Math.cos(d)*(g-s),a=h*((1-f/4-3*f*f/64-5*f*f*f/256)*d-(3*f/8+3*f*f/32+45*f*f*f/1024)*Math.sin(2*d)+(15*f*f/256+45*f*f*f/1024)*Math.sin(4*d)-35*f*f*f/3072*Math.sin(6*d));var y=p*r*(o+(1-n+i)*o*o*o/6+(5-18*n+n*n+72*i-58*e)*o*o*o*o*o/120)+5e5,m=p*(a+r*Math.tan(d)*(o*o/2+(5-n+9*i+4*i*i)*o*o*o*o/24+(61-58*n+n*n+600*i-330*e)*o*o*o*o*o*o/720));u<0&&(m+=1e7);return{northing:Math.round(m),easting:Math.round(y),zoneNumber:l,zoneLetter:fr(u)}}({lat:t[1],lon:t[0]}),e)}function lr(t){var e=hr(dr(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function ur(t){return t*(Math.PI/180)}function cr(t){return t/Math.PI*180}function hr(t){var e=t.northing,r=t.easting,n=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,l,u,c,h,f,p,d=.9996,g=6378137,y=.00669438,m=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=r-5e5,v=e;n<"N"&&(v-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=v/d/6367449.145945056)+(3*m/2-27*m*m*m/32)*Math.sin(2*f)+(21*m*m/16-55*m*m*m*m/32)*Math.sin(4*f)+151*m*m*m/96*Math.sin(6*f),a=g/Math.sqrt(1-y*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),l=o*Math.cos(p)*Math.cos(p),u=.99330562*g/Math.pow(1-y*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var b=p-a*Math.tan(p)/u*(c*c/2-(5+3*s+10*l-4*l*l-9*o)*c*c*c*c/24+(61+90*s+298*l+45*s*s-1.6983531815716497-3*l*l)*c*c*c*c*c*c/720);b=cr(b);var x,w=(c-(1+2*s+l)*c*c*c/6+(5-2*l+28*s-3*l*l+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(w=h+cr(w),t.accuracy){var E=hr({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});x={top:E.lat,right:E.lon,bottom:b,left:w}}else x={lat:b,lon:w};return x}function fr(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function pr(t){var e=t%6;return 0===e&&(e=6),e}function dr(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var e,r=t.length,n=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw"MGRSPoint bad conversion from: "+t;i+=e,o++}var a=parseInt(i,10);if(0===o||o+3>r)throw"MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw"MGRSPoint zone letter "+s+" not handled: "+t;n=t.substring(o,o+=2);for(var l=pr(a),u=function(t,e){var r=$e.charCodeAt(e-1),n=1e5,i=!1;for(;r!==t.charCodeAt(0);){if(++r===rr&&r++,r===nr&&r++,r>or){if(i)throw"Bad character: "+t;r=er,i=!0}n+=1e5}return n}(n.charAt(0),l),c=function(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;var r=tr.charCodeAt(e-1),n=0,i=!1;for(;r!==t.charCodeAt(0);){if(++r===rr&&r++,r===nr&&r++,r>ir){if(i)throw"Bad character: "+t;r=er,i=!0}n+=1e5}return n}(n.charAt(1),l);c0&&(f=1e5/Math.pow(10,g),p=t.substring(o,o+g),y=parseFloat(p)*f,d=t.substring(o+g),m=parseFloat(d)*f),{easting:y+u,northing:m+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function gr(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}function yr(t,e,r){if(!(this instanceof yr))return new yr(t,e,r);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var n=t.split(",");this.x=parseFloat(n[0],10),this.y=parseFloat(n[1],10),this.z=parseFloat(n[2],10)||0}else this.x=t,this.y=e,this.z=r||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}yr.fromMGRS=function(t){return new yr(lr(t))},yr.prototype.toMGRS=function(t){return sr([this.x,this.y],t)};var mr=yr,_r=.046875,vr=.01953125,br=.01068115234375,xr=function(t){var e=[];e[0]=1-t*(.25+t*(_r+t*(vr+t*br))),e[1]=t*(.75-t*(_r+t*(vr+t*br)));var r=t*t;return e[2]=r*(.46875-t*(.013020833333333334+.007120768229166667*t)),r*=t,e[3]=r*(.3645833333333333-.005696614583333333*t),e[4]=r*t*.3076171875,e},wr=function(t,e,r,n){return r*=e,e*=e,n[0]*t-r*(n[1]+e*(n[2]+e*(n[3]+e*n[4])))},Er=function(t,e,r){for(var n=1/(1-e),i=t,o=20;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(wr(i,a,Math.cos(i),r)-t)*(s*Math.sqrt(s))*n,Math.abs(s)Ut?Math.tan(o):0,d=Math.pow(p,2),g=Math.pow(d,2);e=1-this.es*Math.pow(s,2),u/=Math.sqrt(e);var y=wr(o,s,l,this.en);r=this.a*(this.k0*u*(1+c/6*(1-d+h+c/20*(5-18*d+g+14*h-58*d*h+c/42*(61+179*g-g*d-479*d)))))+this.x0,n=this.a*(this.k0*(y-this.ml0+s*a*u/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+g-58*d+270*h-330*d*h+c/56*(1385+543*g-g*d-3111*d))))))+this.y0}else{var m=l*Math.sin(a);if(Math.abs(Math.abs(m)-1)=1){if(m-1>Ut)return 93;n=0}else n=Math.acos(n);o<0&&(n=-n),n=this.a*this.k0*(n-this.lat0)+this.y0}return t.x=r,t.y=n,t},inverse:function(t){var e,r,n,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+a/this.k0,r=Er(e,this.es,this.en),Math.abs(r)Ut?Math.tan(r):0,c=this.ep2*Math.pow(l,2),h=Math.pow(c,2),f=Math.pow(u,2),p=Math.pow(f,2);e=1-this.es*Math.pow(s,2);var d=o*Math.sqrt(e)/this.k0,g=Math.pow(d,2);n=r-(e*=u)*g/(1-this.es)*.5*(1-g/12*(5+3*f-9*c*f+c-4*h-g/30*(61+90*f-252*c*f+45*p+46*c-g/56*(1385+3633*f+4095*p+1574*p*f)))),i=ye(this.long0+d*(1-g/6*(1+2*f+c-g/20*(5+28*f+24*p+8*c*f+6*c-g/42*(61+662*f+1320*p+720*p*f))))/l)}else n=Gt*ge(a),i=0;else{var y=Math.exp(o/this.k0),m=.5*(y-1/y),_=this.lat0+a/this.k0,v=Math.cos(_);e=Math.sqrt((1-Math.pow(v,2))/(1+Math.pow(m,2))),n=Math.asin(e),a<0&&(n=-n),i=0===m&&0===v?0:ye(Math.atan2(m,v)+this.long0)}return t.x=i,t.y=n,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]},Or=function(t){var e=Math.exp(t);return e=(e-1/e)/2},Ir=function(t,e){t=Math.abs(t),e=Math.abs(e);var r=Math.max(t,e),n=Math.min(t,e)/(r||1);return r*Math.sqrt(1+Math.pow(n,2))},Cr=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,r=e-1;return 0===r?t:t*Math.log(e)/r}(e*(1+e/(Ir(1,e)+1))),t<0?-e:e},Tr=function(t,e){for(var r,n=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)r=n*o-a+t[i],a=o,o=r;return e+r*Math.sin(2*e)},Pr=function(t,e,r){for(var n,i,o=Math.sin(e),a=Math.cos(e),s=Or(r),l=function(t){var e=Math.exp(t);return(e+1/e)/2}(r),u=2*a*l,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,g=0;--h>=0;)n=d,i=p,f=u*(d=f)-n-c*(p=g)+t[h],g=c*d-i+u*p;return[(u=o*l)*f-(c=a*s)*g,u*g+c*f]};var Rr={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Sr.init.apply(this),this.forward=Sr.forward,this.inverse=Sr.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),r=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),r*=e,this.cgb[1]=r*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=r*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),r*=e,this.cgb[2]=r*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=r*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),r*=e,this.cgb[3]=r*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=r*(1237/630+e*(e*(-24832/14175)-2.4)),r*=e,this.cgb[4]=r*(4174/315+e*(-144838/6237)),this.cbg[4]=r*(-734/315+e*(109598/31185)),r*=e,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=r*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=r*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),r*=e,this.utg[2]=r*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=r*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),r*=e,this.utg[3]=r*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=r*(49561/161280+e*(-179/168+e*(6601661/7257600))),r*=e,this.utg[4]=r*(-4583/161280+e*(108847/3991680)),this.gtu[4]=r*(34729/80640+e*(-3418889/1995840)),r*=e,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=.6650675310896665*r;var n=Tr(this.cbg,this.lat0);this.Zb=-this.Qn*(n+function(t,e){for(var r,n=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)r=n*o-a+t[i],a=o,o=r;return Math.sin(e)*r}(this.gtu,2*n))},forward:function(t){var e=ye(t.x-this.long0),r=t.y;r=Tr(this.cbg,r);var n=Math.sin(r),i=Math.cos(r),o=Math.sin(e),a=Math.cos(e);r=Math.atan2(n,a*i),e=Math.atan2(o*i,Ir(n,i*a)),e=Cr(Math.tan(e));var s,l,u=Pr(this.gtu,2*r,2*e);return r+=u[0],e+=u[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,l=this.a*(this.Qn*r+this.Zb)+this.y0):(s=1/0,l=1/0),t.x=s,t.y=l,t},inverse:function(t){var e,r,n=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,n/=this.Qn,Math.abs(n)<=2.623395162778){var o=Pr(this.utg,2*i,2*n);i+=o[0],n+=o[1],n=Math.atan(Or(n));var a=Math.sin(i),s=Math.cos(i),l=Math.sin(n),u=Math.cos(n);i=Math.atan2(a*u,Ir(l,u*s)),n=Math.atan2(l,u*s),e=ye(n+this.long0),r=Tr(this.cgb,i)}else e=1/0,r=1/0;return t.x=e,t.y=r,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]};var Lr={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(ye(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*Bt,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Rr.init.apply(this),this.forward=Rr.forward,this.inverse=Rr.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},Mr=function(t,e){return Math.pow((1-t)/(1+t),e)};var Ar={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Vt)/(Math.pow(Math.tan(.5*this.lat0+Vt),this.C)*Mr(this.e*t,this.ratexp))},forward:function(t){var e=t.x,r=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Vt),this.C)*Mr(this.e*Math.sin(r),this.ratexp))-Gt,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,r=t.y,n=Math.pow(Math.tan(.5*r+Vt)/this.K,1/this.C),i=20;i>0&&(r=2*Math.atan(n*Mr(this.e*Math.sin(t.y),-.5*this.e))-Gt,!(Math.abs(r-t.y)<1e-14));--i)t.y=r;return i?(t.x=e,t.y=r,t):null},names:["gauss"]};var Nr={init:function(){Ar.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var e,r,n,i;return t.x=ye(t.x-this.long0),Ar.forward.apply(this,[t]),e=Math.sin(t.y),r=Math.cos(t.y),n=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*r*n),t.x=i*r*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*r*n),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,r,n,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),r=Math.cos(a),i=Math.asin(r*this.sinc0+t.y*e*this.cosc0/o),n=Math.atan2(t.x*e,o*this.cosc0*r-t.y*this.sinc0*e)}else i=this.phic0,n=0;return t.x=n,t.y=i,Ar.inverse.apply(this,[t]),t.x=ye(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]};var kr={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Ut&&(this.k0=.5*(1+ge(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=Ut&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Ut&&(this.k0=.5*this.cons*de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/me(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=de(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-Gt,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var e,r,n,i,o,a,s=t.x,l=t.y,u=Math.sin(l),c=Math.cos(l),h=ye(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=Ut&&Math.abs(l+this.lat0)<=Ut?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*u+this.coslat0*c*Math.cos(h)),t.x=this.a*e*c*Math.sin(h)+this.x0,t.y=this.a*e*(this.coslat0*u-this.sinlat0*c*Math.cos(h))+this.y0,t):(r=2*Math.atan(this.ssfn_(l,u,this.e))-Gt,i=Math.cos(r),n=Math.sin(r),Math.abs(this.coslat0)<=Ut?(o=me(this.e,l*this.con,this.con*u),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?ye(this.long0+Math.atan2(t.x,-1*t.y)):ye(this.long0+Math.atan2(t.x,t.y)):ye(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=r,t)}if(Math.abs(this.coslat0)<=Ut){if(a<=Ut)return r=this.lat0,e=this.long0,t.x=e,t.y=r,t;t.x*=this.con,t.y*=this.con,n=a*this.cons/(2*this.a*this.k0),r=this.con*_e(this.e,n),e=this.con*ye(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=Ut?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=ye(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),r=-1*_e(this.e,Math.tan(.5*(Gt+o)));return t.x=e,t.y=r,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,r){return e*=r,Math.tan(.5*(Gt+t))*Math.pow((1-e)/(1+e),.5*r)}};var jr={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),r=this.a,n=1/this.rf,i=2*n-Math.pow(n,2),o=this.e=Math.sqrt(i);this.R=this.k0*r*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),l=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*l},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),n=-this.alpha*(e+r)+this.K,i=2*(Math.atan(Math.exp(n))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,r=t.y-this.y0,n=e/this.R,i=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(n)),a=Math.atan(Math.sin(n)/(Math.cos(this.b0)*Math.cos(n)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,l=0,u=o,c=-1e3,h=0;Math.abs(u-c)>1e-7;){if(++h>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(u))/2)),c=u,u=2*Math.atan(Math.exp(l))-Math.PI/2}return t.x=s,t.y=u,t},names:["somerc"]},Fr=1e-7;var Dr={init:function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p=0,d=0,g=0,y=0,m=0,_=0,v=0;this.no_off=(f="object"==typeof(h=this).PROJECTION?Object.keys(h.PROJECTION)[0]:h.PROJECTION,"no_uoff"in h||"no_off"in h||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(f)),this.no_rot="no_rot"in this;var b=!1;"alpha"in this&&(b=!0);var x=!1;if("rectified_grid_angle"in this&&(x=!0),b&&(v=this.alpha),x&&(p=this.rectified_grid_angle*Bt),b||x)d=this.longc;else if(g=this.long1,m=this.lat1,y=this.long2,_=this.lat2,Math.abs(m-_)<=Fr||(t=Math.abs(m))<=Fr||Math.abs(t-Gt)<=Fr||Math.abs(Math.abs(this.lat0)-Gt)<=Fr||Math.abs(Math.abs(_)-Gt)<=Fr)throw new Error;var w=1-this.es;e=Math.sqrt(w),Math.abs(this.lat0)>Ut?(s=Math.sin(this.lat0),r=Math.cos(this.lat0),t=1-this.es*s*s,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/w),this.A=this.B*this.k0*e/t,(i=(n=this.B*e/(r*Math.sqrt(t)))*n-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=n,this.E*=Math.pow(me(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=n=i=1),b||x?(b?(c=Math.asin(Math.sin(v)/n),x||(p=v)):(c=p,v=Math.asin(n*Math.sin(c))),this.lam0=d-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(me(this.e,m,Math.sin(m)),this.B),a=Math.pow(me(this.e,_,Math.sin(_)),this.B),i=this.E/o,l=(a-o)/(a+o),u=((u=this.E*this.E)-a*o)/(u+a*o),(t=g-y)<-Math.pi?y-=qt:t>Math.pi&&(y+=qt),this.lam0=ye(.5*(g+y)-Math.atan(u*Math.tan(.5*this.B*(g-y))/l)/this.B),c=Math.atan(2*Math.sin(this.B*ye(g-this.lam0))/(i-1/i)),p=v=Math.asin(n*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(p),this.cosrot=Math.cos(p),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(n*n-1)/Math.cos(v))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(Vt-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(Vt+i))},forward:function(t){var e,r,n,i,o,a,s,l,u={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-Gt)>Ut){if(e=.5*((o=this.E/Math.pow(me(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),r=.5*(o+a),i=Math.sin(this.B*t.x),n=(e*this.singam-i*this.cosgam)/r,Math.abs(Math.abs(n)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(u.x=s,u.y=l):(s-=this.u_0,u.x=l*this.cosrot+s*this.sinrot,u.y=s*this.cosrot-l*this.sinrot),u.x=this.a*u.x+this.x0,u.y=this.a*u.y+this.y0,u},inverse:function(t){var e,r,n,i,o,a,s,l={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(r=t.y,e=t.x):(r=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((n=Math.exp(-this.BrA*r))-1/n),o=.5*(n+1/n),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)Ut?this.ns=Math.log(n/s)/Math.log(i/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=n/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(u,this.ns),this.title||(this.title="Lambert Conformal Conic")}},forward:function(t){var e=t.x,r=t.y;Math.abs(2*Math.abs(r)-Math.PI)<=Ut&&(r=ge(r)*(Gt-2e-10));var n,i,o=Math.abs(Math.abs(r)-Gt);if(o>Ut)n=me(this.e,r,Math.sin(r)),i=this.a*this.f0*Math.pow(n,this.ns);else{if((o=r*this.ns)<=0)return null;i=0}var a=this.ns*ye(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,r,n,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),r=1):(e=-Math.sqrt(a*a+s*s),r=-1);var l=0;if(0!==e&&(l=Math.atan2(r*a,r*s)),0!==e||this.ns>0){if(r=1/this.ns,n=Math.pow(e/(this.a*this.f0),r),-9999===(i=_e(this.e,n)))return null}else i=-Gt;return o=ye(l/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]};var Ur={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var e,r,n,i,o,a,s,l=t.x,u=t.y,c=ye(l-this.long0);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),n=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(n)),o=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,r,n,i,o,a,s,l=t.x;t.x=t.y,t.y=l,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),n=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(n)-Math.sin(this.ad)*Math.cos(n)*Math.cos(i)),r=Math.asin(Math.cos(n)*Math.sin(i)/Math.cos(e)),t.x=this.long0-r/this.alfa,a=e,s=0;var u=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,u+=1}while(0===s&&u<15);return u>=15?null:t},names:["Krovak","krovak"]},Br=function(t,e,r,n,i){return t*i-e*Math.sin(2*i)+r*Math.sin(4*i)-n*Math.sin(6*i)},zr=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))},Vr=function(t){return.375*t*(1+.25*t*(1+.46875*t))},qr=function(t){return.05859375*t*t*(1+.75*t)},Yr=function(t){return t*t*t*(35/3072)},Wr=function(t,e,r){var n=e*r;return t/Math.sqrt(1-n*n)},Xr=function(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(r=t*e)*r)-.5/t*Math.log((1-r)/(1+r))):2*e};var Jr=.3333333333333333,Qr=.17222222222222222,$r=.10257936507936508,tn=.06388888888888888,en=.0664021164021164,rn=.016415012942191543;var nn={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-Gt)0)switch(this.qp=Kr(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,r=[];return r[0]=t*Jr,e=t*t,r[0]+=e*Qr,r[1]=e*tn,e*=t,r[0]+=e*$r,r[1]+=e*en,r[2]=e*rn,r}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=Kr(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var e,r,n,i,o,a,s,l,u,c,h=t.x,f=t.y;if(h=ye(h-this.long0),this.sphere){if(o=Math.sin(f),c=Math.cos(f),n=Math.cos(h),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((r=this.mode===this.EQUIT?1+c*n:1+this.sinph0*o+this.cosph0*c*n)<=Ut)return null;e=(r=Math.sqrt(2/r))*c*Math.sin(h),r*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*n}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(n=-n),Math.abs(f+this.lat0)=0?(e=(u=Math.sqrt(a))*i,r=n*(this.mode===this.S_POLE?u:-u)):e=r=0}}return t.x=this.a*e+this.x0,t.y=this.a*r+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,r,n,i,o,a,s,l,u,c,h=t.x/this.a,f=t.y/this.a;if(this.sphere){var p,d=0,g=0;if((r=.5*(p=Math.sqrt(h*h+f*f)))>1)return null;switch(r=2*Math.asin(r),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(r),d=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(p)<=Ut?0:Math.asin(f*g/p),h*=g,f=d*p;break;case this.OBLIQ:r=Math.abs(p)<=Ut?this.lat0:Math.asin(d*this.sinph0+f*g*this.cosph0/p),h*=g*this.cosph0,f=(d-Math.sin(r)*this.sinph0)*p;break;case this.N_POLE:f=-f,r=Gt-r;break;case this.S_POLE:r-=Gt}e=0!==f||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(h,f):0}else{if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(h/=this.dd,f*=this.dd,(a=Math.sqrt(h*h+f*f))1&&(t=t>1?1:-1),Math.asin(t)};var an={init:function(){Math.abs(this.lat1+this.lat2)Ut?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var e=t.x,r=t.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var n=Kr(this.e3,this.sin_phi),i=this.a*Math.sqrt(this.c-this.ns0*n)/this.ns0,o=this.ns0*ye(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),n=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),n=-1),i=0,0!==e&&(i=Math.atan2(n*t.x,n*t.y)),n=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-n*n)/(2*this.ns0)):(r=(this.c-n*n)/this.ns0,a=this.phi1z(this.e3,r)),o=ye(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var r,n,i,o,a=on(.5*e);if(t0||Math.abs(o)<=Ut?(a=this.x0+1*this.a*r*Math.sin(n)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*r*i)/o):(a=this.x0+this.infinity_dist*r*Math.sin(n),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*r*i)),t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),r=Math.sin(i),n=Math.cos(i),a=on(n*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.atan2(t.x*r,e*this.cos_p14*n-t.y*this.sin_p14*r),o=ye(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]};var ln={init:function(){this.sphere||(this.k0=de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var e,r,n=t.x,i=t.y,o=ye(n-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else{var a=Kr(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,r=this.y0+this.a*a*.5/this.k0}return t.x=e,t.y=r,t},inverse:function(t){var e,r;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=ye(this.long0+t.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(r=function(t,e){var r=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-r)<1e-6)return e<0?-1*Gt:Gt;for(var n,i,o,a,s=Math.asin(.5*e),l=0;l<30;l++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=n=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(n)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=ye(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=r,t},names:["cea"]};var un={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var e=t.x,r=t.y,n=ye(e-this.long0),i=Xr(r-this.lat0);return t.x=this.x0+this.a*n*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,r=t.y;return t.x=ye(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Xr(this.lat0+(r-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};var cn={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=zr(this.es),this.e1=Vr(this.es),this.e2=qr(this.es),this.e3=Yr(this.es),this.ml0=this.a*Br(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var e,r,n,i=t.x,o=t.y,a=ye(i-this.long0);if(n=a*Math.sin(o),this.sphere)Math.abs(o)<=Ut?(e=this.a*a,r=-1*this.a*this.lat0):(e=this.a*Math.sin(n)/Math.tan(o),r=this.a*(Xr(o-this.lat0)+(1-Math.cos(n))/Math.tan(o)));else if(Math.abs(o)<=Ut)e=this.a*a,r=-1*this.ml0;else{var s=Wr(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(n),r=this.a*Br(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(n))}return t.x=e+this.x0,t.y=r+this.y0,t},inverse:function(t){var e,r,n,i,o,a,s,l,u;if(n=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=Ut)e=ye(n/this.a+this.long0),r=0;else{var c;for(a=this.lat0+i/this.a,s=n*n/this.a/this.a+a*a,l=a,o=20;o;--o)if(l+=u=-1*(a*(l*(c=Math.tan(l))+1)-l-.5*(l*l+s)*c)/((l-a)/c-1),Math.abs(u)<=Ut){r=l;break}e=ye(this.long0+Math.asin(n*Math.tan(l)/this.a)/Math.sin(r))}else if(Math.abs(i+this.ml0)<=Ut)r=0,e=ye(this.long0+n/this.a);else{var h,f,p,d,g;for(a=(this.ml0+i)/this.a,s=n*n/this.a/this.a+a*a,l=a,o=20;o;--o)if(g=this.e*Math.sin(l),h=Math.sqrt(1-g*g)*Math.tan(l),f=this.a*Br(this.e0,this.e1,this.e2,this.e3,l),p=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),l-=u=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*l)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*l))-p),Math.abs(u)<=Ut){r=l;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),e=ye(this.long0+Math.asin(n*h/this.a)/Math.sin(r))}return t.x=e,t.y=r,t},names:["Polyconic","poly"]};var hn={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){var e,r=t.x,n=t.y-this.lat0,i=r-this.long0,o=n/Dt*1e-5,a=i,s=1,l=0;for(e=1;e<=10;e++)s*=o,l+=this.A[e]*s;var u,c=l,h=a,f=1,p=0,d=0,g=0;for(e=1;e<=6;e++)u=p*c+f*h,f=f*c-p*h,p=u,d=d+this.B_re[e]*f-this.B_im[e]*p,g=g+this.B_im[e]*f+this.B_re[e]*p;return t.x=g*this.a+this.x0,t.y=d*this.a+this.y0,t},inverse:function(t){var e,r,n=t.x,i=t.y,o=n-this.x0,a=(i-this.y0)/this.a,s=o/this.a,l=1,u=0,c=0,h=0;for(e=1;e<=6;e++)r=u*a+l*s,l=l*a-u*s,u=r,c=c+this.C_re[e]*l-this.C_im[e]*u,h=h+this.C_im[e]*l+this.C_re[e]*u;for(var f=0;f.999999999999&&(r=.999999999999),e=Math.asin(r);var n=ye(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));n<-Math.PI&&(n=-Math.PI),n>Math.PI&&(n=Math.PI),r=(2*e+Math.sin(2*e))/Math.PI,Math.abs(r)>1&&(r=1);var i=Math.asin(r);return t.x=n,t.y=i,t},names:["Mollweide","moll"]};var gn={init:function(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(r=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;if(0!==r&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere)return i=ye(this.long0+o/this.ns),n=Xr(this.g-r/this.a),t.x=i,t.y=n,t;var a=this.g-r/this.a;return n=Hr(a,this.e0,this.e1,this.e2,this.e3),i=ye(this.long0+o/this.ns),t.x=i,t.y=n,t},names:["Equidistant_Conic","eqdc"]};var yn={init:function(){this.R=this.a},forward:function(t){var e,r,n=t.x,i=t.y,o=ye(n-this.long0);Math.abs(i)<=Ut&&(e=this.x0+this.R*o,r=this.y0);var a=on(2*Math.abs(i/Math.PI));(Math.abs(o)<=Ut||Math.abs(Math.abs(i)-Gt)<=Ut)&&(e=this.x0,r=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),l=s*s,u=Math.sin(a),c=Math.cos(a),h=c/(u+c-1),f=h*h,p=h*(2/u-1),d=p*p,g=Math.PI*this.R*(s*(h-d)+Math.sqrt(l*(h-d)*(h-d)-(d+l)*(f-d)))/(d+l);o<0&&(g=-g),e=this.x0+g;var y=l+h;return g=Math.PI*this.R*(p*y-s*Math.sqrt((d+l)*(l+1)-y*y))/(d+l),r=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=r,t},inverse:function(t){var e,r,n,i,o,a,s,l,u,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(n=t.x/h)*n+(i=t.y/h)*i,h=3*(i*i/(l=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+n*n)*s*s/l/l/l-9*a*s/l/l)/27)/(u=(a-s*s/3/l)/l)/(c=2*Math.sqrt(-u/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,r=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/l)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/l)*Math.PI,e=Math.abs(n)2*Gt*this.a)return;return r=e/this.a,n=Math.sin(r),i=Math.cos(r),o=this.long0,Math.abs(e)<=Ut?a=this.lat0:(a=on(i*this.sin_p12+t.y*n*this.cos_p12/e),s=Math.abs(this.lat0)-Gt,o=Math.abs(s)<=Ut?this.lat0>=0?ye(this.long0+Math.atan2(t.x,-t.y)):ye(this.long0-Math.atan2(-t.x,t.y)):ye(this.long0+Math.atan2(t.x*n,e*this.cos_p12*i-t.y*this.sin_p12*n))),t.x=o,t.y=a,t}return l=zr(this.es),u=Vr(this.es),c=qr(this.es),h=Yr(this.es),Math.abs(this.sin_p12-1)<=Ut?(f=this.a*Br(l,u,c,h,Gt),e=Math.sqrt(t.x*t.x+t.y*t.y),a=Hr((f-e)/this.a,l,u,c,h),o=ye(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=Ut?(f=this.a*Br(l,u,c,h,Gt),e=Math.sqrt(t.x*t.x+t.y*t.y),a=Hr((e-f)/this.a,l,u,c,h),o=ye(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),p=Wr(this.a,this.e,this.sin_p12),y=Math.cos(g),_=-(m=this.e*this.cos_p12*y)*m/(1-this.es),v=3*this.es*(1-_)*this.sin_p12*this.cos_p12*y/(1-this.es),w=1-_*(x=(b=e/p)-_*(1+_)*Math.pow(b,3)/6-v*(1+3*_)*Math.pow(b,4)/24)*x/2-b*x*x*x/6,d=Math.asin(this.sin_p12*Math.cos(x)+this.cos_p12*Math.sin(x)*y),o=ye(this.long0+Math.asin(Math.sin(g)*Math.sin(x)/Math.cos(d))),E=Math.sin(d),a=Math.atan2((E-this.es*w*this.sin_p12)*Math.tan(d),E*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]};var _n={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var e,r,n,i,o,a,s,l=t.x,u=t.y;return n=ye(l-this.long0),e=Math.sin(u),r=Math.cos(u),i=Math.cos(n),1,((o=this.sin_p14*e+this.cos_p14*r*i)>0||Math.abs(o)<=Ut)&&(a=1*this.a*r*Math.sin(n),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*r*i)),t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,e=Math.sqrt(t.x*t.x+t.y*t.y),r=on(e/this.a),n=Math.sin(r),i=Math.cos(r),a=this.long0,Math.abs(e)<=Ut?(s=this.lat0,t.x=a,t.y=s,t):(s=on(i*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.abs(this.lat0)-Gt,Math.abs(o)<=Ut?(a=this.lat0>=0?ye(this.long0+Math.atan2(t.x,-t.y)):ye(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=ye(this.long0+Math.atan2(t.x*n,e*this.cos_p14*i-t.y*this.sin_p14*n)),t.x=a,t.y=s,t))},names:["ortho"]},vn=1,bn=2,xn=3,wn=4,En=5,Sn=6,On=1,In=2,Cn=3,Tn=4;function Pn(t,e,r,n){var i;return tVt&&i<=Gt+Vt?(n.value=In,i-=Gt):i>Gt+Vt||i<=-(Gt+Vt)?(n.value=Cn,i=i>=0?i-Yt:i+Yt):(n.value=Tn,i+=Gt)),i}function Rn(t,e){var r=t+e;return r<-Yt?r+=qt:r>+Yt&&(r-=qt),r}var Ln={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=Gt-Vt/2?this.face=En:this.lat0<=-(Gt-Vt/2)?this.face=Sn:Math.abs(this.long0)<=Vt?this.face=vn:Math.abs(this.long0)<=Gt+Vt?this.face=this.long0>0?bn:wn:this.face=xn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var e,r,n,i,o,a,s={x:0,y:0},l={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,r=t.x,this.face===En)i=Gt-e,r>=Vt&&r<=Gt+Vt?(l.value=On,n=r-Gt):r>Gt+Vt||r<=-(Gt+Vt)?(l.value=In,n=r>0?r-Yt:r+Yt):r>-(Gt+Vt)&&r<=-Vt?(l.value=Cn,n=r+Gt):(l.value=Tn,n=r);else if(this.face===Sn)i=Gt+e,r>=Vt&&r<=Gt+Vt?(l.value=On,n=-r+Gt):r=-Vt?(l.value=In,n=-r):r<-Vt&&r>=-(Gt+Vt)?(l.value=Cn,n=-r-Gt):(l.value=Tn,n=r>0?-r+Yt:-r-Yt);else{var u,c,h,f,p,d;this.face===bn?r=Rn(r,+Gt):this.face===xn?r=Rn(r,+Yt):this.face===wn&&(r=Rn(r,-Gt)),f=Math.sin(e),p=Math.cos(e),d=Math.sin(r),u=p*Math.cos(r),c=p*d,h=f,this.face===vn?n=Pn(i=Math.acos(u),h,c,l):this.face===bn?n=Pn(i=Math.acos(c),h,-u,l):this.face===xn?n=Pn(i=Math.acos(-u),h,-c,l):this.face===wn?n=Pn(i=Math.acos(-c),h,u,l):(i=n=0,l.value=On)}return a=Math.atan(12/Yt*(n+Math.acos(Math.sin(n)*Math.cos(Vt))-Gt)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(n))))),l.value===In?a+=Gt:l.value===Cn?a+=Yt:l.value===Tn&&(a+=1.5*Yt),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,r,n,i,o,a,s,l,u,c,h,f,p={lam:0,phi:0},d={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,r=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?d.value=On:t.y>=0&&t.y>=Math.abs(t.x)?(d.value=In,e-=Gt):t.x<0&&-t.x>=Math.abs(t.y)?(d.value=Cn,e=e<0?e+Yt:e-Yt):(d.value=Tn,e+=Gt),u=Yt/12*Math.tan(e),o=Math.sin(u)/(Math.cos(u)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(n=Math.cos(e))*n*(i=Math.tan(r))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===En)l=Math.acos(s),p.phi=Gt-l,d.value===On?p.lam=a+Gt:d.value===In?p.lam=a<0?a+Yt:a-Yt:d.value===Cn?p.lam=a-Gt:p.lam=a;else if(this.face===Sn)l=Math.acos(s),p.phi=l-Gt,d.value===On?p.lam=-a+Gt:d.value===In?p.lam=-a:d.value===Cn?p.lam=-a-Gt:p.lam=a<0?-a-Yt:-a+Yt;else{var g,y,m;u=(g=s)*g,y=(u+=(m=u>=1?0:Math.sqrt(1-u)*Math.sin(a))*m)>=1?0:Math.sqrt(1-u),d.value===In?(u=y,y=-m,m=u):d.value===Cn?(y=-y,m=-m):d.value===Tn&&(u=y,y=m,m=-u),this.face===bn?(u=g,g=-y,y=u):this.face===xn?(g=-g,y=-y):this.face===wn&&(u=g,g=y,y=-u),p.phi=Math.acos(-m)-Gt,p.lam=Math.atan2(y,g),this.face===bn?p.lam=Rn(p.lam,-Gt):this.face===xn?p.lam=Rn(p.lam,-Yt):this.face===wn&&(p.lam=Rn(p.lam,+Gt))}return 0!==this.es&&(c=p.phi<0?1:0,h=Math.tan(p.phi),f=this.b/Math.sqrt(h*h+this.one_minus_f_squared),p.phi=Math.atan(Math.sqrt(this.a*this.a-f*f)/(this.one_minus_f*f)),c&&(p.phi=-p.phi)),p.lam+=this.long0,t.x=p.lam,t.y=p.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Mn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],An=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Nn=.8487,kn=1.3523,jn=zt/5,Fn=18,Dn=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};var Gn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var e=ye(t.x-this.long0),r=Math.abs(t.y),n=Math.floor(r*jn);n<0?n=0:n>=Fn&&(n=17);var i={x:Dn(Mn[n],r=zt*(r-.08726646259971647*n))*e,y:Dn(An[n],r)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*Nn+this.x0,i.y=i.y*this.a*kn+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*Nn),y:Math.abs(t.y-this.y0)/(this.a*kn)};if(e.y>=1)e.x/=Mn[18][0],e.y=t.y<0?-Gt:Gt;else{var r=Math.floor(e.y*Fn);for(r<0?r=0:r>=Fn&&(r=17);;)if(An[r][0]>e.y)--r;else{if(!(An[r+1][0]<=e.y))break;++r}var n=An[r],i=5*(e.y-n[0])/(An[r+1][0]-n[0]);i=function(t,e,r,n){for(var i=e;n;--n){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")},forward:function(t){var e,r,n,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/Ir(this.radius_p*Math.cos(a),Math.sin(a));if(r=s*Math.cos(o)*Math.cos(a),n=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-r)*r-n*n-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-r,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/Ir(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(i/Ir(n,e)))}else"sphere"===this.shape&&(e=Math.cos(a),r=Math.cos(o)*e,n=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-r,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/Ir(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(i/Ir(n,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,r,n,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Ir(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Ir(1,a));var l=s/this.radius_p;if(e=a*a+l*l+o*o,(n=(r=2*this.radius_g*o)*r-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-r-Math.sqrt(n))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(n=(r=2*this.radius_g*o)*r-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-r-Math.sqrt(n))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o)}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};Qe.defaultDatum="WGS84",Qe.Proj=Fe,Qe.WGS84=new Qe.Proj("WGS84"),Qe.Point=mr,Qe.toPoint=We,Qe.defs=ue,Qe.nadgrid=function(t,e){var r=new DataView(e),n=function(t){var e=t.getInt32(8,!1);if(11===e)return!1;11!==(e=t.getInt32(8,!0))&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian");return!0}(r),i=function(t,e){return{nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:Me(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(r,n);i.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o={header:i,subgrids:function(t,e,r){for(var n=176,i=[],o=0;othis.maxCacheSize_},t.prototype.expire=function(){if(this.canExpireCache()){var t=0;for(var e in this.cache_){var r=this.cache_[e];0!=(3&t++)||r.hasListener()||(delete this.cache_[e],--this.cacheSize_)}}},t.prototype.get=function(t,e,r){var n=hi(t,e,r);return n in this.cache_?this.cache_[n]:null},t.prototype.set=function(t,e,r,n){var i=hi(t,e,r);this.cache_[i]=n,++this.cacheSize_},t.prototype.setSize=function(t){this.maxCacheSize_=t,this.expire()},t}();function hi(t,e,r){return e+":"+t+":"+(r?Object(ui.b)(r):"null")}var fi=new ci,pi=r(35),di=r(12),gi=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function yi(t,e){fi.expire()}var mi=function(t){function e(e){var r=t.call(this)||this;return r.map_=e,r}return gi(e,t),e.prototype.dispatchRenderEvent=function(t,e){Object(si.b)()},e.prototype.calculateMatrices2D=function(t){var e=t.viewState,r=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;Object(li.b)(r,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Object(li.e)(n,r)},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i,o,a,s){var l,u=e.viewState;function c(t,e,r,n){return i.call(o,e,t?r:null,n)}var h=u.projection,f=Object(di.p)(t.slice(),h),p=[[0,0]];if(h.canWrapX()&&n){var d=h.getExtent(),g=Object(mt.G)(d);p.push([-g,0],[g,0])}for(var y=e.layerStatesArray,m=y.length,_=[],v=[],b=0;b=0;--x){var w=y[x],E=w.layer;if(E.hasRenderer()&&Object(pi.b)(w,u)&&a.call(s,E)){var S=E.getRenderer(),O=E.getSource();if(S&&O){var I=O.getWrapX()?f:t,C=c.bind(null,w.managed);v[0]=I[0]+p[b][0],v[1]=I[1]+p[b][1],l=S.forEachFeatureAtCoordinate(v,e,r,C,_)}if(l)return l}}if(0!==_.length){var T=1/_.length;return _.forEach((function(t,e){return t.distanceSq+=e*T})),_.sort((function(t,e){return t.distanceSq-e.distanceSq})),_.some((function(t){return l=t.callback(t.feature,t.layer,t.geometry)})),l}},e.prototype.forEachLayerAtPixel=function(t,e,r,n,i){return Object(si.b)()},e.prototype.hasFeatureAtCoordinate=function(t,e,r,n,i,o){return void 0!==this.forEachFeatureAtCoordinate(t,e,r,n,ai.b,this,i,o)},e.prototype.getMap=function(){return this.map_},e.prototype.renderFrame=function(t){Object(si.b)()},e.prototype.scheduleExpireIconCache=function(t){fi.canExpireCache()&&t.postRenderFunctions.push(yi)},e}(oi.a),_i=r(45),vi=r(57),bi=r(30),xi="ol-hidden",wi="ol-unselectable",Ei="ol-unsupported",Si="ol-control",Oi="ol-collapsed",Ii=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""),"i"),Ci=["style","variant","weight","size","lineHeight","family"],Ti=function(t){var e=t.match(Ii);if(!e)return null;for(var r={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"},n=0,i=Ci.length;n=0;--o)n[o].renderDeclutter(t);Object(Ai.g)(this.element_,this.children_),this.dispatchRenderEvent(bi.a.POSTCOMPOSE,t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}else this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1)},e.prototype.forEachLayerAtPixel=function(t,e,r,n,i){for(var o=e.viewState,a=e.layerStatesArray,s=a.length-1;s>=0;--s){var l=a[s],u=l.layer;if(u.hasRenderer()&&Object(pi.b)(l,o)&&i(u)){var c=u.getRenderer().getDataAtPixel(t,e,r);if(c){var h=n(u,c);if(h)return h}}}},e}(mi),io=r(65),oo="add",ao="remove",so=r(18),lo=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uo="length",co=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.element=r,i.index=n,i}return lo(e,t),e}(so.a),ho=function(t){function e(e,r){var n=t.call(this)||this;n.on,n.once,n.un;var i=r||{};if(n.unique_=!!i.unique,n.array_=e||[],n.unique_)for(var o=0,a=n.array_.length;o0;)this.pop()},e.prototype.extend=function(t){for(var e=0,r=t.length;ethis.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_},e.prototype.disposeInternal=function(){this.relayedListenerKey_&&(Object(eo.c)(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(fo.a.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(Object(eo.c)(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(eo.c),this.dragListenerKeys_.length=0,this.element_=null,t.prototype.disposeInternal.call(this)},e}(Ri.a),Lo="postrender",Mo="movestart",Ao="moveend",No="loadstart",ko="loadend",jo="layergroup",Fo="size",Do="target",Go="view",Uo=r(77),Bo=r(22),zo={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},Vo=r(41),qo=r(3);function Yo(t,e,r){return function(n,i,o,a,s){if(n){if(!i&&!e)return n;var l=e?0:o[0]*i,u=e?0:o[1]*i,c=s?s[0]:0,h=s?s[1]:0,f=t[0]+l/2+c,p=t[2]-l/2+c,d=t[1]+u/2+h,g=t[3]-u/2+h;f>p&&(p=f=(p+f)/2),d>g&&(g=d=(g+d)/2);var y=Object(qo.b)(n[0],f,p),m=Object(qo.b)(n[1],d,g);if(a&&r&&i){var _=30*i;y+=-_*Math.log(1+Math.max(0,f-n[0])/_)+_*Math.log(1+Math.max(0,n[0]-p)/_),m+=-_*Math.log(1+Math.max(0,d-n[1])/_)+_*Math.log(1+Math.max(0,n[1]-g)/_)}return[y,m]}}}function Wo(t){return t}function Xo(t,e,r,n){var i=Object(mt.G)(e)/r[0],o=Object(mt.A)(e)/r[1];return n?Math.min(t,Math.max(i,o)):Math.min(t,Math.min(i,o))}function Ho(t,e,r){var n=Math.min(t,e);return n*=Math.log(1+50*Math.max(0,t/e-1))/50+1,r&&(n=Math.max(n,r),n/=Math.log(1+50*Math.max(0,r/t-1))/50+1),Object(qo.b)(n,r/2,2*e)}function Zo(t,e,r,n,i){return function(o,a,s,l){if(void 0!==o){var u=n?Xo(t,n,s,i):t;return(void 0===r||r)&&l?Ho(o,u,e):Object(qo.b)(o,e,u)}}}function Ko(t){return void 0!==t?0:void 0}function Jo(t){return void 0!==t?t:void 0}var Qo=r(25),$o="XY",ta="XYZ",ea="XYM",ra="XYZM";function na(t,e,r,n,i,o){for(var a=o||[],s=0,l=e;l1)s=r;else{if(f>0){for(var p=0;pi&&(i=u),o=s,a=l}return i}function da(t,e,r,n,i){for(var o=0,a=r.length;o0;){for(var h=u.pop(),f=u.pop(),p=0,d=t[f],g=t[f+1],y=t[h],m=t[h+1],_=f+n;_p&&(c=_,p=x)}p>i&&(l[(c-e)/n]=1,f+n0&&g>p)&&(d<0&&y0&&y>d)?(s=h,l=f):(o[a++]=s,o[a++]=l,u=s,c=l,s=h,l=f)}}return o[a++]=s,o[a++]=l,a}function Sa(t,e,r,n,i,o,a,s){for(var l=0,u=r.length;lx&&(u=(c+f)/2,Object(Na.c)(t,e,r,n,u,g)&&(b=u,x=w)),c=f}return isNaN(b)&&(b=i[o]),a?(a.push(b,g,x),a):[b,g,x]}function ja(t,e,r,n,i){for(var o=[],a=0,s=r.length;a0}function Ua(t,e,r,n,i){for(var o=void 0!==i&&i,a=0,s=r.length;ac&&p1&&"function"==typeof arguments[r-1]&&(e=arguments[r-1],--r);for(var n=0;n0},e.prototype.getInteracting=function(){return this.hints_[Bo.a.INTERACTING]>0},e.prototype.cancelAnimations=function(){var t;this.setHint(Bo.a.ANIMATING,-this.hints_[Bo.a.ANIMATING]);for(var e=0,r=this.animations_.length;e=0;--r){for(var n=this.animations_[r],i=!0,o=0,a=n.length;o0?l/s.duration:1;u>=1?(s.complete=!0,u=1):i=!1;var c=s.easing(u);if(s.sourceCenter){var h=s.sourceCenter[0],f=s.sourceCenter[1],p=s.targetCenter[0],d=s.targetCenter[1];this.nextCenter_=s.targetCenter;var g=h+c*(p-h),y=f+c*(d-f);this.targetCenter_=[g,y]}if(s.sourceResolution&&s.targetResolution){var m=1===c?s.targetResolution:s.sourceResolution+c*(s.targetResolution-s.sourceResolution);if(s.anchor){var _=this.getViewportSize_(this.getRotation()),v=this.constraints_.resolution(m,0,_,!0);this.targetCenter_=this.calculateCenterZoom(v,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=m,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){var b=1===c?Object(qo.g)(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+c*(s.targetRotation-s.sourceRotation);if(s.anchor){var x=this.constraints_.rotation(b,!0);this.targetCenter_=this.calculateCenterRotate(x,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=b}if(this.applyTargetState_(!0),e=!0,!s.complete)break}}if(i){this.animations_[r]=null,this.setHint(Bo.a.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;var w=n[0].callback;w&&$a(w,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}},e.prototype.calculateCenterRotate=function(t,e){var r,n=this.getCenterInternal();return void 0!==n&&(r=[n[0]-e[0],n[1]-e[1]],Object(di.j)(r,t-this.getRotation()),Object(di.a)(r,e)),r},e.prototype.calculateCenterZoom=function(t,e){var r,n=this.getCenterInternal(),i=this.getResolution();void 0!==n&&void 0!==i&&(r=[e[0]-t*(e[0]-n[0])/i,e[1]-t*(e[1]-n[1])/i]);return r},e.prototype.getViewportSize_=function(t){var e=this.viewportSize_;if(t){var r=e[0],n=e[1];return[Math.abs(r*Math.cos(t))+Math.abs(n*Math.sin(t)),Math.abs(r*Math.sin(t))+Math.abs(n*Math.cos(t))]}return e},e.prototype.setViewportSize=function(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)},e.prototype.getCenter=function(){var t=this.getCenterInternal();return t?Object(u.w)(t,this.getProjection()):t},e.prototype.getCenterInternal=function(){return this.get(zo.CENTER)},e.prototype.getConstraints=function(){return this.constraints_},e.prototype.getConstrainResolution=function(){return this.get("constrainResolution")},e.prototype.getHints=function(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()},e.prototype.calculateExtent=function(t){var e=this.calculateExtentInternal(t);return Object(u.x)(e,this.getProjection())},e.prototype.calculateExtentInternal=function(t){var e=t||this.getViewportSizeMinusPadding_(),r=this.getCenterInternal();Object(go.a)(r,1);var n=this.getResolution();Object(go.a)(void 0!==n,2);var i=this.getRotation();return Object(go.a)(void 0!==i,3),Object(mt.z)(r,n,i,e)},e.prototype.getMaxResolution=function(){return this.maxResolution_},e.prototype.getMinResolution=function(){return this.minResolution_},e.prototype.getMaxZoom=function(){return this.getZoomForResolution(this.minResolution_)},e.prototype.setMaxZoom=function(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))},e.prototype.getMinZoom=function(){return this.getZoomForResolution(this.maxResolution_)},e.prototype.setMinZoom=function(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))},e.prototype.setConstrainResolution=function(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))},e.prototype.getProjection=function(){return this.projection_},e.prototype.getResolution=function(){return this.get(zo.RESOLUTION)},e.prototype.getResolutions=function(){return this.resolutions_},e.prototype.getResolutionForExtent=function(t,e){return this.getResolutionForExtentInternal(Object(u.m)(t,this.getProjection()),e)},e.prototype.getResolutionForExtentInternal=function(t,e){var r=e||this.getViewportSizeMinusPadding_(),n=Object(mt.G)(t)/r[0],i=Object(mt.A)(t)/r[1];return Math.max(n,i)},e.prototype.getResolutionForValueFunction=function(t){var e=t||2,r=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(r/n)/Math.log(e);return function(t){return r/Math.pow(e,t*i)}},e.prototype.getRotation=function(){return this.get(zo.ROTATION)},e.prototype.getValueForResolutionFunction=function(t){var e=Math.log(t||2),r=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(r/n)/e;return function(t){return Math.log(r/t)/e/i}},e.prototype.getViewportSizeMinusPadding_=function(t){var e=this.getViewportSize_(t),r=this.padding_;return r&&(e=[e[0]-r[1]-r[3],e[1]-r[0]-r[2]]),e},e.prototype.getState=function(){var t=this.getProjection(),e=this.getResolution(),r=this.getRotation(),n=this.getCenterInternal(),i=this.padding_;if(i){var o=this.getViewportSizeMinusPadding_();n=es(n,this.getViewportSize_(),[o[0]/2+i[3],o[1]/2+i[0]],e,r)}return{center:n.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:r,zoom:this.getZoom()}},e.prototype.getZoom=function(){var t,e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t},e.prototype.getZoomForResolution=function(t){var e,r,n=this.minZoom_||0;if(this.resolutions_){var i=Object(h.h)(this.resolutions_,t,1);n=i,e=this.resolutions_[i],r=i==this.resolutions_.length-1?2:e/this.resolutions_[i+1]}else e=this.maxResolution_,r=this.zoomFactor_;return n+Math.log(e/t)/Math.log(r)},e.prototype.getResolutionForZoom=function(t){if(this.resolutions_){if(this.resolutions_.length<=1)return 0;var e=Object(qo.b)(Math.floor(t),0,this.resolutions_.length-2),r=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(r,Object(qo.b)(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)},e.prototype.fit=function(t,e){var r;if(Object(go.a)(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,24),Array.isArray(t))Object(go.a)(!Object(mt.J)(t),25),r=Za(n=Object(u.m)(t,this.getProjection()));else if("Circle"===t.getType()){var n;(r=Za(n=Object(u.m)(t.getExtent(),this.getProjection()))).rotate(this.getRotation(),Object(mt.x)(n))}else{var i=Object(u.s)();r=i?t.clone().transform(i,this.getProjection()):t}this.fitInternal(r,e)},e.prototype.rotatedExtentForGeometry=function(t){for(var e=this.getRotation(),r=Math.cos(e),n=Math.sin(-e),i=t.getFlatCoordinates(),o=t.getStride(),a=1/0,s=1/0,l=-1/0,u=-1/0,c=0,h=i.length;c=0;s--){var l=a[s];if(l.getMap()===this&&l.getActive()&&this.getTargetElement())if(!l.handleEvent(t)||t.propagationStopped)break}}},e.prototype.handlePostRender=function(){var t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){var r=this.maxTilesLoading_,n=r;if(t){var i=t.viewHints;if(i[Bo.a.ANIMATING]||i[Bo.a.INTERACTING]){var o=Date.now()-t.time>8;r=o?0:8,n=o?0:2}}e.getTilesLoading()0;if(this.renderedVisible_!=r&&(this.element.style.display=r?"":"none",this.renderedVisible_=r),!Object(h.b)(e,this.renderedAttributions_)){Object(Ai.e)(this.ulElement_);for(var n=0,i=e.length;n0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:Qo.easeOut}):t.setRotation(0))}},e.prototype.render=function(t){var e=t.frameState;if(e){var r=e.viewState.rotation;if(r!=this.rotation_){var n="rotate("+r+"rad)";if(this.autoHide_){var i=this.element.classList.contains(xi);i||0!==r?i&&0!==r&&this.element.classList.remove(xi):this.element.classList.add(xi)}this.label_.style.transform=n}this.rotation_=r}},e}(us),ds=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gs=function(t){function e(e){var r=this,n=e||{};r=t.call(this,{element:document.createElement("div"),target:n.target})||this;var i=void 0!==n.className?n.className:"ol-zoom",o=void 0!==n.delta?n.delta:1,a=void 0!==n.zoomInClassName?n.zoomInClassName:i+"-in",s=void 0!==n.zoomOutClassName?n.zoomOutClassName:i+"-out",l=void 0!==n.zoomInLabel?n.zoomInLabel:"+",u=void 0!==n.zoomOutLabel?n.zoomOutLabel:"–",c=void 0!==n.zoomInTipLabel?n.zoomInTipLabel:"Zoom in",h=void 0!==n.zoomOutTipLabel?n.zoomOutTipLabel:"Zoom out",f=document.createElement("button");f.className=a,f.setAttribute("type","button"),f.title=c,f.appendChild("string"==typeof l?document.createTextNode(l):l),f.addEventListener(fo.a.CLICK,r.handleClick_.bind(r,o),!1);var p=document.createElement("button");p.className=s,p.setAttribute("type","button"),p.title=h,p.appendChild("string"==typeof u?document.createTextNode(u):u),p.addEventListener(fo.a.CLICK,r.handleClick_.bind(r,-o),!1);var d=i+" "+"ol-unselectable "+Si,g=r.element;return g.className=d,g.appendChild(f),g.appendChild(p),r.duration_=void 0!==n.duration?n.duration:250,r}return ds(e,t),e.prototype.handleClick_=function(t,e){e.preventDefault(),this.zoomByDelta_(t)},e.prototype.zoomByDelta_=function(t){var e=this.getMap().getView();if(e){var r=e.getZoom();if(void 0!==r){var n=e.getConstrainedZoom(r+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:n,duration:this.duration_,easing:Qo.easeOut})):e.setZoom(n)}}},e}(us);function ys(t){var e=t||{},r=new ho;return(void 0===e.zoom||e.zoom)&&r.push(new gs(e.zoomOptions)),(void 0===e.rotate||e.rotate)&&r.push(new ps(e.rotateOptions)),(void 0===e.attribution||e.attribution)&&r.push(new hs(e.attributionOptions)),r}var ms="active",_s=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function vs(t,e,r,n){var i=t.getZoom();if(void 0!==i){var o=t.getConstrainedZoom(i+e),a=t.getResolutionForZoom(o);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:a,anchor:r,duration:void 0!==n?n:250,easing:Qo.easeOut})}}var bs=function(t){function e(e){var r=t.call(this)||this;return r.on,r.once,r.un,e&&e.handleEvent&&(r.handleEvent=e.handleEvent),r.map_=null,r.setActive(!0),r}return _s(e,t),e.prototype.getActive=function(){return this.get(ms)},e.prototype.getMap=function(){return this.map_},e.prototype.handleEvent=function(t){return!0},e.prototype.setActive=function(t){this.set(ms,t)},e.prototype.setMap=function(t){this.map_=t},e}(Pi.a),xs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ws=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.delta_=n.delta?n.delta:1,r.duration_=void 0!==n.duration?n.duration:250,r}return xs(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==So.DBLCLICK){var r=t.originalEvent,n=t.map,i=t.coordinate,o=r.shiftKey?-this.delta_:this.delta_;vs(n.getView(),o,i,this.duration_),r.preventDefault(),e=!0}return!e},e}(bs),Es=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Ss(t){for(var e=t.length,r=0,n=0,i=0;i0}}else if(t.type==So.POINTERDOWN){var n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==So.POINTERMOVE&&this.handleMoveEvent(t);return!e},e.prototype.handleMoveEvent=function(t){},e.prototype.handleUpEvent=function(t){return!1},e.prototype.stopDown=function(t){return t},e.prototype.updateTrackedPointers_=function(t){t.activePointers&&(this.targetPointers=t.activePointers)},e}(bs);function Is(t){var e=arguments;return function(t){for(var r=!0,n=0,i=e.length;n0&&this.condition_(t)){var e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1},e}(Os),zs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Vs=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this,{stopDown:ai.a})||this).condition_=n.condition?n.condition:Ts,r.lastAngle_=void 0,r.duration_=void 0!==n.duration?n.duration:250,r}return zs(e,t),e.prototype.handleDragEvent=function(t){if(Ds(t)){var e=t.map,r=e.getView();if(r.getConstraints().rotation!==Ko){var n=e.getSize(),i=t.pixel,o=Math.atan2(n[1]/2-i[1],i[0]-n[0]/2);if(void 0!==this.lastAngle_){var a=o-this.lastAngle_;r.adjustRotationInternal(-a)}this.lastAngle_=o}}},e.prototype.handleUpEvent=function(t){return!Ds(t)||(t.map.getView().endInteraction(this.duration_),!1)},e.prototype.handleDownEvent=function(t){return!!Ds(t)&&(!(!Ms(t)||!this.condition_(t))&&(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0))},e}(Os),qs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ys=function(t){function e(e){var r=t.call(this)||this;return r.geometry_=null,r.element_=document.createElement("div"),r.element_.style.position="absolute",r.element_.style.pointerEvents="auto",r.element_.className="ol-box "+e,r.map_=null,r.startPixel_=null,r.endPixel_=null,r}return qs(e,t),e.prototype.disposeInternal=function(){this.setMap(null)},e.prototype.render_=function(){var t=this.startPixel_,e=this.endPixel_,r="px",n=this.element_.style;n.left=Math.min(t[0],e[0])+r,n.top=Math.min(t[1],e[1])+r,n.width=Math.abs(e[0]-t[0])+r,n.height=Math.abs(e[1]-t[1])+r},e.prototype.setMap=function(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);var e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)},e.prototype.setPixels=function(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()},e.prototype.createOrUpdateGeometry=function(){var t=this.startPixel_,e=this.endPixel_,r=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);r[4]=r[0].slice(),this.geometry_?this.geometry_.setCoordinates([r]):this.geometry_=new Xa([r])},e.prototype.getGeometry=function(){return this.geometry_},e}(oi.a),Ws=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Xs="boxstart",Hs="boxdrag",Zs="boxend",Ks="boxcancel",Js=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.coordinate=r,i.mapBrowserEvent=n,i}return Ws(e,t),e}(so.a),Qs=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n=e||{};return r.box_=new Ys(n.className||"ol-dragbox"),r.minArea_=void 0!==n.minArea?n.minArea:64,n.onBoxEnd&&(r.onBoxEnd=n.onBoxEnd),r.startPixel_=null,r.condition_=n.condition?n.condition:Ms,r.boxEndCondition_=n.boxEndCondition?n.boxEndCondition:r.defaultBoxEndCondition,r}return Ws(e,t),e.prototype.defaultBoxEndCondition=function(t,e,r){var n=r[0]-e[0],i=r[1]-e[1];return n*n+i*i>=this.minArea_},e.prototype.getGeometry=function(){return this.box_.getGeometry()},e.prototype.handleDragEvent=function(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new Js(Hs,t.coordinate,t))},e.prototype.handleUpEvent=function(t){this.box_.setMap(null);var e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new Js(e?Zs:Ks,t.coordinate,t)),!1},e.prototype.handleDownEvent=function(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new Js(Xs,t.coordinate,t)),!0)},e.prototype.onBoxEnd=function(t){},e}(Os),$s=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),tl=function(t){function e(e){var r=this,n=e||{},i=n.condition?n.condition:js;return(r=t.call(this,{condition:i,className:n.className||"ol-dragzoom",minArea:n.minArea})||this).duration_=void 0!==n.duration?n.duration:200,r.out_=void 0!==n.out&&n.out,r}return $s(e,t),e.prototype.onBoxEnd=function(t){var e=this.getMap().getView(),r=this.getGeometry();if(this.out_){var n=e.rotatedExtentForGeometry(r),i=e.getResolutionForExtentInternal(n),o=e.getResolution()/i;(r=r.clone()).scale(o*o)}e.fitInternal(r,{duration:this.duration_,easing:Qo.easeOut})},e}(Qs),el=37,rl=38,nl=39,il=40,ol=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),al=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.defaultCondition_=function(t){return ks(t)&&Fs(t)},r.condition_=void 0!==n.condition?n.condition:r.defaultCondition_,r.duration_=void 0!==n.duration?n.duration:100,r.pixelDelta_=void 0!==n.pixelDelta?n.pixelDelta:128,r}return ol(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==fo.a.KEYDOWN){var r=t.originalEvent,n=r.keyCode;if(this.condition_(t)&&(n==il||n==el||n==nl||n==rl)){var i=t.map.getView(),o=i.getResolution()*this.pixelDelta_,a=0,s=0;n==il?s=-o:n==el?a=-o:n==nl?a=o:s=o;var l=[a,s];Object(di.j)(l,i.getRotation()),function(t,e,r){var n=t.getCenterInternal();if(n){var i=[n[0]+e[0],n[1]+e[1]];t.animateInternal({duration:void 0!==r?r:250,easing:Qo.linear,center:t.getConstrainedCenter(i)})}}(i,l,this.duration_),r.preventDefault(),e=!0}}return!e},e}(bs),sl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ll=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.condition_=n.condition?n.condition:Fs,r.delta_=n.delta?n.delta:1,r.duration_=void 0!==n.duration?n.duration:100,r}return sl(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==fo.a.KEYDOWN||t.type==fo.a.KEYPRESS){var r=t.originalEvent,n=r.charCode;if(this.condition_(t)&&(n=="+".charCodeAt(0)||n=="-".charCodeAt(0))){var i=t.map,o=n=="+".charCodeAt(0)?this.delta_:-this.delta_;vs(i.getView(),o,void 0,this.duration_),r.preventDefault(),e=!0}}return!e},e}(bs),ul=function(){function t(t,e,r){this.decay_=t,this.minVelocity_=e,this.delay_=r,this.points_=[],this.angle_=0,this.initialVelocity_=0}return t.prototype.begin=function(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0},t.prototype.update=function(t,e){this.points_.push(t,e,Date.now())},t.prototype.end=function(){if(this.points_.length<6)return!1;var t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[r+2]>t;)r-=3;var n=this.points_[e+2]-this.points_[r+2];if(n<1e3/60)return!1;var i=this.points_[e]-this.points_[r],o=this.points_[e+1]-this.points_[r+1];return this.angle_=Math.atan2(o,i),this.initialVelocity_=Math.sqrt(i*i+o*o)/n,this.initialVelocity_>this.minVelocity_},t.prototype.getDistance=function(){return(this.minVelocity_-this.initialVelocity_)/this.decay_},t.prototype.getAngle=function(){return this.angle_},t}(),cl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),hl="trackpad",fl="wheel",pl=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,n)||this).totalDelta_=0,r.lastDelta_=0,r.maxDelta_=void 0!==n.maxDelta?n.maxDelta:1,r.duration_=void 0!==n.duration?n.duration:250,r.timeout_=void 0!==n.timeout?n.timeout:80,r.useAnchor_=void 0===n.useAnchor||n.useAnchor,r.constrainResolution_=void 0!==n.constrainResolution&&n.constrainResolution;var i=n.condition?n.condition:Ls;return r.condition_=n.onFocusOnly?Is(Rs,i):i,r.lastAnchor_=null,r.startTime_=void 0,r.timeoutId_,r.mode_=void 0,r.trackpadEventGap_=400,r.trackpadTimeoutId_,r.deltaPerZoom_=300,r}return cl(e,t),e.prototype.endInteraction_=function(){this.trackpadTimeoutId_=void 0;var t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_)},e.prototype.handleEvent=function(t){if(!this.condition_(t))return!0;if(t.type!==fo.a.WHEEL)return!0;var e,r=t.map,n=t.originalEvent;if(n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate),t.type==fo.a.WHEEL&&(e=n.deltaY,Li.b&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(e/=Li.a),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(e*=40)),0===e)return!1;this.lastDelta_=e;var i=Date.now();void 0===this.startTime_&&(this.startTime_=i),(!this.mode_||i-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(e)<4?hl:fl);var o=r.getView();if(this.mode_===hl&&!o.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(o.getAnimating()&&o.cancelAnimations(),o.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),o.adjustZoom(-e/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=i,!1;this.totalDelta_+=e;var a=Math.max(this.timeout_-(i-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,r),a),!1},e.prototype.handleWheelZoom_=function(t){var e=t.getView();e.getAnimating()&&e.cancelAnimations();var r=-Object(qo.b)(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(r=r?r>0?1:-1:0),vs(e,r,this.lastAnchor_,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0},e.prototype.setMouseAnchor=function(t){this.useAnchor_=t,t||(this.lastAnchor_=null)},e}(bs),dl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gl=function(t){function e(e){var r=this,n=e||{},i=n;return i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).anchor_=null,r.lastAngle_=void 0,r.rotating_=!1,r.rotationDelta_=0,r.threshold_=void 0!==n.threshold?n.threshold:.3,r.duration_=void 0!==n.duration?n.duration:250,r}return dl(e,t),e.prototype.handleDragEvent=function(t){var e=0,r=this.targetPointers[0],n=this.targetPointers[1],i=Math.atan2(n.clientY-r.clientY,n.clientX-r.clientX);if(void 0!==this.lastAngle_){var o=i-this.lastAngle_;this.rotationDelta_+=o,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=o}this.lastAngle_=i;var a=t.map,s=a.getView();if(s.getConstraints().rotation!==Ko){var l=a.getViewport().getBoundingClientRect(),u=Ss(this.targetPointers);u[0]-=l.left,u[1]-=l.top,this.anchor_=a.getCoordinateFromPixelInternal(u),this.rotating_&&(a.render(),s.adjustRotationInternal(e,this.anchor_))}},e.prototype.handleUpEvent=function(t){return!(this.targetPointers.length<2)||(t.map.getView().endInteraction(this.duration_),!1)},e.prototype.handleDownEvent=function(t){if(this.targetPointers.length>=2){var e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1},e}(Os),yl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ml=function(t){function e(e){var r=this,n=e||{},i=n;return i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).anchor_=null,r.duration_=void 0!==n.duration?n.duration:400,r.lastDistance_=void 0,r.lastScaleDelta_=1,r}return yl(e,t),e.prototype.handleDragEvent=function(t){var e=1,r=this.targetPointers[0],n=this.targetPointers[1],i=r.clientX-n.clientX,o=r.clientY-n.clientY,a=Math.sqrt(i*i+o*o);void 0!==this.lastDistance_&&(e=this.lastDistance_/a),this.lastDistance_=a;var s=t.map,l=s.getView();1!=e&&(this.lastScaleDelta_=e);var u=s.getViewport().getBoundingClientRect(),c=Ss(this.targetPointers);c[0]-=u.left,c[1]-=u.top,this.anchor_=s.getCoordinateFromPixelInternal(c),s.render(),l.adjustResolutionInternal(e,this.anchor_)},e.prototype.handleUpEvent=function(t){if(this.targetPointers.length<2){var e=t.map.getView(),r=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,r),!1}return!0},e.prototype.handleDownEvent=function(t){if(this.targetPointers.length>=2){var e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1},e}(Os);function _l(t){var e=t||{},r=new ho,n=new ul(-.005,.05,100);return(void 0===e.altShiftDragRotate||e.altShiftDragRotate)&&r.push(new Vs),(void 0===e.doubleClickZoom||e.doubleClickZoom)&&r.push(new ws({delta:e.zoomDelta,duration:e.zoomDuration})),(void 0===e.dragPan||e.dragPan)&&r.push(new Bs({onFocusOnly:e.onFocusOnly,kinetic:n})),(void 0===e.pinchRotate||e.pinchRotate)&&r.push(new gl),(void 0===e.pinchZoom||e.pinchZoom)&&r.push(new ml({duration:e.zoomDuration})),(void 0===e.keyboard||e.keyboard)&&(r.push(new al),r.push(new ll({delta:e.zoomDelta,duration:e.zoomDuration}))),(void 0===e.mouseWheelZoom||e.mouseWheelZoom)&&r.push(new pl({onFocusOnly:e.onFocusOnly,duration:e.zoomDuration})),(void 0===e.shiftDragZoom||e.shiftDragZoom)&&r.push(new tl({duration:e.zoomDuration})),r}var vl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),bl=function(t){function e(e){return(e=Object(Mi.a)({},e)).controls||(e.controls=ys()),e.interactions||(e.interactions=_l({onFocusOnly:!0})),t.call(this,e)||this}return vl(e,t),e.prototype.createRenderer=function(){return new no(this)},e}(ss);function xl(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function wl(t,e){for(var r=0;r2&&void 0!==arguments[2]&&arguments[2];xl(this,t),this._listener=e,this._scope=r,this.eventKey_=sD(),this.once_=n}var e,r,n;return e=t,(r=[{key:"fire",value:function(t){var e=t;JF(e)||(e=[e]),this._listener.apply(this._scope,e)}},{key:"getEventKey",value:function(){return this.eventKey_}},{key:"isOnce",value:function(){return this.once_}},{key:"has",value:function(t,e){var r=!1;return r=$F(t)?this._listener===t&&this._scope===e:this.eventKey_===t,r}}])&&wl(e.prototype,r),n&&wl(e,n),t}();function Sl(t,e){for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(!QF(t)&&$F(e)&&(QF(this.events_[t])&&(this.events_[t]=[]),-1===this.indexOf(t,e,r))){var o=new El(e,r,i);this.events_[t].push(o),n=o.getEventKey()}return n}},{key:"remove",value:function(t,e,r){var n=this.events_[t];if(!QF(n)){var i=this.indexOf(t,e,r);-1!==i&&n.splice(i,1)}}},{key:"removeByKey",value:function(t,e){var r=this.events_[t];if(!QF(r)){var n=r.map((function(t,r){var n=-1;return t.getEventKey()===e&&(n=r),n}));-1!==n&&r.splice(n,1)}}},{key:"fire",value:function(t,e){var r=this,n=[].concat(this.events_[t]);QF(n)||n.forEach((function(n){n.fire(e),!0===n.isOnce()&&r.remove(t,n.getEventKey())}))}},{key:"indexOf",value:function(t,e,r){var n=-1,i=this.events_[t];if(!QF(i))for(var o=0,a=i.length;or?(this.direction_=Ml,this.widthLimit_=e-a):(this.direction_=Ll,this.heightLimit_=r-s),this.sliderInitialized_=!0},e.prototype.handleContainerClick_=function(t){var e=this.getMap().getView(),r=this.getRelativePosition_(t.offsetX-this.thumbSize_[0]/2,t.offsetY-this.thumbSize_[1]/2),n=this.getResolutionForPosition_(r),i=e.getConstrainedZoom(e.getZoomForResolution(n));e.animateInternal({zoom:i,duration:this.duration_,easing:Qo.easeOut})},e.prototype.handleDraggerStart_=function(t){if(!this.dragging_&&t.target===this.element.firstElementChild){var e=this.element.firstElementChild;if(this.getMap().getView().beginInteraction(),this.startX_=t.clientX-parseFloat(e.style.left),this.startY_=t.clientY-parseFloat(e.style.top),this.dragging_=!0,0===this.dragListenerKeys_.length){var r=this.handleDraggerDrag_,n=this.handleDraggerEnd_,i=this.getMap().getOwnerDocument();this.dragListenerKeys_.push(Object(eo.a)(i,Oo,r,this),Object(eo.a)(i,Co,n,this))}}},e.prototype.handleDraggerDrag_=function(t){if(this.dragging_){var e=t.clientX-this.startX_,r=t.clientY-this.startY_,n=this.getRelativePosition_(e,r);this.currentResolution_=this.getResolutionForPosition_(n),this.getMap().getView().setResolution(this.currentResolution_)}},e.prototype.handleDraggerEnd_=function(t){this.dragging_&&(this.getMap().getView().endInteraction(),this.dragging_=!1,this.startX_=void 0,this.startY_=void 0,this.dragListenerKeys_.forEach(eo.c),this.dragListenerKeys_.length=0)},e.prototype.setThumbPosition_=function(t){var e=this.getPositionForResolution_(t),r=this.element.firstElementChild;this.direction_==Ml?r.style.left=this.widthLimit_*e+"px":r.style.top=this.heightLimit_*e+"px"},e.prototype.getRelativePosition_=function(t,e){var r;return r=this.direction_===Ml?t/this.widthLimit_:e/this.heightLimit_,Object(qo.b)(r,0,1)},e.prototype.getResolutionForPosition_=function(t){return this.getMap().getView().getResolutionForValueFunction()(1-t)},e.prototype.getPositionForResolution_=function(t){var e=this.getMap().getView().getValueForResolutionFunction();return Object(qo.b)(1-e(t),0,1)},e.prototype.render=function(t){if(t.frameState&&(this.sliderInitialized_||this.initSlider_())){var e=t.frameState.viewState.resolution;this.currentResolution_=e,this.setThumbPosition_(e)}},e}(us);function Nl(t){return(Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function kl(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:Ru.lang;return Lu(e)[t]};function Au(t){return(Au="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Nu(t,e){for(var r=0;re?r.fn(this):r.inverse(this)})),Bu.a.registerHelper("lt",(function(t,e,r){return t0&&void 0!==arguments[0]?arguments[0]:{};Wu(this,o);var r=new Ul(e);return t=i.call(this,r,o.NAME),HF(Ul)&&Bl(Mu("exception").panzoombar_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(Pl.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&Xu(e.prototype,r),n&&Xu(e,n),o}(Gu);Qu.NAME="panzoombar";var $u=Qu,tc="WMC",ec="KML",rc="WMS",nc="WFS",ic="WMTS",oc="OSM",ac="Mapbox",sc="GeoJSON",lc="Vector",uc="MVT",cc={WMC:tc,KML:ec,WMS:rc,WFS:nc,WMTS:ic,OSM:oc,Mapbox:ac,GeoJSON:sc,Vector:lc,MVT:uc},hc=function(t){var e=iD(t,!0);return e="WMS_FULL"===e?rc:"WFST"===e?nc:Object.keys(cc).find((function(t){var r=cc[t];return eD(r)&&iD(r,!0)===e})),cc[e]},fc=function(t){return-1!==[tc,ec,rc,nc,ic,uc].indexOf(hc(t))};function pc(t){return(pc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var dc=/WMS\*.*/,gc=/WMS_FULL\*.*/,yc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))},array_string:function(t){return t.split(i).map((function(t){return t.trim()})).map((function(t){return String(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(pc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},mc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e=yc({parameter:t,type:"string",attr:"name"}),r=yc({parameter:t,type:"string",attr:"url"}),n=yc({parameter:t,type:"string",attr:"legend"}),i=yc({parameter:t,type:"boolean",attr:"transparent"}),o=yc({parameter:t,type:"boolean",attr:"tiled"}),a=yc({parameter:t,type:"array_number",attr:"maxExtent",separator:"_"}),s=yc({parameter:t,type:"string",attr:"version"}),l=yc({parameter:t,type:"array_string",attr:"styles",separator:"%"});return dc.test(t)||tD(t)?{type:"WMS",name:e(dc,3),tiled:o(dc,5),url:r(dc,2),legend:n(dc,1),transparent:i(dc,4),maxExtent:a(dc,6),version:s(dc,7),styles:l(dc,8)}:{type:"WMS",url:r(gc,1)}})),JF(t)||(e=e[0]),e};function _c(t){return(_c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var vc=/KML\*.*/,bc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.valueCmp,o=void 0===i?/^1|true/i:i,a=t.separator,s=t.normalized,l=void 0!==s&&s;return function(t,i){var s,u={boolean:function(t){return o.test(t)},boolean_eql:function(t){return void 0===t||"true"===t},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(a||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var c=e.split("*"),h=c[i];s=u[n](h),"extract"===r&&(s="false"!==(h=c.slice(-2,-1)[0])),"label"===r&&(s="false"!==(h=c.slice(-1)[0])),"url"!==r||"true"!==s&&"false"!==s&&void 0!==s||(s="")}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(_c(e)));return eD(s)&&(s=s.trim()),!0===l&&(s=iD(s)),s}},xc=function(t){var e=t,r=[];QF(e)&&Bl(Mu("exception").no_param);var n=e;return JF(n)||(n=[n]),r=n.map((function(t){var e=bc({parameter:t,type:"string",attr:"name"}),r=bc({parameter:t,type:"string",attr:"url"}),n=bc({parameter:t,type:"boolean",attr:"extract"}),i=bc({parameter:t,type:"boolean_eql",attr:"label"});return vc.test(t)?{type:ec,name:e(vc,1),url:r(vc,2)+r(vc,3),extract:n(vc,4),label:i(vc,5)}:{type:ec,name:e(vc),url:r(vc),extract:n(vc),label:i(vc)}})),JF(e)||(r=r[0]),r};function wc(t){return(wc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Ec=/MAPBOX\*.*/,Sc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(wc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Oc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e=Sc({parameter:t,type:"string",attr:"name"})(Ec,1),r=Sc({parameter:t,type:"string",attr:"legend"})(Ec,3),n=Sc({parameter:t,type:"boolean",attr:"transparent"})(Ec,2),i=function(t){var e;return eD(t)?e=null:tD(t)&&!QF(t.accessToken)?e=t.accessToken.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(wc(t))),e}(t);return{type:ac,name:e,legend:r,transparent:n,accessToken:i}})),JF(t)||(e=e[0]),e};function Ic(t){return(Ic="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Cc=/OSM\.*/,Tc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(Ic(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Pc=function(t){var e=t,r=[];QF(e)&&(e={type:oc,name:"osm"});var n=e;return JF(n)||(n=[n]),r=n.map((function(t){return{type:"OSM",name:Tc({parameter:t,type:"string",attr:"name"})(Cc,3),transparent:Tc({parameter:t,type:"boolean",attr:"transparent"})(Cc,1),legend:Tc({parameter:t,type:"string",attr:"legend"})(Cc,2)}})),JF(e)||(r=r[0]),r};function Rc(t){return(Rc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Lc=/^GeoJSON(T)?\*.*/,Mc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(Rc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Ac=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){return{type:"GeoJSON",name:Mc({parameter:t,type:"string",attr:"name"})(Lc,1),url:Mc({parameter:t,type:"string",attr:"name"})(Lc,2),extract:Mc({parameter:t,type:"boolean",attr:"extract"})(Lc,3),style:Mc({parameter:t,type:"string",attr:"style"})(Lc,4)}})),JF(t)||(e=e[0]),e};function Nc(t){return(Nc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var kc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e,r,n={};return n.type=tc,n.name=(eD(e=t)?/^\w{3,7}\*[^*]+\*[^*]+$/.test(e)?r=e.split(/\*/)[2].trim():/^\w{3,7}\*[^*]$/.test(e)||/^[^*]+\*[^*]+$/.test(e)?r=e.split(/\*/)[1].trim():/^[^*]+$/.test(e)&&!rD(e)&&(r=e):tD(e)?r=iD(e.name):Bl("El parámetro no es de un tipo soportado: ".concat(Nc(e))),rD(r)&&(r=null),r),n.url=function(t){var e;if(eD(t)){var r=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);r&&r.length>2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(Nc(t)));return e}(t),n.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(Nc(t)))),e}(t),n})),JF(t)||(e=e[0]),e};function jc(t){return(jc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Fc=function(t){var e=t,r={};if(QF(e)&&Bl(Mu("exception").no_center),eD(e))if(e=iD(e),/^-?\d+(\.\d+)?[,;]-?\d+(\.\d+)?([*](true|false))?$/i.test(e)){var n=e.split(/\*/),i=n[0],o=n[1],a=i.split(/[,;]+/);2===a.length?(r.x=Number.parseFloat(a[0]),r.y=Number.parseFloat(a[1])):Bl(Mu("exception").invalid_center_param),r.draw=/^1|(true)$/i.test(o)}else Bl(Mu("exception").invalid_center_param);else JF(e)?2===e.length||3===e.length?(eD(e[0])&&(e[0]=Number.parseFloat(e[0])),eD(e[1])&&(e[1]=Number.parseFloat(e[1])),r.x=e[0],r.y=e[1]):Bl(Mu("exception").invalid_center_param):tD(e)?(KF(e.x)?Bl(Mu("exception").invalid_center_param):(eD(e.x)&&(e.x=Number.parseFloat(e.x)),r.x=e.x),KF(e.y)?Bl(Mu("exception").invalid_center_param):(eD(e.y)&&(e.y=Number.parseFloat(e.y)),r.y=e.y),KF(e.draw)?r.draw=!1:r.draw=/^true$/.test(e.draw)):Bl("El parámetro no es de un tipo soportado: ".concat("undefined"==typeof maxExtentParameter?"undefined":jc(maxExtentParameter)));return(Number.isNaN(r.x)||Number.isNaN(r.y))&&Bl(Mu("exception").invalid_center_param),r},Dc=function(t){var e,r=t;if(!QF(r)){if(e={x:{},y:{}},QF(r)&&Bl(Mu("exception").no_maxextent),eD(r))if(/^\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?$/.test(r)){var n=r.split(/[,;]+/);4===n.length?(e.x.min=Number.parseFloat(n[0]),e.y.min=Number.parseFloat(n[1]),e.x.max=Number.parseFloat(n[2]),e.y.max=Number.parseFloat(n[3])):Bl(Mu("exception").invalid_maxextent_param)}else Bl(Mu("exception").invalid_maxextent_param);else JF(r)?4===r.length?(eD(r[0])&&(r[0]=Number.parseFloat(r[0])),eD(r[1])&&(r[1]=Number.parseFloat(r[1])),eD(r[2])&&(r[2]=Number.parseFloat(r[2])),eD(r[3])&&(r[3]=Number.parseFloat(r[3])),e.x.min=r[0],e.y.min=r[1],e.x.max=r[2],e.y.max=r[3]):Bl(Mu("exception").invalid_maxextent_param):tD(r)?(KF(r.left)?KF(r.x.min)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.x.min)&&(r.x.min=Number.parseFloat(r.x.min)),e.x.min=r.x.min):(eD(r.left)&&(r.left=Number.parseFloat(r.left)),e.x.min=r.left),KF(r.bottom)?KF(r.y.min)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.y.min)&&(r.y.min=Number.parseFloat(r.y.min)),e.y.min=r.y.min):(eD(r.bottom)&&(r.bottom=Number.parseFloat(r.bottom)),e.y.min=r.bottom),KF(r.right)?KF(r.x.max)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.x.max)&&(r.x.max=Number.parseFloat(r.x.max)),e.x.max=r.x.max):(eD(r.right)&&(r.right=Number.parseFloat(r.right)),e.x.max=r.right),KF(r.top)?KF(r.y.max)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.y.max)&&(r.y.max=Number.parseFloat(r.y.max)),e.y.max=r.y.max):(eD(r.top)&&(r.top=Number.parseFloat(r.top)),e.y.max=r.top)):Bl("El parámetro no es de un tipo soportado: ".concat(jc(r)));(Number.isNaN(e.x.min)||Number.isNaN(e.y.min)||Number.isNaN(e.x.max)||Number.isNaN(e.y.max))&&Bl(Mu("exception").invalid_maxextent_param)}return e},Gc=function(t){var e={code:null,units:null};if(QF(t)&&Bl(Mu("exception").no_projection),eD(t))if(/^(EPSG:)?\d+\*((d(egrees)?)|(m(eters)?))$/i.test(t)){var r=t.split(/\*/);e.code=r[0],e.units=iD(r[1].substring(0,1))}else Bl("El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ".concat(M.config.DEFAULT_PROJ));else tD(t)?KF(t.code)||KF(t.units)?Bl("El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ".concat(M.config.DEFAULT_PROJ)):(e.code=t.code,e.units=iD(t.units.substring(0,1))):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return"m"!==e.units&&"d"!==e.units&&Bl('La unidad "'.concat(t.units,'" del parámetro projection no es válida. Las disponibles son: "m" o "d"')),e},Uc=function(t){var e=t,r=[];QF(e)&&Bl(Mu("exception").no_resolutions),eD(e)&&(/^\d+(\.\d+)?([,;]\d+(\.\d+)?)*$/.test(e)?e=e.split(/[,;]+/):Bl(Mu("exception").invalid_resolutions_param)),JF(e)?r=e.map((function(t){return eD(t)?Number.parseFloat(t):t})):Bl("El parámetro no es de un tipo soportado: ".concat(jc(e)));for(var n=!0,i=0,o=r.length;i2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(e),i.namespace=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)?/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+/i.test(t)&&(e=t.split(/\*/)[3].trim().split(":")[0]):/^[^*]*\*[^*]+:[^*]+/.test(t)&&(e=t.split(/\*/)[1].trim().split(":")[0]):tD(t)&&!QF(t.namespace)?e=t.namespace.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.legend=function(t){var e;return eD(t)?/^WFS(T)?\*[^*]/i.test(t)?e=t.split(/\*/)[1].trim():/^[^*]+\*[^*]+:[^*]+\*[^*]+/.test(t)&&(e=t.split(/\*/)[2].trim()):tD(t)&&!QF(t.legend)?e=t.legend.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.cql=function(t){var e;return eD(t)?(/^[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]+/i.test(t)&&(e=t.split(/\*/)[3].trim()),/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*/i.test(t)&&(e=t.split(/\*/)[6].trim())):tD(t)&&!QF(t.cql)||!QF(t.ecql)?e=t.cql?t.cql.trim():t.ecql.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(/^(true|false)$/i.test(e)||/^\d\.\d\.\d$/.test(e))&&(e=void 0),e}(e),i.geometry=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+/i.test(t)||/^WFS(T)?\*[^*]*\*[^*][^*]+\*[^*]+/i.test(t))&&(e=t.split(/\*/)[4].trim()):tD(t)&&!QF(t.geometry)?e=t.geometry.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.ids=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*(.-?)+$/i.test(t)||/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+\*[^*]+\*(.-?)+$/i.test(t))&&(e=t.split(/\*/)[5].trim().split("-")):tD(t)&&!QF(t.ids)?e=t.ids:tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),rD(e)&&(e=null),QF(e)||JF(e)||(e=[e]),e}(e),i.version=function(t){var e;return eD(t)?/(\d\.\d\.\d)$/.test(t)&&(e=t.match(/\d\.\d\.\d$/)[0]):tD(t)?e=t.version:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),e}(e),i.style=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*\*[^*]*/i.test(t)&&(e=t.split(/\*/)[7].trim()):tD(t)&&!QF(t.style)?e=t.style:tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),e}(e),i.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)))),e}(e),i.outputFormat=t.outputFormat,i})),JF(t)||(e=e[0]),e},Vc=function(t){var e=[];QF(t)&&Bl("No ha especificado ningún parámetro");var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e={};return e.type=uc,e.name=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)/i);r&&r.length>2&&(e=r[2])}}else tD(t)&&!QF(t.name)?e=t.name.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.url=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+).*/i);r&&r.length>1&&(e=r[1])}}else tD(t)&&!QF(t.url)?e=t.url.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.mode=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)/i);r&&r.length>3&&(e=r[3])}}else tD(t)&&!QF(t.mode)?e=t.mode.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.projection=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)\*([^*]+)/i);r&&r.length>4&&(e=r[4])}}else tD(t)&&!QF(t.proj)?e=t.proj.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e})),JF(t)||(e=e[0]),e},qc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e,r,n={};return n.type=ic,n.name=(eD(e=t)?/^WMTS\*.+/i.test(e)?/^WMTS\*[^*]+\*[^*]+/i.test(e)&&(r=e.split(/\*/)[2].trim()):/^[^*]*\*[^*]+/.test(e)&&(r=e.split(/\*/)[1].trim()):tD(e)&&!QF(e.name)?r=e.name.trim():tD(e)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(e))),(rD(r)||/^(true|false)$/i.test(r))&&(r=null),r),n.url=function(t){var e;if(eD(t)){var r=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);r&&r.length>2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),n.matrixSet=function(t){var e,r;return eD(t)?/^WMTS\*[^*]+\*[^*]+(\*[^*]])*/i.test(t)?e=(r=t.split(/\*/))[3]?r[3].trim():null:/^[^*]+\*[^*]+\*[^*]+/.test(t)&&(e=(r=t.split(/\*/))[2].trim()):tD(t)&&!QF(t.matrixSet)?e=t.matrixSet.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(t),n.legend=function(t){var e;return eD(t)?/^WMTS\*.+/i.test(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]+/i.test(t)&&(e=t.split(/\*/)[4].trim()):/^[^*]+\*[^*]+\*[^*]*\*[^*]+/.test(t)&&(e=t.split(/\*/)[3].trim()):tD(t)&&!QF(t.legend)?e=t.legend.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(t),n.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)))),e}(t),n.transparent=function(t){var e;return eD(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]*\*(true|false)/i.test(t)?e=t.split(/\*/)[5].trim():/^WMS_FULL\*[^*]+(\*(true|false))?/i.test(t)?(t.split(/\*/),e=!0):/^[^*]+\*[^*]+\*[^*]+\*(true|false)/i.test(t)?e=t.split(/\*/)[3].trim():/^[^*]+\*[^*]+\*(true|false)/i.test(t)&&(e=t.split(/\*/)[2].trim()):tD(t)?e=iD(t.transparent):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),QF(e)||(e=/^1|(true)$/i.test(e)),e}(t),n})),JF(t)||(e=e[0]),e},Yc={kml:xc,mapbox:Oc,osm:Pc,wfs:zc,wmc:kc,wms:mc,wmts:qc,geojson:Ac,mvt:Vc},Wc=function(t,e){var r=[];QF(t)&&Bl(Mu("exception").no_param);var n=t;return JF(n)||(n=[n]),r=n.map((function(t){var r=null;if(tD(t)&&t instanceof th)r=t;else{var n=function(t,e){var r;if(eD(t))if(/^\s*osm\s*$/i.test(t))r=oc;else if(/^\s*mapbox\*.+$/i.test(t))r=ac;else{var n=t.match(/^(\w+)\*.+$/);n&&n.length>1&&(r=hc(n[1]),HF(r)&&Bl("No se reconoce el tipo de capa ".concat(n[1]))),HF(r)&&!QF(e)?r=e:HF(r)&&Bl("No se reconoce el tipo de capa ".concat(r))}else tD(t)?QF(t.type)||(r=hc(t.type),HF(r)&&Bl("No se reconoce el tipo de capa ".concat(r))):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return QF(r)||QF(e)||r===e||Bl("El tipo de la capa (".concat(r).concat(") no era el esperado (").concat(e).concat(")")),QF(r)&&!QF(e)&&(r=e),r}(t,e);n=iD(n),r=$F(Yc[n])?Yc[n](t):t}return r})),JF(t)||(r=r[0]),r};function Xc(t){return(Xc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hc(t,e){for(var r=0;r1?a:2,x=o||new Array(b);for(g=0;g>1;i1?new Th(r,$o,i):new Xa(r,$o,n);default:throw new Error("Invalid geometry type:"+e)}}Rh.prototype.getEndss=Rh.prototype.getEnds,Rh.prototype.getFlatCoordinates=Rh.prototype.getOrientedFlatCoordinates;var Mh=Rh,Ah=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Nh(t){for(var e=[],r=0,n=t.length;r=r[0]||(t[1]<=r[1]&&t[3]>=r[1]||Object(mt.t)(t,this.intersectsCoordinate.bind(this)))}return!1},e.prototype.setCenter=function(t){var e=this.stride,r=this.flatCoordinates[e]-this.flatCoordinates[0],n=t.slice();n[e]=n[0]+r;for(var i=1;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r1)e.geometry.coordinates.forEach((function(t){if(!Number.isFinite(t[0])&&Array.isArray(t))o.push(t.map((function(t){var e=[];return Number.isFinite(t[0])?e.push(r(t)):t.forEach((function(t){e.push(r(t))})),e}))),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:o}});else{var n=r(t);o.push(n),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:o}})}})),n.push(i);else if(3===e.geometry.coordinates.length)e.geometry.coordinates.pop(),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:r(e.geometry.coordinates)}}),n.push(i);else if(1===t.length)if(e.geometry.coordinates[0].length>2){var a=e.geometry.coordinates[0].map((function(t){return r(t)}));i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:a}}),n.push(i)}else i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:r(e.geometry.coordinates[0])}}),n.push(i);else if(Number.isFinite(e.geometry.coordinates[0])){var s=r(e.geometry.coordinates);i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:s}}),n.push(i)}})),n},Wh=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}var e,r,n;return e=t,n=[{key:"generateResolutions",value:function(t,e,r,n){var i,o,a,s=[];QF(e)&&(i=t.getExtent());var l=Object(mt.G)(i)/256;QF(r)&&(o=0),QF(n)&&(a=28);for(var u=a-o,c=0;c=o[e]}))?i.getExtent():Object(u.A)(t,n,i)}},{key:"olRenderFeature2olFeature",value:function(t,e,r){var n;if(!QF(t)){var i,o=t.getId(),a=t.getProperties();if(QF(e)&&QF(e))i=this.getGeometryFromRenderFeature(t.getGeometry());else{var s=e.getExtent(),l=e.getWorldExtent();if(!QF(s)&&!QF(l)){var u=this.cloneOLRenderFeature(t);u.transform(e,r),i=this.getGeometryFromRenderFeature(u.getGeometry())}}n=new gh,QF(o)?n.setId(sD("mapea_feature_")):n.setId(o),n.setProperties(a,!0),n.setGeometry(i)}return n}},{key:"cloneOLRenderFeature",value:function(t){var e=t.getType(),r=t.getFlatCoordinates(),n=t.getEnds(),i=t.getProperties(),o=t.getId(),a=Gh(r),s=Object.assign(i),l=Gh(n);return new Mh(e,a,l,s,o)}},{key:"getGeometryFromRenderFeature",value:function(t){var e,r=t.getFlatCoordinates(),n=t.getEnds(),i=t.getEndss();switch(t.getType()){case"Point":e=new Aa(r);break;case"LineString":e=new Eh(r);break;case"LinearRing":e=new La(r);break;case"Polygon":e=new Xa(r);break;case"MultiPoint":e=new mh(r);break;case"MultiLineString":e=new Oh(r,void 0,n);break;case"MultiPolygon":e=new Th(r,void 0,i);break;case"GeometryCollection":var o=t.getGeometries();e=new kh(o);break;case"Circle":var a=t.getFlatInteriorPoint();e=new Dh(a);break;default:e=null}return e}},{key:"getWMTSScale",value:function(t,e){var r=t.getProjection().code,n=Object(u.o)(r).getMetersPerUnit(),i=t.getMapImpl().getSize(),o=i[0],a=t.getMapImpl().getView().calculateExtent(i),s=n*(a[2]-a[0])/o*1e3/.28;return 1==!e&&(s=s>=1e3&&s<=95e4?1e3*Math.round(s/1e3):s>=95e4?1e6*Math.round(s/1e6):Math.round(s)),Math.trunc(s)}}],(r=null)&&Bh(e.prototype,r),n&&Bh(e,n),t}();function Xh(t){return(Xh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hh(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zh(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Hh(this,o),(t=i.call(this,e)).vendorOptions_=r,t.map=null,t.ol3Layer=null,t.options=e,t.visibility=!1!==t.options.visibility,t.displayInLayerSwitcher=!1!==t.options.displayInLayerSwitcher,t.zIndex_=null,t.minScale_=null,t.maxScale_=null,t.opacity_=t.options.opacity||1,t.legendUrl_=mD([M.config.THEME_URL,th.LEGEND_DEFAULT]),t}return e=o,(r=[{key:"isVisible",value:function(){return QF(this.ol3Layer)?this.visibility:this.ol3Layer.getVisible()}},{key:"isQueryable",value:function(){return!1}},{key:"inRange",value:function(){var t=!1;if(!QF(this.ol3Layer)){var e=this.map.getMapImpl().getView().getResolution(),r=this.ol3Layer.getMaxResolution();t=e>=this.ol3Layer.getMinResolution()&&e<=r}return t}},{key:"setVisible",value:function(t){this.visibility=t,QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"getZIndex",value:function(){return QF(this.getOLLayer())||(this.zIndex_=this.getOLLayer().getZIndex()),this.zIndex_}},{key:"setZIndex",value:function(t){this.zIndex_=t,QF(this.getOLLayer())||this.getOLLayer().setZIndex(t)}},{key:"getMinScale",value:function(){var t=this.map.getProjection().units;return QF(this.getOLLayer())||QF(t)||(this.minScale_=pD(this.getOLLayer().getMinResolution(),t)),this.minScale_}},{key:"setMinScale",value:function(t){this.minScale_=t;var e=this.map.getProjection().units,r=hD(t,e);QF(this.getOLLayer())||QF(r)||QF(e)||this.getOLLayer().setMinResolution(r)}},{key:"getMaxScale",value:function(){var t=this.map.getProjection().units;return QF(this.getOLLayer())||QF(t)||(this.maxScale_=pD(this.getOLLayer().getMaxResolution(),t)),this.maxScale_}},{key:"setMaxScale",value:function(t){this.maxScale_=t;var e=this.map.getProjection().units,r=hD(t,e);QF(this.getOLLayer())||QF(r)||QF(e)||this.getOLLayer().setMaxResolution(r)}},{key:"getOpacity",value:function(){return QF(this.getOLLayer())||(this.opacity_=this.getOLLayer().getOpacity()),this.opacity_}},{key:"setOpacity",value:function(t){this.opacity_=t,QF(this.getOLLayer())||this.getOLLayer().setOpacity(t)}},{key:"getOL3Layer",value:function(){return this.ol3Layer}},{key:"getOLLayer",value:function(){return this.ol3Layer}},{key:"setOL3Layer",value:function(t){var e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}},{key:"setOLLayer",value:function(t){var e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}},{key:"getMap",value:function(){return this.map}},{key:"getLegendURL",value:function(){return this.legendUrl_}},{key:"setLegendURL",value:function(t){this.legendUrl_=t}},{key:"getNumZoomLevels",value:function(){return M.config.ZOOM_LEVELS}},{key:"unselectFeatures",value:function(t,e,r){}},{key:"selectFeatures",value:function(t,e,r){}}])&&Zh(e.prototype,r),n&&Zh(e,n),o}(Cl);function ef(t,e){for(var r=0;r0)||Array.prototype.filter.call(t.children,(function(t){return t.tagName===r})).forEach((function(t){var r=t.cloneNode(!0);e.appendChild(r)}))}))},Gf=function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=n,a=e;if(!0===r&&(a=e.querySelector("Layer")),null!==a){Df(i,a);var s=a.querySelector("Name").innerHTML,l=a.children;Array.prototype.forEach.call(l,(function(e){"Layer"===e.tagName&&(o=t(e,!1,o,a))})),o[s]=a}return o},Uf=[function t(e,r){var n=e,i=r[n.Name];if(QF(i))JF(n.Layer)&&n.Layer.forEach((function(e){return t(e,r)}));else{var o=i.querySelector("SRS");if(null!==o){var a=o.innerHTML;n.SRS=[a]}}},function t(e,r){var n=r[e.Name];if(QF(n))JF(e.Layer)&&e.Layer.forEach((function(e){return t(e,r)}));else if(JF(e.BoundingBox)){var i=Array.prototype.filter.call(n.children,(function(t){return"Layer"===t.tagName})),o=Array.prototype.map.call(n.children,(function(t){return t}));0===(o=o.filter((function(t){return["BoundingBox"].includes(t.tagName)}))).length&&i.length>0?i.forEach((function(r){return t(e,(n={},i=e.Name,o=r,i in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o,n));var n,i,o})):e.BoundingBox.forEach((function(t,e){var r=t;if(null===r.crs){var n=o[e];if(!QF(n)){var i=n.getAttribute("SRS");QF(i)||(r.crs=i)}}}))}},function t(e,r){var n=e,i=r[e.Name];if(QF(i))JF(e.Layer)&&e.Layer.forEach((function(e){return t(e,r)}));else{n.ScaleHint=[];var o=Array.prototype.map.call(i.children,(function(t){return t}));(o=o.filter((function(t){return"ScaleHint"===t.tagName}))).forEach((function(t){var e={minScale:parseFloat(t.getAttribute("min")),maxScale:parseFloat(t.getAttribute("max"))};n.ScaleHint.push(e)}))}},function t(e,r){var n=e,i=r[e.Name];if(QF(i))JF(n.Layer)&&n.Layer.forEach((function(e){return t(e,r)}));else{n.LatLonBoundingBox=[];var o=Array.prototype.map.call(i.children,(function(t){return t}));(o=o.filter((function(t){return"LatLonBoundingBox"===t.tagName}))).forEach((function(t){var e={crs:"EPSG:4326",extent:[parseFloat(t.getAttribute("minx")),parseFloat(t.getAttribute("miny")),parseFloat(t.getAttribute("maxx")),parseFloat(t.getAttribute("maxy"))]};n.LatLonBoundingBox.push(e)}))}},function(t,e){var r=t;QF(r.BoundingBox)&&!QF(r.LatLonBoundingBox)&&(r.BoundingBox=r.LatLonBoundingBox)},function(t,e){var r=t;QF(r.MaxScaleDenominator)&&!QF(r.ScaleHint)&&(r.MaxScaleDenominator=r.ScaleHint[0].maxScale)},function(t,e){var r=t;QF(r.MinScaleDenominator)&&!QF(r.ScaleHint)&&(r.MinScaleDenominator=r.ScaleHint[0].minScale)}],Bf=function t(e,r){JF(e)?e.forEach((function(e){t(e,r)})):tD(e)&&(!function(t,e){Uf.forEach((function(r){r(t,e)}))}(e,r),t(e.Layer,r))},zf=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Af(t,e)}(o,t);var e,r,n,i=Nf(o);function o(){return Lf(this,o),i.apply(this,arguments)}return e=o,(r=[{key:"customRead",value:function(t){var e=this.read(t),r=Gf(t),n=e.Capability;return QF(n)||QF(n.Layer)||Bf(n.Layer,r),e}}])&&Mf(e.prototype,r),n&&Mf(e,n),o}(Pf),Vf=r(54),qf=r(68),Yf=r(67),Wf=r(9),Xf="tileloadstart",Hf="tileloadend",Zf="tileloaderror",Kf=r(39),Jf=r(19);function Qf(t,e){var r=/\{z\}/g,n=/\{x\}/g,i=/\{y\}/g,o=/\{-y\}/g;return function(a,s,l){return a?t.replace(r,a[0].toString()).replace(n,a[1].toString()).replace(i,a[2].toString()).replace(o,(function(){var t=a[0],r=e.getFullTileRange(t);return Object(go.a)(r,55),(r.getHeight()-a[2]-1).toString()})):void 0}}function $f(t,e){for(var r=t.length,n=new Array(r),i=0;i=0},e.prototype.tileUrlFunction=function(t,e,r){var n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(r)),!(n.getResolutions().length<=t[0])){1==e||this.hidpi_&&void 0!==this.serverType_||(e=1);var i=n.getResolution(t[0]),o=n.getTileCoordExtent(t,this.tmpExtent_),a=Object(ns.d)(n.getTileSize(t[0]),this.tmpSize),s=this.gutter_;0!==s&&(a=Object(ns.a)(a,s,this.tmpSize),o=Object(mt.d)(o,i*s,o)),1!=e&&(a=Object(ns.c)(a,e,this.tmpSize));var l={SERVICE:"WMS",VERSION:cp,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};return Object(Mi.a)(l,this.params_),this.getRequestUrl_(t,a,o,e,r,l)}},e}(up);function gp(t){return(gp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mp(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};yp(this,o);var e=t;return QF(t.tileLoadFunction)&&(e.tileLoadFunction=o.tileLoadFunction),i.call(this,e)}return e=o,n=[{key:"tileLoadFunction",value:function(t,e){var r=t;r.getImage().src="".concat(e,"&_=").concat(this.revision_),null!=M.config.ticket&&(r.getImage().src+="&ticket=".concat(M.config.ticket))}}],(r=[{key:"changed",value:function(){QF(this.tileCache)||this.tileCache.clear(),_p(wp(o.prototype),"changed",this).call(this)}}])&&mp(e.prototype,r),n&&mp(e,n),o}(dp),Sp=r(28),Op=r(42),Ip=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Cp=[101,101],Tp=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions})||this).crossOrigin_=void 0!==n.crossOrigin?n.crossOrigin:null,r.url_=n.url,r.imageLoadFunction_=void 0!==n.imageLoadFunction?n.imageLoadFunction:Sp.b,r.params_=n.params||{},r.v13_=!0,r.updateV13_(),r.serverType_=n.serverType,r.hidpi_=void 0===n.hidpi||n.hidpi,r.image_=null,r.imageSize_=[0,0],r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return Ip(e,t),e.prototype.getFeatureInfoUrl=function(t,e,r,n){if(void 0!==this.url_){var i=Object(u.o)(r),o=this.getProjection();o&&o!==i&&(e=Object(fp.b)(o,i,t,e),t=Object(u.z)(t,i,o));var a=Object(mt.z)(t,e,0,Cp),s={SERVICE:"WMS",VERSION:cp,REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.params_.LAYERS};Object(Mi.a)(s,this.params_,n);var l=Object(qo.d)((t[0]-a[0])/e,4),c=Object(qo.d)((a[3]-t[1])/e,4);return s[this.v13_?"I":"X"]=l,s[this.v13_?"J":"Y"]=c,this.getRequestUrl_(a,Cp,1,o||i,s)}},e.prototype.getLegendUrl=function(t,e){if(void 0!==this.url_){var r={SERVICE:"WMS",VERSION:cp,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(void 0===e||void 0===e.LAYER){var n=this.params_.LAYERS;if(!(!Array.isArray(n)||1===n.length))return;r.LAYER=n}if(void 0!==t){var i=this.getProjection()?this.getProjection().getMetersPerUnit():1;r.SCALE=t*i/28e-5}return Object(Mi.a)(r,e),hp(this.url_,r)}},e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){if(void 0===this.url_)return null;e=this.findNearestResolution(e),1==r||this.hidpi_&&void 0!==this.serverType_||(r=1);var i=e/r,o=Object(mt.x)(t),a=Object(qo.a)(Object(mt.G)(t)/i,4),s=Object(qo.a)(Object(mt.A)(t)/i,4),l=Object(mt.z)(o,i,0,[a,s]),u=Object(qo.a)(this.ratio_*Object(mt.G)(t)/i,4),c=Object(qo.a)(this.ratio_*Object(mt.A)(t)/i,4),h=Object(mt.z)(o,i,0,[u,c]),f=this.image_;if(f&&this.renderedRevision_==this.getRevision()&&f.getResolution()==e&&f.getPixelRatio()==r&&Object(mt.h)(f.getExtent(),l))return f;var p={SERVICE:"WMS",VERSION:cp,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Object(Mi.a)(p,this.params_),this.imageSize_[0]=Object(qo.h)(Object(mt.G)(h)/i,4),this.imageSize_[1]=Object(qo.h)(Object(mt.A)(h)/i,4);var d=this.getRequestUrl_(h,this.imageSize_,r,n,p);return this.image_=new Op.a(h,e,r,d,this.crossOrigin_,this.imageLoadFunction_),this.renderedRevision_=this.getRevision(),this.image_.addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this)),this.image_},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.getRequestUrl_=function(t,e,r,n,i){if(Object(go.a)(void 0!==this.url_,9),i[this.v13_?"CRS":"SRS"]=n.getCode(),"STYLES"in this.params_||(i.STYLES=""),1!=r)switch(this.serverType_){case"geoserver":var o=90*r+.5|0;"FORMAT_OPTIONS"in i?i.FORMAT_OPTIONS+=";dpi:"+o:i.FORMAT_OPTIONS="dpi:"+o;break;case"mapserver":i.MAP_RESOLUTION=90*r;break;case"carmentaserver":case"qgis":i.DPI=90*r;break;default:Object(go.a)(!1,8)}i.WIDTH=e[0],i.HEIGHT=e[1];var a,s=n.getAxisOrientation();return a=this.v13_&&"ne"==s.substr(0,2)?[t[1],t[0],t[3],t[2]]:t,i.BBOX=a.join(","),hp(this.url_,i)},e.prototype.getUrl=function(){return this.url_},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e.prototype.setUrl=function(t){t!=this.url_&&(this.url_=t,this.image_=null,this.changed())},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.updateV13_(),this.image_=null,this.changed()},e.prototype.updateV13_=function(){var t=this.params_.VERSION||cp;this.v13_=Object(G.a)(t,"1.3")>=0},e}(Sp.a);function Pp(t){return(Pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Lp(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};Rp(this,o);var r=e;return(t=i.call(this,r)).imageLoadFunction_=r.imageLoadFunction||t.imageLoadFunction,t}return e=o,(r=[{key:"changed",value:function(){Mp(jp(o.prototype),"changed",this).call(this)}},{key:"imageLoadFunction",value:function(t,e){var r=t;r.getImage().src="".concat(e,"&_=").concat(this.revision_),null!=M.config.ticket&&(r.getImage().src+="&ticket=".concat(M.config.ticket))}}])&&Lp(e.prototype,r),n&&Lp(e,n),o}(Tp);function Dp(t){return(Dp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Gp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Up(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return Gp(this,o),(t=i.call(this,e,r)).facadeLayer_=null,t.options=e,t.layers=[],t.displayInLayerSwitcher_=!0,t.getCapabilitiesPromise=null,t.extentPromise=null,t.extent=null,t.resolutions_=null,t.extentProj_=null,!1===t.options.visibility&&(t.visibility=!1),QF(t.tiled)&&(t.tiled=!0!==t.options.singleTile),QF(t.options.numZoomLevels)&&(t.options.numZoomLevels=M.config.ZOOM_LEVELS),QF(t.options.animated)&&(t.options.animated=!1),t.styles=t.options.styles||"",t.sldBody=e.sldBody,t.zIndex_=Sd.Z_INDEX.WMS,t}return e=o,(r=[{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((function(t){return!t.equals(e)&&t.isVisible()})).forEach((function(t){return t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getZoom();this.map.getImpl().updateResolutionsFromBaseLayer(),QF(r)||this.map.setZoom(r)}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"isQueryable",value:function(){return!1!==this.options.queryable}},{key:"addTo",value:function(t){if(this.map=t,this.fire(Kl),!KF(this.options)&&!KF(this.options.minScale)&&!KF(this.options.maxScale)){var e=this.map.getProjection().units;this.options.minResolution=hD(this.options.minScale,e),this.options.maxResolution=hD(this.options.maxScale,e)}QF(this.name)?this.addAllLayers_():this.addSingleLayer_(),this.legendUrl_===mD([M.config.THEME_URL,th.LEGEND_DEFAULT])&&(this.legendUrl_=aD(this.url,{SERVICE:"WMS",VERSION:this.version,REQUEST:"GetLegendGraphic",LAYER:this.name,FORMAT:"image/png",STYLE:this.styles[0]||"",SLD_VERSION:"1.1.0"}))}},{key:"setResolutions",value:function(t){var e=this;this.resolutions_=t,this.facadeLayer_.calculateMaxExtent().then((function(r){if(!QF(e.ol3Layer)){var n=e.options.minResolution,i=e.options.maxResolution,o=e.createOLSource_(t,n,i,r);e.ol3Layer.setSource(o),e.ol3Layer.setExtent(r)}}))}},{key:"addSingleLayer_",value:function(){var t=this;this.facadeLayer_.calculateMaxExtent().then((function(e){var r=t.options.minResolution,n=t.options.maxResolution,i=t.opacity_,o=t.zIndex_,a=t.visibility&&!1!==t.options.visibility,s=t.map.getResolutions();if(QF(s)&&!QF(t.resolutions_))s=t.resolutions_;else if(QF(s)){var l=t.getNumZoomLevels(),u=t.map.getMapImpl().getSize(),c=t.map.getProjection().units;s=QF(r)||QF(n)?fD(e,u,l,c):cD(r,n,l)}var h=t.createOLSource_(s,r,n,e);!0===t.tiled?t.ol3Layer=new eh.a(vD({visible:a,source:h,extent:e,minResolution:r,maxResolution:n,opacity:i,zIndex:o},t.vendorOptions_,!0)):t.ol3Layer=new rh.a(vD({visible:a,source:h,extent:e,minResolution:r,maxResolution:n,opacity:i,zIndex:o},t.vendorOptions_,!0)),t.map.getMapImpl().addLayer(t.ol3Layer),t.facadeLayer_.fire(yu),t.isVisible()&&!t.inRange()?t.setVisible(!1):t.setVisible(t.visibility),null!==o&&t.setZIndex(o),null!==t.resolutions_&&t.setResolutions(t.resolutions_);var f=!1===t.transparent||!0===t.options.animated;t.ol3Layer.set("animated",f)}))}},{key:"createOLSource_",value:function(t,e,r,n){var i=this,o=this.vendorOptions_.source;if(QF(this.vendorOptions_.source)){var a=this.options.crossOrigin,s={LAYERS:this.name,TILED:!0,VERSION:this.version,TRANSPARENT:this.transparent,FORMAT:"image/png",STYLES:this.styles};QF(this.sldBody)||(s.SLD_BODY=this.sldBody),QF(this.options.params)||Object.keys(this.options.params).forEach((function(t){s[t.toUpperCase()]=i.options.params[t]}));var l=this.opacity_,u=this.zIndex_;if(!0===this.tiled){var c=Object(mt.v)(n),h={url:this.url,params:s,tileGrid:new nh.a({resolutions:t,extent:n,origin:c}),extent:n,minResolution:e,maxResolution:r,opacity:l,zIndex:u};HF(a)||(h.crossOrigin=a),o=new Ep(h)}else{var f={url:this.url,params:s,resolutions:t,extent:n,minResolution:e,maxResolution:r,opacity:l,zIndex:u};HF(a)||(f.crossOrigin=a),o=new Fp(f)}}return o}},{key:"addAllLayers_",value:function(){var t=this;this.getCapabilities().then((function(e){e.getLayers().forEach((function(e){var r=new td({url:t.url,name:e.name,version:e.version,tiled:t.tiled},t.vendorOptions_);t.layers.push(r)})),t.map.addWMS(t.layers);var r=t.layers.length;t.layers.forEach((function(t){t.setZIndex(Sd.Z_INDEX.WMS+r),r+=1}))}))}},{key:"getExtent",value:function(){var t=this,e=Object(u.o)(this.map.getProjection().code);return this.extentPromise=new Promise((function(r,n){QF(t.extent_)?t.getCapabilities().then((function(n){t.extent_=n.getLayerExtent(t.name),t.extentProj_=e,r(t.extent_)})):(t.extent_=Wh.transformExtent(t.extent_,t.extentProj_,e),t.extentProj_=e,r(t.extent_))})),this.extentPromise}},{key:"getMinResolution",value:function(){return this.options.minResolution}},{key:"getMaxResolution",value:function(){return this.options.maxResolution}},{key:"updateMinMaxResolution",value:function(t){QF(this.options.minResolution)||(this.options.minResolution=hD(this.options.minScale,t.units),this.ol3Layer.setMinResolution(this.options.minResolution)),QF(this.options.maxResolution)||(this.options.maxResolution=hD(this.options.maxScale,t.units),this.ol3Layer.setMaxResolution(this.options.maxResolution))}},{key:"setMaxExtent",value:function(t){var e=this.options.minResolution,r=this.options.maxResolution,n=this.getOLLayer();if(!QF(n)&&(n.setExtent(t),!0===this.tiled)){var i=this.map.getResolutions();if(QF(i)&&!QF(this.resolutions_)&&(i=this.resolutions_),!QF(i)){var o=this.createOLSource_(i,e,r,t);n.setSource(o)}}}},{key:"getNumZoomLevels",value:function(){return this.options.numZoomLevels}},{key:"getLayers",value:function(){return this.layers}},{key:"getCapabilities",value:function(){if(QF(this.getCapabilitiesPromise)){var t=this.url,e=this.version,r=this.map.getProjection(),n=this.map.getTicket();this.getCapabilitiesPromise=new Promise((function(i,o){var a=lD(t,e,n);VF(a).then((function(e){if("xml"in e&&!QF(e.xml)){var n=e.xml,o=(new zf).customRead(n),s=new rf(o,t,r);i(s)}else VF(a,"",{ticket:!1}).then((function(e){var n=e.xml,o=(new zf).customRead(n),a=new rf(o,t,r);i(a)}))}))}))}return this.getCapabilitiesPromise}},{key:"getLegendCapabilities",value:function(){var t=this;return this.getCapabilities().then((function(e){var r="",n=e.capabilities.Capability.Layer.Layer;return n=n.length>1?n.find((function(e){return e.Name===t.name})):1===n.length&&n[0].Name!==t.name?n[0].Layer.find((function(e){return e.Name===t.name})):n[0],HF(n.Style)||HF(n.Style[0].LegendURL)||HF(n.Style[0].LegendURL[0].OnlineResource)||(r=n.Style[0].LegendURL[0].OnlineResource),r}))}},{key:"getLegendURL",value:function(){return this.legendUrl_}},{key:"setLegendURL",value:function(t){this.legendUrl_=t}},{key:"refresh",value:function(){var t=this.getOLLayer();QF(t)||t.getSource().updateParams({time:Date.now()})}},{key:"getExtentFromCapabilities",value:function(t){var e=this.facadeLayer_.name,r=this.map.getProjection().code;return t.getLayerExtent(e,r)}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"getStyles",value:function(){return this.getOLLayer().getSource().getParams().STYLES}},{key:"setStyles",value:function(t){var e=this.getOLLayer();QF(e)||e.getSource().updateParams({STYLES:t})}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),QF(this.layers)||(this.layers.map(this.map.removeLayers,this.map),this.layers.length=0),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=!0===this.tiled?new eh.a(e):new rh.a(e)}return t}}])&&Up(e.prototype,r),n&&Up(e,n),o}(tf);Yp.LEGEND_IMAGE=null;var Wp=Yp;function Xp(t){return(Xp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zp(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;Hp(this,o),HF(Wp)&&Bl(Mu("exception").wms_method),QF(t)&&Bl(Mu("exception").no_param);var a=Wc(t,rc),s=a.styles||"";QF(s)||Object.defineProperty(r,"styles",{value:s,writable:!0});var l=new Wp(r,n);return(e=i.call(this,a,l)).legend=a.legend,e.cql=a.cql,e.version=a.version,QF(a.tiled)||(e.tiled=a.tiled),e.transparent=a.transparent,e.styles=s,e.options=r,e.wmcParent_=null,e.getCapabilitiesPromise_=null,e._updateNoCache(),e}return e=o,(r=[{key:"getStyles",value:function(){return this.getImpl().getStyles()}},{key:"setStyles",value:function(t){this.styles=t,this.getImpl().setStyles(t)}},{key:"getMaxExtent",value:function(t){var e,r=this;if(QF(this.userMaxExtent))if(QF(this.options.wmcMaxExtent))if(QF(this.map_.userMaxExtent)){var n=this.map_.getWMC().find((function(t){return t.selected}));QF(n)?this.getCapabilities().then((function(e){var n=r.getImpl().getExtentFromCapabilities(e);if(QF(n)){var i=r.map_.getProjection().getExtent();r.maxExtent_=i}else r.maxExtent_=n;$F(t)&&t(r.maxExtent_)})):n.calculateMaxExtent().then((function(e){r.maxExtent_=e,$F(t)&&t(r.maxExtent_)}))}else this.maxExtent_=this.map_.userMaxExtent,e=this.maxExtent_;else this.maxExtent_=this.options.wmcMaxExtent,e=this.maxExtent_;else e=this.userMaxExtent;return!QF(e)&&$F(t)?t(e):QF(e)&&(e=this.maxExtent_),e}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){return t.getMaxExtent(e)}))}},{key:"getCapabilities",value:function(){return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}},{key:"getLegendCapabilities",value:function(){return this.getImpl().getLegendCapabilities()}},{key:"getNoCacheUrl",value:function(){return this._noCacheUrl}},{key:"getNoCacheName",value:function(){return this._noCacheName}},{key:"setWMCParent",value:function(t){this.wmcParent_=t}},{key:"getWMCParent",value:function(){return this.wmcParent_}},{key:"updateMinMaxResolution",value:function(t){return this.getImpl().updateMinMaxResolution(t)}},{key:"_updateNoCache",value:function(){var t=M.config.tileMappgins.tiledNames.indexOf(this.name);-1!==t&&wD(M.config.tileMappgins.tiledUrls[t],this.url)&&(this._noCacheUrl=M.config.tileMappgins.urls[t],this._noCacheName=M.config.tileMappgins.names[t])}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}},{key:"type",get:function(){return rc},set:function(t){HF(t)||QF(t)||t===rc||Bl("El tipo de capa debe ser '".concat(rc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"tiled",get:function(){return this.getImpl().tiled},set:function(t){QF(t)?this.getImpl().tiled=!0:eD(t)?this.getImpl().tiled="true"===iD(t):this.getImpl().tiled=t}},{key:"cql",get:function(){return this.getImpl().cql},set:function(t){this.getImpl().cql=t}},{key:"version",get:function(){return this.getImpl().version},set:function(t){QF(t)?this.getImpl().version="1.3.0":this.getImpl().version=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&Zp(e.prototype,r),n&&Zp(e,n),o}(th);function ed(t){return(ed="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rd(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(this.removeWMC(r),this.removeKML(r),this.removeWMS(r),this.removeWFS(r),this.removeWMTS(r),this.removeMVT(r)),e.length>0&&(this.removeUnknowLayers_(e),bd.forEach((function(t){return t(e)}))),t.forEach((function(t){t.getLayerGroup&&!QF(t.getLayerGroup())&&t.getLayerGroup().deleteChild(t)})),Array.isArray(this.getBaseLayers())&&this.getBaseLayers().length>0||(this._resolutionsBaseLayer=!1),this.facadeMap_.fire(iu,[t]),this}},{key:"getLayerGroups",value:function(){return this.layerGroups_}},{key:"getGroupedLayers",value:function(){var t=[],e=this.getLayerGroups();return 1===e.length?t=e[0].getAllLayers():e.length>1&&(t=e.reduce((function(t,e){return Array.isArray(t)?t.concat(e.getAllLayers()):t.getAllLayers().concat(e.getAllLayers())}))),t}},{key:"addLayerGroups",value:function(t){var e=this;return t.forEach((function(t){t.addTo(e.facadeMap_),_D(e.layerGroups_,t)||(e.layerGroups_.push(t),t.getAllLayers().forEach((function(t){e.facadeMap_.addLayers(t)})))})),this}},{key:"removeLayerGroups",value:function(t){var e=this;return(Array.isArray(t)?hd(t):[t]).forEach((function(t){e.layerGroups_.remove(t),t.destroy(),t.fire(ou,[t])})),this}},{key:"getWMC",value:function(t){var e=t,r=[],n=this.layers_.filter((function(t){return t.type===tc}));return QF(e)&&(e=[]),JF(e)||(e=[e]),0===e.length?r=n:e.forEach((function(t){r=r.concat(n.filter((function(e){var n=!0;return r.includes(e)?n=!1:(QF(t.type)||(n=n&&t.type===e.type),QF(t.url)||(n=n&&t.url===e.url),QF(t.name)||(n=n&&t.name===e.name)),n})))}),this),r}},{key:"addWMC",value:function(t){var e=this;return t.forEach((function(t,r){t.type===tc&&(_D(e.layers_,t)||(t.setZIndex(o.Z_INDEX.WMC),t.getImpl().addTo(e.facadeMap_),e.layers_.push(t)))}),this),this}},{key:"removeWMC",value:function(t){var e=this;return this.getWMC(t).forEach((function(t){!0===t.selected&&!1===t.isLoaded()?t.on(yu,(function(){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),e.facadeMap_.removeWMS(t.layers),e.facadeMap_.refreshWMCSelectorControl()})):(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),e.facadeMap_.removeWMS(t.layers)),e.facadeMap_.refreshWMCSelectorControl(),t.fire(ou,[t])}),this),this}},{key:"getKML",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===ec}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.extract)||(n=n&&t.extract===r.extract)),n}));e=e.concat(r)}),this),e}},{key:"addKML",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===ec&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.KML;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}}),this),this}},{key:"removeKML",value:function(t){var e=this;return this.getKML(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!t.equals(e)})),t.getImpl().destroy(),t.fire(ou,[t])}),this),this}},{key:"getWMS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===rc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:t instanceof td?n=t===r:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.legend)||(n=n&&t.legend===r.legend),QF(t.transparent)||(n=n&&t.transparent===r.transparent),QF(t.tiled)||(n=n&&t.tiled===r.tiled),QF(t.cql)||(n=n&&t.cql===r.cql),QF(t.version)||(n=n&&t.version===r.version)),n}));e=e.concat(r)}),this),e}},{key:"addWMS",value:function(t){var e=this,r=this.getBaseLayers().length>0,n=[];return t.forEach((function(t){if(t.type===rc&&!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),n.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.setZIndex(o.Z_INDEX_BASELAYER);else if(null==t.getZIndex()){var i=e.layers_.length+o.Z_INDEX.WMS;t.setZIndex(i)}})),(n.length>0&&!r||n.some((function(t){return!0!==t.transparent&&t.isVisible()})))&&this.updateResolutionsFromBaseLayer(),this}},{key:"removeWMS",value:function(t){var e=this;return this.getWMS(t).forEach((function(t){if(e.layers_=e.layers_.filter((function(e){return!t.equals(e)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}})),this}},{key:"getGeoJSON",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===sc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.legend)||(n=n&&t.legend===r.legend)),n}));e=e.concat(r)})),e}},{key:"getWFS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===nc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.namespace)||(n=n&&t.namespace===r.namespace),QF(t.legend)||(n=n&&t.legend===r.legend),QF(t.cql)||(n=n&&t.cql===r.cql),QF(t.geometry)||(n=n&&t.geometry===r.geometry),QF(t.ids)||(n=n&&t.ids===r.ids),QF(t.version)||(n=n&&t.version===r.version)),n}));e=e.concat(r)})),e}},{key:"addWFS",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===nc&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),t.setZIndex(t.getZIndex()),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.WFS;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeWFS",value:function(t){var e=this;return this.getWFS(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t])})),this}},{key:"getWMTS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===ic}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.matrixSet)||(n=n&&t.matrixSet===r.matrixSet),QF(t.legend)||(n=n&&t.legend===r.legend)),n}));e=e.concat(r)})),e}},{key:"addWMTS",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===ic&&!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),!0!==t.transparent)t.getImpl().visibility=!r,r=!0,t.isVisible()&&e.updateResolutionsFromBaseLayer(),t.setZIndex(o.Z_INDEX_BASELAYER);else{if(null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.WMTS;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeWMTS",value:function(t){var e=this;return this.getWMTS(t).forEach((function(t){if(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}})),this}},{key:"getUnknowLayers_",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return!fc(t.type)}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:t instanceof th?n=t.equals(r):(QF(t.type)||(n=n&&t.type===r.type),QF(t.name)||(n=n&&t.name===r.name)),n}));e=e.concat(r)})),e}},{key:"addUnknowLayers_",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.isVisible()&&e.updateResolutionsFromBaseLayer(),t.setZIndex(o.Z_INDEX_BASELAYER);else{if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX[t.type];t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeUnknowLayers_",value:function(t){var e=this;t.forEach((function(t){if(_D(e.layers_,t)&&(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent)){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}}))}},{key:"getMVT",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===uc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name)),n}));e=e.concat(r)})),e}},{key:"removeMVT",value:function(t){var e=this;return this.getMVT(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t])})),this}},{key:"addMVT",value:function(t){var e=this,r=this.getBaseLayers().length>0,n=[];return t.forEach((function(t){if(t.type===uc&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),n.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.setZIndex(o.Z_INDEX_BASELAYER);else if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){var i=e.layers_.length+o.Z_INDEX.MVT;t.setZIndex(i)}(n.length>0&&!r||n.some((function(t){return!0!==t.transparent&&t.isVisible()})))&&e.updateResolutionsFromBaseLayer()}})),this}},{key:"getControls",value:function(t){var e=t,r=[],n=this.facadeMap_.getPanels().map((function(t){return t.getControls()}));n.length>0&&(n=n.reduce((function(t,e){return t.concat(e)})));var i=this.controls_.concat(n);QF(e)&&(e=[]),JF(e)||(e=[e]),0===e.length?r=i:e.forEach((function(t){r=r.concat(i.filter((function(e){var n=!1;return _D(r,e)||(eD(t)?n=t===e.name:t instanceof Gu?n=t===e:tD(t)&&(n=t.name===e.name)),n})))}));var o=[];return r.forEach((function(t){o.map((function(t){return t.name})).includes(t.name)||o.push(t)})),o}},{key:"addControls",value:function(t){var e=this;return t.forEach((function(t){t instanceof $u&&e.facadeMap_.addControls("panzoom"),_D(e.controls_,t)||e.controls_.push(t)})),this}},{key:"removeControls",value:function(t){var e=this;return this.getControls(t).forEach((function(t){QF(e.map_)||e.map_.removeControl(t.getImpl()),t.destroy(),e.controls_=e.controls_.filter((function(e){var r=e.constructor===t.constructor;return QF(e.equals)||(r=!e.equals(t)),r}))})),this}},{key:"setMaxExtent",value:function(t,e){var r=t;return QF(r)||JF(r)||!tD(r)||(r=[t.x.min,t.y.min,t.x.max,t.y.max]),this.getMapImpl().getView().set("extent",r),this.updateResolutionsFromBaseLayer(),QF(r)||!1===e||this.setBbox(r),this}},{key:"getMaxExtent",value:function(){var t=this.getMapImpl().getView().get("extent");return QF(t)?this.envolvedMaxExtent_:{x:{min:t[0],max:t[2]},y:{min:t[1],max:t[3]}}}},{key:"setBbox",value:function(t,e){var r;QF(t)&&Bl(Mu("exception").no_bbox),this.userBbox_=t,JF(t)?r=t:tD(t)&&(r=[t.x.min,t.y.min,t.x.max,t.y.max]);var n=this.getMapImpl();return n.updateSize(),n.getView().fit(r,e),this}},{key:"getBbox",value:function(){var t=null,e=this.getMapImpl(),r=e.getView();if(!QF(r.getCenter())){var n=r.calculateExtent(e.getSize());QF(n)||(t={x:{min:n[0],max:n[2]},y:{min:n[1],max:n[3]}})}return t}},{key:"setZoom",value:function(t){return QF(t)&&Bl(Mu("exception").no_zoom),this.getMapImpl().getView().setUserZoom(t),this}},{key:"getZoom",value:function(){var t=null,e=this.getMapImpl().getView(),r=e.getResolution(),n=this.getResolutions();if(QF(n))QF(r)||(t=e.getZoomForResolution(r));else for(var i=0,o=n.length;i=1e3&&r<=95e4?1e3*Math.round(r/1e3):r>=95e4?1e6*Math.round(r/1e6):Math.round(r)),r}},{key:"getExactScale",value:function(){var t=this.getMapImpl().getView().getResolution(),e=this.getProjection().units,r=pD(t,e);return Math.trunc(r)}},{key:"setProjection",value:function(t){QF(t)&&Bl(Mu("exception").no_projection);var e=Object(u.o)(t.code);QF(e)&&(e=new Kn.a(t));var r=this.getProjection(),n=Object(u.o)(r.code),i=this.facadeMap_.getBbox(),o=this.getMapImpl(),a=o.getView().getUserZoom(),s=new sd({projection:e});if(s.setUserZoom(a),o.setView(s),this.facadeMap_.getWMS().forEach((function(e){e.updateMinMaxResolution(t)})),this.updateResolutionsFromBaseLayer(),!QF(i)){JF(i)||(i=[i.x.min,i.y.min,i.x.max,i.y.max]);var l=Wh.transformExtent(i,n,e);l.includes(NaN)&&(l=e.getExtent()),this.facadeMap_.setBbox(l,{nearest:!0})}return this}},{key:"getProjection",value:function(){var t=this.getMapImpl().getView().getProjection(),e=null;return QF(t)||(e={code:t.getCode(),units:t.getUnits(),getExtent:function(){return t.getExtent()}}),e}},{key:"getMapImpl",value:function(){return this.map_}},{key:"removePopup",value:function(t){if(!QF(t)){var e=t.getImpl();this.getMapImpl().removeOverlay(e),t.fire(Cu,[t]),this.facadeMap_.fire(Cu,[t])}return this}},{key:"destroy",value:function(){this.layers_.length=0,this.controls_.length=0,this.popup_=null,this.options_=null,this.map_.setTarget(null),this.map_=null}},{key:"updateResolutionsFromBaseLayer",value:function(){var t=this,e=[],r=M.config.ZOOM_LEVELS,n=this.getProjection().units,i=this.getBaseLayers().filter((function(t){return t.isVisible()}))[0],o=null,a=null;QF(i)||(a=void 0!==i.getImpl().getMinResolution?i.getImpl().getMinResolution():null,o=void 0!==i.getImpl().getMaxResolution?i.getImpl().getMaxResolution():null,r=i.getImpl().getNumZoomLevels()),null===this.userResolutions_&&(QF(a)||QF(o)?this.facadeMap_.calculateMaxExtent().then((function(i){if(!t._resolutionsBaseLayer&&null===t.userResolutions_){t.getMapImpl().updateSize();var o=t.getMapImpl().getSize();e=fD(i,o,r,n),t.setResolutions(e,!0),t._resolutionsEnvolvedExtent=!0,!1===t._calculatedResolutions&&(t._calculatedResolutions=!0,t.fire(mu))}})).catch((function(t){throw t})):(e=cD(a,o,r),this.setResolutions(e,!0),this._resolutionsBaseLayer=!0,!1===this._calculatedResolutions&&(this._calculatedResolutions=!0,this.fire(mu))))}},{key:"addLabel",value:function(t,e){return this.label.push(t),t.show(this.facadeMap_,e),this}},{key:"getLabel",value:function(){return this.label[0]}},{key:"getLabels",value:function(){return this.label}},{key:"removeLabel",value:function(t){var e=this,r=t;QF(this.label)||(QF(t)?(this.label.forEach((function(t){return e.removePopup(t.getPopup())})),this.label=[]):(JF(t)||(r=[t]),r.forEach((function(t){var r=e.label.findIndex((function(e){return e.text===t.text&&e.coord===t.coord}));-1!==r&&(e.removePopup(e.label[r].getPopup()),e.label.splice(r,1))}))))}},{key:"refresh",value:function(){return this.map_.updateSize(),this}},{key:"getContainer",value:function(){return this.map_.getOverlayContainerStopEvent()}},{key:"setFacadeMap",value:function(t){this.facadeMap_=t}},{key:"registerEvents_",value:function(){var t=this;this.facadeMap_.on(mu,(function(){t.map_.updateSize()})),this.map_.on("singleclick",this.onMapClick_.bind(this)),this.map_.getView().on("change:resolution",this.zoomEvent_.bind(this)),this.map_.on("change:view",(function(e){e.oldValue.un("change:resolution",t.zoomEvent_.bind(t)),t.map_.getView().on("change:resolution",t.zoomEvent_.bind(t))}))}},{key:"zoomEvent_",value:function(t){this.getZoom()<=t.target.getZoom()&&this.facadeMap_.fire(wu,t)}},{key:"onMapClick_",value:function(t){var e=t.pixel,r=this.map_.getCoordinateFromPixel(e),n=this.facadeMap_.getLabel();QF(n)||n.hide(),this.facadeMap_.fire(Su,[{pixel:e,coord:r,vendor:t}])}},{key:"onMapMove_",value:function(t){var e=t.pixel,r=this.map_.getCoordinateFromPixel(e);this.facadeMap_.fire(Ou,[{pixel:e,coord:r,vendor:t}])}},{key:"getRotation",value:function(){var t,e=this.map_.getView();return QF(e)||(t=e.getRotation()),t}},{key:"setRotation",value:function(t){var e=this.map_.getView();QF(e)||e.setRotation(t)}},{key:"enableMouseWheel",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];QF(this.mouseWheelZoom_)||this.mouseWheelZoom_.setActive(t)}},{key:"enableDrag",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];QF(this.dragPan_)||this.dragPan_.setActive(t)}},{key:"getImageMap",value:function(){var t=this.map_.getViewport().querySelectorAll(".ol-layer canvas, canvas.ol-layer")[0],e=null;if(!HF(t))try{e=t.toDataURL()}catch(t){throw t}return e}},{key:"setToClosestScale",value:function(t){this.getMapImpl().getView().setResolution(t)}}])&&dd(e.prototype,r),n&&dd(e,n),o}(Cl);Ed.Z_INDEX={},Ed.Z_INDEX_BASELAYER=0,Ed.Z_INDEX.WMC=1,Ed.Z_INDEX.WMS=1e3,Ed.Z_INDEX.WMTS=2e3,Ed.Z_INDEX.OSM=2e3,Ed.Z_INDEX.Mapbox=2e3,Ed.Z_INDEX.KML=3e3,Ed.Z_INDEX.WFS=9999,Ed.Z_INDEX.Vector=9999,Ed.Z_INDEX.MVT=9999,Ed.Z_INDEX.GeoJSON=9999;var Sd=Ed,Od=r(95),Id=r.n(Od);r(135);function Cd(t){return(Cd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Td(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&null==(r=e.find((function(e){return e instanceof o&&e.id===t})))){var n=e.map((function(t){return t.getChildren()})).reduce((function(t,e){return t.concat(e)}),[]).filter((function(t){return t instanceof o}));r=o.findGroupById(t,n)}return r}}],(r=[{key:"addTo",value:function(t){this.map=t,this.children_.forEach((function(e){e instanceof o&&e.addTo(t)})),this.fire(Kl)}},{key:"setVisible",value:function(t){this.getAllLayers().forEach((function(e){return!0===e.transparent&&e.setVisible(t)}))}},{key:"setZIndex",value:function(t){this.zIndex_=t;var e=sg(this.getChildren()).reverse(),r=t;e.forEach((function(t){t.setZIndex(r),r+=1}))}},{key:"getZIndex",value:function(t){return this.zIndex_}},{key:"addChild",value:function(t,e){var r=this.getZIndex()+this.children_.length,n=t;QF(e)?this.children_.unshift(n):(this.children_.splice(e-1,0,n),r=this.getZIndex()+e),n instanceof o?n.parent=this:n instanceof th&&(n.setLayerGroup(this),n.setZIndex(r),QF(this.map)||this.map.getRootLayers().some((function(t){return t.equals(n)}))||(this.map.addLayers(n),n instanceof o&&this.map.addLayerGroup(n)))}},{key:"deleteChild",value:function(t){var e=t;e instanceof o?(e.parent=null,this.map.removeLayerGroup(e)):e instanceof th&&(this.map.removeLayers(e),this.ungroup(t))}},{key:"deleteChildren",value:function(t){t.forEach(this.deleteChild,this)}},{key:"ungroup",value:function(t){t.setLayerGroup(null),this.children_.remove(t)}},{key:"addChildren",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=t;Array.isArray(t)||(e=[e]),e.forEach(this.addChild,this)}},{key:"getChildren",value:function(){return this.children_}},{key:"getAllLayers",value:function(){var t=[];return this.getChildren().forEach((function(e){e instanceof th?t.push(e):e instanceof o&&(t=t.concat(e.getAllLayers()))})),t}},{key:"destroy",value:function(){this.map.removeLayers(this.getAllLayers())}}])&&hg(e.prototype,r),n&&hg(e,n),o}(Cl);function mg(t){return(mg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _g(t,e){for(var r=0;r input");QF(o)||i.setOpacity(parseFloat(o.value)),i.setVisible(!i.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?i.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&this.facadeMap_.removeLayers(i)}}}},{key:"clickLayer",value:function(t){var e=t||window.event,r=e.target.getAttribute("data-group-id"),n=null;if(!QF(e.target)){var i=e.target.getAttribute("data-layer-name");if(QF(i)){if(!QF(r)){var o=e.target.getAttribute("data-group-id");n=yg.findGroupById(o,this.facadeMap_.getLayerGroup()),e.target.classList.contains("m-check")?e.target.classList.contains("g-cartografia-check3")?n.setVisible(!1):n.setVisible(!0):(n.collapsed=!n.collapsed,this.renderPanel())}}else{e.stopPropagation();var a=this.facadeMap_.getLayers().filter((function(t){return t.id===i}))[0];if(QF(a)&&!QF(r)&&(a=(n=yg.findGroupById(r,this.facadeMap_.getLayerGroup())).getChildren().find((function(t){return t instanceof th&&t.id===i}))),e.target.classList.contains("m-check"))if(HF(a)||!0!==a.transparent&&a.isVisible())this.statusEmptyLayer=!0,this.facadeMap_.getBaseLayers().forEach((function(t){t.setVisible(!1)}));else{var s=e.target.parentElement.parentElement.querySelector("div.tools > input");QF(s)||a.setOpacity(parseFloat(s.value)),a.setVisible(!a.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?a.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&(QF(n)?this.facadeMap_.removeLayers(a):(a.getImpl().destroy(),n.removeChild(a)))}}this.renderPanel()}},{key:"renderPanel",value:function(){var t=this;Rw.getTemplateVariables(this.facadeMap_).then((function(e){if(t.activeEmptyLayer){var r=Object.assign({},Rw.EMPTYLAYER);r.visible=t.statusEmptyLayer,e.baseLayers.unshift(r)}var n=Vu($d.a,{vars:e});t.registerImgErrorEvents_(n);var i=n.querySelector("div#".concat(o.PANEL_ID));t.panel.innerHTML=i.innerHTML}))}},{key:"registerEvents",value:function(){var t=this;if(!QF(this.facadeMap_)){var e=this.facadeMap_.getMapImpl();this.registerViewEvents_(e.getView()),this.registerLayersEvents_(e.getLayers()),e.on("change:view",(function(){return t.onViewChange_.bind(t)}))}}},{key:"unregisterEvents",value:function(){var t=this;if(!QF(this.facadeMap_)){var e=this.facadeMap_.getMapImpl();this.unregisterViewEvents_(e.getView()),this.unregisterLayersEvents_(e.getLayers()),e.un("change:view",(function(){return t.onViewChange_.bind(t)}))}}},{key:"registerViewEvents_",value:function(t){var e=this;t.on("change:resolution",(function(){return e.renderPanel.bind(e)}))}},{key:"registerLayersEvents_",value:function(t){var e=this;t.forEach(this.registerLayerEvents_.bind(this)),t.on("remove",(function(){return e.renderPanel.bind(e)})),t.on("add",(function(){return e.onAddLayer_.bind(e)}))}},{key:"registerLayerEvents_",value:function(t){var e=this;t.on("change:visible",(function(){return e.renderPanel.bind(e)})),t.on("change:extent",(function(){return e.renderPanel.bind(e)}))}},{key:"unregisterViewEvents_",value:function(t){var e=this;t.un("change:resolution",(function(){return e.renderPanel.bind(e)}))}},{key:"unregisterLayersEvents_",value:function(t){var e=this;t.forEach(this.unregisterLayerEvents_.bind(this)),t.un("remove",(function(){return e.renderPanel.bind(e)})),t.un("add",(function(){return e.onAddLayer_.bind(e)}))}},{key:"unregisterLayerEvents_",value:function(t){var e=this;t.un("change:visible",(function(){return e.renderPanel.bind(e)})),t.un("change:extent",(function(){return e.renderPanel.bind(e)}))}},{key:"onViewChange_",value:function(t){this.unregisterViewEvents_(t.oldValue);var e=this.facadeMap_.getMapImpl();this.registerViewEvents_(e.getView())}},{key:"onAddLayer_",value:function(t){this.registerLayerEvents_(t.element),this.renderPanel()}},{key:"registerImgErrorEvents_",value:function(t){var e=this,r=t.querySelectorAll("img");Array.prototype.forEach.call(r,(function(t){t.addEventListener("error",(function(t){var r=t.target.getAttribute("data-layer-name"),n=mD([M.config.THEME_URL,th.LEGEND_ERROR]),i=e.facadeMap_.getLayers().filter((function(t){return t.id===r}))[0];QF(i)||i.setLegendURL(n)}))}))}},{key:"setMap",value:function(t){vg(Eg(o.prototype),"setMap",this).call(this,t),this.renderPanel()}}])&&_g(e.prototype,r),n&&_g(e,n),o}(Ad);Sg.PANEL_ID="m-layerswitcher-panel";var Og=Sg,Ig=r(34),Cg=r(73),Tg=r.n(Cg),Pg=function(){function t(t){this.rbush_=new Tg.a(t),this.items_={}}return t.prototype.insert=function(t,e){var r={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(r),this.items_[Object(si.c)(e)]=r},t.prototype.load=function(t,e){for(var r=new Array(e.length),n=0,i=e.length;n=200&&s.status<300){var n=e.getType(),l=void 0;"json"==n||"text"==n?l=s.responseText:"xml"==n?(l=s.responseXML)||(l=(new DOMParser).parseFromString(s.responseText,"application/xml")):"arraybuffer"==n&&(l=s.response),l?o(e.readFeatures(l,{extent:r,featureProjection:i}),e.readProjection(l)):a()}else a()},s.onerror=a,s.send()}function Bg(t,e){return function(r,n,i,o,a){var s=this;Ug(t,e,r,n,i,(function(t,e){s.addFeatures(t),void 0!==o&&o(t)}),a||ai.c)}}var zg=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Vg=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.feature=r,i.features=n,i}return zg(e,t),e}(so.a),qg=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,{attributions:n.attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===n.wrapX||n.wrapX})||this).on,r.once,r.un,r.loader_=ai.c,r.format_=n.format,r.overlaps_=void 0===n.overlaps||n.overlaps,r.url_=n.url,void 0!==n.loader?r.loader_=n.loader:void 0!==r.url_&&(Object(go.a)(r.format_,7),r.loader_=Bg(r.url_,r.format_)),r.strategy_=void 0!==n.strategy?n.strategy:Dg;var i,o,a=void 0===n.useSpatialIndex||n.useSpatialIndex;return r.featuresRtree_=a?new Pg:null,r.loadedExtentsRtree_=new Pg,r.loadingExtentsCount_=0,r.nullGeometryFeatures_={},r.idIndex_={},r.uidIndex_={},r.featureChangeKeys_={},r.featuresCollection_=null,Array.isArray(n.features)?o=n.features:n.features&&(o=(i=n.features).getArray()),a||void 0!==i||(i=new ho(o)),void 0!==o&&r.addFeaturesInternal(o),void 0!==i&&r.bindFeaturesCollection_(i),r}return zg(e,t),e.prototype.addFeature=function(t){this.addFeatureInternal(t),this.changed()},e.prototype.addFeatureInternal=function(t){var e=Object(si.c)(t);if(this.addToIndex_(e,t)){this.setupChangeEvents_(e,t);var r=t.getGeometry();if(r){var n=r.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(n,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new Vg(Lg,t))}else this.featuresCollection_&&this.featuresCollection_.remove(t)},e.prototype.setupChangeEvents_=function(t,e){this.featureChangeKeys_[t]=[Object(eo.a)(e,fo.a.CHANGE,this.handleFeatureChange_,this),Object(eo.a)(e,_i.a.PROPERTYCHANGE,this.handleFeatureChange_,this)]},e.prototype.addToIndex_=function(t,e){var r=!0,n=e.getId();return void 0!==n&&(n.toString()in this.idIndex_?r=!1:this.idIndex_[n.toString()]=e),r&&(Object(go.a)(!(t in this.uidIndex_),30),this.uidIndex_[t]=e),r},e.prototype.addFeatures=function(t){this.addFeaturesInternal(t),this.changed()},e.prototype.addFeaturesInternal=function(t){for(var e=[],r=[],n=[],i=0,o=t.length;i0},e.prototype.refresh=function(){this.clear(!0),this.loadedExtentsRtree_.clear(),t.prototype.refresh.call(this)},e.prototype.removeLoadedExtent=function(t){var e,r=this.loadedExtentsRtree_;r.forEachInExtent(t,(function(r){if(Object(mt.p)(r.extent,t))return e=r,!0})),e&&r.remove(e)},e.prototype.removeFeature=function(t){if(t){var e=Object(si.c)(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.removeFeatureInternal(t)&&this.changed()}},e.prototype.removeFeatureInternal=function(t){var e=Object(si.c)(t),r=this.featureChangeKeys_[e];if(r){r.forEach(eo.c),delete this.featureChangeKeys_[e];var n=t.getId();return void 0!==n&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Vg(Ng,t)),t}},e.prototype.removeFromIdIndex_=function(t){var e=!1;for(var r in this.idIndex_)if(this.idIndex_[r]===t){delete this.idIndex_[r],e=!0;break}return e},e.prototype.setLoader=function(t){this.loader_=t},e.prototype.setUrl=function(t){Object(go.a)(this.format_,7),this.url_=t,this.setLoader(Bg(t,this.format_))},e}(Rg.a),Yg=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Wg=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,wrapX:e.wrapX})||this;return r.resolution=void 0,r.distance=void 0!==e.distance?e.distance:20,r.minDistance=e.minDistance||0,r.interpolationRatio=0,r.features=[],r.geometryFunction=e.geometryFunction||function(t){var e=t.getGeometry();return Object(go.a)("Point"==e.getType(),10),e},r.createCustomCluster_=e.createCluster,r.source=null,r.boundRefresh_=r.refresh.bind(r),r.updateDistance(r.distance,r.minDistance),r.setSource(e.source||null),r}return Yg(e,t),e.prototype.clear=function(e){this.features.length=0,t.prototype.clear.call(this,e)},e.prototype.getDistance=function(){return this.distance},e.prototype.getSource=function(){return this.source},e.prototype.loadFeatures=function(t,e,r){this.source.loadFeatures(t,e,r),e!==this.resolution&&(this.resolution=e,this.refresh())},e.prototype.setDistance=function(t){this.updateDistance(t,this.minDistance)},e.prototype.setMinDistance=function(t){this.updateDistance(this.distance,t)},e.prototype.getMinDistance=function(){return this.minDistance},e.prototype.setSource=function(t){this.source&&this.source.removeEventListener(fo.a.CHANGE,this.boundRefresh_),this.source=t,t&&t.addEventListener(fo.a.CHANGE,this.boundRefresh_),this.refresh()},e.prototype.refresh=function(){this.clear(),this.cluster(),this.addFeatures(this.features)},e.prototype.updateDistance=function(t,e){var r=0===t?0:Math.min(e,t)/t,n=t!==this.distance||this.interpolationRatio!==r;this.distance=t,this.minDistance=e,this.interpolationRatio=r,n&&this.refresh()},e.prototype.cluster=function(){if(void 0!==this.resolution&&this.source)for(var t=Object(mt.k)(),e=this.distance*this.resolution,r=this.source.getFeatures(),n={},i=0,o=r.length;i=0;--n){var i=this.geometryFunction(t[n]);i?Object(di.a)(r,i.getCoordinates()):t.splice(n,1)}Object(di.k)(r,1/t.length);var o=Object(mt.x)(e),a=this.interpolationRatio,s=new Aa([r[0]*(1-a)+o[0]*a,r[1]*(1-a)+o[1]*a]);return this.createCustomCluster_?this.createCustomCluster_(s,t):new gh({geometry:s,features:t})},e}(qg),Xg="fraction",Hg="pixels",Zg="bottom-left",Kg="bottom-right",Jg="top-left",Qg="top-right",$g=r(13),ty=function(){function t(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=Object(ns.d)(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}return t.prototype.clone=function(){var e=this.getScale();return new t({opacity:this.getOpacity(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})},t.prototype.getOpacity=function(){return this.opacity_},t.prototype.getRotateWithView=function(){return this.rotateWithView_},t.prototype.getRotation=function(){return this.rotation_},t.prototype.getScale=function(){return this.scale_},t.prototype.getScaleArray=function(){return this.scaleArray_},t.prototype.getDisplacement=function(){return this.displacement_},t.prototype.getDeclutterMode=function(){return this.declutterMode_},t.prototype.getAnchor=function(){return Object(si.b)()},t.prototype.getImage=function(t){return Object(si.b)()},t.prototype.getHitDetectionImage=function(){return Object(si.b)()},t.prototype.getPixelRatio=function(t){return 1},t.prototype.getImageState=function(){return Object(si.b)()},t.prototype.getImageSize=function(){return Object(si.b)()},t.prototype.getOrigin=function(){return Object(si.b)()},t.prototype.getSize=function(){return Object(si.b)()},t.prototype.setDisplacement=function(t){this.displacement_=t},t.prototype.setOpacity=function(t){this.opacity_=t},t.prototype.setRotateWithView=function(t){this.rotateWithView_=t},t.prototype.setRotation=function(t){this.rotation_=t},t.prototype.setScale=function(t){this.scale_=t,this.scaleArray_=Object(ns.d)(t)},t.prototype.listenImageChange=function(t){Object(si.b)()},t.prototype.load=function(){Object(si.b)()},t.prototype.unlistenImageChange=function(t){Object(si.b)()},t}(),ey=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ry=null,ny=function(t){function e(e,r,n,i,o,a){var s=t.call(this)||this;return s.hitDetectionImage_=null,s.image_=e||new Image,null!==i&&(s.image_.crossOrigin=i),s.canvas_={},s.color_=a,s.unlisten_=null,s.imageState_=o,s.size_=n,s.src_=r,s.tainted_,s}return ey(e,t),e.prototype.isTainted_=function(){if(void 0===this.tainted_&&this.imageState_===$g.a.LOADED){ry||(ry=Object(Ai.a)(1,1)),ry.drawImage(this.image_,0,0);try{ry.getImageData(0,0,1,1),this.tainted_=!1}catch(t){ry=null,this.tainted_=!0}}return!0===this.tainted_},e.prototype.dispatchChangeEvent_=function(){this.dispatchEvent(fo.a.CHANGE)},e.prototype.handleImageError_=function(){this.imageState_=$g.a.ERROR,this.unlistenImage_(),this.dispatchChangeEvent_()},e.prototype.handleImageLoad_=function(){this.imageState_=$g.a.LOADED,this.size_?(this.image_.width=this.size_[0],this.image_.height=this.size_[1]):this.size_=[this.image_.width,this.image_.height],this.unlistenImage_(),this.dispatchChangeEvent_()},e.prototype.getImage=function(t){return this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_},e.prototype.getPixelRatio=function(t){return this.replaceColor_(t),this.canvas_[t]?t:1},e.prototype.getImageState=function(){return this.imageState_},e.prototype.getHitDetectionImage=function(){if(!this.hitDetectionImage_)if(this.isTainted_()){var t=this.size_[0],e=this.size_[1],r=Object(Ai.a)(t,e);r.fillRect(0,0,t,e),this.hitDetectionImage_=r.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_},e.prototype.getSize=function(){return this.size_},e.prototype.getSrc=function(){return this.src_},e.prototype.load=function(){if(this.imageState_==$g.a.IDLE){this.imageState_=$g.a.LOADING;try{this.image_.src=this.src_}catch(t){this.handleImageError_()}this.unlisten_=Object(Op.b)(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this))}},e.prototype.replaceColor_=function(t){if(this.color_&&!this.canvas_[t]&&this.imageState_===$g.a.LOADED){var e=document.createElement("canvas");this.canvas_[t]=e,e.width=Math.ceil(this.image_.width*t),e.height=Math.ceil(this.image_.height*t);var r=e.getContext("2d");if(r.scale(t,t),r.drawImage(this.image_,0,0),r.globalCompositeOperation="multiply","multiply"===r.globalCompositeOperation||this.isTainted_())r.fillStyle=Object(ui.b)(this.color_),r.fillRect(0,0,e.width/t,e.height/t),r.globalCompositeOperation="destination-in",r.drawImage(this.image_,0,0);else{for(var n=r.getImageData(0,0,e.width,e.height),i=n.data,o=this.color_[0]/255,a=this.color_[1]/255,s=this.color_[2]/255,l=this.color_[3],u=0,c=i.length;u0,6);var c=void 0!==n.src?$g.a.IDLE:$g.a.LOADED;return r.color_=void 0!==n.color?Object(ui.a)(n.color):null,r.iconImage_=function(t,e,r,n,i,o){var a=fi.get(e,n,o);return a||(a=new ny(t,e,r,n,i,o),fi.set(e,n,o,a)),a}(l,u,void 0!==r.imgSize_?r.imgSize_:null,r.crossOrigin_,c,r.color_),r.offset_=void 0!==n.offset?n.offset:[0,0],r.offsetOrigin_=void 0!==n.offsetOrigin?n.offsetOrigin:Jg,r.origin_=null,r.size_=void 0!==n.size?n.size:null,r}return iy(e,t),e.prototype.clone=function(){var t=this.getScale();return new e({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,imgSize:this.imgSize_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:Array.isArray(t)?t.slice():t,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})},e.prototype.getAnchor=function(){var t=this.normalizedAnchor_;if(!t){t=this.anchor_;var e=this.getSize();if(this.anchorXUnits_==Xg||this.anchorYUnits_==Xg){if(!e)return null;t=this.anchor_.slice(),this.anchorXUnits_==Xg&&(t[0]*=e[0]),this.anchorYUnits_==Xg&&(t[1]*=e[1])}if(this.anchorOrigin_!=Jg){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),this.anchorOrigin_!=Qg&&this.anchorOrigin_!=Kg||(t[0]=-t[0]+e[0]),this.anchorOrigin_!=Zg&&this.anchorOrigin_!=Kg||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}var r=this.getDisplacement();return[t[0]-r[0],t[1]+r[1]]},e.prototype.setAnchor=function(t){this.anchor_=t,this.normalizedAnchor_=null},e.prototype.getColor=function(){return this.color_},e.prototype.getImage=function(t){return this.iconImage_.getImage(t)},e.prototype.getPixelRatio=function(t){return this.iconImage_.getPixelRatio(t)},e.prototype.getImageSize=function(){return this.iconImage_.getSize()},e.prototype.getImageState=function(){return this.iconImage_.getImageState()},e.prototype.getHitDetectionImage=function(){return this.iconImage_.getHitDetectionImage()},e.prototype.getOrigin=function(){if(this.origin_)return this.origin_;var t=this.offset_;if(this.offsetOrigin_!=Jg){var e=this.getSize(),r=this.iconImage_.getSize();if(!e||!r)return null;t=t.slice(),this.offsetOrigin_!=Qg&&this.offsetOrigin_!=Kg||(t[0]=r[0]-e[0]-t[0]),this.offsetOrigin_!=Zg&&this.offsetOrigin_!=Kg||(t[1]=r[1]-e[1]-t[1])}return this.origin_=t,this.origin_},e.prototype.getSrc=function(){return this.iconImage_.getSrc()},e.prototype.getSize=function(){return this.size_?this.size_:this.iconImage_.getSize()},e.prototype.listenImageChange=function(t){this.iconImage_.addEventListener(fo.a.CHANGE,t)},e.prototype.load=function(){this.iconImage_.load()},e.prototype.unlistenImageChange=function(t){this.iconImage_.removeEventListener(fo.a.CHANGE,t)},e}(ty),ay=function(){function t(){}return t.prototype.drawCustom=function(t,e,r,n){},t.prototype.drawGeometry=function(t){},t.prototype.setStyle=function(t){},t.prototype.drawCircle=function(t,e){},t.prototype.drawFeature=function(t,e){},t.prototype.drawGeometryCollection=function(t,e){},t.prototype.drawLineString=function(t,e){},t.prototype.drawMultiLineString=function(t,e){},t.prototype.drawMultiPoint=function(t,e){},t.prototype.drawMultiPolygon=function(t,e){},t.prototype.drawPoint=function(t,e){},t.prototype.drawPolygon=function(t,e){},t.prototype.drawText=function(t,e){},t.prototype.setFillStrokeStyle=function(t,e){},t.prototype.setImageStyle=function(t,e){},t.prototype.setTextStyle=function(t,e){},t}();function sy(t){return Array.isArray(t)?Object(ui.e)(t):t}var ly=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uy=function(t){function e(e,r,n,i,o,a,s){var l=t.call(this)||this;return l.context_=e,l.pixelRatio_=r,l.extent_=n,l.transform_=i,l.viewRotation_=o,l.squaredTolerance_=a,l.userTransform_=s,l.contextFillState_=null,l.contextStrokeState_=null,l.contextTextState_=null,l.fillState_=null,l.strokeState_=null,l.image_=null,l.imageAnchorX_=0,l.imageAnchorY_=0,l.imageHeight_=0,l.imageOpacity_=0,l.imageOriginX_=0,l.imageOriginY_=0,l.imageRotateWithView_=!1,l.imageRotation_=0,l.imageScale_=[0,0],l.imageWidth_=0,l.text_="",l.textOffsetX_=0,l.textOffsetY_=0,l.textRotateWithView_=!1,l.textRotation_=0,l.textScale_=[0,0],l.textFillState_=null,l.textStrokeState_=null,l.textState_=null,l.pixelCoordinates_=[],l.tmpLocalTransform_=Object(li.d)(),l}return ly(e,t),e.prototype.drawImages_=function(t,e,r,n){if(this.image_){var i=na(t,e,r,n,this.transform_,this.pixelCoordinates_),o=this.context_,a=this.tmpLocalTransform_,s=o.globalAlpha;1!=this.imageOpacity_&&(o.globalAlpha=s*this.imageOpacity_);var l=this.imageRotation_;this.imageRotateWithView_&&(l+=this.viewRotation_);for(var u=0,c=i.length;u0&&void 0!==arguments[0]?arguments[0]:{};xy(this,o);var r=0;return e.stroke&&(r=e.stroke.getWidth()),t=i.call(this,{radius:e.radius,fill:e.fill,rotation:e.rotation,rotateWithView:e.rotateWithView}),"number"==typeof e.opacity&&t.setOpacity(e.opacity),t.color_=e.color,t.fontSize_=e.fontSize||1,t.stroke_=e.stroke,t.fill_=e.fill,t.radius_=e.radius-r,t.form_=e.form||"none",t.gradient_=e.gradient,t.offset_=[e.offsetX?e.offsetX:0,e.offsetY?e.offsetY:0],t.glyph_=t.getGlyph(e.glyph)||"",t.renderMaker(),t}return e=o,n=[{key:"addDefs",value:function(t,e){var r=t;if("string"==typeof t&&(r={font:t,name:t,copyright:""}),!r.font||"string"!=typeof r.font)throw new Error("bad font def");var n=r.font;o.defs.fonts[n]=r,Object.keys(e).forEach((function(t){var n=e[t];"string"==typeof n&&1===n.length&&(n={char:n}),o.defs.glyphs[t]={font:r.font,char:n.char||"".concat(String.fromCharCode(n.code))||"",theme:n.theme||r.name,name:n.name||t,search:n.search||""}}))}}],(r=[{key:"clone",value:function(){var t=new o({glyph:"",color:this.color_,fontSize:this.fontSize_,stroke:this.stroke_,fill:this.fill_,radius:this.radius_+(this.stroke_?this.stroke_.getWidth():0),form:this.form_,gradient:this.gradient_,offsetX:this.offset_[0],offsetY:this.offset_[1],opacity:this.getOpacity(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()});return t.setScale(this.getScale()),t.setGlyph(this.getGlyph()),t.renderMaker(),t}},{key:"setGlyph",value:function(t){this.glyph_=t}},{key:"getFill",value:function(){return this.fill_}},{key:"getStroke",value:function(){return this.stroke_}},{key:"getGlyph",value:function(t){var e=this.glyph_;return t&&(e=(e=o.defs.glyphs[t])||{font:"none",char:t.charAt(0),theme:"none",name:"none",search:""}),e}},{key:"getGlyphName",value:function(){var t=this,e="";return Object.keys(o.defs.glyphs).forEach((function(r){o.defs.glyph[r]===t.glyph_&&(e=r)})),e}},{key:"getFontInfo",value:function(t){return o.defs.fonts[t.font]}},{key:"renderMaker",value:function(t){var e,r=0;this.stroke_&&(e=Object(ui.b)(this.stroke_.getColor()),r=this.stroke_.getWidth());var n=this.getImage(1);n.height+=1,n.width+=1;var i={strokeStyle:e,strokeWidth:r,size:n.width},o=n.getContext("2d");o.clearRect(0,0,n.width,n.height),this.drawMarker_(i,o,0,0);var a=this.getAnchor();a[0]=n.width/2-this.offset_[0],a[1]=n.width/2-this.offset_[1]}},{key:"drawPath_",value:function(t,e){var r=e,n=2*this.radius_+t.strokeWidth,i=t.strokeWidth/2,o=t.size/2,a={fac:1,posX:t.size/2,posY:t.size/2};r.lineJoin="round",r.beginPath();var s=Math.PI;switch(this.form_){case"none":a.fac=1;break;case"circle":case"ban":r.arc(o,o,n/2,0,2*Math.PI,!0);break;case"poi":r.arc(o,o-.4*this.radius_,.6*this.radius_,.15*s,.85*s,!0),r.lineTo(o-.89*.05*n,(.95+.45*.05)*n+i),r.arc(o,.95*n+i,.05*n,.85*Math.PI,.15*Math.PI,!0),a={fac:.45,posX:o,posY:o-.35*this.radius_};break;case"bubble":r.arc(o,o-.2*this.radius_,.8*this.radius_,.4*s,.6*s,!0),r.lineTo(.5*n+i,n+i),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;case"marker":r.arc(o,o-.2*this.radius_,.8*this.radius_,.25*s,.75*s,!0),r.lineTo(.5*n+i,n+i),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;case"coma":r.moveTo(o+.8*this.radius_,o-.2*this.radius_),r.quadraticCurveTo(.95*n+i,.75*n+i,.5*n+i,n+i),r.arc(o,o-.2*this.radius_,.8*this.radius_,.45*s,0,!1),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;default:var l;switch(this.form_){case"shield":l=[.05,0,.95,0,.95,.8,.5,1,.05,.8,.05,0],a.posY=.45*n+i;break;case"blazon":l=[.1,0,.9,0,.9,.8,.6,.8,.5,1,.4,.8,.1,.8,.1,0],a.fac=.8,a.posY=.4*n+i;break;case"bookmark":l=[.05,0,.95,0,.95,1,.5,.8,.05,1,.05,0],a.fac=.9,a.posY=.4*n+i;break;case"hexagon":l=[.05,.2,.5,0,.95,.2,.95,.8,.5,1,.05,.8,.05,.2],a.fac=.9,a.posY=.5*n+i;break;case"diamond":l=[.25,0,.75,0,1,.2,1,.4,.5,1,0,.4,0,.2,.25,0],a.fac=.75,a.posY=.35*n+i;break;case"triangle":l=[0,0,1,0,.5,1,0,0],a.fac=.6,a.posY=.3*n+i;break;case"sign":l=[.5,.05,1,.95,0,.95,.5,.05],a.fac=.7,a.posY=.65*n+i;break;case"lozenge":l=[.5,0,1,.5,.5,1,0,.5,.5,0],a.fac=.7;break;default:l=[0,0,1,0,1,1,0,1,0,0]}for(var u=0;u0&&void 0!==arguments[0]?arguments[0]:{};Ty(this,t),this.options_=e,this.layer_=null,this.updateFacadeOptions(e)}var e,r,n;return e=t,n=[{key:"getCanvasSize",value:function(){return[100,100]}}],(r=[{key:"updateFacadeOptions",value:function(){}},{key:"applyToLayer",value:function(t){this.layer_=t,t.getFeatures().forEach(this.applyToFeature,this)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"updateCanvas",value:function(e){var r=t.getCanvasSize(),n=yy(e.getContext("2d"),{size:r});n.setStyle(this.olStyleFn_()[0]),this.drawGeometryToCanvas(n)}},{key:"drawGeometryToCanvas",value:function(t){}},{key:"clone",value:function(){return new t(Object.assign({},this.options_))}}])&&Py(e.prototype,r),n&&Py(e,n),t}();function Ly(t){return(Ly="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function My(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Ay(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return My(this,o),(t=i.call(this,e)).updateFacadeOptions(e),t}return e=o,n=[{key:"getValue",value:function(t,e,r){var n=/^\{\{([^}]+)\}\}$/,i=t;if(n.test(t)||$F(t))if(e instanceof gh||e instanceof Mh){var o=qD.olFeature2Facade(e,!1);if(n.test(t)){var a=t.replace(n,"$1");i=o.getAttribute(a)}else if($F(t)){var s;QF(r)||(s=r.getImpl().getMap()),i=t(o,s)}}else i=void 0;return QF(i)&&(i=void 0),i}}],(r=[{key:"applyToLayer",value:function(t){this.layer_=t;var e=t.getImpl().getOLLayer();QF(e)||e.setStyle(this.olStyleFn_)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"olStyleFn",get:function(){return this.olStyleFn_}}])&&Ay(e.prototype,r),n&&Ay(e,n),o}(Ry),Gy="left",Uy="center",By="right",zy="justify",Vy="top",qy="middle",Yy="bottom",Wy="alphabetic",Xy="hanging",Hy="ideographic",Zy=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ky=function(t){function e(e){var r=e||{};return t.call(this,{points:1/0,fill:r.fill,radius:r.radius,stroke:r.stroke,scale:void 0!==r.scale?r.scale:1,rotation:void 0!==r.rotation?r.rotation:0,rotateWithView:void 0!==r.rotateWithView&&r.rotateWithView,displacement:void 0!==r.displacement?r.displacement:[0,0],declutterMode:r.declutterMode})||this}return Zy(e,t),e.prototype.clone=function(){var t=this.getScale(),r=new e({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return r.setOpacity(this.getOpacity()),r},e.prototype.setRadius=function(t){this.radius_=t,this.render()},e}(vy),Jy=function(){function t(t){var e=t||{};this.color_=void 0!==e.color?e.color:null}return t.prototype.clone=function(){var e=this.getColor();return new t({color:Array.isArray(e)?e.slice():e||void 0})},t.prototype.getColor=function(){return this.color_},t.prototype.setColor=function(t){this.color_=t},t}(),Qy=function(){function t(t){var e=t||{};this.color_=void 0!==e.color?e.color:null,this.lineCap_=e.lineCap,this.lineDash_=void 0!==e.lineDash?e.lineDash:null,this.lineDashOffset_=e.lineDashOffset,this.lineJoin_=e.lineJoin,this.miterLimit_=e.miterLimit,this.width_=e.width}return t.prototype.clone=function(){var e=this.getColor();return new t({color:Array.isArray(e)?e.slice():e||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})},t.prototype.getColor=function(){return this.color_},t.prototype.getLineCap=function(){return this.lineCap_},t.prototype.getLineDash=function(){return this.lineDash_},t.prototype.getLineDashOffset=function(){return this.lineDashOffset_},t.prototype.getLineJoin=function(){return this.lineJoin_},t.prototype.getMiterLimit=function(){return this.miterLimit_},t.prototype.getWidth=function(){return this.width_},t.prototype.setColor=function(t){this.color_=t},t.prototype.setLineCap=function(t){this.lineCap_=t},t.prototype.setLineDash=function(t){this.lineDash_=t},t.prototype.setLineDashOffset=function(t){this.lineDashOffset_=t},t.prototype.setLineJoin=function(t){this.lineJoin_=t},t.prototype.setMiterLimit=function(t){this.miterLimit_=t},t.prototype.setWidth=function(t){this.width_=t},t}();function $y(t){return($y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var tm=function(){function t(t){var e=t||{};this.geometry_=null,this.geometryFunction_=im,void 0!==e.geometry&&this.setGeometry(e.geometry),this.fill_=void 0!==e.fill?e.fill:null,this.image_=void 0!==e.image?e.image:null,this.renderer_=void 0!==e.renderer?e.renderer:null,this.hitDetectionRenderer_=void 0!==e.hitDetectionRenderer?e.hitDetectionRenderer:null,this.stroke_=void 0!==e.stroke?e.stroke:null,this.text_=void 0!==e.text?e.text:null,this.zIndex_=e.zIndex}return t.prototype.clone=function(){var e=this.getGeometry();return e&&"object"===$y(e)&&(e=e.clone()),new t({geometry:e,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer(),stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})},t.prototype.getRenderer=function(){return this.renderer_},t.prototype.setRenderer=function(t){this.renderer_=t},t.prototype.setHitDetectionRenderer=function(t){this.hitDetectionRenderer_=t},t.prototype.getHitDetectionRenderer=function(){return this.hitDetectionRenderer_},t.prototype.getGeometry=function(){return this.geometry_},t.prototype.getGeometryFunction=function(){return this.geometryFunction_},t.prototype.getFill=function(){return this.fill_},t.prototype.setFill=function(t){this.fill_=t},t.prototype.getImage=function(){return this.image_},t.prototype.setImage=function(t){this.image_=t},t.prototype.getStroke=function(){return this.stroke_},t.prototype.setStroke=function(t){this.stroke_=t},t.prototype.getText=function(){return this.text_},t.prototype.setText=function(t){this.text_=t},t.prototype.getZIndex=function(){return this.zIndex_},t.prototype.setGeometry=function(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=im,this.geometry_=t},t.prototype.setZIndex=function(t){this.zIndex_=t},t}();var em=null;function rm(t,e){if(!em){var r=new Jy({color:"rgba(255,255,255,0.4)"}),n=new Qy({color:"#3399CC",width:1.25});em=[new tm({image:new Ky({fill:r,stroke:n,radius:5}),fill:r,stroke:n})]}return em}function nm(){var t={},e=[255,255,255,1],r=[0,153,255,1];return t.Polygon=[new tm({fill:new Jy({color:[255,255,255,.5]})})],t.MultiPolygon=t.Polygon,t.LineString=[new tm({stroke:new Qy({color:e,width:5})}),new tm({stroke:new Qy({color:r,width:3})})],t.MultiLineString=t.LineString,t.Circle=t.Polygon.concat(t.LineString),t.Point=[new tm({image:new Ky({radius:6,fill:new Jy({color:r}),stroke:new Qy({color:e,width:1.5})}),zIndex:1/0})],t.MultiPoint=t.Point,t.GeometryCollection=t.Polygon.concat(t.LineString,t.Point),t}function im(t){return t.getGeometry()}var om=tm,am="point",sm="line",lm=function(){function t(t){var e=t||{};this.font_=e.font,this.rotation_=e.rotation,this.rotateWithView_=e.rotateWithView,this.scale_=e.scale,this.scaleArray_=Object(ns.d)(void 0!==e.scale?e.scale:1),this.text_=e.text,this.textAlign_=e.textAlign,this.justify_=e.justify,this.textBaseline_=e.textBaseline,this.fill_=void 0!==e.fill?e.fill:new Jy({color:"#333"}),this.maxAngle_=void 0!==e.maxAngle?e.maxAngle:Math.PI/4,this.placement_=void 0!==e.placement?e.placement:am,this.overflow_=!!e.overflow,this.stroke_=void 0!==e.stroke?e.stroke:null,this.offsetX_=void 0!==e.offsetX?e.offsetX:0,this.offsetY_=void 0!==e.offsetY?e.offsetY:0,this.backgroundFill_=e.backgroundFill?e.backgroundFill:null,this.backgroundStroke_=e.backgroundStroke?e.backgroundStroke:null,this.padding_=void 0===e.padding?null:e.padding}return t.prototype.clone=function(){var e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0})},t.prototype.getOverflow=function(){return this.overflow_},t.prototype.getFont=function(){return this.font_},t.prototype.getMaxAngle=function(){return this.maxAngle_},t.prototype.getPlacement=function(){return this.placement_},t.prototype.getOffsetX=function(){return this.offsetX_},t.prototype.getOffsetY=function(){return this.offsetY_},t.prototype.getFill=function(){return this.fill_},t.prototype.getRotateWithView=function(){return this.rotateWithView_},t.prototype.getRotation=function(){return this.rotation_},t.prototype.getScale=function(){return this.scale_},t.prototype.getScaleArray=function(){return this.scaleArray_},t.prototype.getStroke=function(){return this.stroke_},t.prototype.getText=function(){return this.text_},t.prototype.getTextAlign=function(){return this.textAlign_},t.prototype.getJustify=function(){return this.justify_},t.prototype.getTextBaseline=function(){return this.textBaseline_},t.prototype.getBackgroundFill=function(){return this.backgroundFill_},t.prototype.getBackgroundStroke=function(){return this.backgroundStroke_},t.prototype.getPadding=function(){return this.padding_},t.prototype.setOverflow=function(t){this.overflow_=t},t.prototype.setFont=function(t){this.font_=t},t.prototype.setMaxAngle=function(t){this.maxAngle_=t},t.prototype.setOffsetX=function(t){this.offsetX_=t},t.prototype.setOffsetY=function(t){this.offsetY_=t},t.prototype.setPlacement=function(t){this.placement_=t},t.prototype.setRotateWithView=function(t){this.rotateWithView_=t},t.prototype.setFill=function(t){this.fill_=t},t.prototype.setRotation=function(t){this.rotation_=t},t.prototype.setScale=function(t){this.scale_=t,this.scaleArray_=Object(ns.d)(void 0!==t?t:1)},t.prototype.setStroke=function(t){this.stroke_=t},t.prototype.setText=function(t){this.text_=t},t.prototype.setTextAlign=function(t){this.textAlign_=t},t.prototype.setJustify=function(t){this.justify_=t},t.prototype.setTextBaseline=function(t){this.textBaseline_=t},t.prototype.setBackgroundFill=function(t){this.backgroundFill_=t},t.prototype.setBackgroundStroke=function(t){this.backgroundStroke_=t},t.prototype.setPadding=function(t){this.padding_=t},t}();function um(t){return(um="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function cm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return cm(this,o),(t=i.call(this,e)).textOverflow_=void 0!==e.textOverflow?e.textOverflow:"",t.minWidth_=e.minWidth||0,t}return e=o,(r=[{key:"getTextOverflow",value:function(){return this.textOverflow_}},{key:"getMinWidth",value:function(){return this.minWidth_}}])&&hm(e.prototype,r),n&&hm(e,n),o}(lm);function mm(t){return(mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _m(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return _m(this,o),i.call(this,{anchor:t.anchor?t.anchor.slice():void 0,anchorOrigin:t.anchorOrigin,anchorXUnits:t.anchorXUnits,anchorYUnits:t.anchorYUnits,crossOrigin:t.crossOrigin||null,color:t.color&&t.color.slice?t.color.slice():t.color||void 0,src:t.src,offset:t.offset?t.offset.slice():void 0,offsetOrigin:t.offsetOrigin,size:t.size?t.size.slice():void 0,imgSize:t.imgSize,opacity:t.opacity,scale:t.scale,snapToPixel:t.snapToPixel,rotation:t.rotation,rotateWithView:t.rotateWithView})}return e=o,(r=[{key:"clone",value:function(){return new o({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,crossOrigin:this.crossOrigin_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,src:this.getSrc(),offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,size:null!==this.size_?this.size_.slice():void 0,opacity:this.getOpacity(),scale:this.getScale(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()})}},{key:"size",set:function(t){this.size_=Array.isArray(t)?t:null}},{key:"anchor",set:function(t){this.anchor_=Array.isArray(t)?t:null}},{key:"origin",set:function(t){this.origin_=Array.isArray(t)?t:null}}])&&vm(e.prototype,r),n&&vm(e,n),o}(oy);function Om(t){return(Om="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Im(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Cm(t,e){return(Cm=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Tm(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=Rm(t);if(e){var i=Rm(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Pm(this,r)}}function Pm(t,e){return!e||"object"!==Om(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Rm(t){return(Rm=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Lm=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Cm(t,e)}(r,t);var e=Tm(r);function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Im(this,r);var n=t;return t.anchor||(n.anchor=[]),t.offset||(n.offset=[]),e.call(this,{glyph:t.glyph,color:t.color,fontSize:t.fontSize,stroke:t.stroke,fill:t.fill,radius:t.radius,form:t.form,gradient:t.gradient,offsetX:t.offset[0],offsetY:t.offset[1],opacity:t.opacity,rotation:t.rotation,rotateWithView:t.rotateWithView})}return r}(Cy);function Mm(t){return(Mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Am(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Nm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};Am(this,o);var n=document.createElement("canvas"),a=Number(r.scale)>0?Number(r.scale):1,s=a*Li.a||Li.a,l=n.getContext("2d");if(r.image){r.image.load();var u=r.image.getImage();u.width?(n.width=Math.round(u.width*s),n.height=Math.round(u.height*s),l.globalAlpha="number"==typeof r.opacity?r.opacity:1,l.drawImage(u,0,0,u.width,u.height,0,0,n.width,n.height),e=l.createPattern(n,"repeat")):(e=[0,0,0,0],u.onload=function(){n.width=Math.round(u.width*s),n.height=Math.round(u.height*s),l.globalAlpha="number"==typeof r.opacity?r.opacity:1,l.drawImage(u,0,0,u.width,u.height,0,0,n.width,n.height),e=l.createPattern(n,"repeat"),this.color_=e,this.checksum_=void 0})}else{var c=o.getPattern(r);if(n.width=Math.round(c.width*s),n.height=Math.round(c.height*s),l.beginPath(),r.fill&&(l.fillStyle=Object(ui.b)(r.fill.getColor()),l.fillRect(0,0,n.width,n.height)),l.scale(s,s),l.lineCap="round",l.lineWidth=c.stroke||1,l.fillStyle=Object(ui.b)(r.color||"#000"),l.strokeStyle=Object(ui.b)(r.color||"#000"),c.circles)for(var h=0;h180&&(a-=360),a*=Math.PI/180;var s=Math.cos(a),l=Math.sin(a);if(Math.abs(l)<1e-4)r.width=n,r.height=n,r.lines=[[0,.5,n,.5]],r.repeat=[[0,0],[0,n]];else if(Math.abs(s)<1e-4)r.height=n,r.width=n,r.lines=[[.5,0,.5,n]],r.repeat=[[0,0],[n,0]],"cross"===e.pattern&&(r.lines.push([0,.5,n,.5]),r.repeat.push([0,n]));else{r.width=Math.round(Math.abs(n/l))||1,r.height=Math.round(Math.abs(n/s))||1;var u=r.width,c=r.height;"cross"===e.pattern?(r.lines=[[-u,-c,2*u,2*c],[2*u,-c,-u,2*c]],r.repeat=[[0,0]]):s*l>0?(r.lines=[[-u,-c,2*u,2*c]],r.repeat=[[0,0],[u,0],[0,c]]):(r.lines=[[2*u,-c,-u,2*c]],r.repeat=[[0,0],[-u,0],[0,c]])}r.stroke=0===e.size?0:e.size||4}return r}},{key:"addPattern",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o.patterns[t||e.char]={width:e.width||e.size||10,height:e.height||e.size||10,font:e.font,char:e.char,circles:e.circles,lines:e.lines,repeat:e.repeat,stroke:e.stroke,angle:e.angle,fill:e.fill}}}],(r=[{key:"clone",value:function(){return new o(this.options_)}},{key:"getImage",value:function(){return this.canvas_}}])&&Nm(e.prototype,r),n&&Nm(e,n),o}(Jy);function Um(t){return(Um="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Bm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return Bm(this,o),i.call(this,{points:1/0,fill:t.fill,radius:t.radius,snapToPixel:t.snapToPixel,stroke:t.stroke,atlasManager:t.atlasManager})}return e=o,(r=[{key:"clone",value:function(){var t=new o({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),atlasManager:this.atlasManager_});return t.setOpacity(this.getOpacity()),t.setScale(this.getScale()),t}}])&&zm(e.prototype,r),n&&zm(e,n),o}(Ky),Hm=function(t,e,r){var n;if(!QF(t.fill)){var i=Dy.getValue(t.fill.color,e,r),o=Dy.getValue(t.fill.opacity,e,r);o||0===o||(o=1),QF(i)||(n=new Jy({color:l()(i).alpha(o).css()}))}return n},Zm=function(t,e,r){var n;if(!QF(t.stroke)){var i=Dy.getValue(t.stroke.color,e,r);if(!QF(i)){var o=t.stroke.linedashoffset;n=new Qy({color:i,width:Dy.getValue(t.stroke.width,e,r),lineDash:Dy.getValue(t.stroke.linedash,e,r),lineDashOffset:Dy.getValue(o,e,r),lineCap:Dy.getValue(t.stroke.linecap,e,r),lineJoin:Dy.getValue(t.stroke.linejoin,e,r),miterLimit:Dy.getValue(t.stroke.miterlimit,e,r)})}}return n},Km=function(t,e,r){var o;if(t.label){var a=Dy.getValue(t.label.text,e,r),s=Dy.getValue(t.label.align,e,r),l=Dy.getValue(t.label.baseline,e,r);if(o=new lm({font:Dy.getValue(t.label.font,e,r),rotateWithView:Dy.getValue(t.label.rotate,e,r),scale:Dy.getValue(t.label.scale,e,r),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,e,r),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,e,r),fill:new Jy({color:Dy.getValue(t.label.color||"#000",e,r)}),textAlign:Object.values(n).includes(s)?s:"center",textBaseline:Object.values(i).includes(l)?l:"top",text:void 0===a?void 0:String(a),rotation:Dy.getValue(t.label.rotation,e,r)}),!QF(t.label.stroke)){var u=t.label.stroke,c=u.miterlimit,h=u.linedashoffset;o.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,e,r),width:Dy.getValue(t.label.stroke.width,e,r),lineCap:Dy.getValue(t.label.stroke.linecap,e,r),lineJoin:Dy.getValue(t.label.stroke.linejoin,e,r),lineDash:Dy.getValue(t.label.stroke.linedash,e,r),lineDashOffset:Dy.getValue(h,e,r),miterLimit:Dy.getValue(c,e,r)}))}}return o},Jm={},Qm=function(t,e,r){var n=t||{},i=Hm(n,e,r),o=Zm(n,e,r),a=new Xm({fill:i,stroke:o,radius:Dy.getValue(n.radius,e,r),snapToPixel:Dy.getValue(n.snapToPixel,e,r)}),s=new om({image:a}),l=new om;if(!QF(n.icon)){var u,c=Dy.getValue(n.icon.src,e,r);QF(c)?QF(n.icon.form)||(u=function(t,e,r){return new Lm({form:QF(Dy.getValue(t.icon.form,e,r))?"":Dy.getValue(t.icon.form,e,r).toLowerCase(),gradient:Dy.getValue(t.icon.gradient,e,r),glyph:Dy.getValue(t.icon.class,e,r),fontSize:Dy.getValue(t.icon.fontsize,e,r),radius:Dy.getValue(t.icon.radius,e,r),rotation:Dy.getValue(t.icon.rotation,e,r),rotateWithView:Dy.getValue(t.icon.rotate,e,r),offsetX:Dy.getValue(t.icon.offset?t.icon.offset[0]:void 0,e,r),offsetY:Dy.getValue(t.icon.offset?t.icon.offset[1]:void 0,e,r),fill:new Jy({color:Dy.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",e,r)}),stroke:t.icon.color?new Qy({color:Dy.getValue(t.icon.color,e,r),width:1}):void 0,anchor:Dy.getValue(t.icon.anchor,e,r),anchorXUnits:Dy.getValue(t.icon.anchorxunits,e,r),anchorYUnits:Dy.getValue(t.icon.anchoryunits,e,r),src:Dy.getValue(t.icon.src,e,r),opacity:Dy.getValue(t.icon.opacity,e,r),scale:Dy.getValue(t.icon.scale,e,r),snapToPixel:Dy.getValue(t.icon.snaptopixel,e,r),offsetOrigin:Dy.getValue(t.icon.offsetorigin,e,r),offset:Dy.getValue(t.icon.offset,e,r),crossOrigin:Dy.getValue(t.icon.crossorigin,e,r),anchorOrigin:Dy.getValue(t.icon.anchororigin,e,r),size:Dy.getValue(t.icon.size,e,r)})}(n,e,r),l.setImage(u)):(u=function(t,e,r){var n=Dy.getValue(t.icon.anchor,e,r),i=Dy.getValue(t.icon.anchorxunits,e,r),o=Dy.getValue(t.icon.anchoryunits,e,r),a=Dy.getValue(t.icon.src,e,r),s=Dy.getValue(t.icon.opacity,e,r),l=Dy.getValue(t.icon.scale,e,r),u=Dy.getValue(t.icon.rotation,e,r),c=Dy.getValue(t.icon.rotate,e,r),h=Dy.getValue(t.icon.snaptopixel,e,r),f=Dy.getValue(t.icon.offsetorigin,e,r),p=Dy.getValue(t.icon.offset,e,r),d=Dy.getValue(t.icon.crossorigin,e,r),g=Dy.getValue(t.icon.anchororigin,e,r),y=a+n+i+o+s+l+u+c+h+f+p+d+g+g+Dy.getValue(t.icon.size,e,r),m=Jm[y];return m||(m=new Sm({anchor:Dy.getValue(t.icon.anchor,e,r),anchorXUnits:Dy.getValue(t.icon.anchorxunits,e,r),anchorYUnits:Dy.getValue(t.icon.anchoryunits,e,r),src:Dy.getValue(t.icon.src,e,r),opacity:Dy.getValue(t.icon.opacity,e,r),scale:Dy.getValue(t.icon.scale,e,r),rotation:Dy.getValue(t.icon.rotation,e,r),rotateWithView:Dy.getValue(t.icon.rotate,e,r),snapToPixel:Dy.getValue(t.icon.snaptopixel,e,r),offsetOrigin:Dy.getValue(t.icon.offsetorigin,e,r),offset:Dy.getValue(t.icon.offset,e,r),crossOrigin:Dy.getValue(t.icon.crossorigin,e,r),anchorOrigin:Dy.getValue(t.icon.anchororigin,e,r),size:Dy.getValue(t.icon.size,e,r)}),Jm[y]=m),m}(n,e,r),l.setImage(u))}var h=Km(n,e,r);return QF(n.label)||HF(h.getText())||s.setText(h),[s,l]},$m=function(t,e,r){var n=t||{},i=Zm(n,e,r),o=function(t,e,r){var n;if(!QF(t.fill)){var i=Dy.getValue(t.fill.color,e,r),o=Dy.getValue(t.fill.opacity,e,r);o||0===o||(o=1);var a=Dy.getValue(t.fill.width,e,r);QF(i)||(n=new Qy({color:l()(i).alpha(o).css(),width:a}))}return n}(n,e,r),a=function(t,e,r){var n,i=t.label;if(!QF(i)){var o={text:void 0===Dy.getValue(i.text,e)?void 0:String(Dy.getValue(i.text,e)),font:Dy.getValue(i.font,e),fill:new Jy({color:Dy.getValue(i.color||"#000",e)}),textBaseline:(Dy.getValue(i.baseline,e)||"").toLowerCase(),textAlign:Dy.getValue(i.align,e),scale:Dy.getValue(i.scale,e),rotateWithView:Dy.getValue(i.rotate,e)||!1,textOverflow:Dy.getValue(i.textoverflow,e)||"",minWidth:Dy.getValue(i.minwidth,e)||0,geometry:Dy.getValue(i.geometry,e),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,e),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,e)};n=new ym(o),QF(i.stroke)||n.setStroke(new Qy({color:Dy.getValue(i.stroke.color,e),width:Dy.getValue(i.stroke.width,e),lineCap:Dy.getValue(i.stroke.linecap,e),lineJoin:Dy.getValue(i.stroke.linejoin,e),lineDash:Dy.getValue(i.stroke.linedash,e),lineDashOffset:Dy.getValue(i.stroke.linedashoffset,e),miterLimit:Dy.getValue(i.stroke.miterlimit,e)}))}return n}(n,e),s=new om,u=new om;QF(a)||(!0===Dy.getValue(a.path,e)?(s.textPath=a,!QF(a.smooth)&&!0===a.smooth&&$F(e.getGeometry)&&s.setGeometry(e.getGeometry().cspline())):s.setText(a));return s.setStroke(i),u.setStroke(o),[s,u]},t_=function(t,e,r){var n=t||{},i=new om,o=Zm(n,e,r),a=Hm(n,e,r),s=Km(n,e,r);return n.fill&&!QF(n.fill.pattern)&&(a=function(t,e,r,n){var i="rgba(0,0,0,1)";if(!QF(t.fill.pattern.color)){var o=Dy.getValue(t.fill.pattern.opacity,e,r)||1;o||0===o||(o=1),i=l()(t.fill.pattern.color).alpha(o).css()}return new Gm({pattern:(Dy.getValue(t.fill.pattern.name,e,r)||"").toLowerCase(),color:i,size:Dy.getValue(t.fill.pattern.size,e,r),spacing:Dy.getValue(t.fill.pattern.spacing,e,r),image:"IMAGE"===Dy.getValue(t.fill.pattern.name,e,r)?new oy({src:Dy.getValue(t.fill.pattern.src,e,r)}):void 0,angle:Dy.getValue(t.fill.pattern.rotation,e,r),scale:Dy.getValue(t.fill.pattern.scale,e,r),offset:Dy.getValue(t.fill.pattern.offset,e,r),fill:n})}(n,e,r)),i.setFill(a),i.setStroke(o),i.setText(s),[i]};function e_(t){return(e_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n_(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return r_(this,o),(t=i.call(this,e)).styles_={},t}return e=o,(r=[{key:"toImage",value:function(){var t=this,e=30,r=null,n=null,i=null,o=GD(),a=[];HF(this.options_.point)||(r=function(r){return new Promise((function(n,i){var o=new Image;if(o.onload=function(){return n(o)},o.onerror=i,o.width=e,o.height=e,!0===FD(t.options_.point))o.src=r;else{var a=(0,l_.Point)(t.options_,t,t.layer_);a[0].getImage().setRadius(5);var s=a[0].getImage().getImage(1).toDataURL();o.src=s}}))},a.push(r(o))),HF(this.options_.polygon)||(n=function(r){return new Promise((function(n,i){var o=new Image;if(o.onload=function(){return n(o)},o.onerror=i,!0===FD(t.options_.polygon))o.src=r,o.width=e,o.height=e;else{var a=(0,l_.Polygon)(t.options_,t,t.layer_),s=document.createElement("canvas");s.width=e,s.height=e;var l=yy(s.getContext("2d"));l.setStyle(a[0],0,0);var u=[25,15],c=Math.floor(u[0]),h=Math.floor(u[1]),f=u[0]-c,p=u[1]-h;l.drawGeometry(new Xa([[[f+3,p+3],[c-3,p+3],[c-3,h-3],[f+3,h-3],[f+3,p+3]]])),o.src=s.toDataURL()}}))},a.push(n(o))),HF(this.options_.line)||(i=function(e){return new Promise((function(r,n){var i=new Image;if(i.onload=function(){return r(i)},i.onerror=n,!0===FD(t.options_.line))i.src=e,i.width=30,i.height=30;else{var o=(0,l_.LineString)(t.options_,t,t.layer_),a=document.createElement("canvas");a.width=30,a.height=30;var s=yy(a.getContext("2d"));s.setStyle(o[0],0,0);var l=HF(o[0].getStroke())?1.5:o[0].getStroke().getWidth();s.drawGeometry(new Eh([[0+l/2,0+l/2],[25/3,7.5-l/2],[50/3,0+l/2],[25-l/2,7.5-l/2]])),i.src=a.toDataURL()}}))},a.push(i(o)));var s=document.createElement("canvas");s.width=200,s.height=50;var l=s.getContext("2d"),u=[0,60,120],c=0;return Promise.all(a).then((function(t){return t.forEach((function(t){l.drawImage(t,u[c],0),c+=1})),s.toDataURL()}))}},{key:"updateFacadeOptions",value:function(t){var e=this;this.olStyleFn_=function(r){var n=JSON.stringify(r.getProperties()),i=[];e.styles_=[];var o=r;if(o instanceof gh||o instanceof Mh){var a=o.getGeometry().getType(),s=l_[a];$F(s)&&(i=s(t,o,e.layer_),e.styles_[n]=i)}else o=e;return i}}},{key:"drawGeometryToCanvas",value:function(t){}},{key:"updateCanvas",value:function(t){}},{key:"getCanvasSize",value:function(){return 0}},{key:"getRadius_",value:function(t){return t instanceof oy?25:t instanceof Cy?t.getRadius():this.olStyleFn_()[0].getImage().getRadius()}}])&&n_(e.prototype,r),n&&n_(e,n),o}(Dy);function c_(t){return(c_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h_(t){return function(t){if(Array.isArray(t))return f_(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return f_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f_(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f_(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&(QF(i[l])&&(i[l]={}),o.setValue(i[l],a.slice(1,s),n))}},{key:"deserialize",value:function(t){var e=decodeURIComponent(escape(window.atob(t))),r=JSON.parse(e),n=r.parameters,i=r.deserializedMethod;return new Function("serializedParams","return ".concat(i,"(serializedParams)"))(n)}}],(r=[{key:"apply",value:function(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}},{key:"unapply",value:function(t){}},{key:"get",value:function(t){var e;if(e=this.options_[t],QF(e)){var r=t.split(".");r.length>1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t[e],t instanceof o&&(r=t.get(e))),r}),this))}return e}},{key:"set",value:function(t,e){var r=this.get(t);return o.setValue(this.options_,t,e),QF(this.layer_)||this.getImpl().updateFacadeOptions(this.options_),QF(this.feature_)||this.applyToFeature(this.feature_),this.fire(_u,[t,r,e]),this.refresh(),this}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(QF(t)||(this.layer_=t),!QF(this.layer_)&&(this.apply(this.layer_),this.updateCanvas(),!QF(this.layer_.getImpl().getMap()))){var e=this.layer_.getImpl().getMap().getControls("layerswitcher")[0];QF(e)||e.render()}}},{key:"getOptions",value:function(){return this.options_}},{key:"toImage",value:function(){var t,e=this;if(QF(this.updateCanvasPromise_))if(QF(this.options_.icon)||QF(this.options_.icon.src))t=this.canvas_.toDataURL("png");else{var r=new Image;r.crossOrigin="Anonymous";var n=this.canvas_;r.onload=function(){n.getContext("2d").drawImage(e,0,0,50,50)},r.src=this.options_.icon.src,t=this.canvas_.toDataURL("png")}else t=this.updateCanvasPromise_.then((function(){return e.canvas_.toDataURL("png")}));return t}},{key:"updateCanvas",value:function(){this.updateCanvasPromise_=this.getImpl().updateCanvas(this.canvas_)}},{key:"equals",value:function(t){return this.constructor===t.constructor}},{key:"clone",value:function(){var t={};TD(t,this.options_);var e=new(0,this.getImpl().constructor)(t);return new this.constructor(t,e)}},{key:"toJSON",value:function(){return{parameters:[MD(this.getOptions())],deserializedMethod:this.getDeserializedMethod_()}}},{key:"serialize",value:function(){return window.btoa(unescape(encodeURIComponent(JSON.stringify(this))))}},{key:"canvas",get:function(){return this.canvas_}}])&&p_(e.prototype,r),n&&p_(e,n),o}(Zl);function v_(t){return(v_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function b_(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r M.style.Simple.deserialize(serializedParameters, 'M.style.Generic'))"}}])&&B_(e.prototype,r),n&&B_(e,n),o}(j_);W_.DEFAULT={point:{radius:5}},W_.PARAMS_DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},W_.DEFAULT_NULL={point:D_(D_({},W_.PARAMS_DEFAULT_NULL),{},{radius:5}),line:D_({},W_.PARAMS_DEFAULT_NULL),polygon:D_({},W_.PARAMS_DEFAULT_NULL)};var X_=W_,H_=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Z_="renderOrder",K_=function(t){function e(e){var r=this,n=e||{},i=Object(Mi.a)({},n);return delete i.style,delete i.renderBuffer,delete i.updateWhileAnimating,delete i.updateWhileInteracting,(r=t.call(this,i)||this).declutter_=void 0!==n.declutter&&n.declutter,r.renderBuffer_=void 0!==n.renderBuffer?n.renderBuffer:100,r.style_=null,r.styleFunction_=void 0,r.setStyle(n.style),r.updateWhileAnimating_=void 0!==n.updateWhileAnimating&&n.updateWhileAnimating,r.updateWhileInteracting_=void 0!==n.updateWhileInteracting&&n.updateWhileInteracting,r}return H_(e,t),e.prototype.getDeclutter=function(){return this.declutter_},e.prototype.getFeatures=function(e){return t.prototype.getFeatures.call(this,e)},e.prototype.getRenderBuffer=function(){return this.renderBuffer_},e.prototype.getRenderOrder=function(){return this.get(Z_)},e.prototype.getStyle=function(){return this.style_},e.prototype.getStyleFunction=function(){return this.styleFunction_},e.prototype.getUpdateWhileAnimating=function(){return this.updateWhileAnimating_},e.prototype.getUpdateWhileInteracting=function(){return this.updateWhileInteracting_},e.prototype.renderDeclutter=function(t){t.declutterTree||(t.declutterTree=new Tg.a(9)),this.getRenderer().renderDeclutter(t)},e.prototype.setRenderOrder=function(t){this.set(Z_,t)},e.prototype.setStyle=function(t){this.style_=void 0!==t?t:rm,this.styleFunction_=null===t?void 0:function(t){var e;if("function"==typeof t)e=t;else{var r;Array.isArray(t)?r=t:(Object(go.a)("function"==typeof t.getZIndex,41),r=[t]),e=function(){return r}}return e}(this.style_),this.changed()},e}(pi.a),J_={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},Q_=[J_.FILL],$_=[J_.STROKE],tv=[J_.BEGIN_PATH],ev=[J_.CLOSE_PATH],rv=J_,nv=r(33),iv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ov=function(t){function e(e,r,n,i){var o=t.call(this)||this;return o.tolerance=e,o.maxExtent=r,o.pixelRatio=i,o.maxLineWidth=0,o.resolution=n,o.beginGeometryInstruction1_=null,o.beginGeometryInstruction2_=null,o.bufferedMaxExtent_=null,o.instructions=[],o.coordinates=[],o.tmpCoordinate_=[],o.hitDetectionInstructions=[],o.state={},o}return iv(e,t),e.prototype.applyPixelRatio=function(t){var e=this.pixelRatio;return 1==e?t:t.map((function(t){return t*e}))},e.prototype.appendFlatPointCoordinates=function(t,e){for(var r=this.getBufferedMaxExtent(),n=this.tmpCoordinate_,i=this.coordinates,o=i.length,a=0,s=t.length;ah&&(this.instructions.push([rv.CUSTOM,h,o,t,r,Oa]),this.hitDetectionInstructions.push([rv.CUSTOM,h,o,t,n||r,Oa]));break;case"Point":i=t.getFlatCoordinates(),this.coordinates.push(i[0],i[1]),o=this.coordinates.length,this.instructions.push([rv.CUSTOM,h,o,t,r]),this.hitDetectionInstructions.push([rv.CUSTOM,h,o,t,n||r])}this.endGeometry(e)},e.prototype.beginGeometry=function(t,e){this.beginGeometryInstruction1_=[rv.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[rv.BEGIN_GEOMETRY,e,0,t],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)},e.prototype.finish=function(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}},e.prototype.reverseHitDetectionInstructions=function(){var t,e=this.hitDetectionInstructions;e.reverse();var r,n,i=e.length,o=-1;for(t=0;tthis.maxLineWidth&&(this.maxLineWidth=r.lineWidth,this.bufferedMaxExtent_=null)}else r.strokeStyle=void 0,r.lineCap=void 0,r.lineDash=null,r.lineDashOffset=void 0,r.lineJoin=void 0,r.lineWidth=void 0,r.miterLimit=void 0},e.prototype.createFill=function(t){var e=t.fillStyle,r=[rv.SET_FILL_STYLE,e];return"string"!=typeof e&&r.push(!0),r},e.prototype.applyStroke=function(t){this.instructions.push(this.createStroke(t))},e.prototype.createStroke=function(t){return[rv.SET_STROKE_STYLE,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,this.applyPixelRatio(t.lineDash),t.lineDashOffset*this.pixelRatio]},e.prototype.updateFillStyle=function(t,e){var r=t.fillStyle;"string"==typeof r&&t.currentFillStyle==r||(void 0!==r&&this.instructions.push(e.call(this,t)),t.currentFillStyle=r)},e.prototype.updateStrokeStyle=function(t,e){var r=t.strokeStyle,n=t.lineCap,i=t.lineDash,o=t.lineDashOffset,a=t.lineJoin,s=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=r||t.currentLineCap!=n||i!=t.currentLineDash&&!Object(h.b)(t.currentLineDash,i)||t.currentLineDashOffset!=o||t.currentLineJoin!=a||t.currentLineWidth!=s||t.currentMiterLimit!=l)&&(void 0!==r&&e.call(this,t),t.currentStrokeStyle=r,t.currentLineCap=n,t.currentLineDash=i,t.currentLineDashOffset=o,t.currentLineJoin=a,t.currentLineWidth=s,t.currentMiterLimit=l)},e.prototype.endGeometry=function(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;var e=[rv.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)},e.prototype.getBufferedMaxExtent=function(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Object(mt.e)(this.maxExtent),this.maxLineWidth>0)){var t=this.resolution*(this.maxLineWidth+1)/2;Object(mt.d)(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_},e}(ay),av=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),sv=function(t){function e(e,r,n,i){var o=t.call(this,e,r,n,i)||this;return o.hitDetectionImage_=null,o.image_=null,o.imagePixelRatio_=void 0,o.anchorX_=void 0,o.anchorY_=void 0,o.height_=void 0,o.opacity_=void 0,o.originX_=void 0,o.originY_=void 0,o.rotateWithView_=void 0,o.rotation_=void 0,o.scale_=void 0,o.width_=void 0,o.declutterMode_=void 0,o.declutterImageWithText_=void 0,o}return av(e,t),e.prototype.drawPoint=function(t,e){if(this.image_){this.beginGeometry(t,e);var r=t.getFlatCoordinates(),n=t.getStride(),i=this.coordinates.length,o=this.appendFlatPointCoordinates(r,n);this.instructions.push([rv.DRAW_IMAGE,i,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([rv.DRAW_IMAGE,i,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}},e.prototype.drawMultiPoint=function(t,e){if(this.image_){this.beginGeometry(t,e);var r=t.getFlatCoordinates(),n=t.getStride(),i=this.coordinates.length,o=this.appendFlatPointCoordinates(r,n);this.instructions.push([rv.DRAW_IMAGE,i,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([rv.DRAW_IMAGE,i,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}},e.prototype.finish=function(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,t.prototype.finish.call(this)},e.prototype.setImageStyle=function(t,e){var r=t.getAnchor(),n=t.getSize(),i=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=r[0],this.anchorY_=r[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=n[1],this.opacity_=t.getOpacity(),this.originX_=i[0],this.originY_=i[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=n[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e},e}(ov),lv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uv=function(t){function e(e,r,n,i){return t.call(this,e,r,n,i)||this}return lv(e,t),e.prototype.drawFlatCoordinates_=function(t,e,r,n){var i=this.coordinates.length,o=this.appendFlatLineCoordinates(t,e,r,n,!1,!1),a=[rv.MOVE_TO_LINE_TO,i,o];return this.instructions.push(a),this.hitDetectionInstructions.push(a),r},e.prototype.drawLineString=function(t,e){var r=this.state,n=r.strokeStyle,i=r.lineWidth;if(void 0!==n&&void 0!==i){this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([rv.SET_STROKE_STYLE,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,Fi,0],tv);var o=t.getFlatCoordinates(),a=t.getStride();this.drawFlatCoordinates_(o,0,o.length,a),this.hitDetectionInstructions.push($_),this.endGeometry(e)}},e.prototype.drawMultiLineString=function(t,e){var r=this.state,n=r.strokeStyle,i=r.lineWidth;if(void 0!==n&&void 0!==i){this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([rv.SET_STROKE_STYLE,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,r.lineDash,r.lineDashOffset],tv);for(var o=t.getEnds(),a=t.getFlatCoordinates(),s=t.getStride(),l=0,u=0,c=o.length;ut&&(m>y&&(y=m,d=_,g=o),m=0,_=o-i)),a=s,c=f,h=p),l=v,u=b}return(m+=s)>y?[_,o]:[d,g]}var pv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),dv={left:0,end:0,center:.5,right:1,start:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},gv={Circle:hv,Default:ov,Image:sv,LineString:uv,Polygon:hv,Text:function(t){function e(e,r,n,i){var o=t.call(this,e,r,n,i)||this;return o.labels_=null,o.text_="",o.textOffsetX_=0,o.textOffsetY_=0,o.textRotateWithView_=void 0,o.textRotation_=0,o.textFillState_=null,o.fillStates={},o.textStrokeState_=null,o.strokeStates={},o.textState_={},o.textStates={},o.textKey_="",o.fillKey_="",o.strokeKey_="",o.declutterImageWithText_=void 0,o}return pv(e,t),e.prototype.finish=function(){var e=t.prototype.finish.call(this);return e.textStates=this.textStates,e.fillStates=this.fillStates,e.strokeStates=this.strokeStates,e},e.prototype.drawText=function(t,e){var r=this.textFillState_,n=this.textStrokeState_,i=this.textState_;if(""!==this.text_&&i&&(r||n)){var o=this.coordinates,a=o.length,s=t.getType(),l=null,u=t.getStride();if(i.placement!==sm||"LineString"!=s&&"MultiLineString"!=s&&"Polygon"!=s&&"MultiPolygon"!=s){var c=i.overflow?null:[];switch(s){case"Point":case"MultiPoint":l=t.getFlatCoordinates();break;case"LineString":l=t.getFlatMidpoint();break;case"Circle":l=t.getCenter();break;case"MultiLineString":l=t.getFlatMidpoints(),u=2;break;case"Polygon":l=t.getFlatInteriorPoint(),i.overflow||c.push(l[2]/this.resolution),u=3;break;case"MultiPolygon":var h=t.getFlatInteriorPoints();l=[];for(w=0,E=h.length;wT[2]}else O=b>I;var P,R=Math.PI,L=[],M=w+n===e;if(y=0,m=E,f=t[e=w],p=t[e+1],M){_(),P=Math.atan2(p-g,f-d),O&&(P+=P>0?-R:R);var A=(I+b)/2,N=(C+x)/2;return L[0]=[A,N,(S-o)/2,P,i],L}for(var k=0,j=(i=i.replace(/\n/g," ")).length;k0?-R:R),void 0!==P){var D=F-P;if(D+=D>R?-2*R:D<-R?2*R:0,Math.abs(D)>a)return null}P=F;for(var G=k,U=0;k0&&t.push("\n",""),t.push(e,""),t}var Tv=function(){function t(t,e,r,n){this.overlaps=r,this.pixelRatio=e,this.resolution=t,this.alignFill_,this.instructions=n.instructions,this.coordinates=n.coordinates,this.coordinateCache_={},this.renderedTransform_=Object(li.d)(),this.hitDetectionInstructions=n.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=n.fillStates||{},this.strokeStates=n.strokeStates||{},this.textStates=n.textStates||{},this.widths_={},this.labels_={}}return t.prototype.createLabel=function(t,e,r,n){var i=t+e+r+n;if(this.labels_[i])return this.labels_[i];var o=n?this.strokeStates[n]:null,a=r?this.fillStates[r]:null,s=this.textStates[e],l=this.pixelRatio,u=[s.scale[0]*l,s.scale[1]*l],c=Array.isArray(t),h=s.justify?dv[s.justify]:Iv(Array.isArray(t)?t[0]:t,s.textAlign||Ui),f=n&&o.lineWidth?o.lineWidth:0,p=c?t:t.split("\n").reduce(Cv,[]),d=function(t,e){for(var r=[],n=[],i=[],o=0,a=0,s=0,l=0,u=0,c=e.length;u<=c;u+=2){var h=e[u];if("\n"!==h&&u!==c){var f=e[u+1]||t.font,p=Qi(f,h);r.push(p),a+=p;var d=Ki(f);n.push(d),l=Math.max(l,d)}else o=Math.max(o,a),i.push(a),a=0,s+=l}return{width:o,height:s,widths:r,heights:n,lineWidths:i}}(s,p),g=d.width,y=d.height,m=d.widths,_=d.heights,v=d.lineWidths,b=g+f,x=[],w=(b+2)*u[0],E=(y+f)*u[1],S={width:w<0?Math.floor(w):Math.ceil(w),height:E<0?Math.floor(E):Math.ceil(E),contextInstructions:x};(1==u[0]&&1==u[1]||x.push("scale",u),n)&&(x.push("strokeStyle",o.strokeStyle),x.push("lineWidth",f),x.push("lineCap",o.lineCap),x.push("lineJoin",o.lineJoin),x.push("miterLimit",o.miterLimit),(Li.h?OffscreenCanvasRenderingContext2D:CanvasRenderingContext2D).prototype.setLineDash&&(x.push("setLineDash",[o.lineDash]),x.push("lineDashOffset",o.lineDashOffset)));r&&x.push("fillStyle",a.fillStyle),x.push("textBaseline","middle"),x.push("textAlign","center");for(var O,I=.5-h,C=h*b+I*f,T=[],P=[],R=0,L=0,M=0,A=0,N=0,k=p.length;Nt?t-l:i,b=o+u>e?e-u:o,x=p[3]+v*h[0]+p[1],w=p[0]+b*h[1]+p[2],E=m-p[3],S=_-p[0];return(d||0!==c)&&(bv[0]=E,Ev[0]=E,bv[1]=S,xv[1]=S,xv[0]=E+x,wv[0]=xv[0],wv[1]=S+w,Ev[1]=wv[1]),0!==c?(y=Object(li.b)(Object(li.d)(),r,n,1,1,c,-r,-n),Object(li.a)(y,bv),Object(li.a)(y,xv),Object(li.a)(y,wv),Object(li.a)(y,Ev),Object(mt.l)(Math.min(bv[0],xv[0],wv[0],Ev[0]),Math.min(bv[1],xv[1],wv[1],Ev[1]),Math.max(bv[0],xv[0],wv[0],Ev[0]),Math.max(bv[1],xv[1],wv[1],Ev[1]),vv)):Object(mt.l)(Math.min(E,E+x),Math.min(S,S+w),Math.max(E,E+x),Math.max(S,S+w),vv),f&&(m=Math.round(m),_=Math.round(_)),{drawImageX:m,drawImageY:_,drawImageW:v,drawImageH:b,originX:l,originY:u,declutterBox:{minX:vv[0],minY:vv[1],maxX:vv[2],maxY:vv[3],value:g},canvasTransform:y,scale:h}},t.prototype.replayImageOrLabel_=function(t,e,r,n,i,o,a){var s=!(!o&&!a),l=n.declutterBox,u=t.canvas,c=a?a[2]*n.scale[0]/2:0;return l.minX-c<=u.width/e&&l.maxX+c>=0&&l.minY-c<=u.height/e&&l.maxY+c>=0&&(s&&this.replayTextBackground_(t,bv,xv,wv,Ev,o,a),to(t,n.canvasTransform,i,r,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0},t.prototype.fill_=function(t){if(this.alignFill_){var e=Object(li.a)(this.renderedTransform_,[0,0]),r=512*this.pixelRatio;t.save(),t.translate(e[0]%r,e[1]%r),t.rotate(this.viewRotation_)}t.fill(),this.alignFill_&&t.restore()},t.prototype.setStrokeStyle_=function(t,e){t.strokeStyle=e[1],t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.setLineDash&&(t.lineDashOffset=e[7],t.setLineDash(e[6]))},t.prototype.drawLabelWithPointPlacement_=function(t,e,r,n){var i=this.textStates[e],o=this.createLabel(t,e,n,r),a=this.strokeStates[r],s=this.pixelRatio,l=Iv(Array.isArray(t)?t[0]:t,i.textAlign||Ui),u=dv[i.textBaseline||Bi],c=a&&a.lineWidth?a.lineWidth:0;return{label:o,anchorX:l*(o.width/s-2*i.scale[0])+2*(.5-l)*c,anchorY:u*o.height/s+2*(.5-u)*c}},t.prototype.execute_=function(t,e,r,n,i,o,a,s){var l;this.pixelCoordinates_&&Object(h.b)(r,this.renderedTransform_)?l=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),l=na(this.coordinates,0,this.coordinates.length,2,r,this.pixelCoordinates_),Object(li.k)(this.renderedTransform_,r));for(var u,c,f,p,d,g,y,m,_,v,b,x,w,E,S,O,I=0,C=n.length,T=0,P=0,R=0,L=null,M=null,A=this.coordinateCache_,N=this.viewRotation_,k=Math.round(1e12*Math.atan2(-r[1],r[0]))/1e12,j={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:N},F=this.instructions!=n||this.overlaps?0:200;IF&&(this.fill_(t),P=0),R>F&&(t.stroke(),R=0),P||R||(t.beginPath(),p=NaN,d=NaN),++I;break;case rv.CIRCLE:var G=l[T=D[1]],U=l[T+1],B=l[T+2]-G,z=l[T+3]-U,V=Math.sqrt(B*B+z*z);t.moveTo(G+V,U),t.arc(G,U,V,0,2*Math.PI,!0),++I;break;case rv.CLOSE_PATH:t.closePath(),++I;break;case rv.CUSTOM:T=D[1],u=D[2];var q=D[3],Y=D[4],W=6==D.length?D[5]:void 0;j.geometry=q,j.feature=w,I in A||(A[I]=[]);var X=A[I];W?W(l,T,u,2,X):(X[0]=l[T],X[1]=l[T+1],X.length=2),Y(X,j),++I;break;case rv.DRAW_IMAGE:T=D[1],u=D[2],m=D[3],c=D[4],f=D[5];var H=D[6],Z=D[7],K=D[8],J=D[9],Q=D[10],$=D[11],tt=D[12],et=D[13],rt=D[14],nt=D[15];if(!m&&D.length>=20){_=D[19],v=D[20],b=D[21],x=D[22];var it=this.drawLabelWithPointPlacement_(_,v,b,x);m=it.label,D[3]=m;var ot=D[23];c=(it.anchorX-ot)*this.pixelRatio,D[4]=c;var at=D[24];f=(it.anchorY-at)*this.pixelRatio,D[5]=f,H=m.height,D[6]=H,et=m.width,D[13]=et}var st=void 0;D.length>25&&(st=D[25]);var lt=void 0,ut=void 0,ct=void 0;D.length>17?(lt=D[16],ut=D[17],ct=D[18]):(lt=zi,ut=!1,ct=!1),Q&&k?$+=N:Q||k||($-=N);for(var ht=0;Tr)break;var s=n[a];s||(s=[],n[a]=s),s.push(4*((t+i)*e+(t+o))+3),i>0&&s.push(4*((t-i)*e+(t+o))+3),o>0&&(s.push(4*((t+i)*e+(t-o))+3),i>0&&s.push(4*((t-i)*e+(t-o))+3))}for(var l=[],u=(i=0,n.length);i0){if(!o||"Image"!==f&&"Text"!==f||-1!==o.indexOf(t)){var u=(p[s]-3)/4,h=n-u%a,d=n-(u/a|0),g=i(t,e,h*h+d*d);if(g)return g}c.clearRect(0,0,a,a);break}}var g,y,m,_,v,b=Object.keys(this.executorsByZIndex_).map(Number);for(b.sort(h.i),g=b.length-1;g>=0;--g){var x=b[g].toString();for(m=this.executorsByZIndex_[x],y=Pv.length-1;y>=0;--y)if(void 0!==(_=m[f=Pv[y]])&&(v=_.executeHitDetection(c,s,r,d,u)))return v}},t.prototype.getClipCoords=function(t){var e=this.maxExtent_;if(!e)return null;var r=e[0],n=e[1],i=e[2],o=e[3],a=[r,n,r,o,i,o,i,n];return na(a,0,8,2,t,a),a},t.prototype.isEmpty=function(){return Object(Mi.d)(this.executorsByZIndex_)},t.prototype.execute=function(t,e,r,n,i,o,a){var s=Object.keys(this.executorsByZIndex_).map(Number);s.sort(h.i),this.maxExtent_&&(t.save(),this.clip(t,r));var l,u,c,f,p,d,g=o||Pv;for(a&&s.reverse(),l=0,u=s.length;lp[2];)m=g*++y,u.push(this.getRenderTransform(n,i,o,Av,c,h,m).slice()),d-=g}this.hitDetectionImageData_=Nv(r,u,this.renderedFeatures_,l.getStyleFunction(),s,i,o)}e(kv(t,this.renderedFeatures_,this.hitDetectionImageData_))}.bind(this))},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i){var o=this;if(this.replayGroup_){var a,s=e.viewState.resolution,l=e.viewState.rotation,u=this.getLayer(),c={},h=function(t,e,r){var o=Object(si.c)(t),a=c[o];if(a){if(!0!==a&&rx[0]&&S[2]>x[2]&&b.push([S[0]-w,S[1],S[2]-w,S[3]])}if(this.ready&&this.renderedResolution_==f&&this.renderedRevision_==d&&this.renderedRenderOrder_==y&&Object(mt.h)(this.wrappedRenderedExtent_,_))return Object(h.b)(this.renderedExtent_,v)||(this.hitDetectionImageData_=null,this.renderedExtent_=v),this.renderedCenter_=m,this.replayGroupChanged=!1,!0;this.replayGroup_=null;var O,I=new yv(py(f,p),_,f,p);this.getLayer().getDeclutter()&&(O=new yv(py(f,p),_,f,p));var C,T=Object(u.s)();if(T){for(var P=0,R=b.length;P0&&void 0!==arguments[0]?arguments[0]:{};return Bv(this,o),(t=i.call(this,e)).styleCluster_=e.style,t.oldCluster_=new qg,t.clusters_=[],t.animation_={start:!1},t.set("animationDuration","number"==typeof e.animationDuration?e.animationDuration:700),t.set("animationMethod",e.animationMethod||Qo.easeOut),t.getSource().on("change",t.saveCluster_.bind(Xv(t))),t.on("prerender",t.animate.bind(Xv(t))),t.on("postrender",t.postanimate.bind(Xv(t))),t.setStyle(e.style),t}return e=o,n=[{key:"getClusterForFeature",value:function(t,e){return e.find((function(e){var r,n=e.get("features");return QF(n)||(r=n.find((function(e){return e===t}))),r}))}}],(r=[{key:"saveCluster_",value:function(){if(this.oldCluster_.clear(),this.get("animationDuration")){var t=this.getSource().getFeatures();t.length&&t[0].get("features")&&(this.oldCluster_.addFeatures(this.clusters_),this.clusters_=t.slice(0),this.sourceChanged=!0)}}},{key:"animate",value:function(t){var e=this,r=t,n=this.get("animationDuration");if(n){if(this.animation_.resolution!==r.frameState.viewState.resolution&&this.sourceChanged){var i=r.frameState.viewState.resolution,o=r.frameState.extent;this.animation_.reverse=this.animation_.resolution>=i,this.prepareAnimation_(o,r.frameState.viewState.resolution),r.frameState.time=this.animation_.start}var a=this.animation_.clustersFrom.length;if(a>0&&a<=1e3&&this.animation_.start){var s=my(r),l=(r.frameState.time-this.animation_.start)/n;l>1&&(this.animation_.start=!1,l=1),l=this.get("animationMethod")(l),r.context.save(),r.context.globalAlpha=this.getOpacity(),this.animation_.clustersFrom.forEach((function(t,n){var i=t.getGeometry().getCoordinates(),o=e.animation_.clustersTo[n].getGeometry().getCoordinates();e.animation_.reverse?(i[0]=o[0]+l*(i[0]-o[0]),i[1]=o[1]+l*(i[1]-o[1])):(i[0]+=l*(o[0]-i[0]),i[1]+=l*(o[1]-i[1]));var a=e.getStyle()(t,r.frameState.viewState.resolution),u=new Aa(i);QF(a)||a.forEach((function(t){var e=t.getImage();QF(e)||(null==e.getOrigin()&&(e.origin_=[]),null==e.getAnchor()&&(e.normalizedAnchor_=[]),null==e.getSize()&&(e.size_=[])),s.setStyle(t),s.drawGeometry(u)}))})),r.context.restore(),r.frameState.animate=!0,r.context.save(),r.context.beginPath(),r.context.rect(0,0,0,0),r.context.clip(),this.clip_=!0}else this.animation_.clustersFrom.length=0,this.animation_.clustersTo.length=0,this.animation_.start=!1}}},{key:"prepareAnimation_",value:function(t,e){var r=this;this.animation_.clustersFrom=[],this.animation_.clustersTo=[];var n=Object(mt.d)(t,100*e),i=this.oldCluster_.getFeaturesInExtent(n),a=this.getSource().getFeaturesInExtent(n),s=this.animation_.reverse?a:i,l=this.animation_.reverse?i:a;s.forEach((function(t){var e=t.get("features");if(!QF(e)){var n=o.getClusterForFeature(e[0],l);QF(n)||!1===n||(r.animation_.clustersFrom.push(t),r.animation_.clustersTo.push(n))}})),this.animation_.resolution=e,this.sourceChanged=!1,this.animation_.start=(new Date).getTime()}},{key:"postanimate",value:function(t){this.clip_&&(t.context.restore(),this.clip_=!1)}},{key:"setStyle",value:function(t){Vv(Hv(o.prototype),"setStyle",this).call(this,this.styleCluster_)}}])&&zv(e.prototype,r),n&&zv(e,n),o}(Gv),Kv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Jv="select",Qv=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.selected=r,o.deselected=n,o.mapBrowserEvent=i,o}return Kv(e,t),e}(so.a),$v={};var tb=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n,i,o=e||{};if(r.boundAddFeature_=r.addFeature_.bind(r),r.boundRemoveFeature_=r.removeFeature_.bind(r),r.condition_=o.condition?o.condition:Ns,r.addCondition_=o.addCondition?o.addCondition:As,r.removeCondition_=o.removeCondition?o.removeCondition:As,r.toggleCondition_=o.toggleCondition?o.toggleCondition:js,r.multi_=!!o.multi&&o.multi,r.filter_=o.filter?o.filter:ai.b,r.hitTolerance_=o.hitTolerance?o.hitTolerance:0,r.style_=void 0!==o.style?o.style:(n=nm(),Object(h.c)(n.Polygon,n.LineString),Object(h.c)(n.GeometryCollection,n.LineString),function(t){return t.getGeometry()?n[t.getGeometry().getType()]:null}),r.features_=o.features||new ho,o.layers)if("function"==typeof o.layers)i=o.layers;else{var a=o.layers;i=function(t){return Object(h.f)(a,t)}}else i=ai.b;return r.layerFilter_=i,r.featureLayerAssociation_={},r}return Kv(e,t),e.prototype.addFeatureLayerAssociation_=function(t,e){this.featureLayerAssociation_[Object(si.c)(t)]=e},e.prototype.getFeatures=function(){return this.features_},e.prototype.getHitTolerance=function(){return this.hitTolerance_},e.prototype.getLayer=function(t){return this.featureLayerAssociation_[Object(si.c)(t)]},e.prototype.setHitTolerance=function(t){this.hitTolerance_=t},e.prototype.setMap=function(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),t.prototype.setMap.call(this,e),e?(this.features_.addEventListener(oo,this.boundAddFeature_),this.features_.addEventListener(ao,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(oo,this.boundAddFeature_),this.features_.removeEventListener(ao,this.boundRemoveFeature_))},e.prototype.addFeature_=function(t){var e=t.element;if(this.style_&&this.applySelectedStyle_(e),!this.getLayer(e)){var r=this.getMap().getAllLayers().find((function(t){if(t instanceof Gv&&t.getSource()&&t.getSource().hasFeature(e))return t}));r&&this.addFeatureLayerAssociation_(e,r)}},e.prototype.removeFeature_=function(t){var e=t.element;this.style_&&this.restorePreviousStyle_(e)},e.prototype.getStyle=function(){return this.style_},e.prototype.applySelectedStyle_=function(t){var e=Object(si.c)(t);e in $v||($v[e]=t.getStyle()),t.setStyle(this.style_)},e.prototype.restorePreviousStyle_=function(t){for(var r=this.getMap().getInteractions().getArray(),n=r.length-1;n>=0;--n){var i=r[n];if(i!==this&&i instanceof e&&i.getStyle()&&-1!==i.getFeatures().getArray().lastIndexOf(t))return void t.setStyle(i.getStyle())}var o=Object(si.c)(t);t.setStyle($v[o]),delete $v[o]},e.prototype.removeFeatureLayerAssociation_=function(t){delete this.featureLayerAssociation_[Object(si.c)(t)]},e.prototype.handleEvent=function(t){if(!this.condition_(t))return!0;var e=this.addCondition_(t),r=this.removeCondition_(t),n=this.toggleCondition_(t),i=!e&&!r&&!n,o=t.map,a=this.getFeatures(),s=[],l=[];if(i){Object(Mi.b)(this.featureLayerAssociation_),o.forEachFeatureAtPixel(t.pixel,function(t,e){if(this.filter_(t,e))return this.addFeatureLayerAssociation_(t,e),l.push(t),!this.multi_}.bind(this),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(var u=a.getLength()-1;u>=0;--u){var c=a.item(u),f=l.indexOf(c);f>-1?l.splice(f,1):(a.remove(c),s.push(c))}0!==l.length&&a.extend(l)}else{o.forEachFeatureAtPixel(t.pixel,function(t,i){if(this.filter_(t,i))return!e&&!n||Object(h.f)(a.getArray(),t)?(r||n)&&Object(h.f)(a.getArray(),t)&&(s.push(t),this.removeFeatureLayerAssociation_(t)):(this.addFeatureLayerAssociation_(t,i),l.push(t)),!this.multi_}.bind(this),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(var p=s.length-1;p>=0;--p)a.remove(s[p]);a.extend(l)}return(l.length>0||s.length>0)&&this.dispatchEvent(new Qv(Jv,l,s,t)),!0},e}(bs);function eb(t){return(eb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nb(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};rb(this,o);var r=e,n=new Gv({source:new qg({features:new ho,useSpatialIndex:!0}),name:"Cluster overlay",updateWhileAnimating:!0,updateWhileInteracting:!0,displayInLayerSwitcher:!1,style:r.featureStyle});return e.layers.push(n),r.filter=function(t,e){return!(!e&&t.get("selectclusterlink"))},(t=i.call(this,r)).map=r.map,t.pointRadius=r.pointRadius||12,t.circleMaxObjects=r.circleMaxObjects||10,t.maxObjects=r.maxObjects||60,t.spiral=!1!==r.spiral,t.animate=r.animate,t.animationDuration=r.animationDuration||500,t.selectCluster_=!1!==r.selectCluster,t.maxFeaturesToSelect=r.maxFeaturesToSelect,t.facadeLayer_=r.fLayer,t.style_=r.style,t.filter_=r.filter,t.overlayLayer_=n,t.originalHandleEvent=t.handleEvent,t.on("select",t.selectCluster.bind(sb(t)),sb(t)),t}return e=o,(r=[{key:"setMap",value:function(t){var e=this;this.getMap()&&(this.getMap().getView()&&this.getMap().getView().un("change:resolution",this.clear.bind(this)),this.getMap().removeLayer(this.overlayLayer_)),tb.prototype.setMap.call(this,t),this.overlayLayer_.setMap(t),t&&t.getView()&&t.getView().on("change:resolution",this.clear.bind(this)),this.handleEvent=function(t){return e.originalHandleEvent.apply(e,[t]),!0}}},{key:"clear",value:function(){this.getFeatures().clear(),this.overlayLayer_.getSource().clear()}},{key:"getLayer",value:function(){return this.overlayLayer_}},{key:"refreshViewEvents",value:function(){this.getMap()&&this.getMap().getView()&&this.getMap().getView().on("change:resolution",this.clear.bind(this))}},{key:"selectCluster",value:function(t){if(t.selected.length){var e=t.selected[0];if(!e.get("selectclusterfeature")){var r=e.get("features");if(r&&1!==r.length)if(r&&!(r.length>this.maxFeaturesToSelect)||this.facadeLayer_.getImpl().getNumZoomLevels()-this.map.getZoom()==1){this.selectCluster_||this.getFeatures().clear();var n=e.getGeometry().getCoordinates(),i=this.getMap().getView().getResolution(),o=i*this.pointRadius*(.5+r.length/4);!this.spiral||r.length<=this.circleMaxObjects?(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInCircle_(r,i,o,n)):(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInSpiral_(r,i,n)),this.animate&&this.animateCluster_(n)}else{var a=Wh.getFeaturesExtent(r,this.map.getProjection().code);this.map.setBbox(a)}}}else this.clear()}},{key:"drawFeaturesAndLinsInCircle_",value:function(t,e,r,n){for(var i=Math.min(t.length,this.circleMaxObjects),o=0;o1)return Object(Ig.b)(r.listenerKey_),r.overlayLayer_.setVisible(!0),void r.overlayLayer_.changed();e.frameState.animate=!0}}),this)}}}])&&nb(e.prototype,r),n&&nb(e,n),o}(tb);function cb(t){return(cb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function hb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fb(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return hb(this,o),i.call(this,t)}return e=o,(r=[{key:"clone",value:function(){var t=this.getGeometry();return t&&t.clone&&(t=t.clone()),new o({geometry:t,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}}])&&fb(e.prototype,r),n&&fb(e,n),o}(om),_b=function(t,e,r){return(t[0]-r[0])*(e[1]-r[1])-(t[1]-r[1])*(e[0]-r[0])<=0},vb=function(t){t.sort((function(t,e){return t[0]===e[0]?t[1]-e[1]:t[0]-e[0]}));for(var e=[],r=0;r=2&&_b(e[e.length-2],e[e.length-1],t[r]);)e.pop();e.push(t[r])}for(var n=[],i=t.length-1;i>=0;i-=1){for(;n.length>=2&&_b(n[n.length-2],n[n.length-1],t[i]);)n.pop();n.push(t[i])}return n.pop(),e.pop(),e.concat(n)};function bb(t){return(bb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function xb(t){return function(t){if(Array.isArray(t))return wb(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return wb(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wb(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wb(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?this.clusterize_(r):this.layer_.on(yu,this.clusterize_.bind(this),this)}},{key:"clusterize_",value:function(t){var e=t.map((function(t){return t.getImpl().getOLFeature()}));this.clusterLayer_=new Zv({name:"Cluster",source:new Wg({distance:this.options_.distance,geometryFunction:function(t){return new Aa(Object(mt.x)(t.getGeometry().getExtent()))},source:new qg({features:e})}),animationDuration:this.optionsVendor_.animationDuration,style:this.clusterStyleFn_.bind(this),animationMethod:Qo[this.optionsVendor_.animationMethod]}),!1===this.options_.animated&&this.clusterLayer_.set("animationDuration",void 0),this.clusterLayer_.setZIndex(99999);var r=this.layer_.getImpl().getOLLayer();r instanceof Zv||(this.oldOLLayer_=r),this.clusterLayer_.setMaxResolution(this.oldOLLayer_.getMaxResolution()),this.clusterLayer_.setMinResolution(this.oldOLLayer_.getMinResolution()),this.layer_.getImpl().setOLLayer(this.clusterLayer_),QF(this.options_.ranges)&&(this.options_.ranges=this.getDefaultRanges_()),!1!==this.options_.hoverInteraction&&this.addCoverInteraction_(),!1!==this.options_.selectInteraction&&this.addSelectInteraction_()}},{key:"setRanges",value:function(t){QF(t)?this.options_.ranges=this.getDefaultRanges_():this.options_.ranges=t}},{key:"updateLastRange_",value:function(){var t=TD({},this.options_);if(!QF(this.options_)&&!QF(this.options_.ranges)){var e=t.ranges;if(e.length>0){var r=(e=e.sort((function(t,e){return t.min-e.min}))).pop();if(QF(r.max)){var n=this.layer_.getFeatures().length;r.max=n}t.ranges.push(r)}}return t}},{key:"setAnimated",value:function(t,e,r){return r.getOptions().animated=t,!1===t?this.clusterLayer_.set("animationDuration",void 0):this.clusterLayer_.set("animationDuration",this.optionsVendor_.animationDuration),this}},{key:"addSelectInteraction",value:function(){this.addSelectInteraction_()}},{key:"addSelectInteraction_",value:function(){var t=this,e=this.layer_.getImpl().getMap();this.selectClusterInteraction_=new ub({fLayer:this.layer_,map:e,maxFeaturesToSelect:this.options_.maxFeaturesToSelect,pointRadius:this.optionsVendor_.distanceSelectFeatures,animate:!0,layers:[this.clusterLayer_]}),this.selectClusterInteraction_.on("select",this.selectClusterFeature_.bind(this),this),e.getMapImpl().addInteraction(this.selectClusterInteraction_),e.getMapImpl().on("change:view",(function(e){return t.selectClusterInteraction_.refreshViewEvents(e)}))}},{key:"removeSelectInteraction",value:function(){this.removeSelectInteraction_()}},{key:"removeSelectInteraction_",value:function(){this.layer_.getImpl().getMap().getMapImpl().removeInteraction(this.selectClusterInteraction_)}},{key:"hoverFeatureFn_",value:function(t,e){if(!QF(t)){var r=[];t.forEach((function(t){t instanceof nG?r=r.concat(t.getAttribute("features")):r.push(t)}));var n=r.map((function(t){return t.getImpl().getOLFeature().getGeometry().getCoordinates()})),i=vb(n);if(i.length>2){var o=new gh(new Xa([i])),a=qD.olFeature2Facade(o);QF(this.convexHullLayer_)?(this.convexHullLayer_=new nw({name:"cluster_cover_".concat(this.layer_.name),extract:!1},{displayInLayerSwitcher:!1,style:new X_(this.optionsVendor_.convexHullStyle)}),this.convexHullLayer_.addFeatures(a),this.layer_.getImpl().getMap().addLayers(this.convexHullLayer_),this.layer_.getImpl().getMap().getMapImpl().getView().on("change:resolution",this.clearConvexHull.bind(this),this),this.convexHullLayer_.setStyle(new X_(this.optionsVendor_.convexHullStyle)),this.convexHullLayer_.setZIndex(99990)):(this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures()),this.convexHullLayer_.addFeatures(a))}}}},{key:"leaveFeatureFn_",value:function(t,e){QF(this.convexHullLayer_)||this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures())}},{key:"addCoverInteraction_",value:function(){this.hoverKey_=this.layer_.on(du,this.hoverFeatureFn_.bind(this)),this.leaveKey_=this.layer_.on(gu,this.leaveFeatureFn_.bind(this))}},{key:"removeCoverInteraction_",value:function(){this.layer_.unByKey(du,this.hoverKey_),this.layer_.unByKey(gu,this.leaveKey_)}},{key:"clusterStyleFn_",value:function(t,e,r){var n,i=t.get("features");if(!i)return new mb;var o=i.length,a=this.options_.ranges.find((function(t){return t.min<=o&&t.max>=o}));if(QF(a)){if(1===o){var s=i[0].getStyle();s||(s=this.oldOLLayer_.getStyle()),(n=s(i[0],e))[0].setGeometry(i[0].getGeometry())}}else{var l=a.style.clone();if(l instanceof X_||(l=new X_({point:l.getOptions()})),r)l.set("point.fill.opacity",.33);else if(this.options_.displayAmount){l.set("point.label",this.options_.label);var u=l.get("point.label.color");if(QF(u)){var c=l.get("point.fill.color");u=QF(c)?"#000":CD(c),l.set("point.label.color",u)}}n=l.getImpl().olStyleFn(t,e)}return n}},{key:"getDefaultRanges_",value:function(){var t=this.layer_.getFeatures().length,e=Math.floor(t/3),r=[{min:2,max:e=Math.max(e,3),style:new X_({point:Xb.RANGE_1_DEFAULT})},{min:e,max:2*e,style:new X_({point:Xb.RANGE_2_DEFAULT})},{min:2*e,max:t+1,style:new X_({point:Xb.RANGE_3_DEFAULT})}];return this.options_.ranges=r,r}},{key:"selectClusterFeature_",value:function(t){this.clearConvexHull()}},{key:"unapply",value:function(){QF(this.clusterLayer_)?QF(this.layer_)||this.layer_.un(yu,this.clusterize_.bind(this),this):(this.layer_.getImpl().setOLLayer(this.oldOLLayer_),this.oldOLLayer_.setMaxResolution(this.clusterLayer_.getMaxResolution()),this.oldOLLayer_.setMinResolution(this.clusterLayer_.getMinResolution()),this.removeCoverInteraction_(),this.removeSelectInteraction_(),this.clearConvexHull(),this.deactivateChangeResolutionEvent(),this.layer_.redraw(),this.deactivateChangeEvent())}},{key:"clearConvexHull",value:function(){null!==this.convexHullLayer_&&(this.layer_.getImpl().getMap().removeLayers(this.convexHullLayer_),this.convexHullLayer_=null)}},{key:"updateCanvas",value:function(){}},{key:"activateChangeEvent",value:function(){if(null!==this.clusterLayer_){var t=this.clusterLayer_.getSource(),e=Wg.prototype.refresh;t.getSource().on("change",e)}}},{key:"deactivateChangeEvent",value:function(){if(null!==this.clusterLayer_){var t=this.clusterLayer_.getSource(),e=Wg.prototype.refresh;Object(Ig.b)({bindTo:void 0,callOnce:!1,listener:e,target:t.getSource(),type:"change"})}}},{key:"deactivateChangeResolutionEvent",value:function(){if(!QF(this.layer_)&&!QF(this.layer_.getImpl())){var t=this.layer_.getImpl().getMap();if(!QF(t)&&!QF(t.getMapImpl())){var e=t.getMapImpl().getView();Object(Ig.b)({type:"change:resolution",bindTo:void 0,listener:this.clearConvexHull,target:e,callOnce:!1})}}}},{key:"deactivateTemporarilyChangeEvent",value:function(t,e){this.deactivateChangeEvent(),$F(t)&&(null==e?t():t.apply(void 0,xb(e)))}},{key:"selectClusterInteraction",get:function(){return this.selectClusterInteraction_}},{key:"oldOLLayer",get:function(){return this.oldOLLayer_}}])&&Eb(e.prototype,r),n&&Eb(e,n),o}(Ry);function Pb(t){return(Pb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rb(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Gb(this,o);var n=new Tb(e,r);return t=i.call(this,e,n),TD(e,o.DEFAULT),TD(r,o.DEFAULT_VENDOR),t.optsVendor_=r,t.oldStyle_=null,t}return e=o,n=[{key:"deserialize",value:function(t){var e=Fb(t,3),r=e[0],n=e[1],i=e[2],o=r;o.ranges.forEach((function(t){t.style=__.deserialize(t.style)})),o=AD(r);var a=AD(n),s=new Function(["options","optsVendor"],"return new M.style.Cluster(options, optsVendor)")(o,a),l=i.map((function(t){return __.deserialize(t)}));return s.add(l),s}}],(r=[{key:"apply",value:function(t){Bb(Yb(o.prototype),"apply",this).call(this,t);var e=t.getStyle();this.oldStyle_=e instanceof o?e.getOldStyle():e}},{key:"unapplySoft",value:function(t){this.getImpl().unapply()}},{key:"add",value:function(t){return QF(this.layer_)||this.unapplySoft(this.layer_),Bb(Yb(o.prototype),"add",this).call(this,t)}},{key:"applyInternal",value:function(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}},{key:"getOldStyle",value:function(){return this.oldStyle_}},{key:"getRanges",value:function(){return this.options_.ranges}},{key:"getOptions",value:function(){return this.options_}},{key:"setRanges",value:function(t){return this.getImpl().ranges=t,this.unapply(this.layer_),this.layer_.style=this,this}},{key:"getRange",value:function(t,e){return this.options_.ranges.find((function(r){return r.min===t&&r.max===e}))}},{key:"updateRange",value:function(t,e,r){return Tb.updateRangeImpl(t,e,r,this.layer_,this),this.unapply(this.layer_),this.layer_.style=this,this}},{key:"setAnimated",value:function(t){return this.getImpl().setAnimated(t,this.layer_,this)}},{key:"isAnimated",value:function(){return this.options_.animated}},{key:"toImage",value:function(){return this.oldStyle_ instanceof __?this.oldStyle_.toImage():Bb(Yb(o.prototype),"toImage",this).call(this)}},{key:"refresh",value:function(){if(!QF(this.layer_)){var t=this.layer_;this.unapply(this.layer_),this.apply(t),this.updateCanvas()}}},{key:"addSelectInteraction",value:function(){this.getImpl().addSelectInteraction()}},{key:"removeSelectInteraction",value:function(){this.getImpl().removeSelectInteraction()}},{key:"toJSON",value:function(){var t=TD({},this.getOptions());t.ranges=this.getRanges().map((function(t){var e=TD({},t);return e.style=t.style.serialize(),e})),t=MD(t);var e=TD({},this.optsVendor_);return{parameters:[t,e=MD(e),this.getStyles().map((function(t){return t.serialize()}))],deserializedMethod:"M.style.Cluster.deserialize"}}},{key:"ORDER",get:function(){return 4}}])&&Ub(e.prototype,r),n&&Ub(e,n),o}(kb);Wb.DEFAULT={ranges:[],hoverInteraction:!0,displayAmount:!0,selectInteraction:!0,distance:60,animated:!0,maxFeaturesToSelect:15,label:{text:function(t){var e,r=t.getAttribute("features");return r.length&&(e=r.length.toString()),e},color:"#fff",font:"bold 15px Arial",baseline:"middle",align:"center"}},Wb.DEFAULT_VENDOR={animationDuration:250,animationMethod:"linear",distanceSelectFeatures:15,convexHullStyle:{fill:{color:"#fff",opacity:.25},stroke:{color:"#7b98bc"}}},Wb.RANGE_1_DEFAULT={fill:{color:"#81c89a"},stroke:{color:"#6eb988",width:3},radius:15},Wb.RANGE_2_DEFAULT={fill:{color:"#85b9d2"},stroke:{color:"#6da4be",width:3},radius:20},Wb.RANGE_3_DEFAULT={fill:{color:"#938fcf"},stroke:{color:"#827ec5",width:3},radius:25};var Xb=Wb;function Hb(t){return(Hb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Zb=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Kb="element",Jb="map",Qb="offset",$b="position",tx="positioning",ex=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un,r.options=e,r.id=e.id,r.insertFirst=void 0===e.insertFirst||e.insertFirst,r.stopEvent=void 0===e.stopEvent||e.stopEvent,r.element=document.createElement("div"),r.element.className=void 0!==e.className?e.className:"ol-overlay-container ol-selectable",r.element.style.position="absolute",r.element.style.pointerEvents="auto";var n=e.autoPan;return n&&"object"!==Hb(n)&&(n={animation:e.autoPanAnimation,margin:e.autoPanMargin}),r.autoPan=n||!1,r.rendered={transform_:"",visible:!0},r.mapPostrenderListenerKey=null,r.addChangeListener(Kb,r.handleElementChanged),r.addChangeListener(Jb,r.handleMapChanged),r.addChangeListener(Qb,r.handleOffsetChanged),r.addChangeListener($b,r.handlePositionChanged),r.addChangeListener(tx,r.handlePositioningChanged),void 0!==e.element&&r.setElement(e.element),r.setOffset(void 0!==e.offset?e.offset:[0,0]),r.setPositioning(e.positioning||"top-left"),void 0!==e.position&&r.setPosition(e.position),r}return Zb(e,t),e.prototype.getElement=function(){return this.get(Kb)},e.prototype.getId=function(){return this.id},e.prototype.getMap=function(){return this.get(Jb)||null},e.prototype.getOffset=function(){return this.get(Qb)},e.prototype.getPosition=function(){return this.get($b)},e.prototype.getPositioning=function(){return this.get(tx)},e.prototype.handleElementChanged=function(){Object(Ai.e)(this.element);var t=this.getElement();t&&this.element.appendChild(t)},e.prototype.handleMapChanged=function(){this.mapPostrenderListenerKey&&(Object(Ai.f)(this.element),Object(eo.c)(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);var t=this.getMap();if(t){this.mapPostrenderListenerKey=Object(eo.a)(t,Lo,this.render,this),this.updatePixelPosition();var e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}},e.prototype.render=function(){this.updatePixelPosition()},e.prototype.handleOffsetChanged=function(){this.updatePixelPosition()},e.prototype.handlePositionChanged=function(){this.updatePixelPosition(),this.performAutoPan()},e.prototype.handlePositioningChanged=function(){this.updatePixelPosition()},e.prototype.setElement=function(t){this.set(Kb,t)},e.prototype.setMap=function(t){this.set(Jb,t)},e.prototype.setOffset=function(t){this.set(Qb,t)},e.prototype.setPosition=function(t){this.set($b,t)},e.prototype.performAutoPan=function(){this.autoPan&&this.panIntoView(this.autoPan)},e.prototype.panIntoView=function(t){var e=this.getMap();if(e&&e.getTargetElement()&&this.get($b)){var r=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),i=this.getRect(n,[Object(Ai.c)(n),Object(Ai.b)(n)]),o=t||{},a=void 0===o.margin?20:o.margin;if(!Object(mt.h)(r,i)){var s=i[0]-r[0],l=r[2]-i[2],u=i[1]-r[1],c=r[3]-i[3],h=[0,0];if(s<0?h[0]=s-a:l<0&&(h[0]=Math.abs(l)+a),u<0?h[1]=u-a:c<0&&(h[1]=Math.abs(c)+a),0!==h[0]||0!==h[1]){var f=e.getView().getCenterInternal(),p=e.getPixelFromCoordinateInternal(f);if(!p)return;var d=[p[0]+h[0],p[1]+h[1]],g=o.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(d),duration:g.duration,easing:g.easing})}}}},e.prototype.getRect=function(t,e){var r=t.getBoundingClientRect(),n=r.left+window.pageXOffset,i=r.top+window.pageYOffset;return[n,i,n+e[0],i+e[1]]},e.prototype.setPositioning=function(t){this.set(tx,t)},e.prototype.setVisible=function(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)},e.prototype.updatePixelPosition=function(){var t=this.getMap(),e=this.getPosition();if(t&&t.isRendered()&&e){var r=t.getPixelFromCoordinate(e),n=t.getSize();this.updateRenderedPosition(r,n)}else this.setVisible(!1)},e.prototype.updateRenderedPosition=function(t,e){var r=this.element.style,n=this.getOffset(),i=this.getPositioning();this.setVisible(!0);var o=Math.round(t[0]+n[0])+"px",a=Math.round(t[1]+n[1])+"px",s="0%",l="0%";"bottom-right"==i||"center-right"==i||"top-right"==i?s="-100%":"bottom-center"!=i&&"center-center"!=i&&"top-center"!=i||(s="-50%"),"bottom-left"==i||"bottom-center"==i||"bottom-right"==i?l="-100%":"center-left"!=i&&"center-center"!=i&&"center-right"!=i||(l="-50%");var u="translate(".concat(s,", ").concat(l,") translate(").concat(o,", ").concat(a,")");this.rendered.transform_!=u&&(this.rendered.transform_=u,r.transform=u,r.msTransform=u)},e.prototype.getOptions=function(){return this.options},e}(Pi.a);function rx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return ax(this,o),(t=i.call(this,{})).panMapIfOutOfView=e.panMapIfOutOfView,void 0===t.panMapIfOutOfView&&(t.panMapIfOutOfView=!0),t.ani_opts=e.ani_opts,void 0===t.ani_opts&&(t.ani_opts={duration:250}),t.facadeMap_=null,t.cachedAniPixel_=null,t}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.container=e,this.content=this.getContentFromContainer(e),xD(this.content),this.setElement(this.container),t.getMapImpl().addOverlay(this)}},{key:"show",value:function(t,e){return this.setPosition(t),this.panMapIfOutOfView&&this.panIntoView_(t),this.content.scrollTop=0,$F(e)&&e(),this}},{key:"centerByStatus",value:function(t,e){var r=this.getMap().getView().getResolution(),n=[].concat(e);if(t===Ix.status.COLLAPSED)n[1]-=.1*ix.HEIGHT*r;else{if(t!==Ix.status.DEFAULT)return;n[1]-=.275*ix.HEIGHT*r}var i=this.facadeMap_.getFeatureCenter();this.facadeMap_.setCenter({x:n[0],y:n[1]}),QF(i)||this.facadeMap_.drawFeatures([i])}},{key:"getContentFromContainer",value:function(t){return t.querySelector("div.m-body")}},{key:"panIntoView_",value:function(t){var e=this;return this.panIntoSynchronizedAnim_().then((function(){if(e.isAnimating_=!0,ix.WIDTH>768){var r=e.element.querySelector(".m-popup"),n=r.clientWidth+20,i=r.clientHeight+20+30,o=e.getMap().getSize(),a=e.getMap().getView().getCenter(),s=n-60,l=e.getOffset(),u=e.getMap().getPixelFromCoordinate(t);if(!QF(u)){var c=u[0]-60,h=o[0]-(u[0]+s),f=u[1]-(i+l[1]),p=o[1]-(u[1]+20)-l[1],d=e.getMap().getPixelFromCoordinate(a),g=d.slice();h<0?g[0]-=h:c<0&&(g[0]+=c),f<0?g[1]+=f:p<0&&(g[1]-=p),!QF(e.ani_opts)&&QF(e.ani_opts.source)&&(e.ani_opts.source=a,e.getMap().getView().animate(e.ani_opts)),g[0]===d[0]&&g[1]===d[1]||e.getMap().getView().setCenter(e.getMap().getCoordinateFromPixel(g))}}e.isAnimating_=!1})),this.getMap().getView().getCenter()}},{key:"panIntoSynchronizedAnim_",value:function(){var t=this;return new Promise((function(e,r){if(!0===t.isAnimating_){var n=300;QF(t.ani_opts)||(n=t.ani_opts.duration),setTimeout(e,n)}else e()}))}},{key:"hide",value:function(t){this.facadeMap_.removePopup(t)}},{key:"setContainer",value:function(t){this.setElement(t),this.content=this.getContentFromContainer(t),xD(this.content)}},{key:"getContent",value:function(){return this.content}}])&&sx(e.prototype,r),n&&sx(e,n),o}(ex),px=(r(139),r(87)),dx=r.n(px);function gx(t){return(gx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};xx(this,t),this.icon=e.icon,this.title=e.title,this.content=e.content,this.listeners=e.listeners||[]},Ox=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&mx(t,e)}(o,t);var e,r,n,i=_x(o);function o(t){var e;xx(this,o);var r=new fx(t);return(e=i.call(this,r)).coord_=null,e.tabs_=[],e.element_=null,e.status_=o.status.COLLAPSED,wx+=1,e.id_="m-popup-".concat(wx),e}return e=o,(r=[{key:"getId",value:function(){return this.id_}},{key:"getTabs",value:function(){return this.tabs_}},{key:"removeTab",value:function(t){var e=[],r=null;this.tabs_.forEach((function(n){n.content!==t.content?e.push(n):r=n})),this.tabs_=this.tabs_.filter((function(e){return e.content!==t.content})),this.fire(Pu,[r]),this.update()}},{key:"addTab",value:function(t){var e=t;e instanceof Sx||(e=new Sx(t),this.fire(Tu,[e])),this.tabs_.push(e),this.update()}},{key:"addTo",value:function(t,e){if(this.map_=t,QF(this.element_)){var r=zD(e,this.map_.getProjection().code,"EPSG:4326"),n=BD(),i=Vu(dx.a,{jsonp:!0,vars:{id:this.id_,tabs:this.tabs_,options:o.options,url:Ex(n,r)}});this.tabs_.length>0&&(this.element_=i,this.addEvents(i),this.getImpl().addTo(t,i),this.show(e))}else this.getImpl().addTo(t,this.element_),this.show(e);this.fire(Iu,[this]),t.fire(Iu,[this])}},{key:"update",value:function(){if(!QF(this.map_)){var t=zD(this.coord_,this.map_.getProjection().code,"EPSG:4326"),e=BD(),r=Vu(dx.a,{jsonp:!0,vars:{tabs:this.tabs_,options:o.options,url:Ex(e,t)}});this.tabs_.length>0&&(this.element_=r,this.addEventTabs(this.tabs_[0],r),this.addEvents(r),this.getImpl().setContainer(r),this.show(this.coord_))}}},{key:"show",value:function(t){var e=this;this.coord_=t,this.getImpl().show(this.coord_,(function(){e.fire(uu)}))}},{key:"hide",value:function(t){QF(t)||t.preventDefault(),this.getImpl().hide(this)}},{key:"switchTab",value:function(t){if(this.tabs_.length>t){var e=this.tabs_[t];this.setContent_(e.content),this.addEventTabs(e,this.getContent()),this.show(this.coord_)}}},{key:"addEventTabs",value:function(t,e){t.listeners.forEach((function(t){!0===t.all?e.querySelectorAll(t.selector).forEach((function(e){e.addEventListener(t.type,(function(e){return t.callback(e)}))})):e.querySelector(t.selector).addEventListener(t.type,(function(e){return t.callback(e)}))}))}},{key:"setContent_",value:function(t){this.getContent().innerHTML=t}},{key:"getContent",value:function(){return this.getImpl().getContent()}},{key:"addEvents",value:function(t){var e,r=this,n=t,i=n.querySelectorAll("div.m-tab");Array.prototype.forEach.call(i,(function(t){t.addEventListener("click",(function(n){n.preventDefault();var o=n.clientY;if("click"===n.type||Math.abs(e-o)<5){Array.prototype.forEach.call(i,(function(t){t.classList.remove("m-activated")})),t.classList.add("m-activated");var a=t.getAttribute("data-index");r.switchTab(a)}})),t.addEventListener("touchend",(function(n){n.preventDefault();var o=n.clientY;if("touchend"===n.type||Math.abs(e-o)<5){Array.prototype.forEach.call(i,(function(t){t.classList.remove("m-activated")})),t.classList.add("m-activated");var a=t.getAttribute("data-index");r.switchTab(a)}}))}));var a=n.querySelector("a.m-popup-closer");a.addEventListener("click",this.hide.bind(this),!1),a.addEventListener("touchend",this.hide.bind(this),!1);var s=n.querySelector("div.m-tabs");if(QF(s)&&(s=n.querySelector("div.m-content > div.m-header")),!QF(s)){var l;s.addEventListener("touchstart",(function(t){t.preventDefault(),e=t.touches[0].clientY,r.status_===o.status.COLLAPSED?l=.9*ix.HEIGHT:r.status_===o.status.DEFAULT?l=.45*ix.HEIGHT:r.status_===o.status.FULL&&(l=0),n.classList.add("m-no-animation")}),!1),s.addEventListener("touchmove",(function(t){t.preventDefault(),r.touchY=t.touches[0].clientY;var i=r.touchY-e;n.style.top="".concat(l+i,"px")}),!1),s.addEventListener("touchend",(function(t){t.preventDefault(),r.manageCollapsiblePopup_(e,r.touchY)}),!1);var u=window.matchMedia("(max-width: 768px)");setTimeout((function(){return r.manageTransform(u,n)}),10),u.addEventListener("change",(function(t){r.manageTransform(t,n)})),s.addEventListener("mouseup",(function(t){t.preventDefault(),r.tabs_.length<=1&&(r.status_===o.status.COLLAPSED?r.setStatus_(o.status.DEFAULT):r.status_===o.status.DEFAULT?r.setStatus_(o.status.FULL):r.setStatus_(o.status.COLLAPSED))}))}}},{key:"setStatus_",value:function(t){t!==this.status_&&(this.element_.classList.remove(this.status_),this.status_=t,this.element_.classList.add(this.status_),this.element_.style.top="",this.element_.classList.remove("m-no-animation"),ix.WIDTH<=M.config.MOBILE_WIDTH&&this.getImpl().centerByStatus(t,this.coord_))}},{key:"manageTransform",value:function(t,e){e&&e.parentElement&&(t.matches?e.parentElement.classList.add("unsetTransform"):e.parentElement.classList.remove("unsetTransform"))}},{key:"manageCollapsiblePopup_",value:function(t,e){var r=100*e/ix.HEIGHT;100*Math.abs(t-e)/ix.HEIGHT>10?this.status_===o.status.COLLAPSED?r<45?this.setStatus_(o.status.FULL):r<85?this.setStatus_(o.status.DEFAULT):this.setStatus_(o.status.COLLAPSED):this.status_===o.status.DEFAULT?r>45?this.setStatus_(o.status.COLLAPSED):r<45?this.setStatus_(o.status.FULL):this.setStatus_(o.status.DEFAULT):this.status_===o.status.FULL&&(r>45?this.setStatus_(o.status.COLLAPSED):r>0?this.setStatus_(o.status.DEFAULT):this.setStatus_(o.status.FULL)):this.setStatus_(this.status_)}},{key:"getCoordinate",value:function(){return this.coord_}},{key:"setCoordinate",value:function(t){this.coord_=t,QF(this.element_)||this.getImpl().show(t)}},{key:"destroy",value:function(){this.tabs_.length=0,this.coord_=null,this.fire(hu)}}])&&yx(e.prototype,r),n&&yx(e,n),o}(Zl);Ox.status={},Ox.status.COLLAPSED="m-collapsed",Ox.status.DEFAULT="m-default",Ox.status.FULL="m-full",Ox.options={takeMeThere:!1,textMode:!0,msg:"Llévame allí"};var Ix=Ox,Cx=r(96),Tx=r.n(Cx);function Px(t){return(Px="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rx(t){return function(t){if(Array.isArray(t))return Lx(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Lx(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lx(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lx(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2])||arguments[2];!0===i?t.forEach((function(t){var e=n.features_.find((function(e){return e.equals(t)}));QF(e)&&n.features_.push(t)})):(r=this.features_).push.apply(r,Rx(t)),e&&this.updateLayer_();var o=this.facadeVector_.getStyle();o instanceof Xb?(o.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),o.refresh()):this.redraw()}},{key:"updateLayer_",value:function(){var t=this.facadeVector_.getStyle();if(!QF(t))if(t instanceof __)this.facadeVector_.setStyle(t);else if(t instanceof Xb){var e=this.facadeVector_.getStyle();e.unapply(this.facadeVector_),e.getOldStyle().apply(this.facadeVector_),e.apply(this.facadeVector_)}else t.apply(this.facadeVector_)}},{key:"getFeatures",value:function(t,e){var r=this.features_;return t||(r=e.execute(r)),r}},{key:"getFeatureById",value:function(t){return this.features_.filter((function(e){return e.getId()===t}))[0]}},{key:"removeFeatures",value:function(t){this.features_=this.features_.filter((function(e){return!t.includes(e)}));var e=this.facadeVector_.getStyle();e instanceof Xb?(e.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),e.refresh()):this.redraw()}},{key:"redraw",value:function(){var t=this.getOLLayer();if(!QF(t)){var e=this.facadeVector_.getStyle(),r=t.getSource();r instanceof Wg&&(r=r.getSource()),e instanceof Xb&&e.getImpl().deactivateChangeEvent(),Rx(r.getFeatures()).forEach(r.removeFeature,r);var n=this.facadeVector_.getFeatures();r.addFeatures(n.map(qD.facade2OLFeature)),e instanceof Xb&&e.getImpl().activateChangeEvent()}}},{key:"getFeaturesExtent",value:function(t,e){var r=this.getFeatures(t,e),n=Wh.getFeaturesExtent(r,this.map.getProjection().code);return null===n&&(n=this.map.getProjection().getExtent()),n}},{key:"selectFeatures",value:function(t,e,r){var n=t[0];if(!(n instanceof nG||!0!==this.extract||(this.unselectFeatures(),QF(n)))){var i=n.getAttribute("vendor.mapea.click");if($F(i))i(r,n);else{var o=Vu(Tx.a,{vars:this.parseFeaturesForTemplate_(t),parseToHtml:!1}),a={icon:"g-cartografia-pin",title:this.name,content:o},s=this.map.getPopup();QF(s)?((s=new Ix).addTab(a),this.map.addPopup(s,e)):s.addTab(a)}}}},{key:"unselectFeatures",value:function(){}},{key:"setFacadeObj",value:function(t){this.facadeVector_=t}},{key:"setProjection_",value:function(t,e){if(t.code!==e.code){var r=Object(u.o)(t.code),n=Object(u.o)(e.code),i=this.facadeVector_.getStyle();i instanceof Xb&&i.getImpl().deactivateChangeEvent(),this.facadeVector_.getFeatures().forEach((function(t){return t.getImpl().getOLFeature().getGeometry().transform(r,n)})),i instanceof Xb&&i.getImpl().activateChangeEvent()}}},{key:"parseFeaturesForTemplate_",value:function(t){var e=this,r={features:[]};return t.forEach((function(t){if(!(t instanceof nG)){var n=t.getAttributes(),i=Object.keys(n),o=[];i.forEach((function(t){var r=!0;QF(e.showAttributes_)?QF(e.hiddenAttributes_)||(r=!_D(e.hiddenAttributes_,t)):r=_D(e.showAttributes_,t),r&&o.push({key:yD(t),value:n[t]})}));var a={id:t.getId(),attributes:o};r.features.push(a)}})),r}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&this.constructor===t.constructor&&(e=!0),e}},{key:"refresh",value:function(){this.getOLLayer().getSource().clear()}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}}])&&Mx(e.prototype,r),n&&Mx(e,n),o}(tf),Dx=(r(141),r(97)),Gx=r.n(Dx),Ux=function(t,e,r){var n,i={message:t,title:e,severity:r},o=Vu(Gx.a,{vars:i});n=document.querySelectorAll("div.m-dialog"),Array.prototype.forEach.call(n,(function(t){t.parentElement.removeChild(t)}));var a=document.querySelector("div.m-mapea-container");o.querySelector("div.m-button > button").addEventListener("click",(function(t){var e;(e=o).parentElement.removeChild(e)})),a.appendChild(o)},Bx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").info),Ux(t,r,"info")},zx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").error),Ux(t,r,"error")},Vx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").success),Ux(t,r,"success")};function qx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;Kx(this,o);var s=a||new Fx(r,n);return t=i.call(this,e,s),HF(Fx)&&Bl(Mu("exception").vectorlayer_method),t.extract=e.extract,QF(t.extract)&&(t.extract=!0),t.style_=null,t.filter_=null,t.setStyle(r.style),s.on(yu,(function(e){return t.fire(yu,[e])})),t}return e=o,(r=[{key:"addFeatures",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t;QF(n)||(JF(n)||(n=[n]),this.getImpl().addFeatures(n,e,r))}},{key:"getFeatures",value:function(t){var e=t;return QF(this.getFilter())&&(e=!0),this.getImpl().getFeatures(e,this.filter_)}},{key:"getFeatureById",value:function(t){var e=null;return QF(t)?zx(Mu("dialog").id_feature):e=this.getImpl().getFeatureById(t),e}},{key:"removeFeatures",value:function(t){var e=t;JF(e)||(e=[e]),this.getImpl().removeFeatures(e)}},{key:"clear",value:function(){this.removeFilter(),this.removeFeatures(this.getFeatures(!0))}},{key:"refresh",value:function(){this.getImpl().refresh(!0),this.redraw()}},{key:"redraw",value:function(){this.getImpl().redraw()}},{key:"setFilter",value:function(t){if(QF(t)||t instanceof Yx){this.filter_=t;var e=this.style_;e instanceof Xb&&e.getImpl().deactivateChangeEvent(),this.redraw(),e instanceof Xb&&(e.getImpl().activateChangeEvent(),e.refresh())}else zx(Mu("dialog").vector_filter)}},{key:"getFilter",value:function(){return this.filter_}},{key:"getFeaturesExtent",value:function(t){var e=t;return QF(this.getFilter())&&(e=!0),this.getImpl().getFeaturesExtent(e,this.filter_)}},{key:"removeFilter",value:function(){this.setFilter(null)}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name,e=e&&this.id===t.id),e}},{key:"setStyle",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;this.getImpl().isLoaded()?(QF(this.getStyle())&&this.applyStyle_(n,r),QF(t)||this.applyStyle_(t,r)):this.once(yu,(function(){QF(e.getStyle())&&e.applyStyle_(n,r),QF(t)||e.applyStyle_(t,r)}))}},{key:"applyStyle_",value:function(t,e){var r=t;if(eD(r)?r=__.deserialize(r):r instanceof __||(r=new X_(r)),r instanceof __&&(!QF(this.style_)&&this.style_ instanceof __&&this.style_.unapply(this),r.apply(this,e),this.style_=r,this.fire(xu,[r,this])),!QF(this.getImpl().getMap())){var n=this.getImpl().getMap().getControls("layerswitcher")[0];QF(n)||n.render()}this.fire(xu,[r,this])}},{key:"getStyle",value:function(){return this.style_}},{key:"clearStyle",value:function(){this.setStyle(null),this.getFeatures().forEach((function(t){return t.clearStyle()}))}},{key:"getLegendURL",value:function(){var t=this.getImpl().getLegendURL();return-1!==t.indexOf(th.LEGEND_DEFAULT)&&-1===t.indexOf(th.LEGEND_ERROR)&&this.style_ instanceof __&&(t=this.style_ instanceof Xb&&this.style_.getStyles().length>0?this.style_.getStyles()[0].toImage():this.style_.toImage()),t}},{key:"getGeometryType",value:function(){var t=null;if(!QF(this.getFeatures())){var e=this.getFeatures()[0];QF(e)||QF(e.getGeometry())||(t=e.getGeometry().type)}return t}},{key:"getMaxExtent",value:function(){return this.getFeaturesExtent()}},{key:"calculateMaxExtent",value:function(){return this.getImpl().getFeaturesExtentPromise(!0,this.filter_)}},{key:"toGeoJSON",value:function(){var t=this.map_.getProjection().code,e=this.getFeatures().map((function(t){return t.getGeoJSON()}));return{type:"FeatureCollection",features:Yh(e,t)}}},{key:"type",get:function(){return lc},set:function(t){HF(t)||QF(t)||t===lc||Bl("El tipo de capa debe ser '".concat(lc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"extract",get:function(){return this.getImpl().extract},set:function(t){QF(t)?this.getImpl().extract=!0:eD(t)?this.getImpl().extract="true"===iD(t):this.getImpl().extract=t}}])&&Jx(e.prototype,r),n&&Jx(e,n),o}(th);rw.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},rw.DEFAULT_OPTIONS_STYLE={point:Xx(Xx({},rw.DEFAULT_PARAMS),{},{radius:5}),line:Xx({},rw.DEFAULT_PARAMS),polygon:Xx({},rw.DEFAULT_PARAMS)};var nw=rw;function iw(t){return(iw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ow(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aw(t,e){for(var r=0;rs.DEFAULT_WIDTH_POINT&&n.getImage().getStroke().setWidth(s.DEFAULT_WIDTH_POINT),n.getImage().render());var l=n.getImage().getImage(1);null!=l&&(e=l.toDataURL())}}return e}},{key:"updateFacadeOptions",value:function(t){var e=this;this.olStyleFn_=function(r){var o=r;o instanceof gh||o instanceof Mh||(o=e);var a,s,u=new mb({zIndex:Dy.getValue(t.zindex,o,e.layer_),geometry:function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e}}),c=new mb({zIndex:Dy.getValue(t.zindex,o,e.layer_),geometry:function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e}});if(o instanceof gh){var h=function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e};u.setGeometry(h),c.setGeometry(h)}if(!QF(t.fill)){var f=Dy.getValue(t.fill.color,o,e.layer_),p=Dy.getValue(t.fill.opacity,o,e.layer_);p||0===p||(p=1),QF(f)||(a=new Jy({color:l()(f).alpha(p).css()}))}if(!QF(t.stroke)){var d=Dy.getValue(t.stroke.color,o,e.layer_);if(!QF(d)){var g=t.stroke.linedashoffset;s=new Qy({color:d,width:Dy.getValue(t.stroke.width,o,e.layer_),lineDash:Dy.getValue(t.stroke.linedash,o,e.layer_),lineDashOffset:Dy.getValue(g,o,e.layer_),lineCap:Dy.getValue(t.stroke.linecap,o,e.layer_),lineJoin:Dy.getValue(t.stroke.linejoin,o,e.layer_),miterLimit:Dy.getValue(t.stroke.miterlimit,o,e.layer_)})}}if(!QF(t.label)){var y=Dy.getValue(t.label.text,o,e.layer_),m=Dy.getValue(t.label.align,o,e.layer_),_=Dy.getValue(t.label.baseline,o,e.layer_),v=new lm({font:Dy.getValue(t.label.font,o,e.layer_),rotateWithView:Dy.getValue(t.label.rotate,o,e.layer_),scale:Dy.getValue(t.label.scale,o,e.layer_),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,o,e.layer_),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,o,e.layer_),fill:new Jy({color:Dy.getValue(t.label.color||"#000000",o,e.layer_)}),textAlign:Object.values(n).includes(m)?m:"center",textBaseline:Object.values(i).includes(_)?_:"top",text:void 0===y?void 0:String(y),rotation:Dy.getValue(t.label.rotation,o,e.layer_)});if(!QF(t.label.stroke)){var b=t.label.stroke,x=b.miterlimit,w=b.linedashoffset;v.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,o,e.layer_),width:Dy.getValue(t.label.stroke.width,o,e.layer_),lineCap:Dy.getValue(t.label.stroke.linecap,o,e.layer_),lineJoin:Dy.getValue(t.label.stroke.linejoin,o,e.layer_),lineDash:Dy.getValue(t.label.stroke.linedash,o,e.layer_),lineDashOffset:Dy.getValue(w,o,e.layer_),miterLimit:Dy.getValue(x,o,e.layer_)}))}u.setText(v)}return u.setImage(new Xm({fill:a,stroke:s,radius:Dy.getValue(t.radius,o,e.layer_),snapToPixel:Dy.getValue(t.snapToPixel,o,e.layer_)})),QF(t.icon)||(QF(t.icon.src)?QF(t.icon.form)||c.setImage(new Lm({form:QF(Dy.getValue(t.icon.form,o,e.layer_))?"":Dy.getValue(t.icon.form,o,e.layer_).toLowerCase(),gradient:Dy.getValue(t.icon.gradient,o,e.layer_),glyph:Dy.getValue(t.icon.class,o,e.layer_),fontSize:Dy.getValue(t.icon.fontsize,o,e.layer_),radius:Dy.getValue(t.icon.radius,o,e.layer_),rotation:Dy.getValue(t.icon.rotation,o,e.layer_),rotateWithView:Dy.getValue(t.icon.rotate,o,e.layer_),offsetX:Dy.getValue(t.icon.offset?t.icon.offset[0]:void 0,o,e.layer_),offsetY:Dy.getValue(t.icon.offset?t.icon.offset[1]:void 0,o,e.layer_),fill:new Jy({color:Dy.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",o,e.layer_)}),stroke:t.icon.color?new Qy({color:Dy.getValue(t.icon.color,o,e.layer_),width:1}):void 0,anchor:Dy.getValue(t.icon.anchor,o,e.layer_),anchorXUnits:Dy.getValue(t.icon.anchorxunits,o,e.layer_),anchorYUnits:Dy.getValue(t.icon.anchoryunits,o,e.layer_),src:Dy.getValue(t.icon.src,o,e.layer_),opacity:Dy.getValue(t.icon.opacity,o,e.layer_),scale:Dy.getValue(t.icon.scale,o,e.layer_),snapToPixel:Dy.getValue(t.icon.snaptopixel,o,e.layer_),offsetOrigin:Dy.getValue(t.icon.offsetorigin,o,e.layer_),offset:Dy.getValue(t.icon.offset,o,e.layer_),crossOrigin:Dy.getValue(t.icon.crossorigin,o,e.layer_),anchorOrigin:Dy.getValue(t.icon.anchororigin,o,e.layer_),size:Dy.getValue(t.icon.size,o,e.layer_)})):c.setImage(new Sm({anchor:Dy.getValue(t.icon.anchor,o,e.layer_),anchorXUnits:Dy.getValue(t.icon.anchorxunits,o,e.layer_),anchorYUnits:Dy.getValue(t.icon.anchoryunits,o,e.layer_),src:Dy.getValue(t.icon.src,o,e.layer_),opacity:Dy.getValue(t.icon.opacity,o,e.layer_),scale:Dy.getValue(t.icon.scale,o,e.layer_),rotation:Dy.getValue(t.icon.rotation,o,e.layer_),rotateWithView:Dy.getValue(t.icon.rotate,o,e.layer_),snapToPixel:Dy.getValue(t.icon.snaptopixel,o,e.layer_),offsetOrigin:Dy.getValue(t.icon.offsetorigin,o,e.layer_),offset:Dy.getValue(t.icon.offset,o,e.layer_),crossOrigin:Dy.getValue(t.icon.crossorigin,o,e.layer_),anchorOrigin:Dy.getValue(t.icon.anchororigin,o,e.layer_),size:Dy.getValue(t.icon.size,o,e.layer_)}))),[u,c]}}},{key:"drawGeometryToCanvas",value:function(t){this.olStyleFn_()[1].getImage()instanceof Cy?t.drawGeometry(new Aa([10,10])):t.drawCircle(new Dh([this.getCanvasSize()[0]/2,this.getCanvasSize()[1]/2],this.getRadius_()))}},{key:"updateCanvas",value:function(t){if(this.updateFacadeOptions(this.options_),!FD(this.options_)){var e=this.getCanvasSize(),r=yy(t.getContext("2d"),{size:e}),n=this.olStyleFn_()[0];QF(n.getText())||n.setText(null),!QF(this.olStyleFn_()[1])&&this.olStyleFn_()[1].getImage()instanceof Cy&&(n=this.olStyleFn_()[1]);var i=n.getImage().getStroke();QF(i)||QF(i.getWidth())||i.setWidth(3),r.setStyle(n),this.drawGeometryToCanvas(r)}}},{key:"getCanvasSize",value:function(){var t,e=this.olStyleFn_()[1].getImage();if(e instanceof Cy)t=[90,90];else{var r=this.getRadius_(e);t=[2*r+4,2*r+4]}return t}},{key:"getRadius_",value:function(t){return t instanceof oy?25:t instanceof Cy?t.getRadius():this.olStyleFn_()[0].getImage().getRadius()}}])&&aw(e.prototype,r),o&&aw(e,o),s}(Dy);hw.DEFAULT_WIDTH_POINT=3;var fw=hw;function pw(t){return(pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function dw(t,e){for(var r=0;r M.style.Simple.deserialize(serializedParameters, 'M.style.Point'))"}}])&&dw(e.prototype,r),n&&dw(e,n),o}(j_);vw.DEFAULT={radius:5},vw.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5},radius:5};var bw=vw;function xw(t){return(xw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ww(t){return function(t){if(Array.isArray(t))return Ew(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Ew(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ew(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ew(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){r.forEach((function(t){t instanceof th?i.layers.push(o.parseLayerForTemplate(t)):t instanceof yg&&i.layerGroups.push(o.parseGroupForTemplate(t,e))}));var s=0,l=t.getAllLayers();l.every((function(t){return t.isVisible()}))?s=2:l.some((function(t){return t.isVisible()}))&&(s=1),i.visible=s,QF(i.layers)&&QF(i.layerGroups)&&(i=null),KF(i)||(a=new Promise((function(t,e){Promise.all(i.layers).then((function(e){QF(i)||(i.layers=e,i.layerGroups.length>0?Promise.all(i.layerGroups).then((function(e){KF(e[0])?i.layerGroups=[]:i.layerGroups=e,t(i)})):t(i))}))})))}return a}},{key:"orderLayerGroups",value:function(t){return t.sort((function(t,e){return t.order-e.order}))}}],(r=[{key:"addTo",value:function(t){var e=this;this.map_=t;var r=this.getImpl();this.createView(t).then((function(n){e.manageActivation(n),r.addTo(t,n),e.fire(Kl)}))}},{key:"createView",value:function(t){var e=this;return new Promise((function(t){o.getTemplateVariables(e.map_).then((function(r){e.activeEmptyLayer&&r.baseLayers.unshift(o.EMPTYLAYER);var n=Vu($d.a,{vars:r});t(n)}))}))}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"render",value:function(){this.getImpl().renderPanel()}},{key:"registerEvents",value:function(){this.getImpl().registerEvents()}},{key:"unregisterEvents",value:function(){this.getImpl().unregisterEvents()}}])&&Sw(e.prototype,r),n&&Sw(e,n),o}(Gu);Pw.NAME="layerswitcher",Pw.EMPTYLAYER={base:!0,id:"emptyLayer",isIcon:!1,legend:"",opacity:1,outOfRange:!1,title:Mu("layerswitcher").no_base_layer,visible:!1};var Rw=Pw,Lw=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Mw="accuracy",Aw="accuracyGeometry",Nw="altitude",kw="altitudeAccuracy",jw="heading",Fw="position",Dw="projection",Gw="speed",Uw="tracking",Bw="trackingOptions",zw=function(t){function e(e){var r=t.call(this,fo.a.ERROR)||this;return r.code=e.code,r.message=e.message,r}return Lw(e,t),e}(so.a),Vw=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n=e||{};return r.position_=null,r.transform_=u.t,r.watchId_=void 0,r.addChangeListener(Dw,r.handleProjectionChanged_),r.addChangeListener(Uw,r.handleTrackingChanged_),void 0!==n.projection&&r.setProjection(n.projection),void 0!==n.trackingOptions&&r.setTrackingOptions(n.trackingOptions),r.setTracking(void 0!==n.tracking&&n.tracking),r}return Lw(e,t),e.prototype.disposeInternal=function(){this.setTracking(!1),t.prototype.disposeInternal.call(this)},e.prototype.handleProjectionChanged_=function(){var t=this.getProjection();t&&(this.transform_=Object(u.r)(Object(u.o)("EPSG:4326"),t),this.position_&&this.set(Fw,this.transform_(this.position_)))},e.prototype.handleTrackingChanged_=function(){if("geolocation"in navigator){var t=this.getTracking();t&&void 0===this.watchId_?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):t||void 0===this.watchId_||(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}},e.prototype.positionChange_=function(t){var e=t.coords;this.set(Mw,e.accuracy),this.set(Nw,null===e.altitude?void 0:e.altitude),this.set(kw,null===e.altitudeAccuracy?void 0:e.altitudeAccuracy),this.set(jw,null===e.heading?void 0:Object(qo.n)(e.heading)),this.position_?(this.position_[0]=e.longitude,this.position_[1]=e.latitude):this.position_=[e.longitude,e.latitude];var r=this.transform_(this.position_);this.set(Fw,r),this.set(Gw,null===e.speed?void 0:e.speed);var n=Ha(this.position_,e.accuracy);n.applyTransform(this.transform_),this.set(Aw,n),this.changed()},e.prototype.positionError_=function(t){this.dispatchEvent(new zw(t))},e.prototype.getAccuracy=function(){return this.get(Mw)},e.prototype.getAccuracyGeometry=function(){return this.get(Aw)||null},e.prototype.getAltitude=function(){return this.get(Nw)},e.prototype.getAltitudeAccuracy=function(){return this.get(kw)},e.prototype.getHeading=function(){return this.get(jw)},e.prototype.getPosition=function(){return this.get(Fw)},e.prototype.getProjection=function(){return this.get(Dw)},e.prototype.getSpeed=function(){return this.get(Gw)},e.prototype.getTracking=function(){return this.get(Uw)},e.prototype.getTrackingOptions=function(){return this.get(Bw)},e.prototype.setProjection=function(t){this.set(Dw,Object(u.o)(t))},e.prototype.setTracking=function(t){this.set(Uw,t)},e.prototype.setTrackingOptions=function(t){this.set(Bw,t)},e}(Pi.a);function qw(t){return(qw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yw(t,e){for(var r=0;r0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};rE(this,o),HF(Qw)&&Bl(Mu("exception").location_method);var n=new Qw(t,e,6e4,r);return i.call(this,n,o.NAME)}return e=o,(r=[{key:"createView",value:function(t){return Vu(tE.a,{vars:{title:Mu("location").title}})}},{key:"getActivationButton",value:function(t){return t.querySelector("button#m-location-button")}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"setTracking",value:function(t){this.getImpl().tracking=t}}])&&nE(e.prototype,r),n&&nE(e,n),o}(Gu);lE.NAME="location";var uE=lE,cE=(r(88),r(99)),hE=r.n(cE);function fE(t){return(fE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function dE(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return pE(this,o),(t=i.call(this)).facadeMap_=null,t.exactScale=e.exactScale||!1,t}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.scaleContainer_=e.querySelector("#".concat("m-scale-span")),this.element=e,this.render=this.renderCB,this.target_=null,t.getMapImpl().addControl(this)}},{key:"renderCB",value:function(t){var e,r,n,i,o=t.frameState;QF(o)||(o.viewState,e=this.scaleContainer_,r=this.facadeMap_,n=this.exactScale,i=e,r.getWMTS().length>0?i.innerHTML=Wh.getWMTSScale(r,n):r.getWMTS().length<=0&&!0===n?i.innerHTML=r.getExactScale():r.getWMTS().length<=0&&1==!n&&(i.innerHTML=r.getScale()))}},{key:"destroy",value:function(){gE(vE(o.prototype),"destroy",this).call(this),this.scaleContainer_=null}}])&&dE(e.prototype,r),n&&dE(e,n),o}(Ad);function xE(t){return(xE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function wE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function EE(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};wE(this,o);var r=new bE(e);return t=i.call(this,r,o.NAME),HF(bE)&&Bl(Mu("exception").scale_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(hE.a,{vars:{title:Mu("scale").title,scale:Mu("scale").scale}})}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"destroy",value:function(){SE(TE(o.prototype),"destroy",this).call(this);var t=this.getPanel();QF(t)||t.removeClassName("m-with-scale")}}])&&EE(e.prototype,r),n&&EE(e,n),o}(Gu);PE.NAME="scale";var RE=PE;r(146);function LE(t){return(LE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ME(t,e){for(var r=0;r=s){f=g,p=y,d=m;break}if(p>=a)break;g=f,y=p,m=d,++v}_=this.scaleBar_?this.createScaleBar(p,f,c):f.toFixed(d<0?-d:0)+" "+c,this.renderedHTML_!=_&&(this.innerElement_.innerHTML=_,this.renderedHTML_=_),this.renderedWidth_!=p&&(this.innerElement_.style.width=p+"px",this.renderedWidth_=p),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}else this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1)},e.prototype.createScaleBar=function(t,e,r){for(var n="1 : "+Math.round(this.getScaleForResolution()).toLocaleString(),i=[],o=t/this.scaleBarSteps_,a="ol-scale-singlebar-odd",s=0;s
    '+this.createMarker("relative",s)+(s%2==0||2===this.scaleBarSteps_?this.createStepText(s,t,!1,e,r):"")+""),s===this.scaleBarSteps_-1&&i.push(this.createStepText(s+1,t,!0,e,r)),a="ol-scale-singlebar-odd"===a?"ol-scale-singlebar-even":"ol-scale-singlebar-odd";return'
    '+(this.scaleBarText_?'
    '+n+"
    ":"")+i.join("")+"
    "},e.prototype.createMarker=function(t,e){return'
    '},e.prototype.createStepText=function(t,e,r,n,i){var o=(0===t?0:Math.round(n/this.scaleBarSteps_*t*100)/100)+(0===t?"":" "+i);return'
    '+o+"
    "},e.prototype.getScaleForResolution=function(){var t=Object(u.p)(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,Jn.b.METERS),e=this.dpi_||uS;return parseFloat(t.toString())*(1e3/25.4)*e},e.prototype.render=function(t){var e=t.frameState;this.viewState_=e?e.viewState:null,this.updateElement_()},e}(us);function hS(t){return(hS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fS(t,e){for(var r=0;r=this.minWidth_)break;f+=1}var p=c.toString().concat(" ").concat(s);this.renderedHTML_!==p&&(this.innerElement_.innerHTML=p,this.renderedHTML_=p),this.renderedWidth_!==h&&(this.innerElement_.style.width=h.toString().concat("px"),this.renderedWidth_=h),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}else this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1)}}])&&fS(e.prototype,r),n&&fS(e,n),o}(cS),OS=r(101),IS=r.n(OS);function CS(t){return(CS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function TS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function PS(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};TS(this,o);var r=new SS(e);return t=i.call(this,r,o.NAME),HF(SS)&&Bl(Mu("exception").scaleline_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(IS.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&PS(e.prototype,r),n&&PS(e,n),o}(Gu);NS.NAME="scaleline";var kS=NS,jS=(r(148),r(102)),FS=r.n(jS),DS=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),GS="projection",US="coordinateFormat",BS=function(t){function e(e){var r=this,n=e||{},i=document.createElement("div");i.className=void 0!==n.className?n.className:"ol-mouse-position",(r=t.call(this,{element:i,render:n.render,target:n.target})||this).on,r.once,r.un,r.addChangeListener(GS,r.handleProjectionChanged_),n.coordinateFormat&&r.setCoordinateFormat(n.coordinateFormat),n.projection&&r.setProjection(n.projection);var o=!0,a=" ";return"undefinedHTML"in n?(void 0!==n.undefinedHTML&&(a=n.undefinedHTML),o=!!a):"placeholder"in n&&(!1===n.placeholder?o=!1:a=String(n.placeholder)),r.placeholder_=a,r.renderOnMouseOut_=o,r.renderedHTML_=i.innerHTML,r.mapProjection_=null,r.transform_=null,r}return DS(e,t),e.prototype.handleProjectionChanged_=function(){this.transform_=null},e.prototype.getCoordinateFormat=function(){return this.get(US)},e.prototype.getProjection=function(){return this.get(GS)},e.prototype.handleMouseMove=function(t){var e=this.getMap();this.updateHTML_(e.getEventPixel(t))},e.prototype.handleMouseOut=function(t){this.updateHTML_(null)},e.prototype.setMap=function(e){if(t.prototype.setMap.call(this,e),e){var r=e.getViewport();this.listenerKeys.push(Object(eo.a)(r,Oo,this.handleMouseMove,this)),this.renderOnMouseOut_&&this.listenerKeys.push(Object(eo.a)(r,To,this.handleMouseOut,this)),this.updateHTML_(null)}},e.prototype.setCoordinateFormat=function(t){this.set(US,t)},e.prototype.setProjection=function(t){this.set(GS,Object(u.o)(t))},e.prototype.updateHTML_=function(t){var e=this.placeholder_;if(t&&this.mapProjection_){if(!this.transform_){var r=this.getProjection();this.transform_=r?Object(u.r)(this.mapProjection_,r):u.t}var n=this.getMap().getCoordinateFromPixelInternal(t);if(n){var i=Object(u.s)();i&&(this.transform_=Object(u.r)(this.mapProjection_,i)),this.transform_(n,n);var o=this.getCoordinateFormat();e=o?o(n):n.toString()}}this.renderedHTML_&&e===this.renderedHTML_||(this.element.innerHTML=e,this.renderedHTML_=e)},e.prototype.render=function(t){var e=t.frameState;e?this.mapProjection_!=e.viewState.projection&&(this.mapProjection_=e.viewState.projection,this.transform_=null):this.mapProjection_=null},e}(us);function zS(t){return(zS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function VS(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rO(this,o);var n=new tO(e,r);return t=i.call(this,n,o.NAME),HF(tO)&&Bl(Mu("exception").mouse_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(FS.a)}},{key:"equals",value:function(t){return t instanceof o}},{key:"destroy",value:function(){iO(lO(o.prototype),"destroy",this).call(this);var t=this.getPanel();QF(t)||t.removeClassName("m-with-mouse")}}])&&nO(e.prototype,r),n&&nO(e,n),o}(Gu);uO.NAME="mouse";var cO=uO,hO=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),fO=.75,pO=.1,dO=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return hO(e,t),e.prototype.createRenderer=function(){return new no(this)},e}(ss),gO=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,{element:document.createElement("div"),render:n.render,target:n.target})||this).boundHandleRotationChanged_=r.handleRotationChanged_.bind(r),r.collapsed_=void 0===n.collapsed||n.collapsed,r.collapsible_=void 0===n.collapsible||n.collapsible,r.collapsible_||(r.collapsed_=!1),r.rotateWithView_=void 0!==n.rotateWithView&&n.rotateWithView,r.viewExtent_=void 0;var i=void 0!==n.className?n.className:"ol-overviewmap",o=void 0!==n.tipLabel?n.tipLabel:"Overview map",a=void 0!==n.collapseLabel?n.collapseLabel:"‹";"string"==typeof a?(r.collapseLabel_=document.createElement("span"),r.collapseLabel_.textContent=a):r.collapseLabel_=a;var s=void 0!==n.label?n.label:"›";"string"==typeof s?(r.label_=document.createElement("span"),r.label_.textContent=s):r.label_=s;var l=r.collapsible_&&!r.collapsed_?r.collapseLabel_:r.label_,u=document.createElement("button");u.setAttribute("type","button"),u.title=o,u.appendChild(l),u.addEventListener(fo.a.CLICK,r.handleClick_.bind(r),!1),r.ovmapDiv_=document.createElement("div"),r.ovmapDiv_.className="ol-overviewmap-map",r.view_=n.view,r.ovmap_=new dO({view:n.view});var c=r.ovmap_;n.layers&&n.layers.forEach((function(t){c.addLayer(t)}));var h=document.createElement("div");h.className="ol-overviewmap-box",h.style.boxSizing="border-box",r.boxOverlay_=new ex({position:[0,0],positioning:"center-center",element:h}),r.ovmap_.addOverlay(r.boxOverlay_);var f=i+" "+"ol-unselectable "+Si+(r.collapsed_&&r.collapsible_?" ol-collapsed":"")+(r.collapsible_?"":" ol-uncollapsible"),p=r.element;p.className=f,p.appendChild(r.ovmapDiv_),p.appendChild(u);var d=r,g=r.boxOverlay_,y=r.boxOverlay_.getElement(),m=function(t){var e,r={clientX:(e=t).clientX,clientY:e.clientY},n=c.getEventCoordinateInternal(r);g.setPosition(n)},_=function t(e){var r=c.getEventCoordinateInternal(e);d.getMap().getView().setCenterInternal(r),window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",t)};return y.addEventListener("mousedown",(function(){window.addEventListener("mousemove",m),window.addEventListener("mouseup",_)})),r}return hO(e,t),e.prototype.setMap=function(e){var r=this.getMap();if(e!==r){if(r){var n=r.getView();n&&this.unbindView_(n),this.ovmap_.setTarget(null)}if(t.prototype.setMap.call(this,e),e){this.ovmap_.setTarget(this.ovmapDiv_),this.listenerKeys.push(Object(eo.a)(e,_i.a.PROPERTYCHANGE,this.handleMapPropertyChange_,this));var i=e.getView();i&&(this.bindView_(i),i.isDef()&&(this.ovmap_.updateSize(),this.resetExtent_())),this.ovmap_.isRendered()||this.updateBoxAfterOvmapIsRendered_()}}},e.prototype.handleMapPropertyChange_=function(t){if(t.key===Go){var e=t.oldValue;e&&this.unbindView_(e);var r=this.getMap().getView();this.bindView_(r)}else this.ovmap_.isRendered()||t.key!==Do&&t.key!==Fo||this.ovmap_.updateSize()},e.prototype.bindView_=function(t){if(!this.view_){var e=new rs({projection:t.getProjection()});this.ovmap_.setView(e)}t.addChangeListener(zo.ROTATION,this.boundHandleRotationChanged_),this.handleRotationChanged_()},e.prototype.unbindView_=function(t){t.removeChangeListener(zo.ROTATION,this.boundHandleRotationChanged_)},e.prototype.handleRotationChanged_=function(){this.rotateWithView_&&this.ovmap_.getView().setRotation(this.getMap().getView().getRotation())},e.prototype.validateExtent_=function(){var t=this.getMap(),e=this.ovmap_;if(t.isRendered()&&e.isRendered()){var r=t.getSize(),n=t.getView().calculateExtentInternal(r);if(!this.viewExtent_||!Object(mt.p)(n,this.viewExtent_)){this.viewExtent_=n;var i=e.getSize(),o=e.getView().calculateExtentInternal(i),a=e.getPixelFromCoordinateInternal(Object(mt.E)(n)),s=e.getPixelFromCoordinateInternal(Object(mt.w)(n)),l=Math.abs(a[0]-s[0]),u=Math.abs(a[1]-s[1]),c=i[0],h=i[1];lc*fO||u>h*fO?this.resetExtent_():Object(mt.h)(o,n)||this.recenter_()}}},e.prototype.resetExtent_=function(){var t=this.getMap(),e=this.ovmap_,r=t.getSize(),n=t.getView().calculateExtentInternal(r),i=e.getView(),o=Math.log(7.5)/Math.LN2,a=1/(Math.pow(2,o/2)*pO);Object(mt.L)(n,a),i.fitInternal(Za(n))},e.prototype.recenter_=function(){var t=this.getMap(),e=this.ovmap_,r=t.getView();e.getView().setCenterInternal(r.getCenterInternal())},e.prototype.updateBox_=function(){var t=this.getMap(),e=this.ovmap_;if(t.isRendered()&&e.isRendered()){var r=t.getSize(),n=t.getView(),i=e.getView(),o=this.rotateWithView_?0:-n.getRotation(),a=this.boxOverlay_,s=this.boxOverlay_.getElement(),l=n.getCenterInternal(),u=n.getResolution(),c=i.getResolution(),h=r[0]*u/c,f=r[1]*u/c;if(a.setPosition(l),s){s.style.width=h+"px",s.style.height=f+"px";var p="rotate("+o+"rad)";s.style.transform=p}}},e.prototype.updateBoxAfterOvmapIsRendered_=function(){this.ovmapPostrenderKey_||(this.ovmapPostrenderKey_=Object(eo.b)(this.ovmap_,Lo,(function(t){delete this.ovmapPostrenderKey_,this.updateBox_()}),this))},e.prototype.handleClick_=function(t){t.preventDefault(),this.handleToggle_()},e.prototype.handleToggle_=function(){this.element.classList.toggle(Oi),this.collapsed_?Object(Ai.h)(this.collapseLabel_,this.label_):Object(Ai.h)(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;var t=this.ovmap_;if(!this.collapsed_){if(t.isRendered())return this.viewExtent_=void 0,void t.render();t.updateSize(),this.resetExtent_(),this.updateBoxAfterOvmapIsRendered_()}},e.prototype.getCollapsible=function(){return this.collapsible_},e.prototype.setCollapsible=function(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),!t&&this.collapsed_&&this.handleToggle_())},e.prototype.setCollapsed=function(t){this.collapsible_&&this.collapsed_!==t&&this.handleToggle_()},e.prototype.getCollapsed=function(){return this.collapsed_},e.prototype.getRotateWithView=function(){return this.rotateWithView_},e.prototype.setRotateWithView=function(t){this.rotateWithView_!==t&&(this.rotateWithView_=t,0!==this.getMap().getView().getRotation()&&(this.rotateWithView_?this.handleRotationChanged_():this.ovmap_.getView().setRotation(0),this.viewExtent_=void 0,this.validateExtent_(),this.updateBox_()))},e.prototype.getOverviewMap=function(){return this.ovmap_},e.prototype.render=function(t){this.validateExtent_(),this.updateBox_()},e}(us);function yO(t){return(yO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function mO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _O(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return mO(this,o),(e=i.call(this,vD({layers:[]},r,!0))).toggleDelay_=0,QF(t.toggleDelay)||(e.toggleDelay_=t.toggleDelay),e.collapsedButtonClass_="g-cartografia-mundo",QF(t.collapsedButtonClass)||(e.collapsedButtonClass_=t.collapsedButtonClass),e.openedButtonClass_="g-cartografia-flecha-derecha2",QF(t.openedButtonClass)||(e.openedButtonClass_=t.openedButtonClass),e.facadeMap_=null,e}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.update(t,e),this.getCollapsed()||this.addLayers(this.facadeMap_)}},{key:"update",value:function(t,e){var r=this.element.querySelector("button");!0===this.collapsed_?r.classList.contains(this.collapsedButtonClass_)?r.classList.remove(this.collapsedButtonClass_):r.classList.add(this.collapsedButtonClass_):r.classList.contains(this.openedButtonClass_)?r.classList.remove(this.openedButtonClass_):r.classList.add(this.openedButtonClass_),this.addOpenEventListener(r,t),this.setTarget()}},{key:"addOpenEventListener",value:function(t,e){t.onclick=this.openEventListener.bind(this)}},{key:"openEventListener",value:function(t){var e=t;!0===this.getCollapsed()&&(this.addLayers(this.facadeMap_),e.target.onclick=null)}},{key:"setTarget",value:function(){var t=this.facadeControl_;if(!QF(t)){var e=t.getPanel();QF(e)||(this.target_=e.getControlsContainer())}}},{key:"getElement",value:function(){return this.element}},{key:"addLayer_",value:function(t){t.un(Kl,this.addLayer_,this),this.getOverviewMap().addLayer(t.getOLLayer())}},{key:"addLayers",value:function(t){var e=this,r=[];t.getLayers().forEach((function(t){if((t.type===rc||!1===t.transparent)&&t.isVisible()){var n=null,i=t.getImpl().getOLLayer().getProperties();delete i.map,n=!0===t.tiled?new eh.a(i):new rh.a(i),QF(n)?t.getImpl().on(Kl,e.addLayer_.bind(e)):r.push(n)}}));var n=new sd({projection:Object(u.o)(t.getProjection().code),resolutions:t.getResolutions()});t.getMapImpl().addControl(this),this.ovmap_.setView(n),r.forEach((function(t){return e.ovmap_.addLayer(t)})),this.wasOpen_=!0}},{key:"handleToggle_",value:function(){var t=this;ND(this.element,"ol-collapsed");var e=this.element.querySelector("button");ND(e,this.openedButtonClass_),ND(e,this.collapsedButtonClass_),setTimeout((function(){t.collapsed_?kD(t.collapseLabel_,t.label_):kD(t.label_,t.collapseLabel_),t.collapsed_=!t.collapsed_;var e=t.ovmap_;t.collapsed_||e.isRendered()||(e.updateSize(),t.resetExtent_(),e.addEventListener("postrender",(function(e){t.updateBox_()})))}),this.toggleDelay_)}},{key:"destroy",value:function(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}},{key:"facadeControl",set:function(t){this.facadeControl_=t},get:function(){return this.facadeControl_}}])&&_O(e.prototype,r),n&&_O(e,n),o}(gO),SO=r(103),OO=r.n(SO);function IO(t){return(IO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function CO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function TO(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};CO(this,o);var n=new EO(e,r);return t=i.call(this,n,o.NAME),HF(EO)&&Bl(Mu("exception").overviewmap_method),n.facadeControl=MO(t),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(OO.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&TO(e.prototype,r),n&&TO(e,n),o}(Gu);NO.NAME="overviewmap";var kO=NO;function jO(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};iI(this,o);var r=new rI(e);return t=i.call(this,r,o.NAME),HF(rI)&&Bl(Mu("exception").panzoom_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(ZO.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&oI(e.prototype,r),n&&oI(e,n),o}(Gu);cI.NAME="panzoom";var hI=cI,fI=(r(150),function(){function t(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.supportedMediaTypes=null}return t.prototype.getReadOptions=function(t,e){var r;if(e){var n=e.dataProjection?Object(u.o)(e.dataProjection):this.readProjection(t);e.extent&&n&&n.getUnits()===Jn.b.TILE_PIXELS&&(n=Object(u.o)(n)).setWorldExtent(e.extent),r={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(r)},t.prototype.adaptOptions=function(t){return Object(Mi.a)({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection},t)},t.prototype.getType=function(){return Object(si.b)()},t.prototype.readFeature=function(t,e){return Object(si.b)()},t.prototype.readFeatures=function(t,e){return Object(si.b)()},t.prototype.readGeometry=function(t,e){return Object(si.b)()},t.prototype.readProjection=function(t){return Object(si.b)()},t.prototype.writeFeature=function(t,e){return Object(si.b)()},t.prototype.writeFeatures=function(t,e){return Object(si.b)()},t.prototype.writeGeometry=function(t,e){return Object(si.b)()},t}());function pI(t,e,r){var n,i=r?Object(u.o)(r.featureProjection):null,o=r?Object(u.o)(r.dataProjection):null;if(n=i&&o&&!Object(u.j)(i,o)?(e?t.clone():t).transform(e?i:o,e?o:i):t,e&&r&&void 0!==r.decimals){var a=Math.pow(10,r.decimals);n===t&&(n=t.clone()),n.applyTransform((function(t){for(var e=0,r=t.length;e0?r[0]:null},e.prototype.readFeatureFromNode=function(t,e){return null},e.prototype.readFeatures=function(t,e){if(t){if("string"==typeof t){var r=m(t);return this.readFeaturesFromDocument(r,e)}return y(t)?this.readFeaturesFromDocument(t,e):this.readFeaturesFromNode(t,e)}return[]},e.prototype.readFeaturesFromDocument=function(t,e){for(var r=[],n=t.firstChild;n;n=n.nextSibling)n.nodeType==Node.ELEMENT_NODE&&Object(h.c)(r,this.readFeaturesFromNode(n,e));return r},e.prototype.readFeaturesFromNode=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){if(t){if("string"==typeof t){var r=m(t);return this.readGeometryFromDocument(r,e)}return y(t)?this.readGeometryFromDocument(t,e):this.readGeometryFromNode(t,e)}return null},e.prototype.readGeometryFromDocument=function(t,e){return null},e.prototype.readGeometryFromNode=function(t,e){return null},e.prototype.readProjection=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readProjectionFromDocument(e)}return y(t)?this.readProjectionFromDocument(t):this.readProjectionFromNode(t)}return null},e.prototype.readProjectionFromDocument=function(t){return this.dataProjection},e.prototype.readProjectionFromNode=function(t){return this.dataProjection},e.prototype.writeFeature=function(t,e){var r=this.writeFeatureNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeFeatureNode=function(t,e){return null},e.prototype.writeFeatures=function(t,e){var r=this.writeFeaturesNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeFeaturesNode=function(t,e){return null},e.prototype.writeGeometry=function(t,e){var r=this.writeGeometryNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeGeometryNode=function(t,e){return null},e}(fI),mI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_I="http://www.opengis.net/gml",vI=/^[\s\xa0]*$/,bI=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.featureType=n.featureType,r.featureNS=n.featureNS,r.srsName=n.srsName,r.schemaLocation="",r.FEATURE_COLLECTION_PARSERS={},r.FEATURE_COLLECTION_PARSERS[r.namespace]={featureMember:v(r.readFeaturesInternal),featureMembers:b(r.readFeaturesInternal)},r.supportedMediaTypes=["application/gml+xml"],r}return mI(e,t),e.prototype.readFeaturesInternal=function(t,e){var r=t.localName,n=null;if("FeatureCollection"==r)n=R([],this.FEATURE_COLLECTION_PARSERS,t,e,this);else if("featureMembers"==r||"featureMember"==r||"member"==r){var i=e[0],o=i.featureType,a=i.featureNS;if(!o&&t.childNodes){o=[],a={};for(var s=0,l=t.childNodes.length;s0){a={_content_:a};for(var u=0;u=2,57),n}return NI(e,t),e}(AI),jI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),FI=function(t){function e(e){return t.call(this,"And",Array.prototype.slice.call(arguments))||this}return jI(e,t),e}(kI),DI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),GI=function(t){function e(e,r,n){var i=t.call(this,"BBOX")||this;if(i.geometryName=e,i.extent=r,4!==r.length)throw new Error("Expected an extent with four values ([minX, minY, maxX, maxY])");return i.srsName=n,i}return DI(e,t),e}(AI),UI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),BI=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.geometryName=r||"the_geom",o.geometry=n,o.srsName=i,o}return UI(e,t),e}(AI),zI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),VI=function(t){function e(e,r,n){return t.call(this,"Contains",e,r,n)||this}return zI(e,t),e}(BI),qI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),YI=function(t){function e(e,r,n,i,o){var a=t.call(this,"DWithin",e,r,o)||this;return a.distance=n,a.unit=i,a}return qI(e,t),e}(BI),WI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),XI=function(t){function e(e,r,n){return t.call(this,"Disjoint",e,r,n)||this}return WI(e,t),e}(BI),HI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ZI=function(t){function e(e,r){var n=t.call(this,e)||this;return n.propertyName=r,n}return HI(e,t),e}(AI),KI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),JI=function(t){function e(e,r,n){var i=t.call(this,"During",e)||this;return i.begin=r,i.end=n,i}return KI(e,t),e}(ZI),QI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),$I=function(t){function e(e,r,n,i){var o=t.call(this,e,r)||this;return o.expression=n,o.matchCase=i,o}return QI(e,t),e}(ZI),tC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),eC=function(t){function e(e,r,n){return t.call(this,"PropertyIsEqualTo",e,r,n)||this}return tC(e,t),e}($I),rC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),nC=function(t){function e(e,r){return t.call(this,"PropertyIsGreaterThan",e,r)||this}return rC(e,t),e}($I),iC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),oC=function(t){function e(e,r){return t.call(this,"PropertyIsGreaterThanOrEqualTo",e,r)||this}return iC(e,t),e}($I),aC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),sC=function(t){function e(e,r,n){return t.call(this,"Intersects",e,r,n)||this}return aC(e,t),e}(BI),lC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uC=function(t){function e(e,r,n){var i=t.call(this,"PropertyIsBetween",e)||this;return i.lowerBoundary=r,i.upperBoundary=n,i}return lC(e,t),e}(ZI),cC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),hC=function(t){function e(e,r,n,i,o,a){var s=t.call(this,"PropertyIsLike",e)||this;return s.pattern=r,s.wildCard=void 0!==n?n:"*",s.singleChar=void 0!==i?i:".",s.escapeChar=void 0!==o?o:"!",s.matchCase=a,s}return cC(e,t),e}(ZI),fC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),pC=function(t){function e(e){return t.call(this,"PropertyIsNull",e)||this}return fC(e,t),e}(ZI),dC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gC=function(t){function e(e,r){return t.call(this,"PropertyIsLessThan",e,r)||this}return dC(e,t),e}($I),yC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),mC=function(t){function e(e,r){return t.call(this,"PropertyIsLessThanOrEqualTo",e,r)||this}return yC(e,t),e}($I),_C=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),vC=function(t){function e(e){var r=t.call(this,"Not")||this;return r.condition=e,r}return _C(e,t),e}(AI),bC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),xC=function(t){function e(e,r,n){return t.call(this,"PropertyIsNotEqualTo",e,r,n)||this}return bC(e,t),e}($I),wC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),EC=function(t){function e(e){return t.call(this,"Or",Array.prototype.slice.call(arguments))||this}return wC(e,t),e}(kI),SC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),OC=(function(t){function e(e){var r=t.call(this,"ResourceId")||this;return r.rid=e,r}SC(e,t)}(AI),function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}()),IC=function(t){function e(e,r,n){return t.call(this,"Within",e,r,n)||this}return OC(e,t),e}(BI);function CC(t){var e=[null].concat(Array.prototype.slice.call(arguments));return new(Function.prototype.bind.apply(FI,e))}function TC(t,e,r){return new GI(t,e,r)}var PC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RC={"http://www.opengis.net/gml":{boundedBy:w(xI.prototype.readExtentElement,"bounds")},"http://www.opengis.net/wfs/2.0":{member:v(xI.prototype.readFeaturesInternal)}},LC={"http://www.opengis.net/wfs":{totalInserted:w(Y),totalUpdated:w(Y),totalDeleted:w(Y)},"http://www.opengis.net/wfs/2.0":{totalInserted:w(Y),totalUpdated:w(Y),totalDeleted:w(Y)}},MC={"http://www.opengis.net/wfs":{TransactionSummary:w(qC,"transactionSummary"),InsertResults:w(HC,"insertIds")},"http://www.opengis.net/wfs/2.0":{TransactionSummary:w(qC,"transactionSummary"),InsertResults:w(HC,"insertIds")}},AC={"http://www.opengis.net/wfs":{PropertyName:E(J)},"http://www.opengis.net/wfs/2.0":{PropertyName:E(J)}},NC={"http://www.opengis.net/wfs":{Insert:E(ZC),Update:E($C),Delete:E(QC),Property:E(tT),Native:E(eT)},"http://www.opengis.net/wfs/2.0":{Insert:E(ZC),Update:E($C),Delete:E(QC),Property:E(tT),Native:E(eT)}},kC="feature",jC="http://www.w3.org/2000/xmlns/",FC={"2.0.0":"http://www.opengis.net/ogc/1.1","1.1.0":"http://www.opengis.net/ogc","1.0.0":"http://www.opengis.net/ogc"},DC={"2.0.0":"http://www.opengis.net/wfs/2.0","1.1.0":"http://www.opengis.net/wfs","1.0.0":"http://www.opengis.net/wfs"},GC={"2.0.0":"http://www.opengis.net/fes/2.0","1.1.0":"http://www.opengis.net/fes","1.0.0":"http://www.opengis.net/fes"},UC={"2.0.0":"http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd","1.1.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd","1.0.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd"},BC={"2.0.0":MI,"1.1.0":PI,"1.0.0":OI},zC=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.version_=n.version?n.version:"1.1.0",r.featureType_=n.featureType,r.featureNS_=n.featureNS,r.gmlFormat_=n.gmlFormat?n.gmlFormat:new BC[r.version_],r.schemaLocation_=n.schemaLocation?n.schemaLocation:UC[r.version_],r}return PC(e,t),e.prototype.getFeatureType=function(){return this.featureType_},e.prototype.setFeatureType=function(t){this.featureType_=t},e.prototype.readFeaturesFromNode=function(t,e){var r={node:t};Object(Mi.a)(r,{featureType:this.featureType_,featureNS:this.featureNS_}),Object(Mi.a)(r,this.getReadOptions(t,e||{}));var n=[r],i=R([],"2.0.0"===this.version_?RC:this.gmlFormat_.FEATURE_COLLECTION_PARSERS,t,n,this.gmlFormat_);return i||(i=[]),i},e.prototype.readTransactionResponse=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readTransactionResponseFromDocument(e)}return y(t)?this.readTransactionResponseFromDocument(t):this.readTransactionResponseFromNode(t)}},e.prototype.readFeatureCollectionMetadata=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readFeatureCollectionMetadataFromDocument(e)}return y(t)?this.readFeatureCollectionMetadataFromDocument(t):this.readFeatureCollectionMetadataFromNode(t)}},e.prototype.readFeatureCollectionMetadataFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readFeatureCollectionMetadataFromNode(e)},e.prototype.readFeatureCollectionMetadataFromNode=function(t){var e={},r=W(t.getAttribute("numberOfFeatures"));return e.numberOfFeatures=r,R(e,RC,t,[],this.gmlFormat_)},e.prototype.readTransactionResponseFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readTransactionResponseFromNode(e)},e.prototype.readTransactionResponseFromNode=function(t){return R({},MC,t,[])},e.prototype.writeGetFeature=function(t){var e=this,r=p(DC[this.version_],"GetFeature");r.setAttribute("service","WFS"),r.setAttribute("version",this.version_),t.handle&&r.setAttribute("handle",t.handle),t.outputFormat&&r.setAttribute("outputFormat",t.outputFormat),void 0!==t.maxFeatures&&r.setAttribute("maxFeatures",String(t.maxFeatures)),t.resultType&&r.setAttribute("resultType",t.resultType),void 0!==t.startIndex&&r.setAttribute("startIndex",String(t.startIndex)),void 0!==t.count&&r.setAttribute("count",String(t.count)),void 0!==t.viewParams&&r.setAttribute("viewParams",t.viewParams),r.setAttributeNS(f,"xsi:schemaLocation",this.schemaLocation_);var n={node:r};if(Object(Mi.a)(n,{version:this.version_,srsName:t.srsName,featureNS:t.featureNS?t.featureNS:this.featureNS_,featurePrefix:t.featurePrefix,propertyNames:t.propertyNames?t.propertyNames:[]}),Object(go.a)(Array.isArray(t.featureTypes),11),"string"==typeof t.featureTypes[0]){var i=t.filter;t.bbox&&(Object(go.a)(t.geometryName,12),i=this.combineBboxAndFilter(t.geometryName,t.bbox,t.srsName,i)),Object(Mi.a)(n,{geometryName:t.geometryName,filter:i}),vT(r,t.featureTypes,[n])}else t.featureTypes.forEach((function(i){var o=e.combineBboxAndFilter(i.geometryName,i.bbox,t.srsName,t.filter);Object(Mi.a)(n,{geometryName:i.geometryName,filter:o}),vT(r,[i.name],[n])}));return r},e.prototype.combineBboxAndFilter=function(t,e,r,n){var i=TC(t,e,r);return n?CC(n,i):i},e.prototype.writeTransaction=function(t,e,r,n){var i,o=[],a=n.version?n.version:this.version_,s=p(DC[a],"Transaction");s.setAttribute("service","WFS"),s.setAttribute("version",a),n&&(i=n.gmlOptions?n.gmlOptions:{},n.handle&&s.setAttribute("handle",n.handle)),s.setAttributeNS(f,"xsi:schemaLocation",UC[a]);var l=function(t,e,r,n){var i,o=n.featurePrefix?n.featurePrefix:kC;"1.0.0"===r?i=2:"1.1.0"===r?i=3:"2.0.0"===r&&(i=3.2);return Object(Mi.a)({node:t},{version:r,featureNS:n.featureNS,featureType:n.featureType,featurePrefix:o,gmlVersion:i,hasZ:n.hasZ,srsName:n.srsName},e)}(s,i,a,n);return t&&VC("Insert",t,o,l),e&&VC("Update",e,o,l),r&&VC("Delete",r,o,l),n.nativeElements&&VC("Native",n.nativeElements,o,l),s},e.prototype.readProjectionFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readProjectionFromNode(e);return null},e.prototype.readProjectionFromNode=function(t){if(t.firstElementChild&&t.firstElementChild.firstElementChild)for(var e=(t=t.firstElementChild.firstElementChild).firstElementChild;e;e=e.nextElementSibling)if(0!==e.childNodes.length&&(1!==e.childNodes.length||3!==e.firstChild.nodeType)){var r=[{}];return this.gmlFormat_.readGeometryElement(e,r),Object(u.o)(r.pop().srsName)}return null},e}(yI);function VC(t,e,r,n){A(n,NC,O(t),e,r)}function qC(t,e){return R({},LC,t,e)}var YC={"http://www.opengis.net/ogc":{FeatureId:v((function(t,e){return t.getAttribute("fid")}))},"http://www.opengis.net/ogc/1.1":{FeatureId:v((function(t,e){return t.getAttribute("fid")}))}};function WC(t,e){P(YC,t,e)}var XC={"http://www.opengis.net/wfs":{Feature:WC},"http://www.opengis.net/wfs/2.0":{Feature:WC}};function HC(t,e){return R([],XC,t,e)}function ZC(t,e,r){var n=r[r.length-1],i=n.featureType,o=n.featureNS,a=n.gmlVersion,s=p(o,i);t.appendChild(s),2===a?OI.prototype.writeFeatureElement(s,e,r):3===a?PI.prototype.writeFeatureElement(s,e,r):MI.prototype.writeFeatureElement(s,e,r)}function KC(t,e,r){var n=r[r.length-1].version,i=FC[n],o=p(i,"Filter"),a=p(i,"FeatureId");o.appendChild(a),a.setAttribute("fid",e),t.appendChild(o)}function JC(t,e){var r=(t=t||kC)+":";return 0===e.indexOf(r)?e:r+e}function QC(t,e,r){var n=r[r.length-1];Object(go.a)(void 0!==e.getId(),26);var i=n.featureType,o=n.featurePrefix,a=n.featureNS,s=JC(o,i);t.setAttribute("typeName",s),t.setAttributeNS(jC,"xmlns:"+o,a);var l=e.getId();void 0!==l&&KC(t,l,r)}function $C(t,e,r){var n=r[r.length-1];Object(go.a)(void 0!==e.getId(),27);var i=n.version,o=n.featureType,a=n.featurePrefix,s=n.featureNS,l=JC(a,o),u=e.getGeometryName();t.setAttribute("typeName",l),t.setAttributeNS(jC,"xmlns:"+a,s);var c=e.getId();if(void 0!==c){for(var h=e.getKeys(),f=[],p=0,d=h.length;pt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&!/WMS\s+server\s+error/i.test(t)&&(r=!0);break;case"application/vnd.ogc.gml":r=(new xT).readFeatures(t).length>0;break;case"text/plain":/returned\s+no\s+results/i.test(t)||/features\s+were\s+found/i.test(t)||/:$/i.test(t)||(r=!0)}return r}},{key:"unsupportedFormat",value:function(t,e){var r=!1;return"text/html"===e&&(r=a.regExs.msUnsupportedFormat.test(t)),r}}],(r=[{key:"addTo",value:function(t,e){!1===t.getMapImpl().getControls().getArray().some((function(t){return t instanceof a}))&&(this.facadeMap_=t,us.call(this,{element:e,target:null}),t.getMapImpl().addControl(this))}},{key:"activate",value:function(){this.addOnClickEvent_()}},{key:"deactivate",value:function(){this.deleteOnClickEvent_()}},{key:"addOnClickEvent_",value:function(){var t=this,e=this.facadeMap_.getMapImpl();"plain"===iD(this.userFormat)||"text/plain"===iD(this.userFormat)?this.userFormat="text/plain":"gml"===iD(this.userFormat)||"application/vnd.ogc.gml"===iD(this.userFormat)?this.userFormat="application/vnd.ogc.gml":this.userFormat="text/html",this.clickEventKey_=e.on("singleclick",(function(e){return t.buildUrl_(o,e)}))}},{key:"buildUrl_",value:function(t,e){this.evt=e;var r=this.facadeMap_.getMapImpl(),n=this.buildWMSInfoURL(this.facadeMap_.getWMS()),i=this.buildWMTSInfoURL(this.facadeMap_.getWMTS()),o=[].concat(CT(i),CT(n)).filter((function(t){return!QF(t)}));o.length>0?this.showInfoFromURL_(o,e.coordinate,r):t.info("No existen capas consultables")}},{key:"buildWMSInfoURL",value:function(t){var e=this,r=this.facadeMap_.getMapImpl().getView().getResolution(),n=this.facadeMap_.getProjection().code;return t.map((function(t){var i,o=t.getImpl().getOLLayer();if(t.isVisible()&&t.isQueryable()&&!QF(o)){i={};var a={INFO_FORMAT:e.userFormat,FEATURE_COUNT:e.featureCount},s=o.getSource(),l=e.evt.coordinate,u=s.getFeatureInfoUrl(l,r,n,a);eD(M.config.ticket)&&(u=aD(u,{ticket:M.config.ticket})),/buffer/i.test(t.url)||(a.Buffer=e.buffer),i={layer:t.legend||t.name,url:u}}return i}))}},{key:"buildWMTSInfoURL",value:function(t){var e=this;return t.map((function(t){var r;if(t.isVisible()){r={};var n=e.userFormat,i=e.evt.coordinate,o=t.getGetFeatureInfoUrl(i,e.facadeMap_.getZoom(),n);eD(M.config.ticket)&&(o=aD(o,{ticket:M.config.ticket})),r={layer:t.legend||t.name,url:o}}return r}))}},{key:"deleteOnClickEvent_",value:function(){Object(Ig.b)(this.clickEventKey_)}},{key:"formatInfo",value:function(t,e,r){var n=null;switch(e){case"text/html":n=t;break;case"application/vnd.ogc.gml":var i=(new xT).readFeatures(t);n="",i.forEach((function(t){var e=t.getKeys();n+="
    ",n+="'");for(var i=0,o=e.length;i"}n+="
    ' ".concat(gD(r)," '
    ',n+=gD(a),n+='',n+=s,n+="
    "}));break;case"text/plain":n=a.regExs.gsResponse.test(t)?this.txtToHtmlGeoserver(t,r):this.txtToHtmlMapserver(t,r)}return n}},{key:"txtToHtmlGeoserver",value:function(t,e){var r=t,n=(r=(r=r.replace(/[\w\s\S]*':/i,"")).replace(/---(-*)(n+)---(-*)/g,"#newfeature#")).split("\n"),i="
    ";i+="");for(var o=0,s=n.length;o1&&(0!==(h=u[1].trim()).length&&"null"!==h||(h="-")),!1===a.regExs.gsGeometry.test(c)&&(i+='")}else a.regExs.gsNewFeature.test(l)&&(i+='"))}return i+="
    ".concat(gD(e),"
    ',i+=gD(c),i+='',i+=h,i+="
    '.concat(gD(e),"
    "}},{key:"txtToHtmlMapserver",value:function(t){for(var e=t,r=(e=e.replace(/[\w\s\S]*(layer)/i,"$1")).replace(/layer(\s*)'(\w+)'[\w\s\S]*/i,"$2"),n=(e=(e=(e=(e=e.replace(/layer(\s*)'(\w+)'([\w\s\S]*)/i,"$3")).replace(/feature(\s*)(\w*)(\s*)(:)([\w\s\S]*)/i,"$5")).replace(/'/g,"")).replace(/=/g,";")).split("\n"),i="",o=""),s=0,l=n.length;s1&&0===(p=h[1].trim()).length&&(p="-"),f.length>0&&(a.regExs.msNewFeature.test(f)?c.length>0&&!a.regExs.msNewFeature.test(c)&&(i+="")):(i+='"))}return i.length>0&&(i="".concat(o+i,"
    ".concat(gD(r),"
    ".concat(gD(r),"
    ',i+=gD(f),i+='',i+=p,i+="
    ")),i}},{key:"showInfoFromURL_",value:function(t,e,r){var n=this,i=Vu(ET.a,{vars:{info:a.LOADING_MESSAGE},parseToHtml:!1}),o=[],s=String(this.userFormat),l=0,u={icon:"g-cartografia-info",title:a.POPUP_TITLE,content:i},c=this.facadeMap_.getPopup();QF(c)?((c=new Ix).addTab(u),this.facadeMap_.addPopup(c,e)):c.getTabs().some((function(t){return t.title!==a.POPUP_TITLE}))?c.addTab(u):(this.facadeMap_.removePopup(),(c=new Ix).addTab(u),this.facadeMap_.addPopup(c,e)),t.forEach((function(e){var r=e.url,i=e.layer;VF(r).then((function(e){if(c=n.facadeMap_.getPopup(),200===e.code&&!1===e.error){var r=e.text;if(!0===a.insert(r,s)){var h=n.formatInfo(r,s,i);o.push({formatedInfo:h,layerName:i})}else a.unsupportedFormat(r,s)&&o.push({formatedInfo:Mu("getfeatureinfo").unsupported_format,layerName:i})}if(l+=1,t.length===l&&!QF(c))if(c.removeTab(u),0===o.length)c.addTab({icon:"g-cartografia-info",title:a.POPUP_TITLE,content:Mu("getfeatureinfo").no_info});else{var f=Vu(OT.a,{vars:{layers:o,info_of:Mu("getfeatureinfo").info_of},parseToHtml:!1});c.addTab({icon:"g-cartografia-info",title:a.POPUP_TITLE,content:f,listeners:[{selector:".m-getfeatureinfo-content-info div.m-arrow-right",all:!0,type:"click",callback:function(t){return n.toogleSection(t)}}]})}}))})),this.popup_=c}},{key:"toogleSection",value:function(t){var e=t.target,r=e.parentElement.parentElement.querySelector(".m-getfeatureinfo-content-info-body");if(r.classList.contains("m-content-collapsed")){r.classList.remove("m-content-collapsed"),e.classList.remove("m-arrow-right"),e.classList.add("m-arrow-down");var n=this.popup_.getCoordinate();QF(this.popup_.getImpl().panIntoView)||this.popup_.getImpl().panIntoView(n)}else r.classList.add("m-content-collapsed"),e.classList.add("m-arrow-right"),e.classList.remove("m-arrow-down")}}])&&PT(e.prototype,r),n&&PT(e,n),a}(Ad);NT.LOADING_MESSAGE="Obteniendo información...",NT.regExs={gsResponse:/^results[\w\s\S]*'http:/i,msNewFeature:/feature(\s*)(\w+)(\s*):/i,gsNewFeature:/#newfeature#/,gsGeometry:/geom$/i,msGeometry:/boundedby$/i,msUnsupportedFormat:/error(.*)unsupported(.*)info_format/i};var kT=NT,jT=r(108),FT=r.n(jT);function DT(t){return(DT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function GT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function UT(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};GT(this,o);var n=new kT(t,r);return e=i.call(this,n,o.NAME),HF(kT)&&Bl(Mu("exception").getfeatureinfo_method),e.format=t,e}return e=o,(r=[{key:"createView",value:function(t){return Vu(FT.a,{vars:{title:Mu("getfeatureinfo").title}})}},{key:"getActivationButton",value:function(t){return t.querySelector("button#m-getfeatureinfo-button")}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name),e}}])&&UT(e.prototype,r),n&&UT(e,n),o}(Gu);YT.NAME="getfeatureinfo",YT.POPUP_TITLE=Mu("getfeatureinfo").info;var WT=YT,XT=(r(152),r(109)),HT=r.n(XT),ZT=".m-top.m-left",KT=".m-top.m-right",JT=".m-bottom.m-left",QT=".m-bottom.m-right";function $T(t){return($T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function eP(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return tP(this,o),(e=i.call(this)).name=t,e._map=null,e._controls=[],e._buttonPanel=null,e._collapsible=!1,QF(r.collapsible)||(e._collapsible=r.collapsible),e.position=ZT,QF(r.position)||(e.position=r.position),e._collapsed=e._collapsible,QF(r.collapsed)||(e._collapsed=r.collapsed&&!0===e._collapsible),e._multiActivation=!1,QF(r.multiActivation)||(e._multiActivation=r.multiActivation),e._className=null,QF(r.className)||(e._className=r.className),e._collapsedButtonClass=null,QF(r.collapsedButtonClass)?e.position===ZT||e.position===JT?e._collapsedButtonClass="g-cartografia-flecha-derecha":e.position!==KT&&e.position!==QT||(e._collapsedButtonClass="g-cartografia-flecha-izquierda"):e._collapsedButtonClass=r.collapsedButtonClass,e._openedButtonClass=null,QF(r.openedButtonClass)?e.position===ZT||e.position===JT?e._openedButtonClass="g-cartografia-flecha-izquierda":e.position!==KT&&e.position!==QT||(e._openedButtonClass="g-cartografia-flecha-derecha"):e._openedButtonClass=r.openedButtonClass,e._element=null,e._areaContainer=null,e._controlsContainer=null,e._tooltip=null,QF(r.tooltip)||(e._tooltip=r.tooltip),e}return e=o,(r=[{key:"destroy",value:function(){null!=this._element&&this._areaContainer.removeChild(this._element),this._controlsContainer=null}},{key:"addTo",value:function(t,e){var r=this;this._map=t,this._areaContainer=e;var n=Vu(HT.a);this._element=n,QF(this._tooltip)||this._element.setAttribute("title",this._tooltip),this._buttonPanel=n.querySelector("button.m-panel-btn"),QF(this._className)||this._className.split(/\s+/).forEach((function(t){n.classList.add(t)})),!0===this._collapsed?this.collapse():this.open(),!0!==this._collapsible&&n.classList.add("no-collapsible"),this._controlsContainer=n.querySelector("div.m-panel-controls"),e.appendChild(n),this._buttonPanel.addEventListener("click",(function(t){t.preventDefault(),!1===r._collapsed?r.collapse():r.open()})),this.addControls(this._controls),this.fire(Kl,n)}},{key:"_collapse",value:function(t){t.classList.remove("opened"),this._buttonPanel.classList.remove(this._openedButtonClass),t.classList.add("collapsed"),this._buttonPanel.classList.add(this._collapsedButtonClass),this._collapsed=!0,this.fire(cu)}},{key:"_open",value:function(t){t.classList.remove("collapsed"),this._buttonPanel.classList.remove(this._collapsedButtonClass),t.classList.add("opened"),this._buttonPanel.classList.add(this._openedButtonClass),this._collapsed=!1,this.fire(uu)}},{key:"open",value:function(){this._open(this._element)}},{key:"collapse",value:function(){this._collapse(this._element)}},{key:"getControls",value:function(){return this._controls}},{key:"addControls",value:function(t){var e=this,r=t;QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){t instanceof Gu&&(e.hasControl(t)||(e._controls.push(t),t.setPanel(e),t.on(hu,e._removeControl.bind(e),e)),QF(e._controlsContainer)||(t.on(Kl,e._moveControlView.bind(e),e),t.addTo(e._map)),t.on(su,e._manageActivation.bind(e),e))})))}},{key:"hasControl",value:function(t){var e=!1;return QF(t)||(eD(t)?e=null!=this._controls.filter((function(e){return e.name===t}))[0]:t instanceof Gu&&(e=_D(this._controls,t))),e}},{key:"removeControls",value:function(t){var e=this,r=t;QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){var r=t;r instanceof Gu&&e.hasControl(r)&&(e._controls=e._controls.filter((function(t){return!r.equals(t)})),r.destroy&&r.destroy(),r.setPanel(null))}),this),0===this._controls.length&&this._map.removePanel(this))}},{key:"_removeControl",value:function(t){var e=this;this._map.controls(t).forEach((function(t){var r=e._controls.indexOf(t);-1!==r&&e._controls.splice(r,1)}))}},{key:"removeClassName",value:function(t){QF(this._element)?this._className=this._className.replace(new RegExp("s* ".concat(t," s*")),""):this._element.classList.remove(t)}},{key:"addClassName",value:function(t){QF(this._element)?this._className=this._className.concat(" ").concat(t):this._element.classList.add(t)}},{key:"_moveControlView",value:function(t){var e=t.getElement();QF(this._controlsContainer)||this._controlsContainer.appendChild(e),t.fire(Jl)}},{key:"_manageActivation",value:function(t){!0!==this._multiActivation&&this._controls.forEach((function(e){!e.equals(t)&&e.activated&&e.deactivate()}))}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=t.name===this.name),e}},{key:"getTemplatePanel",value:function(){return this._element}},{key:"getButtonPanel",value:function(){return this._buttonPanel}},{key:"isCollapsed",value:function(){return this._collapsed}},{key:"setCollapsed",value:function(t){this._collapsed=t}},{key:"getControlsContainer",value:function(){return this._controlsContainer}}])&&eP(e.prototype,r),n&&eP(e,n),o}(Cl);function sP(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function lP(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return null};cP(this,t),this.panel_=new aP(e.name,lP({},e.params)),r(this.panel_)}var e,r,n;return e=t,(r=[{key:"panel",get:function(){return this.panel_}}])&&hP(e.prototype,r),n&&hP(e,n),t}(),gP=function(t){var e=t.getPanels("map-info")[0];QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}},(function(e){pP(e,t)})).panel);return e.addClassName("m-with-scale"),e},yP=function(t,e){var r,n=(uP(r={},WT.NAME,(function(){return function(t){var e=t;if(QF(e.panel.TOOLS)){var r=new dP({name:"tools",params:{collapsible:!0,className:"m-tools",collapsedButtonClass:"g-cartografia-herramienta",position:ZT,tooltip:"Panel de herramientas"}});e.panel.TOOLS=r.panel}return e.panel.TOOLS}(e)})),uP(r,Rw.NAME,(function(){return new dP({name:Rw.NAME,params:{collapsible:!0,className:"m-layerswitcher",collapsedButtonClass:"g-cartografia-capas2",position:KT,tooltip:Mu("layerswitcher").title}},(function(t){t.on(Kl,(function(t){xD(t.querySelector(".m-panel-controls"))})),t.on(uu,(function(t){var e=t.getControls()[0];e.registerEvents(),e.render()})),t.on(cu,(function(t){t.getControls()[0].unregisterEvents()}))})).panel})),uP(r,uE.NAME,(function(){return new dP({name:uE.NAME,params:{collapsible:!1,className:"m-location",position:QT}}).panel})),uP(r,cO.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT,tooltip:"Coordenadas del puntero"}}).panel),e.addClassName("m-with-mouse"),e}(e)})),uP(r,kO.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}}).panel),e.addClassName("m-with-overview"),e}(e)})),uP(r,hI.NAME,(function(){return new dP({name:hI.NAME,params:{collapsible:!1,className:"m-panzoom",position:ZT}}).panel})),uP(r,$u.NAME,(function(){return new dP({name:$u.NAME,params:{collapsible:!1,className:"m-panzoombar",position:ZT,tooltip:"Nivel de zoom"}}).panel})),uP(r,tS.NAME,(function(){return new dP({name:tS.NAME,params:{collapsible:!1,className:"m-rotate",position:KT}}).panel})),uP(r,RE.NAME,(function(){return gP(e)})),uP(r,"".concat(RE.NAME,"*true"),(function(){return gP(e)})),uP(r,kS.NAME,(function(){return function(t){return new dP({name:kS.NAME,params:{collapsible:!1,className:"m-scaleline",position:JT,tooltip:"Línea de escala"}},(function(e){pP(e,t)})).panel}(e)})),uP(r,Jd.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}},(function(e){pP(e,t)})).panel),e.addClassName("m-with-wmcselector"),e}(e)})),r)[t.name];return $F(n)?n():null},mP=r(110),_P=r.n(mP);function vP(t,e){for(var r=0;r1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t instanceof o?t.getAttribute(e):t[e]),r}),this))}return e}},{key:"equals",value:function(t){return this.getId()===t.getId()}}])&&AP(e.prototype,r),n&&AP(e,n),o}(Zl);function GP(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qP(e);return HP(this,o),(t=i.call(this,r)).map_=null,t.layers_=[],t.activated_=!1,t.prevSelectedFeatures_={},t.prevHoverFeatures_={},$F(r.addTo)||Bl(Mu("exception").addto_method),$F(r.getFeaturesByLayer)||Bl(Mu("exception").getfeaturesbylayer_method),t}return e=o,(r=[{key:"addTo",value:function(t){this.map_=t,this.map_.on(Ou,this.moveOverMap_.bind(this)),this.map_.on(Su,this.clickOnMap_.bind(this)),this.getImpl().addTo(this.map_),this.fire(Kl)}},{key:"changeNamePrevs",value:function(t,e){var r=this.prevHoverFeatures_[t],n=this.prevSelectedFeatures_[t];this.prevHoverFeatures_[e]=r,this.prevSelectedFeatures_[e]=n,delete this.prevHoverFeatures_[t],delete this.prevSelectedFeatures_[t]}},{key:"clickOnMap_",value:function(t){var e=this;if(!0===this.activated_){var r=this.getImpl();this.map_.removePopup(),this.layers_.forEach((function(n){var i=r.getFeaturesByLayer(t,n),o=WP(e.prevSelectedFeatures_[n.id]);if(0===i.length&&o.length>0)e.unselectFeatures(o,n,t);else if(i.length>0){var a=i.filter((function(t){return!o.some((function(e){return e.equals(t)}))})),s=o.filter((function(t){return!i.some((function(e){return e.equals(t)}))}));s.length>0&&e.unselectFeatures(s,n,t),a.length>0&&e.selectFeatures(a,n,t)}}))}}},{key:"moveOverMap_",value:function(t){var e=this;if(!0===this.activated_){var r=this.getImpl();this.layers_.forEach((function(n){var i=r.getFeaturesByLayer(t,n),o=WP(e.prevHoverFeatures_[n.id]);if(0===i.length&&o.length>0)e.leaveFeatures_(o,n,t);else if(i.length>0){var a=i.filter((function(t){return(t instanceof JD||t instanceof DP)&&!o.some((function(e){return e.equals(t)}))})),s=o.filter((function(t){return!i.some((function(e){return e.equals(t)}))}));s.length>0&&e.leaveFeatures_(s,n,t),a.length>0&&e.hoverFeatures_(a,n,t)}}))}}},{key:"selectFeatures",value:function(t,e,r){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].concat(t);var n=e.getImpl();$F(n.selectFeatures)&&n.selectFeatures(t,r.coord,r),e.fire(fu,[t,r])}},{key:"unselectFeatures",value:function(t,e,r){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].filter((function(e){return!t.some((function(t){return t.equals(e)}))}));var n=e.getImpl();$F(n.unselectFeatures)&&n.unselectFeatures(t,r.coord),e.fire(pu,[t,r.coord])}},{key:"hoverFeatures_",value:function(t,e,r){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].concat(t),e.fire(du,[t,r]),this.getImpl().addCursorPointer()}},{key:"leaveFeatures_",value:function(t,e,r){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].filter((function(e){return!t.some((function(t){return t.equals(e)}))})),e.fire(gu,[t,r.coord]),this.getImpl().removeCursorPointer()}},{key:"activate",value:function(){!1===this.activated_&&(this.activated_=!0,this.fire(su))}},{key:"deactivate",value:function(){!0===this.activated_&&(this.activated_=!1,this.fire(lu))}},{key:"addLayer",value:function(t){_D(this.layers_,t)||(this.layers_.push(t),this.prevSelectedFeatures_[t.id]=[],this.prevHoverFeatures_[t.id]=[])}},{key:"removeLayer",value:function(t){this.layers_=this.layers_.filter((function(e){return!e.equals(t)})),this.prevSelectedFeatures_[t.id]=null,this.prevHoverFeatures_[t.id]=null,delete this.prevSelectedFeatures_[t.id],delete this.prevHoverFeatures_[t.id]}},{key:"destroy",value:function(){}},{key:"clearSelectedFeatures",value:function(){var t=this;Object.keys(this.prevSelectedFeatures_).forEach((function(e){t.prevSelectedFeatures_[e]=[]}))}},{key:"clearHoverFeatures",value:function(){var t=this;Object.keys(this.prevHoverFeatures_).forEach((function(e){t.prevHoverFeatures_[e]=[]}))}}])&&ZP(e.prototype,r),n&&ZP(e,n),o}(Zl),eR=r(111),rR=r.n(eR);function nR(t){return(nR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function iR(t,e){for(var r=0;r0;else{var h=c.getType();s="Point"===h||"MultiPoint"===h}}s&&(l=o.get("name"),(s=s&&!!l)&&l.search(/&[^&]+;/)>-1&&(NR||(NR=document.createElement("textarea")),NR.innerHTML=l,l=NR.value));var f=r;if(t?f=t:e&&(f=GR(e,r,n)),s){var p=function(t,e){var r=[0,0],n="start",i=t.getImage();if(i){var o=i.getSize();if(o&&2==o.length){var a=i.getScaleArray(),s=i.getAnchor();r[0]=a[0]*(o[0]-s[0]),r[1]=a[1]*(o[1]/2-s[1]),n="left"}}var l=t.getText();l?((l=l.clone()).setFont(l.getFont()||MR.getFont()),l.setScale(l.getScale()||MR.getScale()),l.setFill(l.getFill()||MR.getFill()),l.setStroke(l.getStroke()||RR)):l=MR.clone();return l.setText(e),l.setOffsetX(r[0]),l.setOffsetY(r[1]),l.setTextAlign(n),new om({image:i,text:l})}(f[0],l);return u.length>0?(p.setGeometry(new kh(u)),[p,new om({geometry:f[0].getGeometry(),image:null,fill:f[0].getFill(),stroke:f[0].getStroke(),text:null})].concat(f.slice(1))):p}return f}}(r.Style,r.styleUrl,this.defaultStyle_,this.sharedStyles_,this.showPointNames_);n.setStyle(s)}return delete r.Style,n.setProperties(r,!0),n}},e.prototype.readSharedStyle_=function(t,e){var r=t.getAttribute("id");if(null!==r){var n=dL.call(this,t,e);if(n){var i=void 0,o=t.baseURI;if(o&&"about:blank"!=o||(o=window.location.href),o)i=new URL("#"+r,o).href;else i="#"+r;this.sharedStyles_[i]=n}}},e.prototype.readSharedStyleMap_=function(t,e){var r=t.getAttribute("id");if(null!==r){var n=WR.call(this,t,e);if(n){var i,o=t.baseURI;if(o&&"about:blank"!=o||(o=window.location.href),o)i=new URL("#"+r,o).href;else i="#"+r;this.sharedStyles_[i]=n}}},e.prototype.readFeatureFromNode=function(t,e){if(!Object(h.f)(vR,t.namespaceURI))return null;var r=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return r||null},e.prototype.readFeaturesFromNode=function(t,e){if(!Object(h.f)(vR,t.namespaceURI))return[];var r,n=t.localName;if("Document"==n||"Folder"==n)return(r=this.readDocumentOrFolder_(t,[this.getReadOptions(t,e)]))||[];if("Placemark"==n){var i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i?[i]:[]}if("kml"==n){r=[];for(var o=t.firstElementChild;o;o=o.nextElementSibling){var a=this.readFeaturesFromNode(o,e);a&&Object(h.c)(r,a)}return r}return[]},e.prototype.readName=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readNameFromDocument(e)}return y(t)?this.readNameFromDocument(t):this.readNameFromNode(t)}},e.prototype.readNameFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE){var r=this.readNameFromNode(e);if(r)return r}},e.prototype.readNameFromNode=function(t){for(var e=t.firstElementChild;e;e=e.nextElementSibling)if(Object(h.f)(vR,e.namespaceURI)&&"name"==e.localName)return X(e);for(e=t.firstElementChild;e;e=e.nextElementSibling){var r=e.localName;if(Object(h.f)(vR,e.namespaceURI)&&("Document"==r||"Folder"==r||"Placemark"==r||"kml"==r)){var n=this.readNameFromNode(e);if(n)return n}}},e.prototype.readNetworkLinks=function(t){var e=[];if("string"==typeof t){var r=m(t);Object(h.c)(e,this.readNetworkLinksFromDocument(r))}else y(t)?Object(h.c)(e,this.readNetworkLinksFromDocument(t)):Object(h.c)(e,this.readNetworkLinksFromNode(t));return e},e.prototype.readNetworkLinksFromDocument=function(t){for(var e=[],r=t.firstChild;r;r=r.nextSibling)r.nodeType==Node.ELEMENT_NODE&&Object(h.c)(e,this.readNetworkLinksFromNode(r));return e},e.prototype.readNetworkLinksFromNode=function(t){for(var e=[],r=t.firstElementChild;r;r=r.nextElementSibling)if(Object(h.f)(vR,r.namespaceURI)&&"NetworkLink"==r.localName){var n=R({},wR,r,[]);e.push(n)}for(r=t.firstElementChild;r;r=r.nextElementSibling){var i=r.localName;!Object(h.f)(vR,r.namespaceURI)||"Document"!=i&&"Folder"!=i&&"kml"!=i||Object(h.c)(e,this.readNetworkLinksFromNode(r))}return e},e.prototype.readRegion=function(t){var e=[];if("string"==typeof t){var r=m(t);Object(h.c)(e,this.readRegionFromDocument(r))}else y(t)?Object(h.c)(e,this.readRegionFromDocument(t)):Object(h.c)(e,this.readRegionFromNode(t));return e},e.prototype.readRegionFromDocument=function(t){for(var e=[],r=t.firstChild;r;r=r.nextSibling)r.nodeType==Node.ELEMENT_NODE&&Object(h.c)(e,this.readRegionFromNode(r));return e},e.prototype.readRegionFromNode=function(t){for(var e=[],r=t.firstElementChild;r;r=r.nextElementSibling)if(Object(h.f)(vR,r.namespaceURI)&&"Region"==r.localName){var n=R({},SR,r,[]);e.push(n)}for(r=t.firstElementChild;r;r=r.nextElementSibling){var i=r.localName;!Object(h.f)(vR,r.namespaceURI)||"Document"!=i&&"Folder"!=i&&"kml"!=i||Object(h.c)(e,this.readRegionFromNode(r))}return e},e.prototype.writeFeaturesNode=function(t,e){e=this.adaptOptions(e);var r=p(vR[4],"kml"),n="http://www.w3.org/2000/xmlns/";r.setAttributeNS(n,"xmlns:gx",_R[0]),r.setAttributeNS(n,"xmlns:xsi",f),r.setAttributeNS(f,"xsi:schemaLocation","http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");var i={node:r},o={};t.length>1?o.Document=t:1==t.length&&(o.Placemark=t[0]);var a=OR[r.namespaceURI],s=C(o,a);return A(i,IR,I,s,[e],a,this),r},e}(yI);function GR(t,e,r){return Array.isArray(t)?t:"string"==typeof t?GR(r[t],e,r):e}function UR(t){var e=d(t,!1),r=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(e);if(r){var n=r[1];return[parseInt(n.substr(6,2),16),parseInt(n.substr(4,2),16),parseInt(n.substr(2,2),16),parseInt(n.substr(0,2),16)/255]}}function BR(t){var e=d(t,!1),r=[];e=e.replace(/\s*,\s*/g,",");for(var n,i=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i;n=i.exec(e);){var o=parseFloat(n[1]),a=parseFloat(n[2]),s=n[3]?parseFloat(n[3]):0;r.push(o,a,s),e=e.substr(n[0].length)}if(""===e)return r}function zR(t){var e=d(t,!1).trim(),r=t.baseURI;return r&&"about:blank"!=r||(r=window.location.href),r?new URL(e,r).href:e}function VR(t){var e=d(t,!1).trim().replace(/^(?!.*#)/,"#"),r=t.baseURI;return r&&"about:blank"!=r||(r=window.location.href),r?new URL(e,r).href:e}function qR(t){return V(t)}var YR=T(vR,{Pair:function(t,e){var r=R({},bL,t,e,this);if(!r)return;var n=r.key;if(n&&"normal"==n){var i=r.styleUrl;i&&(e[e.length-1]=i);var o=r.Style;o&&(e[e.length-1]=o)}}});function WR(t,e){return R(void 0,YR,t,e,this)}var XR=T(vR,{Icon:w((function(t,e){var r=R({},rL,t,e);return r||null})),color:w(UR),heading:w(V),hotSpot:w((function(t){var e,r=t.getAttribute("xunits"),n=t.getAttribute("yunits");return e="insetPixels"!==r?"insetPixels"!==n?Zg:Jg:"insetPixels"!==n?Kg:Qg,{x:parseFloat(t.getAttribute("x")),xunits:bR[r],y:parseFloat(t.getAttribute("y")),yunits:bR[n],origin:e}})),scale:w(qR)});var HR=T(vR,{color:w(UR),scale:w(qR)});var ZR=T(vR,{color:w(UR),width:w(V)});var KR=T(vR,{color:w(UR),fill:w(U),outline:w(U)});var JR=T(vR,{coordinates:b(BR)});function QR(t,e){return R(null,JR,t,e)}var $R=T(_R,{Track:v(eL)});var tL=T(vR,{when:function(t,e){var r=e[e.length-1].whens,n=d(t,!1),i=Date.parse(n);r.push(isNaN(i)?0:i)}},T(_R,{coord:function(t,e){var r=e[e.length-1].coordinates,n=d(t,!1),i=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(n);if(i){var o=parseFloat(i[1]),a=parseFloat(i[2]),s=parseFloat(i[3]);r.push([o,a,s])}else r.push([])}}));function eL(t,e){var r=R({coordinates:[],whens:[]},tL,t,e);if(r){for(var n=[],i=r.coordinates,o=r.whens,a=0,s=Math.min(i.length,o.length);a0){var n=e[e.length-1];n.push.apply(n,r)}},outerBoundaryIs:function(t,e){var r=R(void 0,OL,t,e);if(r){e[e.length-1][0]=r}}});function fL(t,e){var r=R({},oL,t,e),n=R([null],hL,t,e);if(n&&n[0]){for(var i=n[0],o=[i.length],a=1,s=n.length;a0,c=l.href;c?n=c:u&&(n=yR);var h,f=Zg,p=r.hotSpot;p?(i=[p.x,p.y],o=p.xunits,a=p.yunits,f=p.origin):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(n)&&(/pushpin/.test(n)?(i=fR,o=pR,a=dR):/arrow-reverse/.test(n)?(i=[54,42],o=pR,a=dR):/paddle/.test(n)&&(i=[32,1],o=pR,a=dR));var d,g=l.x,y=l.y;void 0!==g&&void 0!==y&&(h=[g,y]);var m,_=l.w,v=l.h;void 0!==_&&void 0!==v&&(d=[_,v]);var b=r.heading;void 0!==b&&(m=Object(qo.n)(b));var x=r.scale,w=r.color;if(u){n==yR&&(d=gR);var E=new oy({anchor:i,anchorOrigin:f,anchorXUnits:o,anchorYUnits:a,crossOrigin:this.crossOrigin_,offset:h,offsetOrigin:Zg,rotation:m,scale:x,size:d,src:this.iconUrlFunction_(n),color:w}),S=E.getScaleArray()[0],O=E.getSize();if(null===O){var I=E.getImageState();if(I===$g.a.IDLE||I===$g.a.LOADING){E.listenImageChange((function t(){var e=E.getImageState();if(e!==$g.a.IDLE&&e!==$g.a.LOADING){var r=E.getSize();if(r&&2==r.length){var n=jR(r);E.setScale(S*n)}E.unlistenImageChange(t)}})),I===$g.a.IDLE&&E.load()}}else if(2==O.length){var C=jR(O);E.setScale(S*C)}s.imageStyle=E}else s.imageStyle=TR}},LabelStyle:function(t,e){var r=R({},HR,t,e);if(r){var n=e[e.length-1],i=new lm({fill:new Jy({color:"color"in r?r.color:hR}),scale:r.scale});n.textStyle=i}},LineStyle:function(t,e){var r=R({},ZR,t,e);if(r){var n=e[e.length-1],i=new Qy({color:"color"in r?r.color:hR,width:"width"in r?r.width:1});n.strokeStyle=i}},PolyStyle:function(t,e){var r=R({},KR,t,e);if(r){var n=e[e.length-1],i=new Jy({color:"color"in r?r.color:hR});n.fillStyle=i;var o=r.fill;void 0!==o&&(n.fill=o);var a=r.outline;void 0!==a&&(n.outline=a)}}});function dL(t,e){var r=R({},pL,t,e,this);if(!r)return null;var n,i="fillStyle"in r?r.fillStyle:CR,o=r.fill;void 0===o||o||(i=null),"imageStyle"in r?r.imageStyle!=TR&&(n=r.imageStyle):n=PR;var a="textStyle"in r?r.textStyle:MR,s="strokeStyle"in r?r.strokeStyle:LR,l=r.outline;return void 0===l||l?[new om({fill:i,image:n,stroke:s,text:a,zIndex:void 0})]:[new om({geometry:function(t){var e=t.getGeometry(),r=e.getType();return"GeometryCollection"===r?new kh(e.getGeometriesArrayRecursive().filter((function(t){var e=t.getType();return"Polygon"!==e&&"MultiPolygon"!==e}))):"Polygon"!==r&&"MultiPolygon"!==r?e:void 0},fill:i,image:n,stroke:s,text:a,zIndex:void 0}),new om({geometry:function(t){var e=t.getGeometry(),r=e.getType();return"GeometryCollection"===r?new kh(e.getGeometriesArrayRecursive().filter((function(t){var e=t.getType();return"Polygon"===e||"MultiPolygon"===e}))):"Polygon"===r||"MultiPolygon"===r?e:void 0},fill:i,stroke:null,zIndex:void 0})]}function gL(t,e){var r,n,i,o=e.length,a=new Array(e.length),s=new Array(e.length),l=new Array(e.length);r=!1,n=!1,i=!1;for(var u=0;u0){var m=C(i,a);A(n,KL,QL,[{names:a,values:m}],r)}var _=r[0],v=e.getGeometry();v&&(v=pI(v,!0,_)),A(n,KL,BL,[v],r)}var tM=T(vR,["extrude","tessellate","altitudeMode","coordinates"]),eM=T(vR,{extrude:E(H),tessellate:E(H),altitudeMode:E(J),coordinates:E((function(t,e,r){var n,i=r[r.length-1],o=i.layout,a=i.stride;o==$o||o==ea?n=2:o==ta||o==ra?n=3:Object(go.a)(!1,34);var s=e.length,l="";if(s>0){l+=e[0];for(var u=1;u0&&void 0!==arguments[0]?arguments[0]:{};return dM(this,o),(t=i.call(this)).screenOverlay_=null,t.label_=void 0===e.label||e.label,t}return e=o,(r=[{key:"readCustomFeatures",value:function(t,e){var r=this,n=this.readFeatures(t,e).map((function(t){var e=t.getStyle()(t);if(!1===r.label_){var n=[e[0]];t.setStyle(n)}return Array.isArray(e)||(e=[e]),e.forEach((function(t){if(t.getImage()instanceof oy){var e=t.getImage();t.setImage(e)}})),t.set("name",SD(t.get("name"))),t}));return this.readScreenOverlay(t),n}},{key:"readScreenOverlay",value:function(t){var e="xunits",r="yunits",n=m(t).querySelector("ScreenOverlay");if(null!==n){var i,a,s,l,u,c,h=n.querySelector("Icon"),f=null!==h?h.querySelector("href").innerHTML:o.DEFAULT_NO_IMAGE_STYLE,p=n.querySelector("overlayXY");null!==p&&(i=[parseFloat(p.getAttribute("x")),parseFloat(p.getAttribute("y"))],a=p.getAttribute(e),s=p.getAttribute(r));var d,g,y,_=n.querySelector("screenXY");null!==_?(l=[parseFloat(_.getAttribute("x")),parseFloat(_.getAttribute("y"))],u=_.getAttribute(e),c=_.getAttribute(r)):f===o.DEFAULT_IMAGE_STYLE_SRC?(l=o.DEFAULT_IMAGE_STYLE_ANCHOR,u=o.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS,c=o.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(f)&&(l=[.5,0],u=Xg,c=Xg);var v,b,x,w=n.querySelector("rotationXY");if(null!==w){var E=parseFloat(w.getAttribute("x"));d=Math.PI/180*E,g=w.getAttribute(e),y=w.getAttribute(r)}var S=n.querySelector("size");null!==S&&(v=[parseFloat(S.getAttribute("x")),parseFloat(S.getAttribute("y"))],b=S.getAttribute(e),x=S.getAttribute(r)),this.screenOverlay_={screenXY:l,screenXUnits:u,screenYUnits:c,overlayXY:i,overlayXUnits:a,overlayYUnits:s,rotationXY:d,rotationXUnits:g,rotationYUnits:y,size:v,sizeXUnits:b,sizeYUnits:x,src:f}}}},{key:"getScreenOverlay",value:function(){return this.screenOverlay_}}])&&gM(e.prototype,r),n&&gM(e,n),o}(fM);bM.DEFAULT_NO_IMAGE_STYLE="NO_IMAGE",bM.DEFAULT_IMAGE_STYLE_SRC="https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",bM.DEFAULT_IMAGE_STYLE_ANCHOR=[20,2],bM.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS="pixels",bM.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS="pixels";var xM=bM;function wM(t){return(wM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function EM(t,e){for(var r=0;r1?this.popup_.removeTab(this.tabPopup_):this.map.removePopup())}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t.features,i);n(e)}))}))}},{key:"requestFeatures_",value:function(){var t=this;return QF(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))),this.loadFeaturesPromise_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}])&&EM(e.prototype,r),n&&EM(e,n),o}(Fx);function PM(t){return(PM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function RM(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function LM(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};AM(this,o);var a=Wc(t,ec),s=LM(LM({},r),{},{label:a.label}),l=new TM(s,n);return e=i.call(this,a,r,void 0,l),HF(TM)&&Bl(Mu("exception").kmllayer_method),QF(t)&&Bl(Mu("exception").no_param),e.extract=a.extract,e.options=r,e.label=a.label,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}},{key:"type",get:function(){return ec},set:function(t){HF(t)||QF(t)||t===ec||Bl("El tipo de capa debe ser '".concat(ec).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"extract",get:function(){return this.getImpl().extract},set:function(t){QF(t)?this.getImpl().extract=!0:eD(t)?this.getImpl().extract="true"===iD(t):this.getImpl().extract=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&NM(e.prototype,r),n&&NM(e,n),o}(nw),UM=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function BM(t){if("string"==typeof t){var e=JSON.parse(t);return e||null}return null!==t?t:null}var zM=function(t){function e(){return t.call(this)||this}return UM(e,t),e.prototype.getType=function(){return"json"},e.prototype.readFeature=function(t,e){return this.readFeatureFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readFeatures=function(t,e){return this.readFeaturesFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readFeatureFromObject=function(t,e){return Object(si.b)()},e.prototype.readFeaturesFromObject=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){return this.readGeometryFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readGeometryFromObject=function(t,e){return Object(si.b)()},e.prototype.readProjection=function(t){return this.readProjectionFromObject(BM(t))},e.prototype.readProjectionFromObject=function(t){return Object(si.b)()},e.prototype.writeFeature=function(t,e){return JSON.stringify(this.writeFeatureObject(t,e))},e.prototype.writeFeatureObject=function(t,e){return Object(si.b)()},e.prototype.writeFeatures=function(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))},e.prototype.writeFeaturesObject=function(t,e){return Object(si.b)()},e.prototype.writeGeometry=function(t,e){return JSON.stringify(this.writeGeometryObject(t,e))},e.prototype.writeGeometryObject=function(t,e){return Object(si.b)()},e}(fI),VM=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function qM(t,e){if(!t)return null;var r;switch(t.type){case"Point":r=function(t){return new Aa(t.coordinates)}(t);break;case"LineString":r=function(t){return new Eh(t.coordinates)}(t);break;case"Polygon":r=function(t){return new Xa(t.coordinates)}(t);break;case"MultiPoint":r=function(t){return new mh(t.coordinates)}(t);break;case"MultiLineString":r=function(t){return new Oh(t.coordinates)}(t);break;case"MultiPolygon":r=function(t){return new Th(t.coordinates)}(t);break;case"GeometryCollection":r=function(t,e){var r=t.geometries.map((function(t){return qM(t,e)}));return new kh(r)}(t);break;default:throw new Error("Unsupported GeoJSON type: "+t.type)}return pI(r,!1,e)}function YM(t,e){var r,n=(t=pI(t,!0,e)).getType();switch(n){case"Point":r=function(t,e){return{type:"Point",coordinates:t.getCoordinates()}}(t);break;case"LineString":r=function(t,e){return{type:"LineString",coordinates:t.getCoordinates()}}(t);break;case"Polygon":r=function(t,e){var r;e&&(r=e.rightHanded);return{type:"Polygon",coordinates:t.getCoordinates(r)}}(t,e);break;case"MultiPoint":r=function(t,e){return{type:"MultiPoint",coordinates:t.getCoordinates()}}(t);break;case"MultiLineString":r=function(t,e){return{type:"MultiLineString",coordinates:t.getCoordinates()}}(t);break;case"MultiPolygon":r=function(t,e){var r;e&&(r=e.rightHanded);return{type:"MultiPolygon",coordinates:t.getCoordinates(r)}}(t,e);break;case"GeometryCollection":r=function(t,e){return{type:"GeometryCollection",geometries:t.getGeometriesArray().map((function(t){var r=Object(Mi.a)({},e);return delete r.featureProjection,YM(t,r)}))}}(t,e);break;case"Circle":r={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+n)}return r}var WM=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this)||this).dataProjection=Object(u.o)(n.dataProjection?n.dataProjection:"EPSG:4326"),n.featureProjection&&(r.defaultFeatureProjection=Object(u.o)(n.featureProjection)),r.geometryName_=n.geometryName,r.extractGeometryName_=n.extractGeometryName,r.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"],r}return VM(e,t),e.prototype.readFeatureFromObject=function(t,e){var r=null,n=qM((r="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null}).geometry,e),i=new gh;return this.geometryName_?i.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in r!==void 0&&i.setGeometryName(r.geometry_name),i.setGeometry(n),"id"in r&&i.setId(r.id),r.properties&&i.setProperties(r.properties,!0),i},e.prototype.readFeaturesFromObject=function(t,e){var r=null;if("FeatureCollection"===t.type){r=[];for(var n=t.features,i=0,o=n.length;i0&&void 0!==arguments[0]?arguments[0]:{};return HM(this,o),i.call(this,t)}return e=o,n=[{key:"readProjectionFromObject",value:function(t){var e,r=t.crs;if(r)if("name"===r.type)e=Object(u.o)(r.properties.name);else{if("EPSG"!==r.type)throw e=null,new Error("Unknown crs.type: ".concat(r.type));e=Object(u.o)("EPSG:".concat(r.properties.code))}else e="EPSG:4326";return e}},{key:"applyIcon",value:function(t,e){var r,n=document.createElement("IMG");n.src=e.url,n.width=e.width,n.height=e.height,n.crossOrigin="anonymous",e.anchor&&e.anchor.x&&e.anchor.y&&(r=[e.anchor.x,e.anchor.y]),t.setStyle(new om({image:new oy({img:n,imgSize:[e.width,e.height],anchor:r})}))}}],(r=[{key:"readFeatureFromObject",value:function(t,e){var r=t,n=KM(tA(o.prototype),"readFeatureFromObject",this).call(this,r,e);return this.geometryName_&&n.setGeometryName(this.geometryName_),QF(r.id)?n.setId(sD("geojson_")):n.setId(r.id),r.properties&&n.setProperties(r.properties),r.click&&(n.click=r.click),r.properties&&r.properties.vendor&&r.properties.vendor.mapea&&r.properties.vendor.mapea.icon&&o.applyIcon(n,r.properties.vendor.mapea.icon),n}},{key:"writeFeatureObject",value:function(t,e){var r=e,n={type:"Feature"},i=t.getId();i&&(n.id=i);var a=t.getGeometry();n.geometry=a?KM(tA(o.prototype),"writeGeometryObject",this).call(this,a,r):null;var s=t.getProperties();return delete s[t.getGeometryName()],QF(s)?n.properties=null:n.properties=s,QF(t.click)||(n.click=t.click),n}},{key:"write",value:function(t){var e=this;return t.map((function(t){return e.writeFeatureObject(t.getImpl().getOLFeature())}))}},{key:"read",value:function(t,e,r){var n=r.code;QF(n)&&(n=QF(r.featureProjection)?Object(u.o)(r.getCode()):Object(u.o)(r.featureProjection.getCode()));var i=o.readProjectionFromObject(t);return e.map((function(t){var e=t.id,r=new JD(e,t),o=r.getImpl().getOLFeature(),a=o.getGeometry().transform(i,n);return o.setGeometry(a),r}))}}])&&ZM(e.prototype,r),n&&ZM(e,n),o}(WM);function rA(t){return(rA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function iA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};nA(this,o);var r=new eA(e);return t=i.call(this,r),HF(eA)&&Bl(Mu("exception").geojson_method),t}return e=o,(r=[{key:"write",value:function(t){var e=t;return JF(e)||(e=[e]),this.getImpl().write(e)}},{key:"read",value:function(t,e){var r=t,n=[];if(!QF(r)){eD(r)&&(r=JSON.parse(r));var i=[];"FeatureCollection"===r.type?i=r.features:"Feature"===r.type&&(i=[r]),n=this.getImpl().read(r,i,e)}return n}}])&&iA(e.prototype,r),n&&iA(e,n),o}(Zl);function cA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};cA(this,t),this.rootPrefix=null,this.namespaces={ol:"http://openlayers.org/context",wmc:"http://www.opengis.net/context",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema",ogc:"http://www.opengis.net/ogc",wmcext:"http://wmcext.org/context"},this.options=e}var e,r,n;return e=t,n=[{key:"getChildValue",value:function(t,e){var r=e||"";if(t)for(var n=t.firstChild;n;n=n.nextSibling)switch(n.nodeType){case 3:case 4:r+=n.nodeValue}return r}}],(r=[{key:"read",value:function(t){var e=t;eD(t)&&(e=m(t)),9!==e.nodeType&&Bl(Mu("exception").must_be_document);var r={};return this.readRoot(r,e),r}},{key:"readRoot",value:function(t,e){var r=t,n=e.documentElement;this.rootPrefix=n.prefix,r.version=n.getAttribute("version"),this.runChildNodes(r,n)}},{key:"runChildNodes",value:function(t,e){for(var r,n,i,o,a=e.childNodes,s=0,l=a.length;s0&&void 0!==arguments[0]?arguments[0]:{};return CA(this,r),e.call(this,t)}return r}(OA);function AA(t){return(AA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function NA(t,e){for(var r=0;r=0?zx(Mu("dialog").only_one_filter):Bl(Mu("exception").no_getfeature_response)}))}))}},{key:"getRequestUrl_",value:function(t,e){return this.service_.getFeatureUrl(null,e)}}])&&NA(e.prototype,r),n&&NA(e,n),o}(Cl);function UA(t){return(UA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function BA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return BA(this,o),(t=i.call(this,e,r)).describeFeatureType_=null,t.formater_=null,t.loader_=null,t.service_=null,t.loaded_=!1,QF(t.options.getFeatureOutputFormat)&&(t.options.getFeatureOutputFormat="application/json"),t}return e=o,(r=[{key:"addTo",value:function(t){var e=this;VA(XA(o.prototype),"addTo",this).call(this,t),t.getImpl().on(_u,(function(){return e.refresh()}))}},{key:"refresh",value:function(t){t&&this.facadeVector_.removeFeatures(this.facadeVector_.getFeatures(!0)),this.updateSource_(t)}},{key:"updateSource_",value:function(t){var e=this;QF(this.vendorOptions_.source)&&(this.service_=new EA({url:this.url,namespace:this.namespace,name:this.name,version:this.version,ids:this.ids,cql:this.cql,projection:this.map.getProjection(),getFeatureOutputFormat:this.options.getFeatureOutputFormat,describeFeatureTypeOutputFormat:this.options.describeFeatureTypeOutputFormat},this.options.vendor),/json/gi.test(this.options.getFeatureOutputFormat)?this.formater_=new uA({defaultDataProjection:Object(u.o)(this.map.getProjection().code)}):this.formater_=new MA(this.name,this.version,this.map.getProjection()),this.loader_=new GA(this.map,this.service_,this.formater_),this.requestFeatures_().then((function(r){var n=e.facadeVector_.getStyle()instanceof Xb,i=null;if(QF(e.ol3Layer)||(i=e.ol3Layer.getSource()),!0===t||QF(i)){var o=new qg({loader:function(){e.loaded_=!0,e.facadeVector_.addFeatures(r),e.fire(yu,[r]),e.facadeVector_.redraw()}});if(n){var a=e.facadeVector_.getStyle().getOptions().distance,s=new Wg({distance:a,source:o});e.ol3Layer.setStyle(e.facadeVector_.getStyle().getImpl().olStyleFn),e.ol3Layer.setSource(s)}else e.ol3Layer&&e.ol3Layer.setSource(o)}else n&&(i=i.getSource()),i.set("format",e.formater_),i.set("loader",e.loader_.getLoaderFn((function(t){e.loaded_=!0,e.facadeVector_.addFeatures(t),e.fire(yu,[t]),e.facadeVector_.redraw()}))),i.set("strategy",Dg),n||i.changed()})))}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t,i);n(e)}))}))}},{key:"setCQL",value:function(t){this.cql=t,this.refresh(!0)}},{key:"getDescribeFeatureType",value:function(){var t=this;return QF(this.describeFeatureType_)&&(this.describeFeatureType_=this.service_.getDescribeFeatureType().then((function(e){return QF(e)||(t.formater_=new eA({geometryName:e.geometryName,defaultDataProjection:Object(u.o)(t.map.getProjection().code)})),e}))),this.describeFeatureType_}},{key:"getDefaultValue",value:function(t){return"dateTime"===t?"0000-00-00T00:00:00":"date"===t?"0000-00-00":"time"===t?"00:00:00":"duration"===t?"P0Y":"int"===t||"number"===t||"float"===t||"double"===t||"decimal"===t||"short"===t||"byte"===t||"integer"===t||"long"===t||"negativeInteger"===t||"nonNegativeInteger"===t||"nonPositiveInteger"===t||"positiveInteger"===t||"unsignedLong"===t||"unsignedInt"===t||"unsignedShort"===t||"unsignedByte"===t?0:"hexBinary"===t?null:"-"}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"requestFeatures_",value:function(){var t=this;return new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}}])&&zA(e.prototype,r),n&&zA(e,n),o}(Fx),ZA="POINT",KA="LINE",JA="POLYGON",QA="MPOINT",$A="MLINE",tN="MPOLYGON",eN=function(t){var e=iD(t,!0);return a[e]};function rN(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function nN(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new HA(r,n);aN(this,o);var s=Wc(t,nc);return e=i.call(this,s,r,void 0,a),HF(HA)&&Bl(Mu("exception").wfslayer_method),QF(t)&&Bl(Mu("exception").no_param),e.namespace=s.namespace,e.legend=s.legend,e.cql=s.cql,e.geometry=s.geometry,e.ids=s.ids,e.version=s.version,e.options=r,e.extract=s.extract,e}return e=o,(r=[{key:"setCQL",value:function(t){var e=this,r=t;this.getImpl().getDescribeFeatureType().then((function(t){if(!QF(r)){var n=t.geometryName;r=r.replace(/{{geometryName}}/g,n)}e.getImpl().cql!==r&&e.getImpl().setCQL(r)}))}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;lN(fN(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}},{key:"type",get:function(){return nc},set:function(t){HF(t)||QF(t)||t===nc||Bl("El tipo de capa debe ser '".concat(nc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"namespace",get:function(){return this.getImpl().namespace},set:function(t){this.getImpl().namespace=t}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"cql",get:function(){return this.getImpl().cql},set:function(t){this.getImpl().cql=t}},{key:"geometry",get:function(){return this.getImpl().geometry},set:function(t){if(!QF(t)){var e=eN(t);QF(e)&&Bl("El tipo de capa WFS ".concat(t," no se reconoce. Los tipos disponibles son: POINT, LINE, POLYGON, MPOINT, MLINE, MPOLYGON")),this.getImpl().geometry=e}}},{key:"ids",get:function(){return this.getImpl().ids},set:function(t){QF(t)?this.getImpl().ids=this.ids:this.getImpl().ids=t}},{key:"version",get:function(){return this.getImpl().version},set:function(t){QF(t)?this.getImpl().version="1.0.0":this.getImpl().version=t}}])&&sN(e.prototype,r),n&&sN(e,n),o}(nw);pN.DEFAULT_PARAMS={fill:{color:"rgba(103, 175, 19, 0.2)",opacity:.4},stroke:{color:"#67af13",width:1}},pN.DEFAULT_OPTIONS_STYLE={point:nN(nN({},pN.DEFAULT_PARAMS),{},{radius:5}),line:nN({},pN.DEFAULT_PARAMS),polygon:nN({},pN.DEFAULT_PARAMS)};var dN=pN;function gN(t){return(gN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yN(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mN(t,e){for(var r=0;r0&&this.readwmcOnlineResource(n,i[0]),r.options.metadataURL=n.href}},{key:"readwmcextmetadata",value:function(t,e){t.options.metadataUrl=e&&e.innerHTML}},{key:"readwmcAbstract",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.abstract=n)}},{key:"readwmcLatLonBoundingBox",value:function(t,e){t.llbbox=[parseFloat(e.getAttribute("minx")),parseFloat(e.getAttribute("miny")),parseFloat(e.getAttribute("maxx")),parseFloat(e.getAttribute("maxy"))]}},{key:"readwmcLegendURL",value:function(t,e){var r=t,n={width:e.getAttribute("width"),height:e.getAttribute("height")},i=e.getElementsByTagName("OnlineResource");i.length>0&&this.readwmcOnlineResource(n,i[0]),r.legend=n}},{key:"readsldFeatureTypeStyle",value:function(t,e){t.body=d(e)}},{key:"readwmcKeywordList",value:function(t,e){var r=t;r.keywords=[],this.runChildNodes(r.keywords,e)}},{key:"readwmcKeyword",value:function(t,e){t.push(fA.getChildValue(e))}},{key:"readwmcLogoURL",value:function(t,e){t.logo={width:e.getAttribute("width"),height:e.getAttribute("height"),format:e.getAttribute("format"),href:this.getOnlineResource_href(e)}}},{key:"readwmcDescriptionURL",value:function(t,e){t.descriptionURL=this.getOnlineResource_href(e)}},{key:"readwmcContactInformation",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.contactInformation=n}},{key:"readwmcContactPersonPrimary",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.personPrimary=n}},{key:"readwmcContactPerson",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.person=n)}},{key:"readwmcContactOrganization",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.organization=n)}},{key:"readwmcContactPosition",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.position=n)}},{key:"readwmcContactAddress",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.contactAddress=n}},{key:"readwmcAddressType",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.type=n)}},{key:"readwmcAddress",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.address=n)}},{key:"readwmcCity",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.city=n)}},{key:"readwmcStateOrProvince",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.stateOrProvince=n)}},{key:"readwmcPostCode",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.postcode=n)}},{key:"readwmcCountry",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.country=n)}},{key:"readwmcContactVoiceTelephone",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.phone=n)}},{key:"readwmcContactFacsimileTelephone",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.fax=n)}},{key:"readwmcContactElectronicMailAddress",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.email=n)}},{key:"readwmcDataURL",value:function(t,e){t.dataURL=this.getOnlineResource_href(e)}},{key:"readwmcDimensionList",value:function(t,e){var r=t;r.dimensions={},this.runChildNodes(r.dimensions,e)}},{key:"readwmcDimension",value:function(t,e){var r=t,n={name:e.getAttribute("name").toLowerCase(),units:e.getAttribute("units")||"",unitSymbol:e.getAttribute("unitSymbol")||"",userValue:e.getAttribute("userValue")||"",nearestValue:"1"===e.getAttribute("nearestValue"),multipleValues:"1"===e.getAttribute("multipleValues"),current:"1"===e.getAttribute("current"),default:e.getAttribute("default")||""},i=fA.getChildValue(e);n.values=i.split(","),r[n.name]=n}}])&&mN(e.prototype,r),n&&mN(e,n),o}(fA);function EN(t){return(EN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function SN(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)||Object(h.d)(l,(function(r){return e.Identifier==r.TileMatrix||-1===e.Identifier.indexOf(":")&&t.Identifier+":"+e.Identifier===r.TileMatrix}))){i.push(e.Identifier);var r=28e-5*e.ScaleDenominator/p,u=e.TileWidth,c=e.TileHeight;d?o.push([e.TopLeftCorner[1],e.TopLeftCorner[0]]):o.push(e.TopLeftCorner),n.push(r),a.push(u==c?u:[u,c]),s.push([e.MatrixWidth,e.MatrixHeight])}})),new HN({extent:e,origins:o,resolutions:n,matrixIds:i,tileSizes:a,sizes:s})}var JN=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),QN=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(n=e.interpolate);var i=void 0!==e.requestEncoding?e.requestEncoding:"KVP",o=e.tileGrid,a=e.urls;return void 0===a&&void 0!==e.url&&(a=rp(e.url)),(r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:n,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:o,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,urls:a,wrapX:void 0!==e.wrapX&&e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).version_=void 0!==e.version?e.version:"1.0.0",r.format_=void 0!==e.format?e.format:"image/jpeg",r.dimensions_=void 0!==e.dimensions?e.dimensions:{},r.layer_=e.layer,r.matrixSet_=e.matrixSet,r.style_=e.style,r.requestEncoding_=i,r.setKey(r.getKeyForDimensions_()),a&&a.length>0&&(r.tileUrlFunction=tp(a.map(r.createFromWMTSTemplate.bind(r)))),r}return JN(e,t),e.prototype.setUrls=function(t){this.urls=t;var e=t.join("\n");this.setTileUrlFunction(tp(t.map(this.createFromWMTSTemplate.bind(this))),e)},e.prototype.getDimensions=function(){return this.dimensions_},e.prototype.getFormat=function(){return this.format_},e.prototype.getLayer=function(){return this.layer_},e.prototype.getMatrixSet=function(){return this.matrixSet_},e.prototype.getRequestEncoding=function(){return this.requestEncoding_},e.prototype.getStyle=function(){return this.style_},e.prototype.getVersion=function(){return this.version_},e.prototype.getKeyForDimensions_=function(){var t=0,e=[];for(var r in this.dimensions_)e[t++]=r+"-"+this.dimensions_[r];return e.join("/")},e.prototype.updateDimensions=function(t){Object(Mi.a)(this.dimensions_,t),this.setKey(this.getKeyForDimensions_())},e.prototype.createFromWMTSTemplate=function(t){var e=this.requestEncoding_,r={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};"KVP"==e&&Object(Mi.a)(r,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_}),t="KVP"==e?hp(t,r):t.replace(/\{(\w+?)\}/g,(function(t,e){return e.toLowerCase()in r?r[e.toLowerCase()]:t}));var n=this.tileGrid,i=this.dimensions_;return function(r,o,a){if(r){var s={TileMatrix:n.getMatrixId(r[0]),TileCol:r[1],TileRow:r[2]};Object(Mi.a)(s,i);var l=t;return l="KVP"==e?hp(l,s):l.replace(/\{(\w+?)\}/g,(function(t,e){return s[e]}))}}},e}(up);function $N(t,e){var r=t.Contents.Layer,n=Object(h.d)(r,(function(t,r,n){return t.Identifier==e.layer}));if(null===n)return null;var i,o=t.Contents.TileMatrixSet;(i=n.TileMatrixSetLink.length>1?"projection"in e?Object(h.e)(n.TileMatrixSetLink,(function(t,r,n){var i=Object(h.d)(o,(function(e){return e.Identifier==t.TileMatrixSet})).SupportedCRS,a=Object(u.o)(i),s=Object(u.o)(e.projection);return a&&s?Object(u.j)(a,s):i==e.projection})):Object(h.e)(n.TileMatrixSetLink,(function(t,r,n){return t.TileMatrixSet==e.matrixSet})):0)<0&&(i=0);var a=n.TileMatrixSetLink[i].TileMatrixSet,s=n.TileMatrixSetLink[i].TileMatrixSetLimits,l=n.Format[0];"format"in e&&(l=e.format),(i=Object(h.e)(n.Style,(function(t,r,n){return"style"in e?t.Title==e.style:t.isDefault})))<0&&(i=0);var c=n.Style[i].Identifier,f={};"Dimension"in n&&n.Dimension.forEach((function(t,e,r){var n=t.Identifier,i=t.Default;void 0===i&&(i=t.Value[0]),f[n]=i}));var p,d=t.Contents.TileMatrixSet,g=Object(h.d)(d,(function(t,e,r){return t.Identifier==a})),y=g.SupportedCRS;if(y&&(p=Object(u.o)(y)),"projection"in e){var m=Object(u.o)(e.projection);m&&(p&&!Object(u.j)(m,p)||(p=m))}var _=!1,v="ne"==p.getAxisOrientation().substr(0,2),b=g.TileMatrix[0],x={MinTileCol:0,MinTileRow:0,MaxTileCol:b.MatrixWidth-1,MaxTileRow:b.MatrixHeight-1};if(s){x=s[s.length-1];var w=Object(h.d)(g.TileMatrix,(function(t){return t.Identifier===x.TileMatrix||g.Identifier+":"+t.Identifier===x.TileMatrix}));w&&(b=w)}var E=28e-5*b.ScaleDenominator/p.getMetersPerUnit(),S=v?[b.TopLeftCorner[1],b.TopLeftCorner[0]]:b.TopLeftCorner,O=b.TileWidth*E,I=b.TileHeight*E,C=g.BoundingBox;C&&v&&(C=[C[1],C[0],C[3],C[2]]);var T=[S[0]+O*x.MinTileCol,S[1]-I*(1+x.MaxTileRow),S[0]+O*(1+x.MaxTileCol),S[1]-I*x.MinTileRow];if(void 0!==C&&!Object(mt.h)(C,T)){var P=n.WGS84BoundingBox,R=Object(u.o)("EPSG:4326").getExtent();if(T=C,P)_=P[0]===R[0]&&P[2]===R[2];else{var L=Object(u.A)(C,g.SupportedCRS,"EPSG:4326");_=L[0]-1e-10<=R[0]&&L[2]+1e-10>=R[2]}}var M=KN(g,T,s),A=[],N=e.requestEncoding;if(N=void 0!==N?N:"","OperationsMetadata"in t&&"GetTile"in t.OperationsMetadata)for(var k=t.OperationsMetadata.GetTile.DCP.HTTP.Get,j=0,F=k.length;j0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return ek(this,o),(t=i.call(this,e,r)).facadeLayer_=null,t.capabilitiesOptionsPromise=null,t.getCapabilitiesPromise_=e.capabilities||null,t.optionsFromGetFeatureInfoUrl_={version:"1.0.0",style:"default",format:"image/jpeg"},t}return e=o,(r=[{key:"addTo",value:function(t){var e=this;if(this.map=t,this.fire(Kl),!KF(this.options)&&!KF(this.options.minScale)&&!KF(this.options.maxScale)){var r=this.map.getMapImpl().getView().getProjection().getUnits();this.options.minResolution=hD(this.options.minScale,r),this.options.maxResolution=hD(this.options.maxScale,r)}var n=this.getCapabilitiesOptions_();n instanceof Promise?n.then((function(t){return e.addLayer_(t)})):this.addLayer_(n)}},{key:"setResolutions",value:function(t){var e=this;if(QF(this.vendorOptions_.source)){var r=this.facadeLayer_.getMaxExtent(),n=Object(u.o)(this.map.getProjection().code);this.getCapabilities().then((function(i){var o=i.getMatrixSet(e.name),a=i.getMatrixIds(e.name),s=i.getFormat(e.name),l={url:e.url,layer:e.name,matrixSet:o,format:s,projection:n,tileGrid:new ZN({origin:Object(mt.v)(r),resolutions:t,matrixIds:a}),extent:r},u=e.options.crossOrigin;HF(u)||(l.crossOrigin=u);var c=new QN(l);e.ol3Layer.setSource(c)}))}}},{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((function(t){return!t.equals(e)&&t.isVisible()})).forEach((function(t){return t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getBbox();QF(r)||this.map.setBbox(r,{nearest:!0})}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"addLayer_",value:function(t){var e=this.facadeLayer_.getMaxExtent(),r=t,n=this.options.minResolution,i=this.options.maxResolution;r.format=this.options.format||t.format;var o=this.options.crossOrigin;HF(o)||(r.crossOrigin=o);var a=new QN(vD(r,{extent:e},!0));this.ol3Layer=new eh.a(vD({visible:this.options.visibility,source:a,minResolution:n,maxResolution:i},this.vendorOptions_,!0));var s=this.zIndex_;this.map.getMapImpl().addLayer(this.ol3Layer),null!==s&&this.setZIndex(s),this.setVisible(this.visibility),this.ol3Layer.set("animated",!0),this.fire(Kl,this)}},{key:"setMaxExtent",value:function(t){this.getOLLayer().setExtent(t)}},{key:"getCapabilitiesOptions_",value:function(){var t=this;return QF(this.capabilitiesOptionsPromise)&&(this.capabilitiesOptionsPromise=this.getCapabilities(),this.capabilitiesOptionsPromise instanceof Promise&&(this.capabilitiesOptionsPromise=this.capabilitiesOptionsPromise.then((function(e){var r=t.name,n=t.matrixSet;QF(n)&&(n=t.map.getProjection().code);var i=t.facadeLayer_.getMaxExtent(),o=$N(e,{layer:r,matrixSet:n,extent:i});return o.tileGrid.extent=i,o})))),this.capabilitiesOptionsPromise}},{key:"getCapabilities",value:function(){var t=this;return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=new Promise((function(e,r){var n=uD(t.url),i=new kt;VF(n).then((function(r){var n=r.xml,o=i.read(n);e.call(t,o)}))}))),this.getCapabilitiesPromise_}},{key:"getMinResolution",value:function(){return this.options.minResolution}},{key:"getMaxResolution",value:function(){return this.options.maxResolution}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet),e}},{key:"setOptionsGetFeatureInfoUrl",value:function(t){var e=t.version,r=t.style,n=t.format;HF(e)||(this.optionsFromGetFeatureInfoUrl_.version=e),HF(r)||(this.optionsFromGetFeatureInfoUrl_.style=r),HF(n)||(this.optionsFromGetFeatureInfoUrl_.format=n)}},{key:"getOptionsGetFeatureInfoUrl",value:function(){return this.optionsFromGetFeatureInfoUrl_}},{key:"getGetFeatureInfoUrl",value:function(t,e,r){var n=this.getTileColTileRow(t,e),i=this.getRelativeTileCoordInPixel_(t,e),o=this.optionsFromGetFeatureInfoUrl_.version,a=this.name,s=this.optionsFromGetFeatureInfoUrl_.style,l=this.optionsFromGetFeatureInfoUrl_.format,u=this.ol3Layer.getSource().getMatrixSet(),c=e,h=r,f=n[0],p=n[1],d=i[0],g=i[1];return aD(this.url,{service:"WMTS",request:"GetFeatureInfo",version:o,layer:a,style:s,format:l,tilematrixset:u,tilematrix:c,tilerow:p,tilecol:f,J:g,I:d,infoFormat:h})}},{key:"getTileColTileRow",value:function(t,e){var r=null;if(!QF(this.ol3Layer)){var n=this.ol3Layer.getSource();QF(n)||(r=n.tileGrid.getTileCoordForCoordAndZ(t,e))}return r.slice(1)}},{key:"getRelativeTileCoordInPixel_",value:function(t,e){var r;if(!QF(this.ol3Layer)){var n=this.ol3Layer.getSource();if(!QF(n)){var i=n.tileGrid,o=i.getTileCoordForCoordAndZ(t,e),a=i.getTileCoordExtent(o,[]),s=i.getResolution(o[0]);r=[Math.floor((t[0]-a[0])/s),Math.floor((a[3]-t[1])/s)]}}return r}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=new eh.a(e)}return t}}])&&rk(e.prototype,r),n&&rk(e,n),o}(tf);function lk(t){return(lk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function uk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ck(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;uk(this,o);var a=new sk(r,n),s=Wc(t,ic);return e=i.call(this,s,a),HF(sk)&&Bl(Mu("exception").wmts_method),QF(t)&&Bl(Mu("exception").no_param),e.matrixSet=s.matrixSet,e.legend=s.legend,e.transparent=s.transparent,e.options=r,e}return e=o,(r=[{key:"getCapabilities",value:function(){return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet,e=e&&this.id===t.id),e}},{key:"getGetFeatureInfoUrl",value:function(t,e,r){return this.getImpl().getGetFeatureInfoUrl(t,e,r)}},{key:"setOptionsGetFeatureInfoUrl",value:function(t){this.getImpl().setOptionsGetFeatureInfoUrl(t)}},{key:"getOptionsGetFeatureInfoUrl",value:function(){return this.getImpl().getOptionsGetFeatureInfoUrl()}},{key:"getTileColTileRow",value:function(t,e){return this.getImpl().getTileColTileRow(t,e)}},{key:"type",get:function(){return ic},set:function(t){HF(t)||QF(t)||t===ic||Bl("El tipo de capa debe ser '".concat(ic).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"matrixSet",get:function(){return this.getImpl().matrixSet},set:function(t){this.getImpl().matrixSet=t}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&ck(e.prototype,r),n&&ck(e,n),o}(th),yk=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),mk=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;void 0!==n.interpolate&&(i=n.interpolate);var o=void 0!==n.projection?n.projection:"EPSG:3857",a=void 0!==n.tileGrid?n.tileGrid:Object(ap.a)({extent:Object(ap.b)(o),maxResolution:n.maxResolution,maxZoom:n.maxZoom,minZoom:n.minZoom,tileSize:n.tileSize});return(r=t.call(this,{attributions:n.attributions,cacheSize:n.cacheSize,crossOrigin:n.crossOrigin,interpolate:i,opaque:n.opaque,projection:o,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileGrid:a,tileLoadFunction:n.tileLoadFunction,tilePixelRatio:n.tilePixelRatio,tileUrlFunction:n.tileUrlFunction,url:n.url,urls:n.urls,wrapX:void 0===n.wrapX||n.wrapX,transition:n.transition,attributionsCollapsible:n.attributionsCollapsible,zDirection:n.zDirection})||this).gutter_=void 0!==n.gutter?n.gutter:0,r}return yk(e,t),e.prototype.getGutter=function(){return this.gutter_},e}(up);function _k(t){return(_k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function vk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ck(this,o);var a=new Ok(t,r,n),s=Wc(t,ac);return e=i.call(this,s,a),HF(Ok)&&Bl(Mu("exception").mapbox_method),QF(t)&&Bl(Mu("exception").no_param),QF(s.name)&&Bl(Mu("exception").no_name),e.name=s.name,e.legend=s.legend,QF(s.legend)&&(e.legend=s.name),e.transparent=s.transparent,e.accessToken=s.accessToken,e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options,e=e&&this.id===t.id),e}},{key:"url",get:function(){return this.getImpl().url},set:function(t){QF(t)?this.getImpl().url=M.config.MAPBOX_URL:this.getImpl().url=t}},{key:"transparent",get:function(){return this.getImpl().transparent},set:function(t){QF(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}},{key:"accessToken",get:function(){return this.getImpl().accessToken},set:function(t){QF(t)?this.getImpl().accessToken=M.config.MAPBOX_TOKEN_VALUE:this.getImpl().accessToken=t}},{key:"type",get:function(){return ac},set:function(t){HF(t)||QF(t)||t===ac||Bl("El tipo de capa debe ser '".concat(ac).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Tk(e.prototype,r),n&&Tk(e,n),o}(th),Nk=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),kk='© OpenStreetMap contributors.',jk=function(t){function e(e){var r,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;void 0!==n.interpolate&&(i=n.interpolate),r=void 0!==n.attributions?n.attributions:[kk];var o=void 0!==n.crossOrigin?n.crossOrigin:"anonymous",a=void 0!==n.url?n.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";return t.call(this,{attributions:r,attributionsCollapsible:!1,cacheSize:n.cacheSize,crossOrigin:o,interpolate:i,maxZoom:void 0!==n.maxZoom?n.maxZoom:19,opaque:void 0===n.opaque||n.opaque,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileLoadFunction:n.tileLoadFunction,transition:n.transition,url:a,wrapX:n.wrapX,zDirection:n.zDirection})||this}return Nk(e,t),e}(mk);function Fk(t){return(Fk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Dk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return Dk(this,o),(e=i.call(this,r,n)).resolutions_=null,e.facadeLayer_=null,e.hasAttributtion=!1,e.haveOSMorMapboxLayer=!1,!1===r.visibility&&(e.visibility=!1),e.zIndex_=Sd.Z_INDEX.OSM,e.url_=t.url,e}return e=o,(r=[{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().forEach((function(t){!t.equals(e)&&t.isVisible()&&t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getBbox();this.map.getImpl().updateResolutionsFromBaseLayer(),QF(r)||this.map.setBbox(r)}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"addTo",value:function(t){var e=this;this.map=t,this.fire(Kl),this.ol3Layer=new eh.a(vD({},this.vendorOptions_,!0)),this.updateSource_(),this.map.getMapImpl().addLayer(this.ol3Layer),this.map.getImpl().getMapImpl().getControls().getArray().forEach((function(t){t instanceof hs&&(e.hasAttributtion=!0)}),this),this.hasAttributtion||(this.map.getMapImpl().addControl(new hs({className:"ol-attribution ol-unselectable ol-control ol-collapsed m-attribution",collapsible:!0})),this.hasAttributtion=!1),this.map.getMapImpl().updateSize();var r=this.map.getMapImpl().getSize(),n=this.map.getProjection().units;this.resolutions_=fD(this.facadeLayer_.getMaxExtent(),r,16,n),this.isVisible()&&!this.inRange()&&this.setVisible(!1),null!==this.zIndex_&&this.setZIndex(this.zIndex_),null!==this.resolutions_&&this.setResolutions(this.resolutions_);var i=!1===this.transparent||!0===this.options.animated;this.ol3Layer.set("animated",i),this.map.on(bu,(function(){return e.updateSource_()}))}},{key:"setResolutions",value:function(t){this.resolutions_=t,this.updateSource_(t)}},{key:"updateSource_",value:function(t){if(QF(t)&&!QF(this.map)){this.map.getMapImpl().updateSize();var e=this.map.getMapImpl().getSize(),r=this.map.getProjection().units,n=M.config.ZOOM_LEVELS;this.resolutions_=fD(this.facadeLayer_.getMaxExtent(),e,n,r)}if(!QF(this.ol3Layer)&&QF(this.vendorOptions_.source)){var i=this.facadeLayer_.getMaxExtent(),o="";o=HF(this.url_)?new jk({}):new mk({url:this.url_}),this.ol3Layer.setSource(o),this.ol3Layer.setExtent(i)}}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"setMaxExtent",value:function(t){this.ol3Layer.setExtent(t)}},{key:"getMinResolution",value:function(){}},{key:"getMaxResolution",value:function(){}},{key:"destroy",value:function(){var t=this,e=this.map.getMapImpl();QF(this.ol3Layer)||(e.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map.getLayers().forEach((function(e){(e instanceof Qk||e instanceof Ak)&&(t.haveOSMorMapboxLayer=!0)})),this.haveOSMorMapboxLayer||this.map.getImpl().getMapImpl().getControls().getArray().forEach((function(e){e instanceof hs&&t.map.getImpl().getMapImpl().removeControl(e)})),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name),e}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=new eh.a(e)}return t}}])&&Gk(e.prototype,r),n&&Gk(e,n),o}(tf);function Yk(t){return(Yk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Wk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Wk(this,o);var a=t;HF(qk)&&Bl(Mu("exception").osm_method),QF(a)&&(a="OSM");var s=new qk(a,r,n),l=Wc(a,oc);return QF(l.name)&&(l.name="osm"),(e=i.call(this,l,s)).name=l.name,e.legend=l.legend,QF(l.legend)&&(e.legend="OpenStreetMap"),e.transparent=l.transparent,e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options),e}},{key:"transparent",get:function(){return this.getImpl().transparent},set:function(t){QF(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}},{key:"type",get:function(){return oc},set:function(t){HF(t)||QF(t)||t===oc||Bl("El tipo de capa debe ser '".concat(oc).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Xk(e.prototype,r),n&&Xk(e,n),o}(th),$k=r(43),tj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ej=function(t){function e(e,r,n,i,o,a){var s=t.call(this,e,r,a)||this;return s.extent=null,s.format_=i,s.features_=null,s.loader_,s.projection=null,s.resolution,s.tileLoadFunction_=o,s.url_=n,s.key=n,s}return tj(e,t),e.prototype.getFormat=function(){return this.format_},e.prototype.getFeatures=function(){return this.features_},e.prototype.load=function(){this.state==Wf.a.IDLE&&(this.setState(Wf.a.LOADING),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))},e.prototype.onLoad=function(t,e){this.setFeatures(t)},e.prototype.onError=function(){this.setState(Wf.a.ERROR)},e.prototype.setFeatures=function(t){this.features_=t,this.setState(Wf.a.LOADED)},e.prototype.setLoader=function(t){this.loader_=t},e}($k.a),rj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),nj=[],ij=function(t){function e(e,r,n,i){var o=t.call(this,e,r,{transition:0})||this;return o.context_={},o.executorGroups={},o.declutterExecutorGroups={},o.loadingSourceTiles=0,o.hitDetectionImageData={},o.replayState_={},o.sourceTiles=[],o.errorTileKeys={},o.wantedResolution,o.getSourceTiles=i.bind(void 0,o),o.wrappedTileCoord=n,o}return rj(e,t),e.prototype.getContext=function(t){var e=Object(si.c)(t);return e in this.context_||(this.context_[e]=Object(Ai.a)(1,1,nj)),this.context_[e]},e.prototype.hasContext=function(t){return Object(si.c)(t)in this.context_},e.prototype.getImage=function(t){return this.hasContext(t)?this.getContext(t).canvas:null},e.prototype.getReplayState=function(t){var e=Object(si.c)(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]},e.prototype.load=function(){this.getSourceTiles()},e.prototype.release=function(){for(var e in this.context_){var r=this.context_[e];Object(Ai.d)(r),nj.push(r.canvas),delete this.context_[e]}t.prototype.release.call(this)},e}($k.a),oj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),aj=function(t){function e(e){var r=this,n=e.projection||"EPSG:3857",i=e.extent||Object(ap.b)(n),o=e.tileGrid||Object(ap.a)({extent:i,maxResolution:e.maxResolution,maxZoom:void 0!==e.maxZoom?e.maxZoom:22,minZoom:e.minZoom,tileSize:e.tileSize||512});return(r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,interpolate:!0,opaque:!1,projection:n,state:e.state,tileGrid:o,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:sj,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:void 0===e.zDirection?1:e.zDirection})||this).format_=e.format?e.format:null,r.sourceTileCache=new Yf.a(r.tileCache.highWaterMark),r.overlaps_=null==e.overlaps||e.overlaps,r.tileClass=e.tileClass?e.tileClass:ej,r.tileGrids_={},r}return oj(e,t),e.prototype.getFeaturesInExtent=function(t){var e=[],r=this.tileCache;if(0===r.getCount())return e;var n=Object(Jf.b)(r.peekFirstKey())[0],i=this.tileGrid;return r.forEach((function(r){if(r.tileCoord[0]===n&&r.getState()===Wf.a.LOADED)for(var o=r.getSourceTiles(),a=0,s=o.length;a0)e([]);else{var y=c.getTileCoordExtent(n.wrappedTileCoord),m=Object(mt.E)(y),_=[(h[0]-m[0])/u,(m[1]-h[1])/u],v=n.getSourceTiles().reduce((function(t,e){return t.concat(e.getFeatures())}),[]),b=n.hitDetectionImageData[o];if(!b&&!this.animatingOrInteracting_){var x=Object(ns.d)(c.getTileSize(c.getZForResolution(u,a.zDirection))),w=this.renderedRotation_;b=Nv(x,[this.getRenderTransform(c.getTileCoordCenter(n.wrappedTileCoord),u,0,Av,x[0]*Av,x[1]*Av,0)],v,i.getStyleFunction(),c.getTileCoordExtent(n.wrappedTileCoord),n.getReplayState(i).renderedResolution,w),n.hitDetectionImageData[o]=b}e(kv(_,v,b))}}.bind(this))},e.prototype.handleFontsChanged=function(){var t=this.getLayer();t.getVisible()&&void 0!==this.renderedLayerRevision_&&t.changed()},e.prototype.handleStyleImageChange_=function(t){this.renderIfReadyAndVisible()},e.prototype.renderDeclutter=function(t){var e=this.context,r=e.globalAlpha;e.globalAlpha=this.getLayer().getOpacity();for(var n=t.viewHints,i=!(n[Bo.a.ANIMATING]||n[Bo.a.INTERACTING]),o=this.renderedTiles,a=0,s=o.length;a=0;--c)u[c].execute(this.context,1,this.getTileRenderTransform(l,t),t.viewState.rotation,i,void 0,t.declutterTree)}e.globalAlpha=r},e.prototype.getTileRenderTransform=function(t,e){var r=e.pixelRatio,n=e.viewState,i=n.center,o=n.resolution,a=n.rotation,s=e.size,l=Math.round(s[0]*r),u=Math.round(s[1]*r),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,f=c.getTileCoordExtent(t.wrappedTileCoord),p=c.getTileCoordExtent(h,this.tmpExtent)[0]-f[0];return Object(li.g)(Object(li.j)(this.inversePixelTransform.slice(),1/r,1/r),this.getRenderTransform(i,o,a,r,l,u,p))},e.prototype.renderFrame=function(e,r){var n=e.viewHints,i=!(n[Bo.a.ANIMATING]||n[Bo.a.INTERACTING]);t.prototype.renderFrame.call(this,e,r),this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation;var o=this.getLayer(),a=o.getRenderMode(),s=this.context,l=s.globalAlpha;s.globalAlpha=o.getOpacity();for(var u=dj[a],c=e.viewState,h=c.rotation,f=o.getSource(),p=f.getTileGridForProjection(c.projection).getZForResolution(c.resolution,f.zDirection),d=this.renderedTiles,g=[],y=[],m=!0,_=d.length-1;_>=0;--_){var v=d[_];m=m&&!v.getReplayState(o).dirty;var b=v.executorGroups[Object(si.c)(o)].filter((function(t){return t.hasExecutors(u)}));if(0!==b.length){var x=this.getTileRenderTransform(v,e),w=v.tileCoord[0],E=!1,S=b[0].getClipCoords(x);if(S){for(var O=0,I=g.length;O>3)?r.readString():2===t?r.readFloat():3===t?r.readDouble():4===t?r.readVarint64():5===t?r.readVarint():6===t?r.readSVarint():7===t?r.readBoolean():null;e.values.push(n)}}function Sj(t,e,r){if(1==t)e.id=r.readVarint();else if(2==t)for(var n=r.readVarint()+r.pos;r.pos>3}a--,1===o||2===o?(s+=t.readSVarint(),l+=t.readSVarint(),1===o&&u>c&&(n.push(u),c=u),r.push(s,l),u+=2):7===o?u>c&&(r.push(r[c],r[c+1]),u+=2):Object(go.a)(!1,59)}u>c&&(n.push(u),c=u)},e.prototype.createFeature_=function(t,e,r){var n,i=e.type;if(0===i)return null;var o,a=e.properties;this.idProperty_?(o=a[this.idProperty_],delete a[this.idProperty_]):o=e.id,a[this.layerName_]=e.layer.name;var s=[],l=[];this.readRawGeometry_(t,e,s,l);var u=function(t,e){var r;1===t?r=1===e?"Point":"MultiPoint":2===t?r=1===e?"LineString":"MultiLineString":3===t&&(r="Polygon");return r}(i,l.length);if(this.featureClass_===Mh)(n=new this.featureClass_(u,s,l,a,o)).transform(r.dataProjection);else{var c=void 0;if("Polygon"==u){var h=Va(s,l);c=h.length>1?new Th(s,$o,h):new Xa(s,$o,l)}else c="Point"===u?new Aa(s,$o):"LineString"===u?new Eh(s,$o):"MultiPoint"===u?new mh(s,$o):"MultiLineString"===u?new Oh(s,$o,l):null;n=new(0,this.featureClass_),this.geometryName_&&n.setGeometryName(this.geometryName_);var f=pI(c,!1,r);n.setGeometry(f),void 0!==o&&n.setId(o),n.setProperties(a,!0)}return n},e.prototype.getType=function(){return"arraybuffer"},e.prototype.readFeatures=function(t,e){var r=this.layers_,n=this.adaptOptions(e),i=Object(u.o)(n.dataProjection);i.setWorldExtent(n.extent),n.dataProjection=i;var o=new bj.a(t),a=o.readFields(wj,{}),s=[];for(var l in a)if(!r||-1!=r.indexOf(l)){var c=a[l],h=c?[0,0,c.extent,c.extent]:null;i.setExtent(h);for(var f=0,p=c.length;f0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;Dj(this,o);var s=a||new Aj(e,r,n);return t=i.call(this,e,r,n,s),HF(Aj)&&Bl("La implementación usada no puede crear capas Vector"),t}return e=o,(r=[{key:"getMaxExtent",value:function(){var t=this.userMaxExtent;return QF(t)&&(t=this.map_.userMaxExtent,QF(t)&&(t=this.map_.getProjection().getExtent())),t}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){return e(t.getMaxExtent())}))}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;Uj(qj(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"getProjection",value:function(){return this.getImpl().getProjection()}},{key:"getGeometryType",value:function(){var t=null,e=this.getFeatures();if(!QF(e)){var r=e[0];QF(r)||(t=r.getType())}return t}},{key:"getFeatures",value:function(){return this.getImpl().getFeatures().map((function(t){return UP.olFeature2Facade(t)}))}},{key:"clearStyle",value:function(){this.setStyle(null)}},{key:"setFilter",value:function(){}},{key:"addFeatures",value:function(){}},{key:"removeFeatures",value:function(){}},{key:"refresh",value:function(){}},{key:"redraw",value:function(){}},{key:"toGeoJSON",value:function(){}},{key:"type",get:function(){return uc},set:function(t){HF(t)||QF(t)||t===uc||Bl("El tipo de capa debe ser '".concat(uc).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Gj(e.prototype,r),n&&Gj(e,n),o}(nw);Wj.DEFAULT_PARAMS_STYLE={fill:{color:"#fff",opacity:.6},stroke:{color:"#827ec5",width:2}},Wj.DEFAULT_OPTIONS_STYLE={point:kj(kj({},Wj.DEFAULT_PARAMS_STYLE),{},{radius:5}),line:kj({},Wj.DEFAULT_PARAMS_STYLE),polygon:kj({},Wj.DEFAULT_PARAMS_STYLE)};var Xj=Wj;function Hj(t){return(Hj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Zj(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:null,e=this.formater_.write(this.facadeVector_.getFeatures()),r=this.map.getProjection().code.split(":")[1],n={type:"FeatureCollection",features:e,crs:{properties:{code:r},type:"EPSG"}};tD(t)&&(n=t),this.source=n,this.updateSource_()}},{key:"setSource",value:function(t){this.source=t,QF(this.map)||this.updateSource_()}},{key:"requestFeatures_",value:function(){var t=this;return this.source?this.loadFeaturesPromise_=new Promise((function(e){e(t.formater_.read(t.source,t.map.getProjection()))})):QF(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))),this.loadFeaturesPromise_}},{key:"updateSource_",value:function(){var t=this;QF(this.vendorOptions_.source)&&this.requestFeatures_().then((function(e){t.ol3Layer&&t.ol3Layer.setSource(new qg({loader:function(r,n,i){t.loaded_=!0,t.facadeVector_.clear(),t.facadeVector_.addFeatures(e,!1,!1),t.redraw(),t.fire(yu,[e])}}))}))}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t,i);n(e)}))}))}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}])&&rF(e.prototype,r),n&&rF(e,n),o}(Fx);function uF(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function cF(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;pF(this,o);var a=new lF(t,r,n);return e=i.call(this,t,r,void 0,a),HF(lF)&&Bl(Mu("exception").geojsonlayer_method),QF(t)&&Bl(Mu("exception").no_param),eD(t)?e.url=t:JF(t)?e.source=t:(e.url=t.url,e.name=t.name,e.source=t.source,QF(t.crs)||(QF(e.source)&&(e.source={type:"FeatureCollection",features:[]}),e.source.crs={type:"EPSG",properties:{code:t.crs}})),e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}},{key:"setSource",value:function(t){this.source=t,this.getImpl().refresh(t)}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;gF(vF(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"type",get:function(){return sc},set:function(t){HF(t)||QF(t)||t===sc||Bl("El tipo de capa debe ser '".concat(sc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"source",get:function(){return this.getImpl().source},set:function(t){this.getImpl().source=t}}])&&dF(e.prototype,r),n&&dF(e,n),o}(nw);bF.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},bF.DEFAULT_OPTIONS_STYLE={point:cF(cF({},bF.DEFAULT_PARAMS),{},{radius:5}),line:cF({},bF.DEFAULT_PARAMS),polygon:cF({},bF.DEFAULT_PARAMS)};var xF=bF;function wF(t){return(wF="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function EF(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function SF(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};EF(this,o);var n=new LP(t);e=i.call(this);var a=new Sd(n.container,PF(e),r);if(e.setImpl(a),QF(t)&&Bl(Mu("exception").no_param),HF(Sd)&&Bl(Mu("exception").constructor_impl),e._panels=[],e._plugins=[],e._areasContainer=null,e.popup_=[],e._defaultProj=!0,e.panel={LEFT:null,RIGHT:"null"},e._userZoom=null,e.userCenter_=null,e._finishedInitCenter=!0,e._finishedMaxExtent=!0,e._finishedMapImpl=!1,e._finishedMap=!1,e.centerFeature_=null,e.drawLayer_=null,e.userMaxExtent=null,e.ticket_=null,n.container.classList.add("m-mapea-container"),QF(n.bgColorContainer)||e.setBGColorContainer(n.bgColorContainer),a.on(mu,(function(){e._finishedMapImpl=!0,e._checkCompleted()})),e.createMainPanels_(),e.featuresHandler_=new tR,e.featuresHandler_.addTo(PF(e)),e.featuresHandler_.activate(),e.drawLayer_=new nw({name:"__draw__"},{displayInLayerSwitcher:!1}),e.drawLayer_.setStyle(new bw(o.DRAWLAYER_STYLE)),e.drawLayer_.setZIndex(Sd.Z_INDEX.WFS+999),e.addLayers(e.drawLayer_),QF(n.projection)?e.setProjection(M.config.DEFAULT_PROJ,!0):e.setProjection(n.projection),QF(n.bbox)||e.setBbox(n.bbox),QF(n.resolutions)||e.setResolutions(n.resolutions),!QF(n.maxExtent)){var s=QF(n.zoom)&&QF(n.bbox);e.setMaxExtent(n.maxExtent,s)}if(QF(n.wmc)||e.addWMC(n.wmc),QF(n.layers)||e.addLayers(n.layers),QF(n.wms)||e.addWMS(n.wms),QF(n.wmts)||e.addWMTS(n.wmts),QF(n.kml)||e.addKML(n.kml),QF(n.controls)?e.addControls("panzoom"):e.addControls(n.controls),!QF(n.getfeatureinfo))if("plain"!==n.getfeatureinfo&&"html"!==n.getfeatureinfo&&"gml"!==n.getfeatureinfo)zx(Mu("dialog").getfeatureinfo_type);else{var l=new WT(n.getfeatureinfo);e.addControls(l)}if(!HF(n.layerswitcher))if("emptylayer"!==n.layerswitcher&&""!==n.layerswitcher)zx(Mu("layerswitcher").unsupported_param);else{var u=new Rw(n.layerswitcher);e.addControls(u)}return QF(n.wmc)&&QF(n.layers)&&e.addWMC(M.config.predefinedWMC.predefinedNames[0]),QF(n.center)||e.setCenter(n.center),QF(n.zoom)?QF(n.bbox)&&e.setZoom(0):e.setZoom(n.zoom),QF(n.rotation)||e.once(mu,(function(){e.setRotation(n.rotation)})),QF(n.label)||e.addLabel(n.label),QF(n.ticket)||e.setTicket(n.ticket),QF(n.bbox)&&QF(n.zoom)&&QF(n.center)&&e.zoomToMaxExtent(!0),QF(n.center)&&QF(n.bbox)&&(e._finishedInitCenter=!1,e.getInitCenter_().then((function(t){QF(e.userCenter_)&&e.setCenter(t),e._finishedInitCenter=!0,e._checkCompleted()}))),e}return e=o,n=[{key:"LAYER_SORT",value:function(t,e){return QF(t)||QF(e)?0:t.getZIndex()-e.getZIndex()}}],(r=[{key:"getLayers",value:function(t){var e=t;HF(Sd.prototype.getLayers)&&Bl(Mu("exception").getlayers_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map(Wc)),this.getImpl().getLayers(r).sort(o.LAYER_SORT)}},{key:"getRootLayers",value:function(t){return this.getLayers(t).filter((function(t){return QF(t.getLayerGroup())}))}},{key:"getBaseLayers",value:function(){return HF(Sd.prototype.getBaseLayers)&&Bl(Mu("exception").getbaselayers_method),this.getImpl().getBaseLayers().sort(o.LAYER_SORT)}},{key:"getFeatureHandler",value:function(){return this.featuresHandler_}},{key:"addLayers",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addLayers)&&Bl(Mu("exception").addlayers_method),JF(r)||(r=[r]);var n=r.map((function(t){var r;if(t instanceof th)r=t;else{var n=Wc(t);if(QF(n.type))zx(Mu("dialog").invalid_type_layer);else switch(n.type){case"WFS":r=new dN(t,{style:n.style});break;case"WMC":r=new WN(t);break;case"WMS":r=new td(t);break;case"GeoJSON":r=new xF(n,{style:n.style});break;case"OSM":r=new Qk(t);break;case"Mapbox":r=new Ak(t);break;case"KML":r=new GM(t);break;case"Vector":r=new nw(t);break;case"WMTS":r=new gk(t);break;case"MVT":r=new Xj(n);break;default:zx(Mu("dialog").invalid_type_layer)}}return r instanceof nw&&!(r instanceof dN)&&e.featuresHandler_.addLayer(r),r.setMap(e),r}));this.getImpl().addLayers(n),this.fire(Ql,[n])}return this}},{key:"removeLayers",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeLayers)&&Bl(Mu("exception").removelayers_method);var r=this.getLayers(t);r.forEach((function(t){t instanceof nw&&e.featuresHandler_.removeLayer(t)})),this.getImpl().removeLayers(r)}return this}},{key:"getLayerGroup",value:function(){return HF(Sd.prototype.getLayerGroups)&&Bl("La implementación usada no posee el método getLayerGroups"),this.getImpl().getLayerGroups().sort(o.LAYER_SORT)}},{key:"addLayerGroup",value:function(t){var e=t;return KF(e)&&Bl("No ha especificado ningun grupo"),HF(Sd.prototype.addLayerGroups)&&Bl("La implementación usada no posee el método addLayerGroups"),JF(e)||(e=[e]),this.getImpl().addLayerGroups(e),this}},{key:"removeLayerGroup",value:function(t){return KF(t)&&Bl("No ha especificado ningun grupo a eliminar"),HF(this.getImpl().removeLayerGroups)&&Bl("La implementación usada no posee el método removeGroups"),this.getImpl().removeLayerGroups(t),this}},{key:"getWMC",value:function(t){var e=t;HF(Sd.prototype.getWMC)&&Bl(Mu("exception").getwmc_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,tc)}))),this.getImpl().getWMC(r).sort(o.LAYER_SORT)}},{key:"addWMC",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMC)&&Bl(Mu("exception").addwmc_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){if(tD(t)&&t instanceof WN)t.setMap(e),n.push(t);else if(!(t instanceof th))try{var r=new WN(t,t.options);r.setMap(e),n.push(r)}catch(t){throw zx(t.toString()),t}})),this.getImpl().addWMC(n),this.fire(Ql,[n]),this.fire($l,[n]);var i=this.getWMC();null==i.filter((function(t){return!0===t.selected}))[0]&&i[0].select(),i.length>1&&(this.removeControls("wmcselector"),this.addControls(new Jd))}return this}},{key:"refreshWMCSelectorControl",value:function(){this.removeControls("wmcselector"),1===this.getWMC().length?this.getWMC()[0].select():this.getWMC().length>1&&(this.addControls(new Jd),null==this.getWMC().filter((function(t){return!0===t.selected}))[0]&&this.getWMC()[0].select())}},{key:"removeWMC",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMC)&&Bl(Mu("exception").removewmc_method);var e=this.getWMC(t);e.length>0&&this.getImpl().removeWMC(e)}return this}},{key:"getKML",value:function(t){var e=t;HF(Sd.prototype.getKML)&&Bl(Mu("exception").getkml_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,ec)}))),this.getImpl().getKML(r).sort(o.LAYER_SORT)}},{key:"addKML",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addKML)&&Bl(Mu("exception").addkml_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r;tD(t)&&t instanceof GM?r=t:t instanceof th||(r=new GM(t,t.options)),!0===r.extract&&e.featuresHandler_.addLayer(r),n.push(r)})),this.getImpl().addKML(n),this.fire(Ql,[n]),this.fire(tu,[n])}return this}},{key:"removeKML",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeKML)&&Bl(Mu("exception").removekml_method);var r=this.getKML(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeKML(r))}return this}},{key:"getWMS",value:function(t){var e=t;HF(Sd.prototype.getWMS)&&Bl(Mu("exception").getwms_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,rc)}))),this.getImpl().getWMS(r).sort(o.LAYER_SORT)}},{key:"addWMS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMS)&&Bl(Mu("exception").addwms_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r=t;t instanceof td||(r=new td(t,t.options)),r.setMap(e),n.push(r)})),this.getImpl().addWMS(n),this.fire(Ql,[n]),this.fire(eu,[n])}return this}},{key:"removeWMS",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMS)&&Bl(Mu("exception").removewms_method);var e=this.getWMS(t);e.length>0&&this.getImpl().removeWMS(e)}return this}},{key:"getWFS",value:function(t){var e=t;HF(Sd.prototype.getWFS)&&Bl(Mu("exception").getwfs_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,nc)}))),this.getImpl().getWFS(r).sort(o.LAYER_SORT)}},{key:"getGeoJSON",value:function(t){var e=t;return HF(Sd.prototype.getGeoJSON)&&Bl(Mu("exception").getgeojson_method),KF(e)?e=[]:JF(e)||(e=[e]),this.getImpl().getGeoJSON(e).sort(o.LAYER_SORT)}},{key:"addWFS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWFS)&&Bl(Mu("exception").addwfs_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r;if(tD(t)&&t instanceof dN)r=t;else if(!(t instanceof th))try{r=new dN(t,t.options)}catch(t){throw zx(t.toString()),t}e.featuresHandler_.addLayer(r),n.push(r)})),this.getImpl().addWFS(n),this.fire(Ql,[n]),this.fire(ru,[n])}return this}},{key:"removeWFS",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeWFS)&&Bl(Mu("exception").removewfs_method);var r=this.getWFS(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeWFS(r))}return this}},{key:"getWMTS",value:function(t){var e=t;HF(Sd.prototype.getWMTS)&&Bl(Mu("exception").getwmts_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,ic)}))),this.getImpl().getWMTS(r).sort(o.LAYER_SORT)}},{key:"addWMTS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMTS)&&Bl(Mu("exception").addwmts_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){if(tD(t)&&t instanceof gk)t.setMap(e),n.push(t);else if(!(t instanceof th)){var r=new gk(t,t.options);r.setMap(e),n.push(r)}})),this.getImpl().addWMTS(n),this.fire(Ql,[n]),this.fire(au,[n])}return this}},{key:"removeWMTS",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMTS)&&Bl(Mu("exception").removewmts_method);var e=this.getWMTS(t);e.length>0&&this.getImpl().removeWMTS(e)}return this}},{key:"getMVT",value:function(t){var e=t;HF(Sd.prototype.getMVT)&&Bl("La implementación usada no posee el método getWFS"),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,uc)}))),this.getImpl().getMVT(r).sort(o.LAYER_SORT)}},{key:"removeMVT",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeMVT)&&Bl("La implementación usada no posee el método removeWFS");var r=this.getMVT(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeMVT(r))}return this}},{key:"addMVT",value:function(t){var e=t;if(!QF(e)){HF(Sd.prototype.addMVT)&&Bl("La implementación usada no posee el método addWFS"),JF(e)||(e=[e]);var r=[];e.forEach((function(t){var e;if(tD(t)&&t instanceof Xj)e=t;else if(!(t instanceof th))try{e=new Xj(t,t.options)}catch(t){throw zx(t.toString()),t}r.push(e)})),this.getImpl().addMVT(r),this.fire(Ql,[r]),this.fire(nu,[r])}return this}},{key:"getControls",value:function(t){var e=t;return HF(Sd.prototype.getControls)&&Bl(Mu("exception").getcontrols_method),KF(e)?e=[]:JF(e)||(e=[e]),this.getImpl().getControls(e)}},{key:"addControls",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addControls)&&Bl(Mu("exception").addcontrols_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r=function(t){var e=null;if(eD(t)){var r,n=iD(t),i=(uP(r={},WT.NAME,new WT("html")),uP(r,Rw.NAME,new Rw),uP(r,uE.NAME,new uE),uP(r,cO.NAME,new cO),uP(r,XO.NAME,new XO),uP(r,kO.NAME,new kO({toggleDelay:400})),uP(r,hI.NAME,new hI),uP(r,$u.NAME,new $u),uP(r,tS.NAME,new tS),uP(r,RE.NAME,new RE),uP(r,"".concat(RE.Name,"*true"),new RE({exactScale:!0})),uP(r,kS.NAME,new kS),uP(r,Jd.NAME,new Jd),r);if(!(n in i)){var o=mD([M.config.MAPEA_URL,"/api/actions/controls"]);zx("El control ".concat(n," no está definido. Consulte los controles disponibles aquí'))}e=i[n]}else t instanceof Gu?e=t:Bl("El control añadido no es válido.");return e}(t),i=yP(r,e);e.hasControl(r)||(QF(i)?r.addTo(e):(i.addControls(r),e.addPanels(i)),n.push(r))})),this.getImpl().addControls(n)}}},{key:"hasControl",value:function(t){var e=t;t instanceof Gu&&(e=t.name);var r=this.getControls().find((function(t){return t.name===e})),n=!QF(r);return n}},{key:"removeControls",value:function(t){QF(t)&&Bl(Mu("exception").remove_control),HF(Sd.prototype.removeControls)&&Bl(Mu("exception").removecontrol_method);var e=this.getControls(t);return(e=[].concat(e)).length>0&&(e.forEach((function(t){QF(t.getPanel())||t.getPanel().removeControls(t)})),this.getImpl().removeControls(e)),this}},{key:"getMaxExtent",value:function(){var t=this.userMaxExtent;if(QF(t)){var e=this.getWMC().find((function(t){return t.selected}));t=QF(e)?UD(this.getLayers().filter((function(t){return"__draw__"!==t.name})).map((function(t){return t.getMaxExtent()}))):e.getMaxExtent(),QF(t)&&(t=this.getProjection().getExtent())}return t}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){var r=t.userMaxExtent;if(QF(r)){var n=t.getWMC().find((function(t){return t.selected}));if(QF(n)){var i=t.getLayers().filter((function(t){return"__draw__"!==t.name&&t.isVisible()})).map((function(t){return t.calculateMaxExtent()}));Promise.all(i).then((function(n){r=UD(n),QF(r)&&(r=t.getProjection().getExtent()),QF(t.userMaxExtent)||(r=t.userMaxExtent),e(r)}))}else n.calculateMaxExtent().then(e)}else e(r)}))}},{key:"setMaxExtent",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];QF(t)&&this.resetMaxExtent(),HF(Sd.prototype.setMaxExtent)&&Bl(Mu("exception").setmaxextent_method);try{var r=Dc(t);!JF(r)&&tD(r)&&(r=[r.x.min,r.y.min,r.x.max,r.y.max]),this.userMaxExtent=r,this.getImpl().setMaxExtent(r,e)}catch(t){throw zx(t.toString()),t}return this}},{key:"resetMaxExtent",value:function(){var t=this;return this.userMaxExtent=null,this.calculateMaxExtent().then((function(e){var r=Dc(e);t.getImpl().setMaxExtent(r,!0)})),this}},{key:"getBbox",value:function(){return HF(Sd.prototype.getBbox)&&Bl(Mu("exception").getbbox_method),this.getImpl().getBbox()}},{key:"setBbox",value:function(t,e){QF(t)&&Bl(Mu("exception").no_bbox),HF(Sd.prototype.setBbox)&&Bl(Mu("exception").setbbox_method);try{var r=Dc(t);this.getImpl().setBbox(r,e)}catch(t){throw zx(Mu("exception").incorrect_format_bbox),t}return this}},{key:"getZoom",value:function(){return HF(Sd.prototype.getZoom)&&Bl(Mu("exception").getzoom_method),this.getImpl().getZoom()}},{key:"setZoom",value:function(t){QF(t)&&Bl(Mu("exception").no_zoom),HF(Sd.prototype.setZoom)&&Bl(Mu("exception").setzoom_method);try{var e=Bc(t);this._userZoom=e,this.getImpl().setZoom(e)}catch(t){throw zx(t.toString()),t}return this}},{key:"getCenter",value:function(){return HF(Sd.prototype.getCenter)&&Bl(Mu("exception").getcenter_method),this.getImpl().getCenter()}},{key:"setCenter",value:function(t){var e=this;QF(t)&&Bl(Mu("exception").no_center),HF(Sd.prototype.setCenter)&&Bl(Mu("exception").setcenter_method);var r=Fc(t);return this.getImpl().setCenter(r),this.userCenter_=r,!0===r.draw&&(this.drawLayer_.clear(),this.centerFeature_=new JD("__mapeacenter__",{type:"Feature",geometry:{type:"Point",coordinates:[r.x,r.y]},properties:{vendor:{mapea:{click:function(t){var r=e.getLabel();QF(r)||r.show(e)}}}}}),this.drawFeatures([this.centerFeature_])),this}},{key:"getFeatureCenter",value:function(){return this.centerFeature_}},{key:"removeCenter",value:function(){this.removeFeatures(this.centerFeature_),this.centerFeature_=null,this.zoomToMaxExtent()}},{key:"getResolutions",value:function(){return HF(Sd.prototype.getResolutions)&&Bl(Mu("exception").getresolutions_method),this.getImpl().getResolutions()}},{key:"setResolutions",value:function(t){QF(t)&&Bl(Mu("exception").no_resolutions),HF(Sd.prototype.setResolutions)&&Bl(Mu("exception").setresolutions_method);var e=Uc(t);return this.getImpl().setResolutions(e),this}},{key:"getScale",value:function(){return HF(Sd.prototype.getScale)&&Bl(Mu("exception").getscale_method),this.getImpl().getScale()}},{key:"getExactScale",value:function(){return HF(Sd.prototype.getExactScale)&&Bl("La implementación usada no posee el método getScale"),this.getImpl().getExactScale()}},{key:"getProjection",value:function(){return HF(Sd.prototype.getProjection)&&Bl(Mu("exception").getprojection_method),this.getImpl().getProjection()}},{key:"setProjection",value:function(t,e){var r=t;QF(r)&&Bl(Mu("exception").no_projection),HF(Sd.prototype.setProjection)&&Bl(Mu("exception").setprojection_method);try{var n=this.getProjection();r=Gc(r),n.code!==r.code&&(this.getImpl().setProjection(r),this._defaultProj=this._defaultProj&&!0===e,this.fire(bu,[n,r]))}catch(t){zx(t.toString()),String(t).indexOf("El formato del parámetro projection no es correcto")>=0&&this.setProjection(M.config.DEFAULT_PROJ,!0)}return this}},{key:"getPlugins",value:function(t){var e=this,r=t;KF(r)?r=[]:JF(r)||(r=[r]);var n=[];return 0===r.length?n=this._plugins:r.forEach((function(t){n=n.concat(e._plugins.filter((function(e){return t===e.name})))})),n}},{key:"addPlugin",value:function(t){return QF(t)&&Bl(Mu("exception").no_plugins),HF(t.addTo)&&Bl(Mu("exception").no_add_plugin_to_map),this._plugins.push(t),t.addTo(this),this}},{key:"addPlugins",value:function(t){var e=this;QF(t)&&Bl(Mu("exception").no_plugins);var r=t;return JF(t)||(r=[t]),r.forEach((function(t){e.addPlugin(t)})),this}},{key:"removePlugins",value:function(t){var e=this,r=t;return QF(r)&&Bl(Mu("exception").no_plugin_to_remove),JF(r)||(r=[r]),(r=[].concat(r)).length>0&&r.forEach((function(t){t.destroy(),e._plugins=e._plugins.filter((function(e){return t.name!==e.name}))})),this}},{key:"getEnvolvedExtent",value:function(){var t=this;return new Promise((function(e){var r=t.getWMC().find((function(t){return t.selected}));if(QF(r)){var n=t.getBaseLayers().find((function(t){return t.isVisible()}));if(QF(n)){var i=t.getLayers().filter((function(t){return"__draw__"!==t.name}));Promise.all(i.map((function(t){return t.calculateMaxExtent()}))).then((function(r){var n=QF(r)?[t.getProjection().getExtent()]:r,i=UD(n);e(i)}))}else n.getMaxExtent(e)}else r.getMaxExtent(e)}))}},{key:"zoomToMaxExtent",value:function(t){var e=this;return this.calculateMaxExtent().then((function(r){(!0!==t||QF(e._userZoom))&&e.setBbox(r),e._finishedMaxExtent=!0,e._checkCompleted()})),this}},{key:"setTicket",value:function(t){return this.ticket_=t,M.config.ticket=t,this}},{key:"getTicket",value:function(){return this.ticket_}},{key:"getInitCenter_",value:function(){var t=this;return new Promise((function(e,r){t.calculateMaxExtent().then((function(t){var r;r=JF(t)?{x:(t[0]+t[2])/2,y:(t[1]+t[3])/2}:{x:(t.x.max+t.x.min)/2,y:(t.y.max+t.y.min)/2},e(r)}))}))}},{key:"destroy",value:function(){return HF(Sd.prototype.destroy)&&Bl(Mu("exception").destroy_method),this.getImpl().destroy(),this}},{key:"addLabel",value:function(t,e){var r=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];QF(t)&&Bl(Mu("exception").no_projection),HF(Sd.prototype.addLabel)&&Bl(Mu("exception").addlabel_method);var i=null,o=null,a=t,s=e;return JF(t)||(a=[t]),HF(e)||JF(e[0])?HF(e)&&(s=[]):s=[e],a.forEach((function(e,a){var l=void 0===e.panMapIfOutOfView||t.panMapIfOutOfView;if(tD(e)?(i=bD(e.text),o=e.coord):(i=bD(e),o=s[a]),o=QF(o)?r.getCenter():Fc(o),QF(o))r.getInitCenter_().then((function(t){var e=new TP(i,t,l);r.getImpl().addLabel(e,n)}));else{var u=new TP(i,o,l);r.getImpl().addLabel(u,n)}})),this}},{key:"getLabel",value:function(){return this.getImpl().getLabel()}},{key:"getLabels",value:function(){return this.getImpl().getLabels()}},{key:"removeLabel",value:function(t){return this.getImpl().removeLabel(t)}},{key:"drawPoints",value:function(t){var e=t;QF(e)&&Bl(Mu("exception").no_point),JF(e)||(e=[e]);var r=e.map((function(t){var e={type:"Feature",geometry:{type:"Point",coordinates:[t.x,t.y]},properties:{}};return $F(t.click)&&(e.properties.vendor={mapea:{click:t.click}}),new JD(null,e)}));this.drawLayer_.addFeatures(r)}},{key:"drawFeatures",value:function(t){return this.drawLayer_.addFeatures(t),this}},{key:"removeFeatures",value:function(t){return this.drawLayer_.removeFeatures(t),this}},{key:"addPanels",value:function(t){var e=this,r=t;return QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){var r=e._panels.some((function(e){return e.equals(t)}));if(t instanceof aP&&!r){e._panels.push(t);var n="div.m-area".concat(t.position),i=e._areasContainer.querySelector(n);t.addTo(e,i)}}))),this}},{key:"removePanel",value:function(t){return t.getControls().length>0&&Bl(Mu("exception").remove_control_from_panel),t instanceof aP&&(t.destroy(),this._panels=this._panels.filter((function(e){return!e.equals(t)}))),this}},{key:"getPanels",value:function(t){var e=this,r=t,n=[];return QF(r)?n=this._panels:(JF(r)||(r=[r]),r.forEach((function(t){e._panels.filter((function(e){return e.name===t})).forEach((function(t){QF(t)||n.push(t)}))}))),n}},{key:"createMainPanels_",value:function(){this._areasContainer=document.createElement("div"),this._areasContainer.classList.add("m-areas");var t=document.createElement("div");t.classList.add("m-area"),t.classList.add("m-top"),t.classList.add("m-left");var e=document.createElement("div");e.classList.add("m-area"),e.classList.add("m-top"),e.classList.add("m-right");var r=document.createElement("div");r.classList.add("m-area"),r.classList.add("m-bottom"),r.classList.add("m-left");var n=document.createElement("div");n.classList.add("m-area"),n.classList.add("m-bottom"),n.classList.add("m-right"),this._areasContainer.appendChild(t),this._areasContainer.appendChild(e),this._areasContainer.appendChild(r),this._areasContainer.appendChild(n),this.getContainer().appendChild(this._areasContainer)}},{key:"getContainer",value:function(){return HF(Sd.prototype.getContainer)&&Bl(Mu("exception").getcontainer_method),this.getImpl().getContainer()}},{key:"getMapImpl",value:function(){return HF(Sd.prototype.getMapImpl)&&Bl(Mu("exception").getmapimpl_method),this.getImpl().getMapImpl()}},{key:"getPopup",value:function(){return 0===this.popup_.length?null:this.popup_[0]}},{key:"getPopups",value:function(){var t=null;return 0===this.popup_.length?t=null:this.popup_.length>=1&&(t=this.popup_),t}},{key:"removePopup",value:function(t){var e=this;return HF(Sd.prototype.removePopup)&&Bl(Mu("exception").removepopup_method),QF(t)?(this.popup_.forEach((function(t){e.getImpl().removePopup(t),t.destroy()})),this.popup_=[]):JF(t)?t.forEach((function(t,r){var n=e.popup_.findIndex((function(e){return e.getId()===t.getId()}));e.getImpl().removePopup(e.popup_[n]),e.popup_[n].destroy(),e.popup_.splice(n,1)})):(this.getImpl().removePopup(t),t.destroy(),this.popup_.forEach((function(r,n){r.getId()===t.getId()&&e.popup_.splice(n,1)}))),this}},{key:"addPopup",value:function(t,e){var r=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];QF(t)&&Bl(Mu("exception").no_popup);var i=t,o=e;return JF(t)||(i=[t]),JF(e[0])||(o=[e]),i.forEach((function(t,e){n&&(r.removePopup(r.popup_),r.popup_=[]),r.popup_.push(t),t.addTo(r,o[e])})),this}},{key:"addUpClass_",value:function(t){var e=this;t.on(Kl,(function(t){3===e.getControls(["wmcselector","scale","scaleline"]).length&&e.getControls(["scaleline"])[0].getElement().classList.add("ol-scale-line-up")}))}},{key:"_checkCompleted",value:function(){this._finishedInitCenter&&this._finishedMaxExtent&&this._finishedMapImpl&&(this._finishedMap=!0,this.fire(mu))}},{key:"on",value:function(t,e,r){var n=OF(RF(o.prototype),"on",this).call(this,t,e,r);return t===mu&&!0===this._finishedMap&&this.fire(mu),n}},{key:"refresh",value:function(){return!HF(this.getImpl().refresh)&&$F(this.getImpl().refresh)&&this.getImpl().refresh(),this.getLayers().forEach((function(t){return t.refresh()})),this}},{key:"isFinished",value:function(){return this._finishedMap}},{key:"getRotation",value:function(){return HF(Sd.prototype.getRotation)&&Bl(Mu("exception").no_get_rotation_method),this.getImpl().getRotation()*(180/Math.PI)}},{key:"setRotation",value:function(t){HF(Sd.prototype.setRotation)&&Bl(Mu("exception").no_set_rotation_method),this.getImpl().setRotation(t*(Math.PI/180)),this.fire(Eu,[t])}},{key:"setBGColorContainer",value:function(t){QF(t)||(document.querySelector(".m-mapea-container").style.backgroundColor=t,document.querySelector(".m-mapea-container").style.backgroundImage="unset")}},{key:"enableMouseWheel",value:function(t){this.getImpl().enableMouseWheel(t)}},{key:"enableDrag",value:function(t){this.getImpl().enableDrag(t)}},{key:"setZoomLevels",value:function(t){var e=this;HF(t)||QF(t)||this.calculateMaxExtent().then((function(r){var n=e.getZoom(),i=e.getMapImpl().getSize(),o=e.getProjection().units,a=fD(r,i,t,o);e.setResolutions(a,!0),M.config.ZOOM_LEVELS=t,nt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(r=!e.some((function(e){return!t(e)})))):"string"==typeof e&&0===e.trim().length&&(r=!0),r},$F=function(t){var e=!1;return KF(t)||(e="function"==typeof t&&!HF(t.call)),e},tD=function(t){var e=!1;return KF(t)||(e="object"===XF(t)&&!HF(t.toString)),e},eD=function(t){var e=!1;return KF(t)||(e="string"==typeof t),e},rD=function(t){var e=!1;return!KF(t)&&eD(t)&&(e=/(https?:\/\/[^*]+)/.test(t)),e},nD=function(t){return"number"==typeof t},iD=function(t,e){var r=t;return!QF(r)&&eD(r)&&(r=r.trim(),r=e?r.toUpperCase():r.toLowerCase()),r},oD=function(t,e){var r=null,n=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]"),i=e,o=i.indexOf("?");-1!==o&&(i=i.substring(o),null!==(r=new RegExp("[\\?&]".concat(n,"=([^&#]*)")).exec(i))&&(r=decodeURIComponent(r[1].replace(/\+/g," "))));return r},aD=function(t,e){var r=t;-1===r.indexOf("?")?r+="?":"?"!==r.charAt(r.length-1)&&(r+="&");var n="";tD(e)?(Object.keys(e).forEach((function(t){var r=e[t];n+=t,n+="=",n+=encodeURIComponent(r),n+="&"})),n=n.substring(0,n.length-1)):eD(e)&&(n=e);return r+=n},sD=function(t,e){var r="";return QF(t)||(r=t),r=r.concat(Math.random()).replace(/0\./,""),QF(e)||(r=r.concat(e)),r},lD=function(t,e,r){var n=t;return n=aD(n,"request=GetCapabilities"),n=aD(n,"service=WMS"),eD(e)&&(n=aD(n,{version:e})),eD(r)&&(n=aD(n,{ticket:r})),n},uD=function(t,e){var r=t;return r=aD(r,"request=GetCapabilities"),r=aD(r,"service=WMTS"),QF(e)||(r=aD(r,{version:e})),r},cD=function(t,e,r){var n=t,i=e,o=new Array(r);n=Number.parseFloat(n),i=Number.parseFloat(i);var a=2;Number.isNaN(n)||(a=Math.pow(i/n,1/(r-1)));for(var s=0;s1?1/t:t)*qF[n]*72));return r},fD=function(t,e,r,n){var i=t,o=null,a=null;JF(i)?(o=i[2]-i[0],a=i[3]-i[1]):tD(i)?(o=i.x.max-i.x.min,a=i.y.max-i.y.min):eD(i)&&(o=(i=i.split(","))[2]-i[0],a=i[3]-i[1]);var s=o/e[0],l=a/e[1],u=Math.max(s,l);return cD(null,u,r)},pD=function(t,e){var r=e;return QF(r)&&(r="degrees"),t*qF[r]*72},dD=function(t){var e;if(!QF(t)){var r=document.createElement("div");r.innerHTML=t,e=r.children[0]}return e},gD=function(t){var e=t;if(e&&(e=e.trim()).length>0){var r=e.indexOf(":");-1!==r&&(r+=1,e=e.substring(r,e.length))}return e},yD=function(t){var e=iD(t);return e=(e=e.replace(/_(\w)/g,(function(t,e){return" ".concat(e.toUpperCase())}))).replace(/^\w/,(function(t){return t.toUpperCase()}))},mD=function(t){var e=null;if(!QF(t)){e=(e=t[0]).replace(/\/+\s*$/,"");for(var r=1,n=t.length;r=0?o=s:(o=i+s)<0&&(o=0);o]*>)+[^<]*(<\s*\/\s*script[^>]*>)+/gi,"").replace(/(('|')\s*\+\s*)?\s*eval\s*\(.*\)\s*(\+\s*('|'))?/gi,"")},xD=function(t){var e=t;if("ontouchstart"in document){var r=0;e.addEventListener("touchstart",(function(t){r=e.scrollTop+t.touches[0].pageY})),e.addEventListener("touchmove",(function(t){e.scrollTop=r-t.touches[0].pageY}))}},wD=function(t,e){var r=t.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1"),n=e.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1");return r.toLowerCase()===n.toLowerCase()},ED=function(t){var e=[ih.toLowerCase(),"GeometryPropertyType".toLowerCase(),hh.toLowerCase(),oh.toLowerCase(),ch.toLowerCase(),ah.toLowerCase(),sh.toLowerCase(),lh.toLowerCase(),uh.toLowerCase(),fh.toLowerCase(),ph.toLowerCase(),"pointpropertytype","polygonpropertytype","linestringpropertytype","geometrypropertytype","multisurfacepropertytype","multilinestringpropertytype","surfacepropertytype","geometrypropertytype","geometryarraypropertytype","multigeometrypropertytype","multipolygonpropertytype","multipointpropertytype","abstractgeometricaggregatetype","pointarraypropertytype","curvearraypropertytype","solidpropertytype","solidarraypropertytype"],r=t.toLowerCase();return-1!==e.indexOf(r)},SD=function(t){var e=document.createElement("textarea");return e.innerHTML=t,e.value},OD=function(t){var e=t;!eD(t)&&t.outerHTML&&(e=t.outerHTML);var r=document.createElement("DIV");return r.innerHTML=e,r.textContent||r.innerText||""},ID=function(t,e,r){return l.a.scale([t,e]).colors(r)},CD=function(t){var e;if(eD(t)){var r=l()(t).hex();r=r.replace(/^#/,"0x"),e=l()(16777215-r).hex()}return e},TD=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e;return QF(r)||Object.keys(r).forEach((function(e){var i=r[e];JF(i)?i=YF(i):tD(i)&&(i=t({},i)),QF(n[e])?n[e]=i:tD(n[e])&&t(n[e],i)})),n},PD=function(t,e){var r=YF(t);if(t.length1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t instanceof o?t.getAttribute(e):t[e]),r}),this))}return e}},{key:"setAttribute",value:function(t,e){return this.getImpl().setAttribute(t,e)}},{key:"setStyle",value:function(t){!QF(t)&&t instanceof O_?(this.style_=t,this.style_.applyToFeature(this)):QF(t)&&(this.style_=null,this.getImpl().clearStyle()),this.fire(xu,[t,this])}},{key:"equals",value:function(t){return this.getId()===t.getId()}},{key:"getStyle",value:function(){return this.style_}},{key:"clearStyle",value:function(){this.setStyle(null)}},{key:"getCentroid",value:function(){var t=this.getId(),e=this.getAttributes(),r=new bw({stroke:{color:"#67af13",width:2},radius:8,fill:{color:"#67af13",opacity:.2}}),n=this.getImpl().getCentroid();return QF(n)||(n.setId("".concat(t," centroid}")),n.setAttributes(e),n.setStyle(r)),n}}])&&WD(e.prototype,r),n&&WD(e,n),o}(Zl);function QD(t){return(QD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $D(t,e){return($D=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function tG(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=rG(t);if(e){var i=rG(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return eG(this,r)}}function eG(t,e){return!e||"object"!==QD(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function rG(t){return(rG=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var nG=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$D(t,e)}(r,t);var e=tG(r);function r(t,n){var i;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),(i=e.call(this,sD("_mapea_cluster_"))).setAttributes(n),i.setAttribute("features",t),i}return r}(JD);function iG(t){return(iG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function oG(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aG(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return pG(this,o),(e=i.call(this)).filterFunction_=t,e.cqlFilter_="",QF(r.cqlFilter)||(e.cqlFilter_=r.cqlFilter),e}return e=o,(r=[{key:"setFunction",value:function(t){this.filterFunction_=t}},{key:"getFunctionFilter",value:function(){return this.filterFunction_}},{key:"execute",value:function(t){return t.filter(this.filterFunction_)}},{key:"toCQL",value:function(){return this.cqlFilter_}}])&&dG(e.prototype,r),n&&dG(e,n),o}(Yx);function bG(t){return(bG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function xG(t,e){return(xG=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function wG(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=SG(t);if(e){var i=SG(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return EG(this,r)}}function EG(t,e){return!e||"object"!==bG(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function SG(t){return(SG=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var OG=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xG(t,e)}(r,t);var e=wG(r);function r(t,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r);return e.call(this,(function(e,r){var n=null;return QF(e)||(n=e.getGeometry()),t(n,r)}),n)}return r}(vG),IG=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function CG(t){return"string"==typeof t?t:""}var TG=function(t){function e(){return t.call(this)||this}return IG(e,t),e.prototype.getType=function(){return"text"},e.prototype.readFeature=function(t,e){return this.readFeatureFromText(CG(t),this.adaptOptions(e))},e.prototype.readFeatureFromText=function(t,e){return Object(si.b)()},e.prototype.readFeatures=function(t,e){return this.readFeaturesFromText(CG(t),this.adaptOptions(e))},e.prototype.readFeaturesFromText=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){return this.readGeometryFromText(CG(t),this.adaptOptions(e))},e.prototype.readGeometryFromText=function(t,e){return Object(si.b)()},e.prototype.readProjection=function(t){return this.readProjectionFromText(CG(t))},e.prototype.readProjectionFromText=function(t){return this.dataProjection},e.prototype.writeFeature=function(t,e){return this.writeFeatureText(t,this.adaptOptions(e))},e.prototype.writeFeatureText=function(t,e){return Object(si.b)()},e.prototype.writeFeatures=function(t,e){return this.writeFeaturesText(t,this.adaptOptions(e))},e.prototype.writeFeaturesText=function(t,e){return Object(si.b)()},e.prototype.writeGeometry=function(t,e){return this.writeGeometryText(t,this.adaptOptions(e))},e.prototype.writeGeometryText=function(t,e){return Object(si.b)()},e}(fI),PG=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RG={POINT:Aa,LINESTRING:Eh,POLYGON:Xa,MULTIPOINT:mh,MULTILINESTRING:Oh,MULTIPOLYGON:Th},LG="EMPTY",MG=0,AG=1,NG=2,kG=3,jG=4,FG=5,DG=6,GG={Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION",Circle:"CIRCLE"},UG=function(){function t(t){this.wkt=t,this.index_=-1}return t.prototype.isAlpha_=function(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"},t.prototype.isNumeric_=function(t,e){return t>="0"&&t<="9"||"."==t&&!(void 0!==e&&e)},t.prototype.isWhiteSpace_=function(t){return" "==t||"\t"==t||"\r"==t||"\n"==t},t.prototype.nextChar_=function(){return this.wkt.charAt(++this.index_)},t.prototype.nextToken=function(){var t,e=this.nextChar_(),r=this.index_,n=e;if("("==e)t=NG;else if(","==e)t=FG;else if(")"==e)t=kG;else if(this.isNumeric_(e)||"-"==e)t=jG,n=this.readNumber_();else if(this.isAlpha_(e))t=AG,n=this.readText_();else{if(this.isWhiteSpace_(e))return this.nextToken();if(""!==e)throw new Error("Unexpected character: "+e);t=DG}return{position:r,value:n,type:t}},t.prototype.readNumber_=function(){var t,e=this.index_,r=!1,n=!1;do{"."==t?r=!0:"e"!=t&&"E"!=t||(n=!0),t=this.nextChar_()}while(this.isNumeric_(t,r)||!n&&("e"==t||"E"==t)||n&&("-"==t||"+"==t));return parseFloat(this.wkt.substring(e,this.index_--))},t.prototype.readText_=function(){var t,e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()},t}(),BG=function(){function t(t){this.lexer_=t,this.token_={position:0,type:MG},this.layout_=$o}return t.prototype.consume_=function(){this.token_=this.lexer_.nextToken()},t.prototype.isTokenType=function(t){return this.token_.type==t},t.prototype.match=function(t){var e=this.isTokenType(t);return e&&this.consume_(),e},t.prototype.parse=function(){return this.consume_(),this.parseGeometry_()},t.prototype.parseGeometryLayout_=function(){var t=$o,e=this.token_;if(this.isTokenType(AG)){var r=e.value;"Z"===r?t=ta:"M"===r?t=ea:"ZM"===r&&(t=ra),t!==$o&&this.consume_()}return t},t.prototype.parseGeometryCollectionText_=function(){if(this.match(NG)){var t=[];do{t.push(this.parseGeometry_())}while(this.match(FG));if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePointText_=function(){if(this.match(NG)){var t=this.parsePoint_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseLineStringText_=function(){if(this.match(NG)){var t=this.parsePointList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePolygonText_=function(){if(this.match(NG)){var t=this.parseLineStringTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiPointText_=function(){if(this.match(NG)){var t=void 0;if(t=this.token_.type==NG?this.parsePointTextList_():this.parsePointList_(),this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiLineStringText_=function(){if(this.match(NG)){var t=this.parseLineStringTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiPolygonText_=function(){if(this.match(NG)){var t=this.parsePolygonTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePoint_=function(){for(var t=[],e=this.layout_.length,r=0;r0&&(n+=" "+i)}return 0===r.length?n+" "+LG:n+"("+r+")"}var HG=zG;function ZG(t){return(ZG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function KG(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function JG(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return KG(this,o),(t=i.call(this,e)).gjFormat_=new eA,t}return e=o,(r=[{key:"write",value:function(t){var e=this.gjFormat_.readGeometryFromObject(t);if("point"===e.getType().toLowerCase()){var r=e.getCoordinates();e.setCoordinates([r[0],r[1]])}return this.writeGeometryText(e)}}])&&JG(e.prototype,r),n&&JG(e,n),o}(HG);function nU(t){return(nU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function iU(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function oU(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};iU(this,o);var r=new rU(e);return t=i.call(this,r),HF(rU)&&Bl(Mu("exception").wkt_method),t}return e=o,(r=[{key:"write",value:function(t){return this.getImpl().write(t)}}])&&oU(e.prototype,r),n&&oU(e,n),o}(Zl);function hU(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fU(t,e){for(var r=0;r0&&(r=i.TileMatrix.map((function(t){return t.Identifier}))),r}},{key:"getFormat",value:function(t){var e,r=this.capabilities.Contents.Layer.filter((function(e){return e.Identifier===t}))[0];return null!=r&&(e=r.Format[0]),e}},{key:"getOptionsFromCapabilities",value:function(t,e){return $N(this.capabilities,{layer:t,matrixSet:e})}}])&&fU(e.prototype,r),n&&fU(e,n),t}();function dU(t){return(dU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function gU(t,e){for(var r=0;r0&&(this.selectedFeatures_.length=0,this.map.removePopup())}},{key:"drawPoints",value:function(t){var e=t;QF(e)&&Bl(Mu("exception").no_point),JF(e)||(e=[e]);var r=this.pointsToGeoJSON_(e);this.drawGeoJSON(r)}},{key:"drawGeoJSON",value:function(t){var e=this,r=t;QF(r)&&Bl(Mu("exception").no_geojson),JF(r)||(r=[r]);var n=Object(u.o)(this.map.getProjection().code),i=[];r.forEach((function(t){var r=e.geojsonFormatter_.readFeatures(t,{dataProjection:n});i=i.concat(r)})),this.ol3Layer.getSource().addFeatures(i)}},{key:"drawFeatures",value:function(t){var e=t;QF(e)||(JF(e)||(e=[e]),this.ol3Layer.getSource().addFeatures(e))}},{key:"removeFeatures",value:function(t){var e=t;if(!QF(e)){JF(e)||(e=[e]);var r=this.ol3Layer.getSource();e.forEach((function(t){try{r.removeFeature(t)}catch(t){throw t}}))}}},{key:"getPoints",value:function(t){var e=[],r=this.ol3Layer.getSource();return e=QF(t)?r.getFeatures():r.getFeaturesAtCoordinate(t),this.featuresToPoints_(e)}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.options=null,this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=e&&this.name===t.name),e}},{key:"pointsToGeoJSON_",value:function(t){var e=this,r=Object(u.o)(this.map.getProjection().code);return t.map((function(t){var n=t.data,i=new Aa([t.x,t.y]);return{type:"Feature",geometry:e.geojsonFormatter_.writeGeometryObject(i,{dataProjection:r}),properties:n,click:t.click,showPopup:t.showPopup}}))}},{key:"featuresToPoints_",value:function(t){return[]}}])&&gU(e.prototype,r),n&&gU(e,n),o}(tf),xU=34962,wU=34963,EU=35044,SU=35048,OU=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function IU(t,e){for(var r=Object(Mi.a)({preserveDrawingBuffer:!0,antialias:!Li.f},e),n=OU.length,i=0;i0))){var r=IU(e.canvas).getExtension("WEBGL_lose_context");r&&r.loseContext(),delete qU[t]}}(this.canvasCacheKey_),delete this.gl_,delete this.canvas_},e.prototype.prepareDraw=function(t,e){var r=this.getGL(),n=this.getCanvas(),i=t.size,o=t.pixelRatio;n.width=i[0]*o,n.height=i[1]*o,n.style.width=i[0]+"px",n.style.height=i[1]+"px",r.useProgram(this.currentProgram_);for(var a=this.postProcessPasses_.length-1;a>=0;a--)this.postProcessPasses_[a].init(t);r.bindTexture(r.TEXTURE_2D,null),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),r.enable(r.BLEND),r.blendFunc(r.ONE,e?r.ZERO:r.ONE_MINUS_SRC_ALPHA),r.useProgram(this.currentProgram_),this.applyFrameState(t),this.applyUniforms(t)},e.prototype.prepareDrawToRenderTarget=function(t,e,r){var n=this.getGL(),i=e.getSize();n.bindFramebuffer(n.FRAMEBUFFER,e.getFramebuffer()),n.viewport(0,0,i[0],i[1]),n.bindTexture(n.TEXTURE_2D,e.getTexture()),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.enable(n.BLEND),n.blendFunc(n.ONE,r?n.ZERO:n.ONE_MINUS_SRC_ALPHA),n.useProgram(this.currentProgram_),this.applyFrameState(t),this.applyUniforms(t)},e.prototype.drawElements=function(t,e){var r=this.getGL();this.getExtension("OES_element_index_uint");var n=r.UNSIGNED_INT,i=e-t,o=4*t;r.drawElements(r.TRIANGLES,i,n,o)},e.prototype.finalizeDraw=function(t,e,r){for(var n=0,i=this.postProcessPasses_.length;nthis.size_[0]||e>=this.size_[1])return tB[0]=0,tB[1]=0,tB[2]=0,tB[3]=0,tB;this.readAll();var r=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return tB[0]=this.data_[4*r],tB[1]=this.data_[4*r+1],tB[2]=this.data_[4*r+2],tB[3]=this.data_[4*r+3],tB},t.prototype.getTexture=function(){return this.texture_},t.prototype.getFramebuffer=function(){return this.framebuffer_},t.prototype.updateSize_=function(){var t=this.size_,e=this.helper_.getGL();this.texture_=this.helper_.createTexture(t,null,this.texture_),e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer_),e.viewport(0,0,t[0],t[1]),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture_,0),this.data_=new Uint8Array(t[0]*t[1]*4)},t}(),rB=r(113),nB=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),iB=function(t){function e(e,r){var n=this,i=r.uniforms||{},o=Object(li.d)();i[FU]=o,(n=t.call(this,e,{uniforms:i,postProcesses:r.postProcesses})||this).ready=!1,n.sourceRevision_=-1,n.verticesBuffer_=new PU(xU,SU),n.hitVerticesBuffer_=new PU(xU,SU),n.indicesBuffer_=new PU(wU,SU),n.vertexShader_=r.vertexShader,n.fragmentShader_=r.fragmentShader,n.program_,n.hitDetectionEnabled_=!(!r.hitFragmentShader||!r.hitVertexShader),n.hitVertexShader_=r.hitVertexShader,n.hitFragmentShader_=r.hitFragmentShader,n.hitProgram_;var a=r.attributes?r.attributes.map((function(t){return{name:"a_"+t.name,size:1,type:VU.FLOAT}})):[];n.attributes=[{name:"a_position",size:2,type:VU.FLOAT},{name:"a_index",size:1,type:VU.FLOAT}].concat(a),n.hitDetectionAttributes=[{name:"a_position",size:2,type:VU.FLOAT},{name:"a_index",size:1,type:VU.FLOAT},{name:"a_hitColor",size:4,type:VU.FLOAT},{name:"a_featureUid",size:1,type:VU.FLOAT}].concat(a),n.customAttributes=r.attributes?r.attributes:[],n.previousExtent_=Object(mt.k)(),n.currentTransform_=o,n.renderTransform_=Object(li.d)(),n.invertRenderTransform_=Object(li.d)(),n.renderInstructions_=new Float32Array(0),n.hitRenderInstructions_=new Float32Array(0),n.hitRenderTarget_,n.generateBuffersRun_=0,n.worker_=Object(rB.a)(),n.worker_.addEventListener("message",function(t){var e=t.data;if(e.type===JU){var r=e.projectionTransform;e.hitDetection?(this.hitVerticesBuffer_.fromArrayBuffer(e.vertexBuffer),this.helper.flushBufferData(this.hitVerticesBuffer_)):(this.verticesBuffer_.fromArrayBuffer(e.vertexBuffer),this.helper.flushBufferData(this.verticesBuffer_)),this.indicesBuffer_.fromArrayBuffer(e.indexBuffer),this.helper.flushBufferData(this.indicesBuffer_),this.renderTransform_=r,Object(li.e)(this.invertRenderTransform_,this.renderTransform_),e.hitDetection?this.hitRenderInstructions_=new Float32Array(t.data.renderInstructions):(this.renderInstructions_=new Float32Array(t.data.renderInstructions),e.generateBuffersRun===this.generateBuffersRun_&&(this.ready=!0)),this.getLayer().changed()}}.bind(n)),n.featureCache_={},n.featureCount_=0;var s=n.getLayer().getSource();return n.sourceListenKeys_=[Object(eo.a)(s,Lg,n.handleSourceFeatureAdded_,n),Object(eo.a)(s,Mg,n.handleSourceFeatureChanged_,n),Object(eo.a)(s,Ng,n.handleSourceFeatureDelete_,n),Object(eo.a)(s,Ag,n.handleSourceFeatureClear_,n)],s.forEachFeature(function(t){this.featureCache_[Object(si.c)(t)]={feature:t,properties:t.getProperties(),geometry:t.getGeometry()},this.featureCount_++}.bind(n)),n}return nB(e,t),e.prototype.afterHelperCreated=function(){this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_),this.hitDetectionEnabled_&&(this.hitProgram_=this.helper.getProgram(this.hitFragmentShader_,this.hitVertexShader_),this.hitRenderTarget_=new eB(this.helper))},e.prototype.handleSourceFeatureAdded_=function(t){var e=t.feature;this.featureCache_[Object(si.c)(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++},e.prototype.handleSourceFeatureChanged_=function(t){var e=t.feature;this.featureCache_[Object(si.c)(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}},e.prototype.handleSourceFeatureDelete_=function(t){var e=t.feature;delete this.featureCache_[Object(si.c)(e)],this.featureCount_--},e.prototype.handleSourceFeatureClear_=function(){this.featureCache_={},this.featureCount_=0},e.prototype.renderFrame=function(t){var e=this.helper.getGL();this.preRender(e,t);var r=t.viewState.projection,n=this.getLayer().getSource().getWrapX()&&r.canWrapX(),i=r.getExtent(),o=t.extent,a=n?Object(mt.G)(i):null,s=n?Math.ceil((o[2]-i[2])/a)+1:1,l=n?Math.floor((o[0]-i[0])/a):0,u=l,c=this.indicesBuffer_.getSize();do{this.helper.makeProjectionTransform(t,this.currentTransform_),Object(li.m)(this.currentTransform_,u*a,0),Object(li.g)(this.currentTransform_,this.invertRenderTransform_),this.helper.applyUniforms(t),this.helper.drawElements(0,c)}while(++u0&&void 0!==arguments[0]?arguments[0]:{};fB(this,o),t=i.call(this,e);var r,n=e.weight?e.weight:"weight";if("string"==typeof n){var a=1,s=t.getWeights(e);s.length>0?(a=s.reduce((function(t,e){return Math.max(t,e)})),t.maxWeight_=a,t.minWeight_=s.reduce((function(t,e){return Math.min(t,e)})),r=function(t){var e;return t instanceof gh?e=t.get(n):t instanceof JD&&(e=t.getAttribute(n)),parseFloat(e/a)}):Bx("La capa de nombre ".concat(e.name," no tiene ninguna feature
    \n con el atributo especificado en simbología establecida.\n
    Se setea una ponderación por defecto"),"Mapa de calor")}else r=n;return t.setStyle((function(e,n){var i=Dy.getValue(r,e),o=void 0!==i?Object(qo.b)(i,0,1):1,a=255*o||0,s=t.styleCache_[a];return s||(s=[new om({image:new oy({opacity:o,src:t.circleImage_})})],t.styleCache_[a]=s),s})),t}return e=o,(r=[{key:"getMinWeight",value:function(){return this.minWeight_}},{key:"getMaxWeight",value:function(){return this.maxWeight_}},{key:"getWeights",value:function(t){var e=[],r=this.getSource();if(null!==r){var n=r.getFeatures();n.length>0&&(e=n.map((function(e){return e.get(t.weight)})).filter((function(t){return null!=t})))}return e}}])&&pB(e.prototype,r),n&&pB(e,n),o}(cB);function vB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function bB(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};vB(this,t),this.attributeName_=e.attribute||null,this.label_=e.label||null,this.fillColor_=e.fill||null,this.legend_=e.legend||null}var e,r,n;return e=t,(r=[{key:"attribute",get:function(){return this.attributeName_},set:function(t){this.attributeName_=t}},{key:"label",get:function(){return this.label_},set:function(t){this.label_=t}},{key:"fillColor",get:function(){return this.fillColor_},set:function(t){this.fillColor_=t}},{key:"legend",get:function(){return this.legend_},set:function(t){this.legend_=t}}])&&bB(e.prototype,r),n&&bB(e,n),t}(),wB={DONUT:"donut",PIE_3D:"pie3D",PIE:"pie",BAR:"bar"},EB={Custom:"m.style.chart.types.custom_scheme",Classic:["#ffa500","blue","red","green","cyan","magenta","yellow","#0f0"],Dark:["#960","#003","#900","#060","#099","#909","#990","#090"],Pale:["#fd0","#369","#f64","#3b7","#880","#b5d","#666"],Pastel:["#fb4","#79c","#f66","#7d7","#acc","#fdd","#ff9","#b9b"],Neon:["#ff0","#0ff","#0f0","#f0f","#f00","#00f"]};function SB(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||IB(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OB(t){return function(t){if(Array.isArray(t))return CB(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||IB(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function IB(t,e){if(t){if("string"==typeof t)return CB(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?CB(t,e):void 0}}function CB(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};PB(this,o);var e=t,r=e.variables||null;if(Object.values(wB).includes(e.type)||(e.type=o.DEFAULT.type),QF(r)||(r instanceof Array?e.variables=r.filter((function(t){return null!=t})).map((function(t){return o.formatVariable(t)})):"string"==typeof r||"object"===TB(r)?e.variables=[o.formatVariable(r)]:e.variables=[]),QF(e.scheme))e.scheme=o.DEFAULT.scheme;else if("string"==typeof e.scheme){var n=e.variables.some((function(t){return null!=t.fillColor}));e.scheme===EB.Custom&&n?e.scheme=e.variables.map((function(t){return t.fillColor?t.fillColor:""})):e.scheme=EB[e.scheme]||o.DEFAULT.scheme}else e.scheme instanceof Array&&e.scheme.every((function(t){return"string"==typeof t}))||(e.scheme=o.DEFAULT.scheme);var a=new uz(e);return i.call(this,e,a)}return e=o,n=[{key:"formatVariable",value:function(t){return null==t?null:t instanceof xB?t:new xB("string"==typeof t?{attribute:t}:t)}},{key:"deserialize",value:function(t){var e=SB(t,1)[0],r=e;return r.variables=e.variables.map((function(t){return new xB(AD(t))})),new Function(["options"],"return new M.style.Chart(options)")(r)}}],(r=[{key:"updateCanvas",value:function(){QF(this.getImpl())&&QF(this.canvas_)||this.getImpl().updateCanvas(this.canvas_)}},{key:"apply",value:function(t){var e=this;this.layer_=t,t.getFeatures().forEach((function(t){return t.setStyle(e.clone())})),this.updateCanvas()}},{key:"toJSON",value:function(){var t=this.getOptions();return{parameters:[{type:t.type,radius:t.radius,donutRadio:t.donutRadio,offsetX:t.offsetX,offsetY:t.offsetY,stroke:QF(t.stroke)?void 0:TD({},t.stroke),fill3DColor:t.fill3DColor,scheme:JF(t.scheme)?OB(t.scheme):t.scheme,label:QF(t.label)?void 0:TD({},t.label),rotateWithView:t.rotateWithView,variables:t.variables.map((function(t){var e;return QF(t.label)||(e=TD({},t.label),e=MD(e)),{attribute:t.attribute,legend:t.legend,fill:t.fillColor,label:e}}))}],deserializedMethod:"M.style.Chart.deserialize"}}},{key:"ORDER",get:function(){return 1}}])&&RB(e.prototype,r),n&&RB(e,n),o}(O_);kB.DEFAULT={shadow3dColor:"#369",type:wB.PIE,scheme:EB.Classic,radius:20,donutRatio:.5,offsetX:0,offsetY:0,animationStep:1};var jB=kB;function FB(t){return(FB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function DB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function GB(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};DB(this,o);var r=QF(e.stroke)?0:e.stroke.getWidth();return t=i.call(this,{radius:("number"==typeof e.radius?e.radius:0)+r,fill:new Jy({color:[0,0,0]}),rotation:"number"==typeof e.rotation?e.rotation:0,snapToPixel:"boolean"==typeof e.snapToPixel&&e.snapToPixel}),e.scale&&t.setScale(e.scale),t.variables_=e.variables||[],t.stroke_=e.stroke||null,t.radius_=e.radius||0,t.donutRatio_=e.donutRatio||0,t.type_=e.type||null,t.offset_=[e.offsetX?e.offsetX:0,e.offsetY?e.offsetY:0],t.animation_={animate:"number"==typeof e.animation,step:"number"==typeof e.animation?e.animation:jB.DEFAULT.animationStep},t.data_=e.data||null,t.colors_=e.scheme instanceof Array?e.scheme:[],t.fill3DColor_=e.fill3DColor||"#000",t.rotateWithView_=e.rotateWithView||!1,t.renderChart_(),t}return e=o,(r=[{key:"clone",value:function(){var t=new o({type:this.type_,radius:this.radius_,colors:this.colors_,rotation:this.getRotation(),scale:this.getScale(),donutRatio:this.donutRatio_,data:this.data_,stroke:this.stroke_,scheme:this.colors_,offsetX:this.offset_[0],offsetY:this.offset_[1],animation:this.animation_,fill3DColor:this.fill3DColor_,rotateWithView:this.rotateWithView_});return t.setScale(this.getScale()),t.setOpacity(this.getOpacity()),t}},{key:"setRadius",value:function(t,e){this.donutRatio_=e||this.donutRatio_,this.radius=t}},{key:"setAnimation",value:function(t){if(!1===t){if(!1===this.animation_.animate)return;this.animation_.animate=!1}else{if(this.animation_.step===t)return;this.animation_.animate=!0,this.animation_.step=t}this.renderChart_()}},{key:"getChecksum",value:function(){var t,e=null!==this.stroke_?this.stroke_.getChecksum():"-";if(null===this.checksums_||e!==this.checksums_[1]||t!==this.checksums_[2]||this.radius_!==this.checksums_[3]||this.data_.join("|")!==this.checksums_[4]){var r=this.radius_?this.radius_.toString():"-",n="c".concat(e).concat(t).concat(r).concat(this.data_.join("|"));this.checksums_=[n,e,t,this.radius_,this.data_.join("|")]}return this.checksums_[0]}},{key:"renderChart_",value:function(t){switch(this.type_){case wB.DONUT:case wB.PIE_3D:case wB.PIE:this.renderCircleChart();break;default:this.renderBarChart()}}},{key:"renderBarChart",value:function(){var t,e=this,r=this.getImage(1),n=r.getContext("2d"),i=0,o=this.animation_.animate?this.animation_.step:1;this.stroke_&&(t=Object(ui.b)(this.stroke_.getColor()),i=this.stroke_.getWidth());var a,s=Math.max.apply(null,this.data_)||0,l=Math.min(5,2*this.radius_/this.data_.length),u=r.width-(i||0),c=r.width/2,h=c-this.data_.length*l/2;t&&(n.strokeStyle=t,n.lineWidth=i),this.data_.sort((function(t,e){return t-e})).forEach((function(r,i){n.beginPath(),n.fillStyle=e.colors_[i%e.colors_.length],a=h+l;var c=r/s*2*e.radius_*o;n.rect(h,u-c,l,c),n.closePath(),n.fill(),t&&n.stroke(),h=a}));var f=this.getAnchor();f[0]=c-this.offset_[0],f[1]=c-this.offset_[1]}},{key:"renderCircleChart",value:function(){var t,e=0;this.stroke_&&(t=Object(ui.b)(this.stroke_.getColor()),e=this.stroke_.getWidth());var r=this.getImage(1),n=r.getContext("2d");n.clearRect(0,0,r.width,r.height),n.lineJoin="round";var i=0;!QF(this.data_)&&this.data_.length>0&&(i=this.data_.reduce((function(t,e){return t+e}))),n.setTransform(1,0,0,1,0,0),n.translate(0,0);var o=this.animation_.animate?this.animation_.step:1,a=Math.PI*(o-1.5),s=r.width/2;t&&(n.strokeStyle=t,n.lineWidth=e),n.save(),this.type_===wB.PIE_3D?this.drawPie3D(n,a,s,o,t,i):this.type_===wB.DONUT?this.drawDonut(n,a,s,o,t,e,i):this.drawPie(n,a,s,o,t,i),n.restore();var l=this.getAnchor();l[0]=s-this.offset_[0],l[1]=s-this.offset_[1]}},{key:"drawDonut",value:function(t,e,r,n,i,o,a){var s=t;s.save(),s.beginPath(),s.rect(0,0,2*r,2*r),s.arc(r,r,this.radius_*n*this.donutRatio_,0,2*Math.PI),s.clip("evenodd");var l=this.drawPie(s,e,r,n,i,a);s.restore(),s.beginPath(),s.strokeStyle=i,s.lineWidth=o;var u=this.radius_;s.arc(r,r,u*n*this.donutRatio_,Math.PI*(n-1.5),l),i&&s.stroke()}},{key:"drawPie3D",value:function(t,e,r,n,i,o){var a=t;a.translate(0,.3*r),a.scale(1,.7),a.beginPath(),a.fillStyle=this.fill3DColor_,a.arc(r,1.4*r,this.radius_*n,0,2*Math.PI),a.fill(),i&&a.stroke(),this.drawPie(t,e,r,n,i,o)}},{key:"drawPie",value:function(t,e,r,n,i,o){var a,s=this,l=e,u=t;return this.data_.forEach((function(t,e){u.beginPath(),u.moveTo(r,r),u.fillStyle=s.colors_[e%s.colors_.length],a=l+2*Math.PI*t/(o*n),u.arc(r,r,s.radius_*n,l,a),u.closePath(),u.fill(),i&&u.stroke(),l=a})),l}},{key:"data",get:function(){return this.data_},set:function(t){this.data_=t,this.renderChart_()}},{key:"radius",get:function(){return this.radius_},set:function(t){this.radius_=t,this.renderChart_()}}])&&GB(e.prototype,r),n&&GB(e,n),o}(vy);function YB(t){return(YB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function WB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function XB(t,e){return(XB=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function HB(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=KB(t);if(e){var i=KB(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return ZB(this,r)}}function ZB(t,e){return!e||"object"!==YB(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function KB(t){return(KB=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function JB(t){return(JB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function QB(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return $B(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $B(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $B(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1?n-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:{};return tz(this,s),az(e,jB.DEFAULT),(t=a.call(this,e)).variables_=e.variables||[],t.colorsScheme_=e.scheme||[],t}return e=s,(r=[{key:"updateCanvas",value:function(t){if(!QF(t)){var e=t.getContext("2d");this.drawGeometryToCanvas(e)}}},{key:"drawGeometryToCanvas",value:function(t){var e=this,r=t;if(!QF(r)&&!QF(r.canvas)){var n=s.CANVAS_PROPS.fixedProps,i=s.CANVAS_PROPS.width;r.canvas.setAttribute("width",i),r.width=i;var o=[],a={};Object.keys(s.CANVAS_PROPS.percentages).forEach((function(t){a[t]=i*(s.CANVAS_PROPS.percentages[t]/100)}));var l=[a.left_right_content,n.top_content],u=l[0],c=l[1],h=function(t,i,s){var l=QB(t,2),u=l[0],c=l[1];c+=n.item_top_margin,o.push(function(t){var e=t.context;e.beginPath(),e.strokeStyle=t.strokeColor,e.lineWidth=t.width,e.fillStyle=t.color,e.rect(t.x,t.y,t.rectSize,t.rectSize),e.closePath(),e.stroke(),e.fill()}.bind(e,{context:r,strokeColor:"#000",width:n.rect_border_width,color:s,x:u,y:c,rectSize:n.rect_size})),u+=a.item_side_margin+n.rect_size;var h=(c+=n.rect_size/1.5)+n.item_top_margin,f=function(t,i,a,s,l){var u=a.split(" "),c="",h=i[0],f=i[1];return o.push(function(t){var e=t.context;e.font="".concat(t.fontSize,"px ").concat(t.fontFamily),e.strokeStyle=t.strokeColor,e.strokeWidth=t.strokeWidth,e.fillStyle=t.textColor}.bind(e,{context:r,fontSize:n.font_size,fontFamily:n.font_family,strokeColor:n.text_stroke_color,strokeWidth:n.text_stroke_width,textColor:n.text_color})),u.forEach((function(t,n){r.measureText("".concat(c+t)).width>s&&n>0?(o.push(function(t,e,r,n){t.strokeText(e,r,n),t.fillText(e,r,n)}.bind(e,r,c,h,f)),c="".concat(t," "),f+=l):c="".concat(c+t," ")})),o.push(function(t,e,r,n){t.strokeText(e,r,n),t.fillText(e,r,n)}.bind(e,r,c,h,f)),[h,f]}(0,[u,c],i,a.max_text_width,a.max_text_line_height);return[f[0],f[1]>h?f[1]:h]};this.variables_.forEach((function(t,r){var n=QF(t.legend)?t.attribute:t.legend,i=QF(t.fillColor)?e.colorsScheme_[r%e.colorsScheme_.length]||e.colorsScheme_[0]:t.fillColor,o=QB(h([u,c],n,i),2);u=o[0],c=o[1],u=a.left_right_content})),c+=n.top_content,r.canvas.setAttribute("height",c),r.save(),o.forEach((function(t){return t()})),r.restore()}}},{key:"updateFacadeOptions",value:function(t){var e=this,r=t;r.rotateWithView=!1,this.olStyleFn_=function(t,o){var a=t;a instanceof gh||(a=e);var s=e.formatDataRecursively_(r,a),l=[];if(e.variables_.forEach((function(t){var e=a.get(t.attribute);e=parseFloat(e),l=l.concat(e instanceof Array?e:[e]).filter((function(t){return null!=t}))})),0===l.length)throw new Error("cannot draw an empty data chart");s.data=l,QF(r.stroke)||(s.stroke=new Qy(r.stroke));var u=[new mb({geometry:function(t){var e=Wh.getCentroid(t.getGeometry());return new Aa(e)},image:new qB(s)})];return"bar"!==s.type?1!==r.variables.length&&r.variables.length!==l.length||(u=u.concat(function(t,e,r){var n=0,i=e.data.reduce((function(t,e){return t+e})),o=e.variables,a=e.data;return t.concat(e.data.map((function(t,s){var l=o.length===a.length?o[s]:o[0],u=l.label||{},c=u.radius?u.radius:e.radius,h=(2*n+t)/i*Math.PI-Math.PI/2;if(n+=t,!l.label)return null;var f="number"==typeof u.radiusIncrement?u.radiusIncrement:3,p="function"==typeof u.textAlign?u.textAlign(h):null;QF(p)&&(p=u.textAlign||(h'))),size:[s[0].getImage().getImage().width/2,n]});return l.push(new om({image:h})),l}(u,s,a))),function(t,e,r){if(!QF(t.label)){var o=new om,a=Dy.getValue(t.label.text,r),s=Dy.getValue(t.label.align,r),l=Dy.getValue(t.label.baseline,r),u=t.label.offset?t.label.offset[0]:void 0,c=t.label.offset?t.label.offset[1]:void 0,h=new Jy({color:Dy.getValue(t.label.color||"#000000",r)}),f=new lm({font:Dy.getValue(t.label.font,r),rotateWithView:Dy.getValue(t.label.rotate,r),scale:Dy.getValue(t.label.scale,r),offsetX:Dy.getValue(u,r),offsetY:Dy.getValue(c,r),fill:h,textAlign:Object.values(n).includes(s)?s:"center",textBaseline:Object.values(i).includes(l)?l:"top",text:void 0===a?void 0:String(a),rotation:Dy.getValue(t.label.rotation,r)});QF(t.label.stroke)||f.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,r),width:Dy.getValue(t.label.stroke.width,r),lineCap:Dy.getValue(t.label.stroke.linecap,r),lineJoin:Dy.getValue(t.label.stroke.linejoin,r),lineDash:Dy.getValue(t.label.stroke.linedash,r),lineDashOffset:Dy.getValue(t.label.stroke.linedashoffset,r),miterLimit:Dy.getValue(t.label.stroke.miterlimit,r)})),o.setText(f),e.push(o)}}(s,u,a),u}}},{key:"applyToLayer",value:function(t){t.getFeatures().forEach(this.applyToFeature,this)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"formatDataRecursively_",value:function(t,e){var r=this;return Object.keys(t).reduce((function(n,i,o){var a=n;return"object"!==JB(n)&&(a={},"object"!==JB(t[n])&&r.setVal(a,t,n,e)),r.setVal(a,t,i),a}))}},{key:"setVal",value:function(t,e,r,n){var i=t;i[r]=Dy.getValue(e[r],n),!tD(e[r])||e[r]instanceof Array||(i[r]=this.formatDataRecursively_(e[r],n))}}])&&ez(e.prototype,r),o&&ez(e,o),s}(function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&XB(t,e)}(r,t);var e=HB(r);function r(){return WB(this,r),e.apply(this,arguments)}return r}(Ry));lz.CANVAS_PROPS={width:200,percentages:{left_right_content:5,item_side_margin:5,max_text_width:70},fixedProps:{rect_border_width:2,font_size:10,font_family:"sans-serif",text_stroke_color:"#fff",text_stroke_width:1,text_color:"#000",top_content:10,item_top_margin:10,text_line_height:15,rect_size:15}};var uz=lz;function cz(t){return(cz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function hz(t,e){for(var r=0;r M.style.Simple.deserialize(serializedParameters, 'M.style.Line'))"}}])&&Iz(e.prototype,r),n&&Iz(e,n),o}(j_);Lz.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};var Mz=Lz;function Az(t,e){for(var r=0;re))&&!((a+=2)>=t.length);)o+=i;var r=e-o;return a>=t.length&&(a=t.length-2),[r?t[a-2]+(t[a]-t[a-2])*r/i:t[a-2],r?t[a-1]+(t[a+1]-t[a-1])*r/i:t[a-1],Math.atan2(t[a+1]-t[a-1],t[a]-t[a-2])]},u=.25*n.measureText(" ").width,c=0,h=0,f=2;fn[n.length-2]){for(var i=[],o=n.length-2;o>=0;o-=2)i.push(n[o]),i.push(n[o+1]);return i}return n}},{key:"formatStyle",value:function(t){var e=t;return null==e?null:(void 0===e&&(e=[new om({text:new lm})]),"function"==typeof e?e:function(){return[e]})}},{key:"draw",value:function(e,r,n,i){var o=this.getPath_(r,i,n.getRotateWithView());e.font=n.getFont(),e.textBaseline=n.getTextBaseline(),e.textAlign=n.getTextAlign(),e.lineWidth=n.getStroke()&&n.getStroke().getWidth()||t.DEFAULT.lineWidth,e.strokeStyle=n.getStroke()&&n.getStroke().getColor()||t.DEFAULT.lineColor,e.fillStyle=n.getFill()&&n.getFill().getColor()||t.DEFAULT.fillColor,e.textJustify="justify"===n.getTextAlign(),e.textOverflow=n.getTextOverflow?n.getTextOverflow():t.DEFAULT.textOverflow,e.minWidth=n.getMinWidth?n.getMinWidth():t.DEFAULT.minWidth,"function"==typeof e.textPath&&e.textPath(n.getText(),o),e.restore()}}],(r=null)&&Az(e.prototype,r),n&&Az(e,n),t}();Nz.DEFAULT={lineWidth:0,lineColor:"#fff",fillColor:"#000",textOverflow:"",minWidth:0};var kz=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(HF(window.CanvasRenderingContext2D.prototype.textPath)&&(window.CanvasRenderingContext2D.prototype.textPath=Nz.render),!(e.frameState.viewState.resolution>this.textPathMaxResolution_)){var r=e.frameState.extent,n=e.context;n.save(),n.scale(e.frameState.pixelRatio,e.frameState.pixelRatio);var i=null!=this.getSource()&&0===this.getSource().getFeatures().length;i||(this.getSource().getFeaturesInExtent(r).forEach((function(r){var i=null!=r.getStyle()?r.getStyle():t.getStyle(),o="function"==typeof i?i(r,e.frameState.viewState.resolution):i;o instanceof Array||(o=[o]),o.forEach((function(t){var i,o=(t instanceof Mz?t.getOptions().geometry:t.getGeometry())||r.getGeometry();switch("function"==typeof o&&(o=o(r)),o.getType()){case"MultiLineString":i=o.getLineString(0).getCoordinates();break;default:i=o.getCoordinates()}var a=t instanceof Mz?t.getOptions().text:t.textPath;null!=a&&a instanceof ym&&Nz.draw(n,e.frameState.coordinateToPixelTransform,a,i)}))})),n.restore())}};la.prototype.cspline=function(t){var e;return this.calcCSpline?this.csplineGeometryRevision===this.getRevision()&&this.csplineOption===JSON.stringify(t)||(this.csplineGeometry_=this.calcCSpline(t),this.csplineGeometryRevision=this.getRevision(),this.csplineOption=JSON.stringify(t),e=this.csplineGeometry_):e=this,e},kh.prototype.calcCSpline=function(t){var e=[];return this.getGeometries().forEach((function(t){return e.push(t.cspline())})),new kh(e)},Oh.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Oh(e)},Xa.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Xa(e)},Th.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Th(e)};var jz=function(t,e,r,n){var i=r-t,o=n-e;return Math.sqrt(i*i+o*o)};function Fz(t){return(Fz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Dz(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},d=this.getCoordinates(),g="number"==typeof p.tension?p.tension:.5,y=p.resolution||this.getLength()/d.length/(p.pointsPerSeg||10),m=[],_=d.slice(0);for(d.length>2&&d[0][0]===d[d.length-1][0]&&d[0][1]===d[d.length-1][1]?(_.unshift(d[d.length-2]),_.push(d[1])):(_.unshift(d[0]),_.push(d[d.length-1])),f=1;f<_.length-2;f+=1){var v=jz(_[f][0],_[f][1],_[f+1][0],_[f+1][1]),b=Math.round(v/y),x=1;if(p.normalize){var w=jz(_[f+1][0],_[f+1][1],_[f-1][0],_[f-1][1]),E=jz(_[f+2][0],_[f+2][1],_[f][0],_[f][1]);x=wo.DEFAULT_WIDTH_LINE&&(s=o.DEFAULT_WIDTH_LINE)),e={color:a.getStroke().getColor(),width:s},a.getStroke().setWidth(s),n.setStyle(a)),this.drawGeometryToCanvas(n,t,e,s)}}])&&Dz(e.prototype,r),n&&Dz(e,n),o}(Dy);qz.DEFAULT_WIDTH_LINE=3;var Yz=qz;function Wz(t){return(Wz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Xz(t,e){for(var r=0;rs.DEFAULT_WIDTH_POLYGON&&n.getStroke().setWidth(s.DEFAULT_WIDTH_POLYGON),r.setStyle(n),this.drawGeometryToCanvas(r)}},{key:"drawGeometryToCanvas",value:function(t){var e=s.getCanvasSize(),r=Math.floor(e[0]),n=Math.floor(e[1]),i=e[0]-r,o=e[1]-n;t.drawGeometry(new Xa([[[i+3,o+3],[r-3,o+3],[r-3,n-3],[i+3,n-3],[i+3,o+3]]]))}}])&&Xz(e.prototype,r),o&&Xz(e,o),s}(Dy);Qz.DEFAULT_WIDTH_POLYGON=3;var $z=Qz;function tV(t){return(tV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eV(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return rV(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rV(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rV(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r5&&void 0!==arguments[5]?arguments[5]:{};return nV(this,o),s=i.call(this,l,{}),QF(t)&&Bl(Mu("exception").no_attr_name),s.attributeName_=t,s.minRadius_=parseInt(e,10)||5,s.maxRadius_=parseInt(r,10)||15,s.style_=n,s.proportionalFunction_=a||cV,s.maxRadius_=this.maxRadius_&&Bl(Mu("exception").min_gt_max),this.update_(),this}},{key:"getMaxRadius",value:function(){return this.maxRadius_}},{key:"setMaxRadius",value:function(t){return this.maxRadius_=parseInt(t,10),t<=this.minRadius_&&Bl(Mu("exception").max_lt_min),this.update_(),this}},{key:"updateCanvas",value:function(){var t=this;this.updateCanvasPromise_=new Promise((function(e,r){if(!QF(t.layer_)){var n=t.styles_.filter((function(t){return t instanceof j_}))[0],i=QF(n)?t.layer_.getStyle():n;if((i=QF(i)?t.style_:i)instanceof j_){var a=i.clone();a instanceof X_?a=new bw(a.getOptions().point):a instanceof bw||(a=new bw(a.getOptions()));var s=o.getSizeAttribute(a),l=a.clone(),u=a.clone(),c=t.getMaxRadius(),h=t.getMinRadius();l.set(s,c),u.set(s,h),t.loadCanvasImage(c,l.toImage(),(function(r){t.loadCanvasImage(h,u.toImage(),(function(n){t.drawGeometryToCanvas(r,n,e)}))}))}else QF(i)||(t.canvas_=i.canvas,e())}}))}},{key:"loadCanvasImage",value:function(t,e,r){var n=new Image;n.crossOrigin="Anonymous",n.onload=function(){r({image:n,value:t})},n.onerror=function(){r({value:t})},n.src=e}},{key:"drawGeometryToCanvas",value:function(t,e,r){var n=t.image,i=e.image;this.canvas_.height=n.height+5+i.height+5;var o=this.canvas_.getContext("2d");o.textBaseline="middle";var a=0,s=0;if(QF(n)||(a=n.width+5,s=n.height/2,/^https?:\/\//i.test(n.src)?(this.canvas_.height=130,o.fillText(" max: ".concat(this.maxValue_),85,40),o.drawImage(n,0,0,80,80)):(o.fillText(" max: ".concat(this.maxValue_),a,s),o.drawImage(n,0,0))),!QF(i)){var l=0;QF(n)||(l=n.width/2-i.width/2);var u=n.height+5;s=u+i.height/2,/^https?:\/\//i.test(i.src)?(o.fillText(" min: ".concat(this.minValue_),85,105),o.drawImage(i,20,85,40,40)):(o.fillText(" min: ".concat(this.minValue_),a,s),o.drawImage(i,l,u))}r()}},{key:"calculateStyle_",value:function(t,e,r){var n=this.proportionalFunction_,i=r;if(!QF(i)){i=i.clone();var a=[e.minRadius,e.maxRadius],s=a[0],l=a[1];QF(i.get("icon.src"))||(s=e.minRadius/o.SCALE_PROPORTION,l=e.maxRadius/o.SCALE_PROPORTION);var u=t.getAttribute(this.attributeName_);null==u&&console.warn("Warning: ".concat(this.attributeName_," value is null or empty."));var c=n(u,e.minValue,e.maxValue,s,l),h=e.maxValue-parseFloat(t.getAttribute(this.attributeName_));i.set("".concat(o.getSizeAttribute(i)),c),i.set("zindex",h)}return i}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getMinRadius(),r=this.getMaxRadius(),n=this.getStyles().map((function(t){return t.serialize()})),i=MD(this.getProportionalFunction()),o=TD({},this.getOptions());return{parameters:[t,e,r,n,i,o=MD(o)],deserializedMethod:"M.style.Proportional.deserialize"}}},{key:"ORDER",get:function(){return 3}}])&&iV(e.prototype,r),n&&iV(e,n),o}(kb);hV.SCALE_PROPORTION=20;var fV=hV;function pV(t){return(pV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function dV(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function gV(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};dV(this,o);var r=e,n=new $z(r);return t=i.call(this,r,n),QF(r)&&(r=o.DEFAULT_NULL),r=TD({},r),t}return e=o,(r=[{key:"getDeserializedMethod_",value:function(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Polygon'))"}}])&&gV(e.prototype,r),n&&gV(e,n),o}(j_);bV.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};var xV=bV,wV=function(t){var e=t.radius,r=l.a.random().hex(),n=t.strokeColor,i=t.strokeWidth;return new X_({point:{radius:e,fill:{color:r},stroke:{color:n,width:i}},line:{fill:{color:r},stroke:{color:n,width:i}},polygon:{fill:{color:r},stroke:{color:n,width:i}}})};function EV(t){return(EV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function SV(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return OV(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return OV(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OV(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:{};return IV(this,o),r=i.call(this,n,{}),QF(t)&&Bl(Mu("exception").no_attr_name),r.attributeName_=t,r.categoryStyles_=e,r}return e=o,n=[{key:"deserialize",value:function(t){var e=SV(t,4),r=e[0],n=e[1],i=e[2],o=e[3],a=r,s=n;Object.keys(n).forEach((function(t){s[t]=__.deserialize(n[t])}));var l=AD(i),u=new Function(["attributeName","categoryStyles","options"],"return new M.style.Category(attributeName, categoryStyles, options)")(a,s,l),c=o.map((function(t){return __.deserialize(t)}));return u.add(c),u}}],(r=[{key:"applyInternal",value:function(t){this.layer_=t,this.update_()}},{key:"getAttributeName",value:function(){return this.attributeName_}},{key:"setAttributeName",value:function(t){return this.attributeName_=t,this.update_(),this.refresh(),this}},{key:"getCategories",value:function(){return this.categoryStyles_}},{key:"setCategories",value:function(t){return this.categoryStyles_=t,this.update_(),this.refresh(),this}},{key:"getStyleForCategory",value:function(t){return this.categoryStyles_[t]}},{key:"setStyleForCategory",value:function(t,e){return this.categoryStyles_[t]=e,this.update_(),this.refresh(),this}},{key:"updateCanvas",value:function(){var t=this,e=[];this.updateCanvasPromise_=new Promise((function(r,n){return t.loadCanvasImages_(0,e,r)}))}},{key:"loadCanvasImages_",value:function(t,e,r){var n=this,i=this.getCategories(),o=Object.keys(i);if(t===o.length)this.drawGeometryToCanvas(e,r);else{var a=o[t],s=this.getStyleForCategory(a),l=new Image;if(l.crossOrigin="Anonymous",l.onload=function(){e.push({image:l,categoryName:a}),n.loadCanvasImages_(t+1,e,r)},l.onerror=function(){e.push({categoryName:a}),n.loadCanvasImages_(t+1,e,r)},s.updateCanvas(),s.get("icon.src"))LD(s.get("icon.src")).then((function(t){l.width=s.get("icon.scale")?t.width*s.get("icon.scale"):t.width,l.height=s.get("icon.scale")?t.height*s.get("icon.scale"):t.height,s.toImage().then((function(t){l.src=t}))}));else{var u=s.toImage();u instanceof Promise?u.then((function(t){l.src=t})):l.src=u}}}},{key:"drawGeometryToCanvas",value:function(t,e){var r=t.map((function(t){return t.image.height})),n=t.map((function(t){return t.image.width})),i=this.canvas_.getContext("2d");i.canvas.height=r.reduce((function(t,e){return t+e+5})),i.textBaseline="middle";var o=Math.max.apply(n,n);t.forEach((function(t,e){var n=t.image,a=t.categoryName,s=0,l=r.slice(0,e);QF(l)||(s=l.reduce((function(t,e){return t+e+5})),s+=5);var u=0;if(!QF(n)){u=n.height;var c=(o-n.width)/2;i.drawImage(n,c,s,n.width,n.height)}i.fillText(a,o+5,s+u/2)})),e()}},{key:"update_",value:function(){var t=this;if(!QF(this.layer_)){(QF(this.categoryStyles_)||0===Object.keys(this.categoryStyles_).length)&&(this.categoryStyles_=this.generateRandomCategories_());var e=this.categoryStyles_.other;this.layer_.getFeatures().forEach((function(r){var n=r.getAttribute(t.attributeName_),i=t.categoryStyles_[n];QF(i)?QF(e)||r.setStyle(e):r.setStyle(i)})),this.updateCanvas()}}},{key:"add",value:function(t){var e=t;return JF(e)||(e=[e]),e=e.filter((function(t){return t instanceof Xb||t instanceof fV})),TV(MV(o.prototype),"add",this).call(this,e)}},{key:"generateRandomCategories_",value:function(){var t=this,e={};return QF(this.layer_)||this.layer_.getFeatures().forEach((function(r){var n=r.getAttribute(t.attributeName_);Object.prototype.hasOwnProperty.call(e,n)||(e[n]=wV({radius:o.RANDOM_RADIUS_OPTION,strokeColor:o.RANDOM_STROKE_COLOR_OPTION,strokeWidth:o.RANDOM_STROKE_WIDTH_OPTION}))})),e}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getCategories(),r={};Object.keys(e).forEach((function(t){r[t]=e[t].serialize()}));var n=TD({},this.getOptions());n=MD(n);var i=this.getStyles().map((function(t){return t.serialize()}));return{parameters:[t,r,n,i],deserializedMethod:"M.style.Category.deserialize"}}},{key:"ORDER",get:function(){return 2}}])&&CV(e.prototype,r),n&&CV(e,n),o}(kb);AV.RANDOM_RADIUS_OPTION=10,AV.RANDOM_STROKE_WIDTH_OPTION=1,AV.RANDOM_STROKE_COLOR_OPTION="black";var NV=AV,kV=function(t){var e=[];return t.forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),e},jV=function(t,e){for(var r=[],n=[],i=0,o=0;o=i+n[g][v-1]&&(r[h][v]=m,n[h][v]=i+n[g][v-1])}r[h][1]=1,n[h][1]=i}return{lowerClassLimits:r,varianceCombinations:n}},FV=function(t,e,r){var n=t.length-1,i=[],o=r;for(i[r]=t[t.length-1],i[0]=t[0];o>1;)i[o-1]=t[e[n][o]-2],n=e[n][o]-1,o-=1;return i},DV=function(t){var e=t;e=e||5;var r=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=kV(t),i=n.length<=r?n.length-1:r;t.sort((function(t,e){return t-e}));var o=jV(t,i),a=o.lowerClassLimits,s=FV(t,a,i),l=s.slice(1,s.length);return l};return Object.defineProperty(r,"name",{value:"jenks"}),r},GV=function(t){var e=t||5,r=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=kV(t),i=n.length<=r?n.length-1:r,o=t.length;t.sort((function(t,e){return t-e}));for(var a=Math.trunc(o/i),s=[],l=0;lt.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:DV(),a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return qV(this,o),r=i.call(this,a,{}),QF(t)&&Bl(Mu("exception").no_attr_name),r.attributeName_=t,r.choroplethStyles_=e,r.quantification_=n,r.dataValues_=[],r.breakPoints_=[],r}return e=o,n=[{key:"DEFAULT_STYLE",value:function(t){return new X_({point:{fill:{color:t,opacity:1},stroke:{color:"black",width:1},radius:5},line:{stroke:{color:t,width:1}},polygon:{fill:{color:t,opacity:1},stroke:{color:t,width:1}}})}},{key:"deserialize",value:function(t){var e,r=zV(t,5),n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=n,u=i.map((function(t){return __.deserialize(t)}));e="jenks"===o?DV():"quantile"===o?GV():AD(o);var c=AD(a),h=new Function(["attributeName","styles","quantification","options"],"return new M.style.Choropleth(attributeName, styles, quantification, options)")(l,u,e,c),f=s.map((function(t){return __.deserialize(t)}));return h.add(f),h}}],(r=[{key:"applyInternal",value:function(t){this.layer_=t,this.update_()}},{key:"getAttributeName",value:function(){return this.attributeName_}},{key:"setAttributeName",value:function(t){return this.attributeName_=t,this.update_(),this.refresh(),this}},{key:"getQuantification",value:function(){return this.quantification_}},{key:"setQuantification",value:function(t){if(this.quantification_=t,!this.choroplethStyles_.some((function(t){return eD(t)}))){if(this.choroplethStyles_.length0){var e=[];this.updateCanvasPromise_=new Promise((function(r,n){return t.loadCanvasImages_(0,e,r)}))}}},{key:"loadCanvasImages_",value:function(t,e,r){var n=this;if(t===this.choroplethStyles_.length)this.drawGeometryToCanvas(e,r);else{var i=-1;t>0&&(i=this.breakPoints_[t-1]);var o=this.breakPoints_[t],a=new Image;a.crossOrigin="Anonymous",a.onload=function(){e.push({image:a,startLimit:JV(i),endLimit:JV(o)}),n.loadCanvasImages_(t+1,e,r)},a.onerror=function(){e.push({startLimit:JV(i),endLimit:JV(o)}),n.loadCanvasImages_(t+1,e,r)},this.choroplethStyles_[t].updateCanvas();var s=this.choroplethStyles_[t].toImage();eD(s)?a.src=s:s.then((function(t){a.src=t}))}}},{key:"drawGeometryToCanvas",value:function(t,e){var r=t.map((function(t){return t.image.height})),n=t.map((function(t){return t.image.width})),i=this.canvas_.getContext("2d");i.canvas.height=r.reduce((function(t,e){return t+e+5})),i.textBaseline="middle";var o=Math.max.apply(n,n);t.forEach((function(t,e){var n=t.image,a=t.startLimit,s=t.endLimit,l=0,u=r.slice(0,e);QF(u)||(l=u.reduce((function(t,e){return t+e+5})),l+=5);var c=0;QF(n)||(c=n.height,i.drawImage(n,0,l)),a<0?i.fillText(" x <= ".concat(s),o+5,l+c/2):i.fillText("".concat(a," < x <= ").concat(s),o+5,l+c/2)}),this),e()}},{key:"getValues",value:function(){var t=this,e=[];return QF(this.layer_)||this.layer_.getFeatures().forEach((function(r){try{var n=parseFloat(r.getAttribute(t.attributeName_));Number.isNaN(n)||e.push(n)}catch(t){}}),this),e}},{key:"update_",value:function(){var t,e,r=this;if(!QF(this.layer_)){var n=this.layer_.getFeatures();if(!QF(n))if(this.dataValues_=this.getValues(),QF(this.choroplethStyles_)||!QF(this.choroplethStyles_)&&(eD(this.choroplethStyles_[0])||eD(this.choroplethStyles_[1]))){this.breakPoints_=this.quantification_(this.dataValues_);var i=this.choroplethStyles_&&this.choroplethStyles_[0]?this.choroplethStyles_[0]:o.START_COLOR_DEFAULT,a=this.choroplethStyles_&&this.choroplethStyles_[1]?this.choroplethStyles_[1]:o.END_COLOR_DEFAULT,s=this.breakPoints_.length,l=ID(i,a,s);JF(l)||(l=[l]),this.choroplethStyles_=(t=l,e=o.DEFAULT_STYLE,t.map((function(t){return e(t)})))}else this.breakPoints_=this.quantification_(this.dataValues_,this.choroplethStyles_.length);for(var u=function(t){new UV(r.attributeName_,r.breakPoints_[t]).execute(n).forEach((function(e){return e.setStyle(r.choroplethStyles_[t])}))},c=this.breakPoints_.length-1;c>-1;c-=1)u(c);this.updateCanvas()}}},{key:"add",value:function(t){var e=t;return JF(e)||(e=[e]),e=e.filter((function(t){return t instanceof Xb||t instanceof fV})),WV(KV(o.prototype),"add",this).call(this,e)}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getChoroplethStyles().map((function(t){return t.serialize()})),r=this.getQuantification();r=QF(r.name)?MD(r):r.name;var n=TD({},this.getOptions());return{parameters:[t,e,r,n=MD(n),this.getStyles().map((function(t){return t.serialize()}))],deserializedMethod:"M.style.Choropleth.deserialize"}}},{key:"ORDER",get:function(){return 2}}])&&YV(e.prototype,r),n&&YV(e,n),o}(kb);QV.START_COLOR_DEFAULT="red",QV.END_COLOR_DEFAULT="brown";var $V=QV;function tq(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};sq(this,o);var a=r,s=n;if(eD(t)||$F(t)||Bl(Mu("exception").no_empty),TD(a,o.DEFAULT_OPTIONS),QF(a.gradient)||JF(a.gradient)||(a.gradient=[a.gradient]),a.gradient=a.gradient||o.DEFAULT_OPTIONS.gradient,a.gradient.length<2){var l=CD(a.gradient[0]);a.gradient.push(l)}a.blur=QF(a.blur)?o.DEFAULT_OPTIONS.blur:parseFloat(a.blur),a.radius=QF(a.radius)?o.DEFAULT_OPTIONS.radius:parseFloat(a.radius),a.weight=t,s.opacity=Number.isNaN(parseFloat(s.opacity))?1:parseFloat(s.opacity);var u=new yz(t,a,s);return(e=i.call(this,a,u)).attribute_=t,e.options_=a,e.vendorOptions_=s,e}return e=o,n=[{key:"deserialize",value:function(t){var e=nq(t,3),r=e[0],n=e[1],i=e[2],o=r,a=AD(n),s=AD(i);return new Function(["attribute","options","vendorOptions"],"return new M.style.Heatmap(attribute, options, vendorOptions)")(o,a,s)}}],(r=[{key:"unapply",value:function(t){this.layer_=null,this.getImpl().unapply(t)}},{key:"getAttributeName",value:function(){return this.attribute_}},{key:"setAttributeName",value:function(t){this.attribute_=t,this.options_.weight=this.attribute_,this.update_()}},{key:"getGradient",value:function(){return this.options_.gradient}},{key:"setGradient",value:function(t){var e=t;if(JF(e)||(e=[e]),e.length<2){var r=CD(e[0]);e.push(r)}this.options_.gradient=e,this.update_()}},{key:"getRadius",value:function(){return this.options_.radius}},{key:"setRadius",value:function(t){this.options_.radius=t,this.update_()}},{key:"getBlurSize",value:function(){return this.options_.blur}},{key:"setBlurSize",value:function(t){this.options_.blur=t,this.update_()}},{key:"update_",value:function(){var t=this.getImpl();t.unapply(this.layer_),t.setOptions(this.options_,this.vendorOptions_),t.applyToLayer(this.layer_)}},{key:"drawGeometryToCanvas",value:function(){var t=[this.getImpl().getMinWeight(),this.getImpl().getMaxWeight()],e=t[0],r=t[1],n=this.canvas_.getContext("2d"),i=n.createLinearGradient(0,150,200,150),o=PD([0,1],this.options_.gradient.length);this.options_.gradient.forEach((function(t,e){return i.addColorStop(o[e],t)})),n.fillStyle=i,n.fillRect(0,20,200,30),n.fillStyle="#000",n.font="10px sans-serif",n.fillText(e,0,60),n.fillText(r,199,60)}},{key:"updateCanvas",value:function(){this.drawGeometryToCanvas()}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getOptions();return{parameters:[t,{gradient:iq(e.gradient),blur:e.blur,radius:e.radius,weight:e.weight},this.vendorOptions_],deserializedMethod:"M.style.Heatmap.deserialize"}}}])&&lq(e.prototype,r),n&&lq(e,n),o}(__);pq.DEFAULT_OPTIONS={gradient:["#00f","#0ff","#0f0","#ff0","#f00"],blur:15,radius:10};var dq,gq,yq,mq,_q,vq,bq,xq,wq=pq,Eq=function(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1};function Sq(){}class Oq{constructor(){Oq.constructor_.apply(this,arguments)}setOrdinate(t,e,r){}size(){}getOrdinate(t,e){}getCoordinate(){if(1===arguments.length){}else if(2===arguments.length){}}getCoordinateCopy(t){}getDimension(){}getX(t){}expandEnvelope(t){}copy(){}getY(t){}toCoordinateArray(){}getClass(){return Oq}get interfaces_(){return[Sq]}}Oq.constructor_=function(){},Oq.X=0,Oq.Y=1,Oq.Z=2,Oq.M=3;class Iq{constructor(){Iq.constructor_.apply(this,arguments)}create(){if(1===arguments.length){if(arguments[0]instanceof Array){}else if(Eq(arguments[0],Oq)){}}else if(2===arguments.length){}}getClass(){return Iq}get interfaces_(){return[]}}function Cq(t){this.message=t}Iq.constructor_=function(){};class Tq{constructor(){Tq.constructor_.apply(this,arguments)}filter(t){}getClass(){return Tq}get interfaces_(){return[]}}function Pq(){}function Rq(){}Tq.constructor_=function(){};class Lq{constructor(){Lq.constructor_.apply(this,arguments)}static equalsWithTolerance(t,e,r){return Math.abs(t-e)<=r}getClass(){return Lq}get interfaces_(){return[]}}function Mq(t,e){this.low=0|e,this.high=0|t}function Aq(){}function Nq(){}function kq(t){this.name="RuntimeException",this.message=t,this.stack=(new Error).stack,Error.call(this,t)}Lq.constructor_=function(){},Mq.toBinaryString=function(t){for(var e="",r=2147483648;r>0;r>>>=1)e+=(t.high&r)===r?"1":"0";for(r=2147483648;r>0;r>>>=1)e+=(t.low&r)===r?"1":"0";return e},Aq.isNaN=t=>Number.isNaN(t),Aq.isInfinite=t=>!Number.isFinite(t),Aq.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(vq=2146435072,bq=new Float64Array(1),xq=new Int32Array(bq.buffer),Aq.doubleToLongBits=function(t){bq[0]=t;var e=0|xq[0],r=0|xq[1];return(r&vq)===vq&&0!=(1048575&r)&&0!==e&&(e=0,r=2146959360),new Mq(r,e)},Aq.longBitsToDouble=function(t){return xq[0]=t.low,xq[1]=t.high,bq[0]}):(dq=1023,gq=Math.log2,yq=Math.floor,mq=Math.pow,_q=function(){for(var t=53;t>0;t--){var e=mq(2,t)-1;if(yq(gq(e))+1===t)return e}return 0}(),Aq.doubleToLongBits=function(t){var e,r,n,i,o,a,s,l,u;if(t<0||1/t===Number.NEGATIVE_INFINITY?(a=1<<31,t=-t):a=0,0===t)return new Mq(l=a,u=0);if(t===1/0)return new Mq(l=2146435072|a,u=0);if(t!=t)return new Mq(l=2146959360,u=0);if(i=0,u=0,(e=yq(t))>1)if(e<=_q)(i=yq(gq(e)))<=20?(u=0,l=e<<20-i&1048575):(u=e%(r=mq(2,n=i-20))<<32-n,l=e/r&1048575);else for(n=e,u=0;0!==(n=yq(r=n/2));)i++,u>>>=1,u|=(1&l)<<31,l>>>=1,r!==n&&(l|=524288);if(s=i+dq,o=0===e,e=t-e,i<52&&0!==e)for(n=0;;){if((r=2*e)>=1?(e=r-1,o?(s--,o=!1):(n<<=1,n|=1,i++)):(e=r,o?0==--s&&(i++,o=!1):(n<<=1,i++)),20===i)l|=n,n=0;else if(52===i){u|=n;break}if(1===r){i<20?l|=n<<20-i:i<52&&(u|=n<<52-i);break}}return l|=s<<20,new Mq(l|=a,u)},Aq.longBitsToDouble=function(t){var e,r,n,i,o=t.high,a=t.low;r=o&1<<31?-1:1,n=((2146435072&o)>>20)-dq,i=0,e=1<<19;for(var s=1;s<=20;s++)o&e&&(i+=mq(2,-s)),e>>>=1;for(e=1<<31,s=21;s<=52;s++)a&e&&(i+=mq(2,-s)),e>>>=1;if(-1023===n){if(0===i)return 0*r;n=-1022}else{if(1024===n)return 0===i?r/0:NaN;i+=1}return r*i*mq(2,n)}),kq.prototype=Object.create(Error.prototype),kq.prototype.constructor=Error;class jq extends kq{constructor(){super(),jq.constructor_.apply(this,arguments)}getClass(){return jq}get interfaces_(){return[]}}jq.constructor_=function(){if(0===arguments.length)kq.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];kq.constructor_.call(this,t)}};class Fq{constructor(){Fq.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)Fq.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new jq("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];Fq.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new jq:new jq(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];Fq.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];if(!e.equals(t))throw new jq("Expected "+t+" but encountered "+e+(null!==r?": "+r:""))}}getClass(){return Fq}get interfaces_(){return[]}}Fq.constructor_=function(){};class Dq{constructor(){Dq.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=Aq.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case Dq.X:this.x=e;break;case Dq.Y:this.y=e;break;case Dq.Z:this.z=e;break;default:throw new Cq("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],e=arguments[1];return!!Lq.equalsWithTolerance(this.x,t.x,e)&&!!Lq.equalsWithTolerance(this.y,t.y,e)}}getOrdinate(t){switch(t){case Dq.X:return this.x;case Dq.Y:return this.y;case Dq.Z:return this.z}throw new Cq("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||Aq.isNaN(this.z)&&Aq.isNaN(t.z))}equals(t){return t instanceof Dq&&this.equals2D(t)}equalInZ(t,e){return Lq.equalsWithTolerance(this.z,t.z,e)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return Fq.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new Dq(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+r*r+n*n)}distance(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)}hashCode(){var t=17;return t=37*(t=37*t+Dq.hashCode(this.x))+Dq.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return Dq}get interfaces_(){return[Pq,Sq,Rq]}}class Gq{constructor(){Gq.constructor_.apply(this,arguments)}static compare(t,e){return te?1:Aq.isNaN(t)?Aq.isNaN(e)?0:-1:Aq.isNaN(e)?1:0}compare(t,e){var r=t,n=e,i=Gq.compare(r.x,n.x);if(0!==i)return i;var o=Gq.compare(r.y,n.y);return 0!==o?o:this._dimensionsToTest<=2?0:Gq.compare(r.z,n.z)}getClass(){return Gq}get interfaces_(){return[Nq]}}Gq.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)Gq.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new Cq("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},Dq.DimensionalComparator=Gq,Dq.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)Dq.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];Dq.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Dq.constructor_.call(this,t,e,Dq.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.z=r}},Dq.serialVersionUID=0x5cbf2c235c7e5800,Dq.NULL_ORDINATE=Aq.NaN,Dq.X=0,Dq.Y=1,Dq.Z=2;class Uq{constructor(){Uq.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return r.x>=(t.xe.x?t.x:e.x)&&r.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=Math.min(a.x,s.x),e=Math.max(a.x,s.x),r=Math.min(i.x,o.x),n=Math.max(i.x,o.x);return!(r>e)&&(!(ne)&&!(nt._minx?this._minx:t._minx,r=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&(t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy)}}intersects(){if(1===arguments.length){if(arguments[0]instanceof Uq){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx)&&(!((t.x>e.x?t.x:e.x)this._maxy)&&!((t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof Uq){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof Dq){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new Dq((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Uq){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var r=0;return this._maxyt._maxy&&(r=this._miny-t._maxy),0===e?r:0===r?e:Math.sqrt(e*e+r*r)}hashCode(){var t=17;return t=37*(t=37*(t=37*(t=37*t+Dq.hashCode(this._minx))+Dq.hashCode(this._maxx))+Dq.hashCode(this._miny))+Dq.hashCode(this._maxy)}getClass(){return Uq}get interfaces_(){return[Pq,Rq]}}Uq.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Uq){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this.init(t,e,r,n)}},Uq.serialVersionUID=0x51845cd552189800;class Bq{constructor(){Bq.constructor_.apply(this,arguments)}isGeometryCollection(){return this.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION}getFactory(){return this._factory}getGeometryN(t){return this}getArea(){return 0}isRectangle(){return!1}equals(){if(arguments[0]instanceof Bq){let t=arguments[0];return null!==t&&this.equalsTopo(t)}if(arguments[0]instanceof Object){let e=arguments[0];if(!(e instanceof Bq))return!1;var t=e;return this.equalsExact(t)}}equalsExact(t){return this===t||this.equalsExact(t,0)}geometryChanged(){this.apply(Bq.geometryChangedFilter)}geometryChangedAction(){this._envelope=null}equalsNorm(t){return null!==t&&this.norm().equalsExact(t.norm())}getLength(){return 0}getNumGeometries(){return 1}compareTo(){if(1===arguments.length){let e=arguments[0];var t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}if(2===arguments.length){let e=arguments[0],r=arguments[1];t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e,r)}}getUserData(){return this._userData}getSRID(){return this._SRID}getEnvelope(){return this.getFactory().toGeometry(this.getEnvelopeInternal())}checkNotGeometryCollection(t){if(t.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION)throw new Cq("This method does not support GeometryCollection arguments")}equal(t,e,r){return 0===r?t.equals(e):t.distance(e)<=r}norm(){var t=this.copy();return t.normalize(),t}getPrecisionModel(){return this._factory.getPrecisionModel()}getEnvelopeInternal(){return null===this._envelope&&(this._envelope=this.computeEnvelopeInternal()),new Uq(this._envelope)}setSRID(t){this._SRID=t}setUserData(t){this._userData=t}compare(t,e){for(var r=t.iterator(),n=e.iterator();r.hasNext()&&n.hasNext();){var i=r.next(),o=n.next(),a=i.compareTo(o);if(0!==a)return a}return r.hasNext()?1:n.hasNext()?-1:0}hashCode(){return this.getEnvelopeInternal().hashCode()}isGeometryCollectionOrDerived(){return this.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION||this.getTypeCode()===Bq.TYPECODE_MULTIPOINT||this.getTypeCode()===Bq.TYPECODE_MULTILINESTRING||this.getTypeCode()===Bq.TYPECODE_MULTIPOLYGON}get interfaces_(){return[Sq,Pq,Rq]}getClass(){return Bq}static hasNonEmptyElements(t){for(var e=0;e0}getClass(){return Yq}get interfaces_(){return[Vq]}}Yq.constructor_=function(){};class Wq{constructor(){Wq.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return Wq}get interfaces_(){return[Vq]}}Wq.constructor_=function(){};class Xq{constructor(){Xq.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return Xq}get interfaces_(){return[Vq]}}function Hq(){}function Zq(){}function Kq(t){this.message=t||""}function Jq(){}function Qq(t){this.message=t||""}function $q(t){this.message=t||""}function tY(){this.array_=[],arguments[0]instanceof Zq&&this.addAll(arguments[0])}Xq.constructor_=function(){},Vq.Mod2BoundaryNodeRule=qq,Vq.EndPointBoundaryNodeRule=Yq,Vq.MultiValentEndPointBoundaryNodeRule=Wq,Vq.MonoValentEndPointBoundaryNodeRule=Xq,Vq.constructor_=function(){},Vq.MOD2_BOUNDARY_RULE=new qq,Vq.ENDPOINT_BOUNDARY_RULE=new Yq,Vq.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new Wq,Vq.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Xq,Vq.OGC_SFS_BOUNDARY_RULE=Vq.MOD2_BOUNDARY_RULE,Hq.prototype.hasNext=function(){},Hq.prototype.next=function(){},Hq.prototype.remove=function(){},Zq.prototype.add=function(){},Zq.prototype.addAll=function(){},Zq.prototype.isEmpty=function(){},Zq.prototype.iterator=function(){},Zq.prototype.size=function(){},Zq.prototype.toArray=function(){},Zq.prototype.remove=function(){},Kq.prototype=new Error,Kq.prototype.name="IndexOutOfBoundsException",Jq.prototype=Object.create(Zq.prototype),Jq.prototype.constructor=Jq,Jq.prototype.get=function(){},Jq.prototype.set=function(){},Jq.prototype.isEmpty=function(){},Qq.prototype=new Error,Qq.prototype.name="NoSuchElementException",$q.prototype=new Error,$q.prototype.name="OperationNotSupported",tY.prototype=Object.create(Jq.prototype),tY.prototype.constructor=tY,tY.prototype.ensureCapacity=function(){},tY.prototype.interfaces_=[Jq,Zq],tY.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},tY.prototype.clear=function(){this.array_=[]},tY.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},tY.prototype.set=function(t,e){var r=this.array_[t];return this.array_[t]=e,r},tY.prototype.iterator=function(){return new eY(this)},tY.prototype.get=function(t){if(t<0||t>=this.size())throw new Kq;return this.array_[t]},tY.prototype.isEmpty=function(){return 0===this.array_.length},tY.prototype.size=function(){return this.array_.length},tY.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e=1)if(this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],r=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],r);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof Dq){let t=arguments[0],r=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0)if(this.get(t-1).equals2D(r))return null;if(to&&(r=-1);for(t=i;t!==o;t+=r)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new Dq(this.get(0)),!1)}getClass(){return rY}get interfaces_(){return[]}}rY.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},rY.coordArrayType=new Array(0).fill(null);class nY{constructor(){nY.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return Aq.isInfinite(e)||Aq.isNaN(e)?e:e/nY.LOG_10}static min(t,e,r,n){var i=t;return er?r:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],r=arguments[2];return tr?r:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],r=arguments[2];return e>(t=arguments[0])&&(t=e),r>t&&(t=r),t}if(4===arguments.length){let e=arguments[1],r=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),r>t&&(t=r),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return nY}get interfaces_(){return[]}}function iY(){}nY.constructor_=function(){},nY.LOG_10=Math.log(10),iY.arraycopy=(t,e,r,n,i)=>{let o=0;for(let a=e;a({"line.separator":"\n"}[t]);class oY{constructor(){oY.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])}static ptNotInList(t,e){for(var r=0;r=t?e:[]}static indexOf(t,e){for(var r=0;r0)&&(e=t[r]);return e}static extract(t,e,r){e=nY.clamp(e,0,t.length);var n=(r=nY.clamp(r,-1,t.length))-e+1;r<0&&(n=0),e>=t.length&&(n=0),rn.length)return 1;if(0===r.length)return 0;var i=oY.compare(r,n);return oY.isEqualReversed(r,n)?0:i}OLDcompare(t,e){var r=t,n=e;if(r.lengthn.length)return 1;if(0===r.length)return 0;for(var i=oY.increasingDirection(r),o=oY.increasingDirection(n),a=i>0?0:r.length-1,s=o>0?0:r.length-1,l=0;l0))return e.value;e=e.right}}return null},_Y.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var r,n,i=this.root_;do{if(r=i,(n=t.compareTo(i.key))<0)i=i.left;else{if(!(n>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var a={key:t,left:null,right:null,value:e,parent:r,color:0,getValue(){return this.value},getKey(){return this.key}};return n<0?r.left=a:r.right=a,this.fixAfterInsertion(a),this.size_++,null},_Y.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;if(dY(t)==yY(dY(dY(t))))1==pY(e=mY(dY(dY(t))))?(gY(dY(t),0),gY(e,0),gY(dY(dY(t)),1),t=dY(dY(t))):(t==mY(dY(t))&&(t=dY(t),this.rotateLeft(t)),gY(dY(t),0),gY(dY(dY(t)),1),this.rotateRight(dY(dY(t))));else 1==pY(e=yY(dY(dY(t))))?(gY(dY(t),0),gY(e,0),gY(dY(dY(t)),1),t=dY(dY(t))):(t==yY(dY(t))&&(t=dY(t),this.rotateRight(t)),gY(dY(t),0),gY(dY(dY(t)),1),this.rotateLeft(dY(dY(t))))}this.root_.color=0},_Y.prototype.values=function(){var t=new tY,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=_Y.successor(e));)t.add(e.value);return t},_Y.prototype.entrySet=function(){var t=new hY,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=_Y.successor(e));)t.add(e);return t},_Y.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},_Y.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},_Y.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},_Y.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var r=t;null!==e&&r===e.right;)r=e,e=e.parent;return e},_Y.prototype.size=function(){return this.size_},_Y.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var r=t.compareTo(e.key);if(r<0)e=e.left;else{if(!(r>0))return!0;e=e.right}}return!1};class vY{constructor(){vY.constructor_.apply(this,arguments)}getClass(){return vY}get interfaces_(){return[]}}function bY(){}function xY(){this.array_=[],arguments[0]instanceof Zq&&this.addAll(arguments[0])}vY.constructor_=function(){},bY.prototype=new cY,xY.prototype=new bY,xY.prototype.contains=function(t){for(var e=0,r=this.array_.length;et<=32&&t>=0||127==t,OY.toUpperCase=t=>t.toUpperCase();class IY{constructor(){IY.constructor_.apply(this,arguments)}static toDimensionSymbol(t){switch(t){case IY.FALSE:return IY.SYM_FALSE;case IY.TRUE:return IY.SYM_TRUE;case IY.DONTCARE:return IY.SYM_DONTCARE;case IY.P:return IY.SYM_P;case IY.L:return IY.SYM_L;case IY.A:return IY.SYM_A}throw new Cq("Unknown dimension value: "+t)}static toDimensionValue(t){switch(OY.toUpperCase(t)){case IY.SYM_FALSE:return IY.FALSE;case IY.SYM_TRUE:return IY.TRUE;case IY.SYM_DONTCARE:return IY.DONTCARE;case IY.SYM_P:return IY.P;case IY.SYM_L:return IY.L;case IY.SYM_A:return IY.A}throw new Cq("Unknown dimension symbol: "+t)}getClass(){return IY}get interfaces_(){return[]}}IY.constructor_=function(){},IY.P=0,IY.L=1,IY.A=2,IY.FALSE=-1,IY.TRUE=-2,IY.DONTCARE=-3,IY.SYM_FALSE="F",IY.SYM_TRUE="T",IY.SYM_DONTCARE="*",IY.SYM_P="0",IY.SYM_L="1",IY.SYM_A="2";class CY{constructor(){CY.constructor_.apply(this,arguments)}filter(t){}getClass(){return CY}get interfaces_(){return[]}}CY.constructor_=function(){};class TY{constructor(){TY.constructor_.apply(this,arguments)}filter(t,e){}isDone(){}isGeometryChanged(){}getClass(){return TY}get interfaces_(){return[]}}TY.constructor_=function(){};class PY extends Bq{constructor(){super(),PY.constructor_.apply(this,arguments)}computeEnvelopeInternal(){for(var t=new Uq,e=0;e=0;){var a=i.substring(0,o);n.add(a),o=(i=i.substring(o+r)).indexOf(e)}i.length>0&&n.add(i);for(var s=new Array(n.size()).fill(null),l=0;l0)for(var o=i;o0&&r.append(" ");for(var i=0;i0&&r.append(","),r.append(GY.toString(o.getOrdinate(n,i)))}return r.append(")"),r.toString()}}static ensureValidRing(t,e){var r=e.size();return 0===r?e:r<=3?BY.createClosedRing(t,e,4):e.getOrdinate(0,Oq.X)===e.getOrdinate(r-1,Oq.X)&&e.getOrdinate(0,Oq.Y)===e.getOrdinate(r-1,Oq.Y)?e:BY.createClosedRing(t,e,r+1)}static createClosedRing(t,e,r){var n=t.create(r,e.getDimension()),i=e.size();BY.copy(e,0,n,0,i);for(var o=i;o0){var r=this._points.copy();BY.reverse(r),this._points=r}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?IY.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return Bq.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return AY.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return BY.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,r=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;et?1:0},XY.isNaN=t=>Number.isNaN(t);class HY{constructor(){HY.constructor_.apply(this,arguments)}static sqr(t){return HY.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return HY.parse(t)}if("number"==typeof arguments[0]){return new HY(arguments[0])}}static sqrt(t){return HY.valueOf(t).sqrt()}static parse(t){for(var e=0,r=t.length;OY.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=r);){var u=t.charAt(e);if(e++,OY.isDigit(u)){var c=u-"0";o.selfMultiply(HY.TEN),o.selfAdd(c),a++}else{if("."!==u){if("e"===u||"E"===u){var h=t.substring(e);try{l=XY.parseInt(h)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+h+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+u+"' at position "+e+" in string "+t)}s=a}}var f=o,p=a-s-l;if(0===p)f=o;else if(p>0){var d=HY.TEN.pow(p);f=o.divide(d)}else if(p<0){d=HY.TEN.pow(-p);f=o.multiply(d)}return n?f.negate():f}static createNaN(){return new HY(Aq.NaN,Aq.NaN)}static copy(t){return new HY(t)}static magnitude(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(r));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var r=new WY,n=0;n9?(c=!0,h="9"):h="0"+u,a.append(h),r=r.subtract(HY.valueOf(u)).multiply(HY.TEN),c&&r.selfAdd(HY.TEN);var f=!0,p=HY.magnitude(r._hi);if(p<0&&Math.abs(p)>=s-l&&(f=!1),!f)break}return e[0]=n,a.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof HY){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof HY){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof HY){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r,n,i=null,o=null,a=null,s=null;return r=this._hi/l,s=(i=(a=HY.SPLIT*r)-(i=a-r))*(o=(s=HY.SPLIT*l)-(o=s-l))-(n=r*l)+i*(e=l-o)+(t=r-i)*o+t*e,s=r+(a=(this._hi-n-s+this._lo-r*u)/l),this._hi=s,this._lo=r-s+a,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof HY){let l=arguments[0];var t,e,r,n,i=null,o=null,a=null,s=null;return t=(r=this._hi/l._hi)-(i=(a=HY.SPLIT*r)-(i=a-r)),s=i*(o=(s=HY.SPLIT*l._hi)-(o=s-l._hi))-(n=r*l._hi)+i*(e=l._hi-o)+t*o+t*e,a=(this._hi-n-s+this._lo-r*l._lo)/l._hi,new HY(s=r+a,r-s+a)}if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)?HY.createNaN():HY.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return HY.valueOf(1);var e=new HY(this),r=HY.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&r.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r}ceil(){if(this.isNaN())return HY.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new HY(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof HY){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return HY.valueOf(0);if(this.isNegative())return HY.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=HY.valueOf(e),n=this.subtract(r.sqr())._hi*(.5*t);return r.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let a=arguments[0];var t=null,e=null,r=null,n=null,i=null,o=null;return n=(r=this._hi+a)-(i=r-this._hi),e=(o=(n=a-i+(this._hi-n))+this._lo)+(r-(t=r+o)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],h=arguments[1];t=null,e=null;var a,s=null;r=null,n=null,i=null,o=null;r=this._hi+c,a=this._lo+h,n=r-(i=r-this._hi),s=a-(o=a-this._lo);var l=(t=r+(i=(n=c-i+(this._hi-n))+a))+(i=(s=h-o+(this._lo-s))+(e=i+(r-t))),u=i+(t-l);return this._hi=l,this._lo=u,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r=null,n=null,i=null,o=null;r=(i=HY.SPLIT*this._hi)-this._hi,o=HY.SPLIT*l,r=i-r,t=this._hi-r,n=o-l;var a=(i=this._hi*l)+(o=r*(n=o-n)-i+r*(e=l-n)+t*n+t*e+(this._hi*u+this._lo*l)),s=o+(r=i-a);return this._hi=a,this._lo=s,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return HY.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new HY(t,e)}negate(){return this.isNaN()?this:new HY(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof HY){let t=arguments[0];return t.isNaN()?HY.createNaN():HY.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)?HY.createNaN():HY.copy(this).selfMultiply(t,0)}}isNaN(){return Aq.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=HY.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),n=e[0]+1,i=r;if("."===r.charAt(0))i="0"+r;else if(n<0)i="0."+HY.stringOfChar("0",-n)+r;else if(-1===r.indexOf(".")){var o=n-r.length;i=r+HY.stringOfChar("0",o)+".0"}return this.isNegative()?"-"+i:i}reciprocal(){var t,e,r,n,i=null,o=null,a=null,s=null;t=(r=1/this._hi)-(i=(a=HY.SPLIT*r)-(i=a-r)),o=(s=HY.SPLIT*this._hi)-this._hi;var l=r+(a=(1-(n=r*this._hi)-(s=i*(o=s-o)-n+i*(e=this._hi-o)+t*o+t*e)-r*this._lo)/this._hi);return new HY(l,r-l+a)}toSciNotation(){if(this.isZero())return HY.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),n=HY.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===r.charAt(0))throw new IllegalStateException("Found leading zero: "+r);var i="";r.length>1&&(i=r.substring(1));var o=r.charAt(0)+"."+i;return this.isNegative()?"-"+o+n:o+n}abs(){return this.isNaN()?HY.NaN:this.isNegative()?this.negate():new HY(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?HY.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return HY}get interfaces_(){return[Rq,Pq,Sq]}}HY.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof HY){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];HY.constructor_.call(this,HY.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},HY.PI=new HY(3.141592653589793,12246467991473532e-32),HY.TWO_PI=new HY(6.283185307179586,24492935982947064e-32),HY.PI_2=new HY(1.5707963267948966,6123233995736766e-32),HY.E=new HY(2.718281828459045,14456468917292502e-32),HY.NaN=new HY(Aq.NaN,Aq.NaN),HY.EPS=123259516440783e-46,HY.SPLIT=134217729,HY.MAX_PRINT_DIGITS=32,HY.TEN=HY.valueOf(10),HY.ONE=HY.valueOf(1),HY.SCI_NOT_EXPONENT_CHAR="E",HY.SCI_NOT_ZERO="0.0E0";class ZY{constructor(){ZY.constructor_.apply(this,arguments)}static orientationIndex(t,e,r){var n=ZY.orientationIndexFilter(t,e,r);if(n<=1)return n;var i=HY.valueOf(e.x).selfAdd(-t.x),o=HY.valueOf(e.y).selfAdd(-t.y),a=HY.valueOf(r.x).selfAdd(-e.x),s=HY.valueOf(r.y).selfAdd(-e.y);return i.selfMultiply(s).selfSubtract(o.selfMultiply(a)).signum()}static signOfDet2x2(){if(arguments[0]instanceof HY){let t=arguments[1],e=arguments[2],r=arguments[3];return arguments[0].multiply(r).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=HY.valueOf(i),e=HY.valueOf(o),r=HY.valueOf(a),n=HY.valueOf(s);return t.multiply(n).selfSubtract(e.multiply(r)).signum()}}static intersection(t,e,r,n){var i=HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(HY.valueOf(e.x).selfSubtract(t.x)),o=HY.valueOf(n.x).selfSubtract(r.x).selfMultiply(HY.valueOf(e.y).selfSubtract(t.y)),a=i.subtract(o),s=HY.valueOf(n.x).selfSubtract(r.x).selfMultiply(HY.valueOf(t.y).selfSubtract(r.y)),l=HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(HY.valueOf(t.x).selfSubtract(r.x)),u=s.subtract(l).selfDivide(a).doubleValue(),c=HY.valueOf(t.x).selfAdd(HY.valueOf(e.x).selfSubtract(t.x).selfMultiply(u)).doubleValue(),h=HY.valueOf(e.x).selfSubtract(t.x).selfMultiply(HY.valueOf(t.y).selfSubtract(r.y)),f=HY.valueOf(e.y).selfSubtract(t.y).selfMultiply(HY.valueOf(t.x).selfSubtract(r.x)),p=h.subtract(f).selfDivide(a).doubleValue(),d=HY.valueOf(r.y).selfAdd(HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(p)).doubleValue();return new Dq(c,d)}static orientationIndexFilter(t,e,r){var n=null,i=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=i-o;if(i>0){if(o<=0)return ZY.signum(a);n=i+o}else{if(!(i<0))return ZY.signum(a);if(o>=0)return ZY.signum(a);n=-i-o}var s=ZY.DP_SAFE_EPSILON*n;return a>=s||-a>=s?ZY.signum(a):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return ZY}get interfaces_(){return[]}}ZY.constructor_=function(){},ZY.DP_SAFE_EPSILON=1e-15;class KY{constructor(){KY.constructor_.apply(this,arguments)}static index(t,e,r){return ZY.orientationIndex(t,e,r)}static isCCW(t){var e=t.length-1;if(e<3)throw new Cq("Ring has fewer than 4 points, so orientation cannot be determined");for(var r=t[0],n=0,i=1;i<=e;i++){var o=t[i];o.y>r.y&&(r=o,n=i)}var a=n;do{(a-=1)<0&&(a=e)}while(t[a].equals2D(r)&&a!==n);var s=n;do{s=(s+1)%e}while(t[s].equals2D(r)&&s!==n);var l=t[a],u=t[s];if(l.equals2D(r)||u.equals2D(r)||l.equals2D(u))return!1;var c=KY.index(l,r,u);return 0===c?l.x>u.x:c>0}getClass(){return KY}get interfaces_(){return[]}}KY.constructor_=function(){},KY.CLOCKWISE=-1,KY.RIGHT=KY.CLOCKWISE,KY.COUNTERCLOCKWISE=1,KY.LEFT=KY.COUNTERCLOCKWISE,KY.COLLINEAR=0,KY.STRAIGHT=KY.COLLINEAR;class JY{constructor(){JY.constructor_.apply(this,arguments)}getClass(){return JY}get interfaces_(){return[]}}JY.constructor_=function(){};class QY extends Bq{constructor(){super(),QY.constructor_.apply(this,arguments)}computeEnvelopeInternal(){return this._shell.getEnvelopeInternal()}getCoordinates(){if(this.isEmpty())return[];for(var t=new Array(this.getNumPoints()).fill(null),e=-1,r=this._shell.getCoordinates(),n=0;n=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return Bq.TYPENAME_LINEARRING}copy(){return new tW(this._points.copy(),this._factory)}getClass(){return tW}get interfaces_(){return[]}}tW.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof vW){let t=arguments[0],e=arguments[1];tW.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(Eq(arguments[0],Oq)&&arguments[1]instanceof vW){let t=arguments[0],e=arguments[1];zY.constructor_.call(this,t,e),this.validateConstruction()}},tW.MINIMUM_VALID_SIZE=4,tW.serialVersionUID=-0x3b229e262367a600;class eW extends PY{constructor(){super(),eW.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof Bq){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return Bq.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),r=0;r0){var t=new UY(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new sW(t):new sW(t,e)}}getClass(){return lW}get interfaces_(){return[Iq,Rq]}}lW.constructor_=function(){},lW.serialVersionUID=-0x38e49fa6cf6f2e00,lW.instanceObject=new lW;var uW=Object.defineProperty;var cW=function(t,e){function r(t){if(!this||this.constructor!==r)return new r(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&hW.call(this,t)}e||uW(t,"size",{get:dW});return t.constructor=r,r.prototype=t,r}({delete:function(t){this.has(t)&&(this._keys.splice(wY,1),this._values.splice(wY,1),this._itp.forEach((function(t){wY-1},has:function(t){return fW.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[wY]:void 0},set:function(t,e){return this.has(t)?this._values[wY]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return pW(this._itp,this._keys)},values:function(){return pW(this._itp,this._values)},entries:function(){return pW(this._itp,this._keys,this._values)},forEach:function(t,e){for(var r=this.entries();;){var n=r.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function hW(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}function fW(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(wY=t.length;wY--&&((r=t[wY])!==(n=e)&&(r==r||n==n)););else wY=t.indexOf(e);var r,n;return wY>-1}function pW(t,e,r){var n=[0],i=!1;return t.push(n),{next:function(){var o,a=n[0];return!i&&at.add(e)),t},yW.prototype.size=function(){return this.map_.size()};class mW{constructor(){mW.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof mW))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,r=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new XY(r).compareTo(new XY(n))}getScale(){return this._scale}isFloating(){return this._modelType===mW.FLOATING||this._modelType===mW.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===mW.FLOATING?t="Floating":this._modelType===mW.FLOATING_SINGLE?t="Floating-Single":this._modelType===mW.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)||this._modelType===mW.FLOATING_SINGLE?t:this._modelType===mW.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof Dq){let t=arguments[0];if(this._modelType===mW.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===mW.FLOATING?t=16:this._modelType===mW.FLOATING_SINGLE?t=6:this._modelType===mW.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return mW}get interfaces_(){return[Rq,Pq]}}class _W{constructor(){_W.constructor_.apply(this,arguments)}readResolve(){return _W.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return _W}get interfaces_(){return[Rq]}}_W.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,_W.nameToTypeMap.put(t,this)},_W.serialVersionUID=-552860263173159e4,_W.nameToTypeMap=new yW,mW.Type=_W,mW.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=mW.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof _W){let t=arguments[0];this._modelType=t,t===mW.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=mW.FIXED,this.setScale(t)}else if(arguments[0]instanceof mW){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},mW.serialVersionUID=0x6bee6404e9a25c00,mW.FIXED=new _W("FIXED"),mW.FLOATING=new _W("FLOATING"),mW.FLOATING_SINGLE=new _W("FLOATING SINGLE"),mW.maximumPreciseValue=9007199254740992;class vW{constructor(){vW.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return lW.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new Dq(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new Dq(t.getMinX(),t.getMinY()),new Dq(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new Dq(t.getMinX(),t.getMinY()),new Dq(t.getMinX(),t.getMaxY()),new Dq(t.getMaxX(),t.getMaxY()),new Dq(t.getMaxX(),t.getMinY()),new Dq(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Eq(arguments[0],Oq)){return new zY(arguments[0],this)}}}createMultiLineString(){if(0===arguments.length)return new RY(null,this);if(1===arguments.length){return new RY(arguments[0],this)}}buildGeometry(t){for(var e=null,r=!1,n=!1,i=t.iterator();i.hasNext();){var o=i.next(),a=o.getClass();null===e&&(e=a),a!==e&&(r=!0),o instanceof PY&&(n=!0)}if(null===e)return this.createGeometryCollection();if(r||n)return this.createGeometryCollection(vW.toGeometryArray(t));var s=t.iterator().next();if(t.size()>1){if(s instanceof QY)return this.createMultiPolygon(vW.toPolygonArray(t));if(s instanceof zY)return this.createMultiLineString(vW.toLineStringArray(t));if(s instanceof qY)return this.createMultiPoint(vW.toPointArray(t));Fq.shouldNeverReachHere("Unhandled class: "+s.getClass().getName())}return s}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(Eq(arguments[0],Oq)){return new qY(arguments[0],this)}}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(Eq(arguments[0],Oq)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof tW){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length){return new QY(arguments[0],arguments[1],this)}}getSRID(){return this._SRID}createGeometryCollection(){if(0===arguments.length)return new PY(null,this);if(1===arguments.length){return new PY(arguments[0],this)}}createGeometry(t){return new rW(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof Bq&&Eq(arguments[0],Oq)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Eq(arguments[0],Oq)){return new tW(arguments[0],this)}}}createMultiPolygon(){if(0===arguments.length)return new eW(null,this);if(1===arguments.length){return new eW(arguments[0],this)}}createMultiPoint(){if(0===arguments.length)return new $Y(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){return new $Y(arguments[0],this)}if(Eq(arguments[0],Oq)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return CW.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let r=0,n=t._geometries.length;r1||s<0||s>1)&&(i=!0)}}else i=!0;return i?nY.min(NW.pointToSegment(t,r,n),NW.pointToSegment(e,r,n),NW.pointToSegment(r,t,e),NW.pointToSegment(n,t,e)):0}static pointToSegment(t,e,r){if(e.x===r.x&&e.y===r.y)return t.distance(e);var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;if(i<=0)return t.distance(e);if(i>=1)return t.distance(r);var o=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,r){var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(i)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new Cq("Line array must contain at least one vertex");for(var r=t.distance(e[0]),n=0;ni?n:i;else{var a=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);0!==(o=n>i?a:s)||t.equals(e)||(o=Math.max(a,s))}return Fq.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}static nonRobustComputeEdgeDistance(t,e,r){var n=t.x-e.x,i=t.y-e.y,o=Math.sqrt(n*n+i*i);return Fq.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new UY;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,r,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=r,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,r,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map(()=>Array(2)),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2)),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new Dq,this._intPt[1]=new Dq,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},kW.DONT_INTERSECT=0,kW.DO_INTERSECT=1,kW.COLLINEAR=2,kW.NO_INTERSECTION=0,kW.POINT_INTERSECTION=1,kW.COLLINEAR_INTERSECTION=2;class jW extends kW{constructor(){super(),jW.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,r,n){var i=t,o=NW.pointToSegment(t,r,n),a=NW.pointToSegment(e,r,n);return a1e-4&&iY.out.println("Distance = "+i.distance(o))}intersectionWithNormalization(t,e,r,n){var i=new Dq(t),o=new Dq(e),a=new Dq(r),s=new Dq(n),l=new Dq;this.normalizeToEnvCentre(i,o,a,s,l);var u=this.safeHCoordinateIntersection(i,o,a,s);return u.x+=l.x,u.y+=l.y,u}computeCollinearIntersection(t,e,r,n){var i=Uq.intersects(t,e,r),o=Uq.intersects(t,e,n),a=Uq.intersects(r,n,t),s=Uq.intersects(r,n,e);return i&&o?(this._intPt[0]=r,this._intPt[1]=n,kW.COLLINEAR_INTERSECTION):a&&s?(this._intPt[0]=t,this._intPt[1]=e,kW.COLLINEAR_INTERSECTION):i&&a?(this._intPt[0]=r,this._intPt[1]=t,!r.equals(t)||o||s?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):i&&s?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||o||a?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||i||s?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||i||a?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):kW.NO_INTERSECTION}normalizeToEnvCentre(t,e,r,n,i){var o=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,u=r.xn.x?r.x:n.x,f=r.y>n.y?r.y:n.y,p=((o>u?o:u)+(sc?a:c)+(l0&&o>0||i<0&&o<0)return kW.NO_INTERSECTION;var a=KY.index(r,n,t),s=KY.index(r,n,e);return a>0&&s>0||a<0&&s<0?kW.NO_INTERSECTION:0===i&&0===o&&0===a&&0===s?this.computeCollinearIntersection(t,e,r,n):(0===i||0===o||0===a||0===s?(this._isProper=!1,t.equals2D(r)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(r)||e.equals2D(n)?this._intPt[0]=e:0===i?this._intPt[0]=new Dq(r):0===o?this._intPt[0]=new Dq(n):0===a?this._intPt[0]=new Dq(t):0===s&&(this._intPt[0]=new Dq(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,r,n)),kW.POINT_INTERSECTION)}getClass(){return jW}get interfaces_(){return[]}}jW.constructor_=function(){};class FW{constructor(){FW.constructor_.apply(this,arguments)}static locatePointInRing(){if(arguments[0]instanceof Dq&&Eq(arguments[1],Oq)){let i=arguments[1];for(var t=new FW(arguments[0]),e=new Dq,r=new Dq,n=1;nn&&(r=e.x,n=t.x),this._p.x>=r&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=KY.index(t,e,this._p);if(i===KY.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new Qq;var t=this._parent.getGeometryN(this._index++);return t instanceof PY?(this._subcollectionIterator=new GW(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return GW}get interfaces_(){return[Hq]}}GW.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class UW{constructor(){UW.constructor_.apply(this,arguments)}locateInPolygonRing(t,e){return e.getEnvelopeInternal().intersects(t)?DW.locateInRing(t,e.getCoordinates()):RW.EXTERIOR}intersects(t,e){return this.locate(t,e)!==RW.EXTERIOR}updateLocationInfo(t){t===RW.INTERIOR&&(this._isIn=!0),t===RW.BOUNDARY&&this._numBoundaries++}computeLocation(t,e){if(e instanceof qY&&this.updateLocationInfo(this.locateOnPoint(t,e)),e instanceof zY)this.updateLocationInfo(this.locateOnLineString(t,e));else if(e instanceof QY)this.updateLocationInfo(this.locateInPolygon(t,e));else if(e instanceof RY)for(var r=e,n=0;n0||this._isIn?RW.INTERIOR:RW.EXTERIOR)}getClass(){return UW}get interfaces_(){return[]}}UW.constructor_=function(){if(this._boundaryRule=Vq.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new Cq("Rule must be non-null");this._boundaryRule=t}};class BW{constructor(){BW.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===IY.SYM_DONTCARE||(e===IY.SYM_TRUE&&(t>=0||t===IY.TRUE)||(e===IY.SYM_FALSE&&t===IY.FALSE||(e===IY.SYM_P&&t===IY.P||(e===IY.SYM_L&&t===IY.L||e===IY.SYM_A&&t===IY.A))))}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new BW(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===IY.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])||BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY]))&&this._matrix[RW.EXTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.BOUNDARY]===IY.FALSE}isCoveredBy(){return(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])||BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY]))&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,r)}isWithin(){return BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===IY.A&&e===IY.A||t===IY.L&&e===IY.L||t===IY.L&&e===IY.A||t===IY.P&&e===IY.A||t===IY.P&&e===IY.L)&&(this._matrix[RW.INTERIOR][RW.INTERIOR]===IY.FALSE&&(BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY])))}isOverlaps(t,e){return t===IY.P&&e===IY.P||t===IY.A&&e===IY.A?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]):t===IY.L&&e===IY.L&&(1===this._matrix[RW.INTERIOR][RW.INTERIOR]&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]))}isEquals(t,e){return t===e&&(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.BOUNDARY]===IY.FALSE)}toString(){for(var t=new UY("123456789"),e=0;e<3;e++)for(var r=0;r<3;r++)t.setCharAt(3*e+r,IY.toDimensionSymbol(this._matrix[e][r]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this._matrix[e][r]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new Cq("Should be length 9: "+t);for(var e=0;e<3;e++)for(var r=0;r<3;r++)if(!BW.matches(this._matrix[e][r],t.charAt(3*e+r)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this.setAtLeast(e,r,t.get(e,r))}isDisjoint(){return this._matrix[RW.INTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.INTERIOR][RW.BOUNDARY]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.BOUNDARY]===IY.FALSE}isCrosses(t,e){return t===IY.P&&e===IY.L||t===IY.P&&e===IY.A||t===IY.L&&e===IY.A?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR]):t===IY.L&&e===IY.P||t===IY.A&&e===IY.P||t===IY.A&&e===IY.L?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]):t===IY.L&&e===IY.L&&0===this._matrix[RW.INTERIOR][RW.INTERIOR]}getClass(){return BW}get interfaces_(){return[Sq]}}BW.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map(()=>Array(3)),this.setAll(IY.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];BW.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof BW){let t=arguments[0];BW.constructor_.call(this),this._matrix[RW.INTERIOR][RW.INTERIOR]=t._matrix[RW.INTERIOR][RW.INTERIOR],this._matrix[RW.INTERIOR][RW.BOUNDARY]=t._matrix[RW.INTERIOR][RW.BOUNDARY],this._matrix[RW.INTERIOR][RW.EXTERIOR]=t._matrix[RW.INTERIOR][RW.EXTERIOR],this._matrix[RW.BOUNDARY][RW.INTERIOR]=t._matrix[RW.BOUNDARY][RW.INTERIOR],this._matrix[RW.BOUNDARY][RW.BOUNDARY]=t._matrix[RW.BOUNDARY][RW.BOUNDARY],this._matrix[RW.BOUNDARY][RW.EXTERIOR]=t._matrix[RW.BOUNDARY][RW.EXTERIOR],this._matrix[RW.EXTERIOR][RW.INTERIOR]=t._matrix[RW.EXTERIOR][RW.INTERIOR],this._matrix[RW.EXTERIOR][RW.BOUNDARY]=t._matrix[RW.EXTERIOR][RW.BOUNDARY],this._matrix[RW.EXTERIOR][RW.EXTERIOR]=t._matrix[RW.EXTERIOR][RW.EXTERIOR]}};class zW{constructor(){zW.constructor_.apply(this,arguments)}static isNorthern(t){return t===zW.NE||t===zW.NW}static isOpposite(t,e){return t!==e&&2===(t-e+4)%4}static commonHalfPlane(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var r=te?t:e)?3:r}static isInHalfPlane(t,e){return e===zW.SE?t===zW.SE||t===zW.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new Cq("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?zW.NE:zW.SE:e>=0?zW.NW:zW.SW}if(arguments[0]instanceof Dq&&arguments[1]instanceof Dq){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new Cq("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?zW.NE:zW.SE:e.y>=t.y?zW.NW:zW.SW}}getClass(){return zW}get interfaces_(){return[]}}zW.constructor_=function(){},zW.NE=0,zW.NW=1,zW.SW=2,zW.SE=3;class VW{constructor(){VW.constructor_.apply(this,arguments)}compareDirection(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrantthis.location.length){var e=new Array(3).fill(null);e[qW.ON]=this.location[qW.ON],e[qW.LEFT]=RW.NONE,e[qW.RIGHT]=RW.NONE,this.location=e}for(var r=0;r1&&t.append(RW.toLocationSymbol(this.location[qW.LEFT])),t.append(RW.toLocationSymbol(this.location[qW.ON])),this.location.length>1&&t.append(RW.toLocationSymbol(this.location[qW.RIGHT])),t.toString()}setLocations(t,e,r){this.location[qW.ON]=t,this.location[qW.LEFT]=e,this.location[qW.RIGHT]=r}get(t){return t1}isAnyNull(){for(var t=0;t=t.getNumPoints()&&null===n)return null;var o=t.getCoordinate(i);null!==n&&n.segmentIndex===r.segmentIndex&&(o=n.coord);var a=new VW(t,r.coord,o,new WW(t.getLabel()));e.add(a)}createEdgeEndForPrev(t,e,r,n){var i=r.segmentIndex;if(0===r.dist){if(0===i)return null;i--}var o=t.getCoordinate(i);null!==n&&n.segmentIndex>=i&&(o=n.coord);var a=new WW(t.getLabel());a.flip();var s=new VW(t,r.coord,o,a);e.add(s)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new tY,e=n;e.hasNext();){var r=e.next();this.computeEdgeEnds(r,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var i=n.iterator(),o=null,a=null;if(!i.hasNext())return null;var s=i.next();do{o=a,a=s,s=null,i.hasNext()&&(s=i.next()),null!==a&&(this.createEdgeEndForPrev(t,e,a,o),this.createEdgeEndForNext(t,e,a,s))}while(null!==a)}}getClass(){return XW}get interfaces_(){return[]}}XW.constructor_=function(){};class HW{constructor(){HW.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){Fq.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return HW}get interfaces_(){return[]}}HW.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class ZW extends HW{constructor(){super(),ZW.constructor_.apply(this,arguments)}isIncidentEdgeInResult(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1}isIsolated(){return 1===this._label.getGeometryCount()}getCoordinate(){return this._coord}print(t){t.println("node "+this._coord+" lbl: "+this._label)}computeIM(t){}computeMergedLocation(t,e){var r=RW.NONE;if(r=this._label.getLocation(e),!t.isNull(e)){var n=t.getLocation(e);r!==RW.BOUNDARY&&(r=n)}return r}setLabel(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return super.setLabel.apply(this,arguments);{let t=arguments[0],e=arguments[1];null===this._label?this._label=new WW(t,e):this._label.setLocation(t,e)}}getEdges(){return this._edges}mergeLabel(){if(arguments[0]instanceof ZW){let t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof WW){let r=arguments[0];for(var t=0;t<2;t++){var e=this.computeMergedLocation(r,t);this._label.getLocation(t)===RW.NONE&&this._label.setLocation(t,e)}}}add(t){this._edges.insert(t),t.setNode(this)}setLabelBoundary(t){if(null===this._label)return null;var e=RW.NONE;null!==this._label&&(e=this._label.getLocation(t));var r=null;switch(e){case RW.BOUNDARY:r=RW.INTERIOR;break;case RW.INTERIOR:default:r=RW.BOUNDARY}this._label.setLocation(t,r)}getClass(){return ZW}get interfaces_(){return[]}}ZW.constructor_=function(){this._coord=null,this._edges=null;let t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new WW(0,RW.NONE)};class KW{constructor(){KW.constructor_.apply(this,arguments)}find(t){return this.nodeMap.get(t)}addNode(){if(arguments[0]instanceof Dq){let e=arguments[0];return null===(t=this.nodeMap.get(e))&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}if(arguments[0]instanceof ZW){let e=arguments[0];var t;return null===(t=this.nodeMap.get(e.getCoordinate()))?(this.nodeMap.put(e.getCoordinate(),e),e):(t.mergeLabel(e),t)}}print(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}}iterator(){return this.nodeMap.values().iterator()}values(){return this.nodeMap.values()}getBoundaryNodes(t){for(var e=new tY,r=this.iterator();r.hasNext();){var n=r.next();n.getLabel().getLocation(t)===RW.BOUNDARY&&e.add(n)}return e}add(t){var e=t.getCoordinate();this.addNode(e).add(t)}getClass(){return KW}get interfaces_(){return[]}}KW.constructor_=function(){this.nodeMap=new _Y,this.nodeFact=null;let t=arguments[0];this.nodeFact=t};class JW extends kq{constructor(){if(1===arguments.length){let t=arguments[0];super(t),kq.call(this,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];super(JW.msgWithCoord(t,e)),this.name="TopologyException",this.pt=new Dq(e)}}getCoordinate(){return this.pt}get interfaces_(){return[]}getClass(){return JW}static msgWithCoord(t,e){return null!==e?t+" [ "+e+" ]":t}}class QW{constructor(){QW.constructor_.apply(this,arguments)}locate(t){}getClass(){return QW}get interfaces_(){return[]}}QW.constructor_=function(){};class $W{constructor(){$W.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return RW.EXTERIOR;var r=e.getExteriorRing(),n=$W.locatePointInRing(t,r);if(n!==RW.INTERIOR)return n;for(var i=0;ie._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===rX.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return rX}get interfaces_(){return[Pq]}}rX.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=rX.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._eventType=rX.INSERT,this._label=t,this._xValue=e,this._obj=r}},rX.INSERT=1,rX.DELETE=2;class nX{constructor(){nX.constructor_.apply(this,arguments)}getClass(){return nX}get interfaces_(){return[]}}nX.constructor_=function(){};const iX={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return iX.sort(t),t.get(0)},sort:function(t,e){const r=t.toArray();e?SY.sort(r,e):SY.sort(r);const n=t.iterator();for(let t=0,e=r.length;te||this._maxo?1:0}getClass(){return cX}get interfaces_(){return[Nq]}}cX.constructor_=function(){},uX.NodeComparator=cX,uX.constructor_=function(){this._min=Aq.POSITIVE_INFINITY,this._max=Aq.NEGATIVE_INFINITY};class hX extends uX{constructor(){super(),hX.constructor_.apply(this,arguments)}query(t,e,r){if(!this.intersects(t,e))return null;r.visitItem(this._item)}getClass(){return hX}get interfaces_(){return[]}}hX.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],r=arguments[2];this._min=t,this._max=e,this._item=r};class fX extends uX{constructor(){super(),fX.constructor_.apply(this,arguments)}buildExtent(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)}query(t,e,r){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,r),null!==this._node2&&this._node2.query(t,e,r)}getClass(){return fX}get interfaces_(){return[]}}fX.constructor_=function(){this._node1=null,this._node2=null;let t=arguments[0],e=arguments[1];this._node1=t,this._node2=e,this.buildExtent(this._node1,this._node2)};class pX{constructor(){pX.constructor_.apply(this,arguments)}buildTree(){oX.sort(this._leaves,new uX.NodeComparator);for(var t=this._leaves,e=null,r=new tY;;){if(this.buildLevel(t,r),1===r.size())return r.get(0);e=t,t=r,r=e}}insert(t,e,r){if(null!==this._root)throw new IllegalStateException("Index cannot be added to once it has been queried");this._leaves.add(new hX(t,e,r))}query(t,e,r){this.init(),this._root.query(t,e,r)}buildRoot(){if(null!==this._root)return null;this._root=this.buildTree()}printNode(t){iY.out.println(PW.toLineString(new Dq(t._min,this._level),new Dq(t._max,this._level)))}init(){if(null!==this._root)return null;this.buildRoot()}buildLevel(t,e){this._level++,e.clear();for(var r=0;r=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof Dq){let t=arguments[0];return KY.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof dX))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new jW;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof Dq){let r=arguments[0];if(r.equals(this.p0)||r.equals(this.p1))return new Dq(r);var t=this.projectionFactor(r),e=new Dq;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof dX){let t=arguments[0];var r=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(r>=1&&n>=1)return null;if(r<=0&&n<=0)return null;var i=this.project(t.p0);r<0&&(i=this.p0),r>1&&(i=this.p1);var o=this.project(t.p1);return n<0&&(o=this.p0),n>1&&(o=this.p1),new dX(i,o)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return NW.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return dX.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,n=e*e+r*r;return n<=0?Aq.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var r=new Array(2).fill(null),n=Aq.MAX_VALUE,i=null,o=this.closestPoint(t.p0);n=o.distance(t.p0),r[0]=o,r[1]=t.p0;var a=this.closestPoint(t.p1);(i=a.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||Aq.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof dX){let t=arguments[0];return NW.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof Dq){let t=arguments[0];return NW.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new Dq;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),r=java.lang.Double.doubleToLongBits(this.p1.x);return r^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^(Math.trunc(r)^Math.trunc(r>>32))}getClass(){return dX}get interfaces_(){return[Pq,Rq]}}dX.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)dX.constructor_.call(this,new Dq,new Dq);else if(1===arguments.length){let t=arguments[0];dX.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];dX.constructor_.call(this,new Dq(t,e),new Dq(r,n))}},dX.serialVersionUID=0x2d2172135f411c00;class gX{constructor(){gX.constructor_.apply(this,arguments)}static getGeometry(){if(1===arguments.length){let t=arguments[0];return t.getFactory().buildGeometry(gX.getLines(t))}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t.getFactory().buildGeometry(gX.getLines(t,e))}}static getLines(){if(1===arguments.length){let t=arguments[0];return gX.getLines(t,!1)}if(2===arguments.length){if(Eq(arguments[0],Zq)&&Eq(arguments[1],Zq)){let r=arguments[1];for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();gX.getLines(e,r)}return r}if(arguments[0]instanceof Bq&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];var r=new tY;return t.apply(new gX(r,e)),r}if(arguments[0]instanceof Bq&&Eq(arguments[1],Zq)){let t=arguments[0],e=arguments[1];return t instanceof zY?e.add(t):t.apply(new gX(e)),e}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&Eq(arguments[0],Zq)&&Eq(arguments[1],Zq)){let r=arguments[1],n=arguments[2];for(t=arguments[0].iterator();t.hasNext();){e=t.next();gX.getLines(e,r,n)}return r}if("boolean"==typeof arguments[2]&&arguments[0]instanceof Bq&&Eq(arguments[1],Zq)){let t=arguments[1],e=arguments[2];return arguments[0].apply(new gX(t,e)),t}}}filter(t){if(this._isForcedToLineString&&t instanceof tW){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof zY&&this._lines.add(t)}setForceToLineString(t){this._isForcedToLineString=t}getClass(){return gX}get interfaces_(){return[Tq]}}gX.constructor_=function(){if(this._lines=null,this._isForcedToLineString=!1,1===arguments.length){let t=arguments[0];this._lines=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._lines=t,this._isForcedToLineString=e}};class yX{constructor(){yX.constructor_.apply(this,arguments)}visitItem(t){this._items.add(t)}getItems(){return this._items}getClass(){return yX}get interfaces_(){return[lX]}}yX.constructor_=function(){this._items=new tY};class mX{constructor(){mX.constructor_.apply(this,arguments)}locate(t){var e=new FW(t),r=new _X(e);return this._index.query(t.y,t.y,r),e.getLocation()}getClass(){return mX}get interfaces_(){return[QW]}}class _X{constructor(){_X.constructor_.apply(this,arguments)}visitItem(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))}getClass(){return _X}get interfaces_(){return[lX]}}_X.constructor_=function(){this._counter=null;let t=arguments[0];this._counter=t};class vX{constructor(){vX.constructor_.apply(this,arguments)}init(t){for(var e=gX.getLines(t).iterator();e.hasNext();){var r=e.next().getCoordinates();this.addLine(r)}}addLine(t){for(var e=1;e0||!e.coord.equals2D(n);i||r--;var o=new Array(r).fill(null),a=0;o[a++]=new Dq(t.coord);for(var s=t.segmentIndex+1;s<=e.segmentIndex;s++)o[a++]=this.edge.pts[s];return i&&(o[a]=e.coord),new OX(o,new WW(this.edge._label))}add(t,e,r){var n=new bX(t,e,r),i=this._nodeMap.get(n);return null!==i?i:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1}getClass(){return xX}get interfaces_(){return[]}}xX.constructor_=function(){this._nodeMap=new _Y,this.edge=null;let t=arguments[0];this.edge=t};class wX{constructor(){wX.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),r=0;rr?e:r}getMinX(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][r]=n}}}getDelta(t){return this._depth[t][qW.RIGHT]-this._depth[t][qW.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?RW.EXTERIOR:RW.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var r=n.getLocation(t,e);r!==RW.EXTERIOR&&r!==RW.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=SX.depthAtLocation(r):this._depth[t][e]+=SX.depthAtLocation(r))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===RW.INTERIOR&&this._depth[t][e]++}}getClass(){return SX}get interfaces_(){return[]}}SX.constructor_=function(){this._depth=Array(2).fill().map(()=>Array(3));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=SX.NULL_VALUE},SX.NULL_VALUE=-1;class OX extends HW{constructor(){super(),OX.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof BW&&arguments[0]instanceof WW))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,qW.ON),t.getLocation(1,qW.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,qW.LEFT),t.getLocation(1,qW.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,qW.RIGHT),t.getLocation(1,qW.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new OX(t,WW.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof OX))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var r=!0,n=!0,i=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){OX.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new EX(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new Uq;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;e=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=i.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,r){if(this.isBoundaryNode(t,e))return null;r===RW.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,r)}addPolygonRing(t,e,r){if(t.isEmpty())return null;var n=oY.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var i=e,o=r;KY.isCCW(n)&&(i=r,o=e);var a=new OX(n,new WW(this._argIndex,RW.BOUNDARY,i,o));this._lineEdgeMap.put(t,a),this.insertEdge(a),this.insertPoint(this._argIndex,n[0],RW.BOUNDARY)}insertPoint(t,e,r){var n=this._nodes.addNode(e),i=n.getLabel();null===i?n._label=new WW(t,r):i.setLocation(t,r)}createEdgeSetIntersector(){return new sX}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof Bq))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof eW&&(this._useBoundaryDeterminationRule=!1),t instanceof QY)this.addPolygon(t);else if(t instanceof zY)this.addLineString(t);else if(t instanceof qY)this.addPoint(t);else if(t instanceof $Y)this.addCollection(t);else if(t instanceof RY)this.addCollection(t);else if(t instanceof eW)this.addCollection(t);else{if(!(t instanceof PY))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new mX(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof zY){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return PX}get interfaces_(){return[]}}PX.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new yW,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new UW,2===arguments.length){let t=arguments[0],e=arguments[1];PX.constructor_.call(this,t,e,Vq.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=r,null!==e&&this.add(e)}};class RX extends VW{constructor(){super(),RX.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();){e.next().print(t),t.println()}}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var r=0,n=!1,i=this.iterator();i.hasNext();){(o=i.next().getLabel().getLocation(t))===RW.BOUNDARY&&r++,o===RW.INTERIOR&&(n=!0)}var o=RW.NONE;n&&(o=RW.INTERIOR),r>0&&(o=PX.determineBoundary(e,r)),this._label.setLocation(t,o)}computeLabelSide(t,e){for(var r=this.iterator();r.hasNext();){var n=r.next();if(n.getLabel().isArea()){var i=n.getLabel().getLocation(t,e);if(i===RW.INTERIOR)return this._label.setLocation(t,e,RW.INTERIOR),null;i===RW.EXTERIOR&&this._label.setLocation(t,e,RW.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,qW.LEFT),this.computeLabelSide(t,qW.RIGHT)}updateIM(t){OX.updateIM(this._label,t)}computeLabel(t){for(var e=!1,r=this.iterator();r.hasNext();){r.next().getLabel().isArea()&&(e=!0)}this._label=e?new WW(RW.NONE,RW.NONE,RW.NONE):new WW(RW.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return RX}get interfaces_(){return[]}}RX.constructor_=function(){if(this._edgeEnds=new tY,1===arguments.length){let t=arguments[0];RX.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];VW.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new WW(t.getLabel())),this.insert(t)}};class LX extends tX{constructor(){super(),LX.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();){e.next().updateIM(t)}}insert(t){var e=this._edgeMap.get(t);null===e?(e=new RX(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return LX}get interfaces_(){return[]}}LX.constructor_=function(){};class MX extends ZW{constructor(){super(),MX.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return MX}get interfaces_(){return[]}}MX.constructor_=function(){let t=arguments[0],e=arguments[1];ZW.constructor_.call(this,t,e)};class AX extends CX{constructor(){super(),AX.constructor_.apply(this,arguments)}createNode(t){return new MX(t,new LX)}getClass(){return AX}get interfaces_(){return[]}}AX.constructor_=function(){};class NX{constructor(){NX.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this._nodes.add(r)}}computeProperIntersectionIM(t,e){var r=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),i=t.hasProperIntersection(),o=t.hasProperInteriorIntersection();2===r&&2===n?i&&e.setAtLeast("212101212"):2===r&&1===n?(i&&e.setAtLeast("FFF0FFFF2"),o&&e.setAtLeast("1FFFFF1FF")):1===r&&2===n?(i&&e.setAtLeast("F0FFFFFF2"),o&&e.setAtLeast("1F1FFFFFF")):1===r&&1===n&&o&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var r=this._arg[t].getEdgeIterator();r.hasNext();){var n=r.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,r){if(r.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),r);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,RW.EXTERIOR)}computeIM(){var t=new BW;if(t.set(RW.EXTERIOR,RW.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var r=new XW,n=r.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var i=r.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(i),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();){t.next().getEdges().computeLabelling(this._arg)}}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._nodes.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.find(o.coord);a.getLabel().isNull(t)&&(n===RW.BOUNDARY?a.setLabelBoundary(t):a.setLabel(t,RW.INTERIOR))}}labelIsolatedNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,r)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.addNode(o.coord);n===RW.BOUNDARY?a.setLabelBoundary(t):a.getLabel().isNull(t)&&a.setLabel(t,RW.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),r=e.getLabel();Fq.isTrue(r.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(r.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();){e.next().updateIM(t)}for(var r=this._nodes.iterator();r.hasNext();){var n=r.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(RW.INTERIOR,RW.EXTERIOR,e.getDimension()),t.set(RW.BOUNDARY,RW.EXTERIOR,e.getBoundaryDimension()));var r=this._arg[1].getGeometry();r.isEmpty()||(t.set(RW.EXTERIOR,RW.INTERIOR,r.getDimension()),t.set(RW.EXTERIOR,RW.BOUNDARY,r.getBoundaryDimension()))}getClass(){return NX}get interfaces_(){return[]}}NX.constructor_=function(){this._li=new jW,this._ptLocator=new UW,this._arg=null,this._nodes=new KW(new AX),this._im=null,this._isolatedEdges=new tY,this._invalidPoint=null;let t=arguments[0];this._arg=t};class kX{constructor(){kX.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return kX}get interfaces_(){return[]}}kX.constructor_=function(){if(this._li=new jW,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new PX(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];kX.constructor_.call(this,t,e,Vq.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new PX(0,t,r),this._arg[1]=new PX(1,e,r)}};class jX{constructor(){jX.constructor_.apply(this,arguments)}static contains(t,e){return new jX(t).contains(e)}isContainedInBoundary(t){if(t instanceof QY)return!1;if(t instanceof qY)return this.isPointContainedInBoundary(t);if(t instanceof zY)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var i=!1;return e.y>t.y&&(i=!0),i?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return FX}get interfaces_(){return[]}}FX.constructor_=function(){this._li=new jW,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new Dq(t.getMinX(),t.getMinY()),this._diagUp1=new Dq(t.getMaxX(),t.getMaxY()),this._diagDown0=new Dq(t.getMinX(),t.getMaxY()),this._diagDown1=new Dq(t.getMaxX(),t.getMinY())};class DX{constructor(){DX.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return UX}get interfaces_(){return[]}}UX.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class BX extends DX{constructor(){super(),BX.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof QY))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var r=new Dq,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,r),e.contains(r)&&$W.containsPointInPolygon(r,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return BX}get interfaces_(){return[]}}BX.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class zX extends DX{constructor(){super(),zX.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var r=gX.getLines(t);this.checkIntersectionWithLineStrings(r)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var r=e.next();if(this.checkIntersectionWithSegments(r),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),r=1;r0)&&(!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new VX(t,e).getIntersectionMatrix().isCovers())))}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return GX.intersects(t,e);if(e.isRectangle())return GX.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var r=0;r0)&&(!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?jX.contains(t,e):new VX(t,e).getIntersectionMatrix().isContains())))}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return VX}get interfaces_(){return[]}}function qX(t){return function(t){if(Array.isArray(t))return YX(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return YX(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return YX(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function YX(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0;a--)i.push(n[o][a]);return{hasZ:r.hasZ,hasM:r.hasM,rings:i}}};function sH(t,e){var r,n,i;if(!t)return null;if("number"==typeof t.x&&"number"==typeof t.y)i="Point";else if(t.points)i="MultiPoint";else if(t.paths){i=1===t.paths.length?"LineString":"MultiLineString"}else if(t.rings){var o=t,a=lH(o),s=function(t,e){var r,n,i=[],o=[],a=[];for(r=0,n=t.length;r=0;r--){var u=o[r][0];if(Object(mt.h)(new La(u).getExtent(),new La(s).getExtent())){o[r].push(s),l=!0;break}}l||o.push([s.reverse()])}return o}(o.rings,a);1===s.length?(i="Polygon",t=Object(Mi.a)({},t,((r={}).rings=s[0],r))):(i="MultiPolygon",t=Object(Mi.a)({},t,((n={}).rings=s,n)))}return pI((0,oH[i])(t),!1,e)}function lH(t){var e=$o;return!0===t.hasZ&&!0===t.hasM?e=ra:!0===t.hasZ?e=ta:!0===t.hasM&&(e=ea),e}function uH(t){var e=t.getLayout();return{hasZ:e===ta||e===ra,hasM:e===ea||e===ra}}function cH(t,e){return(0,aH[t.getType()])(pI(t,!0,e),e)}var hH=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this)||this).geometryName_=n.geometryName,r}return iH(e,t),e.prototype.readFeatureFromObject=function(t,e,r){var n=t,i=sH(n.geometry,e),o=new gh;if(this.geometryName_&&o.setGeometryName(this.geometryName_),o.setGeometry(i),n.attributes){o.setProperties(n.attributes,!0);var a=n.attributes[r];void 0!==a&&o.setId(a)}return o},e.prototype.readFeaturesFromObject=function(t,e){var r=e||{};if(t.features){for(var n=[],i=t.features,o=0,a=i.length;o1,n=r&&t.imageInfo.profile[1].supports?t.imageInfo.profile[1].supports:[],i=r&&t.imageInfo.profile[1].formats?t.imageInfo.profile[1].formats:[],o=r&&t.imageInfo.profile[1].qualities?t.imageInfo.profile[1].qualities:[];return{url:t.imageInfo["@id"].replace(/\/?(?:info\.json)?$/g,""),sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return void 0===t.height?t.width:t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:nZ(nZ([],e.supports,!0),n,!0),formats:nZ(nZ([],e.formats,!0),i,!0),qualities:nZ(nZ([],e.qualities,!0),o,!0)}},hZ[aZ]=function(t){var e=t.getComplianceLevelSupportedFeatures(),r=void 0===t.imageInfo.extraFormats?e.formats:nZ(nZ([],e.formats,!0),t.imageInfo.extraFormats,!0),n=void 0!==t.imageInfo.preferredFormats&&Array.isArray(t.imageInfo.preferredFormats)&&t.imageInfo.preferredFormats.length>0?t.imageInfo.preferredFormats.filter((function(t){return Object(h.f)(["jpg","png","gif"],t)})).reduce((function(t,e){return void 0===t&&Object(h.f)(r,e)?e:t}),void 0):void 0;return{url:t.imageInfo.id,sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:void 0===t.imageInfo.extraFeatures?e.supports:nZ(nZ([],e.supports,!0),t.imageInfo.extraFeatures,!0),formats:r,qualities:void 0===t.imageInfo.extraQualities?e.qualities:nZ(nZ([],e.qualities,!0),t.imageInfo.extraQualities,!0),preferredFormat:n}};var fZ=function(){function t(t){this.setImageInfo(t)}return t.prototype.setImageInfo=function(t){this.imageInfo="string"==typeof t?JSON.parse(t):t},t.prototype.getImageApiVersion=function(){if(void 0!==this.imageInfo){var t=this.imageInfo["@context"]||"ol-no-context";"string"==typeof t&&(t=[t]);for(var e=0;e0&&"string"==typeof this.imageInfo.profile[0]&&uZ.test(this.imageInfo.profile[0]))return this.imageInfo.profile[0]}},t.prototype.getComplianceLevelFromProfile=function(t){var e=this.getComplianceLevelEntryFromProfile(t);if(void 0!==e){var r=e.match(/level[0-2](?:\.json)?$/g);return Array.isArray(r)?r[0].replace(".json",""):void 0}},t.prototype.getComplianceLevelSupportedFeatures=function(){if(void 0!==this.imageInfo){var t=this.getImageApiVersion(),e=this.getComplianceLevelFromProfile(t);return void 0===e?sZ.none.none:sZ[t][e]}},t.prototype.getTileSourceOptions=function(t){var e=t||{},r=this.getImageApiVersion();if(void 0!==r){var n=void 0===r?void 0:hZ[r](this);if(void 0!==n)return{url:n.url,version:r,size:[this.imageInfo.width,this.imageInfo.height],sizes:n.sizes,format:void 0!==e.format&&Object(h.f)(n.formats,e.format)?e.format:void 0!==n.preferredFormat?n.preferredFormat:"jpg",supports:n.supports,quality:e.quality&&Object(h.f)(n.qualities,e.quality)?e.quality:Object(h.f)(n.qualities,"native")?"native":"default",resolutions:Array.isArray(n.resolutions)?n.resolutions.sort((function(t,e){return e-t})):void 0,tileSize:n.tileSize}}},t}(),pZ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),dZ=[null],gZ=T(dZ,{nd:function(t,e){e[e.length-1].ndrefs.push(t.getAttribute("ref"))},tag:vZ}),yZ=T(dZ,{node:function(t,e){var r=e[0],n=e[e.length-1],i=t.getAttribute("id"),o=[parseFloat(t.getAttribute("lon")),parseFloat(t.getAttribute("lat"))];n.nodes[i]=o;var a=R({tags:{}},_Z,t,e);if(!Object(Mi.d)(a.tags)){var s=new Aa(o);pI(s,!1,r);var l=new gh(s);void 0!==i&&l.setId(i),l.setProperties(a.tags,!0),n.features.push(l)}},way:function(t,e){var r=R({id:t.getAttribute("id"),ndrefs:[],tags:{}},gZ,t,e);e[e.length-1].ways.push(r)}}),mZ=function(t){function e(){var e=t.call(this)||this;return e.dataProjection=Object(u.o)("EPSG:4326"),e}return pZ(e,t),e.prototype.readFeaturesFromNode=function(t,e){var r=this.getReadOptions(t,e);if("osm"==t.localName){for(var n=R({nodes:{},ways:[],features:[]},yZ,t,[r]),i=0;i>1):i>>1}return e}(t),i=0,o=n.length;i=32;)e=63+(32|31&t),r+=String.fromCharCode(e),t>>=5;return e=t+63,r+=String.fromCharCode(e)}var TZ=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.dataProjection=Object(u.o)("EPSG:4326"),r.factor_=n.factor?n.factor:1e5,r.geometryLayout_=n.geometryLayout?n.geometryLayout:$o,r}return wZ(e,t),e.prototype.readFeatureFromText=function(t,e){var r=this.readGeometryFromText(t,e);return new gh(r)},e.prototype.readFeaturesFromText=function(t,e){return[this.readFeatureFromText(t,e)]},e.prototype.readGeometryFromText=function(t,e){var r=ca(this.geometryLayout_),n=SZ(t,r,this.factor_);xZ(n,0,n.length,r,n);var i=Oa(n,0,n.length,r);return pI(new Eh(i,this.geometryLayout_),!1,this.adaptOptions(e))},e.prototype.writeFeatureText=function(t,e){var r=t.getGeometry();return r?this.writeGeometryText(r,e):(Object(go.a)(!1,40),"")},e.prototype.writeFeaturesText=function(t,e){return this.writeFeatureText(t[0],e)},e.prototype.writeGeometryText=function(t,e){var r=(t=pI(t,!0,this.adaptOptions(e))).getFlatCoordinates(),n=t.getStride();return xZ(r,0,r.length,n,r),EZ(r,n,this.factor_)},e}(TG),PZ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RZ=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.layerName_=n.layerName,r.layers_=n.layers?n.layers:null,r.dataProjection=Object(u.o)(n.dataProjection?n.dataProjection:"EPSG:4326"),r}return PZ(e,t),e.prototype.readFeaturesFromObject=function(t,e){if("Topology"==t.type){var r=t,n=void 0,i=null,o=null;r.transform&&(i=(n=r.transform).scale,o=n.translate);var a=r.arcs;n&&function(t,e,r){for(var n=0,i=t.length;n0&&n.pop(),r>=0)for(var a=0,s=(l=e[r]).length;a=0;--a)n.push(l[a].slice(0))}return n}function AZ(t,e,r,n,i,o,a){for(var s=t.geometries,l=[],u=0,c=s.length;u0,r=this.readUint32(e),n=Math.floor((268435455&r)/1e3),i=Boolean(2147483648&r)||1===n||3===n,o=Boolean(1073741824&r)||2===n||3===n,a=Boolean(536870912&r),s=(268435455&r)%1e3,l=["XY",i?"Z":"",o?"M":""].join(""),u=a?this.readUint32(e):null;if(void 0!==t&&t!==s)throw new Error("Unexpected WKB geometry type "+s);if(this.initialized_){if(this.isLittleEndian_!==e)throw new Error("Inconsistent endian");if(this.layout_!==l)throw new Error("Inconsistent geometry layout");if(u&&this.srid_!==u)throw new Error("Inconsistent coordinate system (SRID)")}else this.isLittleEndian_=e,this.hasZ_=i,this.hasM_=o,this.layout_=l,this.srid_=u,this.initialized_=!0;return s},t.prototype.readWkbPayload=function(t){switch(t){case GZ:return this.readPoint();case UZ:return this.readLineString();case BZ:case HZ:return this.readPolygon();case zZ:return this.readMultiPoint();case VZ:return this.readMultiLineString();case qZ:case WZ:case XZ:return this.readMultiPolygon();case YZ:return this.readGeometryCollection();default:throw new Error("Unsupported WKB geometry type "+t+" is found")}},t.prototype.readWkbBlock=function(t){return this.readWkbPayload(this.readWkbHeader(t))},t.prototype.readWkbCollection=function(t,e){for(var r=this.readUint32(),n=[],i=0;i=0&&(t+=this.isEWKB_?2147483648:1e3),this.layout_.indexOf("M")>=0&&(t+=this.isEWKB_?1073741824:2e3),this.isEWKB_&&Number.isInteger(e)&&(t|=536870912),this.writeUint8(this.isLittleEndian_?1:0),this.writeUint32(t),this.isEWKB_&&Number.isInteger(e)&&this.writeUint32(e)},t.prototype.writeMultiPoint=function(t,e){this.writeUint32(t.length);for(var r=0;r0){this.source_&&(this.source_.clear(),this.source_.addFeatures(h)),this.dispatchEvent(new nK(rK,t,h,o));break}}},e.prototype.registerListeners_=function(){var t=this.getMap();if(t){var e=this.target?this.target:t.getViewport();this.dropListenKeys_=[Object(eo.a)(e,fo.a.DROP,this.handleDrop,this),Object(eo.a)(e,fo.a.DRAGENTER,this.handleStop,this),Object(eo.a)(e,fo.a.DRAGOVER,this.handleStop,this),Object(eo.a)(e,fo.a.DROP,this.handleStop,this)]}},e.prototype.setActive=function(e){!this.getActive()&&e&&this.registerListeners_(),this.getActive()&&!e&&this.unregisterListeners_(),t.prototype.setActive.call(this,e)},e.prototype.setMap=function(e){this.unregisterListeners_(),t.prototype.setMap.call(this,e),this.getActive()&&this.registerListeners_()},e.prototype.tryReadFeatures_=function(t,e,r){try{return t.readFeatures(e,r)}catch(t){return null}},e.prototype.unregisterListeners_=function(){this.dropListenKeys_&&(this.dropListenKeys_.forEach(eo.c),this.dropListenKeys_=null)},e.prototype.handleDrop=function(t){for(var e=t.dataTransfer.files,r=0,n=e.length;r1?1:-1;return e.endInteraction(this.duration_,r),this.lastScaleDelta_=0,!1},e.prototype.handleDownEvent=function(t){return!!Ds(t)&&(!!this.condition_(t)&&(t.map.getView().beginInteraction(),this.lastAngle_=void 0,this.lastMagnitude_=void 0,!0))},e}(Os),sK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),lK="Point",uK="LineString",cK="Polygon",hK="Circle",fK="drawstart",pK="drawend",dK="drawabort",gK=function(t){function e(e,r){var n=t.call(this,e)||this;return n.feature=r,n}return sK(e,t),e}(so.a);var yK=function(t){function e(e){var r=this,n=e;n.stopDown||(n.stopDown=ai.a),(r=t.call(this,n)||this).on,r.once,r.un,r.shouldHandle_=!1,r.downPx_=null,r.downTimeout_,r.lastDragTime_,r.pointerType_,r.freehand_=!1,r.source_=e.source?e.source:null,r.features_=e.features?e.features:null,r.snapTolerance_=e.snapTolerance?e.snapTolerance:12,r.type_=e.type,r.mode_=function(t){switch(t){case"Point":case"MultiPoint":return lK;case"LineString":case"MultiLineString":return uK;case"Polygon":case"MultiPolygon":return cK;case"Circle":return hK;default:throw new Error("Invalid type: "+t)}}(r.type_),r.stopClick_=!!e.stopClick,r.minPoints_=e.minPoints?e.minPoints:r.mode_===cK?3:2,r.maxPoints_=r.mode_===hK?2:e.maxPoints?e.maxPoints:1/0,r.finishCondition_=e.finishCondition?e.finishCondition:ai.b,r.geometryLayout_=e.geometryLayout?e.geometryLayout:$o;var i,o=e.geometryFunction;if(!o){var a,s=r.mode_;if(s===hK)o=function(t,e,r){var n=e||new Dh([NaN,NaN]),i=Object(u.l)(t[0],r),o=Object(di.l)(i,Object(u.l)(t[t.length-1],r));n.setCenterAndRadius(i,Math.sqrt(o),this.geometryLayout_);var a=Object(u.s)();return a&&n.transform(r,a),n};else s===lK?a=Aa:s===uK?a=Eh:s===cK&&(a=Xa),o=function(t,e,r){return e?s===cK?t[0].length?e.setCoordinates([t[0].concat([t[0][0]])],this.geometryLayout_):e.setCoordinates([],this.geometryLayout_):e.setCoordinates(t,this.geometryLayout_):e=new a(t,this.geometryLayout_),e}}return r.geometryFunction_=o,r.dragVertexDelay_=void 0!==e.dragVertexDelay?e.dragVertexDelay:500,r.finishCoordinate_=null,r.sketchFeature_=null,r.sketchPoint_=null,r.sketchCoords_=null,r.sketchLine_=null,r.sketchLineCoords_=null,r.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,r.overlay_=new Gv({source:new qg({useSpatialIndex:!1,wrapX:!!e.wrapX&&e.wrapX}),style:e.style?e.style:(i=nm(),function(t,e){return i[t.getGeometry().getType()]}),updateWhileInteracting:!0}),r.geometryName_=e.geometryName,r.condition_=e.condition?e.condition:ks,r.freehandCondition_,e.freehand?r.freehandCondition_=Ls:r.freehandCondition_=e.freehandCondition?e.freehandCondition:js,r.addChangeListener(ms,r.updateState_),r}return sK(e,t),e.prototype.setMap=function(e){t.prototype.setMap.call(this,e),this.updateState_()},e.prototype.getOverlay=function(){return this.overlay_},e.prototype.handleEvent=function(e){e.originalEvent.type===fo.a.CONTEXTMENU&&e.originalEvent.preventDefault(),this.freehand_=this.mode_!==lK&&this.freehandCondition_(e);var r=e.type===So.POINTERMOVE,n=!0;!this.freehand_&&this.lastDragTime_&&e.type===So.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,r=!0):this.lastDragTime_=void 0,this.shouldHandle_&&void 0!==this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0));return this.freehand_&&e.type===So.POINTERDRAG&&null!==this.sketchFeature_?(this.addToDrawing_(e.coordinate),n=!1):this.freehand_&&e.type===So.POINTERDOWN?n=!1:r&&this.getPointerCount()<2?(n=e.type===So.POINTERMOVE)&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):("mouse"===e.originalEvent.pointerType||e.type===So.POINTERDRAG&&void 0===this.downTimeout_)&&this.handlePointerMove_(e):e.type===So.DBLCLICK&&(n=!1),t.prototype.handleEvent.call(this,e)&&n},e.prototype.handleDownEvent=function(t){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=t.pixel,this.finishCoordinate_||this.startDrawing_(t.coordinate),!0):this.condition_(t)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(function(){this.handlePointerMove_(new Eo(So.POINTERMOVE,t.map,t.originalEvent,!1,t.frameState))}.bind(this),this.dragVertexDelay_),this.downPx_=t.pixel,!0):(this.lastDragTime_=void 0,!1)},e.prototype.handleUpEvent=function(t){var e=!0;if(0===this.getPointerCount())if(this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0),this.handlePointerMove_(t),this.shouldHandle_){var r=!this.finishCoordinate_;r&&this.startDrawing_(t.coordinate),!r&&this.freehand_?this.finishDrawing():this.freehand_||r&&this.mode_!==lK||(this.atFinish_(t.pixel)?this.finishCondition_(t)&&this.finishDrawing():this.addToDrawing_(t.coordinate)),e=!1}else this.freehand_&&this.abortDrawing();return!e&&this.stopClick_&&t.preventDefault(),e},e.prototype.handlePointerMove_=function(t){if(this.pointerType_=t.originalEvent.pointerType,this.downPx_&&(!this.freehand_&&this.shouldHandle_||this.freehand_&&!this.shouldHandle_)){var e=this.downPx_,r=t.pixel,n=e[0]-r[0],i=e[1]-r[1],o=n*n+i*i;if(this.shouldHandle_=this.freehand_?o>this.squaredClickTolerance_:o<=this.squaredClickTolerance_,!this.shouldHandle_)return}this.finishCoordinate_?this.modifyDrawing_(t.coordinate):this.createOrUpdateSketchPoint_(t.coordinate.slice())},e.prototype.atFinish_=function(t){var e=!1;if(this.sketchFeature_){var r=!1,n=[this.finishCoordinate_],i=this.mode_;if(i===lK)e=!0;else if(i===hK)e=2===this.sketchCoords_.length;else if(i===uK)r=this.sketchCoords_.length>this.minPoints_;else if(i===cK){var o=this.sketchCoords_;r=o[0].length>this.minPoints_,n=[o[0][0],o[0][o[0].length-2]]}if(r)for(var a=this.getMap(),s=0,l=n.length;s=this.maxPoints_&&(this.freehand_?r.pop():e=!0),r.push(t.slice()),this.geometryFunction_(r,n,i)):o===cK&&((r=this.sketchCoords_[0]).length>=this.maxPoints_&&(this.freehand_?r.pop():e=!0),r.push(t.slice()),e&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,n,i)),this.createOrUpdateSketchPoint_(t.slice()),this.updateSketchFeatures_(),e&&this.finishDrawing()},e.prototype.removeLastPoint=function(){if(this.sketchFeature_){var t,e=this.sketchFeature_.getGeometry(),r=this.getMap().getView().getProjection(),n=this.mode_;if(n===uK||n===hK){if((t=this.sketchCoords_).splice(-2,1),t.length>=2){this.finishCoordinate_=t[t.length-2].slice();var i=this.finishCoordinate_.slice();t[t.length-1]=i,this.createOrUpdateSketchPoint_(i)}this.geometryFunction_(t,e,r),"Polygon"===e.getType()&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(e)}else if(n===cK){(t=this.sketchCoords_[0]).splice(-2,1);var o=this.sketchLine_.getGeometry();if(t.length>=2){i=t[t.length-2].slice();t[t.length-1]=i,this.createOrUpdateSketchPoint_(i)}o.setCoordinates(t),this.geometryFunction_(this.sketchCoords_,e,r)}1===t.length&&this.abortDrawing(),this.updateSketchFeatures_()}},e.prototype.finishDrawing=function(){var t=this.abortDrawing_();if(t){var e=this.sketchCoords_,r=t.getGeometry(),n=this.getMap().getView().getProjection();this.mode_===uK?(e.pop(),this.geometryFunction_(e,r,n)):this.mode_===cK&&(e[0].pop(),this.geometryFunction_(e,r,n),e=r.getCoordinates()),"MultiPoint"===this.type_?t.setGeometry(new mh([e])):"MultiLineString"===this.type_?t.setGeometry(new Oh([e])):"MultiPolygon"===this.type_&&t.setGeometry(new Th([e])),this.dispatchEvent(new gK(pK,t)),this.features_&&this.features_.push(t),this.source_&&this.source_.addFeature(t)}},e.prototype.abortDrawing_=function(){this.finishCoordinate_=null;var t=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),t},e.prototype.abortDrawing=function(){var t=this.abortDrawing_();t&&this.dispatchEvent(new gK(dK,t))},e.prototype.appendCoordinates=function(t){var e,r=this.mode_,n=!this.sketchFeature_;if(n&&this.startDrawing_(t[0]),r===uK||r===hK)e=this.sketchCoords_;else{if(r!==cK)return;e=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[]}n&&e.shift(),e.pop();for(var i=0;ih?o[1]:o[0]),a}}return null},e.prototype.handlePointerMove_=function(t){var e=t.pixel,r=t.map,n=this.snapToVertex_(e,r);n||(n=r.getCoordinateFromPixelInternal(e)),this.createOrUpdatePointerFeature_(n)},e.prototype.createOrUpdateExtentFeature_=function(t){var e=this.extentFeature_;return e?t?e.setGeometry(Za(t)):e.setGeometry(void 0):(e=new gh(t?Za(t):{}),this.extentFeature_=e,this.extentOverlay_.getSource().addFeature(e)),e},e.prototype.createOrUpdatePointerFeature_=function(t){var e=this.vertexFeature_;e?e.getGeometry().setCoordinates(t):(e=new gh(new Aa(t)),this.vertexFeature_=e,this.vertexOverlay_.getSource().addFeature(e));return e},e.prototype.handleEvent=function(e){return!e.originalEvent||!this.condition_(e)||(e.type!=So.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),t.prototype.handleEvent.call(this,e),!1)},e.prototype.handleDownEvent=function(t){var e=t.pixel,r=t.map,n=this.getExtentInternal(),i=this.snapToVertex_(e,r),o=function(t){var e=null,r=null;return t[0]==n[0]?e=n[2]:t[0]==n[2]&&(e=n[0]),t[1]==n[1]?r=n[3]:t[1]==n[3]&&(r=n[1]),null!==e&&null!==r?[e,r]:null};if(i&&n){var a=i[0]==n[0]||i[0]==n[2]?i[0]:null,s=i[1]==n[1]||i[1]==n[3]?i[1]:null;null!==a&&null!==s?this.pointerHandler_=xK(o(i)):null!==a?this.pointerHandler_=wK(o([a,n[1]]),o([a,n[3]])):null!==s&&(this.pointerHandler_=wK(o([n[0],s]),o([n[2],s])))}else i=r.getCoordinateFromPixelInternal(e),this.setExtent([i[0],i[1],i[0],i[1]]),this.pointerHandler_=xK(i);return!0},e.prototype.handleDragEvent=function(t){if(this.pointerHandler_){var e=t.coordinate;this.setExtent(this.pointerHandler_(e)),this.createOrUpdatePointerFeature_(e)}},e.prototype.handleUpEvent=function(t){this.pointerHandler_=null;var e=this.getExtentInternal();return e&&0!==Object(mt.u)(e)||this.setExtent(null),!1},e.prototype.setMap=function(e){this.extentOverlay_.setMap(e),this.vertexOverlay_.setMap(e),t.prototype.setMap.call(this,e)},e.prototype.getExtent=function(){return Object(u.x)(this.getExtentInternal(),this.getMap().getView().getProjection())},e.prototype.getExtentInternal=function(){return this.extent_},e.prototype.setExtent=function(t){this.extent_=t||null,this.createOrUpdateExtentFeature_(t),this.dispatchEvent(new vK(this.extent_))},e}(Os),SK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function OK(t){return parseFloat(t)}function IK(t){return function(t){return Object(qo.m)(t,5)}(t).toString()}function CK(t,e){return!isNaN(t)&&t!==OK(IK(e))}var TK=function(t){function e(e){var r,n=t.call(this)||this,i=Object(Mi.a)({animate:!0,replace:!1,prefix:""},e||{});return r=!0===i.animate?{duration:250}:i.animate?i.animate:null,n.animationOptions_=r,n.replace_=i.replace,n.prefix_=i.prefix,n.listenerKeys_=[],n.initial_=!0,n.updateState_=n.updateState_.bind(n),n}return SK(e,t),e.prototype.getParamName_=function(t){return this.prefix_?this.prefix_+t:t},e.prototype.get_=function(t,e){return t.get(this.getParamName_(e))},e.prototype.set_=function(t,e,r){t.set(this.getParamName_(e),r)},e.prototype.delete_=function(t,e){t.delete(this.getParamName_(e))},e.prototype.setMap=function(e){var r=this.getMap();t.prototype.setMap.call(this,e),e!==r&&(r&&this.unregisterListeners_(r),e&&(this.initial_=!0,this.updateState_(),this.registerListeners_(e)))},e.prototype.registerListeners_=function(t){this.listenerKeys_.push(Object(eo.a)(t,Ao,this.updateUrl_,this),Object(eo.a)(t.getLayerGroup(),fo.a.CHANGE,this.updateUrl_,this),Object(eo.a)(t,"change:layergroup",this.handleChangeLayerGroup_,this)),this.replace_||addEventListener("popstate",this.updateState_)},e.prototype.unregisterListeners_=function(t){for(var e=0,r=this.listenerKeys_.length;e=0;--n){for(var i=r[n],o=this.dragSegments_.length-1;o>=0;--o)this.dragSegments_[o][0]===i&&this.dragSegments_.splice(o,1);e.remove(i)}},e.prototype.setActive=function(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),t.prototype.setActive.call(this,e)},e.prototype.setMap=function(e){this.overlay_.setMap(e),t.prototype.setMap.call(this,e)},e.prototype.getOverlay=function(){return this.overlay_},e.prototype.handleSourceAdd_=function(t){t.feature&&this.features_.push(t.feature)},e.prototype.handleSourceRemove_=function(t){t.feature&&this.features_.remove(t.feature)},e.prototype.handleFeatureAdd_=function(t){this.addFeature_(t.element)},e.prototype.handleFeatureChange_=function(t){if(!this.changingFeature_){var e=t.target;this.removeFeature_(e),this.addFeature_(e)}},e.prototype.handleFeatureRemove_=function(t){var e=t.element;this.removeFeature_(e)},e.prototype.writePointGeometry_=function(t,e){var r=e.getCoordinates(),n={feature:t,geometry:e,segment:[r,r]};this.rBush_.insert(e.getExtent(),n)},e.prototype.writeMultiPointGeometry_=function(t,e){for(var r=e.getCoordinates(),n=0,i=r.length;n=0;--m)this.insertVertex_(i[m],o)}return!!this.vertexFeature_},e.prototype.handleUpEvent=function(t){for(var e=this.dragSegments_.length-1;e>=0;--e){var r=this.dragSegments_[e][0],n=r.geometry;if("Circle"===n.getType()){var i=n.getCenter(),o=r.featureSegments[0],a=r.featureSegments[1];o.segment[0]=i,o.segment[1]=i,a.segment[0]=i,a.segment[1]=i,this.rBush_.update(Object(mt.n)(i),o);var s=n,l=Object(u.s)();if(l){var c=t.map.getView().getProjection();s=Ka(s=s.clone().transform(l,c)).transform(c,l)}this.rBush_.update(s.getExtent(),a)}else this.rBush_.update(Object(mt.c)(r.segment),r)}return this.featuresBeingModified_&&(this.dispatchEvent(new kK(NK,this.featuresBeingModified_,t)),this.featuresBeingModified_=null),!1},e.prototype.handlePointerMove_=function(t){this.lastPixel_=t.pixel,this.handlePointerAtPixel_(t.pixel,t.map,t.coordinate)},e.prototype.handlePointerAtPixel_=function(t,e,r){var n,i,o=this,a=r||e.getCoordinateFromPixel(t),s=e.getView().getProjection();if(this.hitDetection_){var l="object"===PK(this.hitDetection_)?function(t){return t===o.hitDetection_}:void 0;e.forEachFeatureAtPixel(t,(function(t,e,r){if("Point"===(r=r||t.getGeometry()).getType()&&Object(h.f)(o.features_.getArray(),t)){i=r;var a=r.getFlatCoordinates().slice(0,2);n=[{feature:t,geometry:r,segment:[a,a]}]}return!0}),{layerFilter:l})}if(!n){var c=Object(u.m)(Object(mt.n)(a,LK),s),f=e.getView().getResolution()*this.pixelTolerance_,p=Object(u.x)(Object(mt.d)(c,f,LK),s);n=this.rBush_.getInExtent(p)}if(n&&n.length>0){var d=n.sort((function(t,e){return FK(a,t,s)-FK(a,e,s)}))[0],g=d.segment,y=DK(a,d,s),m=e.getPixelFromCoordinate(y),_=Object(di.f)(t,m);if(i||_<=this.pixelTolerance_){var v={};if(v[Object(si.c)(g)]=!0,this.snapToPointer_||(this.delta_[0]=y[0]-a[0],this.delta_[1]=y[1]-a[1]),"Circle"===d.geometry.getType()&&1===d.index)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(y,[d.feature],[d.geometry]);else{var b=e.getPixelFromCoordinate(g[0]),x=e.getPixelFromCoordinate(g[1]),w=Object(di.l)(m,b),E=Object(di.l)(m,x);_=Math.sqrt(Math.min(w,E)),this.snappedToVertex_=_<=this.pixelTolerance_,this.snappedToVertex_&&(y=w>E?g[1]:g[0]),this.createOrUpdateVertexFeature_(y,[d.feature],[d.geometry]);var S={};S[Object(si.c)(d.geometry)]=!0;for(var O=1,I=n.length;O=0;--i)u=(r=h[i])[0],c=Object(si.c)(u.feature),u.depth&&(c+="-"+u.depth.join("-")),c in f||(f[c]={}),0===r[1]?(f[c].right=u,f[c].index=u.index):1==r[1]&&(f[c].left=u,f[c].index=u.index+1);for(c in f){switch(l=f[c].right,a=f[c].left,(s=(o=f[c].index)-1)<0&&(s=0),t=e=(n=(u=void 0!==a?a:l).geometry).getCoordinates(),p=!1,n.getType()){case"MultiLineString":e[u.depth[0]].length>2&&(e[u.depth[0]].splice(o,1),p=!0);break;case"LineString":e.length>2&&(e.splice(o,1),p=!0);break;case"MultiPolygon":t=t[u.depth[1]];case"Polygon":(t=t[u.depth[0]]).length>4&&(o==t.length-1&&(o=0),t.splice(o,1),p=!0,0===o&&(t.pop(),t.push(t[0]),s=t.length-1))}if(p){this.setGeometryCoordinates_(n,e);var d=[];if(void 0!==a&&(this.rBush_.remove(a),d.push(a.segment[0])),void 0!==l&&(this.rBush_.remove(l),d.push(l.segment[1])),void 0!==a&&void 0!==l){var g={depth:u.depth,feature:u.feature,geometry:u.geometry,index:s,segment:d};this.rBush_.insert(Object(mt.c)(g.segment),g)}this.updateSegmentIndices_(n,o,u.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),h.length=0}}return p},e.prototype.setGeometryCoordinates_=function(t,e){this.changingFeature_=!0,t.setCoordinates(e),this.changingFeature_=!1},e.prototype.updateSegmentIndices_=function(t,e,r,n){this.rBush_.forEachInExtent(t.getExtent(),(function(i){i.geometry===t&&(void 0===r||void 0===i.depth||Object(h.b)(i.depth,r))&&i.index>e&&(i.index+=n)}))},e}(Os),UK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function BK(t){return t.feature?t.feature:t.element?t.element:void 0}var zK=[],VK=function(t){function e(e){var r=this,n=e||{},i=n;return i.handleDownEvent||(i.handleDownEvent=ai.b),i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).source_=n.source?n.source:null,r.vertex_=void 0===n.vertex||n.vertex,r.edge_=void 0===n.edge||n.edge,r.features_=n.features?n.features:null,r.featuresListenerKeys_=[],r.featureChangeListenerKeys_={},r.indexedFeaturesExtents_={},r.pendingFeatures_={},r.pixelTolerance_=void 0!==n.pixelTolerance?n.pixelTolerance:10,r.rBush_=new Pg,r.GEOMETRY_SEGMENTERS_={Point:r.segmentPointGeometry_.bind(r),LineString:r.segmentLineStringGeometry_.bind(r),LinearRing:r.segmentLineStringGeometry_.bind(r),Polygon:r.segmentPolygonGeometry_.bind(r),MultiPoint:r.segmentMultiPointGeometry_.bind(r),MultiLineString:r.segmentMultiLineStringGeometry_.bind(r),MultiPolygon:r.segmentMultiPolygonGeometry_.bind(r),GeometryCollection:r.segmentGeometryCollectionGeometry_.bind(r),Circle:r.segmentCircleGeometry_.bind(r)},r}return UK(e,t),e.prototype.addFeature=function(t,e){var r=void 0===e||e,n=Object(si.c)(t),i=t.getGeometry();if(i){var o=this.GEOMETRY_SEGMENTERS_[i.getType()];if(o){this.indexedFeaturesExtents_[n]=i.getExtent(Object(mt.k)());var a=[];if(o(a,i),1===a.length)this.rBush_.insert(Object(mt.c)(a[0]),{feature:t,segment:a[0]});else if(a.length>1){var s=a.map((function(t){return Object(mt.c)(t)})),l=a.map((function(e){return{feature:t,segment:e}}));this.rBush_.load(s,l)}}}r&&(this.featureChangeListenerKeys_[n]=Object(eo.a)(t,fo.a.CHANGE,this.handleFeatureChange_,this))},e.prototype.forEachFeatureAdd_=function(t){this.addFeature(t)},e.prototype.forEachFeatureRemove_=function(t){this.removeFeature(t)},e.prototype.getFeatures_=function(){var t;return this.features_?t=this.features_:this.source_&&(t=this.source_.getFeatures()),t},e.prototype.handleEvent=function(e){var r=this.snapTo(e.pixel,e.coordinate,e.map);return r&&(e.coordinate=r.vertex.slice(0,2),e.pixel=r.vertexPixel),t.prototype.handleEvent.call(this,e)},e.prototype.handleFeatureAdd_=function(t){var e=BK(t);this.addFeature(e)},e.prototype.handleFeatureRemove_=function(t){var e=BK(t);this.removeFeature(e)},e.prototype.handleFeatureChange_=function(t){var e=t.target;if(this.handlingDownUpSequence){var r=Object(si.c)(e);r in this.pendingFeatures_||(this.pendingFeatures_[r]=e)}else this.updateFeature_(e)},e.prototype.handleUpEvent=function(t){var e=Object(Mi.c)(this.pendingFeatures_);return e.length&&(e.forEach(this.updateFeature_.bind(this)),this.pendingFeatures_={}),!1},e.prototype.removeFeature=function(t,e){var r=void 0===e||e,n=Object(si.c)(t),i=this.indexedFeaturesExtents_[n];if(i){var o=this.rBush_,a=[];o.forEachInExtent(i,(function(e){t===e.feature&&a.push(e)}));for(var s=a.length-1;s>=0;--s)o.remove(a[s])}r&&(Object(eo.c)(this.featureChangeListenerKeys_[n]),delete this.featureChangeListenerKeys_[n])},e.prototype.setMap=function(e){var r=this.getMap(),n=this.featuresListenerKeys_,i=this.getFeatures_();r&&(n.forEach(eo.c),n.length=0,i.forEach(this.forEachFeatureRemove_.bind(this))),t.prototype.setMap.call(this,e),e&&(this.features_?n.push(Object(eo.a)(this.features_,oo,this.handleFeatureAdd_,this),Object(eo.a)(this.features_,ao,this.handleFeatureRemove_,this)):this.source_&&n.push(Object(eo.a)(this.source_,Lg,this.handleFeatureAdd_,this),Object(eo.a)(this.source_,Ng,this.handleFeatureRemove_,this)),i.forEach(this.forEachFeatureAdd_.bind(this)))},e.prototype.snapTo=function(t,e,r){var n=r.getCoordinateFromPixel([t[0]-this.pixelTolerance_,t[1]+this.pixelTolerance_]),i=r.getCoordinateFromPixel([t[0]+this.pixelTolerance_,t[1]-this.pixelTolerance_]),o=Object(mt.c)([n,i]),a=this.rBush_.getInExtent(o),s=a.length;if(0===s)return null;var l,c=r.getView().getProjection(),h=Object(u.l)(e,c),f=1/0,p=this.pixelTolerance_*this.pixelTolerance_,d=function(){if(l){var e=r.getPixelFromCoordinate(l);if(Object(di.l)(t,e)<=p)return{vertex:l,vertexPixel:[Math.round(e[0]),Math.round(e[1])]}}return null};if(this.vertex_){for(var g=0;g0&&y.length>0;)o=y.pop(),c=d.pop(),f=g.pop(),(l=o.toString())in m||(u.push(f[0],f[1]),m[l]=!0),a=y.pop(),h=d.pop(),p=g.pop(),i=e(n=t(s=(o+a)/2)),Object(qo.k)(i[0],i[1],f[0],f[1],p[0],p[1])this.featurePool_.length;)l=new gh,this.featurePool_.push(l);var h=n.getFeaturesCollection();h.clear();var f,p,d=0;for(f=0,p=this.meridians_.length;fMath.PI/2);for(var d=my(t),g=u;g<=c;++g){var y=this.meridians_.length+this.parallels_.length,m=void 0,_=void 0,v=void 0,b=void 0;if(this.meridiansLabels_)for(_=0,v=this.meridiansLabels_.length;_=s?(t[0]=a[0],t[2]=a[2]):o=!0);var l=[Object(qo.b)(e[0],this.minX_,this.maxX_),Object(qo.b)(e[1],this.minY_,this.maxY_)],u=this.toLonLatTransform_(l);isNaN(u[1])&&(u[1]=Math.abs(this.maxLat_)>=Math.abs(this.minLat_)?this.maxLat_:this.minLat_);var c,h,f,p,d=Object(qo.b)(u[0],this.minLon_,this.maxLon_),g=Object(qo.b)(u[1],this.minLat_,this.maxLat_),y=this.maxLines_,m=t;o||(m=[Object(qo.b)(t[0],this.minX_,this.maxX_),Object(qo.b)(t[1],this.minY_,this.maxY_),Object(qo.b)(t[2],this.minX_,this.maxX_),Object(qo.b)(t[3],this.minY_,this.maxY_)]);var _=Object(mt.a)(m,this.toLonLatTransform_,void 0,8),v=_[3],b=_[2],x=_[1],w=_[0];if(o||(Object(mt.g)(m,this.bottomLeft_)&&(w=this.minLon_,x=this.minLat_),Object(mt.g)(m,this.bottomRight_)&&(b=this.maxLon_,x=this.minLat_),Object(mt.g)(m,this.topLeft_)&&(w=this.minLon_,v=this.maxLat_),Object(mt.g)(m,this.topRight_)&&(b=this.maxLon_,v=this.maxLat_),v=Object(qo.b)(v,g,this.maxLat_),b=Object(qo.b)(b,d,this.maxLon_),x=Object(qo.b)(x,this.minLat_,g),w=Object(qo.b)(w,this.minLon_,d)),d=Math.floor(d/i)*i,p=Object(qo.b)(d,this.minLon_,this.maxLon_),h=this.addMeridian_(p,x,v,n,t,0),c=0,o)for(;(p-=i)>=w&&c++n[o]&&(i=o,o=1);var a=Math.max(e[1],n[i]),s=Math.min(e[3],n[o]),l=Object(qo.b)(e[1]+Math.abs(e[1]-e[3])*this.lonLabelPosition_,a,s),u=[n[i-1]+(n[o-1]-n[i-1])*(l-n[i])/(n[o]-n[i]),l],c=this.meridiansLabels_[r].geom;return c.setCoordinates(u),c},e.prototype.getMeridians=function(){return this.meridians_},e.prototype.getParallel_=function(t,e,r,n,i){var o=function(t,e,r,n,i){var o=Object(u.o)("EPSG:4326");return QK((function(n){return[e+(r-e)*n,t]}),Object(u.q)(o,n),i)}(t,e,r,this.projection_,n),a=this.parallels_[i];return a?(a.setFlatCoordinates($o,o),a.changed()):a=new Eh(o,$o),a},e.prototype.getParallelPoint_=function(t,e,r){var n=t.getFlatCoordinates(),i=0,o=n.length-2;n[i]>n[o]&&(i=o,o=0);var a=Math.max(e[0],n[i]),s=Math.min(e[2],n[o]),l=Object(qo.b)(e[0]+Math.abs(e[0]-e[2])*this.latLabelPosition_,a,s),u=[l,n[i+1]+(n[o+1]-n[i+1])*(l-n[i])/(n[o]-n[i])],c=this.parallelsLabels_[r].geom;return c.setCoordinates(u),c},e.prototype.getParallels=function(){return this.parallels_},e.prototype.updateProjectionInfo_=function(t){var e=Object(u.o)("EPSG:4326"),r=t.getWorldExtent();this.maxLat_=r[3],this.maxLon_=r[2],this.minLat_=r[1],this.minLon_=r[0];var n=Object(u.q)(t,e);if(this.minLon_=Math.abs(this.minLat_)?this.maxLat_:this.minLat_),this.projection_=t},e}(Gv),nJ=r(64),iJ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),oJ=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;if(void 0!==e.interpolate&&(n=e.interpolate),(r=t.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:n,projection:Object(u.o)("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).tileJSON_=null,r.tileSize_=e.tileSize,e.url)if(e.jsonp)Object(nJ.a)(e.url,r.handleTileJSONResponse.bind(r),r.handleTileJSONError.bind(r));else{var i=new XMLHttpRequest;i.addEventListener("load",r.onXHRLoad_.bind(r)),i.addEventListener("error",r.onXHRError_.bind(r)),i.open("GET",e.url),i.send()}else e.tileJSON?r.handleTileJSONResponse(e.tileJSON):Object(go.a)(!1,51);return r}return iJ(e,t),e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(r)}else this.handleTileJSONError()},e.prototype.onXHRError_=function(t){this.handleTileJSONError()},e.prototype.getTileJSON=function(){return this.tileJSON_},e.prototype.handleTileJSONResponse=function(t){var e,r=Object(u.o)("EPSG:4326"),n=this.getProjection();if(void 0!==t.bounds){var i=Object(u.r)(r,n);e=Object(mt.a)(t.bounds,i)}var o=Object(ap.b)(n),a=t.minzoom||0,s=t.maxzoom||22,l=Object(ap.a)({extent:o,maxZoom:s,minZoom:a,tileSize:this.tileSize_});if(this.tileGrid=l,this.tileUrlFunction=$f(t.tiles,l),void 0!==t.attribution&&!this.getAttributions()){var c=void 0!==e?e:o;this.setAttributions((function(e){return Object(mt.H)(c,e.extent)?[t.attribution]:null}))}this.tileJSON_=t,this.setState("ready")},e.prototype.handleTileJSONError=function(){this.setState("error")},e}(up);function aJ(t){return(aJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var sJ,lJ={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]};function uJ(t){return(t=Math.round(t))<0?0:t>255?255:t}function cJ(t){return t<0?0:t>1?1:t}function hJ(t){return"%"===t[t.length-1]?uJ(parseFloat(t)/100*255):uJ(parseInt(t))}function fJ(t){return"%"===t[t.length-1]?cJ(parseFloat(t)/100):cJ(parseFloat(t))}function pJ(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{sJ={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in lJ)return lJ[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf("("),i=r.indexOf(")");if(-1!==n&&i+1===r.length){var o=r.substr(0,n),a=r.substr(n+1,i-(n+1)).split(","),s=1;switch(o){case"rgba":if(4!==a.length)return null;s=fJ(a.pop());case"rgb":return 3!==a.length?null:[hJ(a[0]),hJ(a[1]),hJ(a[2]),s];case"hsla":if(4!==a.length)return null;s=fJ(a.pop());case"hsl":if(3!==a.length)return null;var l=(parseFloat(a[0])%360+360)%360/360,u=fJ(a[1]),c=fJ(a[2]),h=c<=.5?c*(u+1):c+u-c*u,f=2*c-h;return[uJ(255*pJ(f,h,l+1/3)),uJ(255*pJ(f,h,l)),uJ(255*pJ(f,h,l-1/3)),s];default:return null}}return null}}catch(t){}var dJ=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};function gJ(t){return"object"===aJ(t)?["literal",t]:t}function yJ(t,e){var r=t.stops;if(!r)return function(t,e){var r=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",r]:r;if("enum"===e.type)return["match",r,Object.keys(e.values),r,t.default];var n=["color"===e.type?"to-color":e.type,r,gJ(t.default)];return"array"===e.type&&n.splice(1,0,e.value,e.length||null),n}(t,e);var n=r&&"object"===aJ(r[0][0]),i=n||void 0!==t.property,o=n||!i;return r=r.map((function(t){return!i&&e.tokens&&"string"==typeof t[1]?[t[0],EJ(t[1])]:[t[0],gJ(t[1])]})),n?function(t,e,r){for(var n={},i={},o=[],a=0;a3&&e===t[t.length-2]||(n&&2===t.length||t.push(e),t.push(r))}function wJ(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function EJ(t){for(var e=["concat"],r=/{([^{}]+)}/g,n=0,i=r.exec(t);null!==i;i=r.exec(t)){var o=t.slice(n,r.lastIndex-i[0].length);n=r.lastIndex,o.length>0&&e.push(o),e.push(["get",i[1]])}if(1===e.length)return t;if(n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var DJ=[IJ,CJ,TJ,PJ,RJ,NJ,LJ,jJ(MJ),kJ];function GJ(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!GJ(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=DJ;r=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function XJ(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof dJ)return!0;if(t instanceof zJ)return!0;if(t instanceof qJ)return!0;if(t instanceof YJ)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in QJ)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);o=QJ[s],n++}else o=MJ;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],n++}r=jJ(o,a)}else r=QJ[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var tQ=function(t){this.type=NJ,this.sections=t};tQ.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"===aJ(r))return e.error("First argument must be an image or text section.");for(var n=[],i=!1,o=1;o<=t.length-1;++o){var a=t[o];if(i&&"object"===aJ(a)&&!Array.isArray(a)){i=!1;var s=null;if(a["font-scale"]&&!(s=e.parse(a["font-scale"],1,CJ)))return null;var l=null;if(a["text-font"]&&!(l=e.parse(a["text-font"],1,jJ(TJ))))return null;var u=null;if(a["text-color"]&&!(u=e.parse(a["text-color"],1,RJ)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var h=e.parse(t[o],1,MJ);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new tQ(n)},tQ.prototype.evaluate=function(t){return new qJ(this.sections.map((function(e){var r=e.content.evaluate(t);return HJ(r)===kJ?new VJ("",r,null,null,null):new VJ(ZJ(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},tQ.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},eQ.prototype.eachChild=function(t){t(this.input)},eQ.prototype.outputDefined=function(){return!1},eQ.prototype.serialize=function(){return["image",this.input.serialize()]};var rQ={"to-boolean":PJ,"to-color":RJ,"to-number":CJ,"to-string":TJ},nQ=function(t,e){this.type=t,this.args=e};nQ.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=rQ[r],i=[],o=1;o4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":WJ(e[0],e[1],e[2],e[3])))return new dJ(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new JJ(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var a=null,s=0,l=this.args;s=e[2])&&(!(t[1]<=e[1])&&!(t[3]>=e[3])))}function hQ(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),o=Math.pow(2,e.z);return[Math.round(n*o*lQ),Math.round(i*o*lQ)]}function fQ(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function pQ(t,e){for(var r,n,i,o,a,s,l,u=!1,c=0,h=e.length;c0&&h<0||c<0&&h>0}function yQ(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,o=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===o&&(o=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=o}uQ(e,t)}function wQ(t,e,r,n){var i=Math.pow(2,n.z)*lQ,o=[n.x*lQ,n.y*lQ],a=[];if(!t)return a;for(var s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!CQ(t,e)&&(r=!1)})),r}SQ.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(XJ(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new JJ("Input is not a number.");a=s-1}return 0}PQ.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},PQ.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new $J(e,[t]):"coerce"===r?new nQ(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+aJ(n)+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var o=i.parse(t,this);if(!o)return null;if(this.expectedType){var a=this.expectedType,s=o.type;if("string"!==a.kind&&"number"!==a.kind&&"boolean"!==a.kind&&"object"!==a.kind&&"array"!==a.kind||"value"!==s.kind)if("color"!==a.kind&&"formatted"!==a.kind&&"resolvedImage"!==a.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(a,s))return null}else o=r(o,a,e.typeAnnotation||"coerce");else o=r(o,a,e.typeAnnotation||"assert")}if(!(o instanceof KJ)&&"resolvedImage"!==o.type.kind&&RQ(o)){var l=new oQ;try{o=new KJ(o.type,o.evaluate(l))}catch(t){return this.error(t.message),null}}return o}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"===aJ(t)?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+aJ(t)+" instead.")},PQ.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new PQ(this.registry,n,e||null,i,this.errors)},PQ.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new SJ(n,t))},PQ.prototype.checkSubtype=function(t,e){var r=GJ(t,e);return r&&this.error(r),r};var MQ=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=a)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new MQ(i,r,n)},MQ.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[LQ(e,n)].evaluate(t)},MQ.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var AQ=NQ;function NQ(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}function kQ(t,e,r){return t*(1-r)+e*r}NQ.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},NQ.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},NQ.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},NQ.prototype.solveCurveX=function(t,e){var r,n,i,o,a;for(void 0===e&&(e=1e-6),i=t,a=0;a<8;a++){if(o=this.sampleCurveX(i)-t,Math.abs(o)(n=1))return n;for(;ro?r=i:n=i,i=.5*(n-r)+r}return i},NQ.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var jQ=Object.freeze({__proto__:null,number:kQ,color:function(t,e,r){return new dJ(kQ(t.r,e.r,r),kQ(t.g,e.g,r),kQ(t.b,e.b,r),kQ(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return kQ(t,e[n],r)}))}}),FQ=.95047,DQ=1.08883,GQ=4/29,UQ=6/29,BQ=3*UQ*UQ,zQ=Math.PI/180,VQ=180/Math.PI;function qQ(t){return t>.008856451679035631?Math.pow(t,1/3):t/BQ+GQ}function YQ(t){return t>UQ?t*t*t:BQ*(t-GQ)}function WQ(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function XQ(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function HQ(t){var e=XQ(t.r),r=XQ(t.g),n=XQ(t.b),i=qQ((.4124564*e+.3575761*r+.1804375*n)/FQ),o=qQ((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*o-16,a:500*(i-o),b:200*(o-qQ((.0193339*e+.119192*r+.9503041*n)/DQ)),alpha:t.a}}function ZQ(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*YQ(e),r=FQ*YQ(r),n=DQ*YQ(n),new dJ(WQ(3.2404542*r-1.5371385*e-.4985314*n),WQ(-.969266*r+1.8760108*e+.041556*n),WQ(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function KQ(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var JQ={forward:HQ,reverse:ZQ,interpolate:function(t,e,r){return{l:kQ(t.l,e.l,r),a:kQ(t.a,e.a,r),b:kQ(t.b,e.b,r),alpha:kQ(t.alpha,e.alpha,r)}}},QQ={forward:function(t){var e=HQ(t),r=e.l,n=e.a,i=e.b,o=Math.atan2(i,n)*VQ;return{h:o<0?o+360:o,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*zQ,r=t.c;return ZQ({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:KQ(t.h,e.h,r),c:kQ(t.c,e.c,r),l:kQ(t.l,e.l,r),alpha:kQ(t.alpha,e.alpha,r)}}},$Q=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var o=0,a=i;o1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,CJ)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=RJ:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,u);if(!g)return null;u=u||g.type,l.push([h,g])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new $Q(u,r,n,i,l):e.error("Type "+FJ(u)+" is not interpolatable.")},$Q.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=LQ(e,n),a=e[o],s=e[o+1],l=$Q.interpolationFactor(this.interpolation,n,a,s),u=r[o].evaluate(t),c=r[o+1].evaluate(t);return"interpolate"===this.operator?jQ[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?QQ.reverse(QQ.interpolate(QQ.forward(u),QQ.forward(c),l)):JQ.reverse(JQ.interpolate(JQ.forward(u),JQ.forward(c),l))},$Q.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new JJ("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new JJ("Array index must be an integer, but found "+e+" instead.");return r[e]},n$.prototype.eachChild=function(t){t(this.index),t(this.input)},n$.prototype.outputDefined=function(){return!1},n$.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var i$=function(t,e){this.type=PJ,this.needle=t,this.haystack=e};i$.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,MJ);return r&&n?UJ(r.type,[PJ,TJ,CJ,IJ,MJ])?new i$(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+FJ(r.type)+" instead"):null},i$.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(null==r)return!1;if(!BJ(e,["boolean","string","number","null"]))throw new JJ("Expected first argument to be of type boolean, string, number or null, but found "+FJ(HJ(e))+" instead.");if(!BJ(r,["string","array"]))throw new JJ("Expected second argument to be of type array or string, but found "+FJ(HJ(r))+" instead.");return r.indexOf(e)>=0},i$.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},i$.prototype.outputDefined=function(){return!0},i$.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var o$=function(t,e,r){this.type=CJ,this.needle=t,this.haystack=e,this.fromIndex=r};o$.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,MJ);if(!r||!n)return null;if(!UJ(r.type,[PJ,TJ,CJ,IJ,MJ]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+FJ(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,CJ);return i?new o$(r,n,i):null}return new o$(r,n)},o$.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!BJ(e,["boolean","string","number","null"]))throw new JJ("Expected first argument to be of type boolean, string, number or null, but found "+FJ(HJ(e))+" instead.");if(!BJ(r,["string","array"]))throw new JJ("Expected second argument to be of type array or string, but found "+FJ(HJ(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},o$.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},o$.prototype.outputDefined=function(){return!1},o$.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var a$=function(t,e,r,n,i,o){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=o};a$.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},o=[],a=2;aNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,HJ(f)))return null}else r=HJ(f);if(void 0!==i[String(f)])return u.error("Branch labels must be unique.");i[String(f)]=o.length}var p=e.parse(l,a,n);if(!p)return null;n=n||p.type,o.push(p)}var d=e.parse(t[1],1,MJ);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new a$(r,n,d,i,o,g):null},a$.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(HJ(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},a$.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},a$.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},a$.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,o=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,CJ);if(!r||!n)return null;if(!UJ(r.type,[jJ(MJ),TJ,MJ]))return e.error("Expected first argument to be of type array or string, but found "+FJ(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,CJ);return i?new l$(r.type,r,n,i):null}return new l$(r.type,r,n)},l$.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!BJ(e,["string","array"]))throw new JJ("Expected first argument to be of type array or string, but found "+FJ(HJ(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},l$.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},l$.prototype.outputDefined=function(){return!1},l$.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var f$=h$("==",(function(t,e,r){return e===r}),c$),p$=h$("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!c$(0,e,r,n)})),d$=h$("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),y$=h$("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),m$=h$(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_$=function(t,e,r,n,i){this.type=TJ,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};_$.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,CJ);if(!r)return null;var n=t[2];if("object"!==aJ(n)||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,TJ)))return null;var o=null;if(n.currency&&!(o=e.parse(n.currency,1,TJ)))return null;var a=null;if(n["min-fraction-digits"]&&!(a=e.parse(n["min-fraction-digits"],1,CJ)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,CJ))?null:new _$(r,i,o,a,s)},_$.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_$.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_$.prototype.outputDefined=function(){return!1},_$.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var v$=function(t){this.type=CJ,this.input=t};v$.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+FJ(r.type)+" instead."):new v$(r):null},v$.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new JJ("Expected value to be of type string or array, but found "+FJ(HJ(e))+" instead.")},v$.prototype.eachChild=function(t){t(this.input)},v$.prototype.outputDefined=function(){return!1},v$.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var b$={"==":f$,"!=":p$,">":g$,"<":d$,">=":m$,"<=":y$,array:$J,at:n$,boolean:$J,case:s$,coalesce:e$,collator:sQ,format:tQ,image:eQ,in:i$,"index-of":o$,interpolate:$Q,"interpolate-hcl":$Q,"interpolate-lab":$Q,length:v$,let:r$,literal:KJ,match:a$,number:$J,"number-format":_$,object:$J,slice:l$,step:MQ,string:$J,"to-boolean":nQ,"to-color":nQ,"to-number":nQ,"to-string":nQ,var:TQ,within:SQ};function x$(t,e){var r=e[0],n=e[1],i=e[2],o=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var a=o?o.evaluate(t):1,s=WJ(r,n,i,a);if(s)throw new JJ(s);return new dJ(r/255*a,n/255*a,i/255*a,a)}function w$(t,e){return t in e}function E$(t,e){var r=e[t];return void 0===r?null:r}function S$(t){return{type:t}}function O$(t){return{result:"success",value:t}}function I$(t){return{result:"error",value:t}}function C$(t){return"object"===aJ(t)&&null!==t&&!Array.isArray(t)}aQ.register(b$,{error:[{kind:"error"},[TJ],function(t,e){var r=e[0];throw new JJ(r.evaluate(t))}],typeof:[TJ,[MJ],function(t,e){return FJ(HJ(e[0].evaluate(t)))}],"to-rgba":[jJ(CJ,4),[RJ],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[RJ,[CJ,CJ,CJ],x$],rgba:[RJ,[CJ,CJ,CJ,CJ],x$],has:{type:PJ,overloads:[[[TJ],function(t,e){return w$(e[0].evaluate(t),t.properties())}],[[TJ,LJ],function(t,e){var r=e[0],n=e[1];return w$(r.evaluate(t),n.evaluate(t))}]]},get:{type:MJ,overloads:[[[TJ],function(t,e){return E$(e[0].evaluate(t),t.properties())}],[[TJ,LJ],function(t,e){var r=e[0],n=e[1];return E$(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[MJ,[TJ],function(t,e){return E$(e[0].evaluate(t),t.featureState||{})}],properties:[LJ,[],function(t){return t.properties()}],"geometry-type":[TJ,[],function(t){return t.geometryType()}],id:[MJ,[],function(t){return t.id()}],zoom:[CJ,[],function(t){return t.globals.zoom}],pitch:[CJ,[],function(t){return t.globals.pitch||0}],"distance-from-center":[CJ,[],function(t){return t.distanceFromCenter()}],"heatmap-density":[CJ,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[CJ,[],function(t){return t.globals.lineProgress||0}],"sky-radial-progress":[CJ,[],function(t){return t.globals.skyRadialProgress||0}],accumulated:[MJ,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[CJ,S$(CJ),function(t,e){for(var r=0,n=0,i=e;n":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i>o}],"filter-id->":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n>i}],"filter-<=":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i<=o}],"filter-id-<=":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n<=i}],"filter->=":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i>=o}],"filter-id->=":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n>=i}],"filter-has":[PJ,[MJ],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[PJ,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[PJ,[jJ(TJ)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[PJ,[jJ(MJ)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[PJ,[TJ,jJ(MJ)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[PJ,[TJ,jJ(MJ)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:PJ,overloads:[[[PJ,PJ],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S$(PJ),function(t,e){for(var r=0,n=e;r-1}(e))return I$([new SJ("","zoom expressions not supported")]);var o=A$(r);if(!o&&!i)return I$([new SJ("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(o instanceof SJ)return I$([o]);if(o instanceof $Q&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return I$([new SJ("",'"interpolate" expressions cannot be used with this property')]);if(!o)return O$(new R$(n?"constant":"source",t.value));var a=o instanceof $Q?o.interpolation:void 0;return O$(new L$(n?"camera":"composite",t.value,o.labels,a))}function A$(t){var e=null;if(t instanceof r$)e=A$(t.result);else if(t instanceof e$)for(var r=0,n=t.args;r":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Camera"},pitch:{group:"Camera"},"distance-from-center":{group:"Camera"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},"sky-radial-progress":{group:"sky"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},fog:{range:{type:"array",default:[.5,10],minimum:-20,maximum:20,length:2,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"high-color":{type:"color","property-type":"data-constant",default:"#245cdf",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"space-color":{type:"color","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-blend":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,.2,7,.1],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"star-intensity":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],5,.35,6,0],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},projection:{name:{type:"enum",values:{albers:{},equalEarth:{},equirectangular:{},lambertConformalConic:{},mercator:{},naturalEarth:{},winkelTripel:{},globe:{}},default:"mercator",required:!0},center:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-180,-90],maximum:[180,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]},parallels:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-90,-90],maximum:[90,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number","property-type":"data-constant",default:1,minimum:0,maximum:1e3,expression:{interpolated:!0,parameters:["zoom"]},transition:!0,requires:["source"]}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{type:"array",value:"number",length:2,default:[0,0],minimum:[0,0],maximum:[1,1],transition:!1,requires:[{source:"geojson",has:{lineMetrics:!0}}],"property-type":"constant"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_sky:{"sky-type":{type:"enum",values:{gradient:{},atmosphere:{}},default:"atmosphere",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{type:"array",value:"number",length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,requires:[{"sky-type":"atmosphere"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{type:"number",requires:[{"sky-type":"atmosphere"}],default:10,minimum:0,maximum:100,transition:!1,"property-type":"data-constant"},"sky-gradient-center":{type:"array",requires:[{"sky-type":"gradient"}],value:"number",default:[0,0],length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{type:"number",requires:[{"sky-type":"gradient"}],default:90,minimum:0,maximum:180,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient":{type:"color",default:["interpolate",["linear"],["sky-radial-progress"],.8,"#87ceeb",1,"white"],transition:!1,requires:[{"sky-type":"gradient"}],expression:{interpolated:!0,parameters:["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};function j$(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e",">=","<","<=","to-boolean"]);function z$(t,e){return te?1:0}function V$(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Y$(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(q$))):"all"===r?["all"].concat(t.slice(1).map(q$)):"none"===r?["all"].concat(t.slice(1).map(q$).map(H$)):"in"===r?W$(t[1],t.slice(2)):"!in"===r?H$(W$(t[1],t.slice(2))):"has"===r?X$(t[1]):"!has"===r?H$(X$(t[1])):"within"!==r||t}function Y$(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function W$(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return aJ(t)!==aJ(e[0])}))?["filter-in-large",t,["literal",e.sort(z$)]]:["filter-in-small",t,["literal",e]]}}function X$(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function H$(t){return["!",t]}var Z$=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function K$(t,e){var r={};for(var n in t)"ref"!==n&&(r[n]=t[n]);return Z$.forEach((function(t){t in e&&(r[t]=e[t])})),r}var J$={thin:100,hairline:100,"ultra-light":100,"extra-light":100,light:200,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,heavy:800,black:800,"extra-bold":800,"ultra-black":900,"extra-black":900,"ultra-bold":900,"heavy-black":900,fat:900,poster:900},Q$=" ",$$=/(italic|oblique)$/i,t0={},e0=function(t,e,r){var n=t0[t];if(!n){Array.isArray(t)||(t=[t]);for(var i=400,o="normal",a=[],s=0,l=t.length;s1?u[u.length-2].toLowerCase():"";if(c==h||c==h.replace("-","")||f+"-"+c==h){i=J$[h],u.pop(),f&&h.startsWith(f)&&u.pop();break}}"number"==typeof c&&(i=c);var p=u.join(Q$).replace("Klokantech Noto Sans","Noto Sans");-1!==p.indexOf(Q$)&&(p='"'+p+'"'),a.push(p)}n=t0[t]=[o,i,a]}return n[0]+Q$+n[1]+Q$+e+"px"+(r?"/"+r:"")+Q$+n[2]},r0="https://api.mapbox.com";function n0(t){var e="mapbox://";return 0!==t.indexOf(e)?"":t.slice(e.length)}function i0(t,e){var r=n0(t);if(!r)return decodeURI(new URL(t,location.href).href);var n="styles/";if(0!==r.indexOf(n))throw new Error("unexpected style url: "+t);var i=r.slice(n.length);return r0+"/styles/v1/"+i+"?&access_token="+e}function o0(t,e,r,n){var i=new URL(t,n),o=n0(t);return o?"https://{a-d}.tiles.mapbox.com/v4/"+o+"/{z}/{x}/{y}.vector.pbf?access_token="+e:e?(i.searchParams.set(r,e),decodeURI(i.href)):decodeURI(i.href)}function a0(t){return t*Math.PI/180}var s0=function(){for(var t=[],e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function l0(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);var r=document.createElement("canvas");return r.width=t,r.height=e,r}var u0={};function c0(t,e,r){if(void 0===r&&(r={}),e in u0)return u0[e];var n=r.transformRequest&&r.transformRequest(e,t)||new Request(e);n.headers.get("Accept")||n.headers.set("Accept","application/json");var i=fetch(n).then((function(t){return delete u0[e],t.ok?t.json():Promise.reject(new Error("Error fetching source "+e))})).catch((function(t){return delete u0[e],Promise.reject(new Error("Error fetching source "+e))}));return u0[e]=i,i}function h0(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return c0("Style",t=i0(t,e.accessToken),e);try{var r=JSON.parse(t);return Promise.resolve(r)}catch(t){return Promise.reject(t)}}var f0={};function p0(t,e,r){void 0===r&&(r={});var n=[e,JSON.stringify(t)].toString(),i=f0[n];if(!i||r.transformRequest){var o=t.url;if(o&&!t.tiles){var a=o0(o,r.accessToken,r.accessTokenParam||"access_token",e||location.href);i=o.startsWith("mapbox://")?Promise.resolve(Object.assign({},t,{url:void 0,tiles:a})):c0("Source",a,r).then((function(t){for(var e=0,n=t.tiles.length;e=.05){for(var r="",n=t.split("\n"),i=g0.slice(0,Math.round(e/.1)),o=0,a=n.length;o0&&(r+="\n"),r+=n[o].split("").join(i);return r}return t}function m0(){return d0||(d0=l0(1,1).getContext("2d")),d0}function _0(t,e){return m0().measureText(t).width+(t.length-1)*e}var v0={};function b0(t,e,r,n){if(-1!==t.indexOf("\n")){for(var i=t.split("\n"),o=[],a=0,s=i.length;a1){var h=m0();h.font=e;for(var f=h.measureText("M").width*r,p="",d=[],g=0,y=c.length;g1;++v){var x=d[v];if(_0(x,n)<.35*f){var w=v>0?_0(d[v-1],n):1/0,E=v.7*f&&_0(C,n)<.6*f){var T=I.split(" "),P=T.pop();_0(P,n)<.2*f&&(d[S]=T.join(" "),d[S+1]=P+" "+C),O-=1}}u=d.join("\n")}else u=t;u=y0(u,n),v0[l]=u}return u}var x0,w0=/font-family: ?([^;]*);/,E0=/("|')/g;function S0(t){if(!x0){x0={};for(var e=document.styleSheets,r=0,n=e.length;r0&&"string"==typeof l[0]&&l[0]in b$);if(!f&&C$(c)&&(c=yJ(c,h),f=!0),f){var p=function(t,e){var r=M$(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}(c,h);u[r]=p.evaluate.bind(p)}else"color"==h.type&&(c=dJ.parse(c)),u[r]=function(){return c}}return M0.zoom=n,u[r](M0,i,a)}function N0(t,e,r,n){return A0(t,"layout","icon-allow-overlap",e,r,n)?A0(t,"layout","icon-ignore-placement",e,r,n)?"none":"obstacle":"declutter"}function k0(t,e,r,n,i){return i||console.warn("No filterCache provided to evaluateFilter()"),t in i||(i[t]=F$(e).filter),M0.zoom=n,i[t](M0,r)}var j0=!1;function F0(t,e){if(t){if(!j0&&(0===t.a||0===e))return;var r=t.a;return e=void 0===e?1:e,0===r?"transparent":"rgba("+Math.round(255*t.r/r)+","+Math.round(255*t.g/r)+","+Math.round(255*t.b/r)+","+r*e+")"}return t}var D0=/\{[^{}}]*\}/g;function G0(t,e){return t.replace(D0,(function(t){return e[t.slice(1,-1)]||""}))}var U0=!1;function B0(t,e,r,n,i,o,a){if(void 0===n&&(n=s0),void 0===i&&(i=void 0),void 0===o&&(o=void 0),void 0===a&&(a=void 0),"string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");var s,l;if(o)if("undefined"!=typeof Image){var u=new Image;u.crossOrigin="anonymous",u.onload=function(){s=u,l=[u.width,u.height],t.changed(),u.onload=null},u.src=o}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){var c=self;c.postMessage({action:"loadImage",src:o}),c.addEventListener("message",(function(t){"imageLoaded"===t.data.action&&t.data.src===o&&(s=t.data.image,l=[s.width,s.height])}))}for(var h,f=function(t){t=t.slice();for(var e=Object.create(null),r=0;r=S.maxzoom)){var L=S.filter;if(!L||k0(O,L,d,c,_)){h=S;var M=void 0,A=void 0,N=void 0,k=void 0,j=void 0,F=void 0,D=E.index;if(3==f&&("fill"==S.type||"fill-extrusion"==S.type))if(A=A0(S,"paint",S.type+"-opacity",c,d,m,v),S.type+"-pattern"in R){var G=A0(S,"paint",S.type+"-pattern",c,d,m,v);if(G){var U="string"==typeof G?G0(G,o):G.toString();if(s&&i&&i[U]){++b,(F=P[b])&&F.getFill()&&!F.getStroke()&&!F.getText()||(F=new om({fill:new Jy}),P[b]=F),N=F.getFill(),F.setZIndex(D);var B=U+"."+A,z=y[B];if(!z){var V=i[U],q=l0(V.width,V.height),Y=q.getContext("2d");Y.globalAlpha=A,Y.drawImage(s,V.x,V.y,V.width,V.height,0,0,V.width,V.height),z=Y.createPattern(q,"repeat"),y[B]=z}N.setColor(z)}}}else M=F0(A0(S,"paint",S.type+"-color",c,d,m,v),A),S.type+"-outline-color"in R&&(j=F0(A0(S,"paint",S.type+"-outline-color",c,d,m,v),A)),j||(j=M),(M||j)&&(++b,(!(F=P[b])||M&&!F.getFill()||!M&&F.getFill()||j&&!F.getStroke()||!j&&F.getStroke()||F.getText())&&(F=new om({fill:M?new Jy:void 0,stroke:j?new Qy:void 0}),P[b]=F),M&&(N=F.getFill()).setColor(M),j&&((k=F.getStroke()).setColor(j),k.setWidth(.5)),F.setZIndex(D));if(1!=f&&"line"==S.type){M=!("line-pattern"in R)&&"line-color"in R?F0(A0(S,"paint","line-color",c,d,m,v),A0(S,"paint","line-opacity",c,d,m,v)):void 0;var W=A0(S,"paint","line-width",c,d,m,v);M&&W>0&&(++b,(F=P[b])&&F.getStroke()&&!F.getFill()&&!F.getText()||(F=new om({stroke:new Qy}),P[b]=F),(k=F.getStroke()).setLineCap(A0(S,"layout","line-cap",c,d,m,v)),k.setLineJoin(A0(S,"layout","line-join",c,d,m,v)),k.setMiterLimit(A0(S,"layout","line-miter-limit",c,d,m,v)),k.setColor(M),k.setWidth(W),k.setLineDash(R["line-dasharray"]?A0(S,"paint","line-dasharray",c,d,m,v).map((function(t){return t*W})):null),F.setZIndex(D))}var X=!1,H=null,Z=0,K=void 0,J=void 0,Q=void 0;if((1==f||2==f)&&"icon-image"in I){var $=A0(S,"layout","icon-image",c,d,m,v);if($){K="string"==typeof $?G0($,o):$.toString();var tt=void 0;if(s&&i&&i[K]){var et=A0(S,"layout","icon-rotation-alignment",c,d,m,v);if(2==f){var rt=e.getGeometry();if(rt.getFlatMidpoint||rt.getFlatMidpoints){var nt=rt.getExtent();if(Math.sqrt(Math.max(Math.pow((nt[2]-nt[0])/r,2),Math.pow((nt[3]-nt[1])/r,2)))>150){var it="MultiLineString"===rt.getType()?rt.getFlatMidpoints():rt.getFlatMidpoint();if(T0||(T0=new Mh("Point",C0=[NaN,NaN],[],{},null)),tt=T0,C0[0]=it[0],C0[1]=it[1],"line"===A0(S,"layout","symbol-placement",c,d,m,v)&&"map"===et)for(var ot=rt.getStride(),at=rt.getFlatCoordinates(),st=0,lt=at.length-ot;st=pt&&it[0]<=gt&&it[1]>=dt&&it[1]<=yt){Z=Math.atan2(ct-ft,ht-ut);break}}}}}if(2!==f||tt){var mt=A0(S,"layout","icon-size",c,d,m,v),_t=void 0!==R["icon-color"]?A0(S,"paint","icon-color",c,d,m,v):null;if(!_t||0!==_t.a){var vt=K+"."+mt;if(null!==_t&&(vt+="."+_t),!(J=g[vt])){var bt=i[K],xt=N0(S,c,d,m);J=new oy({color:_t?[255*_t.r,255*_t.g,255*_t.b,_t.a]:void 0,img:s,imgSize:l,size:[bt.width,bt.height],offset:[bt.x,bt.y],rotateWithView:"map"===et,scale:mt/bt.pixelRatio,displacement:"icon-offset"in I?A0(S,"layout","icon-offset",c,d,m,v).map((function(t){return-t*bt.pixelRatio})):void 0,declutterMode:xt}),g[vt]=J}}J&&(++b,(F=P[b])&&F.getImage()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F),F.setGeometry(tt),J.setRotation(Z+a0(A0(S,"layout","icon-rotate",c,d,m,v))),J.setOpacity(A0(S,"paint","icon-opacity",c,d,m,v)),J.setAnchor(R0[A0(S,"layout","icon-anchor",c,d,m,v)]),F.setImage(J),H=F.getText(),F.setText(void 0),F.setZIndex(D),X=!0,Q=!1)}else Q=!0}}}if(1==f&&"circle"===S.type){++b,(F=P[b])&&F.getImage()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F);var wt="circle-radius"in R?A0(S,"paint","circle-radius",c,d,m,v):5,Et=F0(A0(S,"paint","circle-stroke-color",c,d,m,v),A0(S,"paint","circle-stroke-opacity",c,d,m,v)),St=F0(A0(S,"paint","circle-color",c,d,m,v),A0(S,"paint","circle-opacity",c,d,m,v)),Ot=A0(S,"paint","circle-stroke-width",c,d,m,v),It=wt+"."+Et+"."+St+"."+Ot;(J=g[It])||(J=new Ky({radius:wt,stroke:Et&&Ot>0?new Qy({width:Ot,color:Et}):void 0,fill:St?new Jy({color:St}):void 0,declutterMode:"none"}),g[It]=J),F.setImage(J),H=F.getText(),F.setText(void 0),F.setGeometry(void 0),F.setZIndex(D),X=!0}var Ct=void 0,Tt=void 0,Pt=void 0,Rt=void 0,Lt=void 0,Mt=void 0;if("text-field"in I){Rt=Math.round(A0(S,"layout","text-size",c,d,m,v));var At=A0(S,"layout","text-font",c,d,m,v);Pt=A0(S,"layout","text-line-height",c,d,m,v),(Tt=e0(a?a(At):At,Rt,Pt)).includes("sans-serif")||(Tt+=",sans-serif"),Lt=A0(S,"layout","text-letter-spacing",c,d,m,v),Mt=A0(S,"layout","text-max-width",c,d,m,v);var Nt=A0(S,"layout","text-field",c,d,m,v);Ct="object"===aJ(Nt)&&Nt.sections?1===Nt.sections.length?Nt.toString():Nt.sections.reduce((function(t,e,r){var n=e.fontStack?e.fontStack.split(","):At,i=e0(a?a(n):n,Rt*(e.scale||1),Pt),o=e.text;if("\n"===o)return t.push("\n",""),t;if(2!=f){for(var s=0,l=(o=b0(o,i,Mt,Lt).split("\n")).length;s0&&t.push("\n",""),t.push(o[s],i);return t}t.push(y0(o,Lt),i)}),[]):G0(Nt,o).trim(),A=A0(S,"paint","text-opacity",c,d,m,v)}if(Ct&&A&&!Q){X||(++b,(F=P[b])&&F.getText()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F),F.setImage(void 0),F.setGeometry(void 0)),F.getText()||F.setText(H||new lm({padding:[2,2,2,2]})),H=F.getText();var kt=I["text-transform"];"uppercase"==kt?Ct=Array.isArray(Ct)?Ct.map((function(t,e){return e%2?t:t.toUpperCase()})):Ct.toUpperCase():"lowercase"==kt&&(Ct=Array.isArray(Ct)?Ct.map((function(t,e){return e%2?t:t.toLowerCase()})):Ct.toLowerCase());var jt=Array.isArray(Ct)?Ct:2==f?y0(Ct,Lt):b0(Ct,Tt,Mt,Lt);H.setText(jt),H.setFont(Tt),H.setRotation(a0(A0(S,"layout","text-rotate",c,d,m,v)));var Ft=A0(S,"layout","text-anchor",c,d,m,v),Dt=X||1==f?"point":A0(S,"layout","symbol-placement",c,d,m,v);H.setPlacement(Dt),H.setOverflow("point"===Dt);var Gt=A0(S,"paint","text-halo-width",c,d,m,v),Ut=A0(S,"layout","text-offset",c,d,m,v),Bt=A0(S,"paint","text-translate",c,d,m,v),zt=0,Vt=0;if("point"==Dt){var qt="center";-1!==Ft.indexOf("left")?(qt="left",Vt=Gt):-1!==Ft.indexOf("right")&&(qt="right",Vt=-Gt),H.setTextAlign(qt);var Yt=A0(S,"layout","text-rotation-alignment",c,d,m,v);H.setRotateWithView("map"==Yt)}else H.setMaxAngle(a0(A0(S,"layout","text-max-angle",c,d,m,v))*Ct.length/jt.length),H.setTextAlign(),H.setRotateWithView(!1);var Wt="middle";0==Ft.indexOf("bottom")?(Wt="bottom",zt=-Gt-.5*(Pt-1)*Rt):0==Ft.indexOf("top")&&(Wt="top",zt=Gt+.5*(Pt-1)*Rt),H.setTextBaseline(Wt),H.setOffsetX(Ut[0]*Rt+Vt+Bt[0]),H.setOffsetY(Ut[1]*Rt+zt+Bt[1]),T.setColor(F0(A0(S,"paint","text-color",c,d,m,v),A)),H.setFill(T);var Xt=F0(A0(S,"paint","text-halo-color",c,d,m,v),A);if(Xt){C.setColor(Xt),Gt*=2;var Ht=.5*Rt;C.setWidth(Gt<=Ht?Gt:Ht),H.setStroke(C)}else H.setStroke(void 0);var Zt=A0(S,"layout","text-padding",c,d,m,v),Kt=H.getPadding();Zt!==Kt[0]&&(Kt[0]=Zt,Kt[1]=Zt,Kt[2]=Zt,Kt[3]=Zt),F.setZIndex(D)}}}}return b>-1?(P.length=b+1,U0&&("function"==typeof e.set?e.set("mapbox-layer",h):e.getProperties()["mapbox-layer"]=h),P):void 0}};return t.setStyle(R),t.set("mapbox-source",h),t.set("mapbox-layers",d),t.set("mapbox-featurestate",{}),R}function z0(t,e){e.accessToken||(e=Object.assign({},e),new URL(t).searchParams.forEach((function(t,r){e.accessToken=t,e.accessTokenParam=r})));return e}function V0(t,e,r,n,i){var o,a,s;return void 0===r&&(r=""),void 0===n&&(n={}),void 0===i&&(i=void 0),"string"==typeof n?(o=n,s={}):(o=n.styleUrl,s=n),i||(i=s.resolutions),o||"string"!=typeof e||e.trim().startsWith("{")||(o=e),o&&(o=o.startsWith("data:")?location.href:i0(o,s.accessToken),s=z0(o,s)),new Promise((function(n,l){h0(e,s).then((function(e){if(8!=e.version)return l(new Error("glStyle version 8 required."));if(!(t instanceof Gv||t instanceof _j))return l(new Error("Can only apply to VectorLayer or VectorTileLayer"));var c,h,f,p=t instanceof _j?"vector":"geojson";if(r?a=Array.isArray(r)?e.layers.find((function(t){return t.id===r[0]})).source:r:(a=Object.keys(e.sources).find((function(t){return e.sources[t].type===p})),r=a),!a)return l(new Error("No "+p+" source found in the glStyle."));function d(){if(t instanceof _j)return H0(e.sources[a],o,s).then((function(e){var r=t.getSource();if(r?e!==r&&(r.setTileUrlFunction(e.getTileUrlFunction()),r.format_||(r.format_=e.format_),r.getAttributions()||r.setAttributions(e.getAttributions()),r.getTileLoadFunction()===sj&&r.setTileLoadFunction(e.getTileLoadFunction()),Object(u.j)(r.getProjection(),e.getProjection())&&(r.tileGrid=e.getTileGrid())):t.setSource(e),!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())){var n=t.getSource().getTileGrid();t.setMaxResolution(n.getResolution(n.getMinZoom()))}}));var r=e.sources[a],n=t.getSource();n&&n.get("mapbox-source")===r||(n=K0(r,o,s));var i=t.getSource();return i?n!==i&&(i.getAttributions()||i.setAttributions(n.getAttributions()),i.format_||(i.format_=n.getFormat()),i.url_=n.getUrl()):t.setSource(n),Promise.resolve()}function g(){f||e.sprite&&!c?f?(t.setStyle(f),d().then(n).catch(l)):l(new Error("Something went wrong trying to apply style.")):(f=B0(t,e,r,i,c,h,I0),t.getStyle()?d().then(n).catch(l):l(new Error("Nothing to show for source ["+a+"]")))}if(e.sprite){var y=new URL(function(t,e,r){var n=n0(t);if(!n)return decodeURI(new URL(t,r).href);var i="sprites/";if(0!==n.indexOf(i))throw new Error("unexpected sprites url: "+t);var o=n.slice(i.length);return r0+"/styles/v1/"+o+"/sprite?access_token="+e}(e.sprite,s.accessToken,o||location.href)),m=.5==(window.devicePixelRatio>=1.5?.5:1)?"@2x":"",_=y.origin+y.pathname+m+".json"+y.search;new Promise((function(t,e){c0("Sprite",_,s).then(t).catch((function(r){c0("Sprite",_=y.origin+y.pathname+".json"+y.search,s).then(t).catch(e)}))})).then((function(t){if(void 0===t&&l(new Error("No sprites found.")),c=t,h=y.origin+y.pathname+m+".png"+y.search,s.transformRequest){var e=s.transformRequest(h,"SpriteImage");e instanceof Request&&(h=encodeURI(e.url))}g()})).catch((function(t){l(new Error("Sprites cannot be loaded: "+_+": "+t.message))}))}else g()})).catch(l)}))}var q0={};function Y0(t,e){var r={id:e.id,type:e.type},n={};function i(i){var o=e.layout||{},a=e.paint||{};r.paint=a;var s,l,u="function"==typeof t.getSource?t.getSource().getTileGrid().getZForResolution(i):t.getView().getZoom(),c="function"==typeof t.getTargetElement?t.getTargetElement():void 0;if(void 0!==a["background-color"]&&(s=A0(r,"paint","background-color",u,q0,n),c&&(c.style.background=dJ.parse(s).toString())),void 0!==a["background-opacity"]&&(l=A0(r,"paint","background-opacity",u,q0,n),c&&(c.style.opacity=l)),"none"!=o.visibility)return F0(s,l);c&&(c.style.backgroundColor="",c.style.opacity="")}if("function"==typeof t.getTargetElement)t.getTargetElement()&&i(),t.on(["change:resolution","change:target"],i);else{if("function"!=typeof t.setBackground)throw new Error("Unable to apply background.");t.setBackground(i)}}function W0(t,e){e.layers.some((function(e){if("background"===e.type)return Y0(t,e),!0}))}function X0(t){var e=t.bounds;if(e){var r=Object(u.k)([e[0],e[1]]),n=Object(u.k)([e[2],e[3]]);return[r[0],r[1],n[0],n[1]]}}function H0(t,e,r){return new Promise((function(n,i){p0(t,e,r).then((function(t){var e=new oJ({tileJSON:t}),r=e.getTileJSON(),i=e.getTileGrid(),o=X0(r),a=r.minzoom||0,s=r.maxzoom||22,l={attributions:e.getAttributions(),format:new Ij,tileGrid:new nh.a({origin:i.getOrigin(0),extent:o||i.getExtent(),minZoom:a,resolutions:s0.slice(0,s+1),tileSize:512})};Array.isArray(r.tiles)?l.urls=r.tiles:l.url=r.tiles,t.olSourceOptions&&Object.assign(l,t.olSourceOptions),n(new aj(l))})).catch(i)}))}var Z0=new WM;function K0(t,e,r){var n=t.data,i={};if("string"==typeof n){var o=o0(n,r.accessToken,r.accessTokenParam||"access_token",e||location.href);if(r.transformRequest){var a=r.transformRequest(o,"GeoJSON");a instanceof Request&&(o=encodeURI(a.url))}i.url=o}else i.features=Z0.readFeatures(n,{featureProjection:Object(u.s)()||"EPSG:3857"});var s=new qg(Object.assign({attributions:t.attribution,format:Z0},i));return s.set("mapbox-source",t),s}var J0=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Q0=function(t){function e(e){var r=t.call(this,fo.a.ERROR)||this;return r.error=e,r}return J0(e,t),e}(so.a),$0=function(t){function e(e){var r=this,n=!("declutter"in e)||e.declutter,i=new aj({state:"loading",format:new Ij});r=t.call(this,{source:i,background:e.background,declutter:n,className:e.className,opacity:e.opacity,visible:e.visible,zIndex:e.zIndex,minResolution:e.minResolution,maxResolution:e.maxResolution,minZoom:e.minZoom,maxZoom:e.maxZoom,renderOrder:e.renderOrder,renderBuffer:e.renderBuffer,renderMode:e.renderMode,map:e.map,updateWhileAnimating:e.updateWhileAnimating,updateWhileInteracting:e.updateWhileInteracting,preload:e.preload,useInterimTilesOnError:e.useInterimTilesOnError,properties:e.properties})||this,e.accessToken&&(r.accessToken=e.accessToken);var o=e.styleUrl;return V0(r,o,e.layers||e.source,{accessToken:r.accessToken}).then((function(){i.setState("ready")})).catch((function(t){r.dispatchEvent(new Q0(t)),r.getSource().setState("error")})),void 0===r.getBackground()&&function(t,e,r){void 0===r&&(r={}),"object"===aJ(e)?(W0(t,e),Promise.resolve()):h0(e,r).then((function(e){W0(t,e)}))}(r,e.styleUrl,{accessToken:r.accessToken}),r}return J0(e,t),e}(_j),t1=r(72),e1=r(74),r1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),n1=function(t){function e(e){var r=t.call(this,e)||this;return r.vectorRenderer_=new Fv(e),r.layerImageRatio_=e.getImageRatio(),r.coordinateToVectorPixelTransform_=Object(li.d)(),r.renderedPixelToCoordinateTransform_=null,r}return r1(e,t),e.prototype.disposeInternal=function(){this.vectorRenderer_.dispose(),t.prototype.disposeInternal.call(this)},e.prototype.getFeatures=function(t){if(!this.vectorRenderer_)return new Promise((function(t){return t([])}));var e=Object(li.a)(this.coordinateToVectorPixelTransform_,Object(li.a)(this.renderedPixelToCoordinateTransform_,t.slice()));return this.vectorRenderer_.getFeatures(e)},e.prototype.handleFontsChanged=function(){this.vectorRenderer_.handleFontsChanged()},e.prototype.prepareFrame=function(t){var e=t.pixelRatio,r=t.viewState,n=r.resolution,i=t.viewHints,o=this.vectorRenderer_,a=t.extent;1!==this.layerImageRatio_&&(a=a.slice(0),Object(mt.L)(a,this.layerImageRatio_));var s=Object(mt.G)(a)/n,l=Object(mt.A)(a)/n;if(!i[Bo.a.ANIMATING]&&!i[Bo.a.INTERACTING]&&!Object(mt.J)(a)){o.useContainer(null,null);var u=o.context,c=t.layerStatesArray[t.layerIndex];u.globalAlpha=c.opacity;var h=Object(Mi.a)({},c,{opacity:1}),f=Object(Mi.a)({},t,{declutterTree:new Tg.a(9),extent:a,size:[s,l],viewState:Object(Mi.a)({},t.viewState,{rotation:0}),layerStatesArray:[h],layerIndex:0}),p=!0,d=new e1.a(a,n,e,u.canvas,(function(t){o.prepareFrame(f)&&o.replayGroupChanged&&(o.clipping=!1,o.renderFrame(f,null)&&(o.renderDeclutter(f),p=!1),t())}));d.addEventListener(fo.a.CHANGE,function(){if(d.getState()===$g.a.LOADED){this.image_=p?null:d;var t=d.getResolution(),n=d.getPixelRatio(),i=t*e/n;this.renderedResolution=i,this.coordinateToVectorPixelTransform_=Object(li.b)(this.coordinateToVectorPixelTransform_,s/2,l/2,1/i,-1/i,0,-r.center[0],-r.center[1])}}.bind(this)),d.load()}return this.image_&&(this.renderedPixelToCoordinateTransform_=t.pixelToCoordinateTransform.slice()),!!this.image_},e.prototype.preRender=function(){},e.prototype.postRender=function(){},e.prototype.renderDeclutter=function(){},e.prototype.forEachFeatureAtCoordinate=function(e,r,n,i,o){return this.vectorRenderer_?this.vectorRenderer_.forEachFeatureAtCoordinate(e,r,n,i,o):t.prototype.forEachFeatureAtCoordinate.call(this,e,r,n,i,o)},e}(t1.a),i1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),o1=function(t){function e(e){var r=this,n=e||{},i=Object(Mi.a)({},n);return delete i.imageRatio,(r=t.call(this,i)||this).imageRatio_=void 0!==n.imageRatio?n.imageRatio:1,r}return i1(e,t),e.prototype.getImageRatio=function(){return this.imageRatio_},e.prototype.createRenderer=function(){return new n1(this)},e}(K_),a1=r(63),s1=r(48),l1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),u1=function(t){function e(e){var r=this,n=Wf.a.IDLE;return(r=t.call(this,e.tileCoord,n,{transition:e.transition,interpolate:e.interpolate})||this).loader_=e.loader,r.data_=null,r.error_=null,r.size_=e.size||[256,256],r}return l1(e,t),e.prototype.getSize=function(){return this.size_},e.prototype.getData=function(){return this.data_},e.prototype.getError=function(){return this.error_},e.prototype.load=function(){if(this.state===Wf.a.IDLE||this.state===Wf.a.ERROR){this.state=Wf.a.LOADING,this.changed();var t=this;this.loader_().then((function(e){t.data_=e,t.state=Wf.a.LOADED,t.changed()})).catch((function(e){t.error_=e,t.state=Wf.a.ERROR,t.changed()}))}},e}($k.a),c1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function h1(t,e,r){var n=r?t.LINEAR:t.NEAREST;t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n)}function f1(t,e,r,n,i,o){var a,s,l=t.getGL();r instanceof Float32Array?(a=l.FLOAT,t.getExtension("OES_texture_float"),s=null!==t.getExtension("OES_texture_float_linear")):(a=l.UNSIGNED_BYTE,s=!0);h1(l,e,o&&s);var u,c=r.byteLength/n[1],h=1;switch(c%8==0?h=8:c%4==0?h=4:c%2==0&&(h=2),i){case 1:u=l.LUMINANCE;break;case 2:u=l.LUMINANCE_ALPHA;break;case 3:u=l.RGB;break;case 4:u=l.RGBA;break;default:throw new Error("Unsupported number of bands: ".concat(i))}var f=l.getParameter(l.UNPACK_ALIGNMENT);l.pixelStorei(l.UNPACK_ALIGNMENT,h),l.texImage2D(l.TEXTURE_2D,0,u,n[0],n[1],0,u,a,r),l.pixelStorei(l.UNPACK_ALIGNMENT,f)}var p1=null;var d1=function(t){function e(e){var r=t.call(this)||this;r.tile,r.textures=[],r.handleTileChange_=r.handleTileChange_.bind(r),r.renderSize_=Object(ns.d)(e.grid.getTileSize(e.tile.tileCoord[0])),r.gutter_=e.gutter||0,r.bandCount=NaN,r.helper_=e.helper;var n=new PU(xU,EU);return n.fromArray([0,1,1,1,1,0,0,0]),r.helper_.flushBufferData(n),r.coords=n,r.setTile(e.tile),r}return c1(e,t),e.prototype.setTile=function(t){if(t!==this.tile)if(this.tile&&this.tile.removeEventListener(fo.a.CHANGE,this.handleTileChange_),this.tile=t,this.textures.length=0,this.loaded=t.getState()===Wf.a.LOADED,this.loaded)this.uploadTile_();else{if(t instanceof Vf.a){var e=t.getImage();e instanceof Image&&!e.crossOrigin&&(e.crossOrigin="anonymous")}t.addEventListener(fo.a.CHANGE,this.handleTileChange_)}},e.prototype.uploadTile_=function(){var t=this.helper_,e=t.getGL(),r=this.tile;if(r instanceof Vf.a||r instanceof qf.a){var n=e.createTexture();return this.textures.push(n),this.bandCount=4,void function(t,e,r,n){h1(t,e,n),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)}(e,n,r.getImage(),r.interpolate)}var i=r.getSize(),o=[i[0]+2*this.gutter_,i[1]+2*this.gutter_],a=r.getData(),s=a instanceof Float32Array,l=o[0]*o[1],u=s?Float32Array:Uint8Array,c=u.BYTES_PER_ELEMENT,h=a.byteLength/o[1];this.bandCount=Math.floor(h/c/o[0]);var f=Math.ceil(this.bandCount/4);if(1===f){n=e.createTexture();return this.textures.push(n),void f1(t,n,a,o,this.bandCount,r.interpolate)}for(var p=new Array(f),d=0;d=f;--p)for(var d=s.getTileRangeForExtentAndZ(e,p,this.tempTileRange_),g=s.getResolution(p),y=d.minX;y<=d.maxX;++y)for(var m=d.minY;m<=d.maxY;++m){var _=Object(Jf.a)(p,y,m,this.tempTileCoord_),v=N1(a,_),b=void 0,x=void 0;if(h.containsKey(v)&&(x=(b=h.get(v)).tile),!b||b.tile.key!==a.getKey())if(x=a.getTile(p,y,m,t.pixelRatio,i.projection),b)if(this.isDrawableTile_(x))b.setTile(x);else{var w=x.getInterimTile();b.setTile(w)}else b=new d1({tile:x,grid:s,helper:this.helper,gutter:l}),h.set(v,b);M1(n,b,p);var E=x.getKey();c[E]=!0,x.getState()===Wf.a.IDLE&&(t.tileQueue.isKeyQueued(E)||t.tileQueue.enqueue([x,u,s.getTileCoordCenter(_),g]))}},e.prototype.renderFrame=function(t){this.frameState_=t,this.renderComplete=!0;var e=this.helper.getGL();this.preRender(e,t);var r=t.viewState,n=this.getLayer().getRenderSource(),i=n.getTileGridForProjection(r.projection),o=n.getGutterForProjection(r.projection),a=A1(t,t.extent),s=i.getZForResolution(r.resolution,n.zDirection),l={};if(t.nextExtent){var u=i.getZForResolution(r.nextResolution,n.zDirection),c=A1(t,t.nextExtent);this.enqueueTiles(t,c,u,l)}this.enqueueTiles(t,a,s,l);for(var f={},p=Object(si.c)(this),d=t.time,g=!1,y=l[s],m=0,_=y.length;m<_;++m){var v=(G=($=y[m]).tile).tileCoord;if($.loaded){if(1===(U=G.getAlpha(p,d))){G.endTransition(p);continue}g=!0,f[B=Object(Jf.d)(v)]=U}if(this.renderComplete=!1,!this.findAltTiles_(i,v,s+1,l))for(var b=i.getMinZoom(),x=s-1;x>=b;--x){if(this.findAltTiles_(i,v,x,l))break}}this.helper.useProgram(this.program_),this.helper.prepareDraw(t,!g);for(var w=Object.keys(l).map(Number).sort(h.i),E=r.center[0],S=r.center[1],O=0,I=w.length;O0&&(K=i.getTileCoordExtent(v),Object(mt.B)(K,a,K)),this.helper.setUniformFloatVec4(O1,K),this.helper.setUniformFloatValue(I1,r.resolution),this.helper.setUniformFloatValue(C1,r.zoom),this.helper.drawElements(0,this.indices_.getSize())}}}this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent);for(var J=this.helper.getCanvas(),Q=this.tileTextureCache_;Q.canExpireCache();){var $;($=Q.pop()).dispose()}return t.postRenderFunctions.push((function(t,e){n.expireCache(e.viewState.projection,R1)})),this.postRender(e,t),J},e.prototype.getData=function(t){if(!this.helper.getGL())return null;var e=this.frameState_;if(!e)return null;var r=this.getLayer(),n=Object(li.a)(e.pixelToCoordinateTransform,t.slice()),i=e.viewState,o=r.getExtent();if(o&&!Object(mt.g)(Object(u.m)(o,i.projection),n))return null;var a,s,l,c=r.getSources(Object(mt.c)([n]),i.resolution);for(a=c.length-1;a>=0;--a)if("ready"===(s=c[a]).getState()){if(l=s.getTileGridForProjection(i.projection),s.getWrapX())break;var h=l.getExtent();if(!h||Object(mt.g)(h,n))break}if(a<0)return null;for(var f=this.tileTextureCache_,p=l.getZForResolution(i.resolution);p>=l.getMinZoom();--p){var d=l.getTileCoordForCoordAndZ(n,p),g=N1(s,d);if(f.containsKey(g)){var y=f.get(g);if(y.loaded){var m=l.getOrigin(p),_=Object(ns.d)(l.getTileSize(p)),v=l.getResolution(p),b=(n[0]-m[0])/v-d[1]*_[0],x=(m[1]-n[1])/v-d[2]*_[1];return y.getPixelData(b,x)}}}return null},e.prototype.findAltTiles_=function(t,e,r,n){var i=t.getTileRangeForTileCoordAndZ(e,r,this.tempTileRange_);if(!i)return!1;for(var o=!0,a=this.tileTextureCache_,s=this.getLayer().getRenderSource(),l=i.minX;l<=i.maxX;++l)for(var u=i.minY;u<=i.maxY;++u){var c=N1(s,[r,l,u]),h=!1;if(a.containsKey(c)){var f=a.get(c);f.loaded&&(M1(n,f,r),h=!0)}h||(o=!1)}return o},e.prototype.removeHelper=function(){if(this.helper){var e=this.tileTextureCache_;e.forEach((function(t){return t.dispose()})),e.clear()}t.prototype.removeHelper.call(this)},e.prototype.disposeInternal=function(){var e=this.helper;e&&(e.getGL().deleteProgram(this.program_),delete this.program_,e.deleteBuffer(this.indices_));t.prototype.disposeInternal.call(this),delete this.indices_,delete this.tileTextureCache_,delete this.frameState_},e}($U),j1=function(){function t(t,e){this.name=t,this.data=e,this.texture_=null}return t.prototype.getTexture=function(t){if(!this.texture_){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.data.length/4,1,0,t.RGBA,t.UNSIGNED_BYTE,this.data),this.texture_=e}return this.texture_},t}(),F1=1,D1=2,G1=4,U1=8,B1=16,z1=31,V1=0,q1={};function Y1(t){if("number"==typeof t)return F1;if("boolean"==typeof t)return U1;if("string"==typeof t)return Object(ui.d)(t)?G1|D1:D1;if(!Array.isArray(t))throw new Error("Unhandled value type: ".concat(JSON.stringify(t)));var e=t;if(e.every((function(t){return"number"==typeof t})))return 3===e.length||4===e.length?G1|B1:B1;if("string"!=typeof e[0])throw new Error("Expected an expression operator but received: ".concat(JSON.stringify(e)));var r=q1[e[0]];if(void 0===r)throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(e)));return r.getReturnType(e.slice(1))}function W1(t){var e=t.toString();return-1===e.indexOf(".")?e+".0":e}function X1(t){if(t.length<2||t.length>4)throw new Error("`formatArray` can only output `vec2`, `vec3` or `vec4` arrays.");return"vec".concat(t.length,"(").concat(t.map(W1).join(", "),")")}function H1(t,e){return void 0===t.stringLiteralsMap[e]&&(t.stringLiteralsMap[e]=Object.keys(t.stringLiteralsMap).length),t.stringLiteralsMap[e]}function Z1(t,e,r){if(Array.isArray(e)&&"string"==typeof e[0]){var n=q1[e[0]];if(void 0===n)throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(e)));return n.toGlsl(t,e.slice(1),r)}var i,o,a=Y1(e);if((a&F1)>0)return W1(e);if((a&U1)>0)return e.toString();if((a&D1)>0&&(void 0===r||r==D1))return function(t,e){return W1(H1(t,e))}(t,e.toString());if((a&G1)>0&&(void 0===r||r==G1))return i=e,(o=Object(ui.a)(i).slice()).length<4&&o.push(1),X1(o.map((function(t,e){return e<3?t/255:t})));if((a&B1)>0)return X1(e);throw new Error("Unexpected expression ".concat(e," (expected type ").concat(r,")"))}function K1(t){if(!(Y1(t)&F1))throw new Error("A numeric value was expected, got ".concat(JSON.stringify(t)," instead"))}function J1(t){for(var e=0;ee)throw new Error("At most ".concat(e," arguments were expected, got ").concat(t.length," instead"))}function n2(t){if(t.length%2!=0)throw new Error("An even amount of arguments was expected, got ".concat(t," instead"))}function i2(t,e){if(r=e,Object(qo.f)(r)%1!=0)throw new Error("Could not infer only one type from the following expression: ".concat(JSON.stringify(t)));var r}function o2(t){return"u_var_"+t}q1.get={getReturnType:function(t){return z1},toGlsl:function(t,e){t2(e,1),Q1(e[0]);var r=e[0].toString();return-1===t.attributes.indexOf(r)&&t.attributes.push(r),(t.inFragmentShader?"v_":"a_")+r}},q1.var={getReturnType:function(t){return z1},toGlsl:function(t,e){t2(e,1),Q1(e[0]);var r=e[0].toString();return-1===t.variables.indexOf(r)&&t.variables.push(r),o2(r)}};var a2="u_paletteTextures";q1.palette={getReturnType:function(t){return G1},toGlsl:function(t,e){t2(e,2),K1(e[0]);var r=Z1(t,e[0]),n=e[1];if(!Array.isArray(n))throw new Error("The second argument of palette must be an array");for(var i=n.length,o=new Uint8Array(4*i),a=0;a"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," > ").concat(Z1(t,e[1]),")")}},q1[">="]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," >= ").concat(Z1(t,e[1]),")")}},q1["<"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," < ").concat(Z1(t,e[1]),")")}},q1["<="]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," <= ").concat(Z1(t,e[1]),")")}},q1["=="]=l2("=="),q1["!="]=l2("!="),q1["!"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,1),$1(e[0]),"(!".concat(Z1(t,e[0]),")")}},q1.all=u2("&&"),q1.any=u2("||"),q1.between={getReturnType:function(t){return U1},toGlsl:function(t,e){t2(e,3),J1(e);var r=Z1(t,e[1]),n=Z1(t,e[2]),i=Z1(t,e[0]);return"(".concat(i," >= ").concat(r," && ").concat(i," <= ").concat(n,")")}},q1.array={getReturnType:function(t){return B1},toGlsl:function(t,e){e2(e,2),r2(e,4),J1(e);var r=e.map((function(e){return Z1(t,e,F1)}));return"vec".concat(e.length,"(").concat(r.join(", "),")")}},q1.color={getReturnType:function(t){return G1},toGlsl:function(t,e){e2(e,3),r2(e,4),J1(e);var r=e;3===e.length&&r.push(1);var n=e.map((function(e,r){return Z1(t,e,F1)+(r<3?" / 255.0":"")}));return"vec".concat(e.length,"(").concat(n.join(", "),")")}},q1.interpolate={getReturnType:function(t){for(var e=G1|F1,r=3;r=1;l-=2){var u=Z1(t,e[l]),c=Z1(t,e[l+1],i);s="(".concat(o," == ").concat(u," ? ").concat(c," : ").concat(s||a,")")}return s}},q1.case={getReturnType:function(t){for(var e=z1,r=1;r=0;o-=2){var l=Z1(t,e[o]),u=Z1(t,e[o+1],i);s="(".concat(l," ? ").concat(u," : ").concat(s||a,")")}return s}};var c2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function h2(t,e){var r="\n attribute vec2 ".concat(T1,";\n uniform mat4 ").concat(m1,";\n uniform float ").concat(b1,";\n uniform float ").concat(x1,";\n uniform float ").concat(w1,";\n uniform float ").concat(E1,";\n uniform float ").concat(S1,";\n uniform float ").concat(v1,";\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ").concat(T1,";\n v_mapCoord = vec2(\n ").concat(E1," + ").concat(w1," * ").concat(b1," * v_textureCoord[0],\n ").concat(S1," - ").concat(w1," * ").concat(x1," * v_textureCoord[1]\n );\n gl_Position = ").concat(m1," * vec4(").concat(T1,", ").concat(v1,", 1.0);\n }\n "),n={inFragmentShader:!0,variables:[],attributes:[],stringLiteralsMap:{},functions:{},bandCount:e},i=[];if(void 0!==t.color){var o=Z1(n,t.color,G1);i.push("color = ".concat(o,";"))}if(void 0!==t.contrast){var a=Z1(n,t.contrast,F1);i.push("color.rgb = clamp((".concat(a," + 1.0) * color.rgb - (").concat(a," / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}if(void 0!==t.exposure){var s=Z1(n,t.exposure,F1);i.push("color.rgb = clamp((".concat(s," + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}if(void 0!==t.saturation){var l=Z1(n,t.saturation,F1);i.push("\n float saturation = ".concat(l," + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n "))}if(void 0!==t.gamma){var u=Z1(n,t.gamma,F1);i.push("color.rgb = pow(color.rgb, vec3(1.0 / ".concat(u,"));"))}if(void 0!==t.brightness){var c=Z1(n,t.brightness,F1);i.push("color.rgb = clamp(color.rgb + ".concat(c,", vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}var h={},f=n.variables.length;if(f>1&&!t.variables)throw new Error("Missing variables in style (expected ".concat(n.variables,")"));for(var p=function(e){var r=n.variables[e];if(!(r in t.variables))throw new Error("Missing '".concat(r,"' in style variables"));var i=o2(r);h[i]=function(){var e=t.variables[r];return"string"==typeof e&&(e=H1(n,e)),void 0!==e?e:-9999999}},d=0;d ").concat(O1,"[2] ||\n v_mapCoord[1] > ").concat(O1,"[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(").concat(y1,"[0], v_textureCoord);\n\n ").concat(i.join("\n"),"\n\n if (color.a == 0.0) {\n discard;\n }\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ").concat(_1,";\n }"),uniforms:h,paletteTextures:n.paletteTextures}}var f2=function(t){function e(e){var r=this,n=e?Object(Mi.a)({},e):{},i=n.style||{};delete n.style;var o=n.cacheSize;return delete n.cacheSize,(r=t.call(this,n)||this).sources_=n.sources,r.renderedSource_=null,r.renderedResolution_=NaN,r.style_=i,r.cacheSize_=o,r.styleVariables_=r.style_.variables||{},r.addChangeListener(RU.a.SOURCE,r.handleSourceUpdate_),r}return c2(e,t),e.prototype.getSources=function(t,e){var r=this.getSource();return this.sources_?"function"==typeof this.sources_?this.sources_(t,e):this.sources_:r?[r]:[]},e.prototype.getRenderSource=function(){return this.renderedSource_||this.getSource()},e.prototype.getSourceState=function(){var t=this.getRenderSource();return t?t.getState():"undefined"},e.prototype.handleSourceUpdate_=function(){this.getSource()&&this.setStyle(this.style_)},e.prototype.getSourceBandCount_=function(){var t=Number.MAX_SAFE_INTEGER,e=this.getSources([-t,-t,t,t],t);return e&&e.length&&"bandCount"in e[0]?e[0].bandCount:4},e.prototype.createRenderer=function(){var t=h2(this.style_,this.getSourceBandCount_());return new k1(this,{vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,uniforms:t.uniforms,cacheSize:this.cacheSize_,paletteTextures:t.paletteTextures})},e.prototype.renderSources=function(t,e){for(var r,n=this.getRenderer(),i=0,o=e.length;i.5*n.resolution){var c=this.getSources(t.extent,this.renderedResolution_).filter((function(t){return!i.includes(t)}));if(c.length>0)return this.renderSources(t,c)}return u},e.prototype.setStyle=function(t){this.styleVariables_=t.variables||{},this.style_=t;var e=h2(this.style_,this.getSourceBandCount_());this.getRenderer().reset({vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,uniforms:e.uniforms,paletteTextures:e.paletteTextures}),this.changed()},e.prototype.updateStyleVariables=function(t){Object(Mi.a)(this.styleVariables_,t),this.changed()},e}(JK.a);f2.prototype.dispose;var p2=f2,d2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();var g2=function(t){function e(e){var r=this,n=void 0!==e.hidpi&&e.hidpi,i=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(i=e.interpolate),(r=t.call(this,{cacheSize:e.cacheSize,crossOrigin:"anonymous",interpolate:i,opaque:!0,projection:Object(u.o)("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,tilePixelRatio:n?2:1,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).hidpi_=n,r.culture_=void 0!==e.culture?e.culture:"en-us",r.maxZoom_=void 0!==e.maxZoom?e.maxZoom:-1,r.apiKey_=e.key,r.imagerySet_=e.imagerySet;var o="https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+r.imagerySet_+"?uriScheme=https&include=ImageryProviders&key="+r.apiKey_+"&c="+r.culture_;return Object(nJ.a)(o,r.handleImageryMetadataResponse.bind(r),void 0,"jsonp"),r}return d2(e,t),e.prototype.getApiKey=function(){return this.apiKey_},e.prototype.getImagerySet=function(){return this.imagerySet_},e.prototype.handleImageryMetadataResponse=function(t){if(200==t.statusCode&&"OK"==t.statusDescription&&"ValidCredentials"==t.authenticationResultCode&&1==t.resourceSets.length&&1==t.resourceSets[0].resources.length){var e=t.resourceSets[0].resources[0],r=-1==this.maxZoom_?e.zoomMax:this.maxZoom_,n=this.getProjection(),i=Object(ap.b)(n),o=this.hidpi_?2:1,a=e.imageWidth==e.imageHeight?e.imageWidth/o:[e.imageWidth/o,e.imageHeight/o],s=Object(ap.a)({extent:i,minZoom:e.zoomMin,maxZoom:r,tileSize:a});this.tileGrid=s;var l=this.culture_,c=this.hidpi_;if(this.tileUrlFunction=tp(e.imageUrlSubdomains.map((function(t){var r=[0,0,0],n=e.imageUrl.replace("{subdomain}",t).replace("{culture}",l);return function(t,e,i){if(t){Object(Jf.a)(t[0],t[1],t[2],r);var o=n;return c&&(o+="&dpi=d1&device=mobile"),o.replace("{quadkey}",function(t){var e,r,n=t[0],i=new Array(n),o=1<>=1;return i.join("")}(r))}}}))),e.imageryProviders){var h=Object(u.r)(Object(u.o)("EPSG:4326"),this.getProjection());this.setAttributions(function(t){var r=[],n=t.viewState,i=this.getTileGrid(),o=i.getZForResolution(n.resolution,this.zDirection),a=i.getTileCoordForCoordAndZ(n.center,o)[0];return e.imageryProviders.map((function(e){for(var n=!1,i=e.coverageAreas,o=0,s=i.length;o=l.zoomMin&&a<=l.zoomMax){var u=l.bbox,c=[u[1],u[0],u[3],u[2]],f=Object(mt.a)(c,h);if(Object(mt.H)(f,t.extent)){n=!0;break}}}n&&r.push(e.attribution)})),r.push('Terms of Use'),r}.bind(this))}this.setState("ready")}else this.setState("error")},e}(up),y2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),m2=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,maxZoom:void 0!==e.maxZoom?e.maxZoom:18,minZoom:e.minZoom,projection:e.projection,transition:e.transition,wrapX:e.wrapX,zDirection:e.zDirection})||this;return r.account_=e.account,r.mapId_=e.map||"",r.config_=e.config||{},r.templateCache_={},r.initializeMap_(),r}return y2(e,t),e.prototype.getConfig=function(){return this.config_},e.prototype.updateConfig=function(t){Object(Mi.a)(this.config_,t),this.initializeMap_()},e.prototype.setConfig=function(t){this.config_=t||{},this.initializeMap_()},e.prototype.initializeMap_=function(){var t=JSON.stringify(this.config_);if(this.templateCache_[t])this.applyTemplate_(this.templateCache_[t]);else{var e="https://"+this.account_+".carto.com/api/v1/map";this.mapId_&&(e+="/named/"+this.mapId_);var r=new XMLHttpRequest;r.addEventListener("load",this.handleInitResponse_.bind(this,t)),r.addEventListener("error",this.handleInitError_.bind(this)),r.open("POST",e),r.setRequestHeader("Content-type","application/json"),r.send(JSON.stringify(this.config_))}},e.prototype.handleInitResponse_=function(t,e){var r=e.target;if(!r.status||r.status>=200&&r.status<300){var n=void 0;try{n=JSON.parse(r.responseText)}catch(t){return void this.setState("error")}this.applyTemplate_(n),this.templateCache_[t]=n,this.setState("ready")}else this.setState("error")},e.prototype.handleInitError_=function(t){this.setState("error")},e.prototype.applyTemplate_=function(t){var e="https://"+t.cdn_url.https+"/"+this.account_+"/api/v1/map/"+t.layergroupid+"/{z}/{x}/{y}.png";this.setUrl(e)},e}(mk),_2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v2=function(t){function e(e){var r=this,n=void 0===e.projection?"EPSG:3857":e.projection,i=e.tileGrid;if(void 0===i&&n&&(i=Object(ap.a)({extent:Object(ap.b)(n),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize})),(r=t.call(this,{cacheSize:.1,attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:n,tileGrid:i,opaque:e.opaque,state:e.state,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate})||this).gutter_=void 0!==e.gutter?e.gutter:0,r.tileSize_=e.tileSize?Object(ns.d)(e.tileSize):null,!r.tileSize_&&e.tilePixelRatio&&i){var o=Object(ns.d)(i.getTileSize(0));r.tileSize_=[o[0]*e.tilePixelRatio,o[1]*e.tilePixelRatio]}return r.tileSizes_=null,r.tileLoadingKeys_={},r.loader_=e.loader,r.handleTileChange_=r.handleTileChange_.bind(r),r.bandCount=void 0===e.bandCount?4:e.bandCount,r}return _2(e,t),e.prototype.setTileSizes=function(t){this.tileSizes_=t},e.prototype.getTileSize=function(t){if(this.tileSizes_)return this.tileSizes_[t];if(this.tileSize_)return this.tileSize_;var e=this.getTileGrid();return e?Object(ns.d)(e.getTileSize(t)):[256,256]},e.prototype.getGutterForProjection=function(t){return this.gutter_},e.prototype.setLoader=function(t){this.loader_=t},e.prototype.getTile=function(t,e,r,n,i){var o=this.getTileSize(t),a=Object(Jf.e)(t,e,r);if(this.tileCache.containsKey(a))return this.tileCache.get(a);var s=this.loader_;var l=Object(Mi.a)({tileCoord:[t,e,r],loader:function(){return Object(ai.e)((function(){return s(t,e,r)}))},size:o},this.tileOptions),u=new u1(l);return u.key=this.getKey(),u.addEventListener(fo.a.CHANGE,this.handleTileChange_),this.tileCache.set(a,u),u},e.prototype.handleTileChange_=function(t){var e,r=t.target,n=Object(si.c)(r),i=r.getState();i==Wf.a.LOADING?(this.tileLoadingKeys_[n]=!0,e=Xf):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],e=i==Wf.a.ERROR?Zf:i==Wf.a.LOADED?Hf:void 0),e&&this.dispatchEvent(new Kf.a(e,r))},e}(Kf.b);const b2=new Map;function x2(t,e){Array.isArray(t)||(t=[t]),t.forEach(t=>b2.set(t,e))}async function w2(t){const e=b2.get(t.Compression);if(!e)throw new Error("Unknown compression method identifier: "+t.Compression);return new(await e())(t)}x2([void 0,1],()=>Promise.resolve().then(r.bind(null,168)).then(t=>t.default)),x2(5,()=>Promise.resolve().then(r.bind(null,169)).then(t=>t.default)),x2(6,()=>{throw new Error("old style JPEG compression is not supported.")}),x2(7,()=>Promise.resolve().then(r.bind(null,170)).then(t=>t.default)),x2([8,32946],()=>Promise.resolve().then(r.bind(null,171)).then(t=>t.default)),x2(32773,()=>Promise.resolve().then(r.bind(null,172)).then(t=>t.default)),x2(34887,()=>Promise.resolve().then(r.bind(null,173)).then(t=>t.default)),x2(50001,()=>Promise.resolve().then(r.bind(null,174)).then(t=>t.default));const E2="undefined"!=typeof navigator&&navigator.hardwareConcurrency||2;var S2=class{constructor(t=E2,e){this.workers=null,this._awaitingDecoder=null,this.size=t,this.messageId=0,t&&(this._awaitingDecoder=e?Promise.resolve(e):new Promise(t=>{Promise.resolve().then(r.bind(null,167)).then(e=>{t(e.create)})}),this._awaitingDecoder.then(e=>{this._awaitingDecoder=null,this.workers=[];for(let r=0;rr.decode(t,e)):new Promise(r=>{const n=this.workers.find(t=>t.idle)||this.workers[Math.floor(Math.random()*this.size)];n.idle=!1;const i=this.messageId++,o=t=>{t.data.id===i&&(n.idle=!0,r(t.data.decoded),n.worker.removeEventListener("message",o))};n.worker.addEventListener("message",o),n.worker.postMessage({fileDirectory:t,buffer:e,id:i},[e])})}destroy(){this.workers&&(this.workers.forEach(t=>{t.worker.terminate()}),this.workers=null)}},O2=r(83),I2=r(85),C2=r.n(I2),T2=r(114),P2=r.n(T2),R2=r(11);function L2(t,e,r,n=1){return new(Object.getPrototypeOf(t).constructor)(e*r*n)}function M2(t,e,r){return(1-r)*t+r*e}function A2(t,e,r,n,i,o="nearest"){switch(o.toLowerCase()){case"nearest":return function(t,e,r,n,i){const o=e/n,a=r/i;return t.map(t=>{const s=L2(t,n,i);for(let l=0;l{const s=L2(t,n,i);for(let l=0;l=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){const e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,r=this.fileDirectory.BitsPerSample[t];switch(e){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(t,e){return Object(O2.getFloat16)(this,t,e)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,e){return j2(this.getSampleFormat(t),this.getBitsPerSample(t),e)}async getTileOrStrip(t,e,r,n,i){const o=Math.ceil(this.getWidth()/this.getTileWidth()),a=Math.ceil(this.getHeight()/this.getTileHeight());let s;const{tiles:l}=this;let u,c;1===this.planarConfiguration?s=e*o+t:2===this.planarConfiguration&&(s=r*o*a+e*o+t),this.isTiled?(u=this.fileDirectory.TileOffsets[s],c=this.fileDirectory.TileByteCounts[s]):(u=this.fileDirectory.StripOffsets[s],c=this.fileDirectory.StripByteCounts[s]);const h=(await this.source.fetch([{offset:u,length:c}],i))[0];let f;return null!==l&&l[s]?f=l[s]:(f=(async()=>{let t=await n.decode(this.fileDirectory,h);const r=this.getSampleFormat(),i=this.getBitsPerSample();return function(t,e){return(1!==t&&2!==t||!(e<=32)||e%8!=0)&&(3!==t||16!==e&&32!==e&&64!==e)}(r,i)&&(t=function(t,e,r,n,i,o,a){const s=new DataView(t),l=2===r?1:n,u=j2(e,i,2===r?a*o:a*o*n),c=parseInt("1".repeat(i),2);if(1===e){let t;t=1===r?n*i:i;let e=o*t;0!=(7&e)&&(e=e+7&-8);for(let t=0;t>8-i-p&c;else if(p+i<=16)u[h]=s.getUint16(f)>>16-i-p&c;else if(p+i<=24){const t=s.getUint16(f)<<8|s.getUint8(f+2);u[h]=t>>24-i-p&c}else u[h]=s.getUint32(f)>>32-i-p&c}}}}return u.buffer}(t,r,this.planarConfiguration,this.getSamplesPerPixel(),i,this.getTileWidth(),this.getBlockHeight(e))),t})(),null!==l&&(l[s]=f)),{x:t,y:e,sample:r,data:await f}}async _readRaster(t,e,r,n,i,o,a,s,l){const u=this.getTileWidth(),c=this.getTileHeight(),h=this.getWidth(),f=this.getHeight(),p=Math.max(Math.floor(t[0]/u),0),d=Math.min(Math.ceil(t[2]/u),Math.ceil(h/u)),g=Math.max(Math.floor(t[1]/c),0),y=Math.min(Math.ceil(t[3]/c),Math.ceil(f/c)),m=t[2]-t[0];let _=this.getBytesPerPixel();const v=[],b=[];for(let t=0;t{const o=i.data,a=new DataView(o),s=this.getBlockHeight(i.y),l=i.y*c,d=i.x*u,g=l+s,y=(i.x+1)*u,x=b[p],E=Math.min(s,s-(g-t[3]),f-l),S=Math.min(u,u-(y-t[2]),h-d);for(let i=Math.max(0,t[1]-l);iu[2]||u[1]>u[3])throw new Error("Invalid subsets");const c=(u[2]-u[0])*(u[3]-u[1]),h=this.getSamplesPerPixel();if(e&&e.length){for(let t=0;t=h)return Promise.reject(new RangeError(`Invalid sample index '${e[t]}'.`))}else for(let t=0;tl[2]||l[1]>l[3])throw new Error("Invalid subsets");const u=this.fileDirectory.PhotometricInterpretation;if(u===R2.j.RGB){let l=[0,1,2];if(this.fileDirectory.ExtraSamples!==R2.a.Unspecified&&a){l=[];for(let t=0;t>24)/500+s,u=s-(t[e+2]<<24>>24)/200;l=.95047*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),s=1*(s*s*s>.008856?s*s*s:(s-16/116)/7.787),u=1.08883*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),i=3.2406*l+-1.5372*s+-.4986*u,o=-.9689*l+1.8758*s+.0415*u,a=.0557*l+-.204*s+1.057*u,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,a=a>.0031308?1.055*a**(1/2.4)-.055:12.92*a,n[r]=255*Math.max(0,Math.min(1,i)),n[r+1]=255*Math.max(0,Math.min(1,o)),n[r+2]=255*Math.max(0,Math.min(1,a))}return n}(p);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){const t=new Uint8Array(g.length/3),e=new Uint8Array(g.length/3),r=new Uint8Array(g.length/3);for(let n=0,i=0;nvoid 0===C2()(t,"sample")):n.filter(e=>Number(C2()(e,"sample"))===t);for(let t=0;t0;let i=!0;for(let o=0;o<8;o++){let a=this._dataView.getUint8(t+(e?o:7-o));n&&(i?0!==a&&(a=255&~(a-1),i=!1):a=255&~a),r+=a*256**o}return n&&(r=-r),r}getUint8(t,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return Object(O2.getFloat16)(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}}class G2{constructor(t,e,r,n){this._dataView=new DataView(t),this._sliceOffset=e,this._littleEndian=r,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){const e=this.readUint32(t),r=this.readUint32(t+4);let n;if(this._littleEndian){if(n=e+2**32*r,!Number.isSafeInteger(n))throw new Error(n+" exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");return n}if(n=2**32*e+r,!Number.isSafeInteger(n))throw new Error(n+" exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");return n}readInt64(t){let e=0;const r=(128&this._dataView.getUint8(t+(this._littleEndian?7:0)))>0;let n=!0;for(let i=0;i<8;i++){let o=this._dataView.getUint8(t+(this._littleEndian?i:7-i));r&&(n?0!==o&&(o=255&~(o-1),n=!1):o=255&~o),e+=o*256**i}return r&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}}const U2="\r\n\r\n";function B2(t){if(void 0!==Object.fromEntries)return Object.fromEntries(t);const e={};for(const[r,n]of t)e[r.toLowerCase()]=n;return e}function z2(t){return B2(t.split("\r\n").map(t=>{const e=t.split(":").map(t=>t.trim());return e[0]=e[0].toLowerCase(),e}))}function V2(t){let e,r,n;return t&&([,e,r,n]=t.match(/bytes (\d+)-(\d+)\/(\d+)/),e=parseInt(e,10),r=parseInt(r,10),n=parseInt(n,10)),{start:e,end:r,total:n}}var q2=r(55),Y2=r(115),W2=r.n(Y2),X2=r(20);class H2{constructor(t,e,r=null){this.offset=t,this.length=e,this.data=r}get top(){return this.offset+this.length}}class Z2{constructor(t,e,r){this.offset=t,this.length=e,this.blockIds=r}}class K2 extends q2.a{constructor(t,{blockSize:e=65536,cacheSize:r=100}={}){super(),this.source=t,this.blockSize=e,this.blockCache=new W2.a({max:r}),this.blockRequests=new Map,this.blockIdsToFetch=new Set}get fileSize(){return this.source.fileSize}async fetch(t,e){const r=new Map,n=new Map,i=new Set;for(const{offset:e,length:o}of t){let t=e+o;const{fileSize:a}=this;null!==a&&(t=Math.min(t,a));for(let o=Math.floor(e/this.blockSize)*this.blockSize;o"rejected"===t.status)){const t=new Set;for(const[r,i]of Object(X2.i)(n.keys(),o)){const{rejected:n,reason:o}=i;n&&"AbortError"===o.name&&o.signal!==e&&(this.blockIdsToFetch.add(r),t.add(r))}if(this.blockIdsToFetch.length>0){this.fetchBlocks(e);for(const e of t){const t=this.blockRequests.get(e);if(!t)throw new Error(`Block ${e} is not in the block requests`);n.set(e,t)}o=await Promise.allSettled(Array.from(n.values()))}}if(o.some(t=>"rejected"===t.status)){if(e&&e.aborted)throw new X2.a("Request was aborted");throw new X2.b(o.filter(t=>"rejected"===t.status).map(t=>t.reason),"Request failed")}const a=o.map(t=>t.value),s=new Map(Object(X2.i)(Array.from(n.keys()),a));for(const[t,e]of r)s.set(t,e);return this.readSliceData(t,s)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){const e=this.groupBlocks(this.blockIdsToFetch),r=this.source.fetch(e,t);for(let n=0;n{try{const t=(await r)[n],i=e*this.blockSize,o=i-t.offset,a=Math.min(o+this.blockSize,t.data.byteLength),s=t.data.slice(o,a),l=new H2(i,s.byteLength,s);return this.blockCache.set(e,l),l}catch(e){throw"AbortError"===e.name&&(e.signal=t),e}finally{this.blockRequests.delete(e)}})();this.blockRequests.set(e,i)}}this.blockIdsToFetch.clear()}}groupBlocks(t){const e=Array.from(t).sort((t,e)=>t-e);if(0===e.length)return[];let r=[],n=null;const i=[];for(const t of e)null===n||n+1===t?(r.push(t),n=t):(i.push(new Z2(r[0]*this.blockSize,r.length*this.blockSize,r)),r=[t],n=t);return i.push(new Z2(r[0]*this.blockSize,r.length*this.blockSize,r)),i}readSliceData(t,e){return t.map(t=>{const r=t.offset+t.length,n=Math.floor(t.offset/this.blockSize),i=Math.floor((t.offset+t.length)/this.blockSize),o=new ArrayBuffer(t.length),a=new Uint8Array(o);for(let o=n;o<=i;++o){const n=e.get(o),i=n.offset-t.offset,s=n.top-r;let l,u=0,c=0;i<0?u=-i:i>0&&(c=i),l=s<0?n.length-u:r-n.offset-u;const h=new Uint8Array(n.data,u,l);a.set(h,c)}return o})}}var J2=r(61);class Q2 extends J2.b{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}}class $2 extends J2.a{constructor(t,e){super(t),this.credentials=e}async request({headers:t,credentials:e,signal:r}={}){const n=await fetch(this.url,{headers:t,credentials:e,signal:r});return new Q2(n)}}class t3 extends J2.b{constructor(t,e){super(),this.xhr=t,this.data=e}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}}class e3 extends J2.a{constructRequest(t,e){return new Promise((r,n)=>{const i=new XMLHttpRequest;i.open("GET",this.url),i.responseType="arraybuffer";for(const[e,r]of Object.entries(t))i.setRequestHeader(e,r);i.onload=()=>{const t=i.response;r(new t3(i,t))},i.onerror=n,i.onabort=()=>n(new X2.a("Request aborted")),i.send(),e&&(e.aborted&&i.abort(),e.addEventListener("abort",()=>i.abort()))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}var r3=r(116);class n3 extends q2.a{constructor(t,e,r,n){super(),this.client=t,this.headers=e,this.maxRanges=r,this.allowFullFile=n,this._fileSize=null}async fetch(t,e){return this.maxRanges>=t.length?this.fetchSlices(t,e):(this.maxRanges>0&&t.length,Promise.all(t.map(t=>this.fetchSlice(t,e))))}async fetchSlices(t,e){const r=await this.client.request({headers:{...this.headers,Range:"bytes="+t.map(({offset:t,length:e})=>`${t}-${t+e}`).join(",")},signal:e});if(r.ok){if(206===r.status){const{type:n,params:i}=function(t){const[e,...r]=t.split(";").map(t=>t.trim());return{type:e,params:B2(r.map(t=>t.split("=")))}}(r.getHeader("content-type"));if("multipart/byteranges"===n){const t=function(t,e){let r=null;const n=new TextDecoder("ascii"),i=[],o="--"+e,a=o+"--";for(let e=0;e<10;++e)n.decode(new Uint8Array(t,e,o.length))===o&&(r=e);if(null===r)throw new Error("Could not find initial boundary");for(;r1){const r=await Promise.all(t.slice(1).map(t=>this.fetchSlice(t,e)));return u.concat(r)}return u}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await r.getData();return this._fileSize=t.byteLength,[{data:t,offset:0,length:t.byteLength}]}}throw new Error("Error fetching data.")}async fetchSlice(t,e){const{offset:r,length:n}=t,i=await this.client.request({headers:{...this.headers,Range:`bytes=${r}-${r+n}`},signal:e});if(i.ok){if(206===i.status){const t=await i.getData(),{total:e}=V2(i.getHeader("content-range"));return this._fileSize=e||null,{data:t,offset:r,length:n}}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await i.getData();return this._fileSize=t.byteLength,{data:t,offset:0,length:t.byteLength}}}throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}}function i3(t,{blockSize:e,cacheSize:r}){return null===e?t:new K2(t,e,r)}function o3(t,{forceXHR:e=!1,...r}={}){return"function"!=typeof fetch||e?"undefined"!=typeof XMLHttpRequest?function(t,{headers:e={},maxRanges:r=0,allowFullFile:n=!1,...i}={}){const o=new e3(t);return i3(new n3(o,e,r,n),i)}(t,r):function(t,{headers:e={},maxRanges:r=0,allowFullFile:n=!1,...i}={}){const o=new r3.a(t);return i3(new n3(o,e,r,n),i)}(t,r):function(t,{headers:e={},credentials:r,maxRanges:n=0,allowFullFile:i=!1,...o}={}){const a=new $2(t,r);return i3(new n3(a,e,n,i),o)}(t,r)}q2.a;class a3 extends q2.a{constructor(t){super(),this.file=t}async fetchSlice(t,e){return new Promise((r,n)=>{const i=this.file.slice(t.offset,t.offset+t.length),o=new FileReader;o.onload=t=>r(t.target.result),o.onerror=n,o.onabort=n,o.readAsArrayBuffer(i),e&&e.addEventListener("abort",()=>o.abort())})}}r(120);const s3=Object(X2.f)(R2.e),l3=Object(X2.f)(R2.i),u3={};Object(X2.c)(u3,s3),Object(X2.c)(u3,l3);Object(X2.f)(R2.g);const c3={nextZero:(t,e)=>{let r=e;for(;0!==t[r];)r++;return r},readUshort:(t,e)=>t[e]<<8|t[e+1],readShort:(t,e)=>{const r=c3.ui8;return r[0]=t[e+1],r[1]=t[e+0],c3.i16[0]},readInt:(t,e)=>{const r=c3.ui8;return r[0]=t[e+3],r[1]=t[e+2],r[2]=t[e+1],r[3]=t[e+0],c3.i32[0]},readUint:(t,e)=>{const r=c3.ui8;return r[0]=t[e+3],r[1]=t[e+2],r[2]=t[e+1],r[3]=t[e+0],c3.ui32[0]},readASCII:(t,e,r)=>r.map(r=>String.fromCharCode(t[e+r])).join(""),readFloat:(t,e)=>{const r=c3.ui8;return Object(X2.g)(4,n=>{r[n]=t[e+3-n]}),c3.fl32[0]},readDouble:(t,e)=>{const r=c3.ui8;return Object(X2.g)(8,n=>{r[n]=t[e+7-n]}),c3.fl64[0]},writeUshort:(t,e,r)=>{t[e]=r>>8&255,t[e+1]=255&r},writeUint:(t,e,r)=>{t[e]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255},writeASCII:(t,e,r)=>{Object(X2.g)(r.length,n=>{t[e+n]=r.charCodeAt(n)})},ui8:new Uint8Array(8)};c3.fl64=new Float64Array(c3.ui8.buffer),c3.writeDouble=(t,e,r)=>{c3.fl64[0]=r,Object(X2.g)(8,r=>{t[e+r]=c3.ui8[7-r]})};function h3(t){switch(t){case R2.h.BYTE:case R2.h.ASCII:case R2.h.SBYTE:case R2.h.UNDEFINED:return 1;case R2.h.SHORT:case R2.h.SSHORT:return 2;case R2.h.LONG:case R2.h.SLONG:case R2.h.FLOAT:case R2.h.IFD:return 4;case R2.h.RATIONAL:case R2.h.SRATIONAL:case R2.h.DOUBLE:case R2.h.LONG8:case R2.h.SLONG8:case R2.h.IFD8:return 8;default:throw new RangeError("Invalid field type: "+t)}}function f3(t,e,r,n){let i=null,o=null;const a=h3(e);switch(e){case R2.h.BYTE:case R2.h.ASCII:case R2.h.UNDEFINED:i=new Uint8Array(r),o=t.readUint8;break;case R2.h.SBYTE:i=new Int8Array(r),o=t.readInt8;break;case R2.h.SHORT:i=new Uint16Array(r),o=t.readUint16;break;case R2.h.SSHORT:i=new Int16Array(r),o=t.readInt16;break;case R2.h.LONG:case R2.h.IFD:i=new Uint32Array(r),o=t.readUint32;break;case R2.h.SLONG:i=new Int32Array(r),o=t.readInt32;break;case R2.h.LONG8:case R2.h.IFD8:i=new Array(r),o=t.readUint64;break;case R2.h.SLONG8:i=new Array(r),o=t.readInt64;break;case R2.h.RATIONAL:i=new Uint32Array(2*r),o=t.readUint32;break;case R2.h.SRATIONAL:i=new Int32Array(2*r),o=t.readInt32;break;case R2.h.FLOAT:i=new Float32Array(r),o=t.readFloat32;break;case R2.h.DOUBLE:i=new Float64Array(r),o=t.readFloat64;break;default:throw new RangeError("Invalid field type: "+e)}if(e!==R2.h.RATIONAL&&e!==R2.h.SRATIONAL)for(let e=0;et.getWidth()-e.getWidth());for(let e=0;en||o&&o>a)break}}let h=e;if(a){const[t,e]=s.getOrigin(),[r,n]=l.getResolution(s);h=[Math.round((a[0]-t)/r),Math.round((a[1]-e)/n),Math.round((a[2]-t)/r),Math.round((a[3]-e)/n)],h=[Math.min(h[0],h[2]),Math.min(h[1],h[3]),Math.max(h[0],h[2]),Math.max(h[1],h[3])]}return l.readRasters({...t,window:h})}}class y3 extends g3{constructor(t,e,r,n,i={}){super(),this.source=t,this.littleEndian=e,this.bigTiff=r,this.firstIFDOffset=n,this.cache=i.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,e){const r=this.bigTiff?4048:1024;return new G2((await this.source.fetch([{offset:t,length:void 0!==e?e:r}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){const e=this.bigTiff?20:12,r=this.bigTiff?8:2;let n=await this.getSlice(t);const i=this.bigTiff?n.readUint64(t):n.readUint16(t),o=i*e+(this.bigTiff?16:6);n.covers(t,o)||(n=await this.getSlice(t,o));const a={};let s=t+(this.bigTiff?8:2);for(let t=0;t{const e=await this.ifdRequests[t-1];if(0===e.nextIFDByteOffset)throw new d3(t);return this.parseFileDirectoryAt(e.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){const e=await this.requestIFD(t);return new F2(e.fileDirectory,e.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,e=!0;for(;e;)try{await this.requestIFD(t),++t}catch(t){if(!(t instanceof d3))throw t;e=!1}return t}async getGhostValues(){const t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const e="GDAL_STRUCTURAL_METADATA_SIZE=",r=e.length+100;let n=await this.getSlice(t,r);if(e===f3(n,R2.h.ASCII,e.length,t)){const e=f3(n,R2.h.ASCII,r,t).split("\n")[0],i=Number(e.split("=")[1].split(" ")[0])+e.length;i>r&&(n=await this.getSlice(t,i));const o=f3(n,R2.h.ASCII,i,t);this.ghostValues={},o.split("\n").filter(t=>t.length>0).map(t=>t.split("=")).forEach(([t,e])=>{this.ghostValues[t]=e})}return this.ghostValues}static async fromSource(t,e,r){const n=(await t.fetch([{offset:0,length:1024}],r))[0],i=new D2(n),o=i.getUint16(0,0);let a;if(18761===o)a=!0;else{if(19789!==o)throw new TypeError("Invalid byte order value.");a=!1}const s=i.getUint16(2,a);let l;if(42===s)l=!1;else{if(43!==s)throw new TypeError("Invalid magic number.");l=!0;if(8!==i.getUint16(4,a))throw new Error("Unsupported offset byte-size.")}const u=l?i.getUint64(8,a):i.getUint32(4,a);return new y3(t,a,l,u,e)}close(){return"function"==typeof this.source.close&&this.source.close()}}class m3 extends g3{constructor(t,e){super(),this.mainFile=t,this.overviewFiles=e,this.imageFiles=[t].concat(e),this.fileDirectoriesPerFile=null,this.fileDirectoriesPerFileParsing=null,this.imageCount=null}async parseFileDirectoriesPerFile(){const t=[this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map(t=>t.parseFileDirectoryAt(t.firstIFDOffset)));return this.fileDirectoriesPerFile=await Promise.all(t),this.fileDirectoriesPerFile}async getImage(t=0){await this.getImageCount(),await this.parseFileDirectoriesPerFile();let e=0,r=0;for(let n=0;nt.getImageCount()));return this.imageCounts=await Promise.all(t),this.imageCount=this.imageCounts.reduce((t,e)=>t+e,0),this.imageCount}}async function _3(t,e){return y3.fromSource(new a3(t),e)}var v3,b3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),x3="STATISTICS_MAXIMUM",w3="STATISTICS_MINIMUM";function E3(t){try{return t.getBoundingBox()}catch(r){var e=t.fileDirectory;return[0,0,e.ImageWidth,e.ImageLength]}}function S3(t){try{return t.getOrigin().slice(0,2)}catch(e){return[0,t.fileDirectory.ImageLength]}}function O3(t,e){try{return t.getResolution(e)}catch(r){return[e.fileDirectory.ImageWidth/t.fileDirectory.ImageWidth,e.fileDirectory.ImageHeight/t.fileDirectory.ImageHeight]}}function I3(t){var e=t.geoKeys;if(!e)return null;if(e.ProjectedCSTypeGeoKey){var r="EPSG:"+e.ProjectedCSTypeGeoKey;if(!(n=Object(u.o)(r)))(i=Object(Jn.c)(e.ProjLinearUnitsGeoKey))&&(n=new u.b({code:r,units:i}));return n}if(e.GeographicTypeGeoKey){var n,i;r="EPSG:"+e.GeographicTypeGeoKey;if(!(n=Object(u.o)(r)))(i=Object(Jn.c)(e.GeogAngularUnitsGeoKey))&&(n=new u.b({code:r,units:i}));return n}return null}function C3(t){return t.getImageCount().then((function(e){for(var r=new Array(e),n=0;ny3.fromSource(o3(t,r))));return new m3(i,o)}(t.url,t.overviews,e):async function(t,e={},r){return y3.fromSource(o3(t,e),r)}(t.url,e)).then(C3)}function P3(t,e,r,n,i){if(Array.isArray(t)){var o=t.length;if(!Array.isArray(e)||o!=e.length){var a=new Error(n);throw i(a),a}for(var s=0;sr*t)throw new Error(n)}function R3(t){return t instanceof Int8Array?127:t instanceof Uint8Array||t instanceof Uint8ClampedArray?255:t instanceof Int16Array?32767:t instanceof Uint16Array?65535:t instanceof Int32Array?2147483647:t instanceof Uint32Array?4294967295:t instanceof Float32Array?34e37:255}var L3=function(t){function e(e){var r=t.call(this,{state:"loading",tileGrid:null,projection:null,opaque:e.opaque,transition:e.transition,interpolate:!1!==e.interpolate,wrapX:e.wrapX})||this;r.sourceInfo_=e.sources;var n=r.sourceInfo_.length;r.sourceOptions_=e.sourceOptions,r.sourceImagery_=new Array(n),r.resolutionFactors_=new Array(n),r.samplesPerPixel_,r.nodataValues_,r.metadata_,r.normalize_=!1!==e.normalize,r.addAlpha_=!1,r.error_=null,r.readMethod_=e.convertToRGB?"readRGB":"readRasters",r.setKey(r.sourceInfo_.map((function(t){return t.url})).join(","));for(var i=r,o=new Array(n),a=0;a_.length&&(c=o.length-_.length);var T=o[o.length-1]/_[_.length-1];p.resolutionFactors_[u]=T;var P=_.map((function(t){return t*T}));C="Resolution mismatch for source ".concat(u,", got [").concat(P,"] but expected [").concat(o,"]");P3(o.slice(c,o.length),P,.02,C,p.viewRejector)}else o=_,p.resolutionFactors_[u]=1;n?P3(n.slice(c,n.length),m,.01,"Tile size mismatch for source ".concat(u),p.viewRejector):n=m,i?P3(i.slice(c,i.length),y,0,"Tile size mismatch for source ".concat(u),p.viewRejector):i=y,p.sourceImagery_[u]=h.reverse()},p=this,d=0;d=0;--g){var v=I3(_[g]);if(v){this.projection=v;break}}}this.samplesPerPixel_=a,this.nodataValues_=s,this.metadata_=l;t:for(d=0;df||u>f;)c.push([Math.ceil(l/f),Math.ceil(u/f)]),f+=f;break;case k3:for(var p=l,d=u;p>f||d>f;)c.push([Math.ceil(p/f),Math.ceil(d/f)]),p>>=1,d>>=1;break;default:Object(go.a)(!1,53)}c.push([1,1]),c.reverse();for(var g=[s],y=[0],m=1,_=c.length;m<_;m++)g.push(s<0&&!isNaN(l[1])&&l[1]>0,60);var u,c,f,p=l[0],d=l[1],g=n.tileSize,y=n.tilePixelRatio||1,m=n.format||"jpg",_=n.quality||(n.version==iZ?"native":"default"),v=n.resolutions||[],b=n.supports||[],x=n.extent||[0,-d,p,0],w=null!=s&&Array.isArray(s)&&s.length>0,E=void 0!==g&&("number"==typeof g&&Number.isInteger(g)&&g>0||Array.isArray(g)&&g.length>0),S=null!=b&&Array.isArray(b)&&(Object(h.f)(b,"regionByPx")||Object(h.f)(b,"regionByPct"))&&(Object(h.f)(b,"sizeByWh")||Object(h.f)(b,"sizeByH")||Object(h.f)(b,"sizeByW")||Object(h.f)(b,"sizeByPct"));if(v.sort((function(t,e){return e-t})),E||S)if(null!=g&&("number"==typeof g&&Number.isInteger(g)&&g>0?(u=g,c=g):Array.isArray(g)&&g.length>0&&((1==g.length||null==g[1]&&Number.isInteger(g[0]))&&(u=g[0],c=g[0]),2==g.length&&(Number.isInteger(g[0])&&Number.isInteger(g[1])?(u=g[0],c=g[1]):null==g[0]&&Number.isInteger(g[1])&&(u=g[1],c=g[1])))),void 0!==u&&void 0!==c||(u=Vo.b,c=Vo.b),0==v.length)for(var O=f=Math.max(Math.ceil(Math.log(p/u)/Math.LN2),Math.ceil(Math.log(d/c)/Math.LN2));O>=0;O--)v.push(Math.pow(2,O));else{var I=Math.max.apply(Math,v);f=Math.round(Math.log(I)/Math.LN2)}else if(u=p,c=d,v=[],w){s.sort((function(t,e){return t[0]-e[0]})),f=-1;var C=[];for(O=0;O0&&v[v.length-1]==T?C.push(O):(v.push(T),f++)}if(C.length>0)for(O=0;Of)){var g=t[1],y=t[2],x=v[l];if(!(void 0===g||void 0===y||void 0===x||g<0||Math.ceil(p/x/u)<=g||y<0||Math.ceil(d/x/c)<=y)){if(S||E){var O=g*u*x,I=y*c*x,C=u*x,T=c*x,P=u,R=c;if(O+C>p&&(C=p-O),I+T>d&&(T=d-I),O+u*x>p&&(P=Math.floor((p-O+x-1)/x)),I+c*x>d&&(R=Math.floor((d-I+x-1)/x)),0==O&&C==p&&0==I&&T==d)n="full";else if(!S||Object(h.f)(b,"regionByPx"))n=O+","+I+","+C+","+T;else if(Object(h.f)(b,"regionByPct")){n="pct:"+G3(O/p*100)+","+G3(I/d*100)+","+G3(C/p*100)+","+G3(T/d*100)}a!=aZ||S&&!Object(h.f)(b,"sizeByWh")?!S||Object(h.f)(b,"sizeByW")?i=P+",":Object(h.f)(b,"sizeByH")?i=","+R:Object(h.f)(b,"sizeByWh")?i=P+","+R:Object(h.f)(b,"sizeByPct")&&(i="pct:"+G3(100/x)):i=P+","+R}else if(n="full",w){var L=s[l][0],M=s[l][1];i=a==aZ?L==p&&M==d?"max":L+","+M:L==p?"full":L+","}else i=a==aZ?"max":"full";return o+n+"/"+i+"/0/"+_+"."+m}}},transition:n.transition})||this).zDirection=n.zDirection,r}return D3(e,t),e}(up),B3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),z3=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions})||this).crossOrigin_=void 0!==n.crossOrigin?n.crossOrigin:null,r.hidpi_=void 0===n.hidpi||n.hidpi,r.url_=n.url,r.imageLoadFunction_=void 0!==n.imageLoadFunction?n.imageLoadFunction:Sp.b,r.params_=n.params||{},r.image_=null,r.imageSize_=[0,0],r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return B3(e,t),e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){if(void 0===this.url_)return null;e=this.findNearestResolution(e),r=this.hidpi_?r:1;var i=this.image_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;var o={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Object(Mi.a)(o,this.params_);var a=((t=t.slice())[0]+t[2])/2,s=(t[1]+t[3])/2;if(1!=this.ratio_){var l=this.ratio_*Object(mt.G)(t)/2,u=this.ratio_*Object(mt.A)(t)/2;t[0]=a-l,t[1]=s-u,t[2]=a+l,t[3]=s+u}var c=e/r,h=Math.ceil(Object(mt.G)(t)/c),f=Math.ceil(Object(mt.A)(t)/c);t[0]=a-c*h/2,t[2]=a+c*h/2,t[1]=s-c*f/2,t[3]=s+c*f/2,this.imageSize_[0]=h,this.imageSize_[1]=f;var p=this.getRequestUrl_(t,this.imageSize_,r,n,o);return this.image_=new Op.a(t,e,r,p,this.crossOrigin_,this.imageLoadFunction_),this.renderedRevision_=this.getRevision(),this.image_.addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this)),this.image_},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.getRequestUrl_=function(t,e,r,n,i){var o=n.getCode().split(/:(?=\d+$)/).pop();i.SIZE=e[0]+","+e[1],i.BBOX=t.join(","),i.BBOXSR=o,i.IMAGESR=o,i.DPI=Math.round(90*r);var a=this.url_,s=a.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage");return s==a&&Object(go.a)(!1,50),hp(s,i)},e.prototype.getUrl=function(){return this.url_},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e.prototype.setUrl=function(t){t!=this.url_&&(this.url_=t,this.image_=null,this.changed())},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.image_=null,this.changed()},e}(Sp.a),V3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),q3=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions,state:n.state})||this).canvasFunction_=n.canvasFunction,r.canvas_=null,r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return V3(e,t),e.prototype.getImageInternal=function(t,e,r,n){e=this.findNearestResolution(e);var i=this.canvas_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;t=t.slice(),Object(mt.L)(t,this.ratio_);var o=[Object(mt.G)(t)/e*r,Object(mt.A)(t)/e*r],a=this.canvasFunction_.call(this,t,e,r,o,n);return a&&(i=new e1.a(t,e,r,a)),this.canvas_=i,this.renderedRevision_=this.getRevision(),i},e}(Sp.a),Y3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();var W3=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;return void 0!==e.interpolate&&(n=e.interpolate),(r=t.call(this,{interpolate:n,projection:e.projection,resolutions:e.resolutions})||this).crossOrigin_=void 0!==e.crossOrigin?e.crossOrigin:null,r.displayDpi_=void 0!==e.displayDpi?e.displayDpi:96,r.params_=e.params||{},r.url_=e.url,r.imageLoadFunction_=void 0!==e.imageLoadFunction?e.imageLoadFunction:Sp.b,r.hidpi_=void 0===e.hidpi||e.hidpi,r.metersPerUnit_=void 0!==e.metersPerUnit?e.metersPerUnit:1,r.ratio_=void 0!==e.ratio?e.ratio:1,r.useOverlay_=void 0!==e.useOverlay&&e.useOverlay,r.image_=null,r.renderedRevision_=0,r}return Y3(e,t),e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){e=this.findNearestResolution(e),r=this.hidpi_?r:1;var i=this.image_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;1!=this.ratio_&&(t=t.slice(),Object(mt.L)(t,this.ratio_));var o=[Object(mt.G)(t)/e*r,Object(mt.A)(t)/e*r];if(void 0!==this.url_){var a=this.getUrl(this.url_,this.params_,t,o,n);(i=new Op.a(t,e,r,a,this.crossOrigin_,this.imageLoadFunction_)).addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this))}else i=null;return this.image_=i,this.renderedRevision_=this.getRevision(),i},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.changed()},e.prototype.getUrl=function(t,e,r,n,i){var o=function(t,e,r,n){var i=Object(mt.G)(t),o=Object(mt.A)(t),a=e[0],s=e[1],l=.0254/n;return s*i>a*o?i*r/(a*l):o*r/(s*l)}(r,n,this.metersPerUnit_,this.displayDpi_),a=Object(mt.x)(r),s={OPERATION:this.useOverlay_?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol/source/ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:this.displayDpi_,SETDISPLAYWIDTH:Math.round(n[0]),SETDISPLAYHEIGHT:Math.round(n[1]),SETVIEWSCALE:o,SETVIEWCENTERX:a[0],SETVIEWCENTERY:a[1]};return Object(Mi.a)(s,e),hp(t,s)},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e}(Sp.a),X3=r(50),H3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Z3=function(t){function e(e){var r=this,n=void 0!==e.crossOrigin?e.crossOrigin:null,i=void 0!==e.imageLoadFunction?e.imageLoadFunction:Sp.b,o=void 0===e.imageSmoothing||e.imageSmoothing;return void 0!==e.interpolate&&(o=e.interpolate),(r=t.call(this,{attributions:e.attributions,interpolate:o,projection:Object(u.o)(e.projection)})||this).url_=e.url,r.imageExtent_=e.imageExtent,r.image_=new Op.a(r.imageExtent_,void 0,1,r.url_,n,i),r.imageSize_=e.imageSize?e.imageSize:null,r.image_.addEventListener(fo.a.CHANGE,r.handleImageChange.bind(r)),r}return H3(e,t),e.prototype.getImageExtent=function(){return this.imageExtent_},e.prototype.getImageInternal=function(t,e,r,n){return Object(mt.H)(t,this.image_.getExtent())?this.image_:null},e.prototype.getUrl=function(){return this.url_},e.prototype.handleImageChange=function(e){if(this.image_.getState()==$g.a.LOADED){var r=this.image_.getExtent(),n=this.image_.getImage(),i=void 0,o=void 0;this.imageSize_?(i=this.imageSize_[0],o=this.imageSize_[1]):(i=n.width,o=n.height);var a=Object(mt.G)(r),s=Object(mt.A)(r),l=a/i,u=s/o,c=i,h=o;if(l>u?c=Math.round(a/u):h=Math.round(s/l),c!==i||h!==o){var f=Object(Ai.a)(c,h);this.getInterpolate()||Object(Mi.a)(f,X3.a);var p=f.canvas;f.drawImage(n,0,0,i,o,0,0,p.width,p.height),this.image_.setImage(p)}}t.prototype.handleImageChange.call(this,e)},e}(Sp.a),K3=r(76),J3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Q3=['Map tiles by Stamen Design, under CC BY 3.0.',kk],$3={terrain:{extension:"jpg",opaque:!0},"terrain-background":{extension:"jpg",opaque:!0},"terrain-labels":{extension:"png",opaque:!1},"terrain-lines":{extension:"png",opaque:!1},"toner-background":{extension:"png",opaque:!0},toner:{extension:"png",opaque:!0},"toner-hybrid":{extension:"png",opaque:!1},"toner-labels":{extension:"png",opaque:!1},"toner-lines":{extension:"png",opaque:!1},"toner-lite":{extension:"png",opaque:!0},watercolor:{extension:"jpg",opaque:!0}},t5={terrain:{minZoom:0,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:0,maxZoom:18}},e5=function(t){function e(e){var r=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(r=e.interpolate);var n=e.layer.indexOf("-"),i=-1==n?e.layer:e.layer.slice(0,n),o=t5[i],a=$3[e.layer],s=void 0!==e.url?e.url:"https://stamen-tiles-{a-d}.a.ssl.fastly.net/"+e.layer+"/{z}/{x}/{y}."+a.extension;return t.call(this,{attributions:Q3,cacheSize:e.cacheSize,crossOrigin:"anonymous",interpolate:r,maxZoom:null!=e.maxZoom?e.maxZoom:o.maxZoom,minZoom:null!=e.minZoom?e.minZoom:o.minZoom,opaque:a.opaque,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileLoadFunction:e.tileLoadFunction,transition:e.transition,url:s,wrapX:e.wrapX,zDirection:e.zDirection})||this}return J3(e,t),e}(mk),r5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),n5=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,cacheSize:n.cacheSize,crossOrigin:n.crossOrigin,interpolate:i,projection:n.projection,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileGrid:n.tileGrid,tileLoadFunction:n.tileLoadFunction,url:n.url,urls:n.urls,wrapX:void 0===n.wrapX||n.wrapX,transition:n.transition,zDirection:n.zDirection})||this).params_=n.params||{},r.hidpi_=void 0===n.hidpi||n.hidpi,r.tmpExtent_=Object(mt.k)(),r.setKey(r.getKeyForParams_()),r}return r5(e,t),e.prototype.getKeyForParams_=function(){var t=0,e=[];for(var r in this.params_)e[t++]=r+"-"+this.params_[r];return e.join("/")},e.prototype.getParams=function(){return this.params_},e.prototype.getRequestUrl_=function(t,e,r,n,i,o){var a=this.urls;if(a){var s,l=i.getCode().split(/:(?=\d+$)/).pop();if(o.SIZE=e[0]+","+e[1],o.BBOX=r.join(","),o.BBOXSR=l,o.IMAGESR=l,o.DPI=Math.round(o.DPI?o.DPI*n:90*n),1==a.length)s=a[0];else s=a[Object(qo.g)(Object(Jf.f)(t),a.length)];return hp(s.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage"),o)}},e.prototype.getTilePixelRatio=function(t){return this.hidpi_?t:1},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.setKey(this.getKeyForParams_())},e.prototype.tileUrlFunction=function(t,e,r){var n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(r)),!(n.getResolutions().length<=t[0])){1==e||this.hidpi_||(e=1);var i=n.getTileCoordExtent(t,this.tmpExtent_),o=Object(ns.d)(n.getTileSize(t[0]),this.tmpSize);1!=e&&(o=Object(ns.c)(o,e,this.tmpSize));var a={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};return Object(Mi.a)(a,this.params_),this.getRequestUrl_(t,o,i,e,r,a)}},e}(up),i5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),o5=function(t){function e(e){var r=this,n=e||{};return r=t.call(this,{opaque:!1,projection:n.projection,tileGrid:n.tileGrid,wrapX:void 0===n.wrapX||n.wrapX,zDirection:n.zDirection,url:n.template||"z:{z} x:{x} y:{y}",tileLoadFunction:function(t,e){var n=t.getTileCoord()[0],i=Object(ns.d)(r.tileGrid.getTileSize(n)),o=Object(Ai.a)(i[0],i[1]);o.strokeStyle="grey",o.strokeRect(.5,.5,i[0]+.5,i[1]+.5),o.fillStyle="grey",o.strokeStyle="white",o.textAlign="center",o.textBaseline="middle",o.font="24px sans-serif",o.lineWidth=4,o.strokeText(e,i[0]/2,i[1]/2,i[0]),o.fillText(e,i[0]/2,i[1]/2,i[0]),t.setImage(o.canvas)}})||this}return i5(e,t),e}(mk),a5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),s5=function(t){function e(e,r,n,i,o,a){var s=t.call(this,e,r)||this;return s.src_=n,s.extent_=i,s.preemptive_=o,s.grid_=null,s.keys_=null,s.data_=null,s.jsonp_=a,s}return a5(e,t),e.prototype.getImage=function(){return null},e.prototype.getData=function(t){if(!this.grid_||!this.keys_)return null;var e=(t[0]-this.extent_[0])/(this.extent_[2]-this.extent_[0]),r=(t[1]-this.extent_[1])/(this.extent_[3]-this.extent_[1]),n=this.grid_[Math.floor((1-r)*this.grid_.length)];if("string"!=typeof n)return null;var i=n.charCodeAt(Math.floor(e*n.length));i>=93&&i--,i>=35&&i--;var o=null;if((i-=32)in this.keys_){var a=this.keys_[i];o=this.data_&&a in this.data_?this.data_[a]:a}return o},e.prototype.forDataAtCoordinate=function(t,e,r){this.state==Wf.a.EMPTY&&!0===r?(this.state=Wf.a.IDLE,Object(eo.b)(this,fo.a.CHANGE,(function(r){e(this.getData(t))}),this),this.loadInternal_()):!0===r?setTimeout(function(){e(this.getData(t))}.bind(this),0):e(this.getData(t))},e.prototype.getKey=function(){return this.src_},e.prototype.handleError_=function(){this.state=Wf.a.ERROR,this.changed()},e.prototype.handleLoad_=function(t){this.grid_=t.grid,this.keys_=t.keys,this.data_=t.data,this.state=Wf.a.LOADED,this.changed()},e.prototype.loadInternal_=function(){if(this.state==Wf.a.IDLE)if(this.state=Wf.a.LOADING,this.jsonp_)Object(nJ.a)(this.src_,this.handleLoad_.bind(this),this.handleError_.bind(this));else{var t=new XMLHttpRequest;t.addEventListener("load",this.onXHRLoad_.bind(this)),t.addEventListener("error",this.onXHRError_.bind(this)),t.open("GET",this.src_),t.send()}},e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleError_()}this.handleLoad_(r)}else this.handleError_()},e.prototype.onXHRError_=function(t){this.handleError_()},e.prototype.load=function(){this.preemptive_?this.loadInternal_():this.setState(Wf.a.EMPTY)},e}($k.a),l5=function(t){function e(e){var r=t.call(this,{projection:Object(u.o)("EPSG:3857"),state:"loading",zDirection:e.zDirection})||this;if(r.preemptive_=void 0===e.preemptive||e.preemptive,r.tileUrlFunction_=ep,r.template_=void 0,r.jsonp_=e.jsonp||!1,e.url)if(r.jsonp_)Object(nJ.a)(e.url,r.handleTileJSONResponse.bind(r),r.handleTileJSONError.bind(r));else{var n=new XMLHttpRequest;n.addEventListener("load",r.onXHRLoad_.bind(r)),n.addEventListener("error",r.onXHRError_.bind(r)),n.open("GET",e.url),n.send()}else e.tileJSON?r.handleTileJSONResponse(e.tileJSON):Object(go.a)(!1,51);return r}return a5(e,t),e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(r)}else this.handleTileJSONError()},e.prototype.onXHRError_=function(t){this.handleTileJSONError()},e.prototype.getTemplate=function(){return this.template_},e.prototype.forDataAtCoordinateAndResolution=function(t,e,r,n){if(this.tileGrid){var i=this.tileGrid.getZForResolution(e,this.zDirection),o=this.tileGrid.getTileCoordForCoordAndZ(t,i);this.getTile(o[0],o[1],o[2],1,this.getProjection()).forDataAtCoordinate(t,r,n)}else!0===n?setTimeout((function(){r(null)}),0):r(null)},e.prototype.handleTileJSONError=function(){this.setState("error")},e.prototype.handleTileJSONResponse=function(t){var e,r=Object(u.o)("EPSG:4326"),n=this.getProjection();if(void 0!==t.bounds){var i=Object(u.r)(r,n);e=Object(mt.a)(t.bounds,i)}var o=Object(ap.b)(n),a=t.minzoom||0,s=t.maxzoom||22,l=Object(ap.a)({extent:o,maxZoom:s,minZoom:a});this.tileGrid=l,this.template_=t.template;var c=t.grids;if(c){if(this.tileUrlFunction_=$f(c,l),void 0!==t.attribution){var h=void 0!==e?e:o;this.setAttributions((function(e){return Object(mt.H)(h,e.extent)?[t.attribution]:null}))}this.setState("ready")}else this.setState("error")},e.prototype.getTile=function(t,e,r,n,i){var o=Object(Jf.e)(t,e,r);if(this.tileCache.containsKey(o))return this.tileCache.get(o);var a=[t,e,r],s=this.getTileCoordForTileUrlFunction(a,i),l=this.tileUrlFunction_(s,n,i),u=new s5(a,void 0!==l?Wf.a.IDLE:Wf.a.EMPTY,void 0!==l?l:"",this.tileGrid.getTileCoordExtent(a),this.preemptive_,this.jsonp_);return this.tileCache.set(o,u),u},e.prototype.useTile=function(t,e,r){var n=Object(Jf.e)(t,e,r);this.tileCache.containsKey(n)&&this.tileCache.get(n)},e}(Kf.b);var u5=window.M={},c5=window.ol={};u5.ClusteredFeature=nG,u5.Control=Gu,u5.Feature=JD,u5.Filter=Yx,u5.Label=TP,u5.Layer=th,u5.Map=MF,u5.Object=Cl,u5.Parameters=LP,u5.Plugin=hG,u5.Popup=Ix,u5.RenderFeature=DP,u5.Style=__,u5.addProxyException=function(t){var e=new URL(t).origin;-1===NF.indexOf(e)&&NF.push(e)},u5.config=function t(e,r){t[e]=r},u5.control={},u5.control.GetFeatureInfo=WT,u5.control.LayerSwitcher=Rw,u5.control.Location=uE,u5.control.Mouse=cO,u5.control.Navtoolbar=XO,u5.control.OverviewMap=kO,u5.control.Panzoom=hI,u5.control.Panzoombar=$u,u5.control.Rotate=tS,u5.control.Rotate.onClick=JE,u5.control.Rotate.onMouseDown=ZE,u5.control.Rotate.onMouseMove=QE,u5.control.Rotate.onMouseUp=KE,u5.control.Scale=RE,u5.control.ScaleLine=kS,u5.control.WMCSelector=Jd,u5.dialog={},u5.dialog.error=zx,u5.dialog.info=Bx,u5.dialog.show=Ux,u5.dialog.success=Vx,u5.evt={},u5.evt.ACTIVATED=su,u5.evt.ADDED_GEOPACKAGE="added:geopackage",u5.evt.ADDED_GEOPACKAGE_TILE="added:geopackagetile",u5.evt.ADDED_GEOPACKAGE_VECTOR="added:geopackagevector",u5.evt.ADDED_KML=tu,u5.evt.ADDED_LAYER=Ql,u5.evt.ADDED_MBTILES="added:mbtiles",u5.evt.ADDED_MBTILES_VECTOR="added:mbtilesvector",u5.evt.ADDED_TO_MAP=Kl,u5.evt.ADDED_TO_PANEL=Jl,u5.evt.ADDED_VECTOR_TILE=nu,u5.evt.ADDED_WFS=ru,u5.evt.ADDED_WMC=$l,u5.evt.ADDED_WMS=eu,u5.evt.ADDED_WMTS=au,u5.evt.CHANGE=_u,u5.evt.CHANGE_PROJ=bu,u5.evt.CHANGE_ROTATION=Eu,u5.evt.CHANGE_STYLE=xu,u5.evt.CHANGE_WMC=vu,u5.evt.CHANGE_ZOOM=wu,u5.evt.CLICK=Su,u5.evt.COMPLETED=mu,u5.evt.DEACTIVATED=lu,u5.evt.DESTROY=hu,u5.evt.DOUBLE_CLICK="doubleclick",u5.evt.EventsManager=Ol,u5.evt.HIDE=cu,u5.evt.HOVER_FEATURES=du,u5.evt.LEAVE_FEATURES=gu,u5.evt.LOAD=yu,u5.evt.LOAD_LAYERS="load:layers",u5.evt.Listener=El,u5.evt.MOVE=Ou,u5.evt.POPUP_ADDED=Iu,u5.evt.POPUP_ADDED_TAB=Tu,u5.evt.POPUP_REMOVED=Cu,u5.evt.POPUP_REMOVED_TAB=Pu,u5.evt.REMOVED_FROM_MAP=ou,u5.evt.REMOVED_LAYER=iu,u5.evt.SELECT_FEATURES=fu,u5.evt.SHOW=uu,u5.evt.UNSELECT_FEATURES=pu,u5.exception=Bl,u5.facade={},u5.facade.Base=Zl,u5.filter=OG,u5.filter.AND=function(t){var e="",r=t.length;return t.forEach((function(t,n){e+="(".concat(t.toCQL(),")"),ne}),{cqlFilter:"".concat(t," > '").concat(e,"'")})},u5.filter.GTE=function(t,e){return new vG((function(r){return null!=r.getAttribute(t)&&r.getAttribute(t)>=e}),{cqlFilter:"".concat(t," >= '").concat(e,"'")})},u5.filter.LIKE=function(t,e){return new vG((function(r){return r.getAttribute(t).toString().match(new RegExp(e))}),{cqlFilter:"".concat(t," LIKE '%").concat(e,"%'")})},u5.filter.LT=function(t,e){return new vG((function(r){return null!=r.getAttribute(t)&&r.getAttribute(t)/g,">").replace(/'/g,""").replace(/'/g,"'").replace(/\//g,"/")},u5.utils.extend=vD,u5.utils.extendsObj=TD,u5.utils.fillResolutions=cD,u5.utils.generateColorScale=ID,u5.utils.generateIntervals=PD,u5.utils.generateRandom=sD,u5.utils.generateResolutionsFromExtent=fD,u5.utils.generateResolutionsFromScales=function(t,e,r,n){var i=hD(t,n),o=hD(e,n);return cD(i,o,r)},u5.utils.getEnvolvedExtent=UD,u5.utils.getImageSize=LD,u5.utils.getOpacityFromRgba=function(t){var e,r=/^rgba\s*\((\s*\d+\s*,){3}\s*([\d.]+)\s*\)$/;if(r.test(t)){e=t.replace(r,"$2");try{e=parseFloat(e)}catch(t){throw t}}return e},u5.utils.getParameterValue=oD,u5.utils.getResolutionFromScale=hD,u5.utils.getRgba=function(t,e){return l()(t).alpha(e).css()},u5.utils.getScaleFromResolution=pD,u5.utils.getSystem=BD,u5.utils.getTextFromHtml=OD,u5.utils.getWMSGetCapabilitiesUrl=lD,u5.utils.getWMTSGetCapabilitiesUrl=uD,u5.utils.htmlToString=function(t){var e;if(!QF(t)){var r=document.createElement("div");r.appendChild(t),e=r.innerHTML}return e},u5.utils.includes=_D,u5.utils.inverseColor=CD,u5.utils.isArray=JF,u5.utils.isBoolean=ZF,u5.utils.isDynamic=FD,u5.utils.isFunction=$F,u5.utils.isGeometryType=ED,u5.utils.isNull=KF,u5.utils.isNullOrEmpty=QF,u5.utils.isNumber=nD,u5.utils.isObject=tD,u5.utils.isPositiveNumber=function(t){return nD(t)&&t>0},u5.utils.isString=eD,u5.utils.isUndefined=HF,u5.utils.isUrl=rD,u5.utils.normalize=iD,u5.utils.rgbToHex=function(t){var e;try{e=l()(t).hex()}catch(t){throw t}return e},u5.utils.rgbaToHex=function(t){var e;try{e=l()(t).hex()}catch(t){throw t}return e},u5.utils.sameUrl=wD,u5.utils.setDynamicLegend=function(t){DD=t},u5.utils.setEquals=function(t,e){var r=!1;return t.length===e.length&&(r=t.every((function(t){return e.some((function(e){return e.equals(t)}))}))),r},u5.utils.stringToHtml=dD,u5.utils.stringifyFunctions=MD,u5.utils.styleComparator=RD,u5.version=kF,u5.window=ix,c5.AssertionError=io.a,c5.Collection=ho,c5.Feature=gh,c5.Geolocation=Vw,c5.Kinetic=ul,c5.Map=bl,c5.MapBrowserEvent=Eo,c5.Object=Pi.a,c5.Observable=Ig.a,c5.Observable.unByKey=Ig.b,c5.Overlay=ex,c5.PluggableMap=ss,c5.View=rs,c5.View=rs,c5.array={},c5.array.stableSort=h.k,c5.color={},c5.color.asArray=ui.a,c5.color.asString=ui.b,c5.colorlike={},c5.colorlike.asColorLike=sy,c5.control={},c5.control.Attribution=hs,c5.control.Control=us,c5.control.FullScreen=eH,c5.control.MousePosition=BS,c5.control.OverviewMap=gO,c5.control.Rotate=ps,c5.control.ScaleLine=cS,c5.control.Zoom=gs,c5.control.ZoomSlider=Al,c5.control.ZoomToExtent=nH,c5.control.defaults=ys,c5.coordinate={},c5.coordinate.add=di.a,c5.coordinate.createStringXY=di.d,c5.coordinate.format=di.h,c5.coordinate.rotate=di.j,c5.coordinate.toStringHDMS=di.n,c5.coordinate.toStringXY=di.o,c5.easing={},c5.easing.easeIn=Qo.easeIn,c5.easing.easeOut=Qo.easeOut,c5.easing.inAndOut=Qo.inAndOut,c5.easing.linear=Qo.linear,c5.easing.upAndDown=Qo.upAndDown,c5.events={},c5.events.condition={},c5.events.condition.altKeyOnly=Cs,c5.events.condition.altShiftKeysOnly=Ts,c5.events.condition.always=Ls,c5.events.condition.click=function(t){return t.type==So.CLICK},c5.events.condition.doubleClick=function(t){return t.type==So.DBLCLICK},c5.events.condition.focus=Ps,c5.events.condition.mouseOnly=Ds,c5.events.condition.never=As,c5.events.condition.noModifierKeys=ks,c5.events.condition.penOnly=function(t){var e=t.originalEvent;return Object(go.a)(void 0!==e,56),"pen"===e.pointerType},c5.events.condition.platformModifierKeyOnly=function(t){var e=t.originalEvent;return!e.altKey&&(Li.d?e.metaKey:e.ctrlKey)&&!e.shiftKey},c5.events.condition.pointerMove=function(t){return"pointermove"==t.type},c5.events.condition.primaryAction=Gs,c5.events.condition.shiftKeyOnly=js,c5.events.condition.singleClick=Ns,c5.events.condition.targetNotEditable=Fs,c5.events.condition.touchOnly=function(t){var e=t.originalEvent;return Object(go.a)(void 0!==e,56),"touch"===e.pointerType},c5.extent={},c5.extent.applyTransform=mt.a,c5.extent.boundingExtent=mt.c,c5.extent.buffer=mt.d,c5.extent.containsCoordinate=mt.g,c5.extent.containsExtent=mt.h,c5.extent.containsXY=mt.i,c5.extent.createEmpty=mt.k,c5.extent.equals=mt.p,c5.extent.extend=mt.q,c5.extent.getArea=mt.u,c5.extent.getBottomLeft=mt.v,c5.extent.getBottomRight=mt.w,c5.extent.getCenter=mt.x,c5.extent.getHeight=mt.A,c5.extent.getIntersection=mt.B,c5.extent.getSize=mt.D,c5.extent.getTopLeft=mt.E,c5.extent.getTopRight=mt.F,c5.extent.getWidth=mt.G,c5.extent.intersects=mt.H,c5.extent.isEmpty=mt.J,c5.featureloader={},c5.featureloader.setWithCredentials=function(t){Gg=t},c5.featureloader.xhr=Bg,c5.format={},c5.format.EsriJSON=hH,c5.format.Feature=fI,c5.format.GML=OA,c5.format.GML2=OI,c5.format.GML3=PI,c5.format.GML32=MI,c5.format.GMLBase=xI,c5.format.GPX=XH,c5.format.GeoJSON=WM,c5.format.IGC=rZ,c5.format.IIIFInfo=fZ,c5.format.KML=fM,c5.format.MVT=Ij,c5.format.OSMXML=bZ,c5.format.Polyline=TZ,c5.format.Polyline.decodeDeltas=SZ,c5.format.Polyline.decodeFloats=IZ,c5.format.Polyline.encodeDeltas=EZ,c5.format.Polyline.encodeFloats=OZ,c5.format.TopoJSON=FZ,c5.format.WFS=xT,c5.format.WFS.writeFilter=function(t,e){var r=e||"1.1.0",n=p(bT(r),"Filter"),i={node:n};return Object(Mi.a)(i,{version:r,filter:t}),iT(n,t,[i]),n},c5.format.WKB=QZ,c5.format.WKT=HG,c5.format.WMSCapabilities=Pf,c5.format.WMSGetFeatureInfo=tK,c5.format.WMTSCapabilities=kt,c5.format.filter={},c5.format.filter.Bbox=GI,c5.format.filter.Contains=VI,c5.format.filter.DWithin=YI,c5.format.filter.Disjoint=XI,c5.format.filter.During=JI,c5.format.filter.EqualTo=eC,c5.format.filter.GreaterThan=nC,c5.format.filter.GreaterThanOrEqualTo=oC,c5.format.filter.Intersects=sC,c5.format.filter.IsBetween=uC,c5.format.filter.IsLike=hC,c5.format.filter.IsNull=pC,c5.format.filter.LessThan=gC,c5.format.filter.LessThanOrEqualTo=mC,c5.format.filter.Not=vC,c5.format.filter.NotEqualTo=xC,c5.format.filter.Or=EC,c5.format.filter.Within=IC,c5.format.filter.and=CC,c5.format.filter.bbox=TC,c5.format.filter.between=function(t,e,r){return new uC(t,e,r)},c5.format.filter.contains=function(t,e,r){return new VI(t,e,r)},c5.format.filter.disjoint=function(t,e,r){return new XI(t,e,r)},c5.format.filter.during=function(t,e,r){return new JI(t,e,r)},c5.format.filter.dwithin=function(t,e,r,n,i){return new YI(t,e,r,n,i)},c5.format.filter.equalTo=function(t,e,r){return new eC(t,e,r)},c5.format.filter.greaterThan=function(t,e){return new nC(t,e)},c5.format.filter.greaterThanOrEqualTo=function(t,e){return new oC(t,e)},c5.format.filter.intersects=function(t,e,r){return new sC(t,e,r)},c5.format.filter.isNull=function(t){return new pC(t)},c5.format.filter.lessThan=function(t,e){return new gC(t,e)},c5.format.filter.lessThanOrEqualTo=function(t,e){return new mC(t,e)},c5.format.filter.like=function(t,e,r,n,i,o){return new hC(t,e,r,n,i,o)},c5.format.filter.not=function(t){return new vC(t)},c5.format.filter.notEqualTo=function(t,e,r){return new xC(t,e,r)},c5.format.filter.or=function(t){var e=[null].concat(Array.prototype.slice.call(arguments));return new(Function.prototype.bind.apply(EC,e))},c5.format.filter.within=function(t,e,r){return new IC(t,e,r)},c5.geom={},c5.geom.Circle=Dh,c5.geom.Geometry=la,c5.geom.GeometryCollection=kh,c5.geom.LineString=Eh,c5.geom.LinearRing=La,c5.geom.MultiLineString=Oh,c5.geom.MultiPoint=mh,c5.geom.MultiPolygon=Th,c5.geom.Point=Aa,c5.geom.Polygon=Xa,c5.geom.Polygon.circular=Ha,c5.geom.Polygon.fromCircle=Ka,c5.geom.Polygon.fromExtent=Za,c5.geom.SimpleGeometry=ha,c5.has={},c5.has.DEVICE_PIXEL_RATIO=Li.a,c5.interaction={},c5.interaction.DoubleClickZoom=ws,c5.interaction.DragAndDrop=iK,c5.interaction.DragBox=Qs,c5.interaction.DragPan=Bs,c5.interaction.DragRotate=Vs,c5.interaction.DragRotateAndZoom=aK,c5.interaction.DragZoom=tl,c5.interaction.Draw=yK,c5.interaction.Draw.createBox=function(){return function(t,e,r){var n=Object(mt.c)([t[0],t[t.length-1]].map((function(t){return Object(u.l)(t,r)}))),i=[[Object(mt.v)(n),Object(mt.w)(n),Object(mt.F)(n),Object(mt.E)(n),Object(mt.v)(n)]],o=e;o?o.setCoordinates(i):o=new Xa(i);var a=Object(u.s)();return a&&o.transform(r,a),o}},c5.interaction.Draw.createRegularPolygon=function(t,e){return function(r,n,i){var o=Object(u.l)(r[0],i),a=Object(u.l)(r[r.length-1],i),s=Math.sqrt(Object(di.l)(o,a)),l=n||Ka(new Dh(o),t),c=e;if(!e&&0!==e){var h=a[0]-o[0],f=a[1]-o[1];c=Math.atan2(f,h)}Ja(l,o,s,c);var p=Object(u.s)();return p&&l.transform(i,p),l}},c5.interaction.Extent=EK,c5.interaction.Interaction=bs,c5.interaction.KeyboardPan=al,c5.interaction.KeyboardZoom=ll,c5.interaction.Link=TK,c5.interaction.Modify=GK,c5.interaction.MouseWheelZoom=pl,c5.interaction.PinchRotate=gl,c5.interaction.PinchZoom=ml,c5.interaction.Pointer=Os,c5.interaction.Select=tb,c5.interaction.Snap=VK,c5.interaction.Translate=ZK,c5.interaction.defaults=_l,c5.layer={},c5.layer.Base=po.a,c5.layer.BaseImage=KK.a,c5.layer.BaseTile=JK.a,c5.layer.BaseVector=K_,c5.layer.Graticule=rJ,c5.layer.Group=vo,c5.layer.Heatmap=cB,c5.layer.Image=rh.a,c5.layer.Layer=pi.a,c5.layer.MapboxVector=$0,c5.layer.Tile=eh.a,c5.layer.Vector=Gv,c5.layer.VectorImage=o1,c5.layer.VectorTile=_j,c5.layer.VectorTileRenderType={},c5.layer.VectorTileRenderType.HYBRID=void 0,c5.layer.VectorTileRenderType.IMAGE=void 0,c5.layer.VectorTileRenderType.VECTOR=void 0,c5.layer.WebGLTile=p2,c5.loadingstrategy={},c5.loadingstrategy.all=Dg,c5.loadingstrategy.bbox=function(t,e){return[t]},c5.loadingstrategy.tile=function(t){return function(e,r,n){var i=t.getZForResolution(Object(u.n)(r,n)),o=t.getTileRangeForExtentAndZ(Object(u.m)(e,n),i),a=[],s=[i,0,0];for(s[1]=o.minX;s[1]<=o.maxX;++s[1])for(s[2]=o.minY;s[2]<=o.maxY;++s[2])a.push(Object(u.x)(t.getTileCoordExtent(s),n));return a}},c5.proj={},c5.proj.Projection=Kn.a,c5.proj.Units=Jn.b,c5.proj.Units.METERS_PER_UNIT=Jn.a,c5.proj.addCoordinateTransforms=u.c,c5.proj.addEquivalentProjections=u.d,c5.proj.addProjection=u.e,c5.proj.clearUserProjection=u.f,c5.proj.equivalent=u.j,c5.proj.fromLonLat=u.k,c5.proj.get=u.o,c5.proj.getPointResolution=u.p,c5.proj.getTransform=u.q,c5.proj.getUserProjection=u.s,c5.proj.proj4={},c5.proj.proj4.register=$n,c5.proj.setUserProjection=u.u,c5.proj.toLonLat=u.v,c5.proj.transform=u.z,c5.proj.transformExtent=u.A,c5.proj.useGeographic=u.B,c5.render={},c5.render.Feature={},c5.render.Feature.toFeature=function(t,e){var r=t.getId(),n=Lh(t),i=t.getProperties(),o=new gh;return void 0!==e&&o.setGeometryName(e),o.setGeometry(n),void 0!==r&&o.setId(r),o.setProperties(i,!0),o},c5.render.Feature.toGeometry=Lh,c5.render.VectorContext=ay,c5.render.canvas={},c5.render.canvas.checkedFonts=Vi,c5.render.canvas.labelCache=qi,c5.render.canvas.registerFont=Zi,c5.render.getRenderPixel=function(t,e){return Object(li.a)(t.inversePixelTransform,e.slice(0))},c5.render.getVectorContext=my,c5.render.toContext=yy,c5.renderer={},c5.renderer.Composite=no,c5.renderer.canvas={},c5.renderer.canvas.ImageLayer=t1.a,c5.renderer.canvas.TileLayer=lj.a,c5.renderer.canvas.VectorImageLayer=n1,c5.renderer.canvas.VectorLayer=Fv,c5.renderer.canvas.VectorTileLayer=gj,c5.renderer.webgl={},c5.renderer.webgl.PointsLayer=iB,c5.renderer.webgl.TileLayer=k1,c5.size={},c5.size.toSize=ns.d,c5.source={},c5.source.BingMaps=g2,c5.source.CartoDB=m2,c5.source.Cluster=Wg,c5.source.DataTile=v2,c5.source.GeoTIFF=M3,c5.source.IIIF=U3,c5.source.Image=Sp.a,c5.source.ImageArcGISRest=z3,c5.source.ImageCanvas=q3,c5.source.ImageMapGuide=W3,c5.source.ImageStatic=Z3,c5.source.ImageWMS=Tp,c5.source.OSM=jk,c5.source.OSM.ATTRIBUTION=kk,c5.source.Raster=K3.a,c5.source.Source=Rg.a,c5.source.Stamen=e5,c5.source.Tile=Kf.b,c5.source.TileArcGISRest=n5,c5.source.TileDebug=o5,c5.source.TileImage=up,c5.source.TileJSON=oJ,c5.source.TileWMS=dp,c5.source.UTFGrid=l5,c5.source.Vector=qg,c5.source.VectorTile=aj,c5.source.WMTS=QN,c5.source.WMTS.optionsFromCapabilities=$N,c5.source.XYZ=mk,c5.source.Zoomify=F3,c5.source.sourcesFromTileGrid=function(t,e){var r=new a1.a(32),n=t.getExtent();return function(i,o){r.expireCache(),n&&(i=Object(mt.B)(n,i));var a=t.getZForResolution(o),s=[];return t.forEachTileCoord(i,a,(function(t){var n=t.toString();if(!r.containsKey(n)){var i=e(t);r.set(n,i)}s.push(r.get(n))})),s}},c5.sphere={},c5.sphere.getArea=qa.a,c5.sphere.getDistance=qa.b,c5.sphere.getLength=qa.c,c5.style={},c5.style.Circle=Ky,c5.style.Fill=Jy,c5.style.Icon=oy,c5.style.IconAnchorUnits={},c5.style.IconAnchorUnits.FRACTION=void 0,c5.style.IconAnchorUnits.PIXELS=void 0,c5.style.IconImageCache={},c5.style.IconImageCache.shared=fi,c5.style.IconOrigin={},c5.style.IconOrigin.BOTTOM_LEFT=void 0,c5.style.IconOrigin.BOTTOM_RIGHT=void 0,c5.style.IconOrigin.TOP_LEFT=void 0,c5.style.IconOrigin.TOP_RIGHT=void 0,c5.style.Image=ty,c5.style.RegularShape=vy,c5.style.Stroke=Qy,c5.style.Style=om,c5.style.Text=lm,c5.tilegrid={},c5.tilegrid.TileGrid=nh.a,c5.tilegrid.WMTS=ZN,c5.tilegrid.WMTS.createFromCapabilitiesMatrixSet=KN,c5.tilegrid.createXYZ=ap.a,c5.transform={},c5.transform.composeCssTransform=li.c,c5.util={},c5.util.getUid=si.c,c5.webgl={},c5.webgl.ARRAY_BUFFER=xU,c5.webgl.Buffer=PU,c5.webgl.DYNAMIC_DRAW=SU,c5.webgl.ELEMENT_ARRAY_BUFFER=wU,c5.webgl.Helper=ZU,c5.webgl.Helper.computeAttributesStride=XU,c5.webgl.PostProcessingPass=NU,c5.webgl.RenderTarget=eB,c5.webgl.STATIC_DRAW=EU,c5.webgl.STREAM_DRAW=35040,c5.xml={},c5.xml.getAllTextContent=d,c5.xml.parse=m,c5.xml.registerDocument=function(t){k=t},c5.xml.registerXMLSerializer=function(t){N=t},window.jsts=r(163),window.Handlebars=r(60),u5.plugin={}},,,function(t,e,r){"use strict";r.r(e),function(t){r.d(e,"create",(function(){return o}));var n=r(121),i=r.n(n);function o(){const e='function e(e,t,r,n,i,a,o){try{var s=e[a](o),f=s.value}catch(e){return void r(e)}s.done?t(f):Promise.resolve(f).then(n,i)}function t(t){return function(){var r=this,n=arguments;return new Promise((function(i,a){var o=t.apply(r,n);function s(t){e(o,i,a,s,f,"next",t)}function f(t){e(o,i,a,s,f,"throw",t)}s(void 0)}))}}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var n={exports:{}};!function(e){var t=function(e){var t,n=Object.prototype,i=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var i=t&&t.prototype instanceof y?t:y,a=Object.create(i.prototype),o=new T(n||[]);return a._invoke=function(e,t,r){var n=h;return function(i,a){if(n===p)throw new Error("Generator is already running");if(n===m){if("throw"===i)throw a;return E()}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=I(o,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===h)throw n=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var f=c(e,t,r);if("normal"===f.type){if(n=r.done?m:d,f.arg===v)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(n=m,r.method="throw",r.arg=f.arg)}}}(e,r,o),a}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var h="suspendedStart",d="suspendedYield",p="executing",m="completed",v={};function y(){}function w(){}function g(){}var b={};l(b,o,(function(){return this}));var k=Object.getPrototypeOf,x=k&&k(k(D([])));x&&x!==n&&i.call(x,o)&&(b=x);var _=g.prototype=y.prototype=Object.create(b);function A(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function n(a,o,s,f){var l=c(e[a],e,o);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"===r(h)&&i.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,f)}),(function(e){n("throw",e,s,f)})):t.resolve(h).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,f)}))}f(l.arg)}var a;this._invoke=function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return a=a?a.then(i,i):i()}}function I(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,I(e,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a \'throw\' method")}return v}var i=c(n,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function U(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(U,this),this.reset(!0)}function D(e){if(e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var f=i.call(o,"catchLoc"),l=i.call(o,"finallyLoc");if(f&&l){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:D(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"===("undefined"==typeof globalThis?"undefined":r(globalThis))?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(n);var i=n.exports,a=new Map;function o(e,t){Array.isArray(e)||(e=[e]),e.forEach((function(e){return a.set(e,t)}))}function s(e){return f.apply(this,arguments)}function f(){return(f=t(i.mark((function e(t){var r,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.get(t.Compression)){e.next=3;break}throw new Error("Unknown compression method identifier: ".concat(t.Compression));case 3:return e.next=5,r();case 5:return n=e.sent,e.abrupt("return",new n(t));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}o([void 0,1],(function(){return Promise.resolve().then((function(){return _})).then((function(e){return e.default}))})),o(5,(function(){return Promise.resolve().then((function(){return S})).then((function(e){return e.default}))})),o(6,(function(){throw new Error("old style JPEG compression is not supported.")})),o(7,(function(){return Promise.resolve().then((function(){return L})).then((function(e){return e.default}))})),o([8,32946],(function(){return Promise.resolve().then((function(){return Ne})).then((function(e){return e.default}))})),o(32773,(function(){return Promise.resolve().then((function(){return Ye})).then((function(e){return e.default}))})),o(34887,(function(){return Promise.resolve().then((function(){return ut})).then((function(e){return e.default}))})),o(50001,(function(){return Promise.resolve().then((function(){return dt})).then((function(e){return e.default}))}));var l=globalThis;function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var r=0;r0;i--)e[n+t]+=e[n],n++;r-=t}while(r>0)}function w(e,t,r){for(var n=0,i=e.length,a=i/r;i>t;){for(var o=t;o>0;--o)e[n+t]+=e[n],++n;i-=t}for(var s=e.slice(),f=0;f=e.byteLength);++l){var u=void 0;if(2===t){switch(i[0]){case 8:u=new Uint8Array(e,l*f*r*s,f*r*s);break;case 16:u=new Uint16Array(e,l*f*r*s,f*r*s/2);break;case 32:u=new Uint32Array(e,l*f*r*s,f*r*s/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(i[0]," bits per sample."))}y(u,f)}else 3===t&&w(u=new Uint8Array(e,l*f*r*s,f*r*s),f,s)}return e}l.addEventListener("message",function(){var e=t(i.mark((function e(t){var r,n,a,o,f,u;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.data,n=r.id,a=r.fileDirectory,o=r.buffer,e.next=3,s(a);case 3:return f=e.sent,e.next=6,f.decode(a,o);case 6:u=e.sent,l.postMessage({decoded:u,id:n},[u]);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());var b=function(){function e(){u(this,e)}var r;return h(e,[{key:"decode",value:(r=t(i.mark((function e(t,r){var n,a,o,s,f;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decodeBlock(r);case 2:if(n=e.sent,1===(a=t.Predictor||1)){e.next=9;break}return o=!t.StripOffsets,s=o?t.TileWidth:t.ImageWidth,f=o?t.TileLength:t.RowsPerStrip||t.ImageLength,e.abrupt("return",g(n,a,s,f,t.BitsPerSample,t.PlanarConfiguration));case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})}]),e}();function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var x=function(e){p(r,b);var t=k(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return e}}]),r}(),_=Object.freeze({__proto__:null,default:x});function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}function P(e,t){for(var r=t.length-1;r>=0;r--)e.push(t[r]);return e}function I(e){for(var t=new Uint16Array(4093),r=new Uint8Array(4093),n=0;n<=257;n++)t[n]=4096,r[n]=n;var i=258,a=9,o=0;function s(){i=258,a=9}function f(e){var t=function(e,t,r){var n=t%8,i=Math.floor(t/8),a=8-n,o=t+r-8*(i+1),s=8*(i+2)-(t+r),f=8*(i+2)-t;if(s=Math.max(0,s),i>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;var l=e[i]&Math.pow(2,8-n)-1,u=l<<=r-a;if(i+1>>s;u+=c<<=Math.max(0,r-f)}if(o>8&&i+2>>h}return u}(e,o,a);return o+=a,t}function l(e,n){return r[i]=n,t[i]=e,++i-1}function u(e){for(var n=[],i=e;4096!==i;i=t[i])n.push(r[i]);return n}var c=[];s();for(var h,d=new Uint8Array(e),p=f(d);257!==p;){if(256===p){for(s(),p=f(d);256===p;)p=f(d);if(257===p)break;if(p>256)throw new Error("corrupted code at scanline ".concat(p));P(c,u(p)),h=p}else if(p=Math.pow(2,a)&&(12===a?h=void 0:a++),p=f(d)}return new Uint8Array(c)}var U=function(e){p(r,b);var t=A(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return I(e).buffer}}]),r}(),S=Object.freeze({__proto__:null,default:U});function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var D=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function E(e,t){for(var r=0,n=[],i=16;i>0&&!e[i-1];)--i;n.push({children:[],index:0});for(var a,o=n[0],s=0;s0;)o=n.pop();for(o.index++,n.push(o);n.length<=s;)n.push(a={children:[],index:0}),o.children[o.index]=a.children,o=a;r++}s+10)return m--,p>>m&1;if(255===(p=e[d++])){var t=e[d++];if(t)throw new Error("unexpected marker: ".concat((p<<8|t).toString(16)))}return m=7,p>>>7}function y(e){for(var t,n=e;null!==(t=v());){if("number"==typeof(n=n[t]))return n;if("object"!==r(n))throw new Error("invalid huffman sequence")}return null}function w(e){for(var t=e,r=0;t>0;){var n=v();if(null===n)return;r=r<<1|n,--t}return r}function g(e){var t=w(e);return t>=1<0)b--;else for(var r=o,n=s;r<=n;){var i=y(e.huffmanTableAC),a=15&i,f=i>>4;if(0===a){if(f<15){b=w(f)+(1<>4,0===c)i<15?(b=w(i)+(1<>4;if(0===o){if(s<15)break;i+=16}else t[D[i+=s]]=g(o),i++}};var O,M,C=0;M=1===B?i[0].blocksPerLine*i[0].blocksPerColumn:u*n.mcusPerColumn;for(var L=a||M;C=65488&&O<=65495))break;d+=2}return d-h}function O(e,t){var r=[],n=t.blocksPerLine,i=t.blocksPerColumn,a=n<<3,o=new Int32Array(64),s=new Uint8Array(64);function f(e,r,n){var i,a,o,s,f,l,u,c,h,d,p=t.quantizationTable,m=n;for(d=0;d<64;d++)m[d]=e[d]*p[d];for(d=0;d<8;++d){var v=8*d;0!==m[1+v]||0!==m[2+v]||0!==m[3+v]||0!==m[4+v]||0!==m[5+v]||0!==m[6+v]||0!==m[7+v]?(i=5793*m[0+v]+128>>8,a=5793*m[4+v]+128>>8,o=m[2+v],s=m[6+v],f=2896*(m[1+v]-m[7+v])+128>>8,c=2896*(m[1+v]+m[7+v])+128>>8,l=m[3+v]<<4,h=i-a+1>>1,i=i+a+1>>1,a=h,h=3784*o+1567*s+128>>8,o=1567*o-3784*s+128>>8,s=h,h=f-(u=m[5+v]<<4)+1>>1,f=f+u+1>>1,u=h,h=c+l+1>>1,l=c-l+1>>1,c=h,h=i-s+1>>1,i=i+s+1>>1,s=h,h=a-o+1>>1,a=a+o+1>>1,o=h,h=2276*f+3406*c+2048>>12,f=3406*f-2276*c+2048>>12,c=h,h=799*l+4017*u+2048>>12,l=4017*l-799*u+2048>>12,u=h,m[0+v]=i+c,m[7+v]=i-c,m[1+v]=a+u,m[6+v]=a-u,m[2+v]=o+l,m[5+v]=o-l,m[3+v]=s+f,m[4+v]=s-f):(h=5793*m[0+v]+512>>10,m[0+v]=h,m[1+v]=h,m[2+v]=h,m[3+v]=h,m[4+v]=h,m[5+v]=h,m[6+v]=h,m[7+v]=h)}for(d=0;d<8;++d){var y=d;0!==m[8+y]||0!==m[16+y]||0!==m[24+y]||0!==m[32+y]||0!==m[40+y]||0!==m[48+y]||0!==m[56+y]?(i=5793*m[0+y]+2048>>12,a=5793*m[32+y]+2048>>12,o=m[16+y],s=m[48+y],f=2896*(m[8+y]-m[56+y])+2048>>12,c=2896*(m[8+y]+m[56+y])+2048>>12,l=m[24+y],h=i-a+1>>1,i=i+a+1>>1,a=h,h=3784*o+1567*s+2048>>12,o=1567*o-3784*s+2048>>12,s=h,h=f-(u=m[40+y])+1>>1,f=f+u+1>>1,u=h,h=c+l+1>>1,l=c-l+1>>1,c=h,h=i-s+1>>1,i=i+s+1>>1,s=h,h=a-o+1>>1,a=a+o+1>>1,o=h,h=2276*f+3406*c+2048>>12,f=3406*f-2276*c+2048>>12,c=h,h=799*l+4017*u+2048>>12,l=4017*l-799*u+2048>>12,u=h,m[0+y]=i+c,m[56+y]=i-c,m[8+y]=a+u,m[48+y]=a-u,m[16+y]=o+l,m[40+y]=o-l,m[24+y]=s+f,m[32+y]=s-f):(h=5793*n[d+0]+8192>>14,m[0+y]=h,m[8+y]=h,m[16+y]=h,m[24+y]=h,m[32+y]=h,m[40+y]=h,m[48+y]=h,m[56+y]=h)}for(d=0;d<64;++d){var w=128+(m[d]+8>>4);r[d]=w<0?0:w>255?255:w}}for(var l=0;l>4==0)for(var c=0;c<64;c++){u[D[c]]=e[t++]}else{if(l>>4!=1)throw new Error("DQT: invalid table spec");for(var h=0;h<64;h++){u[D[h]]=r()}}this.quantizationTables[15&l]=u}break;case 65472:case 65473:case 65474:r();for(var d={extended:65473===o,progressive:65474===o,precision:e[t++],scanLines:r(),samplesPerLine:r(),components:{},componentsOrder:[]},p=e[t++],m=void 0,v=0;v>4,w=15&e[t+1],g=e[t+2];d.componentsOrder.push(m),d.components[m]={h:y,v:w,quantizationIdx:g},t+=3}n(d),this.frames.push(d);break;case 65476:for(var b=r(),k=2;k>4==0?this.huffmanTablesDC[15&x]=E(_,I):this.huffmanTablesAC[15&x]=E(_,I)}break;case 65501:r(),this.resetInterval=r();break;case 65498:r();for(var S=e[t++],T=[],O=this.frames[0],M=0;M>4],C.huffmanTableAC=this.huffmanTablesAC[15&L],T.push(C)}var R=e[t++],V=e[t++],G=e[t++],F=B(e,t,O,T,this.resetInterval,R,V,G>>4,15&G);t+=F;break;case 65535:255!==e[t]&&t--;break;default:if(255===e[t-3]&&e[t-2]>=192&&e[t-2]<=254){t-=3;break}throw new Error("unknown JPEG marker ".concat(o.toString(16)))}o=r()}}},{key:"getResult",value:function(){var e=this.frames;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(var t=0;t=0;)e[t]=0}R(new Array(576)),R(new Array(60)),R(new Array(512)),R(new Array(256)),R(new Array(29)),R(new Array(30));var V=function(e,t,r,n){for(var i=65535&e|0,a=e>>>16&65535|0,o=0;0!==r;){r-=o=r>2e3?2e3:r;do{a=a+(i=i+t[n++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}()),F=function(e,t,r,n){var i=G,a=n+r;e^=-1;for(var o=n;o>>8^i[255&(e^t[o])];return-1^e},z={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},j={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},N=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Z=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!==r(n))throw new TypeError(n+"must be non-object");for(var i in n)N(n,i)&&(e[i]=n[i])}}return e},K=function(e){for(var t=0,r=0,n=e.length;r=252?6:X>=248?5:X>=240?4:X>=224?3:X>=192?2:1;Y[254]=Y[254]=1;var W=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,r,n,i,a,o=e.length,s=0;for(i=0;i>>6,t[a++]=128|63&r):r<65536?(t[a++]=224|r>>>12,t[a++]=128|r>>>6&63,t[a++]=128|63&r):(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63,t[a++]=128|r>>>6&63,t[a++]=128|63&r);return t},q=function(e,t){var r,n,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(n=0,r=0;r4)a[n++]=65533,r+=s-1;else{for(o&=2===s?31:3===s?15:7;s>1&&r1?a[n++]=65533:o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&H)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var r="",n=0;ne.length&&(t=e.length);for(var r=t-1;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+Y[e[r]]>t?r:t};var Q=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},$=function(e,t){var r,n,i,a,o,s,f,l,u,c,h,d,p,m,v,y,w,g,b,k,x,_,A,P,I=e.state;r=e.next_in,A=e.input,n=r+(e.avail_in-5),i=e.next_out,P=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=I.dmax,f=I.wsize,l=I.whave,u=I.wnext,c=I.window,h=I.hold,d=I.bits,p=I.lencode,m=I.distcode,v=(1<>>=g=w>>>24,d-=g,0===(g=w>>>16&255))P[i++]=65535&w;else{if(!(16&g)){if(0==(64&g)){w=p[(65535&w)+(h&(1<>>=g,d-=g),d<15&&(h+=A[r++]<>>=g=w>>>24,d-=g,!(16&(g=w>>>16&255))){if(0==(64&g)){w=m[(65535&w)+(h&(1<s){e.msg="invalid distance too far back",I.mode=30;break e}if(h>>>=g,d-=g,k>(g=i-a)){if((g=k-g)>l&&I.sane){e.msg="invalid distance too far back",I.mode=30;break e}if(x=0,_=c,0===u){if(x+=f-g,g2;)P[i++]=_[x++],P[i++]=_[x++],P[i++]=_[x++],b-=3;b&&(P[i++]=_[x++],b>1&&(P[i++]=_[x++]))}else{x=i-k;do{P[i++]=P[x++],P[i++]=P[x++],P[i++]=P[x++],b-=3}while(b>2);b&&(P[i++]=P[x++],b>1&&(P[i++]=P[x++]))}break}}break}}while(r>3,h&=(1<<(d-=b<<3))-1,e.next_in=r,e.next_out=i,e.avail_in=r=1&&0===D[k];k--);if(x>k&&(x=k),0===k)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(b=1;b0&&(0===e||1!==k))return-1;for(E[1]=0,w=1;w<15;w++)E[w+1]=E[w]+D[w];for(g=0;g852||2===e&&I>592)return 1;for(;;){p=w-A,o[g]d?(m=B[O+o[g]],v=S[T+o[g]]):(m=96,v=0),f=1<>A)+(l-=f)]=p<<24|m<<16|v|0}while(0!==l);for(f=1<>=1;if(0!==f?(U&=f-1,U+=f):U=0,g++,0==--D[w]){if(w===k)break;w=t[r+o[g]]}if(w>x&&(U&c)!==u){for(0===A&&(A=x),h+=b,P=1<<(_=w-A);_+A852||2===e&&I>592)return 1;i[u=U&c]=x<<24|_<<16|h-a|0}}return 0!==U&&(i[h+U]=w-A<<24|64<<16|0),s.bits=x,0},ae=j.Z_FINISH,oe=j.Z_BLOCK,se=j.Z_TREES,fe=j.Z_OK,le=j.Z_STREAM_END,ue=j.Z_NEED_DICT,ce=j.Z_STREAM_ERROR,he=j.Z_DATA_ERROR,de=j.Z_MEM_ERROR,pe=j.Z_BUF_ERROR,me=j.Z_DEFLATED,ve=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function ye(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var we,ge,be=function(e){if(!e||!e.state)return ce;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,fe},ke=function(e){if(!e||!e.state)return ce;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,be(e)},xe=function(e,t){var r;if(!e||!e.state)return ce;var n=e.state;return t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ce:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,ke(e))},_e=function(e,t){if(!e)return ce;var r=new ye;e.state=r,r.window=null;var n=xe(e,t);return n!==fe&&(e.state=null),n},Ae=!0,Pe=function(e){if(Ae){we=new Int32Array(512),ge=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ie(1,e.lens,0,288,we,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ie(2,e.lens,0,32,ge,0,e.work,{bits:5}),Ae=!1}e.lencode=we,e.lenbits=9,e.distcode=ge,e.distbits=5},Ie=function(e,t,r,n){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>n&&(i=n),a.window.set(t.subarray(r-n,r-n+i),a.wnext),(n-=i)?(a.window.set(t.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,r.check=F(r.check,U,2,0),l=0,u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",r.mode=30;break}if((15&l)!==me){e.msg="unknown compression method",r.mode=30;break}if(u-=4,x=8+(15&(l>>>=4)),0===r.wbits)r.wbits=x;else if(x>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(U[0]=255&l,U[1]=l>>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0,r.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<>>8&255,U[2]=l>>>16&255,U[3]=l>>>24&255,r.check=F(r.check,U,4,0)),l=0,u=0,r.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,l+=n[a++]<>8),512&r.flags&&(U[0]=255&l,U[1]=l>>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0,r.mode=5;case 5:if(1024&r.flags){for(;u<16;){if(0===s)break e;s--,l+=n[a++]<>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((d=r.length)>s&&(d=s),d&&(r.head&&(x=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(a,a+d),x)),512&r.flags&&(r.check=F(r.check,n,d,a)),s-=d,a+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===s)break e;d=0;do{x=n[a+d++],r.head&&x&&r.length<65536&&(r.head.name+=String.fromCharCode(x))}while(x&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<>>=7&u,u-=7&u,r.mode=27;break}for(;u<3;){if(0===s)break e;s--,l+=n[a++]<>>=1)){case 0:r.mode=14;break;case 1:if(Pe(r),r.mode=20,t===se){l>>>=2,u-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}l>>>=2,u-=2;break;case 14:for(l>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,l+=n[a++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&l,l=0,u=0,r.mode=15,t===se)break e;case 15:r.mode=16;case 16:if(d=r.length){if(d>s&&(d=s),d>f&&(d=f),0===d)break e;i.set(n.subarray(a,a+d),o),s-=d,a+=d,f-=d,o+=d,r.length-=d;break}r.mode=12;break;case 17:for(;u<14;){if(0===s)break e;s--,l+=n[a++]<>>=5,u-=5,r.ndist=1+(31&l),l>>>=5,u-=5,r.ncode=4+(15&l),l>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,A={bits:r.lenbits},_=ie(0,r.lens,0,19,r.lencode,0,r.work,A),r.lenbits=A.bits,_){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=v,u-=v,r.lens[r.have++]=w;else{if(16===w){for(P=v+2;u>>=v,u-=v,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}x=r.lens[r.have-1],d=3+(3&l),l>>>=2,u-=2}else if(17===w){for(P=v+3;u>>=v)),l>>>=3,u-=3}else{for(P=v+7;u>>=v)),l>>>=7,u-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=x}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,A={bits:r.lenbits},_=ie(1,r.lens,0,r.nlen,r.lencode,0,r.work,A),r.lenbits=A.bits,_){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,A={bits:r.distbits},_=ie(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,A),r.distbits=A.bits,_){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,t===se)break e;case 20:r.mode=21;case 21:if(s>=6&&f>=258){e.next_out=o,e.avail_out=f,e.next_in=a,e.avail_in=s,r.hold=l,r.bits=u,$(e,h),o=e.next_out,i=e.output,f=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,l=r.hold,u=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;y=(I=r.lencode[l&(1<>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>g)])>>>16&255,w=65535&I,!(g+(v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=g,u-=g,r.back+=g}if(l>>>=v,u-=v,r.back+=v,r.length=w,0===y){r.mode=26;break}if(32&y){r.back=-1,r.mode=12;break}if(64&y){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&y,r.mode=22;case 22:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;y=(I=r.distcode[l&(1<>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>g)])>>>16&255,w=65535&I,!(g+(v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=g,u-=g,r.back+=g}if(l>>>=v,u-=v,r.back+=v,64&y){e.msg="invalid distance code",r.mode=30;break}r.offset=w,r.extra=15&y,r.mode=24;case 24:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===f)break e;if(d=h-f,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=o-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do{i[o++]=m[p++]}while(--d);0===r.length&&(r.mode=21);break;case 26:if(0===f)break e;i[o++]=r.length,f--,r.mode=21;break;case 27:if(r.wrap){for(;u<32;){if(0===s)break e;s--,l|=n[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var r=Ue.inflateInit2(this.strm,t.windowBits);if(r!==Be)throw new Error(z[r]);if(this.header=new Se,Ue.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=W(t.dictionary):"[object ArrayBuffer]"===Te.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=Ue.inflateSetDictionary(this.strm,t.dictionary))!==Be))throw new Error(z[r])}function Ge(e,t){var r=new Ve(t);if(r.push(e),r.err)throw r.msg||z[r.err];return r.result}Ve.prototype.push=function(e,t){var r,n,i,a=this.strm,o=this.options.chunkSize,s=this.options.dictionary;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Ee:De,"[object ArrayBuffer]"===Te.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(o),a.next_out=0,a.avail_out=o),(r=Ue.inflate(a,n))===Me&&s&&((r=Ue.inflateSetDictionary(a,s))===Be?r=Ue.inflate(a,n):r===Le&&(r=Me));a.avail_in>0&&r===Oe&&a.state.wrap>0&&0!==e[a.next_in];)Ue.inflateReset(a),r=Ue.inflate(a,n);switch(r){case Ce:case Le:case Me:case Re:return this.onEnd(r),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||r===Oe))if("string"===this.options.to){var f=J(a.output,a.next_out),l=a.next_out-f,u=q(a.output,f);a.next_out=l,a.avail_out=o-l,l&&a.output.set(a.output.subarray(f,f+l),0),this.onData(u)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(r!==Be||0!==i){if(r===Oe)return r=Ue.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},Ve.prototype.onData=function(e){this.chunks.push(e)},Ve.prototype.onEnd=function(e){e===Be&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=K(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Fe={Inflate:Ve,inflate:Ge,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Ge(e,t)},ungzip:Ge,constants:j}.inflate;function ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var je=function(e){p(r,b);var t=ze(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return Fe(new Uint8Array(e)).buffer}}]),r}(),Ne=Object.freeze({__proto__:null,default:je});function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var Ke,He=function(e){p(r,b);var t=Ze(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){for(var t=new DataView(e),r=[],n=0;n>3],I<<=7&U),v=0;v>3]),128&I?(f&&(f[U]=1),m=m>(o=T.encoding<2?_[A++]:P)?o:m,s[U++]=o):(f&&(f[U]=0),s[U++]=n),I<<=1;U+=S}else if(T.encoding<2)for(y=0;y(o=_[A++])?o:m,s[U++]=o;U+=S}else for(m=m>P?P:m,y=0;y0){var o=new Uint8Array(Math.ceil(n.width*n.height/8)),s=(a=new DataView(e,t,n.mask.numBytes)).getInt16(0,!0),f=2,l=0;do{if(s>0)for(;s--;)o[l++]=a.getUint8(f++);else{var u=a.getUint8(f++);for(s=-s;s--;)o[l++]=u}s=a.getInt16(f,!0),f+=2}while(f0?1:0),p=h+(n.height%h>0?1:0);n.pixels.blocks=new Array(d*p);for(var m=0,v=0;v3)throw"Invalid block encoding ("+b.encoding+")";if(2!==b.encoding){if(0!==k&&2!==k){if(k>>=6,b.offsetType=k,2===k)b.offset=a.getInt8(1),w++;else if(1===k)b.offset=a.getInt16(1,!0),w+=2;else{if(0!==k)throw"Invalid block offset type";b.offset=a.getFloat32(1,!0),w+=4}if(1===b.encoding)if(k=a.getUint8(w),w++,b.bitsPerPixel=63&k,k>>=6,b.numValidPixelsType=k,2===k)b.numValidPixels=a.getUint8(w),w++;else if(1===k)b.numValidPixels=a.getUint16(w,!0),w+=2;else{if(0!==k)throw"Invalid valid pixel count type";b.numValidPixels=a.getUint32(w,!0),w+=4}}var x;if(t+=w,3!==b.encoding)if(0===b.encoding){var _=(n.pixels.numBytes-1)/4;if(_!==Math.floor(_))throw"uncompressed block has invalid length";x=new ArrayBuffer(4*_),new Uint8Array(x).set(new Uint8Array(e,t,4*_));var A=new Float32Array(x);b.rawData=A,t+=4*_}else if(1===b.encoding){var P=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),I=Math.ceil(P/4);x=new ArrayBuffer(4*I),new Uint8Array(x).set(new Uint8Array(e,t,P)),b.stuffedData=new Uint32Array(x),t+=P}}else t++}return n.eofOffset=t,n},a=function(e,t,r,n,i,a,o){var s,f,l,u=(1<=t)f=l>>>h-t&u,h-=t;else{var m=t-h;f=(l&u)<>>(h=32-m)}a[s]=f=r?(l=u>>>m-r&d,m-=r):(l=(u&d)<<(c=r-m)&d,l+=(u=e[p++])>>>(m=32-c)),t[f]=i[l];else for(h=Math.ceil((s-a)/o),f=0;f=r?(l=u>>>m-r&d,m-=r):(l=(u&d)<<(c=r-m)&d,l+=(u=e[p++])>>>(m=32-c)),t[f]=l=t?(h=o>>>c-t&s,c-=t):(h=(o&s)<<(u=t-c)&s,h+=(o=e[f++])>>>(c=32-u)),d[l]=h=r?(l=u>>>m&h,p-=r,m+=r):(l=u>>>m&h,p=32-(c=r-p),l|=((u=e[d++])&(1<=r?(l=u>>>m&h,p-=r,m+=r):(l=u>>>m&h,p=32-(c=r-p),l|=((u=e[d++])&(1<=t?(h=o>>>d&s,c-=t,d+=t):(h=o>>>d&s,c=32-(u=t-c),h|=((o=e[f++])&(1<=r?(a=o>>>u-r&f,u-=r):(a=(o&f)<<(s=r-u)&f,a+=(o=e[l++])>>>(u=32-s)),t[i]=a;return t},c=function(e,t,r,n){var i,a,o,s,f=(1<=r?(a=o>>>c&f,u-=r,c+=r):(a=o>>>c&f,u=32-(s=r-u),a|=((o=e[l++])&(1<=359?359:i;i-=o;do{t+=e[a++]<<8,r+=t+=e[a++]}while(--o);t=(65535&t)+(t>>>16),r=(65535&r)+(r>>>16)}return 1&n&&(r+=t+=e[a]<<8),((r=(65535&r)+(r>>>16))<<16|(t=(65535&t)+(t>>>16)))>>>0},readHeaderInfo:function(e,t){var r=t.ptr,n=new Uint8Array(e,r,6),i={};if(i.fileIdentifierString=String.fromCharCode.apply(null,n),0!==i.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+i.fileIdentifierString;r+=6;var a,o=new DataView(e,r,8),s=o.getInt32(0,!0);if(i.fileVersion=s,r+=4,s>=3&&(i.checksum=o.getUint32(4,!0),r+=4),o=new DataView(e,r,12),i.height=o.getUint32(0,!0),i.width=o.getUint32(4,!0),r+=8,s>=4?(i.numDims=o.getUint32(8,!0),r+=4):i.numDims=1,o=new DataView(e,r,40),i.numValidPixel=o.getUint32(0,!0),i.microBlockSize=o.getInt32(4,!0),i.blobSize=o.getInt32(8,!0),i.imageType=o.getInt32(12,!0),i.maxZError=o.getFloat64(16,!0),i.zMin=o.getFloat64(24,!0),i.zMax=o.getFloat64(32,!0),r+=40,t.headerInfo=i,t.ptr=r,s>=3&&(a=s>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(e,r-a,i.blobSize-14))!==i.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var r=t.headerInfo,n=this.getDataTypeArray(r.imageType),i=r.numDims*this.getDataTypeSize(r.imageType),a=this.readSubArray(e,t.ptr,n,i),o=this.readSubArray(e,t.ptr+i,n,i);t.ptr+=2*i;var s,f=!0;for(s=0;s0){r=new Uint8Array(Math.ceil(o/8));var u=(f=new DataView(e,i,l.numBytes)).getInt16(0,!0),c=2,h=0,d=0;do{if(u>0)for(;u--;)r[h++]=f.getUint8(c++);else for(d=f.getUint8(c++),u=-u;u--;)r[h++]=d;u=f.getInt16(c,!0),c+=2}while(c>3],p<<=7&m):p=r[m>>3],128&p&&(n[m]=1);t.pixels.resultMask=n,l.bitset=r,i+=l.numBytes}return t.ptr=i,t.mask=l,!0},readDataOneSweep:function(e,t,r,n){var i,a=t.ptr,o=t.headerInfo,s=o.numDims,f=o.width*o.height,l=o.imageType,u=o.numValidPixel*h.getDataTypeSize(l)*s,c=t.pixels.resultMask;if(r===Uint8Array)i=new Uint8Array(e,a,u);else{var d=new ArrayBuffer(u);new Uint8Array(d).set(new Uint8Array(e,a,u)),i=new r(d)}if(i.length===f*s)t.pixels.resultPixels=n?h.swapDimensionOrder(i,f,s,r,!0):i;else{t.pixels.resultPixels=new r(f*s);var p=0,m=0,v=0,y=0;if(s>1){if(n){for(m=0;m=o)return!1;var s=new Uint32Array(o-a);h.decodeBits(e,t,s);var f,l,u,c,p=[];for(f=a;f0&&(p[l].second=w<>>32-c,32-b>=c?32===(b+=c)&&(b=0,w=g[++k]):(b+=c-32,w=g[++k],p[l].second|=w>>>32-b));var x=0,_=0,A=new d;for(f=0;f=r?r:x;var P,I,U,S,T,D=[];for(f=a;f0)if(P=[c,l],c<=_)for(I=p[l].second<<_-c,U=1<<_-c,u=0;u=0;S--)I>>>S&1?(T.right||(T.right=new d),T=T.right):(T.left||(T.left=new d),T=T.left),0!==S||T.val||(T.val=P[1]);return{decodeLut:D,numBitsLUTQick:_,numBitsLUT:x,tree:A,stuffedData:g,srcPtr:k,bitPos:b}},readHuffman:function(e,t,r,n){var i,a,o,s,f,l,u,c,d,p=t.headerInfo.numDims,m=t.headerInfo.height,v=t.headerInfo.width,y=v*m,w=this.readHuffmanTree(e,t),g=w.decodeLut,b=w.tree,k=w.stuffedData,x=w.srcPtr,_=w.bitPos,A=w.numBitsLUTQick,P=w.numBitsLUT,I=0===t.headerInfo.imageType?128:0,U=t.pixels.resultMask,S=0;_>0&&(x++,_=0);var T,D=k[x],E=1===t.encodeMode,B=new r(y*p),O=B;if(p<2||E){for(T=0;T1&&(O=new r(B.buffer,y*T,y),S=0),t.headerInfo.numValidPixel===v*m)for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,E?(o+=u>0?S:l>0?O[c-v]:S,o&=255,O[c]=o,S=o):O[c]=o}else for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,E?(u>0&&U[c-1]?o+=S:l>0&&U[c-v]?o+=O[c-v]:o+=S,o&=255,O[c]=o,S=o):O[c]=o}}else for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,O[c]=o}t.ptr=t.ptr+4*(x+1)+(_>0?4:0),t.pixels.resultPixels=B,p>1&&!n&&(t.pixels.resultPixels=h.swapDimensionOrder(B,y,p,r))},decodeBits:function(e,t,r,n,i){var a=t.headerInfo,h=a.fileVersion,d=0,p=e.byteLength-t.ptr>=5?5:e.byteLength-t.ptr,m=new DataView(e,t.ptr,p),v=m.getUint8(0);d++;var y=v>>6,w=0===y?4:3-y,g=(32&v)>0,b=31&v,k=0;if(1===w)k=m.getUint8(d),d++;else if(2===w)k=m.getUint16(d,!0),d+=2;else{if(4!==w)throw"Invalid valid pixel count type";k=m.getUint32(d,!0),d+=4}var x,_,A,P,I,U,S,T,D,E=2*a.maxZError,B=a.numDims>1?a.maxValues[i]:a.zMax;if(g){for(t.counter.lut++,T=m.getUint8(d),d++,P=Math.ceil((T-1)*b/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),A=new Uint8Array(_),t.ptr+=d,A.set(new Uint8Array(e,t.ptr,P)),S=new Uint32Array(_),t.ptr+=P,D=0;T-1>>>D;)D++;P=Math.ceil(k*D/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),(A=new Uint8Array(_)).set(new Uint8Array(e,t.ptr,P)),x=new Uint32Array(_),t.ptr+=P,U=h>=3?l(S,b,T-1,n,E,B):s(S,b,T-1,n,E,B),h>=3?f(x,r,D,k,U):o(x,r,D,k,U)}else t.counter.bitstuffer++,D=b,t.ptr+=d,D>0&&(P=Math.ceil(k*D/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),(A=new Uint8Array(_)).set(new Uint8Array(e,t.ptr,P)),x=new Uint32Array(_),t.ptr+=P,h>=3?null==n?c(x,r,D,k):f(x,r,D,k,!1,n,E,B):null==n?u(x,r,D,k):o(x,r,D,k,!1,n,E,B))},readTiles:function(e,t,r,n){var i=t.headerInfo,a=i.width,o=i.height,s=a*o,f=i.microBlockSize,l=i.imageType,u=h.getDataTypeSize(l),c=Math.ceil(a/f),d=Math.ceil(o/f);t.pixels.numBlocksY=d,t.pixels.numBlocksX=c,t.pixels.ptr=0;var p,m,v,y,w,g,b,k,x,_,A=0,P=0,I=0,U=0,S=0,T=0,D=0,E=0,B=0,O=0,M=0,C=0,L=0,R=0,V=0,G=new r(f*f),F=o%f||f,z=a%f||f,j=i.numDims,N=t.pixels.resultMask,Z=t.pixels.resultPixels,K=i.fileVersion>=5?14:15,H=i.zMax;for(I=0;I1?(_=Z,O=I*a*f+U*f,Z=new r(t.pixels.resultPixels.buffer,s*k*u,s),H=i.maxValues[k]):_=null,D=e.byteLength-t.ptr,m={},V=0,E=(p=new DataView(e,t.ptr,Math.min(10,D))).getUint8(0),V++,x=i.fileVersion>=5?4&E:0,B=E>>6&255,(E>>2&K)!=(U*f>>3&K))throw"integrity issue";if(x&&0===k)throw"integrity issue";if((w=3&E)>3)throw t.ptr+=V,"Invalid block encoding ("+w+")";if(2!==w)if(0===w){if(x)throw"integrity issue";if(t.counter.uncompressed++,t.ptr+=V,C=(C=S*T*u)<(L=e.byteLength-t.ptr)?C:L,v=new ArrayBuffer(C%u==0?C:C+u-C%u),new Uint8Array(v).set(new Uint8Array(e,t.ptr,C)),y=new r(v),R=0,N)for(A=0;A1&&!n&&(t.pixels.resultPixels=h.swapDimensionOrder(t.pixels.resultPixels,s,j,r))},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:h.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e,t){var r=e.headerInfo.zMax,n=e.headerInfo.zMin,i=e.headerInfo.maxValues,a=e.headerInfo.numDims,o=e.headerInfo.height*e.headerInfo.width,s=0,f=0,l=0,u=e.pixels.resultMask,c=e.pixels.resultPixels;if(u)if(a>1){if(t)for(s=0;s1&&n!==r)if(t)for(s=0;s=-128&&t<=127;break;case 1:r=t>=0&&t<=255;break;case 2:r=t>=-32768&&t<=32767;break;case 3:r=t>=0&&t<=65536;break;case 4:r=t>=-2147483648&&t<=2147483647;break;case 5:r=t>=0&&t<=4294967296;break;case 6:r=t>=-34027999387901484e22&&t<=34027999387901484e22;break;case 7:r=t>=-17976931348623157e292&&t<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var r=e;switch(e){case 2:case 4:r=e-t;break;case 3:case 5:r=e-2*t;break;case 6:r=0===t?e:1===t?2:1;break;case 7:r=0===t?e:e-2*t+1;break;default:r=e}return r},getOnePixel:function(e,t,r,n){var i=0;switch(r){case 0:i=n.getInt8(t);break;case 1:i=n.getUint8(t);break;case 2:i=n.getInt16(t,!0);break;case 3:i=n.getUint16(t,!0);break;case 4:i=n.getInt32(t,!0);break;case 5:i=n.getUInt32(t,!0);break;case 6:i=n.getFloat32(t,!0);break;case 7:i=n.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return i},swapDimensionOrder:function(e,t,r,n,i){var a=0,o=0,s=0,f=0,l=e;if(r>1)if(l=new n(t*r),i)for(a=0;a5)throw"unsupported lerc version 2."+o;h.readMask(e,i),a.numValidPixel===a.width*a.height||i.pixels.resultMask||(i.pixels.resultMask=t.maskData);var f=a.width*a.height;i.pixels.resultPixels=new s(f*a.numDims),i.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var l,u=!t.returnPixelInterleavedDims;if(0!==a.numValidPixel)if(a.zMax===a.zMin)h.constructConstantSurface(i,u);else if(o>=4&&h.checkMinMaxRanges(e,i))h.constructConstantSurface(i,u);else{var c=new DataView(e,i.ptr,2),d=c.getUint8(0);if(i.ptr++,d)h.readDataOneSweep(e,i,s,u);else if(o>1&&a.imageType<=1&&Math.abs(a.maxZError-.5)<1e-5){var p=c.getUint8(1);if(i.ptr++,i.encodeMode=p,p>2||o<4&&p>1)throw"Invalid Huffman flag "+p;p?h.readHuffman(e,i,s,u):h.readTiles(e,i,s,u)}else h.readTiles(e,i,s,u)}i.eofOffset=i.ptr,t.inputOffset?(l=i.headerInfo.blobSize+t.inputOffset-i.ptr,Math.abs(l)>=1&&(i.eofOffset=t.inputOffset+i.headerInfo.blobSize)):(l=i.headerInfo.blobSize-i.ptr,Math.abs(l)>=1&&(i.eofOffset=i.headerInfo.blobSize));var m={width:a.width,height:a.height,pixelData:i.pixels.resultPixels,minValue:a.zMin,maxValue:a.zMax,validPixelCount:a.numValidPixel,dimCount:a.numDims,dimStats:{minValues:a.minValues,maxValues:a.maxValues},maskData:i.pixels.resultMask};if(i.pixels.resultMask&&h.isValidPixelValue(a.imageType,r)){var v=i.pixels.resultMask;for(n=0;n1&&(l&&m.push(l),k.fileInfo.mask&&k.fileInfo.mask.numBytes>0&&b++),d++,g.pixels.push(k.pixelData),g.statistics.push({minValue:k.minValue,maxValue:k.maxValue,noDataValue:k.noDataValue,dimStats:k.dimStats})}if(n>1&&b>1){for(h=g.width*g.height,g.bandMasks=m,(l=new Uint8Array(h)).set(m[0]),u=1;u=0;r--)t.push(e[r]);return t}function o(t){const e=new Uint16Array(4093),r=new Uint8Array(4093);for(let t=0;t<=257;t++)e[t]=4096,r[t]=t;let n=258,o=9,a=0;function s(){n=258,o=9}function l(t){const e=function(t,e,r){const n=e%8,i=Math.floor(e/8),o=8-n,a=e+r-8*(i+1);let s=8*(i+2)-(e+r);const l=8*(i+2)-e;if(s=Math.max(0,s),i>=t.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;let u=t[i]&2**(8-n)-1;u<<=r-o;let c=u;if(i+1>>s;e<<=Math.max(0,r-l),c+=e}if(a>8&&i+2>>n}return c}(t,a,o);return a+=o,e}function u(t,i){return r[n]=i,e[n]=t,n++,n-1}function c(t){const n=[];for(let i=t;4096!==i;i=e[i])n.push(r[i]);return n}const h=[];s();const f=new Uint8Array(t);let p,d=l(f);for(;257!==d;){if(256===d){for(s(),d=l(f);256===d;)d=l(f);if(257===d)break;if(d>256)throw new Error("corrupted code at scanline "+d);i(h,c(d)),p=d}else if(d=2**o&&(12===o?p=void 0:o++),d=l(f)}return new Uint8Array(h)}class a extends n.a{decodeBlock(t){return o(t).buffer}}},function(t,e,r){"use strict";r.r(e),r.d(e,"default",(function(){return m}));var n=r(40);const i=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),o=4017,a=799,s=3406,l=2276,u=1567,c=3784,h=5793,f=2896;function p(t,e){let r=0;const n=[];let i=16;for(;i>0&&!t[i-1];)--i;n.push({children:[],index:0});let o,a=n[0];for(let s=0;s0;)a=n.pop();for(a.index++,n.push(a);n.length<=s;)n.push(o={children:[],index:0}),a.children[a.index]=o.children,a=o;r++}s+10)return g--,d>>g&1;if(d=t[p++],255===d){const e=t[p++];if(e)throw new Error("unexpected marker: "+(d<<8|e).toString(16))}return g=7,d>>>7}function m(t){let e,r=t;for(;null!==(e=y());){if(r=r[e],"number"==typeof r)return r;if("object"!=typeof r)throw new Error("invalid huffman sequence")}return null}function _(t){let e=t,r=0;for(;e>0;){const t=y();if(null===t)return;r=r<<1|t,--e}return r}function v(t){const e=_(t);return e>=1<0)return void b--;let r=a;const n=s;for(;r<=n;){const n=m(t.huffmanTableAC),o=15&n,a=n>>4;if(0===o){if(a<15){b=_(a)+(1<>4,0===r)o<15?(b=_(o)+(1<>4;if(0===n){if(a<15)break;o+=16}else o+=a,e[i[o]]=v(n),o++}};let M,A,N=0;A=1===O?n[0].blocksPerLine*n[0].blocksPerColumn:c*r.mcusPerColumn;const k=o||A;for(;N=65488&&M<=65495))break;p+=2}return p-f}function g(t,e){const r=[],{blocksPerLine:n,blocksPerColumn:i}=e,p=n<<3,d=new Int32Array(64),g=new Uint8Array(64);function y(t,r,n){const i=e.quantizationTable;let p,d,g,y,m,_,v,b,x;const w=n;let E;for(E=0;E<64;E++)w[E]=t[E]*i[E];for(E=0;E<8;++E){const t=8*E;0!==w[1+t]||0!==w[2+t]||0!==w[3+t]||0!==w[4+t]||0!==w[5+t]||0!==w[6+t]||0!==w[7+t]?(p=h*w[0+t]+128>>8,d=h*w[4+t]+128>>8,g=w[2+t],y=w[6+t],m=f*(w[1+t]-w[7+t])+128>>8,b=f*(w[1+t]+w[7+t])+128>>8,_=w[3+t]<<4,v=w[5+t]<<4,x=p-d+1>>1,p=p+d+1>>1,d=x,x=g*c+y*u+128>>8,g=g*u-y*c+128>>8,y=x,x=m-v+1>>1,m=m+v+1>>1,v=x,x=b+_+1>>1,_=b-_+1>>1,b=x,x=p-y+1>>1,p=p+y+1>>1,y=x,x=d-g+1>>1,d=d+g+1>>1,g=x,x=m*l+b*s+2048>>12,m=m*s-b*l+2048>>12,b=x,x=_*a+v*o+2048>>12,_=_*o-v*a+2048>>12,v=x,w[0+t]=p+b,w[7+t]=p-b,w[1+t]=d+v,w[6+t]=d-v,w[2+t]=g+_,w[5+t]=g-_,w[3+t]=y+m,w[4+t]=y-m):(x=h*w[0+t]+512>>10,w[0+t]=x,w[1+t]=x,w[2+t]=x,w[3+t]=x,w[4+t]=x,w[5+t]=x,w[6+t]=x,w[7+t]=x)}for(E=0;E<8;++E){const t=E;0!==w[8+t]||0!==w[16+t]||0!==w[24+t]||0!==w[32+t]||0!==w[40+t]||0!==w[48+t]||0!==w[56+t]?(p=h*w[0+t]+2048>>12,d=h*w[32+t]+2048>>12,g=w[16+t],y=w[48+t],m=f*(w[8+t]-w[56+t])+2048>>12,b=f*(w[8+t]+w[56+t])+2048>>12,_=w[24+t],v=w[40+t],x=p-d+1>>1,p=p+d+1>>1,d=x,x=g*c+y*u+2048>>12,g=g*u-y*c+2048>>12,y=x,x=m-v+1>>1,m=m+v+1>>1,v=x,x=b+_+1>>1,_=b-_+1>>1,b=x,x=p-y+1>>1,p=p+y+1>>1,y=x,x=d-g+1>>1,d=d+g+1>>1,g=x,x=m*l+b*s+2048>>12,m=m*s-b*l+2048>>12,b=x,x=_*a+v*o+2048>>12,_=_*o-v*a+2048>>12,v=x,w[0+t]=p+b,w[56+t]=p-b,w[8+t]=d+v,w[48+t]=d-v,w[16+t]=g+_,w[40+t]=g-_,w[24+t]=y+m,w[32+t]=y-m):(x=h*n[E+0]+8192>>14,w[0+t]=x,w[8+t]=x,w[16+t]=x,w[24+t]=x,w[32+t]=x,w[40+t]=x,w[48+t]=x,w[56+t]=x)}for(E=0;E<64;++E){const t=128+(w[E]+8>>4);r[E]=t<0?0:t>255?255:t}}for(let t=0;t>4==0)for(let r=0;r<64;r++){o[i[r]]=t[e++]}else{if(n>>4!=1)throw new Error("DQT: invalid table spec");for(let t=0;t<64;t++){o[i[t]]=r()}}this.quantizationTables[15&n]=o}break}case 65472:case 65473:case 65474:{r();const n={extended:65473===a,progressive:65474===a,precision:t[e++],scanLines:r(),samplesPerLine:r(),components:{},componentsOrder:[]},i=t[e++];let s;for(let r=0;r>4,i=15&t[e+1],o=t[e+2];n.componentsOrder.push(s),n.components[s]={h:r,v:i,quantizationIdx:o},e+=3}o(n),this.frames.push(n);break}case 65476:{const n=r();for(let r=2;r>4==0?this.huffmanTablesDC[15&n]=p(i,a):this.huffmanTablesAC[15&n]=p(i,a)}break}case 65501:r(),this.resetInterval=r();break;case 65498:{r();const n=t[e++],i=[],o=this.frames[0];for(let r=0;r>4],r.huffmanTableAC=this.huffmanTablesAC[15&n],i.push(r)}const a=t[e++],s=t[e++],l=t[e++],u=d(t,e,o,i,this.resetInterval,a,s,l>>4,15&l);e+=u;break}case 65535:255!==t[e]&&e--;break;default:if(255===t[e-3]&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error("unknown JPEG marker "+a.toString(16))}a=r()}}getResult(){const{frames:t}=this;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let t=0;tbutton{color:#404040}div.m-control button[class*=" g-cartografia-"],div.m-control button[class^=g-cartografia-]{background:none;border:none;color:#404040;cursor:pointer;font-size:28px;font-size:24px;margin:0;opacity:.75;padding:8px;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s}.ol-overviewmap>button{opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:hover,.ol-overviewmap>button:hover,div.m-control button[class*=" g-cartografia-"]:hover,div.m-control button[class^=g-cartografia-]:hover,div.m-control.activated button[class^=g-cartografia-]{opacity:1!important}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus,div.m-control button[class*=" g-cartografia-"]:focus,div.m-control button[class^=g-cartografia-]:focus{outline:none}.m-clear-btn,.m-help-btn{font-size:18px!important;opacity:.4!important}.m-search-btn{order:3;padding-right:14px}.m-help-btn{order:2}.m-clear-btn{order:1}.m-results-btn{display:none}.m-label-content{white-space:nowrap}.m-mapea-container input[type=text],.m-mapea-container textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:1px solid rgba(0,0,0,.5);border-radius:4px;color:#6c6c6c;cursor:auto;font-family:Muli,"sans-serif"!important;font-size:13px;margin:5px;padding:5px}.m-mapea-container input[type=text]:focus{outline:none}@media only screen and (max-width:768px){.m-wordbreak{white-space:none;word-break:break-all}}button::-moz-focus-inner{border:0}@-moz-keyframes mloading{to{-moz-transform:rotate(1turn)}}@-webkit-keyframes mloading{to{-webkit-transform:rotate(1turn)}}@keyframes mloading{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.m-area.m-top.m-right,.m-areas,.ol-overlaycontainer-stopevent,.ol-viewport{height:inherit!important}.m-panel.m-layerswitcher.opened{height:calc(100% - 30px)}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{height:100%!important;max-height:100%}.m-attribution{left:3px!important;right:inherit!important;z-index:999999}@media print{.ol-control{display:none}}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{opacity:1;-webkit-transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s;transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{max-height:0;max-width:0;opacity:0;-webkit-transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s;transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s}.m-location-container.m-locating>button#m-location-button:before{-webkit-animation:mloading 1s linear infinite;-moz-animation:mloading 1s linear infinite}.ol-box{border:2px solid blue;border-radius:2px;box-sizing:border-box}.ol-mouse-position{position:absolute;right:8px;top:8px}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;margin:1px;text-align:center;transition:all .25s;will-change:contents,width}.ol-scale-bar{bottom:8px;left:8px;position:absolute}.ol-scale-step-marker{background-color:#000;float:right;height:15px;width:1px;z-Index:10}.ol-scale-step-text{bottom:-5px;font-size:12px;z-Index:11}.ol-scale-step-text,.ol-scale-text{color:#000;position:absolute;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.ol-scale-text{bottom:25px;font-size:14px;text-align:center}.ol-scale-singlebar{height:10px;position:relative;z-Index:9;border:1px solid #000}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ol-overlaycontainer,.ol-overlaycontainer-stopevent{pointer-events:none}.ol-overlaycontainer-stopevent>*,.ol-overlaycontainer>*{pointer-events:auto}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{background-color:hsla(0,0%,100%,.4);border-radius:4px;padding:2px;position:absolute}.ol-control:hover{background-color:hsla(0,0%,100%,.6)}.ol-zoom{left:.5em;top:.5em}.ol-rotate{right:.5em;top:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;transition:opacity .25s linear,visibility 0s linear .25s;visibility:hidden}.ol-zoom-extent{left:.5em;top:4.643em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{background-color:rgba(0,60,136,.5);border:none;border-radius:2px;color:#fff;display:block;font-size:1.14em;font-weight:700;height:1.375em;line-height:.4em;margin:1px;padding:0;text-align:center;text-decoration:none;width:1.375em}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-control button span{pointer-events:none}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-size:1.2em;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{background-color:rgba(0,60,136,.7);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{bottom:.5em;max-width:calc(100% - 1.3em);right:.5em;text-align:right}.ol-attribution ul{color:#000;margin:0;padding:0 .5em;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;left:.5em;top:4.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-viewport>div.ol-unselectable>div img{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;-ms-perspective:1000;perspective:1000;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}.ol-box{background-color:rgba(51,124,235,.33)!important;border:1px solid #337ceb!important}.ol-zoom>button{background-color:#fff!important;box-shadow:0 1px 3px 0 #cacaca;color:#404040!important;cursor:pointer;font-size:18px!important;height:30px!important;margin:0!important;opacity:.75;padding:0;text-align:center;width:30px!important}.ol-zoom>button:focus,.ol-zoom>button:hover{background-color:transparent;outline:none!important}.ol-zoom>button:hover{opacity:1}.ol-zoomslider{height:198px!important;overflow:auto!important}.ol-zoomslider>button.ol-zoomslider-thumb{background-color:#f0f0f0;border:1px solid rgba(64,64,64,.4);border-radius:20px;height:20px!important;margin:-5px;padding:0;width:20px!important}@-moz-document url-prefix(){.ol-zoomslider>button.ol-zoomslider-thumb{position:relative!important}}.ol-scale-line .ol-scale-line-inner{border-color:#404040;color:#404040}@media only screen and (max-width:768px){.ol-scale-line-up{margin-bottom:30px;margin-left:-15px}}.ol-overviewmap{background-color:#fff!important;border-radius:4px!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;display:block;display:relative!important;margin-left:10px!important;order:1!important;transition:border-radius .33s ease 0s}.ol-overviewmap:not(.ol-collapsed) button{background-color:#fff!important;border-radius:15px;font-size:6px;left:auto!important;padding:0 2px 2px;position:static!important;position:absolute!important;right:0!important;right:4px}.ol-overviewmap:not(.ol-collapsed) .ol-overviewmap-map{margin:4px!important}.ol-overviewmap:not(.ol-collapsed)>button:before{font-size:11px!important}.ol-overviewmap.ol-collapsed{border-radius:20px!important}.ol-overviewmap .ol-overviewmap-map{border:0!important;transition:width .33s ease 0s,height .33s ease 0s}.ol-overviewmap.ol-collapsed .ol-overviewmap-map{display:inline-block!important;height:0;margin:0;padding:0;width:0}.ol-overviewmap>button{bottom:4px!important}.ol-overviewmap.ol-collapsed>button,.ol-overviewmap>button{background-color:transparent!important;background:none;border:none;border-radius:20px;color:#404040!important;cursor:pointer;font-family:g-cartografia!important;font-size:15px!important;height:20px!important;margin:0!important;opacity:.75!important;padding:0;width:20px!important;speak:none;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.ol-overviewmap.ol-collapsed>button:hover{opacity:1}.ol-overviewmap.ol-collapsed>button{height:40px!important;width:40px!important}.ol-overviewmap>button:active,.ol-overviewmap>button:focus,.ol-overviewmap>button:hover{background-color:transparent;outline:none}.ol-overviewmap>button>span{display:none}@media only screen and (max-width:768px){.ol-overviewmap{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container,.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{border-radius:20px!important}.m-panel.m-map-info>div.m-panel-controls>div.ol-overviewmap{order:1}.m-wmcselector-container{bottom:8px;display:block;margin:0;padding:0;right:60px}.m-wmcselector-container:before{font-family:g-cartografia!important}.m-wmcselector-select{-webkit-appearance:none;background-color:#fefefe;border:none;color:#6c6c6c;font-weight:400;margin:0;outline:none;text-decoration:none}.m-layerswitcher-container{overflow-y:auto!important;position:absolute;right:.5em;text-align:left;top:.5em;width:100%}@media only screen and (min-width:769px){.m-layerswitcher-container{min-width:440px!important}}.m-layerswitcher-container .m-layersiwtcher-panel{background-color:#f4f4f4;margin:0;max-height:100%;right:0;text-align:left;top:0}.m-layerswitcher-container li.group{padding-bottom:8px;padding-top:5px;text-align:center}.m-layerswitcher-container li.group>div{border-bottom:1px solid rgba(0,0,0,.08);color:#404040;font-family:Muli,"sans-serif"!important;font-size:15px;line-height:normal;line-height:40px;margin:0;text-align:center}.m-layerswitcher-container li div{font-family:sans-serif;font-size:.8em;font-size:15px;line-height:1.4em;line-height:40px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.m-layerswitcher-container ul>li{overflow:hidden}.m-layerswitcher-container ul>li.group>ul>li{background-color:#fff;margin:10px}.m-layerswitcher-container li span.m-check{color:#6abe47;margin:0 1% 0 0}.m-layerswitcher-container li input.m-layerswitcher-transparency{margin-right:3%;width:74%}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{margin-top:16px;width:81%}.m-layerswitcher-container .tools span{display:block;margin-left:143px;margin-top:-12px}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-layerswitcher-container li input.m-layerswitcher-transparency{display:block;margin-top:1px}.m-layerswitcher-container .tools span{display:block;float:right;margin-right:13%;margin-top:-52px}}.m-layerswitcher-container li span.m-layerswitcher-remove{color:rgba(0,0,0,.53);cursor:pointer;font-size:11px}@media only screen and (max-width:768px){.m-layerswitcher-container li span.m-check{font-size:2em;margin-right:5%}.m-layerswitcher-container li input.m-layerswitcher-transparency{display:none;width:77%}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{width:66%}}.m-layerswitcher-container li span.m-layerswitcher-remove{font-size:13px}.m-layerswitcher-container li.visible input.m-layerswitcher-transparency{display:initial}.m-layerswitcher-container li.visible span.m-layerswitcher-remove{font-size:11px}}.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{border-bottom:none;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;padding:0 5px;text-align:left;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.m-layersiwtcher-panel li.visible>div.tools{height:auto;width:40%}.m-layersiwtcher-panel div.tools{float:right;text-align:left}.m-layersiwtcher-panel li.visible>div.layer{margin-bottom:4px}.m-layersiwtcher-panel div.layer{float:left;margin-bottom:4px;width:55%}@media only screen and (max-width:768px){.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{padding-right:0;width:90%}}.m-layersiwtcher-panel li.visible>div.layer-base{border:0;margin:0}.m-layersiwtcher-panel li>div.legend{height:0;text-align:left;width:100%}.m-layersiwtcher-panel li.visible>div.legend{height:auto;margin:0 auto;width:90%}@media only screen and (max-width:768px){.m-layersiwtcher-panel li.visible>div.tools{float:none;width:90%}.m-layersiwtcher-panel div.tools{float:right;margin:0 auto;text-align:left;width:calc(10% - 5px)}}.m-layerswitcher-container li.disabled span{color:#666}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{color:#fda823;height:40px}.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{background-color:#fda823;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);color:#fff;left:-40px;position:absolute;z-index:999999}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{background-color:transparent;box-shadow:none;color:#fda823;left:auto;position:absolute;right:0;z-index:999999}}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>button.m-panel-btn{box-shadow:none;color:#fda823;left:0;position:inherit}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{padding:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{border-top-left-radius:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-width:61vw}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{height:100vh;left:0;margin:0;position:fixed;top:0;width:100vw;z-index:10000}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-height:100vh;max-width:100vw;width:100%}}input[type=range].m-layerswitcher-transparency{-webkit-appearance:none;height:8px;width:30%}@media (-ms-high-contrast:active),(-ms-high-contrast:none){input[type=range].m-layerswitcher-transparency{height:auto}}input[type=range].m-layerswitcher-transparency:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{background:rgba(0,0,0,.31);border-radius:12px;cursor:pointer;height:2px;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;background-color:#fda823;border-radius:15px;cursor:pointer;height:10px;margin-top:-4px;width:10px}@media only screen and (max-width:768px){input[type=range]::-webkit-slider-thumb{height:12px;width:12px}}input[type=range]::-moz-range-track{background:rgba(0,0,0,.31);border-radius:12px;cursor:pointer;height:2px;width:100%}input[type=range]::-moz-range-thumb{-webkit-appearance:none;background:#fff;background-color:#fda823;border:none;cursor:pointer;height:10px;margin-top:20px;width:10px}input[type=range]::-ms-track{background:transparent;border-color:transparent;border-width:12px;color:transparent;cursor:pointer;height:2px;margin-top:-8px;width:100%}input[type=range]::-ms-thumb{-webkit-appearance:none;background-color:#fda823;border:none;border-radius:15px;cursor:pointer;height:10px;width:10px}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ddd;border-radius:10px}input[type=range]:disabled::-moz-range-thumb,input[type=range]:disabled::-ms-thumb,input[type=range]:disabled::-webkit-slider-thumb{background-color:#848484}input[type=range]:disabled{opacity:.5}.m-areas>div.m-area>div.m-panel.m-layerswitcher{background-color:#f4f4f4}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{overflow:hidden;overflow-y:auto;padding-right:0}.m-layersiwtcher-panel>ul{margin:0;padding:0}.m-layerswitcher-container ul.m-base-layers,.m-layerswitcher-container ul.m-groups,.m-layerswitcher-container ul.m-layers,ul.m-groups>li.m-group>ul.m-layers{list-style:none;padding:10px}ul.m-groups>li.m-group{background:#eaeaea}ul.m-base-layers>li.m-layer,ul.m-groups>li.m-group,ul.m-layers>li.m-layer{box-shadow:0 1px 2px rgba(0,0,0,.3)}ul.m-groups>li.m-group>.m-title{cursor:pointer}ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{float:left;width:24px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{display:inline-block;text-align:left;width:59%}@-moz-document url-prefix(){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{display:inline-block;text-align:left;width:59%}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:57%}}}ul.m-groups>li.m-group>.m-title{float:left;width:calc(96% - 48px)}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{width:38px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:53%}ul.m-groups>li.m-group>.m-title{width:calc(94% - 48px)}}ul.m-groups>li.m-group>.m-collapsed-icon{cursor:pointer;width:24px}ul.m-base-layers,ul.m-layers{background-color:#f9f9f9}ul.m-base-layers>li,ul.m-layers>li{background-color:#fff;border:1px solid rgba(0,0,0,.1);margin-bottom:5px}ul.m-base-layers>li>div.m-legend,ul.m-layers>li>div.m-legend{padding-bottom:12.5px;padding-top:12.5px}ul.m-base-layers>li>div.m-legend{max-width:50vw}ul.m-base-layers>li>div.m-legend>img,ul.m-layers>li>div.m-legend>img{margin:auto!important;max-width:45vw}.m-popup{background-color:#fff;border:1px solid #ccc;border-radius:5px;bottom:12px;box-shadow:2px 2px 8px -4px rgba(0,0,0,.53);left:-50px;position:absolute}.m-popup:after,.m-popup:before{border:solid transparent;content:" ";height:0;pointer-events:none;position:absolute;top:100%;width:0}.m-popup:after{border-top-color:#fff;border-width:10px;left:48px;margin-left:-10px}.m-popup:before{border-top-color:#ccc;border-width:11px;left:48px;margin-left:-11px}.m-popup-content{max-height:70vh;max-width:50vw;min-width:170px;overflow-x:auto;width:auto}.m-popup>div.m-content>div.m-header{cursor:pointer}.m-popup>div.m-content>div.m-header>div.m-subtitle,.m-popup>div.m-content>div.m-header>div.m-title{display:none}.m-popup-closer{color:gray;font-size:100%;padding:0 4px;position:absolute;right:2px;text-decoration:none;top:2px}.m-popup-closer:after{content:"\2716"}.m-popup div.infoResult{min-width:130px}.m-popup div.infoResult p{margin:0;padding:.1em}.m-popup-content h3{margin:.25em 0}.m-popup.marker{margin-bottom:30px}.m-popup .m-content{margin:0;padding:15px 27px 15px 15px}.m-popup .m-footer{display:flex;margin:0;padding:5px 0}.m-popup .m-footer>a>button{background-color:transparent;border:none;color:#337ceb;cursor:pointer;font-size:18px;transition:color .3s}.m-popup .m-footer>a>button:hover{color:#d9534f}.m-popup>div.m-content>div.m-body{max-height:50vh;overflow-x:hidden;overflow-y:auto;width:calc(100% + 15px)}@media only screen and (max-width:768px){.m-popup>div.m-content>div.m-body{margin-left:15px;margin-top:15px;width:calc(100% - 30px)}}.m-popup>div.m-popup-content>div.m-content+div.m-content{margin-top:10px}.m-popup>div.m-popup-content>div.m-content>p.m-title{background-color:#dedede;color:#404040;font-size:15px;font-weight:700;line-height:30px;margin-top:0;text-align:center}.m-popup>div.m-popup-content>div.m-content:last-child{border-bottom:0}.m-popup div.m-editattribute-content button.save{background-color:#fff;border:1px solid rgba(0,0,0,.4);border-radius:4px;color:#404040;cursor:pointer;display:table;font-family:Muli,"sans-serif"!important;font-size:15px;line-height:25px;margin:10px 0;opacity:.75;padding:5px;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s;width:97%}.m-popup div.m-editattribute-content button.save:hover{opacity:1}.m-popup.m-has-tabs{border-top-left-radius:0;min-width:150px}.m-popup>div.m-tabs{display:inline-flex;left:-1px;margin:0;position:absolute;top:-29px}.m-popup>div.m-tabs>div.m-tab{background-color:#f2f2f2;border:1px solid #ccc;border-right:0;cursor:pointer;font-size:18px;height:17px;margin:0;padding:5px;text-align:center;width:30px}.m-popup>div.m-tabs>div.m-tab:first-child{border-top-left-radius:4px}.m-popup>div.m-tabs>div.m-tab:last-child{border-right:1px solid #ccc;border-top-right-radius:4px}.m-popup>div.m-tabs>div.m-tab.m-activated{background-color:#fff;border-bottom:0;height:18px}@media only screen and (max-width:768px){.m-popup{border-bottom-left-radius:0;border-bottom-right-radius:0;height:100vh;left:0;margin:0;padding:0;position:fixed;width:100vw;z-index:1500}.m-popup .m-footer{display:flex;padding:15px 5px;position:relative}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{align-items:center;display:flex;flex-flow:column;flex-wrap:nowrap;justify-content:center;padding-top:5px;text-align:center}.m-popup:not(.m-has-tabs)>div.m-content>div.m-header{box-shadow:0 0 7px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);flex-flow:row;height:10vh;justify-content:flex-end;padding-top:0;position:relative}.m-popup.m-has-tabs>div.m-content>div.m-header{height:0;margin:0;padding:0}.m-popup>div.m-tabs{align-items:stretch;flex-flow:row;height:10vh;left:0;margin:0;padding:0;position:relative;top:0;width:100%}.m-popup>div.m-tabs>div.m-tab,.m-popup>div.m-tabs>div.m-tab.m-activated{align-items:center;border-radius:0;border-top:0;display:flex;font-size:24px;height:100%;justify-content:center;margin:0;padding:0;width:100%}.m-popup>div.m-tabs>div.m-tab:first-child{border-left:0}.m-popup>div.m-content{padding:0}.m-popup>div.m-content>div.m-header>div.m-title{display:initial;font-size:1.2em;font-weight:700;width:100%}.m-popup>div.m-content>div.m-header>div.m-subtitle{display:initial;font-size:1em;font-style:italic}.m-popup.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{height:40px;position:absolute;right:0}.m-popup>div.m-content>div.m-body{max-height:100vh;overflow-y:auto}.m-popup.m-collapsed>div.m-tabs,.m-popup:not(.m-has-tabs).m-collapsed>div.m-content>div.m-header{height:7vh}.m-popup.m-collapsed>div.m-content>div.m-body{height:0}.m-popup.m-collapsed{top:92%}.m-popup.m-collapsed.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{display:none}.m-popup.m-default>div.m-tabs,.m-popup:not(.m-has-tabs).m-default>div.m-content>div.m-header{height:7vh}.m-popup.m-default>div.m-content>div.m-body{height:48vh}.m-popup.m-default{top:45vh}.m-popup.m-default.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup.m-full>div.m-tabs,.m-popup:not(.m-has-tabs).m-full>div.m-content>div.m-header{height:7vh}.m-popup.m-full>div.m-content>div.m-body{height:93vh}.m-popup.m-full{top:0}.m-popup>div.m-content>div.m-header>a.m-popup-closer{align-items:center;display:flex;font-family:g-cartografia;font-size:22px;height:100%;justify-content:flex-end;margin:0;padding:0;position:inherit;width:40px}.m-popup>div.m-content>div.m-header>a.m-popup-closer:after{content:"\e919"}.m-popup.m-full.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup:not(.m-no-animation){-webkit-transition:top .5s ease 0s;transition:top .5s ease 0s}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{-webkit-transition:height .5s ease 0s,background-color .5s ease 0s;transition:height .5s ease 0s,background-color .5s ease 0s}.m-popup>div.m-content>div.m-header>div.m-title,.m-popup>div.m-tabs>div.m-tab{-webkit-transition:font-size .5s ease 0s;transition:font-size .5s ease 0s}}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result{border-top:1px solid rgba(0,0,0,.13)}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table{border-top:1px dashed rgba(0,0,0,.09);width:100%}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{text-align:right}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key{font-weight:700}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key,.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{white-space:nowrap}@supports (overflow:-webkit-marquee) and (justify-content:inherit){@media only screen and (max-width:768px){.m-popup.m-collapsed{top:87vh}}}.unsetTransform{transform:unset!important}.m-dialog{height:100%;left:0;position:absolute;top:0;width:100%;z-index:99999}.m-dialog>div.m-modal{align-items:center;background-color:hsla(0,0%,100%,.5);display:flex;height:100%;width:100%}.m-dialog>div.m-modal>div.m-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);margin:0 auto;max-height:70vh;max-width:70vw;min-width:30vw;padding:10px;position:relative}.m-dialog div.m-title{font-weight:700;line-height:40px;text-align:center}.m-dialog div.m-message{border-bottom:1px solid rgba(0,0,0,.2);font-size:15px;padding:10px 5px}.m-dialog div.m-button>button{background-color:transparent;border:none;box-shadow:none;cursor:pointer;font-weight:700;margin-top:10px;padding:5px;width:50px}.m-dialog div.m-button{text-align:right}.m-dialog.info div.m-button>button,.m-dialog.info div.m-title{background-color:#337ceb;color:#fff}.m-dialog.error div.m-button>button,.m-dialog.error div.m-title{background-color:#d9534f;color:#fff}.m-dialog.success div.m-button>button,.m-dialog.success div.m-title{background-color:#67af13;color:#fff}.m-location-container{left:600px;top:20px}.m-location-container.m-locating>button#m-location-button:before{animation:mloading 1s linear infinite;left:11px;position:absolute;top:11px}.m-location-container.m-locating>button#m-location-button{padding:8px}@supports (-ms-ime-align:auto){.m-location-container.m-locating>button#m-location-button{height:36px}}.m-scale-container{background-color:rgba(0,60,136,.5);border-bottom-left-radius:2px;border-top-left-radius:2px;bottom:2em;box-shadow:0 1px 2px rgba(0,0,0,.3);display:block;font-size:smaller;font-weight:700;font-weight:400;margin:0;padding:5px;right:0}.m-scale-container>.m-unit{font-family:Muli!important;line-height:normal}.m-scale-container>.m-scale{line-height:normal}.m-scale-container>.m-unit:before{color:#a35d38;font-family:g-cartografia!important;font-size:12px!important;margin-right:5px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div.m-control.m-rotate-container button[class^=g-cartografia-]#m-rotate-button{background-color:#fff;border-radius:50%;color:#337ceb;cursor:pointer;font-size:1.5rem;left:19%;padding:0;position:absolute;top:23%;z-index:200}.m-rotate-slider{border-radius:50%;cursor:pointer;height:30px;position:absolute;width:30px}#m-rotate-slider-container{height:40px;width:40px}#m-rotate-marker{height:45px;position:absolute;width:45px}#m-rotate-marker-circle{stroke:#337ceb;fill:#fff;cursor:pointer}.m-mouse-position{white-space:pre}.m-mouse-position:before{color:#a35d38;font-family:g-cartografia!important;margin-right:5px}@media only screen and (max-width:768px){.m-mouse-position{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>.m-mouse-position{border-radius:20px!important;order:4}.m-panel.m-map-info.m-with-scale>div.m-panel-controls>.m-mouse-position,.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>.m-mouse-position{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.m-getfeatureinfo-container{left:300px;top:20px}.m-popup table.mapea-table td.header{border-bottom:1px ridge #6c6c6c;padding-top:10px;text-align:center}.m-getfeatureinfo-content-info{margin-bottom:.7rem;min-width:250px}.m-getfeatureinfo-content-info-body.m-content-collapsed,span.m-content-collapsed{display:none}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header{align-items:center;background-color:#eee;color:#000;display:flex;font-size:12px;margin-bottom:5px;padding:5px}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-right{border:7px solid transparent;border-left-color:#000;cursor:pointer}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-down{border:7px solid transparent;border-top-color:#000;cursor:pointer;margin-right:5px}.m-areas{height:0;left:0;max-height:0;top:0;width:0}.m-areas>div.m-area{-webkit-display:flex;display:flex;-webkit-flex-flow:column nowrap;flex-flow:column nowrap;position:absolute}.m-areas>div.m-area.m-top{top:0}.m-areas>div.m-area.m-bottom{bottom:0;max-width:0;width:0}.m-areas>div.m-area.m-bottom.m-right{z-index:10}.m-areas>div.m-area.m-left{-webkit-align-items:flex-start;align-items:flex-start;left:0}.m-areas>div.m-area.m-right{-webkit-align-items:flex-end;align-items:flex-end;right:0}@media only screen and (max-width:768px){.m-areas>div.m-area.m-top.top-extra{top:65px}.m-areas>div.m-area.m-top.top-extra.top-extra-search{top:75px}.m-areas>div.m-area.m-top.top-extra.top-extra-searchs{top:135px}}.m-areas>div.m-area>div.m-panel{background:#fff;border-radius:4px;box-sizing:border-box;position:relative;z-index:999}.m-areas>div.m-area>div.m-panel,div.m-panel>button{box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-areas>div.m-area.m-top>div.m-panel{margin-top:10px}.m-areas>div.m-area.m-bottom>div.m-panel{margin-bottom:10px}.m-areas>div.m-area.m-left>div.m-panel{margin-left:10px}.m-areas>div.m-area.m-right>div.m-panel{margin-right:10px}.m-areas>div.m-area>div.m-panel.no-collapsible{border-radius:20px}.m-areas>div.m-area>div.m-panel>button.m-panel-btn{box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);color:#fff}.m-areas>div.m-area>div.m-panel.no-collapsible>div.m-panel-controls>div.m-control>button,.m-areas>div.m-area>div.m-panel>button.m-panel-btn{background:none;border:0;box-sizing:border-box;cursor:pointer;font-family:g-cartografia!important;font-size:19px;height:40px;padding:0;-webkit-transition:opacity .25s ease 0s,color .25s ease 0s;transition:opacity .25s ease 0s,color .25s ease 0s;width:40px;speak:none;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.m-areas>div.m-area>div.m-panel.opened>button.m-panel-btn{font-size:15px}.m-areas>div.m-area.m-left>div.m-panel>button.m-panel-btn{border-bottom-right-radius:4px;border-top-right-radius:4px;float:right}.m-areas>div.m-area.m-left>div.m-panel.collapsed>button.m-panel-btn{box-shadow:none;position:inherit;right:0}.m-areas>div.m-area.m-right>div.m-panel>button.m-panel-btn{border-bottom-left-radius:4px;border-top-left-radius:4px;float:left}.m-areas>div.m-area>div.m-panel.m-tools>button.m-panel-btn{background-color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>button.m-panel-btn{background-color:#67af13}.m-areas>div.m-area>div.m-panel.m-tools.collapsed>button.m-panel-btn{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition.collapsed>button.m-panel-btn{color:#67af13}.m-areas>div.m-area>div.m-panel.collapsed>button.m-panel-btn{background-color:#fff!important;border-radius:20px}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus{outline:none}.m-areas>div.m-area>div.m-panel.no-collapsible>button.m-panel-btn{display:none}.m-areas>div.m-area.m-left>div.m-panel,.m-areas>div.m-area.m-left>div.m-panel>div.m-panel-controls{align-items:flex-end;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.m-areas>div.m-area>div.m-panel.m-tools{order:-90}.m-areas>div.m-area>div.m-panel.m-edition{order:-80}.m-areas>div.m-area>div.m-panel.m-panzoombar{border-radius:20px;margin-left:25px;margin-top:8px;order:-69;width:10px}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-panzoombar{display:none}}.m-areas>div.m-area>div.m-panel.m-panzoom{border-radius:4px;height:60px;margin-left:15px;order:-70;width:30px}.m-areas>div.m-area>div.m-panel.m-scaleline{background-color:transparent;box-shadow:none;left:20px}.m-areas>div.m-area>div.m-panel.m-location>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-mouse{border-radius:4px;padding:5px}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls{width:auto}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls:before{background:none;font-size:15px}.m-areas>div.m-area>div.m-panel.m-overviewmap{box-shadow:none}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:flex}@-moz-document url-prefix(){.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:inline-flex}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-areas>div.m-area>div.m-panel.collapsed{height:auto!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{width:40px!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{width:100%!important}.m-areas>div.m-area>div.m-panel.m-panzoom{height:auto!important}.m-printer.opened .m-printer-container .form{min-height:176px}.m-printer-container>div.button>button.print{width:57%!important}}@supports (overflow:-webkit-marquee) and (justify-content:inherit){.m-areas>div.m-area.m-top{top:0}}.m-areas>div.m-area.m-bottom,.m-areas>div.m-area.m-top,.m-areas>div.m-area>div.m-panel.m-map-info,.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls{visibility:hidden}.m-areas>div.m-area>div.m-panel{visibility:visible}.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls>div{visibility:visible!important}.m-areas>div.m-area>div.m-panel{-webkit-transition:border-radius .5s ease 0s;transition:border-radius .5s ease 0s}.m-areas>div.m-area>div.m-panel.collapsed{border-radius:20px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{border-radius:10px;opacity:1;-webkit-transition:max-width 1s ease 0s,opacity .75s ease .1s;transition:max-width 1s ease 0s,opacity .75s ease .1s}.m-areas>div.m-area>div.m-panel.collapsed>div.m-panel-controls{max-width:0;opacity:0;-webkit-transition:max-width .4s ease 0s,opacity .3s ease 0s;transition:max-width .4s ease 0s,opacity .3s ease 0s}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div{background-color:transparent;border-radius:0;box-shadow:none;display:table;overflow:hidden;padding:0;position:inherit!important}.m-areas>div.m-area>div.m-panel.m-tools>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>div.m-panel-controls>div.m-control.activated>button{color:#67af13}@media only screen and (min-width:769px){.m-geosearch.collapsed .m-panel-controls,.m-searchstreet.collapsed .m-panel-controls,.m-searchstreetgeosearch.collapsed .m-panel-controls{display:none!important}}.m-edition.collapsed .m-panel-controls,.m-tools.collapsed .m-panel-controls{display:none!important}.m-map-info>div.m-panel-controls{align-items:flex-end;flex-direction:row-reverse}.m-map-info{background:transparent!important;border-radius:0!important;box-shadow:none!important;order:4;right:0}.m-location{order:1;z-index:97}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container{order:3}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-bottom-left-radius:0!important;border-top-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-bottom-left-radius:20px!important;border-top-left-radius:20px!important}}.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>div.m-control.m-scale-container{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{order:2}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-wmcselector-container,.m-panel.m-map-info.m-with-scale>div.m-panel-controls>div.m-control.m-wmcselector-container{border-bottom-left-radius:0!important;border-top-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse:not(.m-with-scale)>div.m-panel-controls>div.m-control.m-wmcselector-container{border-bottom-left-radius:20px!important;border-top-left-radius:20px!important}}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position{display:inline;height:15px!important}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position,.m-scale-container{background-color:#fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;padding:6px 12px 3px!important}.m-scale-container{display:flex!important;height:15px;white-space:pre}.m-scale-container:before{color:#a35d38;margin-right:5px}.m-wmcselector-container{background-color:#fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;display:flex!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;height:17px;padding:4px 10px 3px 12px!important}.m-wmcselector-container:before{color:#a35d38;margin-right:5px;margin-top:3px}@media only screen and (max-width:768px){.m-scale-container{border-bottom-left-radius:20px!important;border-top-left-radius:20px!important;padding:6px 12px 3px!important}}@media only screen and (min-width:769px){.m-geosearch.collapsed div.results-panel,.m-geosearch.collapsed div.search-panel{display:none!important}}.m-kml-desc>table{width:100%} +/*# sourceMappingURL=mapea-6.5.0.ol.min.css.map*/ \ No newline at end of file diff --git a/lib/mapea-6.5.0.ol.min.js b/lib/mapea-6.5.0.ol.min.js new file mode 100644 index 0000000..af7f6fe --- /dev/null +++ b/lib/mapea-6.5.0.ol.min.js @@ -0,0 +1,92 @@ +(()=>{var t={792:function(t,e,i){var n; +/** + * @license + * + * chroma.js - JavaScript library for color conversions + * + * Copyright (c) 2011-2017, Gregor Aisch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name Gregor Aisch may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */t=i.nmd(t),function(){var i,r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y,I,E,C,v,x,w,S,b,B,L,M,T,R,N,P,F,D,O,Q,k,G,U,q,V,z,Y,j,H,X,W,K,J,Z,$,tt,et,it,nt,rt,st,ot,at,lt,ht,ct,ut,gt,dt,At,pt,ft,mt,_t,yt,It,Et,Ct,vt,xt,wt,St,bt,Bt,Lt=[].slice;xt=function(){var t,e,i,n,r;for(t={},n=0,e=(r="Boolean Number String Function Array Date RegExp Undefined Null".split(" ")).length;ni&&(t=i),t},wt=function(t){return t.length>=3?Array.prototype.slice.call(t):t[0]},v=function(t){var e,i;for(t._clipped=!1,t._unclipped=t.slice(0),e=i=0;i<3;e=++i)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t._clipped||delete t._unclipped,t},o=Math.PI,yt=Math.round,w=Math.cos,M=Math.floor,nt=Math.pow,K=Math.log,Et=Math.sin,Ct=Math.sqrt,f=Math.atan2,$=Math.max,p=Math.abs,h=2*o,a=o/3,r=o/180,l=180/o,C=function(){return arguments[0]instanceof i?arguments[0]:function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,arguments,(function(){}))},C.default=C,A=[],null!==t&&null!=t.exports&&(t.exports=C),void 0===(n=function(){return C}.apply(e,[]))||(t.exports=n),C.version="1.4.0",d={},u=[],g=!1,i=function(){function t(){var t,e,i,n,r,s,o,a,l;for(s=this,e=[],a=0,n=arguments.length;a1&&(o=e[e.length-1]),null!=d[o])s._rgb=v(d[o](wt(e.slice(0,-1))));else{for(g||(u=u.sort((function(t,e){return e.p-t.p})),g=!0),l=0,r=u.length;l3?e[3]:1]},Bt=function(t){return 255*(t<=.00304?12.92*t:1.055*nt(t,1/2.4)-.055)},Y=function(t){return t>s.t1?t*t*t:s.t2*(t-s.t0)},s={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ut=function(){var t,e,i,n,r,s,o;return i=(n=wt(arguments))[0],e=n[1],t=n[2],s=(r=ft(i,e,t))[0],[116*(o=r[1])-16,500*(s-o),200*(o-r[2])]},mt=function(t){return(t/=255)<=.04045?t/12.92:nt((t+.055)/1.055,2.4)},bt=function(t){return t>s.t3?nt(t,1/3):t/s.t2+s.t0},ft=function(){var t,e,i,n;return i=(n=wt(arguments))[0],e=n[1],t=n[2],i=mt(i),e=mt(e),t=mt(t),[bt((.4124564*i+.3575761*e+.1804375*t)/s.Xn),bt((.2126729*i+.7151522*e+.072175*t)/s.Yn),bt((.0193339*i+.119192*e+.9503041*t)/s.Zn)]},C.lab=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["lab"]),(function(){}))},d.lab=z,i.prototype.lab=function(){return ut(this._rgb)},m=function(t){var e,i,n,r,s,o,a,l,h,c,u;return 2===(t=function(){var e,i,n;for(n=[],i=0,e=t.length;i=0&&e[3]<=1?"rgb":void 0}}),d.lrgb=d.rgb,G=function(t,e,n,r){var s,o;return s=t._rgb,o=e._rgb,new i(Ct(nt(s[0],2)*(1-n)+nt(o[0],2)*n),Ct(nt(s[1],2)*(1-n)+nt(o[1],2)*n),Ct(nt(s[2],2)*(1-n)+nt(o[2],2)*n),r)},c=function(t){var e,n,r,s,o;for(e=1/t.length,o=[0,0,0,0],r=0,n=t.length;r1&&(o[3]=1),new i(v(o))},A.push(["lrgb",G]),C.average=function(t,e){var i,n,r,s,a,l,h,u,g,d,A,p,m;if(null==e&&(e="rgb"),g=t.length,t=t.map((function(t){return C(t)})),h=t.splice(0,1)[0],"lrgb"===e)return c(t);for(u in s=[],a=0,l=0,p=h.get(e))p[u]=p[u]||0,s.push(isNaN(p[u])?0:1),"h"!==e.charAt(u)||isNaN(p[u])||(i=p[u]/180*o,a+=w(i),l+=Et(i));for(n=h.alpha(),A=0,d=t.length;A=360;)i-=360;p[u]=i}else p[u]=p[u]/s[u];return C(p,e).alpha(n/g)},R=function(t){var e,i;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]),[(i=parseInt(t,16))>>16,i>>8&255,255&i,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),[(i=parseInt(t,16))>>24&255,i>>16&255,i>>8&255,yt((255&i)/255*100)/100];if(null!=d.css&&(e=d.css(t)))return e;throw"unknown color: "+t},at=function(t,e){var i,n,r,s,o,a;return null==e&&(e="auto"),o=t[0],r=t[1],n=t[2],i=t[3],"auto"===e&&(e=i<1?"rgba":"rgb"),o=Math.round(o),r=Math.round(r),n=Math.round(n),a=(a="000000"+(o<<16|r<<8|n).toString(16)).substr(a.length-6),s=(s="0"+yt(255*i).toString(16)).substr(s.length-2),"#"+function(){switch(e.toLowerCase()){case"rgba":return a+s;case"argb":return s+a;default:return a}}()},d.hex=function(t){return R(t)},C.hex=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["hex"]),(function(){}))},i.prototype.hex=function(t){return null==t&&(t="auto"),at(this._rgb,t)},u.push({p:4,test:function(t){if(1===arguments.length&&"string"===xt(t))return"hex"}}),F=function(){var t,e,i,n,r,s,o,a,l,h,c,u,g,d;if(r=(t=wt(arguments))[0],c=t[1],o=t[2],0===c)l=n=e=255*o;else{for(i=[0,0,0],u=2*o-(g=o<.5?o*(1+c):o+c-o*c),(d=[0,0,0])[0]=(r/=360)+1/3,d[1]=r,d[2]=r-1/3,s=a=0;a<=2;s=++a)d[s]<0&&(d[s]+=1),d[s]>1&&(d[s]-=1),6*d[s]<1?i[s]=u+6*(g-u)*d[s]:2*d[s]<1?i[s]=g:3*d[s]<2?i[s]=u+(g-u)*(2/3-d[s])*6:i[s]=u;l=(h=[yt(255*i[0]),yt(255*i[1]),yt(255*i[2])])[0],n=h[1],e=h[2]}return t.length>3?[l,n,e,t[3]]:[l,n,e]},ht=function(t,e,i){var n,r,s,o,a;return void 0!==t&&t.length>=3&&(t=(o=t)[0],e=o[1],i=o[2]),t/=255,e/=255,i/=255,s=Math.min(t,e,i),r=(($=Math.max(t,e,i))+s)/2,$===s?(a=0,n=Number.NaN):a=r<.5?($-s)/($+s):($-s)/(2-$-s),t===$?n=(e-i)/($-s):e===$?n=2+(i-t)/($-s):i===$&&(n=4+(t-e)/($-s)),(n*=60)<0&&(n+=360),[n,a,r]},C.hsl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["hsl"]),(function(){}))},d.hsl=F,i.prototype.hsl=function(){return ht(this._rgb)},D=function(){var t,e,i,n,r,s,o,a,l,h,c,u,g,d,A,p,f,m;if(r=(t=wt(arguments))[0],p=t[1],m=t[2],m*=255,0===p)l=n=e=m;else switch(360===r&&(r=0),r>360&&(r-=360),r<0&&(r+=360),o=m*(1-p),a=m*(1-p*(i=(r/=60)-(s=M(r)))),f=m*(1-p*(1-i)),s){case 0:l=(h=[m,f,o])[0],n=h[1],e=h[2];break;case 1:l=(c=[a,m,o])[0],n=c[1],e=c[2];break;case 2:l=(u=[o,m,f])[0],n=u[1],e=u[2];break;case 3:l=(g=[o,a,m])[0],n=g[1],e=g[2];break;case 4:l=(d=[f,o,m])[0],n=d[1],e=d[2];break;case 5:l=(A=[m,o,a])[0],n=A[1],e=A[2]}return[l,n,e,t.length>3?t[3]:1]},ct=function(){var t,e,i,n,r,s,o,a,l;return s=(o=wt(arguments))[0],i=o[1],t=o[2],r=Math.min(s,i,t),e=($=Math.max(s,i,t))-r,l=$/255,0===$?(n=Number.NaN,a=0):(a=e/$,s===$&&(n=(i-t)/e),i===$&&(n=2+(t-s)/e),t===$&&(n=4+(s-i)/e),(n*=60)<0&&(n+=360)),[n,a,l]},C.hsv=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["hsv"]),(function(){}))},d.hsv=D,i.prototype.hsv=function(){return ct(this._rgb)},et=function(t){return"number"===xt(t)&&t>=0&&t<=16777215?[t>>16,t>>8&255,255&t,1]:(console.warn("unknown num color: "+t),[0,0,0,1])},At=function(){var t;return((t=wt(arguments))[0]<<16)+(t[1]<<8)+t[2]},C.num=function(t){return new i(t,"num")},i.prototype.num=function(t){return null==t&&(t="rgb"),At(this._rgb,t)},d.num=et,u.push({p:1,test:function(t){if(1===arguments.length&&"number"===xt(t)&&t>=0&&t<=16777215)return"num"}}),T=function(){var t,e,i,n,r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y;if(a=(i=wt(arguments))[0],r=i[1],e=i[2],o=o/100*255,t=255*(r/=100),0===r)u=o=n=e;else switch(360===a&&(a=0),a>360&&(a-=360),a<0&&(a+=360),c=(h=e*(1-r))+t*(1-(s=(a/=60)-(l=M(a)))),_=h+t*s,y=h+t,l){case 0:u=(g=[y,_,h])[0],o=g[1],n=g[2];break;case 1:u=(d=[c,y,h])[0],o=d[1],n=d[2];break;case 2:u=(A=[h,y,_])[0],o=A[1],n=A[2];break;case 3:u=(p=[h,c,y])[0],o=p[1],n=p[2];break;case 4:u=(f=[_,h,y])[0],o=f[1],n=f[2];break;case 5:u=(m=[y,h,c])[0],o=m[1],n=m[2]}return[u,o,n,i.length>3?i[3]:1]},ot=function(){var t,e,i,n,r,s,o,a,l;return a=(l=wt(arguments))[0],r=l[1],e=l[2],o=Math.min(a,r,e),i=100*(n=($=Math.max(a,r,e))-o)/255,t=o/(255-n)*100,0===n?s=Number.NaN:(a===$&&(s=(r-e)/n),r===$&&(s=2+(e-a)/n),e===$&&(s=4+(a-r)/n),(s*=60)<0&&(s+=360)),[s,i,t]},C.hcg=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["hcg"]),(function(){}))},d.hcg=T,i.prototype.hcg=function(){return ot(this._rgb)},S=function(t){var e,i,n,r,s,o,a,l;if(t=t.toLowerCase(),null!=C.colors&&C.colors[t])return R(C.colors[t]);if(s=t.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(a=s.slice(1,4),r=o=0;o<=2;r=++o)a[r]=+a[r];a[3]=1}else if(s=t.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(a=s.slice(1,5),r=l=0;l<=3;r=++l)a[r]=+a[r];else if(s=t.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(a=s.slice(1,4),r=e=0;e<=2;r=++e)a[r]=yt(2.55*a[r]);a[3]=1}else if(s=t.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(a=s.slice(1,5),r=i=0;i<=2;r=++i)a[r]=yt(2.55*a[r]);a[3]=+a[3]}else(s=t.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?((n=s.slice(1,4))[1]*=.01,n[2]*=.01,(a=F(n))[3]=1):(s=t.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&((n=s.slice(1,4))[1]*=.01,n[2]*=.01,(a=F(n))[3]=+s[4]);return a},st=function(t){var e;return"rgb"===(e=t[3]<1?"rgba":"rgb")?e+"("+t.slice(0,3).map(yt).join(",")+")":"rgba"===e?e+"("+t.slice(0,3).map(yt).join(",")+","+t[3]+")":void 0},_t=function(t){return yt(100*t)/100},P=function(t,e){var i;return i=e<1?"hsla":"hsl",t[0]=_t(t[0]||0),t[1]=_t(100*t[1])+"%",t[2]=_t(100*t[2])+"%","hsla"===i&&(t[3]=e),i+"("+t.join(",")+")"},d.css=function(t){return S(t)},C.css=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["css"]),(function(){}))},i.prototype.css=function(t){return null==t&&(t="rgb"),"rgb"===t.slice(0,3)?st(this._rgb):"hsl"===t.slice(0,3)?P(this.hsl(),this.alpha()):void 0},d.named=function(t){return R(St[t])},u.push({p:5,test:function(t){if(1===arguments.length&&null!=St[t])return"named"}}),i.prototype.name=function(t){var e,i;for(i in arguments.length&&(St[t]&&(this._rgb=R(St[t])),this._rgb[3]=1),e=this.hex("rgb"),St)if(e===St[i])return i;return e},j=function(){var t,e,i,n;return i=(n=wt(arguments))[0],t=n[1],e=n[2],[i,w(e*=r)*t,Et(e)*t]},H=function(){var t,e,i,n,r,s,o,a,l;return o=(i=wt(arguments))[0],r=i[1],s=i[2],t=(a=j(o,r,s))[0],e=a[1],n=a[2],[(l=z(t,e,n))[0],l[1],n=l[2],i.length>3?i[3]:1]},V=function(){var t,e,i,n,r,s;return r=(s=wt(arguments))[0],t=s[1],e=s[2],i=Ct(t*t+e*e),n=(f(e,t)*l+360)%360,0===yt(1e4*i)&&(n=Number.NaN),[r,i,n]},gt=function(){var t,e,i,n,r,s,o;return r=(s=wt(arguments))[0],i=s[1],e=s[2],n=(o=ut(r,i,e))[0],t=o[1],e=o[2],V(n,t,e)},C.lch=function(){var t;return t=wt(arguments),new i(t,"lch")},C.hcl=function(){var t;return t=wt(arguments),new i(t,"hcl")},d.lch=H,d.hcl=function(){var t,e,i,n;return e=(n=wt(arguments))[0],t=n[1],i=n[2],H([i,t,e])},i.prototype.lch=function(){return gt(this._rgb)},i.prototype.hcl=function(){return gt(this._rgb).reverse()},rt=function(t){var e,i,n,r,s,o;return null==t&&(t="rgb"),s=(o=wt(arguments))[0],n=o[1],e=o[2],n/=255,e/=255,[(1-(s/=255)-(r=1-Math.max(s,Math.max(n,e))))*(i=r<1?1/(1-r):0),(1-n-r)*i,(1-e-r)*i,r]},x=function(){var t,e,i,n,r,s;return i=(e=wt(arguments))[0],r=e[1],s=e[2],n=e[3],t=e.length>4?e[4]:1,1===n?[0,0,0,t]:[i>=1?0:255*(1-i)*(1-n),r>=1?0:255*(1-r)*(1-n),s>=1?0:255*(1-s)*(1-n),t]},d.cmyk=function(){return x(wt(arguments))},C.cmyk=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["cmyk"]),(function(){}))},i.prototype.cmyk=function(){return rt(this._rgb)},d.gl=function(){var t,e,i,n,r;for(n=function(){var t,i;for(e in i=[],t=wt(arguments))r=t[e],i.push(r);return i}.apply(this,arguments),t=i=0;i<=2;t=++i)n[t]*=255;return n},C.gl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["gl"]),(function(){}))},i.prototype.gl=function(){var t;return[(t=this._rgb)[0]/255,t[1]/255,t[2]/255,t[3]]},dt=function(t,e,i){var n;return t=(n=wt(arguments))[0],e=n[1],i=n[2],.2126*(t=J(t))+.7152*(e=J(e))+.0722*(i=J(i))},J=function(t){return(t/=255)<=.03928?t/12.92:nt((t+.055)/1.055,2.4)},q=function(t,e,n,r){var s,o;return s=t._rgb,o=e._rgb,new i(s[0]+n*(o[0]-s[0]),s[1]+n*(o[1]-s[1]),s[2]+n*(o[2]-s[2]),r)},A.push(["rgb",q]),i.prototype.luminance=function(t,e){var i,n,r,s;return null==e&&(e="rgb"),arguments.length?(r=this._rgb,0===t?r=[0,0,0,this._rgb[3]]:1===t?r=[255,255,255,this[3]]:(i=dt(this._rgb),1e-7,n=20,s=function(i,r){var o,a;return o=(a=i.interpolate(r,.5,e)).luminance(),Math.abs(t-o)<1e-7||!n--?a:o>t?s(i,a):s(a,r)},r=i>t?s(C("black"),this).rgba():s(this,C("white")).rgba()),C(r).alpha(this.alpha())):dt(this._rgb)},vt=function(t){var e,i,n,r;return(r=t/100)<66?(n=255,i=-155.25485562709179-.44596950469579133*(i=r-2)+104.49216199393888*K(i),e=r<20?0:.8274096064007395*(e=r-10)-254.76935184120902+115.67994401066147*K(e)):(n=351.97690566805693+.114206453784165*(n=r-55)-40.25366309332127*K(n),i=325.4494125711974+.07943456536662342*(i=r-50)-28.0852963507957*K(i),e=255),[n,i,e]},pt=function(){var t,e,i,n,r,s,o;for(n=(r=wt(arguments))[0],r[1],t=r[2],i=1e3,e=4e4,.4;e-i>.4;)(s=vt(o=.5*(e+i)))[2]/s[0]>=t/n?e=o:i=o;return yt(o)},C.temperature=C.kelvin=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["temperature"]),(function(){}))},d.temperature=d.kelvin=d.K=vt,i.prototype.temperature=function(){return pt(this._rgb)},i.prototype.kelvin=i.prototype.temperature,C.contrast=function(t,e){var n,r,s,o;return"string"!==(s=xt(t))&&"number"!==s||(t=new i(t)),"string"!==(o=xt(e))&&"number"!==o||(e=new i(e)),(n=t.luminance())>(r=e.luminance())?(n+.05)/(r+.05):(r+.05)/(n+.05)},C.distance=function(t,e,n){var r,s,o,a,l,h,c;for(s in null==n&&(n="lab"),"string"!==(l=xt(t))&&"number"!==l||(t=new i(t)),"string"!==(h=xt(e))&&"number"!==h||(e=new i(e)),o=t.get(n),a=e.get(n),c=0,o)c+=(r=(o[s]||0)-(a[s]||0))*r;return Math.sqrt(c)},C.deltaE=function(t,e,n,r){var s,a,l,h,c,u,g,d,A,m,_,y,I,E,C,v,x,S,b,B,L,M,T,R;for(null==n&&(n=1),null==r&&(r=1),"string"!==(C=xt(t))&&"number"!==C||(t=new i(t)),"string"!==(v=xt(e))&&"number"!==v||(e=new i(e)),s=(x=t.lab())[0],l=x[1],c=x[2],a=(S=e.lab())[0],h=S[1],u=S[2],g=Ct(l*l+c*c),d=Ct(h*h+u*u),B=s<16?.511:.040975*s/(1+.01765*s),b=.0638*g/(1+.0131*g)+.638,E=g<1e-6?0:180*f(c,l)/o;E<0;)E+=360;for(;E>=360;)E-=360;return L=E>=164&&E<=345?.56+p(.2*w(o*(E+168)/180)):.36+p(.4*w(o*(E+35)/180)),I=Ct((A=g*g*g*g)/(A+1900)),Ct((M=(s-a)/(n*B))*M+(T=(y=g-d)/(r*b))*T+((m=l-h)*m+(_=c-u)*_-y*y)/((R=b*(I*L+1-I))*R))},i.prototype.get=function(t){var e,i,n,r,s;return this,n=(r=t.split("."))[0],e=r[1],s=this[n](),e?(i=n.indexOf(e))>-1?s[i]:console.warn("unknown channel "+e+" in mode "+n):s},i.prototype.set=function(t,e){var i,n,r,s,o;if(this,r=(s=t.split("."))[0],i=s[1])if(o=this[r](),(n=r.indexOf(i))>-1)if("string"===xt(e))switch(e.charAt(0)){case"+":case"-":o[n]+=+e;break;case"*":o[n]*=+e.substr(1);break;case"/":o[n]/=+e.substr(1);break;default:o[n]=+e}else o[n]=e;else console.warn("unknown channel "+i+" in mode "+r);else o=e;return C(o,r).alpha(this.alpha())},i.prototype.clipped=function(){return this._rgb._clipped||!1},i.prototype.alpha=function(t){return arguments.length?C.rgb([this._rgb[0],this._rgb[1],this._rgb[2],t]):this._rgb[3]},i.prototype.darken=function(t){var e;return null==t&&(t=1),this,(e=this.lab())[0]-=s.Kn*t,C.lab(e).alpha(this.alpha())},i.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},i.prototype.darker=i.prototype.darken,i.prototype.brighter=i.prototype.brighten,i.prototype.saturate=function(t){var e;return null==t&&(t=1),this,(e=this.lch())[1]+=t*s.Kn,e[1]<0&&(e[1]=0),C.lch(e).alpha(this.alpha())},i.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},i.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),C(e[0]*t,e[1]*t,e[2]*t,t)},tt=function(t,e){return t*e/255},b=function(t,e){return t>e?e:t},X=function(t,e){return t>e?t:e},It=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},it=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},E=function(t,e){return 255*(1-(1-e/255)/(t/255))},B=function(t,e){return 255===t||(t=e/255*255/(1-t/255))>255?255:t},(_=function(t,e,i){if(!_[i])throw"unknown blend mode "+i;return _[i](t,e)}).normal=(y=function(t){return function(e,i){var n,r;return n=C(i).rgb(),r=C(e).rgb(),C(t(n,r),"rgb")}})((L=function(t){return function(e,i){var n,r,s;for(s=[],n=r=0;r<=3;n=++r)s[n]=t(e[n],i[n]);return s}})((function(t,e){return t}))),_.multiply=y(L(tt)),_.screen=y(L(It)),_.overlay=y(L(it)),_.darken=y(L(b)),_.lighten=y(L(X)),_.dodge=y(L(B)),_.burn=y(L(E)),C.blend=_,C.analyze=function(t){var e,i,n,r;for(n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},i=0,e=t.length;in.max&&(n.max=r),n.count+=1);return n.domain=[n.min,n.max],n.limits=function(t,e){return C.limits(n,t,e)},n},C.scale=function(t,e){var i,n,r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y,I,E,v;return c="rgb",u=C("#ccc"),p=0,!1,o=[0,1],A=[],d=[0,0],i=!1,r=[],g=!1,h=0,l=1,s=!1,n={},f=!0,a=1,E=function(t){var e,i,n,s,o,a;if(null==t&&(t=["#fff","#000"]),null!=t&&"string"===xt(t)&&null!=C.brewer&&(t=C.brewer[t]||C.brewer[t.toLowerCase()]||t),"array"===xt(t)){for(1===t.length&&(t=[t[0],t[0]]),e=n=0,s=(t=t.slice(0)).length-1;0<=s?n<=s:n>=s;e=0<=s?++n:--n)i=t[e],"string"===xt(i)&&(t[e]=C(i));for(A.length=0,e=a=0,o=t.length-1;0<=o?a<=o:a>=o;e=0<=o?++a:--a)A.push(e/(t.length-1))}return I(),r=t},_=function(t){var e,n;if(null!=i){for(n=i.length-1,e=0;e=i[e];)e++;return e-1}return 0},v=function(t){return t},function(t){var e,n,r,s,o;return o=t,i.length>2&&(s=i.length-1,e=_(t),r=i[0]+(i[1]-i[0])*(0+.5*p),n=i[s-1]+(i[s]-i[s-1])*(1-.5*p),o=h+(i[e]+.5*(i[e+1]-i[e])-r)/(n-r)*(l-h)),o},y=function(t,e){var s,o,g,p,m,y,I;if(null==e&&(e=!1),isNaN(t))return u;if(I=e?t:i&&i.length>2?_(t)/(i.length-2):l!==h?(t-h)/(l-h):1,e||(I=v(I)),1!==a&&(I=nt(I,a)),I=d[0]+I*(1-d[0]-d[1]),I=Math.min(1,Math.max(0,I)),g=Math.floor(1e4*I),f&&n[g])s=n[g];else{if("array"===xt(r))for(o=p=0,y=A.length-1;0<=y?p<=y:p>=y;o=0<=y?++p:--p){if(I<=(m=A[o])){s=r[o];break}if(I>=m&&o===A.length-1){s=r[o];break}if(I>m&&I=c;e=0<=c?++u:--u)A.push(e/(n-1));return o=[h,l],m},m.mode=function(t){return arguments.length?(c=t,I(),m):c},m.range=function(t,e){return E(t),m},m.out=function(t){return g=t,m},m.spread=function(t){return arguments.length?(p=t,m):p},m.correctLightness=function(t){return null==t&&(t=!0),s=t,I(),v=s?function(t){var e,i,n,r,s,o,a,l,h;for(e=y(0,!0).lab()[0],i=y(1,!0).lab()[0],a=e>i,n=y(t,!0).lab()[0],r=n-(s=e+(i-e)*t),l=0,h=1,o=20;Math.abs(r)>.01&&o-- >0;)a&&(r*=-1),r<0?(l=t,t+=.5*(h-t)):(h=t,t+=.5*(l-t)),n=y(t,!0).lab()[0],r=n-s;return t}:function(t){return t},m},m.padding=function(t){return null!=t?("number"===xt(t)&&(t=[t,t]),d=t,m):d},m.colors=function(e,n){var s,a,l,h,c,u,g,d;if(arguments.length<2&&(n="hex"),c=[],0===arguments.length)c=r.slice(0);else if(1===e)c=[m(.5)];else if(e>1)a=o[0],s=o[1]-a,c=function(){u=[];for(var t=0;0<=e?te;0<=e?t++:t--)u.push(t);return u}.apply(this).map((function(t){return m(a+t/(e-1)*s)}));else{if(t=[],g=[],i&&i.length>2)for(l=d=1,h=i.length;1<=h?dh;l=1<=h?++d:--d)g.push(.5*(i[l-1]+i[l]));else g=o;c=g.map((function(t){return m(t)}))}return C[n]&&(c=c.map((function(t){return t[n]()}))),c},m.cache=function(t){return null!=t?(f=t,m):f},m.gamma=function(t){return null!=t?(a=t,m):a},m},null==C.scales&&(C.scales={}),C.scales.cool=function(){return C.scale([C.hsl(180,1,.9),C.hsl(250,.7,.4)])},C.scales.hot=function(){return C.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},C.analyze=function(t,e,i){var n,r,s,o,a,l;if(a={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==i&&(i=function(){return!0}),n=function(t){null==t||isNaN(t)||(a.values.push(t),a.sum+=t,ta.max&&(a.max=t),a.count+=1)},l=function(t,r){if(i(t,r))return null!=e&&"function"===xt(e)?n(e(t)):null!=e&&"string"===xt(e)||"number"===xt(e)?n(t[e]):n(t)},"array"===xt(t))for(o=0,s=t.length;o=G;x=1<=G?++D:--D)b.push(L+x/i*($-L));b.push($)}else if("l"===e.substr(0,1)){if(L<=0)throw"Logarithmic scales are only possible for values > 0";for(T=Math.LOG10E*K(L),B=Math.LOG10E*K($),b.push(L),x=ht=1,U=i-1;1<=U?ht<=U:ht>=U;x=1<=U?++ht:--ht)b.push(nt(10,T+x/i*(B-T)));b.push($)}else if("q"===e.substr(0,1)){for(b.push(L),x=n=1,H=i-1;1<=H?n<=H:n>=H;x=1<=H?++n:--n)O=(lt.length-1)*x/i,(Q=M(O))===O?b.push(lt[Q]):(k=O-Q,b.push(lt[Q]*(1-k)+lt[Q+1]*k));b.push($)}else if("k"===e.substr(0,1)){for(N=lt.length,m=new Array(N),E=new Array(i),rt=!0,P=0,y=null,(y=[]).push(L),x=r=1,X=i-1;1<=X?r<=X:r>=X;x=1<=X?++r:--r)y.push(L+x/i*($-L));for(y.push($);rt;){for(w=s=0,W=i-1;0<=W?s<=W:s>=W;w=0<=W?++s:--s)E[w]=0;for(x=o=0,J=N-1;0<=J?o<=J:o>=J;x=0<=J?++o:--o){for(at=lt[x],R=Number.MAX_VALUE,w=a=0,Z=i-1;0<=Z?a<=Z:a>=Z;w=0<=Z?++a:--a)(v=p(y[w]-at))=tt;w=0<=tt?++l:--l)F[w]=null;for(x=h=0,et=N-1;0<=et?h<=et:h>=et;x=0<=et?++h:--h)null===F[I=m[x]]?F[I]=lt[x]:F[I]+=lt[x];for(w=c=0,it=i-1;0<=it?c<=it:c>=it;w=0<=it?++c:--c)F[w]*=1/E[w];for(rt=!1,w=u=0,q=i-1;0<=q?u<=q:u>=q;w=0<=q?++u:--u)if(F[w]!==y[x]){rt=!0;break}y=F,++P>200&&(rt=!1)}for(S={},w=g=0,V=i-1;0<=V?g<=V:g>=V;w=0<=V?++g:--g)S[w]=[];for(x=d=0,z=N-1;0<=z?d<=z:d>=z;x=0<=z?++d:--d)S[I=m[x]].push(lt[x]);for(st=[],w=A=0,Y=i-1;0<=Y?A<=Y:A>=Y;w=0<=Y?++A:--A)st.push(S[w][0]),st.push(S[w][S[w].length-1]);for(st=st.sort((function(t,e){return t-e})),b.push(st[0]),x=f=1,j=st.length-1;f<=j;x=f+=2)ot=st[x],isNaN(ot)||-1!==b.indexOf(ot)||b.push(ot)}return b},N=function(t,e,i){var n,r,s,o;return t=(n=wt(arguments))[0],e=n[1],i=n[2],isNaN(t)&&(t=0),(t/=360)<1/3?s=1-((r=(1-e)/3)+(o=(1+e*w(h*t)/w(a-h*t))/3)):t<2/3?r=1-((o=(1-e)/3)+(s=(1+e*w(h*(t-=1/3))/w(a-h*t))/3)):o=1-((s=(1-e)/3)+(r=(1+e*w(h*(t-=2/3))/w(a-h*t))/3)),[255*(o=W(i*o*3)),255*(s=W(i*s*3)),255*(r=W(i*r*3)),n.length>3?n[3]:1]},lt=function(){var t,e,i,n,r,s,o;return r=(s=wt(arguments))[0],e=s[1],t=s[2],h=2*Math.PI,r/=255,e/=255,t/=255,0===(o=1-Math.min(r,e,t)/(n=(r+e+t)/3))?i=0:(i=(r-e+(r-t))/2,i/=Math.sqrt((r-e)*(r-e)+(r-t)*(e-t)),i=Math.acos(i),t>e&&(i=h-i),i/=h),[360*i,o,n]},C.hsi=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(i,Lt.call(arguments).concat(["hsi"]),(function(){}))},d.hsi=N,i.prototype.hsi=function(){return lt(this._rgb)},Q=function(t,e,i,n){var r,s,o,a,l,h,c,u,g,d;return"hsl"===n?(g=t.hsl(),d=e.hsl()):"hsv"===n?(g=t.hsv(),d=e.hsv()):"hcg"===n?(g=t.hcg(),d=e.hcg()):"hsi"===n?(g=t.hsi(),d=e.hsi()):"lch"!==n&&"hcl"!==n||(n="hcl",g=t.hcl(),d=e.hcl()),"h"===n.substr(0,1)&&(s=g[0],c=g[1],a=g[2],o=d[0],u=d[1],l=d[2]),isNaN(s)||isNaN(o)?isNaN(s)?isNaN(o)?r=Number.NaN:(r=o,1!==a&&0!==a||"hsv"===n||(h=u)):(r=s,1!==l&&0!==l||"hsv"===n||(h=c)):r=s+i*(o>s&&o-s>180?o-(s+360):o180?o+360-s:o-s),null==h&&(h=c+i*(u-c)),C[n](r,h,a+i*(l-a))},U=function(t,e,i,n){var r,s;return r=t.num(),s=e.num(),C.num(r+(s-r)*i,"num")},(A=A.concat(function(){var t,e,i,n;for(n=[],e=0,t=(i=["hsv","hsl","hsi","hcl","lch","hcg"]).length;e{"use strict";function e(t,e,n){n=n||2;var s,o,a,l,u,g,A,p=e&&e.length,f=p?e[0]*n:t.length,m=i(t,0,f,n,!0),_=[];if(!m||m.next===m.prev)return _;if(p&&(m=function(t,e,n,r){var s,o,a,l=[];for(s=0,o=e.length;s80*n){s=a=t[0],o=l=t[1];for(var y=n;ya&&(a=u),g>l&&(l=g);A=0!==(A=Math.max(a-s,l-o))?32767/A:0}return r(m,_,n,s,o,A,0),_}function i(t,e,i,n,r){var s,o;if(r===S(t,e,i,n)>0)for(s=e;s=e;s-=n)o=v(s,t[s],t[s+1],o);return o&&m(o,o.next)&&(x(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!m(n,n.next)&&0!==f(n.prev,n,n.next))n=n.next;else{if(x(n),(n=e=n.prev)===n.next)break;i=!0}}while(i||n!==e);return e}function r(t,e,i,h,c,u,d){if(t){!d&&u&&function(t,e,i,n){var r=t;do{0===r.z&&(r.z=g(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){var e,i,n,r,s,o,a,l,h=1;do{for(i=t,t=null,s=null,o=0;i;){for(o++,n=i,a=0,e=0;e0||l>0&&n;)0!==a&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,a--):(r=n,n=n.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,h*=2}while(o>1)}(r)}(t,h,c,u);for(var A,p,f=t;t.prev!==t.next;)if(A=t.prev,p=t.next,u?o(t,h,c,u):s(t))e.push(A.i/i|0),e.push(t.i/i|0),e.push(p.i/i|0),x(t),t=p.next,f=p.next;else if((t=p)===f){d?1===d?r(t=a(n(t),e,i),e,i,h,c,u,2):2===d&&l(t,e,i,h,c,u):r(n(t),e,i,h,c,u,1);break}}}function s(t){var e=t.prev,i=t,n=t.next;if(f(e,i,n)>=0)return!1;for(var r=e.x,s=i.x,o=n.x,a=e.y,l=i.y,h=n.y,c=rs?r>o?r:o:s>o?s:o,d=a>l?a>h?a:h:l>h?l:h,p=n.next;p!==e;){if(p.x>=c&&p.x<=g&&p.y>=u&&p.y<=d&&A(r,a,s,l,o,h,p.x,p.y)&&f(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function o(t,e,i,n){var r=t.prev,s=t,o=t.next;if(f(r,s,o)>=0)return!1;for(var a=r.x,l=s.x,h=o.x,c=r.y,u=s.y,d=o.y,p=al?a>h?a:h:l>h?l:h,y=c>u?c>d?c:d:u>d?u:d,I=g(p,m,e,i,n),E=g(_,y,e,i,n),C=t.prevZ,v=t.nextZ;C&&C.z>=I&&v&&v.z<=E;){if(C.x>=p&&C.x<=_&&C.y>=m&&C.y<=y&&C!==r&&C!==o&&A(a,c,l,u,h,d,C.x,C.y)&&f(C.prev,C,C.next)>=0)return!1;if(C=C.prevZ,v.x>=p&&v.x<=_&&v.y>=m&&v.y<=y&&v!==r&&v!==o&&A(a,c,l,u,h,d,v.x,v.y)&&f(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;C&&C.z>=I;){if(C.x>=p&&C.x<=_&&C.y>=m&&C.y<=y&&C!==r&&C!==o&&A(a,c,l,u,h,d,C.x,C.y)&&f(C.prev,C,C.next)>=0)return!1;C=C.prevZ}for(;v&&v.z<=E;){if(v.x>=p&&v.x<=_&&v.y>=m&&v.y<=y&&v!==r&&v!==o&&A(a,c,l,u,h,d,v.x,v.y)&&f(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function a(t,e,i){var r=t;do{var s=r.prev,o=r.next.next;!m(s,o)&&_(s,r,r.next,o)&&E(s,o)&&E(o,s)&&(e.push(s.i/i|0),e.push(r.i/i|0),e.push(o.i/i|0),x(r),x(r.next),r=t=o),r=r.next}while(r!==t);return n(r)}function l(t,e,i,s,o,a){var l=t;do{for(var h=l.next.next;h!==l.prev;){if(l.i!==h.i&&p(l,h)){var c=C(l,h);return l=n(l,l.next),c=n(c,c.next),r(l,e,i,s,o,a,0),void r(c,e,i,s,o,a,0)}h=h.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function c(t,e){var i=function(t,e){var i,n=e,r=t.x,s=t.y,o=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){var a=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>o&&(o=a,i=n.x=n.x&&n.x>=c&&r!==n.x&&A(si.x||n.x===i.x&&u(i,n)))&&(i=n,d=l)),n=n.next}while(n!==h);return i}(t,e);if(!i)return e;var r=C(i,t);return n(r,r.next),n(i,i.next)}function u(t,e){return f(t.prev,t,e.prev)<0&&f(e.next,t,t.next)<0}function g(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,i=t;do{(e.x=(t-o)*(s-a)&&(t-o)*(n-a)>=(i-o)*(e-a)&&(i-o)*(s-a)>=(r-o)*(n-a)}function p(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&_(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(E(t,e)&&E(e,t)&&function(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(f(t.prev,t,e.prev)||f(t,e.prev,e))||m(t,e)&&f(t.prev,t,t.next)>0&&f(e.prev,e,e.next)>0)}function f(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function m(t,e){return t.x===e.x&&t.y===e.y}function _(t,e,i,n){var r=I(f(t,e,i)),s=I(f(t,e,n)),o=I(f(i,n,t)),a=I(f(i,n,e));return r!==s&&o!==a||(!(0!==r||!y(t,i,e))||(!(0!==s||!y(t,n,e))||(!(0!==o||!y(i,t,n))||!(0!==a||!y(i,e,n)))))}function y(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function I(t){return t>0?1:t<0?-1:0}function E(t,e){return f(t.prev,t,t.next)<0?f(t,e,t.next)>=0&&f(t,t.prev,e)>=0:f(t,e,t.prev)<0||f(t,t.next,e)<0}function C(t,e){var i=new w(t.i,t.x,t.y),n=new w(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function v(t,e,i,n){var r=new w(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function x(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function w(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function S(t,e,i,n){for(var r=0,s=e,o=i-n;s0&&(n+=t[r-1].length,i.holes.push(n))}return i}},177:function(t){ +/**! + + @license + handlebars v4.5.2 + +Copyright (C) 2011-2017 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +t.exports=function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(){var t=g();return t.compile=function(e,i){return l.compile(e,i,t)},t.precompile=function(e,i){return l.precompile(e,i,t)},t.AST=o.default,t.Compiler=l.Compiler,t.JavaScriptCompiler=h.default,t.Parser=a.parser,t.parse=a.parse,t.parseWithoutProcessing=a.parseWithoutProcessing,t}var r=i(1).default;e.__esModule=!0;var s=r(i(2)),o=r(i(35)),a=i(36),l=i(41),h=r(i(42)),c=r(i(39)),u=r(i(34)),g=s.default.create,d=n();d.create=n,u.default(d),d.Visitor=c.default,d.default=d,e.default=d,t.exports=e.default},function(t,e){"use strict";e.default=function(t){return t&&t.__esModule?t:{default:t}},e.__esModule=!0},function(t,e,i){"use strict";function n(){var t=new o.HandlebarsEnvironment;return h.extend(t,o),t.SafeString=a.default,t.Exception=l.default,t.Utils=h,t.escapeExpression=h.escapeExpression,t.VM=c,t.template=function(e){return c.template(e,t)},t}var r=i(3).default,s=i(1).default;e.__esModule=!0;var o=r(i(4)),a=s(i(21)),l=s(i(6)),h=r(i(5)),c=r(i(22)),u=s(i(34)),g=n();g.create=n,u.default(g),g.default=g,e.default=g,t.exports=e.default},function(t,e){"use strict";e.default=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e},e.__esModule=!0},function(t,e,i){"use strict";function n(t,e,i){this.helpers=t||{},this.partials=e||{},this.decorators=i||{},a.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}var r=i(1).default;e.__esModule=!0,e.HandlebarsEnvironment=n;var s=i(5),o=r(i(6)),a=i(10),l=i(18),h=r(i(20)),c="4.5.2";e.VERSION=c;var u=8;e.COMPILER_REVISION=u;var g=7;e.LAST_COMPATIBLE_COMPILER_REVISION=g;var d={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};e.REVISION_CHANGES=d;var A="[object Object]";n.prototype={constructor:n,logger:h.default,log:h.default.log,registerHelper:function(t,e){if(s.toString.call(t)===A){if(e)throw new o.default("Arg not supported with multiple helpers");s.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(s.toString.call(t)===A)s.extend(this.partials,t);else{if(void 0===e)throw new o.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(s.toString.call(t)===A){if(e)throw new o.default("Arg not supported with multiple decorators");s.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]}};var p=h.default.log;e.log=p,e.createFrame=s.createFrame,e.logger=h.default},function(t,e){"use strict";function i(t){return c[t]}function n(t){for(var e=1;e":">",'"':""","'":"'","`":"`","=":"="},u=/[&<>"'`=]/g,g=/[&<>"'`=]/,d=Object.prototype.toString;e.toString=d;var A=function(t){return"function"==typeof t};A(/x/)&&(e.isFunction=A=function(t){return"function"==typeof t&&"[object Function]"===d.call(t)}),e.isFunction=A;var p=Array.isArray||function(t){return!(!t||"object"!=typeof t)&&"[object Array]"===d.call(t)};e.isArray=p},function(t,e,i){"use strict";function n(t,e){var i=e&&e.loc,o=void 0,a=void 0,l=void 0,h=void 0;i&&(o=i.start.line,a=i.end.line,l=i.start.column,h=i.end.column,t+=" - "+o+":"+l);for(var c=Error.prototype.constructor.call(this,t),u=0;u0?(i.ids&&(i.ids=[i.name]),t.helpers.each(e,i)):r(this);if(i.data&&i.ids){var o=n.createFrame(i.data);o.contextPath=n.appendContextPath(i.data.contextPath,i.name),i={data:o}}return s(e,i)}))},t.exports=e.default},function(t,e,i){(function(n){"use strict";var r=i(1).default;e.__esModule=!0;var s=i(5),o=r(i(6));e.default=function(t){t.registerHelper("each",(function(t,e){function i(e,i,n){c&&(c.key=e,c.index=i,c.first=0===i,c.last=!!n,u&&(c.contextPath=u+e)),h+=r(t[e],{data:c,blockParams:s.blockParams([t[e],e],[u+e,null])})}if(!e)throw new o.default("Must pass iterator to #each");var r=e.fn,a=e.inverse,l=0,h="",c=void 0,u=void 0;if(e.data&&e.ids&&(u=s.appendContextPath(e.data.contextPath,e.ids[0])+"."),s.isFunction(t)&&(t=t.call(this)),e.data&&(c=s.createFrame(e.data)),t&&"object"==typeof t)if(s.isArray(t))for(var g=t.length;l=0?e:parseInt(t,10)}return t},log:function(t){if(t=r.lookupLevel(t),"undefined"!=typeof console&&r.lookupLevel(r.level)<=t){var e=r.methodMap[t];console[e]||(e="log");for(var i=arguments.length,n=Array(i>1?i-1:0),s=1;s=f.LAST_COMPATIBLE_COMPILER_REVISION&&e<=f.COMPILER_REVISION)){if(e2&&E.push("'"+this.terminals_[_]+"'");v=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(v,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:u,expected:E})}}if(f[0]instanceof Array&&f.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+d);switch(f[0]){case 1:n.push(d),r.push(this.lexer.yytext),s.push(this.lexer.yylloc),n.push(f[1]),d=null,A?(d=A,A=null):(h=this.lexer.yyleng,a=this.lexer.yytext,l=this.lexer.yylineno,u=this.lexer.yylloc,c>0&&c--);break;case 2:if(y=this.productions_[f[1]][1],C.$=r[r.length-y],C._$={first_line:s[s.length-(y||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(y||1)].first_column,last_column:s[s.length-1].last_column},g&&(C._$.range=[s[s.length-(y||1)].range[0],s[s.length-1].range[1]]),void 0!==(m=this.performAction.call(C,a,h,l,this.yy,f[1],r,s)))return m;y&&(n=n.slice(0,-1*y*2),r=r.slice(0,-1*y),s=s.slice(0,-1*y)),n.push(this.productions_[f[1]][0]),r.push(C.$),s.push(C._$),I=o[n[n.length-2]][n[n.length-1]],n.push(I);break;case 3:return!0}}return!0}},i=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;var t,e,i,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),o=0;oe[0].length)||(e=i,n=o,this.options.flex));o++);return e?((r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,s[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)},options:{},performAction:function(t,e,i,n){function r(t,i){return e.yytext=e.yytext.substring(t,e.yyleng-i+t)}switch(i){case 0:if("\\\\"===e.yytext.slice(-2)?(r(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(r(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:case 5:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(r(5,9),"END_RAW_BLOCK");case 6:case 22:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:case 23:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 24:return 73;case 25:case 26:case 41:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=r(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=r(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return t}();return e.lexer=i,t.prototype=e,e.Parser=t,new t}();e.default=i,t.exports=e.default},function(t,e,i){"use strict";function n(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function r(t,e,i){void 0===e&&(e=t.length);var n=t[e-1],r=t[e-2];return n?"ContentStatement"===n.type?(r||!i?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:i}function s(t,e,i){void 0===e&&(e=-1);var n=t[e+1],r=t[e+2];return n?"ContentStatement"===n.type?(r||!i?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:i}function o(t,e,i){var n=t[null==e?0:e+1];if(n&&"ContentStatement"===n.type&&(i||!n.rightStripped)){var r=n.value;n.value=n.value.replace(i?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==r}}function a(t,e,i){var n=t[null==e?t.length-1:e-1];if(n&&"ContentStatement"===n.type&&(i||!n.leftStripped)){var r=n.value;return n.value=n.value.replace(i?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==r,n.leftStripped}}var l=i(1).default;e.__esModule=!0;var h=l(i(39));n.prototype=new h.default,n.prototype.Program=function(t){var e=!this.options.ignoreStandalone,i=!this.isRootSeen;this.isRootSeen=!0;for(var n=t.body,l=0,h=n.length;l0)throw new p.default("Invalid path: "+n,{loc:i});".."===l&&s++}}return{type:"PathExpression",data:t,depth:s,parts:r,original:n,loc:i}}function h(t,e,i,n,r,s){var o=n.charAt(3)||n.charAt(2),a="{"!==o&&"&"!==o;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:t,params:e,hash:i,escaped:a,strip:r,loc:this.locInfo(s)}}function c(t,e,i,r){n(t,i);var s={type:"Program",body:e,strip:{},loc:r=this.locInfo(r)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:s,openStrip:{},inverseStrip:{},closeStrip:{},loc:r}}function u(t,e,i,r,s,o){r&&r.path&&n(t,r);var a=/\*/.test(t.open);e.blockParams=t.blockParams;var l=void 0,h=void 0;if(i){if(a)throw new p.default("Unexpected inverse block on decorator",i);i.chain&&(i.program.body[0].closeStrip=r.strip),h=i.strip,l=i.program}return s&&(s=l,l=e,e=s),{type:a?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:l,openStrip:t.strip,inverseStrip:h,closeStrip:r&&r.strip,loc:this.locInfo(o)}}function g(t,e){if(!e&&t.length){var i=t[0].loc,n=t[t.length-1].loc;i&&n&&(e={source:i.source,start:{line:i.start.line,column:i.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:t,strip:{},loc:e}}function d(t,e,i,r){return n(t,i),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:i&&i.strip,loc:this.locInfo(r)}}var A=i(1).default;e.__esModule=!0,e.SourceLocation=r,e.id=s,e.stripFlags=o,e.stripComment=a,e.preparePath=l,e.prepareMustache=h,e.prepareRawBlock=c,e.prepareBlock=u,e.prepareProgram=g,e.preparePartialBlock=d;var p=A(i(6))},function(t,e,i){"use strict";function n(){}function r(t,e,i){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new h.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0),e.compat&&(e.useDepths=!0);var n=i.parse(t,e),r=(new i.Compiler).compile(n,e);return(new i.JavaScriptCompiler).compile(r,e)}function s(t,e,i){function n(){var n=i.parse(t,e),r=(new i.Compiler).compile(n,e),s=(new i.JavaScriptCompiler).compile(r,e,void 0,!0);return i.template(s)}function r(t,e){return s||(s=n()),s.call(this,t,e)}if(void 0===e&&(e={}),null==t||"string"!=typeof t&&"Program"!==t.type)throw new h.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in(e=c.extend({},e))||(e.data=!0),e.compat&&(e.useDepths=!0);var s=void 0;return r._setup=function(t){return s||(s=n()),s._setup(t)},r._child=function(t,e,i,r){return s||(s=n()),s._child(t,e,i,r)},r}function o(t,e){if(t===e)return!0;if(c.isArray(t)&&c.isArray(e)&&t.length===e.length){for(var i=0;i1)throw new h.default("Unsupported number of partial arguments: "+i.length,t);i.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):i.push({type:"PathExpression",parts:[],depth:0}));var n=t.name.original,r="SubExpression"===t.name.type;r&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var s=t.indent||"";this.options.preventIndent&&s&&(this.opcode("appendContent",s),s=""),this.opcode("invokePartial",r,n,s),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){a(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,i){var n=t.path,r=n.parts[0],s=null!=e||null!=i;this.opcode("getContext",n.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",i),n.strict=!0,this.accept(n),this.opcode("invokeAmbiguous",r,s)},simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,i){var n=this.setupFullMustacheParams(t,e,i),r=t.path,s=r.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",n.length,s);else{if(this.options.knownHelpersOnly)throw new h.default("You specified knownHelpersOnly, but used the unknown helper "+s,t);r.strict=!0,r.falsy=!0,this.accept(r),this.opcode("invokeHelper",n.length,r.original,u.default.helpers.simpleId(r))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],i=u.default.helpers.scopedId(t),n=!t.depth&&!i&&this.blockParamIndex(e);n?this.opcode("lookupBlockParam",n,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,i):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,i=0,n=e.length;for(this.opcode("pushHash");i=0)return[e,r]}}}},function(t,e,i){"use strict";function n(t){this.value=t}function r(){}function s(t,e,i,n){var r=e.popStack(),s=0,o=i.length;for(t&&o--;s0&&(e+=", "+i.join(", "));var n=0;for(var r in this.aliases){var s=this.aliases[r];this.aliases.hasOwnProperty(r)&&s.children&&s.referenceCount>1&&(e+=", alias"+ ++n+"="+r,s.children[0]="alias"+n)}var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(e);return t?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",a,"}"])},mergeSource:function(t){var e=this.environment.isSimple,i=!this.forceBuffer,n=void 0,r=void 0,s=void 0,o=void 0;return this.source.each((function(t){t.appendToBuffer?(s?t.prepend(" + "):s=t,o=t):(s&&(r?s.prepend("buffer += "):n=!0,o.add(";"),s=o=void 0),r=!0,e||(i=!1))})),i?s?(s.prepend("return "),o.add(";")):r||this.source.push('return "";'):(t+=", buffer = "+(n?"":this.initializeBuffer()),s?(s.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(n?"":";\n")),this.source.merge()},blockValue:function(t){var e=this.aliasable("container.hooks.blockHelperMissing"),i=[this.contextName(0)];this.setupHelperArgs(t,0,i);var n=this.popStack();i.splice(1,0,n),this.push(this.source.functionCall(e,"call",i))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var i=this.topStack();e.splice(1,0,i),this.pushSource(["if (!",this.lastHelper,") { ",i," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack((function(t){return[" != null ? ",t,' : ""']})),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,i,n){var r=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[r++])),this.resolvePath("context",t,r,e,i)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,i){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,i)},resolvePath:function(t,e,i,n,r){var o=this;if(this.options.strict||this.options.assumeObjects)this.push(s(this.options.strict&&r,this,e,t));else for(var a=e.length;ithis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,i=t.length;e{t.exports='
    \n
    \n
    \n
    \n \n {{{title}}}\n
    \n
    {{{message}}}
    \n
    \n \n
    \n
    \n
    \n
    '},130:t=>{t.exports='
    \n {{#each features}}\n
    \n {{#each attributes}}\n \n \n \n \n \n
    {{key}}{{{value}}}
    \n {{/each}}\n
    \n
    \n {{/each}}\n
    '},649:t=>{t.exports='
    \n \n
    '},512:t=>{t.exports=" {{#each layers}}\n \n {{/each}}"},690:t=>{t.exports='
    \n {{{info}}}\n
    '},279:t=>{t.exports='
    \n

    {{{name}}}

    \n
    {{{desc}}}
    \n
    '},340:t=>{t.exports='
    \n {{{info}}}\n
    '},582:t=>{t.exports='{{#*inline "layerswitcherLayer"}}\n {{#each layers}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n {{#if visible}}\n {{#unless base}}\n
    \n \n \n
    \n {{/unless}}\n
    \n \n
    \n {{/if}}\n
  • \n {{/each}}\n {{/inline}}\n {{#*inline "layerswitcherGroup"}}\n {{#each layerGroups}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n
    \n \n
    \n {{#unless collapsed}}\n {{#gt layerGroups.length 0}}\n
      \n {{> layerswitcherGroup}}\n
    \n {{/gt}}\n {{#gt layers.length 0}}\n
      \n {{> layerswitcherLayer group=id}}\n
    \n {{/gt}}\n {{/unless}}\n
  • \n {{/each}}\n {{/inline}}\n
    \n
    \n
      \n {{#gt baseLayers.length 0}}\n
    • \n
      Capas base
      \n
        \n {{> layerswitcherLayer layers=baseLayers}}\n
      \n
    • \n {{/gt}}\n {{#gt layerGroups.length 0}}\n
    • \n
      Grupos de capas
      \n
        \n {{> layerswitcherGroup }}\n
      \n
    • \n {{/gt}}\n {{#gt overlayLayers.length 0}}\n
    • \n
      Otras capas
      \n
        \n {{> layerswitcherLayer layers=overlayLayers}}\n
      \n
    • \n {{/gt}}\n
    \n
    \n
    '},326:t=>{t.exports='
    \n \n
    '},389:t=>{t.exports='
    '},637:t=>{t.exports='
    '},922:t=>{t.exports='
    '},83:t=>{t.exports='
    \n \n
    \n
    '},72:t=>{t.exports='
    '},107:t=>{t.exports='
    '},810:t=>{t.exports='
    \n {{#gt tabs.length 1}}\n
    \n {{#each tabs}}\n
    \n \n
    \n {{/each}}\n
    \n {{/gt}}\n
    \n \n {{#if options.takeMeThere}}\n {{#if options.textMode}}\n \n {{else}}\n \n {{/if}}\n {{/if}}\n
    {{{tabs.0.content}}}
    \n
    \n
    '},29:t=>{t.exports='
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    '},797:t=>{t.exports='
    \n
    {{scale}} = 1 :
    \n
    \n
    '},959:t=>{t.exports='
    '},93:t=>{t.exports='
    \n \n
    '},645:(t,e)=>{ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,l=(1<>1,c=-7,u=i?r-1:0,g=i?-1:1,d=t[e+u];for(u+=g,s=d&(1<<-c)-1,d>>=-c,c+=a;c>0;s=256*s+t[e+u],u+=g,c-=8);for(o=s&(1<<-c)-1,s>>=-c,c+=n;c>0;o=256*o+t[e+u],u+=g,c-=8);if(0===s)s=1-h;else{if(s===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),s-=h}return(d?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,l,h=8*s-r-1,c=(1<>1,g=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,A=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?g/l:g*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=c?(a=0,o=c):o+u>=1?(a=(e*l-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;t[i+d]=255&a,d+=A,a/=256,r-=8);for(o=o<0;t[i+d]=255&o,d+=A,o/=256,h-=8);t[i+d-A]|=128*p}},98:function(t,e){ +/** + * JSTS. See https://github.com/bjornharrtell/jsts + * https://github.com/bjornharrtell/jsts/blob/master/LICENSE_EDLv1.txt + * https://github.com/bjornharrtell/jsts/blob/master/LICENSE_EPLv1.txt + * https://github.com/bjornharrtell/jsts/blob/master/LICENSE_LICENSE_ES6_COLLECTIONS.txt + * @license + */ +!function(t){"use strict";"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(t){if(null==this)throw new TypeError(this+" is not an object");var e=Object(this),i=Math.max(Math.min(e.length,9007199254740991),0)||0,n=1 in arguments&&parseInt(Number(arguments[1]),10)||0;n=n<0?Math.max(i+n,0):Math.min(n,i);var r=2 in arguments&&void 0!==arguments[2]?parseInt(Number(arguments[2]),10)||0:i;for(r=r<0?Math.max(i+arguments[2],0):Math.min(r,i);n0;i>>>=1)e+=(t.high&i)===i?"1":"0";for(i=2147483648;i>0;i>>>=1)e+=(t.low&i)===i?"1":"0";return e},r.isNaN=t=>Number.isNaN(t),r.isInfinite=t=>!Number.isFinite(t),r.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(h=new Float64Array(1),c=new Int32Array(h.buffer),r.doubleToLongBits=function(t){h[0]=t;var e=0|c[0],i=0|c[1];return 2146435072==(2146435072&i)&&0!=(1048575&i)&&0!==e&&(e=0,i=2146959360),new n(i,e)},r.longBitsToDouble=function(t){return c[0]=t.low,c[1]=t.high,h[0]}):(s=Math.log2,o=Math.floor,a=Math.pow,l=function(){for(var t=53;t>0;t--){var e=a(2,t)-1;if(o(s(e))+1===t)return e}return 0}(),r.doubleToLongBits=function(t){var e,i,r,h,c,u,g,d,A;if(t<0||1/t===Number.NEGATIVE_INFINITY?(u=1<<31,t=-t):u=0,0===t)return new n(d=u,A=0);if(t===1/0)return new n(d=2146435072|u,A=0);if(t!=t)return new n(d=2146959360,A=0);if(h=0,A=0,(e=o(t))>1)if(e<=l)(h=o(s(e)))<=20?(A=0,d=e<<20-h&1048575):(A=e%(i=a(2,r=h-20))<<32-r,d=e/i&1048575);else for(r=e,A=0;0!==(r=o(i=r/2));)h++,A>>>=1,A|=(1&d)<<31,d>>>=1,i!==r&&(d|=524288);if(g=h+1023,c=0===e,e=t-e,h<52&&0!==e)for(r=0;;){if((i=2*e)>=1?(e=i-1,c?(g--,c=!1):(r<<=1,r|=1,h++)):(e=i,c?0==--g&&(h++,c=!1):(r<<=1,h++)),20===h)d|=r,r=0;else if(52===h){A|=r;break}if(1===i){h<20?d|=r<<20-h:h<52&&(A|=r<<52-h);break}}return d|=g<<20,new n(d|=u,A)},r.longBitsToDouble=function(t){var e,i,n,r,s=t.high,o=t.low;i=s&1<<31?-1:1,n=((2146435072&s)>>20)-1023,r=0,e=1<<19;for(var l=1;l<=20;l++)s&e&&(r+=a(2,-l)),e>>>=1;for(e=1<<31,l=21;l<=52;l++)o&e&&(r+=a(2,-l)),e>>>=1;if(-1023===n){if(0===r)return 0*i;n=-1022}else{if(1024===n)return 0===r?i/0:NaN;r+=1}return i*r*a(2,n)}),p.prototype=Object.create(Error.prototype),p.prototype.constructor=Error;class f extends p{constructor(){super(),f.constructor_.apply(this,arguments)}getClass(){return f}get interfaces_(){return[]}}f.constructor_=function(){if(0===arguments.length)p.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];p.constructor_.call(this,t)}};class m{constructor(){m.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)m.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new f("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];m.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new f:new f(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];m.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];if(!e.equals(t))throw new f("Expected "+t+" but encountered "+e+(null!==i?": "+i:""))}}getClass(){return m}get interfaces_(){return[]}}m.constructor_=function(){};class _{constructor(){_.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=r.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case _.X:this.x=e;break;case _.Y:this.y=e;break;case _.Z:this.z=e;break;default:throw new i("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],i=arguments[1];return!!e.equalsWithTolerance(this.x,t.x,i)&&!!e.equalsWithTolerance(this.y,t.y,i)}}getOrdinate(t){switch(t){case _.X:return this.x;case _.Y:return this.y;case _.Z:return this.z}throw new i("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||r.isNaN(this.z)&&r.isNaN(t.z))}equals(t){return t instanceof _&&this.equals2D(t)}equalInZ(t,i){return e.equalsWithTolerance(this.z,t.z,i)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return m.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new _(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)}distance(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)}hashCode(){var t=17;return 37*(t=37*t+_.hashCode(this.x))+_.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return _}get interfaces_(){return[u,g,A]}}class y{constructor(){y.constructor_.apply(this,arguments)}static compare(t,e){return te?1:r.isNaN(t)?r.isNaN(e)?0:-1:r.isNaN(e)?1:0}compare(t,e){var i=t,n=e,r=y.compare(i.x,n.x);if(0!==r)return r;var s=y.compare(i.y,n.y);return 0!==s?s:this._dimensionsToTest<=2?0:y.compare(i.z,n.z)}getClass(){return y}get interfaces_(){return[d]}}function I(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}function E(){}function C(){}function v(t){this.message=t||""}function x(){}function w(t){this.message=t||""}function S(t){this.message=t||""}function b(){this.array_=[],arguments[0]instanceof C&&this.addAll(arguments[0])}y.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)y.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new i("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},_.DimensionalComparator=y,_.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)_.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];_.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];_.constructor_.call(this,t,e,_.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this.x=t,this.y=e,this.z=i}},_.serialVersionUID=0x5cbf2c235c7e5800,_.NULL_ORDINATE=r.NaN,_.X=0,_.Y=1,_.Z=2,E.prototype.hasNext=function(){},E.prototype.next=function(){},E.prototype.remove=function(){},C.prototype.add=function(){},C.prototype.addAll=function(){},C.prototype.isEmpty=function(){},C.prototype.iterator=function(){},C.prototype.size=function(){},C.prototype.toArray=function(){},C.prototype.remove=function(){},v.prototype=new Error,v.prototype.name="IndexOutOfBoundsException",x.prototype=Object.create(C.prototype),x.prototype.constructor=x,x.prototype.get=function(){},x.prototype.set=function(){},x.prototype.isEmpty=function(){},w.prototype=new Error,w.prototype.name="NoSuchElementException",S.prototype=new Error,S.prototype.name="OperationNotSupported",b.prototype=Object.create(x.prototype),b.prototype.constructor=b,b.prototype.ensureCapacity=function(){},b.prototype.interfaces_=[x,C],b.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},b.prototype.clear=function(){this.array_=[]},b.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},b.prototype.set=function(t,e){var i=this.array_[t];return this.array_[t]=e,i},b.prototype.iterator=function(){return new B(this)},b.prototype.get=function(t){if(t<0||t>=this.size())throw new v;return this.array_[t]},b.prototype.isEmpty=function(){return 0===this.array_.length},b.prototype.size=function(){return this.array_.length},b.prototype.toArray=function(){for(var t=[],e=0,i=this.array_.length;e=1&&this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],i=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],i);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof _){let t=arguments[0],i=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0&&this.get(t-1).equals2D(i))return null;if(ts&&(i=-1),t=r;t!==s;t+=i)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new _(this.get(0)),!1)}getClass(){return L}get interfaces_(){return[]}}L.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},L.coordArrayType=new Array(0).fill(null);class M{constructor(){M.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];return i.x>=(t.xe.x?t.x:e.x)&&i.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];var t=Math.min(o.x,a.x),e=Math.max(o.x,a.x),i=Math.min(r.x,s.x),n=Math.max(r.x,s.x);return!(i>e||ne||nt._minx?this._minx:t._minx,i=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy}}intersects(){if(1===arguments.length){if(arguments[0]instanceof M){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||(t.x>e.x?t.x:e.x)this._maxy||(t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof M){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof _){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new _((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof M){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var i=0;return this._maxyt._maxy&&(i=this._miny-t._maxy),0===e?i:0===i?e:Math.sqrt(e*e+i*i)}hashCode(){var t=17;return 37*(t=37*(t=37*(t=37*t+_.hashCode(this._minx))+_.hashCode(this._maxx))+_.hashCode(this._miny))+_.hashCode(this._maxy)}getClass(){return M}get interfaces_(){return[u,A]}}function T(){}M.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof M){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this.init(t,e,i,n)}},M.serialVersionUID=0x51845cd552189800;class R extends T{constructor(){super(),R.constructor_.apply(this,arguments)}getClass(){return R}get interfaces_(){return[]}}function N(t){this.str=t}function P(t){this.value=t}function F(){}R.constructor_=function(){T.constructor_.call(this,"Projective point not representable on the Cartesian plane.")},N.prototype.append=function(t){this.str+=t},N.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},N.prototype.toString=function(t){return this.str},P.prototype.intValue=function(){return this.value},P.prototype.compareTo=function(t){return this.valuet?1:0},P.isNaN=t=>Number.isNaN(t),F.isWhitespace=t=>t<=32&&t>=0||127==t,F.toUpperCase=t=>t.toUpperCase();class D{constructor(){D.constructor_.apply(this,arguments)}static sqr(t){return D.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return D.parse(t)}if("number"==typeof arguments[0])return new D(arguments[0])}static sqrt(t){return D.valueOf(t).sqrt()}static parse(t){for(var e=0,i=t.length;F.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=i);){var h=t.charAt(e);if(e++,F.isDigit(h)){var c=h-"0";s.selfMultiply(D.TEN),s.selfAdd(c),o++}else{if("."!==h){if("e"===h||"E"===h){var u=t.substring(e);try{l=P.parseInt(u)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+u+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+h+"' at position "+e+" in string "+t)}a=o}}var g=s,d=o-a-l;if(0===d)g=s;else if(d>0){var A=D.TEN.pow(d);g=s.divide(A)}else d<0&&(A=D.TEN.pow(-d),g=s.multiply(A));return n?g.negate():g}static createNaN(){return new D(r.NaN,r.NaN)}static copy(t){return new D(t)}static magnitude(t){var e=Math.abs(t),i=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(i));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var i=new N,n=0;n9?(c=!0,u="9"):u="0"+h,o.append(u),i=i.subtract(D.valueOf(h)).multiply(D.TEN),c&&i.selfAdd(D.TEN);var g=!0,d=D.magnitude(i._hi);if(d<0&&Math.abs(d)>=a-l&&(g=!1),!g)break}return e[0]=n,o.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof D){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof D){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof D){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof D){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],h=arguments[1];var t,e,i,n,r=null,s=null,o=null,a=null;return i=this._hi/l,a=(r=(o=D.SPLIT*i)-(r=o-i))*(s=(a=D.SPLIT*l)-(s=a-l))-(n=i*l)+r*(e=l-s)+(t=i-r)*s+t*e,a=i+(o=(this._hi-n-a+this._lo-i*h)/l),this._hi=a,this._lo=i-a+o,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof D){let r=arguments[0];var t,e,i,n,s=null,o=null,a=null,l=null;return t=(i=this._hi/r._hi)-(s=(a=D.SPLIT*i)-(s=a-i)),l=s*(o=(l=D.SPLIT*r._hi)-(o=l-r._hi))-(n=i*r._hi)+s*(e=r._hi-o)+t*o+t*e,a=(this._hi-n-l+this._lo-i*r._lo)/r._hi,new D(l=i+a,i-l+a)}if("number"==typeof arguments[0]){let t=arguments[0];return r.isNaN(t)?D.createNaN():D.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return D.valueOf(1);var e=new D(this),i=D.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&i.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else i=e;return t<0?i.reciprocal():i}ceil(){if(this.isNaN())return D.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new D(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof D){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return D.valueOf(0);if(this.isNegative())return D.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,i=D.valueOf(e),n=this.subtract(i.sqr())._hi*(.5*t);return i.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof D){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let o=arguments[0];var t=null,e=null,i=null,n=null,r=null,s=null;return n=(i=this._hi+o)-(r=i-this._hi),e=(s=(n=o-r+(this._hi-n))+this._lo)+(i-(t=i+s)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],u=arguments[1];t=null,e=null;var o,a=null;i=null,n=null,r=null,s=null,i=this._hi+c,o=this._lo+u,n=i-(r=i-this._hi),a=o-(s=o-this._lo);var l=(t=i+(r=(n=c-r+(this._hi-n))+o))+(r=(a=u-s+(this._lo-a))+(e=r+(i-t))),h=r+(t-l);return this._hi=l,this._lo=h,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof D){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],h=arguments[1];var t,e,i=null,n=null,r=null,s=null;i=(r=D.SPLIT*this._hi)-this._hi,s=D.SPLIT*l,i=r-i,t=this._hi-i,n=s-l;var o=(r=this._hi*l)+(s=i*(n=s-n)-r+i*(e=l-n)+t*n+t*e+(this._hi*h+this._lo*l)),a=s+(i=r-o);return this._hi=o,this._lo=a,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return D.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new D(t,e)}negate(){return this.isNaN()?this:new D(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof D){let t=arguments[0];return t.isNaN()?D.createNaN():D.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return r.isNaN(t)?D.createNaN():D.copy(this).selfMultiply(t,0)}}isNaN(){return r.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=D.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),i=this.extractSignificantDigits(!0,e),n=e[0]+1,r=i;if("."===i.charAt(0))r="0"+i;else if(n<0)r="0."+D.stringOfChar("0",-n)+i;else if(-1===i.indexOf(".")){var s=n-i.length;r=i+D.stringOfChar("0",s)+".0"}return this.isNegative()?"-"+r:r}reciprocal(){var t,e,i,n,r=null,s=null,o=null,a=null;t=(i=1/this._hi)-(r=(o=D.SPLIT*i)-(r=o-i)),s=(a=D.SPLIT*this._hi)-this._hi;var l=i+(o=(1-(n=i*this._hi)-(a=r*(s=a-s)-n+r*(e=this._hi-s)+t*s+t*e)-i*this._lo)/this._hi);return new D(l,i-l+o)}toSciNotation(){if(this.isZero())return D.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),i=this.extractSignificantDigits(!1,e),n=D.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===i.charAt(0))throw new IllegalStateException("Found leading zero: "+i);var r="";i.length>1&&(r=i.substring(1));var s=i.charAt(0)+"."+r;return this.isNegative()?"-"+s+n:s+n}abs(){return this.isNaN()?D.NaN:this.isNegative()?this.negate():new D(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?D.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return D}get interfaces_(){return[A,u,g]}}D.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof D){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];D.constructor_.call(this,D.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},D.PI=new D(3.141592653589793,12246467991473532e-32),D.TWO_PI=new D(6.283185307179586,24492935982947064e-32),D.PI_2=new D(1.5707963267948966,6123233995736766e-32),D.E=new D(2.718281828459045,14456468917292502e-32),D.NaN=new D(r.NaN,r.NaN),D.EPS=123259516440783e-46,D.SPLIT=134217729,D.MAX_PRINT_DIGITS=32,D.TEN=D.valueOf(10),D.ONE=D.valueOf(1),D.SCI_NOT_EXPONENT_CHAR="E",D.SCI_NOT_ZERO="0.0E0";class O{constructor(){O.constructor_.apply(this,arguments)}static orientationIndex(t,e,i){var n=O.orientationIndexFilter(t,e,i);if(n<=1)return n;var r=D.valueOf(e.x).selfAdd(-t.x),s=D.valueOf(e.y).selfAdd(-t.y),o=D.valueOf(i.x).selfAdd(-e.x),a=D.valueOf(i.y).selfAdd(-e.y);return r.selfMultiply(a).selfSubtract(s.selfMultiply(o)).signum()}static signOfDet2x2(){if(arguments[0]instanceof D){let t=arguments[1],e=arguments[2],i=arguments[3];return arguments[0].multiply(i).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];var t=D.valueOf(r),e=D.valueOf(s),i=D.valueOf(o),n=D.valueOf(a);return t.multiply(n).selfSubtract(e.multiply(i)).signum()}}static intersection(t,e,i,n){var r=D.valueOf(n.y).selfSubtract(i.y).selfMultiply(D.valueOf(e.x).selfSubtract(t.x)),s=D.valueOf(n.x).selfSubtract(i.x).selfMultiply(D.valueOf(e.y).selfSubtract(t.y)),o=r.subtract(s),a=D.valueOf(n.x).selfSubtract(i.x).selfMultiply(D.valueOf(t.y).selfSubtract(i.y)),l=D.valueOf(n.y).selfSubtract(i.y).selfMultiply(D.valueOf(t.x).selfSubtract(i.x)),h=a.subtract(l).selfDivide(o).doubleValue(),c=D.valueOf(t.x).selfAdd(D.valueOf(e.x).selfSubtract(t.x).selfMultiply(h)).doubleValue(),u=D.valueOf(e.x).selfSubtract(t.x).selfMultiply(D.valueOf(t.y).selfSubtract(i.y)),g=D.valueOf(e.y).selfSubtract(t.y).selfMultiply(D.valueOf(t.x).selfSubtract(i.x)),d=u.subtract(g).selfDivide(o).doubleValue(),A=D.valueOf(i.y).selfAdd(D.valueOf(n.y).selfSubtract(i.y).selfMultiply(d)).doubleValue();return new _(c,A)}static orientationIndexFilter(t,e,i){var n=null,r=(t.x-i.x)*(e.y-i.y),s=(t.y-i.y)*(e.x-i.x),o=r-s;if(r>0){if(s<=0)return O.signum(o);n=r+s}else{if(!(r<0))return O.signum(o);if(s>=0)return O.signum(o);n=-r-s}var a=O.DP_SAFE_EPSILON*n;return o>=a||-o>=a?O.signum(o):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return O}get interfaces_(){return[]}}O.constructor_=function(){},O.DP_SAFE_EPSILON=1e-15;class Q{constructor(){Q.constructor_.apply(this,arguments)}static index(t,e,i){return O.orientationIndex(t,e,i)}static isCCW(t){var e=t.length-1;if(e<3)throw new i("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=t[0],r=0,s=1;s<=e;s++){var o=t[s];o.y>n.y&&(n=o,r=s)}var a=r;do{(a-=1)<0&&(a=e)}while(t[a].equals2D(n)&&a!==r);var l=r;do{l=(l+1)%e}while(t[l].equals2D(n)&&l!==r);var h=t[a],c=t[l];if(h.equals2D(n)||c.equals2D(n)||h.equals2D(c))return!1;var u=Q.index(h,n,c);return 0===u?h.x>c.x:u>0}getClass(){return Q}get interfaces_(){return[]}}function k(){}Q.constructor_=function(){},Q.CLOCKWISE=-1,Q.RIGHT=Q.CLOCKWISE,Q.COUNTERCLOCKWISE=1,Q.LEFT=Q.COUNTERCLOCKWISE,Q.COLLINEAR=0,Q.STRAIGHT=Q.COLLINEAR,k.arraycopy=(t,e,i,n,r)=>{let s=0;for(let o=e;o({"line.separator":"\n"}[t]);class G{constructor(){G.constructor_.apply(this,arguments)}static intersection(t,e,i,n){var s=t.y-e.y,o=e.x-t.x,a=t.x*e.y-e.x*t.y,l=i.y-n.y,h=n.x-i.x,c=i.x*n.y-n.x*i.y,u=s*h-l*o,g=(o*c-h*a)/u,d=(l*a-s*c)/u;if(r.isNaN(g)||r.isInfinite(g)||r.isNaN(d)||r.isInfinite(d))throw new R;return new _(g,d)}getY(){var t=this.y/this.w;if(r.isNaN(t)||r.isInfinite(t))throw new R;return t}getX(){var t=this.x/this.w;if(r.isNaN(t)||r.isInfinite(t))throw new R;return t}getCoordinate(){var t=new _;return t.x=this.getX(),t.y=this.getY(),t}getClass(){return G}get interfaces_(){return[]}}G.constructor_=function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){let t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];this.x=t,this.y=e,this.w=1}else if(arguments[0]instanceof G&&arguments[1]instanceof G){let t=arguments[0],e=arguments[1];this.x=t.y*e.w-e.y*t.w,this.y=e.x*t.w-t.x*e.w,this.w=t.x*e.y-e.x*t.y}else if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];this.x=t.y-e.y,this.y=e.x-t.x,this.w=t.x*e.y-e.x*t.y}}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this.x=t,this.y=e,this.w=i}else if(4===arguments.length){let o=arguments[0],a=arguments[1],l=arguments[2],h=arguments[3];var t=o.y-a.y,e=a.x-o.x,i=o.x*a.y-a.x*o.y,n=l.y-h.y,r=h.x-l.x,s=l.x*h.y-h.x*l.y;this.x=e*s-r*i,this.y=n*i-t*s,this.w=t*r-n*e}};class U{constructor(){U.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return r.isInfinite(e)||r.isNaN(e)?e:e/U.LOG_10}static min(t,e,i,n){var r=t;return ei?i:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],i=arguments[2];return ti?i:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],i=arguments[2];return e>(t=arguments[0])&&(t=e),i>t&&(t=i),t}if(4===arguments.length){let e=arguments[1],i=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),i>t&&(t=i),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return U}get interfaces_(){return[]}}U.constructor_=function(){},U.LOG_10=Math.log(10);class q{constructor(){q.constructor_.apply(this,arguments)}static segmentToSegment(t,e,i,n){if(t.equals(e))return q.pointToSegment(t,i,n);if(i.equals(n))return q.pointToSegment(n,t,e);var r=!1;if(M.intersects(t,e,i,n)){var s=(e.x-t.x)*(n.y-i.y)-(e.y-t.y)*(n.x-i.x);if(0===s)r=!0;else{var o=(t.y-i.y)*(n.x-i.x)-(t.x-i.x)*(n.y-i.y),a=((t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y))/s,l=o/s;(l<0||l>1||a<0||a>1)&&(r=!0)}}else r=!0;return r?U.min(q.pointToSegment(t,i,n),q.pointToSegment(e,i,n),q.pointToSegment(i,t,e),q.pointToSegment(n,t,e)):0}static pointToSegment(t,e,i){if(e.x===i.x&&e.y===i.y)return t.distance(e);var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/n;if(r<=0)return t.distance(e);if(r>=1)return t.distance(i);var s=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(s)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,i){var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(r)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new i("Line array must contain at least one vertex");for(var n=t.distance(e[0]),r=0;r0}getClass(){return K}get interfaces_(){return[X]}}K.constructor_=function(){};class J{constructor(){J.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return J}get interfaces_(){return[X]}}J.constructor_=function(){};class Z{constructor(){Z.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return Z}get interfaces_(){return[X]}}Z.constructor_=function(){},X.Mod2BoundaryNodeRule=W,X.EndPointBoundaryNodeRule=K,X.MultiValentEndPointBoundaryNodeRule=J,X.MonoValentEndPointBoundaryNodeRule=Z,X.constructor_=function(){},X.MOD2_BOUNDARY_RULE=new W,X.ENDPOINT_BOUNDARY_RULE=new K,X.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new J,X.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Z,X.OGC_SFS_BOUNDARY_RULE=X.MOD2_BOUNDARY_RULE;class ${constructor(){$.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))}static ptNotInList(t,e){for(var i=0;i=t?e:[]}static indexOf(t,e){for(var i=0;i0)&&(e=t[i]);return e}static extract(t,e,i){e=U.clamp(e,0,t.length);var n=(i=U.clamp(i,-1,t.length))-e+1;i<0&&(n=0),e>=t.length&&(n=0),in.length)return 1;if(0===i.length)return 0;var r=$.compare(i,n);return $.isEqualReversed(i,n)?0:r}OLDcompare(t,e){var i=t,n=e;if(i.lengthn.length)return 1;if(0===i.length)return 0;for(var r=$.increasingDirection(i),s=$.increasingDirection(n),o=r>0?0:i.length-1,a=s>0?0:i.length-1,l=0;l0))return e.value;e=e.right}}return null},dt.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:at,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var i,n,r=this.root_;do{if(i=r,(n=t.compareTo(r.key))<0)r=r.left;else{if(!(n>0)){var s=r.value;return r.value=e,s}r=r.right}}while(null!==r);var o={key:t,left:null,right:null,value:e,parent:i,color:at,getValue(){return this.value},getKey(){return this.key}};return n<0?i.left=o:i.right=o,this.fixAfterInsertion(o),this.size_++,null},dt.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;ht(t)==ut(ht(ht(t)))?1==lt(e=gt(ht(ht(t))))?(ct(ht(t),at),ct(e,at),ct(ht(ht(t)),1),t=ht(ht(t))):(t==gt(ht(t))&&(t=ht(t),this.rotateLeft(t)),ct(ht(t),at),ct(ht(ht(t)),1),this.rotateRight(ht(ht(t)))):1==lt(e=ut(ht(ht(t))))?(ct(ht(t),at),ct(e,at),ct(ht(ht(t)),1),t=ht(ht(t))):(t==ut(ht(t))&&(t=ht(t),this.rotateRight(t)),ct(ht(t),at),ct(ht(ht(t)),1),this.rotateLeft(ht(ht(t))))}this.root_.color=at},dt.prototype.values=function(){var t=new b,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=dt.successor(e));)t.add(e.value);return t},dt.prototype.entrySet=function(){var t=new st,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=dt.successor(e));)t.add(e);return t},dt.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},dt.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},dt.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},dt.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var i=t;null!==e&&i===e.right;)i=e,e=e.parent;return e},dt.prototype.size=function(){return this.size_},dt.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return!0;e=e.right}}return!1};class At{constructor(){At.constructor_.apply(this,arguments)}getClass(){return At}get interfaces_(){return[]}}function pt(){}function ft(){this.array_=[],arguments[0]instanceof C&&this.addAll(arguments[0])}At.constructor_=function(){},pt.prototype=new rt,ft.prototype=new pt,ft.prototype.contains=function(t){for(var e=0,i=this.array_.length;e=0;){var o=r.substring(0,s);n.add(o),s=(r=r.substring(s+i)).indexOf(e)}r.length>0&&n.add(r);for(var a=new Array(n.size()).fill(null),l=0;l0)for(var s=r;s0&&i.append(" ");for(var r=0;r0&&i.append(","),i.append(Nt.toString(s.getOrdinate(n,r)))}return i.append(")"),i.toString()}}static ensureValidRing(t,e){var i=e.size();return 0===i?e:i<=3?Ft.createClosedRing(t,e,4):e.getOrdinate(0,V.X)===e.getOrdinate(i-1,V.X)&&e.getOrdinate(0,V.Y)===e.getOrdinate(i-1,V.Y)?e:Ft.createClosedRing(t,e,i+1)}static createClosedRing(t,e,i){var n=t.create(i,e.getDimension()),r=e.size();Ft.copy(e,0,n,0,r);for(var s=r;s0){var i=this._points.copy();Ft.reverse(i),this._points=i}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?It.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return j.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return bt.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return Ft.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,i=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return j.TYPENAME_LINEARRING}copy(){return new Vt(this._points.copy(),this._factory)}getClass(){return Vt}get interfaces_(){return[]}}Vt.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof oe){let t=arguments[0],e=arguments[1];Vt.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(I(arguments[0],V)&&arguments[1]instanceof oe){let t=arguments[0],e=arguments[1];Dt.constructor_.call(this,t,e),this.validateConstruction()}},Vt.MINIMUM_VALID_SIZE=4,Vt.serialVersionUID=-0x3b229e262367a600;class zt extends vt{constructor(){super(),zt.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof j){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return j.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),i=0;i0){var t=new Pt(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new Kt(t):new Kt(t,e)}}getClass(){return Jt}get interfaces_(){return[z,A]}}Jt.constructor_=function(){},Jt.serialVersionUID=-0x38e49fa6cf6f2e00,Jt.instanceObject=new Jt;var Zt=Object.defineProperty,$t=function(t,e){function i(t){if(!this||this.constructor!==i)return new i(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&function(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}.call(this,t)}return e||Zt(t,"size",{get:ee}),t.constructor=i,i.prototype=t,i}({delete:function(t){return this.has(t)&&(this._keys.splice(mt,1),this._values.splice(mt,1),this._itp.forEach((function(t){mt-1},has:function(t){return function(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(mt=t.length;mt--&&(i=t[mt])!==(n=e)&&(i==i||n==n););else mt=t.indexOf(e);var i,n;return mt>-1}.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[mt]:void 0},set:function(t,e){return this.has(t)?this._values[mt]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return te(this._itp,this._keys)},values:function(){return te(this._itp,this._values)},entries:function(){return te(this._itp,this._keys,this._values)},forEach:function(t,e){for(var i=this.entries();;){var n=i.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function te(t,e,i){var n=[0],r=!1;return t.push(n),{next:function(){var s,o=n[0];return!r&&ot.add(e))),t},ne.prototype.size=function(){return this.map_.size()};class re{constructor(){re.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof re))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,i=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new P(i).compareTo(new P(n))}getScale(){return this._scale}isFloating(){return this._modelType===re.FLOATING||this._modelType===re.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===re.FLOATING?t="Floating":this._modelType===re.FLOATING_SINGLE?t="Floating-Single":this._modelType===re.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return r.isNaN(t)||this._modelType===re.FLOATING_SINGLE?t:this._modelType===re.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof _){let t=arguments[0];if(this._modelType===re.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===re.FLOATING?t=16:this._modelType===re.FLOATING_SINGLE?t=6:this._modelType===re.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return re}get interfaces_(){return[A,u]}}class se{constructor(){se.constructor_.apply(this,arguments)}readResolve(){return se.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return se}get interfaces_(){return[A]}}se.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,se.nameToTypeMap.put(t,this)},se.serialVersionUID=-552860263173159e4,se.nameToTypeMap=new ne,re.Type=se,re.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=re.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof se){let t=arguments[0];this._modelType=t,t===re.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=re.FIXED,this.setScale(t)}else if(arguments[0]instanceof re){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},re.serialVersionUID=0x6bee6404e9a25c00,re.FIXED=new se("FIXED"),re.FLOATING=new se("FLOATING"),re.FLOATING_SINGLE=new se("FLOATING SINGLE"),re.maximumPreciseValue=9007199254740992;class oe{constructor(){oe.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return Jt.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new _(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new _(t.getMinX(),t.getMinY()),new _(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new _(t.getMinX(),t.getMinY()),new _(t.getMinX(),t.getMaxY()),new _(t.getMaxX(),t.getMaxY()),new _(t.getMaxX(),t.getMinY()),new _(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(I(arguments[0],V))return new Dt(arguments[0],this)}}createMultiLineString(){return 0===arguments.length?new xt(null,this):1===arguments.length?new xt(arguments[0],this):void 0}buildGeometry(t){for(var e=null,i=!1,n=!1,r=t.iterator();r.hasNext();){var s=r.next(),o=s.getClass();null===e&&(e=o),o!==e&&(i=!0),s instanceof vt&&(n=!0)}if(null===e)return this.createGeometryCollection();if(i||n)return this.createGeometryCollection(oe.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof Ut)return this.createMultiPolygon(oe.toPolygonArray(t));if(a instanceof Dt)return this.createMultiLineString(oe.toLineStringArray(t));if(a instanceof Qt)return this.createMultiPoint(oe.toPointArray(t));m.shouldNeverReachHere("Unhandled class: "+a.getClass().getName())}return a}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(I(arguments[0],V))return new Qt(arguments[0],this)}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(I(arguments[0],V)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Vt){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length)return new Ut(arguments[0],arguments[1],this)}getSRID(){return this._SRID}createGeometryCollection(){return 0===arguments.length?new vt(null,this):1===arguments.length?new vt(arguments[0],this):void 0}createGeometry(t){return new Yt(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof j&&I(arguments[0],V)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(I(arguments[0],V))return new Vt(arguments[0],this)}}createMultiPolygon(){return 0===arguments.length?new zt(null,this):1===arguments.length?new zt(arguments[0],this):void 0}createMultiPoint(){if(0===arguments.length)return new qt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new qt(arguments[0],this);if(I(arguments[0],V)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return he.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let i=0,n=t._geometries.length;ir?n:r;else{var o=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(s=n>r?o:a)||t.equals(e)||(s=Math.max(o,a))}return m.isTrue(!(0===s&&!t.equals(e)),"Bad distance calculation"),s}static nonRobustComputeEdgeDistance(t,e,i){var n=t.x-e.x,r=t.y-e.y,s=Math.sqrt(n*n+r*r);return m.isTrue(!(0===s&&!t.equals(e)),"Invalid distance calculation"),s}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new Pt;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,i,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=i,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,i,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((()=>Array(2))),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2))),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new _,this._intPt[1]=new _,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},ge.DONT_INTERSECT=0,ge.DO_INTERSECT=1,ge.COLLINEAR=2,ge.NO_INTERSECTION=0,ge.POINT_INTERSECTION=1,ge.COLLINEAR_INTERSECTION=2;class de extends ge{constructor(){super(),de.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,i,n){var r=t,s=q.pointToSegment(t,i,n),o=q.pointToSegment(e,i,n);return o1e-4&&k.out.println("Distance = "+r.distance(s))}intersectionWithNormalization(t,e,i,n){var r=new _(t),s=new _(e),o=new _(i),a=new _(n),l=new _;this.normalizeToEnvCentre(r,s,o,a,l);var h=this.safeHCoordinateIntersection(r,s,o,a);return h.x+=l.x,h.y+=l.y,h}computeCollinearIntersection(t,e,i,n){var r=M.intersects(t,e,i),s=M.intersects(t,e,n),o=M.intersects(i,n,t),a=M.intersects(i,n,e);return r&&s?(this._intPt[0]=i,this._intPt[1]=n,ge.COLLINEAR_INTERSECTION):o&&a?(this._intPt[0]=t,this._intPt[1]=e,ge.COLLINEAR_INTERSECTION):r&&o?(this._intPt[0]=i,this._intPt[1]=t,!i.equals(t)||s||a?ge.COLLINEAR_INTERSECTION:ge.POINT_INTERSECTION):r&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||s||o?ge.COLLINEAR_INTERSECTION:ge.POINT_INTERSECTION):s&&o?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||r||a?ge.COLLINEAR_INTERSECTION:ge.POINT_INTERSECTION):s&&a?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||r||o?ge.COLLINEAR_INTERSECTION:ge.POINT_INTERSECTION):ge.NO_INTERSECTION}normalizeToEnvCentre(t,e,i,n,r){var s=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,h=i.xn.x?i.x:n.x,g=i.y>n.y?i.y:n.y,d=((s>h?s:h)+(ac?o:c)+(l0&&s>0||r<0&&s<0)return ge.NO_INTERSECTION;var o=Q.index(i,n,t),a=Q.index(i,n,e);return o>0&&a>0||o<0&&a<0?ge.NO_INTERSECTION:0===r&&0===s&&0===o&&0===a?this.computeCollinearIntersection(t,e,i,n):(0===r||0===s||0===o||0===a?(this._isProper=!1,t.equals2D(i)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(i)||e.equals2D(n)?this._intPt[0]=e:0===r?this._intPt[0]=new _(i):0===s?this._intPt[0]=new _(n):0===o?this._intPt[0]=new _(t):0===a&&(this._intPt[0]=new _(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,i,n)),ge.POINT_INTERSECTION)}getClass(){return de}get interfaces_(){return[]}}de.constructor_=function(){};class Ae{constructor(){Ae.constructor_.apply(this,arguments)}static midPoint(t,e){return new _((t.x+e.x)/2,(t.y+e.y)/2)}minX(){return Math.min(this.p0.x,this.p1.x)}orientationIndex(){if(arguments[0]instanceof Ae){let i=arguments[0];var t=Q.index(this.p0,this.p1,i.p0),e=Q.index(this.p0,this.p1,i.p1);return t>=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof _){let t=arguments[0];return Q.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof Ae))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new de;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof _){let i=arguments[0];if(i.equals(this.p0)||i.equals(this.p1))return new _(i);var t=this.projectionFactor(i),e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof Ae){let t=arguments[0];var i=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(i>=1&&n>=1)return null;if(i<=0&&n<=0)return null;var r=this.project(t.p0);i<0&&(r=this.p0),i>1&&(r=this.p1);var s=this.project(t.p1);return n<0&&(s=this.p0),n>1&&(s=this.p1),new Ae(r,s)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return q.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return Ae.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,n=e*e+i*i;return n<=0?r.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*i)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var i=new Array(2).fill(null),n=r.MAX_VALUE,s=null,o=this.closestPoint(t.p0);n=o.distance(t.p0),i[0]=o,i[1]=t.p0;var a=this.closestPoint(t.p1);(s=a.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||r.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof Ae){let t=arguments[0];return q.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof _){let t=arguments[0];return q.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),i=java.lang.Double.doubleToLongBits(this.p1.x);return i^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^Math.trunc(i)^Math.trunc(i>>32)}getClass(){return Ae}get interfaces_(){return[u,A]}}Ae.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)Ae.constructor_.call(this,new _,new _);else if(1===arguments.length){let t=arguments[0];Ae.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];Ae.constructor_.call(this,new _(t,e),new _(i,n))}},Ae.serialVersionUID=0x2d2172135f411c00;class pe{constructor(){pe.constructor_.apply(this,arguments)}static toLocationSymbol(t){switch(t){case pe.EXTERIOR:return"e";case pe.BOUNDARY:return"b";case pe.INTERIOR:return"i";case pe.NONE:return"-"}throw new i("Unknown location value: "+t)}getClass(){return pe}get interfaces_(){return[]}}pe.constructor_=function(){},pe.INTERIOR=0,pe.BOUNDARY=1,pe.EXTERIOR=2,pe.NONE=-1;class fe{constructor(){fe.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===It.SYM_DONTCARE||e===It.SYM_TRUE&&(t>=0||t===It.TRUE)||e===It.SYM_FALSE&&t===It.FALSE||e===It.SYM_P&&t===It.P||e===It.SYM_L&&t===It.L||e===It.SYM_A&&t===It.A}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new fe(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===It.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])||fe.isTrue(this._matrix[pe.INTERIOR][pe.BOUNDARY])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.INTERIOR])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.BOUNDARY]))&&this._matrix[pe.EXTERIOR][pe.INTERIOR]===It.FALSE&&this._matrix[pe.EXTERIOR][pe.BOUNDARY]===It.FALSE}isCoveredBy(){return(fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])||fe.isTrue(this._matrix[pe.INTERIOR][pe.BOUNDARY])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.INTERIOR])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.BOUNDARY]))&&this._matrix[pe.INTERIOR][pe.EXTERIOR]===It.FALSE&&this._matrix[pe.BOUNDARY][pe.EXTERIOR]===It.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,i)}isWithin(){return fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])&&this._matrix[pe.INTERIOR][pe.EXTERIOR]===It.FALSE&&this._matrix[pe.BOUNDARY][pe.EXTERIOR]===It.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===It.A&&e===It.A||t===It.L&&e===It.L||t===It.L&&e===It.A||t===It.P&&e===It.A||t===It.P&&e===It.L)&&this._matrix[pe.INTERIOR][pe.INTERIOR]===It.FALSE&&(fe.isTrue(this._matrix[pe.INTERIOR][pe.BOUNDARY])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.INTERIOR])||fe.isTrue(this._matrix[pe.BOUNDARY][pe.BOUNDARY]))}isOverlaps(t,e){return t===It.P&&e===It.P||t===It.A&&e===It.A?fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])&&fe.isTrue(this._matrix[pe.INTERIOR][pe.EXTERIOR])&&fe.isTrue(this._matrix[pe.EXTERIOR][pe.INTERIOR]):t===It.L&&e===It.L&&1===this._matrix[pe.INTERIOR][pe.INTERIOR]&&fe.isTrue(this._matrix[pe.INTERIOR][pe.EXTERIOR])&&fe.isTrue(this._matrix[pe.EXTERIOR][pe.INTERIOR])}isEquals(t,e){return t===e&&fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])&&this._matrix[pe.INTERIOR][pe.EXTERIOR]===It.FALSE&&this._matrix[pe.BOUNDARY][pe.EXTERIOR]===It.FALSE&&this._matrix[pe.EXTERIOR][pe.INTERIOR]===It.FALSE&&this._matrix[pe.EXTERIOR][pe.BOUNDARY]===It.FALSE}toString(){for(var t=new Pt("123456789"),e=0;e<3;e++)for(var i=0;i<3;i++)t.setCharAt(3*e+i,It.toDimensionSymbol(this._matrix[e][i]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this._matrix[e][i]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new i("Should be length 9: "+t);for(var e=0;e<3;e++)for(var n=0;n<3;n++)if(!fe.matches(this._matrix[e][n],t.charAt(3*e+n)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this.setAtLeast(e,i,t.get(e,i))}isDisjoint(){return this._matrix[pe.INTERIOR][pe.INTERIOR]===It.FALSE&&this._matrix[pe.INTERIOR][pe.BOUNDARY]===It.FALSE&&this._matrix[pe.BOUNDARY][pe.INTERIOR]===It.FALSE&&this._matrix[pe.BOUNDARY][pe.BOUNDARY]===It.FALSE}isCrosses(t,e){return t===It.P&&e===It.L||t===It.P&&e===It.A||t===It.L&&e===It.A?fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])&&fe.isTrue(this._matrix[pe.INTERIOR][pe.EXTERIOR]):t===It.L&&e===It.P||t===It.A&&e===It.P||t===It.A&&e===It.L?fe.isTrue(this._matrix[pe.INTERIOR][pe.INTERIOR])&&fe.isTrue(this._matrix[pe.EXTERIOR][pe.INTERIOR]):t===It.L&&e===It.L&&0===this._matrix[pe.INTERIOR][pe.INTERIOR]}getClass(){return fe}get interfaces_(){return[g]}}fe.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map((()=>Array(3))),this.setAll(It.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];fe.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof fe){let t=arguments[0];fe.constructor_.call(this),this._matrix[pe.INTERIOR][pe.INTERIOR]=t._matrix[pe.INTERIOR][pe.INTERIOR],this._matrix[pe.INTERIOR][pe.BOUNDARY]=t._matrix[pe.INTERIOR][pe.BOUNDARY],this._matrix[pe.INTERIOR][pe.EXTERIOR]=t._matrix[pe.INTERIOR][pe.EXTERIOR],this._matrix[pe.BOUNDARY][pe.INTERIOR]=t._matrix[pe.BOUNDARY][pe.INTERIOR],this._matrix[pe.BOUNDARY][pe.BOUNDARY]=t._matrix[pe.BOUNDARY][pe.BOUNDARY],this._matrix[pe.BOUNDARY][pe.EXTERIOR]=t._matrix[pe.BOUNDARY][pe.EXTERIOR],this._matrix[pe.EXTERIOR][pe.INTERIOR]=t._matrix[pe.EXTERIOR][pe.INTERIOR],this._matrix[pe.EXTERIOR][pe.BOUNDARY]=t._matrix[pe.EXTERIOR][pe.BOUNDARY],this._matrix[pe.EXTERIOR][pe.EXTERIOR]=t._matrix[pe.EXTERIOR][pe.EXTERIOR]}};class me{constructor(){me.constructor_.apply(this,arguments)}static toDegrees(t){return 180*t/Math.PI}static normalize(t){for(;t>Math.PI;)t-=me.PI_TIMES_2;for(;t<=-Math.PI;)t+=me.PI_TIMES_2;return t}static angle(){if(1===arguments.length){let t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){let i=arguments[0],n=arguments[1];var t=n.x-i.x,e=n.y-i.y;return Math.atan2(e,t)}}static isAcute(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)>0}static isObtuse(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)<0}static interiorAngle(t,e,i){var n=me.angle(e,t),r=me.angle(e,i);return Math.abs(r-n)}static normalizePositive(t){if(t<0){for(;t<0;)t+=me.PI_TIMES_2;t>=me.PI_TIMES_2&&(t=0)}else{for(;t>=me.PI_TIMES_2;)t-=me.PI_TIMES_2;t<0&&(t=0)}return t}static angleBetween(t,e,i){var n=me.angle(e,t),r=me.angle(e,i);return me.diff(n,r)}static diff(t,e){var i=null;return(i=tMath.PI&&(i=2*Math.PI-i),i}static toRadians(t){return t*Math.PI/180}static getTurn(t,e){var i=Math.sin(e-t);return i>0?me.COUNTERCLOCKWISE:i<0?me.CLOCKWISE:me.NONE}static angleBetweenOriented(t,e,i){var n=me.angle(e,t),r=me.angle(e,i)-n;return r<=-Math.PI?r+me.PI_TIMES_2:r>Math.PI?r-me.PI_TIMES_2:r}getClass(){return me}get interfaces_(){return[]}}me.constructor_=function(){},me.PI_TIMES_2=2*Math.PI,me.PI_OVER_2=Math.PI/2,me.PI_OVER_4=Math.PI/4,me.COUNTERCLOCKWISE=Q.COUNTERCLOCKWISE,me.CLOCKWISE=Q.CLOCKWISE,me.NONE=Q.COLLINEAR;class _e{constructor(){_e.constructor_.apply(this,arguments)}static area(t,e,i){return Math.abs(((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2)}static signedArea(t,e,i){return((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2}static det(t,e,i,n){return t*n-e*i}static interpolateZ(t,e,i,n){var r=e.x,s=e.y,o=i.x-r,a=n.x-r,l=i.y-s,h=n.y-s,c=o*h-a*l,u=t.x-r,g=t.y-s,d=(h*u-a*g)/c,A=(-l*u+o*g)/c;return e.z+d*(i.z-e.z)+A*(n.z-e.z)}static longestSideLength(t,e,i){var n=t.distance(e),r=e.distance(i),s=i.distance(t),o=n;return r>o&&(o=r),s>o&&(o=s),o}static isAcute(t,e,i){return!!me.isAcute(t,e,i)&&!!me.isAcute(e,i,t)&&!!me.isAcute(i,t,e)}static circumcentre(t,e,i){var n=i.x,r=i.y,s=t.x-n,o=t.y-r,a=e.x-n,l=e.y-r,h=2*_e.det(s,o,a,l),c=_e.det(o,s*s+o*o,l,a*a+l*l),u=_e.det(s,s*s+o*o,a,a*a+l*l);return new _(n-c/h,r+u/h)}static perpendicularBisector(t,e){var i=e.x-t.x,n=e.y-t.y,r=new G(t.x+i/2,t.y+n/2,1),s=new G(t.x-n+i/2,t.y+i+n/2,1);return new G(r,s)}static angleBisector(t,e,i){var n=e.distance(t),r=n/(n+e.distance(i)),s=i.x-t.x,o=i.y-t.y;return new _(t.x+r*s,t.y+r*o)}static area3D(t,e,i){var n=e.x-t.x,r=e.y-t.y,s=e.z-t.z,o=i.x-t.x,a=i.y-t.y,l=i.z-t.z,h=r*l-s*a,c=s*o-n*l,u=n*a-r*o,g=h*h+c*c+u*u;return Math.sqrt(g)/2}static centroid(t,e,i){var n=(t.x+e.x+i.x)/3,r=(t.y+e.y+i.y)/3;return new _(n,r)}static inCentre(t,e,i){var n=e.distance(i),r=t.distance(i),s=t.distance(e),o=n+r+s,a=(n*t.x+r*e.x+s*i.x)/o,l=(n*t.y+r*e.y+s*i.y)/o;return new _(a,l)}area(){return _e.area(this.p0,this.p1,this.p2)}signedArea(){return _e.signedArea(this.p0,this.p1,this.p2)}interpolateZ(t){if(null===t)throw new i("Supplied point is null.");return _e.interpolateZ(t,this.p0,this.p1,this.p2)}longestSideLength(){return _e.longestSideLength(this.p0,this.p1,this.p2)}isAcute(){return _e.isAcute(this.p0,this.p1,this.p2)}circumcentre(){return _e.circumcentre(this.p0,this.p1,this.p2)}area3D(){return _e.area3D(this.p0,this.p1,this.p2)}centroid(){return _e.centroid(this.p0,this.p1,this.p2)}inCentre(){return _e.inCentre(this.p0,this.p1,this.p2)}getClass(){return _e}get interfaces_(){return[]}}_e.constructor_=function(){this.p0=null,this.p1=null,this.p2=null;let t=arguments[0],e=arguments[1],i=arguments[2];this.p0=t,this.p1=e,this.p2=i};var ye=Object.freeze({Coordinate:_,CoordinateList:L,Envelope:M,LineSegment:Ae,GeometryFactory:oe,Geometry:j,Point:Qt,LineString:Dt,LinearRing:Vt,Polygon:Ut,GeometryCollection:vt,MultiPoint:qt,MultiLineString:xt,MultiPolygon:zt,Dimension:It,IntersectionMatrix:fe,PrecisionModel:re,Location:pe,Triangle:_e});class Ie{constructor(){Ie.constructor_.apply(this,arguments)}getCoordinates(){return this._pt}getCoordinate(t){return this._pt[t]}setMinimum(){if(1===arguments.length){let t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){let e=arguments[0],i=arguments[1];if(this._isNull)return this.initialize(e,i),null;var t=e.distance(i);tthis._distance&&this.initialize(e,i,t)}}getClass(){return Ie}get interfaces_(){return[]}}Ie.constructor_=function(){this._pt=[new _,new _],this._distance=r.NaN,this._isNull=!0};class Ee{constructor(){Ee.constructor_.apply(this,arguments)}static computeDistance(){if(arguments[2]instanceof Ie&&arguments[0]instanceof Dt&&arguments[1]instanceof _){let r=arguments[0],s=arguments[1],o=arguments[2];for(var t=new Ae,e=r.getCoordinates(),i=0;i1||t<=0)throw new i("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t}compute(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)}distance(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()}computeOrientedDistance(t,e,i){var n=new ve(e);if(t.apply(n),i.setMaximum(n.getMaxPointDistance()),this._densifyFrac>0){var r=new xe(e,this._densifyFrac);t.apply(r),i.setMaximum(r.getMaxPointDistance())}}orientedDistance(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()}getClass(){return Ce}get interfaces_(){return[]}}class ve{constructor(){ve.constructor_.apply(this,arguments)}filter(t){this._minPtDist.initialize(),Ee.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)}getMaxPointDistance(){return this._maxPtDist}getClass(){return ve}get interfaces_(){return[H]}}ve.constructor_=function(){this._maxPtDist=new Ie,this._minPtDist=new Ie,this._euclideanDist=new Ee,this._geom=null;let t=arguments[0];this._geom=t};class xe{constructor(){xe.constructor_.apply(this,arguments)}filter(t,e){if(0===e)return null;for(var i=t.getCoordinate(e-1),n=t.getCoordinate(e),r=(n.x-i.x)/this._numSubSegs,s=(n.y-i.y)/this._numSubSegs,o=0;oe||this._maxs?1:0}getClass(){return Le}get interfaces_(){return[d]}}Le.constructor_=function(){},Be.NodeComparator=Le,Be.constructor_=function(){this._min=r.POSITIVE_INFINITY,this._max=r.NEGATIVE_INFINITY};class Me extends Be{constructor(){super(),Me.constructor_.apply(this,arguments)}query(t,e,i){if(!this.intersects(t,e))return null;i.visitItem(this._item)}getClass(){return Me}get interfaces_(){return[]}}Me.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],i=arguments[2];this._min=t,this._max=e,this._item=i};const Te={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return Te.sort(t),t.get(0)},sort:function(t,e){const i=t.toArray();e?yt.sort(i,e):yt.sort(i);const n=t.iterator();for(let t=0,e=i.length;tn&&(i=e.x,n=t.x),this._p.x>=i&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=Q.index(t,e,this._p);if(r===Q.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new w;var t=this._parent.getGeometryN(this._index++);return t instanceof vt?(this._subcollectionIterator=new Ue(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return Ue}get interfaces_(){return[E]}}Ue.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class qe{constructor(){qe.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return pe.EXTERIOR;var i=e.getExteriorRing(),n=qe.locatePointInRing(t,i);if(n!==pe.INTERIOR)return n;for(var r=0;r0&&this.addPoint(t[0])}addHole(t){for(var e=Q.isCCW(t),i=0;i0)t.x=this._cg3.x/3/this._areasum2,t.y=this._cg3.y/3/this._areasum2;else if(this._totalLength>0)t.x=this._lineCentSum.x/this._totalLength,t.y=this._lineCentSum.y/this._totalLength;else{if(!(this._ptCount>0))return null;t.x=this._ptCentSum.x/this._ptCount,t.y=this._ptCentSum.y/this._ptCount}return t}addShell(t){t.length>0&&this.setAreaBasePoint(t[0]);for(var e=!Q.isCCW(t),i=0;i=this.size())throw new IndexOutOfBoundsException;return this.array_[t]},Je.prototype.push=function(t){return this.array_.push(t),t},Je.prototype.pop=function(t){if(0===this.array_.length)throw new Ke;return this.array_.pop()},Je.prototype.peek=function(){if(0===this.array_.length)throw new Ke;return this.array_[this.array_.length-1]},Je.prototype.empty=function(){return 0===this.array_.length},Je.prototype.isEmpty=function(){return this.empty()},Je.prototype.search=function(t){return this.array_.indexOf(t)},Je.prototype.size=function(){return this.array_.length},Je.prototype.toArray=function(){for(var t=[],e=0,i=this.array_.length;e50&&(t=this.reduce(this._inputPts));var e=this.preSort(t),i=this.grahamScan(e),n=this.toCoordinateArray(i);return this.lineOrPolygon(n)}padArray3(t){for(var e=new Array(3).fill(null),i=0;ie[2].y&&(e[2]=t[n]),t[n].x+t[n].y>e[3].x+e[3].y&&(e[3]=t[n]),t[n].x>e[4].x&&(e[4]=t[n]),t[n].x-t[n].y>e[5].x-e[5].y&&(e[5]=t[n]),t[n].y0;)e=i.pop();i.push(e),i.push(t[n])}return i.push(t[0]),i}getClass(){return $e}get interfaces_(){return[]}}class ti{constructor(){ti.constructor_.apply(this,arguments)}static polarCompare(t,e,i){var n=e.x-t.x,r=e.y-t.y,s=i.x-t.x,o=i.y-t.y,a=Q.index(t,e,i);if(a===Q.COUNTERCLOCKWISE)return 1;if(a===Q.CLOCKWISE)return-1;var l=n*n+r*r,h=s*s+o*o;return lh?1:0}compare(t,e){var i=t,n=e;return ti.polarCompare(this._origin,i,n)}getClass(){return ti}get interfaces_(){return[d]}}ti.constructor_=function(){this._origin=null;let t=arguments[0];this._origin=t},$e.RadialComparator=ti,$e.constructor_=function(){if(this._geomFactory=null,this._inputPts=null,1===arguments.length){let t=arguments[0];$e.constructor_.call(this,$e.extractCoordinates(t),t.getFactory())}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._inputPts=Ze.filterCoordinates(t),this._geomFactory=e}};class ei{constructor(){ei.constructor_.apply(this,arguments)}static centre(t){return new _(ei.avg(t.getMinX(),t.getMaxX()),ei.avg(t.getMinY(),t.getMaxY()))}static avg(t,e){return(t+e)/2}addPolygon(t){if(t.isEmpty())return null;var e=null,i=null,n=this.horizontalBisector(t);if(0===n.getLength())i=0,e=n.getCoordinate();else{var r=n.intersection(t),s=this.widestGeometry(r);i=s.getEnvelopeInternal().getWidth(),e=ei.centre(s.getEnvelopeInternal())}(null===this._interiorPoint||i>this._maxWidth)&&(this._interiorPoint=e,this._maxWidth=i)}getInteriorPoint(){return this._interiorPoint}widestGeometry(){if(arguments[0]instanceof vt){let i=arguments[0];if(i.isEmpty())return i;for(var t=i.getGeometryN(0),e=1;et.getEnvelopeInternal().getWidth()&&(t=i.getGeometryN(e));return t}if(arguments[0]instanceof j){let t=arguments[0];return t instanceof vt?this.widestGeometry(t):t}}horizontalBisector(t){var e=t.getEnvelopeInternal(),i=ii.getBisectorY(t);return this._factory.createLineString([new _(e.getMinX(),i),new _(e.getMaxX(),i)])}add(t){if(t instanceof Ut)this.addPolygon(t);else if(t instanceof vt)for(var e=t,i=0;ithis._loY&&(this._loY=t):t>this._centreY&&t=t.length&&(e=0),e}static computeC(t,e,i){return t*i.y-e*i.x}static getMinimumDiameter(t){return new oi(t).getDiameter()}static getMinimumRectangle(t){return new oi(t).getMinimumRectangle()}static computeSegmentForLine(t,e,i){var n=null,r=null;return Math.abs(e)>Math.abs(t)?(n=new _(0,i/e),r=new _(1,i/e-t/e)):(n=new _(i/t,0),r=new _(i/t-e/t,1)),new Ae(n,r)}getWidthCoordinate(){return this.computeMinimumDiameter(),this._minWidthPt}getSupportingSegment(){return this.computeMinimumDiameter(),this._inputGeom.getFactory().createLineString([this._minBaseSeg.p0,this._minBaseSeg.p1])}getDiameter(){if(this.computeMinimumDiameter(),null===this._minWidthPt)return this._inputGeom.getFactory().createLineString();var t=this._minBaseSeg.project(this._minWidthPt);return this._inputGeom.getFactory().createLineString([t,this._minWidthPt])}computeWidthConvex(t){this._convexHullPts=t instanceof Ut?t.getExteriorRing().getCoordinates():t.getCoordinates(),0===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=null,this._minBaseSeg=null):1===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[0]):2===this._convexHullPts.length||3===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[1]):this.computeConvexRingMinDiameter(this._convexHullPts)}computeConvexRingMinDiameter(t){this._minWidth=r.MAX_VALUE;for(var e=1,i=new Ae,n=0;n=n;)n=r,s=o,o=oi.nextIndex(t,s),r=e.distancePerpendicular(t[o]);return nn&&(n=l),lo&&(o=h),h0&&n<4&&!this._preserveType?this._factory.createLineString(i):this._factory.createLinearRing(i)}getClass(){return li}get interfaces_(){return[]}}li.constructor_=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};class hi{constructor(){hi.constructor_.apply(this,arguments)}static densifyPoints(t,e,i){for(var n=new Ae,r=new L,s=0;s1)for(var l=o/a,h=1;he?t:e)?3:i}static isInHalfPlane(t,e){return e===gi.SE?t===gi.SE||t===gi.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new i("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?gi.NE:gi.SE:e>=0?gi.NW:gi.SW}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new i("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?gi.NE:gi.SE:e.y>=t.y?gi.NW:gi.SW}}getClass(){return gi}get interfaces_(){return[]}}gi.constructor_=function(){},gi.NE=0,gi.NW=1,gi.SW=2,gi.SE=3;class di{constructor(){di.constructor_.apply(this,arguments)}static init(t,e){if(null!==t._sym||null!==e._sym||null!==t._next||null!==e._next)throw new IllegalStateException("Edges are already initialized");return t.init(e),t}static create(t,e){var i=new di(t),n=new di(e);return i.init(n),i}find(t){var e=this;do{if(null===e)return null;if(e.dest().equals2D(t))return e;e=e.oNext()}while(e!==this);return null}dest(){return this._sym._orig}oNext(){return this._sym._next}insert(t){if(this.oNext()===this)return this.insertAfter(t),null;var e=this.compareTo(t),i=this;do{var n=i.oNext();if(n.compareTo(t)!==e||n===this)return i.insertAfter(t),null;i=n}while(i!==this);m.shouldNeverReachHere()}insertAfter(t){m.equals(this._orig,t.orig());var e=this.oNext();this._sym.setNext(t),t.sym().setNext(e)}degree(){var t=0,e=this;do{t++,e=e.oNext()}while(e!==this);return t}equals(){if(2===arguments.length&&arguments[1]instanceof _&&arguments[0]instanceof _){let t=arguments[0],e=arguments[1];return this._orig.equals2D(t)&&this._sym._orig.equals(e)}}deltaY(){return this._sym._orig.y-this._orig.y}sym(){return this._sym}prev(){return this._sym.next()._sym}compareAngularDirection(t){var e=this.deltaX(),i=this.deltaY(),n=t.deltaX(),r=t.deltaY();if(e===n&&i===r)return 0;var s=gi.quadrant(e,i),o=gi.quadrant(n,r);return s>o?1:s0||this._isIn?pe.INTERIOR:pe.EXTERIOR)}getClass(){return Ii}get interfaces_(){return[]}}Ii.constructor_=function(){if(this._boundaryRule=X.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new i("Rule must be non-null");this._boundaryRule=t}};class Ei{constructor(){Ei.constructor_.apply(this,arguments)}static opposite(t){return t===Ei.LEFT?Ei.RIGHT:t===Ei.RIGHT?Ei.LEFT:t}getClass(){return Ei}get interfaces_(){return[]}}Ei.constructor_=function(){},Ei.ON=0,Ei.LEFT=1,Ei.RIGHT=2;class Ci{constructor(){Ci.constructor_.apply(this,arguments)}computeIntersections(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)}getClass(){return Ci}get interfaces_(){return[]}}Ci.constructor_=function(){this.mce=null,this.chainIndex=null;let t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};class vi{constructor(){vi.constructor_.apply(this,arguments)}isDelete(){return this._eventType===vi.DELETE}setDeleteEventIndex(t){this._deleteEventIndex=t}getObject(){return this._obj}compareTo(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===vi.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return vi}get interfaces_(){return[u]}}vi.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=vi.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._eventType=vi.INSERT,this._label=t,this._xValue=e,this._obj=i}},vi.INSERT=1,vi.DELETE=2;class xi{constructor(){xi.constructor_.apply(this,arguments)}getClass(){return xi}get interfaces_(){return[]}}xi.constructor_=function(){};class wi{constructor(){wi.constructor_.apply(this,arguments)}static isAdjacentSegments(t,e){return 1===Math.abs(t-e)}isTrivialIntersection(t,e,i,n){if(t===i&&1===this._li.getIntersectionNum()){if(wi.isAdjacentSegments(e,n))return!0;if(t.isClosed()){var r=t.getNumPoints()-1;if(0===e&&n===r||0===n&&e===r)return!0}}return!1}getProperIntersectionPoint(){return this._properIntersectionPoint}setIsDoneIfProperInt(t){this._isDoneWhenProperInt=t}hasProperInteriorIntersection(){return this._hasProperInterior}isBoundaryPointInternal(t,e){for(var i=e.iterator();i.hasNext();){var n=i.next().getCoordinate();if(t.isIntersection(n))return!0}return!1}hasProperIntersection(){return this._hasProper}hasIntersection(){return this._hasIntersection}isDone(){return this._isDone}isBoundaryPoint(t,e){return!(null===e||!this.isBoundaryPointInternal(t,e[0])&&!this.isBoundaryPointInternal(t,e[1]))}setBoundaryNodes(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e}addIntersections(t,e,i,n){if(t===i&&e===n)return null;this.numTests++;var r=t.getCoordinates()[e],s=t.getCoordinates()[e+1],o=i.getCoordinates()[n],a=i.getCoordinates()[n+1];this._li.computeIntersection(r,s,o,a),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),i.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,i,n)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),i.addIntersections(this._li,n,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))}getClass(){return wi}get interfaces_(){return[]}}wi.constructor_=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;let t=arguments[0],e=arguments[1],i=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=i};class Si extends xi{constructor(){super(),Si.constructor_.apply(this,arguments)}prepareEvents(){Te.sort(this.events);for(var t=0;tthis.location.length){var e=new Array(3).fill(null);e[Ei.ON]=this.location[Ei.ON],e[Ei.LEFT]=pe.NONE,e[Ei.RIGHT]=pe.NONE,this.location=e}for(var i=0;i1&&t.append(pe.toLocationSymbol(this.location[Ei.LEFT])),t.append(pe.toLocationSymbol(this.location[Ei.ON])),this.location.length>1&&t.append(pe.toLocationSymbol(this.location[Ei.RIGHT])),t.toString()}setLocations(t,e,i){this.location[Ei.ON]=t,this.location[Ei.LEFT]=e,this.location[Ei.RIGHT]=i}get(t){return t1}isAnyNull(){for(var t=0;t0||!e.coord.equals2D(n);r||i--;var s=new Array(i).fill(null),o=0;s[o++]=new _(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)s[o++]=this.edge.pts[a];return r&&(s[o]=e.coord),new Fi(s,new Bi(this.edge._label))}add(t,e,i){var n=new Li(t,e,i),r=this._nodeMap.get(n);return null!==r?r:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1}getClass(){return Mi}get interfaces_(){return[]}}Mi.constructor_=function(){this._nodeMap=new dt,this.edge=null;let t=arguments[0];this.edge=t};class Ti{constructor(){Ti.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),i=0;ii?e:i}getMinX(t){var e=this.pts[this.startIndex[t]].x,i=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][i]=n}}}getDelta(t){return this._depth[t][Ei.RIGHT]-this._depth[t][Ei.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?pe.EXTERIOR:pe.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var i=n.getLocation(t,e);i!==pe.EXTERIOR&&i!==pe.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=Ni.depthAtLocation(i):this._depth[t][e]+=Ni.depthAtLocation(i))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===pe.INTERIOR&&this._depth[t][e]++}}getClass(){return Ni}get interfaces_(){return[]}}Ni.constructor_=function(){this._depth=Array(2).fill().map((()=>Array(3)));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=Ni.NULL_VALUE},Ni.NULL_VALUE=-1;class Pi{constructor(){Pi.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){m.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return Pi}get interfaces_(){return[]}}Pi.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class Fi extends Pi{constructor(){super(),Fi.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof fe&&arguments[0]instanceof Bi))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,Ei.ON),t.getLocation(1,Ei.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,Ei.LEFT),t.getLocation(1,Ei.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,Ei.RIGHT),t.getLocation(1,Ei.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new Fi(t,Bi.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof Fi))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var i=!0,n=!0,r=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){Fi.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new Ri(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new M;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;et._quadrant?1:this._quadrant=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),i=0,n=t.iterator();n.hasNext();){var r=n.next();e[i++]=r.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,i){if(this.isBoundaryNode(t,e))return null;i===pe.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,i)}addPolygonRing(t,e,i){if(t.isEmpty())return null;var n=$.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var r=e,s=i;Q.isCCW(n)&&(r=i,s=e);var o=new Fi(n,new Bi(this._argIndex,pe.BOUNDARY,r,s));this._lineEdgeMap.put(t,o),this.insertEdge(o),this.insertPoint(this._argIndex,n[0],pe.BOUNDARY)}insertPoint(t,e,i){var n=this._nodes.addNode(e),r=n.getLabel();null===r?n._label=new Bi(t,i):r.setLocation(t,i)}createEdgeSetIntersector(){return new Si}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.eiList.iterator();r.hasNext();){var s=r.next();this.addSelfIntersectionNode(t,s.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof j))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof zt&&(this._useBoundaryDeterminationRule=!1),t instanceof Ut)this.addPolygon(t);else if(t instanceof Dt)this.addLineString(t);else if(t instanceof Qt)this.addPoint(t);else if(t instanceof qt)this.addCollection(t);else if(t instanceof xt)this.addCollection(t);else if(t instanceof zt)this.addCollection(t);else{if(!(t instanceof vt))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new Oe(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof Dt){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return Vi}get interfaces_(){return[]}}Vi.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new ne,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Ii,2===arguments.length){let t=arguments[0],e=arguments[1];Vi.constructor_.call(this,t,e,X.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=i,null!==e&&this.add(e)}};var zi=Object.freeze({GeometryGraph:Vi});class Yi{constructor(){Yi.constructor_.apply(this,arguments)}visit(t){}getClass(){return Yi}get interfaces_(){return[]}}Yi.constructor_=function(){};class ji{constructor(){ji.constructor_.apply(this,arguments)}isRepeated(){return this._count>1}getRight(){return this._right}getCoordinate(){return this._p}setLeft(t){this._left=t}getX(){return this._p.x}getData(){return this._data}getCount(){return this._count}getLeft(){return this._left}getY(){return this._p.y}increment(){this._count=this._count+1}setRight(t){this._right=t}getClass(){return ji}get interfaces_(){return[]}}ji.constructor_=function(){if(this._p=null,this._data=null,this._left=null,this._right=null,this._count=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._p=new _(t),this._left=null,this._right=null,this._count=1,this._data=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._p=new _(t,e),this._left=null,this._right=null,this._count=1,this._data=i}};class Hi{constructor(){Hi.constructor_.apply(this,arguments)}static toCoordinates(){if(1===arguments.length){let t=arguments[0];return Hi.toCoordinates(t,!1)}if(2===arguments.length){let s=arguments[0],o=arguments[1];for(var t=new L,e=s.iterator();e.hasNext();)for(var i=e.next(),n=o?i.getCount():1,r=0;r0){var t=this.findBestMatchNode(e);if(null!==t)return t.increment(),t}return this.insertExact(e,i)}}query(){if(1===arguments.length){let e=arguments[0];var t=new b;return this.query(e,t),t}if(2===arguments.length)if(arguments[0]instanceof M&&I(arguments[1],x)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,new class{get interfaces_(){return[Yi]}visit(t){e.add(t)}})}else if(arguments[0]instanceof M&&I(arguments[1],Yi)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,e)}}queryNode(t,e,i,n){if(null===t)return null;var r=null,s=null,o=null;i?(r=e.getMinX(),s=e.getMaxX(),o=t.getX()):(r=e.getMinY(),s=e.getMaxY(),o=t.getY());var a=o<=s;r=e&&(t.getMinY()>=i&&(n=3),t.getMaxY()<=i&&(n=1)),t.getMaxX()<=e&&(t.getMinY()>=i&&(n=2),t.getMaxY()<=i&&(n=0)),n}hasChildren(){for(var t=0;t<4;t++)if(null!==this._subnode[t])return!0;return!1}isPrunable(){return!(this.hasChildren()||this.hasItems())}addAllItems(t){t.addAll(this._items);for(var e=0;e<4;e++)null!==this._subnode[e]&&this._subnode[e].addAllItems(t);return t}getNodeCount(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+1}size(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+this._items.size()}addAllItemsFromOverlapping(t,e){if(!this.isSearchMatch(t))return null;e.addAll(this._items);for(var i=0;i<4;i++)null!==this._subnode[i]&&this._subnode[i].addAllItemsFromOverlapping(t,e)}visitItems(t,e){for(var i=this._items.iterator();i.hasNext();)e.visitItem(i.next())}hasItems(){return!this._items.isEmpty()}remove(t,e){if(!this.isSearchMatch(t))return!1;for(var i=!1,n=0;n<4;n++)if(null!==this._subnode[n]&&(i=this._subnode[n].remove(t,e))){this._subnode[n].isPrunable()&&(this._subnode[n]=null);break}return i||this._items.remove(e)}visit(t,e){if(!this.isSearchMatch(t))return null;this.visitItems(t,e);for(var i=0;i<4;i++)null!==this._subnode[i]&&this._subnode[i].visit(t,e)}getItems(){return this._items}depth(){for(var t=0,e=0;e<4;e++)if(null!==this._subnode[e]){var i=this._subnode[e].depth();i>t&&(t=i)}return t+1}isEmpty(){var t=!0;if(this._items.isEmpty()){for(var e=0;e<4;e++)if(null!==this._subnode[e]&&!this._subnode[e].isEmpty()){t=!1;break}}else t=!1;return t}add(t){this._items.add(t)}getClass(){return Ki}get interfaces_(){return[A]}}function Ji(){}Ki.constructor_=function(){this._items=new b,this._subnode=new Array(4).fill(null)},Ji.exponent=function(t){return function(t,e){var i,n,r,s,o={32:8,64:11}[t];if(s||(i=e<0||1/e<0,isFinite(e)||(s={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}}[t],i&&(s.d+=1<=2;)n++,r/=2;for(;r<1&&n>0;)n--,r*=2;n<=0&&(r/=2),32===t&&n>254&&(s={d:i?255:127,c:128,b:0,a:0},n=Math.pow(2,o)-1,r=0)}return n}(64,t)-1023},Ji.powerOf2=function(t){return Math.pow(2,t)};class Zi{constructor(){Zi.constructor_.apply(this,arguments)}static computeQuadLevel(t){var e=t.getWidth(),i=t.getHeight(),n=e>i?e:i;return Ji.exponent(n)+1}getLevel(){return this._level}computeKey(){if(1===arguments.length){let t=arguments[0];for(this._level=Zi.computeQuadLevel(t),this._env=new M,this.computeKey(this._level,t);!this._env.contains(t);)this._level+=1,this.computeKey(this._level,t)}else if(2===arguments.length){let e=arguments[0],i=arguments[1];var t=Ji.powerOf2(e);this._pt.x=Math.floor(i.getMinX()/t)*t,this._pt.y=Math.floor(i.getMinY()/t)*t,this._env.init(this._pt.x,this._pt.x+t,this._pt.y,this._pt.y+t)}}getEnvelope(){return this._env}getCentre(){return new _((this._env.getMinX()+this._env.getMaxX())/2,(this._env.getMinY()+this._env.getMaxY())/2)}getPoint(){return this._pt}getClass(){return Zi}get interfaces_(){return[]}}Zi.constructor_=function(){this._pt=new _,this._level=0,this._env=null;let t=arguments[0];this.computeKey(t)};class $i extends Ki{constructor(){super(),$i.constructor_.apply(this,arguments)}static createNode(t){var e=new Zi(t);return new $i(e.getEnvelope(),e.getLevel())}static createExpanded(t,e){var i=new M(e);null!==t&&i.expandToInclude(t._env);var n=$i.createNode(i);return null!==t&&n.insertNode(t),n}find(t){var e=Ki.getSubnodeIndex(t,this._centrex,this._centrey);return-1===e?this:null!==this._subnode[e]?this._subnode[e].find(t):this}isSearchMatch(t){return null!==t&&this._env.intersects(t)}getSubnode(t){return null===this._subnode[t]&&(this._subnode[t]=this.createSubnode(t)),this._subnode[t]}getEnvelope(){return this._env}getNode(t){var e=Ki.getSubnodeIndex(t,this._centrex,this._centrey);return-1!==e?this.getSubnode(e).getNode(t):this}createSubnode(t){var e=0,i=0,n=0,r=0;switch(t){case 0:e=this._env.getMinX(),i=this._centrex,n=this._env.getMinY(),r=this._centrey;break;case 1:e=this._centrex,i=this._env.getMaxX(),n=this._env.getMinY(),r=this._centrey;break;case 2:e=this._env.getMinX(),i=this._centrex,n=this._centrey,r=this._env.getMaxY();break;case 3:e=this._centrex,i=this._env.getMaxX(),n=this._centrey,r=this._env.getMaxY()}var s=new M(e,i,n,r);return new $i(s,this._level-1)}insertNode(t){m.isTrue(null===this._env||this._env.contains(t._env));var e=Ki.getSubnodeIndex(t._env,this._centrex,this._centrey);if(t._level===this._level-1)this._subnode[e]=t;else{var i=this.createSubnode(e);i.insertNode(t),this._subnode[e]=i}}getClass(){return $i}get interfaces_(){return[]}}$i.constructor_=function(){this._env=null,this._centrex=null,this._centrey=null,this._level=null;let t=arguments[0],e=arguments[1];this._env=t,this._level=e,this._centrex=(t.getMinX()+t.getMaxX())/2,this._centrey=(t.getMinY()+t.getMaxY())/2};class tn{constructor(){tn.constructor_.apply(this,arguments)}static isZeroWidth(t,e){var i=e-t;if(0===i)return!0;var n=i/Math.max(Math.abs(t),Math.abs(e));return Ji.exponent(n)<=tn.MIN_BINARY_EXPONENT}getClass(){return tn}get interfaces_(){return[]}}tn.constructor_=function(){},tn.MIN_BINARY_EXPONENT=-50;class en extends Ki{constructor(){super(),en.constructor_.apply(this,arguments)}insert(t,e){var i=Ki.getSubnodeIndex(t,en.origin.x,en.origin.y);if(-1===i)return this.add(e),null;var n=this._subnode[i];if(null===n||!n.getEnvelope().contains(t)){var r=$i.createExpanded(n,t);this._subnode[i]=r}this.insertContained(this._subnode[i],t,e)}isSearchMatch(t){return!0}insertContained(t,e,i){m.isTrue(t.getEnvelope().contains(e));var n=tn.isZeroWidth(e.getMinX(),e.getMaxX()),r=tn.isZeroWidth(e.getMinY(),e.getMaxY());(n||r?t.find(e):t.getNode(e)).add(i)}getClass(){return en}get interfaces_(){return[]}}en.constructor_=function(){},en.origin=new _(0,0);class nn{constructor(){nn.constructor_.apply(this,arguments)}insert(t,e){}remove(t,e){}query(){}getClass(){return nn}get interfaces_(){return[]}}nn.constructor_=function(){};class rn{constructor(){rn.constructor_.apply(this,arguments)}static ensureExtent(t,e){var i=t.getMinX(),n=t.getMaxX(),r=t.getMinY(),s=t.getMaxY();return i!==n&&r!==s?t:(i===n&&(n=(i-=e/2)+e/2),r===s&&(s=(r-=e/2)+e/2),new M(i,n,r,s))}size(){return null!==this._root?this._root.size():0}insert(t,e){this.collectStats(t);var i=rn.ensureExtent(t,this._minExtent);this._root.insert(i,e)}query(){if(1===arguments.length){let e=arguments[0];var t=new Fe;return this.query(e,t),t.getItems()}if(2===arguments.length){let t=arguments[0],e=arguments[1];this._root.visit(t,e)}}queryAll(){var t=new b;return this._root.addAllItems(t),t}remove(t,e){var i=rn.ensureExtent(t,this._minExtent);return this._root.remove(i,e)}collectStats(t){var e=t.getWidth();e0&&(this._minExtent=e);var i=t.getHeight();i0&&(this._minExtent=i)}depth(){return null!==this._root?this._root.depth():0}isEmpty(){return null===this._root||this._root.isEmpty()}getClass(){return rn}get interfaces_(){return[nn,A]}}rn.constructor_=function(){this._root=null,this._minExtent=1,this._root=new en},rn.serialVersionUID=-0x678b60c967a25400;var sn=Object.freeze({Quadtree:rn});class on{constructor(){on.constructor_.apply(this,arguments)}getBounds(){}getClass(){return on}get interfaces_(){return[]}}on.constructor_=function(){};class an{constructor(){an.constructor_.apply(this,arguments)}getItem(){return this._item}getBounds(){return this._bounds}getClass(){return an}get interfaces_(){return[on,A]}}an.constructor_=function(){this._bounds=null,this._item=null;let t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};class ln{constructor(){ln.constructor_.apply(this,arguments)}poll(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}size(){return this._size}reorder(t){for(var e=null,i=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(i)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,i)}clear(){this._size=0,this._items.clear()}peek(){return this.isEmpty()?null:this._items.get(1)}isEmpty(){return 0===this._size}add(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}getClass(){return ln}get interfaces_(){return[]}}ln.constructor_=function(){this._size=null,this._items=null,this._size=0,this._items=new b,this._items.add(null)};class hn{constructor(){hn.constructor_.apply(this,arguments)}getLevel(){return this._level}size(){return this._childBoundables.size()}getChildBoundables(){return this._childBoundables}addChildBoundable(t){m.isTrue(null===this._bounds),this._childBoundables.add(t)}isEmpty(){return this._childBoundables.isEmpty()}getBounds(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}getClass(){return hn}get interfaces_(){return[on,A]}}hn.constructor_=function(){if(this._childBoundables=new b,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._level=t}},hn.serialVersionUID=0x5a1e55ec41369800;class cn{constructor(){cn.constructor_.apply(this,arguments)}static area(t){return t.getBounds().getArea()}static isComposite(t){return t instanceof hn}expandToQueue(t,e){var n=cn.isComposite(this._boundable1),r=cn.isComposite(this._boundable2);if(n&&r)return cn.area(this._boundable1)>cn.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(r)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new i("neither boundable is composite")}isLeaves(){return!(cn.isComposite(this._boundable1)||cn.isComposite(this._boundable2))}compareTo(t){var e=t;return this._distancee._distance?1:0}expand(t,e,i,n){for(var r=t.getChildBoundables().iterator();r.hasNext();){var s=r.next(),o=new cn(s,e,this._itemDistance);o.getDistance()e?1:t-2),n.getLevel()===t)return r.add(n),null;for(var e=n.getChildBoundables().iterator();e.hasNext();){var i=e.next();i instanceof hn?this.boundablesAtLevel(t,i,r):(m.isTrue(i instanceof an),-1===t&&r.add(i))}return null}}query(){if(1===arguments.length){let e=arguments[0];this.build();var t=new b;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.queryInternal(e,this._root,t),t}if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e)}}build(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}getRoot(){return this.build(),this._root}remove(){if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){let r=arguments[0],s=arguments[1],o=arguments[2];var t=this.removeItem(s,o);if(t)return!0;for(var e=null,i=s.getChildBoundables().iterator();i.hasNext();){var n=i.next();if(this.getIntersectsOp().intersects(n.getBounds(),r)&&n instanceof hn&&(t=this.remove(r,n,o))){e=n;break}}return null!==e&&e.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(e),t}}createHigherLevels(t,e){m.isTrue(!t.isEmpty());var i=this.createParentBoundables(t,e+1);return 1===i.size()?i.get(0):this.createHigherLevels(i,e+1)}depth(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var i=e.next();if(i instanceof hn){var n=this.depth(i);n>t&&(t=n)}}return t+1}}createParentBoundables(t,e){m.isTrue(!t.isEmpty());var i=new b;i.add(this.createNode(e));var n=new b(t);Te.sort(n,this.getComparator());for(var r=n.iterator();r.hasNext();){var s=r.next();this.lastNode(i).getChildBoundables().size()===this.getNodeCapacity()&&i.add(this.createNode(e)),this.lastNode(i).addChildBoundable(s)}return i}isEmpty(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}getClass(){return un}get interfaces_(){return[A]}}un.IntersectsOp=function(){},un.constructor_=function(){if(this._root=null,this._built=!1,this._itemBoundables=new b,this._nodeCapacity=null,0===arguments.length)un.constructor_.call(this,un.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];m.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},un.serialVersionUID=-0x35ef64c82d4c5400,un.DEFAULT_NODE_CAPACITY=10;class gn{constructor(){gn.constructor_.apply(this,arguments)}distance(t,e){}getClass(){return gn}get interfaces_(){return[]}}gn.constructor_=function(){};class dn extends un{constructor(){super(),dn.constructor_.apply(this,arguments)}static centreX(t){return dn.avg(t.getMinX(),t.getMaxX())}static avg(t,e){return(t+e)/2}static getItems(t){for(var e=new Array(t.size()).fill(null),i=0;!t.isEmpty();){var n=t.poll();e[i]=n.getBoundable(0).getItem(),i++}return e}static centreY(t){return dn.avg(t.getMinY(),t.getMaxY())}createParentBoundablesFromVerticalSlices(t,e){m.isTrue(t.length>0);for(var i=new b,n=0;n0&&!((l=(a=s.poll()).getDistance())>=e);)a.isLeaves()?(e=l,i=a):a.expandToQueue(s,e);return[i.getBoundable(0).getItem(),i.getBoundable(1).getItem()]}if(arguments[0]instanceof cn&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1];return this.nearestNeighbour(t,r.POSITIVE_INFINITY,e)}}else if(3===arguments.length){if(I(arguments[2],gn)&&arguments[0]instanceof M&&arguments[1]instanceof Object){let e=arguments[2];var n=new an(arguments[0],arguments[1]);return t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t)[0]}if(Number.isInteger(arguments[2])&&arguments[0]instanceof cn&&"number"==typeof arguments[1]){let t=arguments[0],i=arguments[2];var s;e=arguments[1],(s=new ln).add(t);for(var o=new ln;!s.isEmpty()&&e>=0;){var a,l;if((l=(a=s.poll()).getDistance())>=e)break;a.isLeaves()?o.size()l&&(o.poll(),o.add(a)),e=o.peek().getDistance()):a.expandToQueue(s,e)}return dn.getItems(o)}}else if(4===arguments.length){let e=arguments[2],i=arguments[3];return n=new an(arguments[0],arguments[1]),t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t,i)}}getClass(){return dn}get interfaces_(){return[nn,A]}}class An extends hn{constructor(){super(),An.constructor_.apply(this,arguments)}computeBounds(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var i=e.next();null===t?t=new M(i.getBounds()):t.expandToInclude(i.getBounds())}return t}getClass(){return An}get interfaces_(){return[]}}An.constructor_=function(){let t=arguments[0];hn.constructor_.call(this,t)},dn.STRtreeNode=An,dn.constructor_=function(){if(0===arguments.length)dn.constructor_.call(this,dn.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];un.constructor_.call(this,t)}},dn.serialVersionUID=0x39920f7d5f261e0,dn.xComparator=new class{get interfaces_(){return[d]}compare(t,e){return un.compareDoubles(dn.centreX(t.getBounds()),dn.centreX(e.getBounds()))}},dn.yComparator=new class{get interfaces_(){return[d]}compare(t,e){return un.compareDoubles(dn.centreY(t.getBounds()),dn.centreY(e.getBounds()))}},dn.intersectsOp=new class{get interfaces_(){return[IntersectsOp]}intersects(t,e){return t.intersects(e)}},dn.DEFAULT_NODE_CAPACITY=10;var pn=Object.freeze({STRtree:dn}),fn=Object.freeze({kdtree:Wi,quadtree:sn,strtree:pn});const mn=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"];class _n{constructor(t){this.geometryFactory=t||new oe}read(t){let e;const i=(e="string"==typeof t?JSON.parse(t):t).type;if(!yn[i])throw new Error("Unknown GeoJSON type: "+e.type);return-1!==mn.indexOf(i)?yn[i].call(this,e.coordinates):"GeometryCollection"===i?yn[i].call(this,e.geometries):yn[i].call(this,e)}write(t){const e=t.getGeometryType();if(!In[e])throw new Error("Geometry is not supported");return In[e].call(this,t)}}const yn={Feature:function(t){const e={};for(let i in t)e[i]=t[i];if(t.geometry){const i=t.geometry.type;if(!yn[i])throw new Error("Unknown GeoJSON type: "+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=yn.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){const e={};if(t.features){e.features=[];for(let i=0;ie?1:0}static compare(t,e,i){if(e.equals2D(i))return 0;var n=vn.relativeSign(e.x,i.x),r=vn.relativeSign(e.y,i.y);switch(t){case 0:return vn.compareValue(n,r);case 1:return vn.compareValue(r,n);case 2:return vn.compareValue(r,-n);case 3:return vn.compareValue(-n,r);case 4:return vn.compareValue(-n,-r);case 5:return vn.compareValue(-r,-n);case 6:return vn.compareValue(-r,n);case 7:return vn.compareValue(n,-r)}return m.shouldNeverReachHere("invalid octant value"),0}static compareValue(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}getClass(){return vn}get interfaces_(){return[]}}vn.constructor_=function(){};class xn{constructor(){xn.constructor_.apply(this,arguments)}getCoordinate(){return this.coord}print(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)}compareTo(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:vn.compare(this._segmentOctant,this.coord,e.coord)}isEndPoint(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}isInterior(){return this._isInterior}getClass(){return xn}get interfaces_(){return[u]}}xn.constructor_=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this._segString=t,this.coord=new _(e),this.segmentIndex=i,this._segmentOctant=n,this._isInterior=!e.equals2D(t.getCoordinate(i))};class wn{constructor(){wn.constructor_.apply(this,arguments)}getSplitCoordinates(){var t=new L;this.addEndpoints();for(var e=this.iterator(),i=e.next();e.hasNext();){var n=e.next();this.addEdgeCoordinates(i,n,t),i=n}return t.toCoordinateArray()}addCollapsedNodes(){var t=new b;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var i=e.next().intValue();this.add(this._edge.getCoordinate(i),i)}}print(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}findCollapsesFromExistingVertices(t){for(var e=0;e=0?r>=0?t>=e?0:1:t>=e?7:6:r>=0?t>=e?3:2:t>=e?4:5}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];var n=e.x-t.x,r=e.y-t.y;if(0===n&&0===r)throw new i("Cannot compute the octant for two identical points "+t);return Sn.octant(n,r)}}getClass(){return Sn}get interfaces_(){return[]}}Sn.constructor_=function(){};class bn{constructor(){bn.constructor_.apply(this,arguments)}getCoordinates(){}size(){}getCoordinate(t){}isClosed(){}setData(t){}getData(){}getClass(){return bn}get interfaces_(){return[]}}bn.constructor_=function(){};class Bn{constructor(){Bn.constructor_.apply(this,arguments)}addIntersection(t,e){}getClass(){return Bn}get interfaces_(){return[bn]}}Bn.constructor_=function(){};class Ln{constructor(){Ln.constructor_.apply(this,arguments)}static getNodedSubstrings(){if(1===arguments.length){let e=arguments[0];var t=new b;return Ln.getNodedSubstrings(e,t),t}if(2===arguments.length){let t=arguments[1];for(var e=arguments[0].iterator();e.hasNext();)e.next().getNodeList().addSplitEdges(t)}}getCoordinates(){return this._pts}size(){return this._pts.length}getCoordinate(t){return this._pts[t]}isClosed(){return this._pts[0].equals(this._pts[this._pts.length-1])}getSegmentOctant(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}setData(t){this._data=t}safeOctant(t,e){return t.equals2D(e)?0:Sn.octant(t,e)}getData(){return this._data}addIntersection(){if(2===arguments.length){let t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){let e=arguments[1],i=arguments[3];var t=new _(arguments[0].getIntersection(i));this.addIntersection(t,e)}}toString(){return ue.toLineString(new Kt(this._pts))}getNodeList(){return this._nodeList}addIntersectionNode(t,e){var i=e,n=i+1;if(n=t.length-1)return t.length-1;for(var n=gi.quadrant(t[i],t[i+1]),r=e+1;ri.getId()&&(i.computeOverlaps(r,t),this._nOverlaps++),this._segInt.isDone())return null}}getClass(){return Fn}get interfaces_(){return[]}}class Dn extends Mn{constructor(){super(),Dn.constructor_.apply(this,arguments)}overlap(){if(4!==arguments.length)return super.overlap.apply(this,arguments);{let i=arguments[1],n=arguments[2],r=arguments[3];var t=arguments[0].getContext(),e=n.getContext();this._si.processIntersections(t,i,e,r)}}getClass(){return Dn}get interfaces_(){return[]}}Dn.constructor_=function(){this._si=null;let t=arguments[0];this._si=t},Fn.SegmentOverlapAction=Dn,Fn.constructor_=function(){if(this._monoChains=new b,this._index=new dn,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];Pn.constructor_.call(this,t)}};class On{constructor(){On.constructor_.apply(this,arguments)}rescale(){if(I(arguments[0],C))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.rescale(e.getCoordinates())}else if(arguments[0]instanceof Array){let e=arguments[0];for(2===e.length&&(new _(e[0]),new _(e[1])),t=0;t0&&this._minIndexthis._minCoord.y&&i.y>this._minCoord.y&&n===Q.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)}getRightmostSideOfSegment(t,e){var i=t.getEdge().getCoordinates();if(e<0||e+1>=i.length)return-1;if(i[e].y===i[e+1].y)return-1;var n=Ei.LEFT;return i[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=i,this._minCoord=e[i])}findRightmostEdgeAtNode(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}findEdge(t){for(var e=t.iterator();e.hasNext();){var i=e.next();i.isForward()&&this.checkForRightmostCoordinate(i)}m.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Ei.LEFT&&(this._orientedDe=this._minDe.getSym())}getClass(){return qn}get interfaces_(){return[]}}function Vn(){this.array_=[]}qn.constructor_=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null},Vn.prototype.addLast=function(t){this.array_.push(t)},Vn.prototype.removeFirst=function(){return this.array_.shift()},Vn.prototype.isEmpty=function(){return 0===this.array_.length};class zn{constructor(){zn.constructor_.apply(this,arguments)}clearVisitedEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();)t.next().setVisited(!1)}getRightmostCoordinate(){return this._rightMostCoord}computeNodeDepth(t){for(var e=null,i=t.getEdges().iterator();i.hasNext();)if((n=i.next()).isVisited()||n.getSym().isVisited()){e=n;break}if(null===e)throw new ki("unable to find edge to compute depths at "+t.getCoordinate());for(t.getEdges().computeDepths(e),i=t.getEdges().iterator();i.hasNext();){var n;(n=i.next()).setVisited(!0),this.copySymDepths(n)}}computeDepth(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.getNode(),e.getLabel(),e.setEdgeDepths(Ei.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)}create(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()}findResultEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(Ei.RIGHT)>=1&&e.getDepth(Ei.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}computeDepths(t){var e=new st,i=new Vn,n=t.getNode();for(i.addLast(n),e.add(n),t.setVisited(!0);!i.isEmpty();){var r=i.removeFirst();e.add(r),this.computeNodeDepth(r);for(var s=r.getEdges().iterator();s.hasNext();){var o=s.next().getSym();if(!o.isVisited()){var a=o.getNode();e.contains(a)||(i.addLast(a),e.add(a))}}}}compareTo(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}getEnvelope(){if(null===this._env){for(var t=new M,e=this._dirEdgeList.iterator();e.hasNext();)for(var i=e.next().getEdge().getCoordinates(),n=0;nthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}addPoints(t,e,i){var n=t.getCoordinates();if(e){var r=1;i&&(r=0);for(var s=r;s=0;s--)this._pts.add(n[s])}isHole(){return this._isHole}setInResult(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}containsPoint(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!Ge.isInRing(t,e.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();)if(i.next().containsPoint(t))return!1;return!0}addHole(t){this._holes.add(t)}isShell(){return null===this._shell}getLabel(){return this._label}getEdges(){return this._edges}getMaxNodeDegree(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}getShell(){return this._shell}mergeLabel(){if(1===arguments.length){let t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){let e=arguments[1];var t=arguments[0].getLocation(e,Ei.RIGHT);if(t===pe.NONE)return null;if(this._label.getLocation(e)===pe.NONE)return this._label.setLocation(e,t),null}}setShell(t){this._shell=t,null!==t&&t.addHole(this)}toPolygon(t){for(var e=new Array(this._holes.size()).fill(null),i=0;i2){s.linkDirectedEdgesForMinimalEdgeRings();var o=s.buildMinimalRings(),a=this.findShell(o);null!==a?(this.placePolygonHoles(a,o),e.add(a)):i.addAll(o)}else n.add(s)}return n}containsPoint(t){for(var e=this._shellList.iterator();e.hasNext();)if(e.next().containsPoint(t))return!0;return!1}buildMaximalEdgeRings(t){for(var e=new b,i=t.iterator();i.hasNext();){var n=i.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var r=new Hn(n,this._geometryFactory);e.add(r),r.setInResult()}}return e}placePolygonHoles(t,e){for(var i=e.iterator();i.hasNext();){var n=i.next();n.isHole()&&n.setShell(t)}}getPolygons(){return this.computePolygons(this._shellList)}findEdgeRingContaining(t,e){for(var i=t.getLinearRing(),n=i.getEnvelopeInternal(),r=i.getCoordinateN(0),s=null,o=null,a=e.iterator();a.hasNext();){var l=a.next(),h=l.getLinearRing(),c=h.getEnvelopeInternal();null!==s&&(o=s.getLinearRing().getEnvelopeInternal());var u=!1;c.contains(n)&&Ge.isInRing(r,h.getCoordinates())&&(u=!0),u&&(null===s||o.contains(c))&&(s=l)}return s}findShell(t){for(var e=0,i=null,n=t.iterator();n.hasNext();){var r=n.next();r.isHole()||(i=r,e++)}return m.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),i}add(){if(1===arguments.length){let t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){let n=arguments[0],r=arguments[1];qi.linkResultDirectedEdges(r);var t=this.buildMaximalEdgeRings(n),e=new b,i=this.buildMinimalEdgeRings(t,this._shellList,e);this.sortShellsAndHoles(i,this._shellList,e),this.placeFreeHoles(this._shellList,e)}}getClass(){return Xn}get interfaces_(){return[]}}Xn.constructor_=function(){this._geometryFactory=null,this._shellList=new b;let t=arguments[0];this._geometryFactory=t};class Wn{constructor(){Wn.constructor_.apply(this,arguments)}static simplify(t,e){return new Wn(t).simplify(e)}isDeletable(t,e,i,n){var r=this._inputLine[t],s=this._inputLine[e],o=this._inputLine[i];return!!this.isConcave(r,s,o)&&!!this.isShallow(r,s,o,n)&&this.isShallowSampled(r,s,t,i,n)}deleteShallowConcavities(){for(var t=1,e=(this._inputLine.length,this.findNextNonDeletedIndex(t)),i=this.findNextNonDeletedIndex(e),n=!1;i=0;i--)this.addPt(t[i])}isRedundant(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)=2&&this._ptList.get(this._ptList.size()-2),t.equals(e))return null;this._ptList.add(t)}setMinimumVertexDistance(t){this._minimimVertexDistance=t}getClass(){return Kn}get interfaces_(){return[]}}Kn.constructor_=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new b},Kn.COORDINATE_ARRAY_TYPE=new Array(0).fill(null);class Jn{constructor(){Jn.constructor_.apply(this,arguments)}addNextSegment(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var i=Q.index(this._s0,this._s1,this._s2),n=i===Q.CLOCKWISE&&this._side===Ei.LEFT||i===Q.COUNTERCLOCKWISE&&this._side===Ei.RIGHT;0===i?this.addCollinear(e):n?this.addOutsideTurn(i,e):this.addInsideTurn(i,e)}addLineEndCap(t,e){var i=new Ae(t,e),n=new Ae;this.computeOffsetSegment(i,Ei.LEFT,this._distance,n);var r=new Ae;this.computeOffsetSegment(i,Ei.RIGHT,this._distance,r);var s=e.x-t.x,o=e.y-t.y,a=Math.atan2(o,s);switch(this._bufParams.getEndCapStyle()){case Un.CAP_ROUND:this._segList.addPt(n.p1),this.addDirectedFillet(e,a+Math.PI/2,a-Math.PI/2,Q.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case Un.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(r.p1);break;case Un.CAP_SQUARE:var l=new _;l.x=Math.abs(this._distance)*Math.cos(a),l.y=Math.abs(this._distance)*Math.sin(a);var h=new _(n.p1.x+l.x,n.p1.y+l.y),c=new _(r.p1.x+l.x,r.p1.y+l.y);this._segList.addPt(h),this._segList.addPt(c)}}getCoordinates(){return this._segList.getCoordinates()}addMitreJoin(t,e,i,n){var r=!0,s=null;try{s=G.intersection(e.p0,e.p1,i.p0,i.p1),(n<=0?1:s.distance(t)/Math.abs(n))>this._bufParams.getMitreLimit()&&(r=!1)}catch(t){if(!(t instanceof R))throw t;s=new _(0,0),r=!1}r?this._segList.addPt(s):this.addLimitedMitreJoin(e,i,n,this._bufParams.getMitreLimit())}addOutsideTurn(t,e){if(this._offset0.p1.distance(this._offset1.p0)=c&&(a-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,a,c,n,r),this._segList.addPt(i)}addLastSegment(){this._segList.addPt(this._offset1.p1)}initSideSegments(t,e,i){this._s1=t,this._s2=e,this._side=i,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,i,this._distance,this._offset1)}addLimitedMitreJoin(t,e,i,n){var r=this._seg0.p1,s=me.angle(r,this._seg0.p0),o=(me.angle(r,this._seg1.p1),me.angleBetweenOriented(this._seg0.p0,r,this._seg1.p1)/2),a=me.normalize(s+o),l=me.normalize(a+Math.PI),h=n*i,c=i-h*Math.abs(Math.sin(o)),u=r.x+h*Math.cos(l),g=r.y+h*Math.sin(l),d=new _(u,g),A=new Ae(r,d),p=A.pointAlongOffset(1,c),f=A.pointAlongOffset(1,-c);this._side===Ei.LEFT?(this._segList.addPt(p),this._segList.addPt(f)):(this._segList.addPt(f),this._segList.addPt(p))}addDirectedFillet(t,e,i,n,r){var s,o=n===Q.CLOCKWISE?-1:1,a=Math.abs(e-i),l=Math.trunc(a/this._filletAngleQuantum+.5);if(l<1)return null;s=a/l;for(var h=0,c=new _;h0){var i=new _((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i);var n=new _((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}createCircle(t){var e=new _(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}addBevelJoin(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}init(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Kn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}addCollinear(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Un.JOIN_BEVEL||this._bufParams.getJoinStyle()===Un.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,Q.CLOCKWISE,this._distance))}closeRing(){this._segList.closeRing()}hasNarrowConcaveAngle(){return this._hasNarrowConcaveAngle}getClass(){return Jn}get interfaces_(){return[]}}Jn.constructor_=function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new Ae,this._seg1=new Ae,this._offset0=new Ae,this._offset1=new Ae,this._side=0,this._hasNarrowConcaveAngle=!1;let t=arguments[0],e=arguments[1],i=arguments[2];this._precisionModel=t,this._bufParams=e,this._li=new de,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===Un.JOIN_ROUND&&(this._closingSegLengthFactor=Jn.MAX_CLOSING_SEG_LEN_FACTOR),this.init(i)},Jn.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,Jn.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,Jn.MAX_CLOSING_SEG_LEN_FACTOR=80;class Zn{constructor(){Zn.constructor_.apply(this,arguments)}static copyCoordinates(t){for(var e=new Array(t.length).fill(null),i=0;i=0;o--)i.addNextSegment(r[o],!0)}else{i.addSegments(t,!1);var a=Wn.simplify(t,n),l=a.length-1;for(i.initSideSegments(a[0],a[1],Ei.LEFT),i.addFirstSegment(),o=2;o<=l;o++)i.addNextSegment(a[o],!0)}i.addLastSegment(),i.closeRing()}computeRingBufferCurve(t,e,i){var n=this.simplifyTolerance(this._distance);e===Ei.RIGHT&&(n=-n);var r=Wn.simplify(t,n),s=r.length-1;i.initSideSegments(r[s-1],r[0],e);for(var o=1;o<=s;o++){var a=1!==o;i.addNextSegment(r[o],a)}i.closeRing()}computeLineBufferCurve(t,e){var i=this.simplifyTolerance(this._distance),n=Wn.simplify(t,i),r=n.length-1;e.initSideSegments(n[0],n[1],Ei.LEFT);for(var s=2;s<=r;s++)e.addNextSegment(n[s],!0);e.addLastSegment(),e.addLineEndCap(n[r-1],n[r]);var o=Wn.simplify(t,-i),a=o.length-1;for(e.initSideSegments(o[a],o[a-1],Ei.LEFT),s=a-2;s>=0;s--)e.addNextSegment(o[s],!0);e.addLastSegment(),e.addLineEndCap(o[1],o[0]),e.closeRing()}computePointCurve(t,e){switch(this._bufParams.getEndCapStyle()){case Un.CAP_ROUND:e.createCircle(t);break;case Un.CAP_SQUARE:e.createSquare(t)}}getLineCurve(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var i=Math.abs(e),n=this.getSegGen(i);if(t.length<=1)this.computePointCurve(t[0],n);else if(this._bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,n)}else this.computeLineBufferCurve(t,n);return n.getCoordinates()}getBufferParameters(){return this._bufParams}simplifyTolerance(t){return t*this._bufParams.getSimplifyFactor()}getRingCurve(t,e,i){if(this._distance=i,t.length<=2)return this.getLineCurve(t,i);if(0===i)return Zn.copyCoordinates(t);var n=this.getSegGen(i);return this.computeRingBufferCurve(t,e,n),n.getCoordinates()}computeOffsetCurve(t,e,i){var n=this.simplifyTolerance(this._distance);if(e){var r=Wn.simplify(t,-n),s=r.length-1;i.initSideSegments(r[s],r[s-1],Ei.LEFT),i.addFirstSegment();for(var o=s-2;o>=0;o--)i.addNextSegment(r[o],!0)}else{var a=Wn.simplify(t,n),l=a.length-1;for(i.initSideSegments(a[0],a[1],Ei.LEFT),i.addFirstSegment(),o=2;o<=l;o++)i.addNextSegment(a[o],!0)}i.addLastSegment()}getSegGen(t){return new Jn(this._precisionModel,this._bufParams,t)}getClass(){return Zn}get interfaces_(){return[]}}Zn.constructor_=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;let t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};class $n{constructor(){$n.constructor_.apply(this,arguments)}findStabbedSegments(){if(1===arguments.length){let r=arguments[0];for(var t=new b,e=this._subgraphs.iterator();e.hasNext();){var i=e.next(),n=i.getEnvelope();r.yn.getMaxY()||this.findStabbedSegments(r,i.getDirectedEdges(),t)}return t}if(3===arguments.length)if(I(arguments[2],x)&&arguments[0]instanceof _&&arguments[1]instanceof Gi){let t=arguments[0],i=arguments[1],n=arguments[2];var r=i.getEdge().getCoordinates();for(e=0;ethis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||Q.index(this._seg.p0,this._seg.p1,t)===Q.RIGHT)){var s=i.getDepth(Ei.LEFT);this._seg.p0.equals(r[e])||(s=i.getDepth(Ei.RIGHT));var o=new tr(this._seg,s);n.add(o)}}else if(I(arguments[2],x)&&arguments[0]instanceof _&&I(arguments[1],x)){let t=arguments[0],i=arguments[2];for(e=arguments[1].iterator();e.hasNext();){var a=e.next();a.isForward()&&this.findStabbedSegments(t,a,i)}}}getDepth(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:Te.min(e)._leftDepth}getClass(){return $n}get interfaces_(){return[]}}class tr{constructor(){tr.constructor_.apply(this,arguments)}compareTo(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var i=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==i||0!=(i=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?i:this._upwardSeg.compareTo(e._upwardSeg)}compareX(t,e){var i=t.p0.compareTo(e.p0);return 0!==i?i:t.p1.compareTo(e.p1)}toString(){return this._upwardSeg.toString()}getClass(){return tr}get interfaces_(){return[u]}}tr.constructor_=function(){this._upwardSeg=null,this._leftDepth=null;let t=arguments[0],e=arguments[1];this._upwardSeg=new Ae(t),this._leftDepth=e},$n.DepthSegment=tr,$n.constructor_=function(){this._subgraphs=null,this._seg=new Ae;let t=arguments[0];this._subgraphs=t};class er{constructor(){er.constructor_.apply(this,arguments)}addPoint(t){if(this._distance<=0)return null;var e=t.getCoordinates(),i=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(i,pe.EXTERIOR,pe.INTERIOR)}addPolygon(t){var e=this._distance,i=Ei.LEFT;this._distance<0&&(e=-this._distance,i=Ei.RIGHT);var n=t.getExteriorRing(),r=$.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addPolygonRing(r,e,i,pe.EXTERIOR,pe.INTERIOR);for(var s=0;s0&&this.isErodedCompletely(o,-this._distance)||this.addPolygonRing(a,e,Ei.opposite(i),pe.INTERIOR,pe.EXTERIOR)}}isTriangleErodedCompletely(t,e){var i=new _e(t[0],t[1],t[2]),n=i.inCentre();return q.pointToSegment(n,i.p0,i.p1)=Vt.MINIMUM_VALID_SIZE&&Q.isCCW(t)&&(s=r,o=n,i=Ei.opposite(i));var a=this._curveBuilder.getRingCurve(t,i,e);this.addCurve(a,s,o)}add(t){if(t.isEmpty())return null;if(t instanceof Ut)this.addPolygon(t);else if(t instanceof Dt)this.addLineString(t);else if(t instanceof Qt)this.addPoint(t);else if(t instanceof qt)this.addCollection(t);else if(t instanceof xt)this.addCollection(t);else if(t instanceof zt)this.addCollection(t);else{if(!(t instanceof vt))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}isErodedCompletely(t,e){var i=t.getCoordinates();if(i.length<4)return e<0;if(4===i.length)return this.isTriangleErodedCompletely(i,e);var n=t.getEnvelopeInternal(),r=Math.min(n.getHeight(),n.getWidth());return e<0&&2*Math.abs(e)>r}addCollection(t){for(var e=0;e=0;i--){var n=this._edgeList.get(i),r=n.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=n}e.setNext(t)}computeDepths(){if(1===arguments.length){let r=arguments[0];var t=this.findIndex(r),e=(r.getLabel(),r.getDepth(Ei.LEFT)),i=r.getDepth(Ei.RIGHT),n=this.computeDepths(t+1,this._edgeList.size(),e);if(this.computeDepths(0,t,n)!==i)throw new ki("depth mismatch at "+r.getCoordinate())}else if(3===arguments.length){let t=arguments[1];for(var r=arguments[2],s=arguments[0];s=0;r--){var s=this._resultAreaEdgeList.get(r),o=s.getSym();switch(null===e&&s.getEdgeRing()===t&&(e=s),n){case this._SCANNING_FOR_INCOMING:if(o.getEdgeRing()!==t)continue;i=o,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(s.getEdgeRing()!==t)continue;i.setNextMin(s),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(m.isTrue(null!==e,"found null for first outgoing dirEdge"),m.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),i.setNextMin(e))}getOutgoingDegree(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){let i=arguments[0];for(t=0,e=this.iterator();e.hasNext();)e.next().getEdgeRing()===i&&t++;return t}}getLabel(){return this._label}findCoveredLineEdges(){for(var t=pe.NONE,e=this.iterator();e.hasNext();){var i=(r=e.next()).getSym();if(!r.isLineEdge()){if(r.isInResult()){t=pe.INTERIOR;break}if(i.isInResult()){t=pe.EXTERIOR;break}}}if(t===pe.NONE)return null;var n=t;for(e=this.iterator();e.hasNext();){var r;i=(r=e.next()).getSym(),r.isLineEdge()?r.getEdge().setCovered(n===pe.INTERIOR):(r.isInResult()&&(n=pe.EXTERIOR),i.isInResult()&&(n=pe.INTERIOR))}}computeLabelling(t){super.computeLabelling.call(this,t),this._label=new Bi(pe.NONE);for(var e=this.iterator();e.hasNext();)for(var i=e.next().getEdge().getLabel(),n=0;n<2;n++){var r=i.getLocation(n);r!==pe.INTERIOR&&r!==pe.BOUNDARY||this._label.setLocation(n,pe.INTERIOR)}}getClass(){return nr}get interfaces_(){return[]}}nr.constructor_=function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2};class rr extends Ui{constructor(){super(),rr.constructor_.apply(this,arguments)}createNode(t){return new Di(t,new nr)}getClass(){return rr}get interfaces_(){return[]}}rr.constructor_=function(){};class sr{constructor(){sr.constructor_.apply(this,arguments)}static orientation(t){return 1===$.increasingDirection(t)}static compareOriented(t,e,i,n){for(var r=e?1:-1,s=n?1:-1,o=e?t.length:-1,a=n?i.length:-1,l=e?0:t.length-1,h=n?0:i.length-1;;){var c=t[l].compareTo(i[h]);if(0!==c)return c;var u=(l+=r)===o,g=(h+=s)===a;if(u&&!g)return-1;if(!u&&g)return 1;if(u&&g)return 0}}compareTo(t){var e=t;return sr.compareOriented(this._pts,this._orientation,e._pts,e._orientation)}getClass(){return sr}get interfaces_(){return[u]}}sr.constructor_=function(){this._pts=null,this._orientation=null;let t=arguments[0];this._pts=t,this._orientation=sr.orientation(t)};class or{constructor(){or.constructor_.apply(this,arguments)}print(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var n=i.getCoordinates(),r=0;r0&&t.print(","),t.print(n[r].x+" "+n[r].y);t.println(")")}t.print(") ")}addAll(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}findEdgeIndex(t){for(var e=0;en||this._maxys;if(o)return!1;var a=this.intersectsToleranceSquare(t,e);return m.isTrue(!(o&&a),"Found bad envelope test"),a}initCorners(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new _(this._maxx,this._maxy),this._corner[1]=new _(this._minx,this._maxy),this._corner[2]=new _(this._minx,this._miny),this._corner[3]=new _(this._maxx,this._miny)}intersects(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}scale(t){return Math.round(t*this._scaleFactor)}getCoordinate(){return this._originalPt}copyScaled(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}getSafeEnvelope(){if(null===this._safeEnv){var t=ur.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new M(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}intersectsPixelClosure(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))))}intersectsToleranceSquare(t,e){var i=!1,n=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper()||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper()||i&&n||t.equals(this._pt)||e.equals(this._pt)))))}addSnappedNode(t,e){var i=t.getCoordinate(e),n=t.getCoordinate(e+1);return!!this.intersects(i,n)&&(t.addIntersection(this.getCoordinate(),e),!0)}getClass(){return ur}get interfaces_(){return[]}}ur.constructor_=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;let t=arguments[0],e=arguments[1],n=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=n,e<=0)throw new i("Scale factor must be non-zero");1!==e&&(this._pt=new _(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new _,this._p1Scaled=new _),this.initCorners(this._pt)},ur.SAFE_ENV_EXPANSION_FACTOR=.75;class gr{constructor(){gr.constructor_.apply(this,arguments)}select(){if(1===arguments.length);else if(2===arguments.length){let t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}getClass(){return gr}get interfaces_(){return[]}}gr.constructor_=function(){this.selectedSegment=new Ae};class dr{constructor(){dr.constructor_.apply(this,arguments)}snap(){if(1===arguments.length){let t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){let i=arguments[0],n=arguments[1],r=arguments[2];var t=i.getSafeEnvelope(),e=new Ar(i,n,r);return this._index.query(t,new class{get interfaces_(){return[Se]}visitItem(i){i.select(t,e)}}),e.isNodeAdded()}}getClass(){return dr}get interfaces_(){return[]}}class Ar extends gr{constructor(){super(),Ar.constructor_.apply(this,arguments)}isNodeAdded(){return this._isNodeAdded}select(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Tn))return super.select.apply(this,arguments);{let e=arguments[1];var t=arguments[0].getContext();if(null!==this._parentEdge&&t===this._parentEdge&&e===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(t,e)}}getClass(){return Ar}get interfaces_(){return[]}}Ar.constructor_=function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;let t=arguments[0],e=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=i},dr.HotPixelSnapAction=Ar,dr.constructor_=function(){this._index=null;let t=arguments[0];this._index=t};class pr{constructor(){pr.constructor_.apply(this,arguments)}processIntersections(t,e,i,n){if(t===i&&e===n)return null;var r=t.getCoordinates()[e],s=t.getCoordinates()[e+1],o=i.getCoordinates()[n],a=i.getCoordinates()[n+1];if(this._li.computeIntersection(r,s,o,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var l=0;l0?e:0),s=i-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,s)}bufferFixedPrecision(t){var e=new On(new fr(new re(1)),t.getScale()),i=new hr(this._bufParams);i.setWorkingPrecisionModel(t),i.setNoder(e),this._resultGeometry=i.buffer(this._argGeom,this._distance)}bufferReducedPrecision(){if(0===arguments.length){for(var t=mr.MAX_PRECISION_DIGITS;t>=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof ki))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){let t=arguments[0];var e=mr.precisionScaleFactor(this._argGeom,this._distance,t),i=new re(e);this.bufferFixedPrecision(i)}}computeGeometry(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===re.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}setQuadrantSegments(t){this._bufParams.setQuadrantSegments(t)}bufferOriginalPrecision(){try{var t=new hr(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof p))throw t;this._saveException=t}}getResultGeometry(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}setEndCapStyle(t){this._bufParams.setEndCapStyle(t)}getClass(){return mr}get interfaces_(){return[]}}mr.constructor_=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Un,this._resultGeometry=null,this._saveException=null,1===arguments.length){let t=arguments[0];this._argGeom=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._argGeom=t,this._bufParams=e}},mr.CAP_ROUND=Un.CAP_ROUND,mr.CAP_BUTT=Un.CAP_FLAT,mr.CAP_FLAT=Un.CAP_FLAT,mr.CAP_SQUARE=Un.CAP_SQUARE,mr.MAX_PRECISION_DIGITS=12;var _r=Object.freeze({BufferOp:mr,BufferParameters:Un});class yr{constructor(){yr.constructor_.apply(this,arguments)}static getPolygons(){if(1===arguments.length){let t=arguments[0];return yr.getPolygons(t,new b)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Ut?e.add(t):t instanceof vt&&t.apply(new yr(e)),e}}filter(t){t instanceof Ut&&this._comps.add(t)}getClass(){return yr}get interfaces_(){return[Et]}}yr.constructor_=function(){this._comps=null;let t=arguments[0];this._comps=t};class Ir{constructor(){Ir.constructor_.apply(this,arguments)}isInsideArea(){return this._segIndex===Ir.INSIDE_AREA}getCoordinate(){return this._pt}getGeometryComponent(){return this._component}getSegmentIndex(){return this._segIndex}getClass(){return Ir}get interfaces_(){return[]}}Ir.constructor_=function(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){let t=arguments[0],e=arguments[1];Ir.constructor_.call(this,t,Ir.INSIDE_AREA,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._component=t,this._segIndex=e,this._pt=i}},Ir.INSIDE_AREA=-1;class Er{constructor(){Er.constructor_.apply(this,arguments)}static getPoints(){if(1===arguments.length){let t=arguments[0];return t instanceof Qt?Te.singletonList(t):Er.getPoints(t,new b)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Qt?e.add(t):t instanceof vt&&t.apply(new Er(e)),e}}filter(t){t instanceof Qt&&this._pts.add(t)}getClass(){return Er}get interfaces_(){return[Et]}}Er.constructor_=function(){this._pts=null;let t=arguments[0];this._pts=t};class Cr{constructor(){Cr.constructor_.apply(this,arguments)}static getLocations(t){var e=new b;return t.apply(new Cr(e)),e}filter(t){(t instanceof Qt||t instanceof Dt||t instanceof Ut)&&this._locations.add(new Ir(t,0,t.getCoordinate()))}getClass(){return Cr}get interfaces_(){return[Et]}}Cr.constructor_=function(){this._locations=null;let t=arguments[0];this._locations=t};class vr{constructor(){vr.constructor_.apply(this,arguments)}static distance(t,e){return new vr(t,e).distance()}static isWithinDistance(t,e,i){return!(t.getEnvelopeInternal().distance(e.getEnvelopeInternal())>i)&&new vr(t,e,i).distance()<=i}static nearestPoints(t,e){return new vr(t,e).nearestPoints()}computeContainmentDistance(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){let t=arguments[0],s=arguments[1];var e=this._geom[t];if(e.getDimension()<2)return null;var i=1-t,n=yr.getPolygons(e);if(n.size()>0){var r=Cr.getLocations(this._geom[i]);if(this.computeContainmentDistance(r,n,s),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[i]=s[0],this._minDistanceLocation[t]=s[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&I(arguments[0],x)&&I(arguments[1],x)){let t=arguments[0],e=arguments[1],i=arguments[2];for(var s=0;sthis._minDistance)return null;for(var t=r.getCoordinates(),e=s.getCoordinate(),i=0;ithis._minDistance)return null;t=e.getCoordinates();var r=n.getCoordinates();for(i=0;it&&$.reverse(this._coordinates)}return this._coordinates}toLineString(){return this._factory.createLineString(this.getCoordinates())}add(t){this._directedEdges.add(t)}getClass(){return wr}get interfaces_(){return[]}}wr.constructor_=function(){this._factory=null,this._directedEdges=new b,this._coordinates=null;let t=arguments[0];this._factory=t};class Sr{constructor(){Sr.constructor_.apply(this,arguments)}static getComponentWithVisitedState(t,e){for(;t.hasNext();){var i=t.next();if(i.isVisited()===e)return i}return null}static setVisited(t,e){for(;t.hasNext();)t.next().setVisited(e)}static setMarked(t,e){for(;t.hasNext();)t.next().setMarked(e)}setVisited(t){this._isVisited=t}isMarked(){return this._isMarked}setData(t){this._data=t}getData(){return this._data}setMarked(t){this._isMarked=t}getContext(){return this._data}isVisited(){return this._isVisited}setContext(t){this._data=t}getClass(){return Sr}get interfaces_(){return[]}}Sr.constructor_=function(){this._isMarked=!1,this._isVisited=!1,this._data=null};class br extends Sr{constructor(){super(),br.constructor_.apply(this,arguments)}static toEdges(t){for(var e=new b,i=t.iterator();i.hasNext();)e.add(i.next()._parentEdge);return e}isRemoved(){return null===this._parentEdge}compareDirection(t){return this._quadrant>t._quadrant?1:this._quadrant=t.size()-2}hasIntersection(){return null!==this._interiorIntersection}isDone(){return!this._findAllIntersections&&null!==this._interiorIntersection}getClass(){return kr}get interfaces_(){return[ar]}}kr.constructor_=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new b,this._intersectionCount=0,this._keepIntersections=!0;let t=arguments[0];this._li=t,this._interiorIntersection=null};class Gr{constructor(){Gr.constructor_.apply(this,arguments)}static computeIntersections(t){var e=new Gr(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()}execute(){if(null!==this._segInt)return null;this.checkInteriorIntersections()}getIntersections(){return this._segInt.getIntersections()}isValid(){return this.execute(),this._isValid}setFindAllIntersections(t){this._findAllIntersections=t}checkInteriorIntersections(){this._isValid=!0,this._segInt=new kr(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new Fn;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null}checkValid(){if(this.execute(),!this._isValid)throw new ki(this.getErrorMessage(),this._segInt.getInteriorIntersection())}getErrorMessage(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+ue.toLineString(t[0],t[1])+" and "+ue.toLineString(t[2],t[3])}getClass(){return Gr}get interfaces_(){return[]}}Gr.constructor_=function(){this._li=new de,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;let t=arguments[0];this._segStrings=t};class Ur{constructor(){Ur.constructor_.apply(this,arguments)}static toSegmentStrings(t){for(var e=new b,i=t.iterator();i.hasNext();){var n=i.next();e.add(new Qr(n.getCoordinates(),n))}return e}static checkValid(t){new Ur(t).checkValid()}checkValid(){this._nv.checkValid()}getClass(){return Ur}get interfaces_(){return[]}}Ur.constructor_=function(){this._nv=null;let t=arguments[0];this._nv=new Gr(Ur.toSegmentStrings(t))};class qr{constructor(){qr.constructor_.apply(this,arguments)}static map(t,e){return new qr(e).map(t)}map(t){for(var e=new b,i=0;i=0&&t.add(s+1,new _(r),!1)}}findSegmentIndexToSnap(t,e){for(var i=r.MAX_VALUE,n=-1,s=0;st&&(t=i)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Math.min(jr.computeOverlaySnapTolerance(t),jr.computeOverlaySnapTolerance(e))}}static computeSizeBasedSnapTolerance(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*jr.SNAP_PRECISION_FACTOR}static snapToSelf(t,e,i){return new jr(t).snapToSelf(e,i)}snapTo(t,e){var i=this.extractTargetCoordinates(t);return new Hr(e,i).transform(this._srcGeom)}snapToSelf(t,e){var i=this.extractTargetCoordinates(this._srcGeom),n=new Hr(t,i,!0).transform(this._srcGeom),r=n;return e&&I(r,Gt)&&(r=n.buffer(0)),r}computeSnapTolerance(t){return this.computeMinimumSegmentLength(t)/10}extractTargetCoordinates(t){for(var e=new ft,i=t.getCoordinates(),n=0;n>>20}static zeroLowerBits(t,e){var i="low";if(e>32&&(t.low=0,e%=32,i="high"),e>0){var n=e<32?~((1<=0;n--){if(Xr.getBit(t,n)!==Xr.getBit(e,n))return i;i++}return 52}}class Wr{constructor(){Wr.constructor_.apply(this,arguments)}addCommonBits(t){var e=new Jr(this._commonCoord);t.apply(e),t.geometryChanged()}removeCommonBits(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new _(this._commonCoord);e.x=-e.x,e.y=-e.y;var i=new Jr(e);return t.apply(i),t.geometryChanged(),t}getCommonCoordinate(){return this._commonCoord}add(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()}getClass(){return Wr}get interfaces_(){return[]}}class Kr{constructor(){Kr.constructor_.apply(this,arguments)}filter(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)}getCommonCoordinate(){return new _(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())}getClass(){return Kr}get interfaces_(){return[H]}}Kr.constructor_=function(){this._commonBitsX=new Xr,this._commonBitsY=new Xr};class Jr{constructor(){Jr.constructor_.apply(this,arguments)}filter(t,e){var i=t.getOrdinate(e,0)+this.trans.x,n=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,i),t.setOrdinate(e,1,n)}isDone(){return!1}isGeometryChanged(){return!0}getClass(){return Jr}get interfaces_(){return[Ct]}}Jr.constructor_=function(){this.trans=null;let t=arguments[0];this.trans=t},Wr.CommonCoordinateFilter=Kr,Wr.Translater=Jr,Wr.constructor_=function(){this._commonCoord=null,this._ccFilter=new Kr};class Zr{constructor(){Zr.constructor_.apply(this,arguments)}static overlayOp(t,e,i){return new Zr(t,e).getResultGeometry(i)}static union(t,e){return Zr.overlayOp(t,e,es.UNION)}static intersection(t,e){return Zr.overlayOp(t,e,es.INTERSECTION)}static symDifference(t,e){return Zr.overlayOp(t,e,es.SYMDIFFERENCE)}static difference(t,e){return Zr.overlayOp(t,e,es.DIFFERENCE)}selfSnap(t){return new jr(t).snapTo(t,this._snapTolerance)}removeCommonBits(t){this._cbr=new Wr,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e}prepareResult(t){return this._cbr.addCommonBits(t),t}getResultGeometry(t){var e=this.snap(this._geom),i=es.overlayOp(e[0],e[1],t);return this.prepareResult(i)}checkValid(t){t.isValid()||k.out.println("Snapped geometry is invalid")}computeSnapTolerance(){this._snapTolerance=jr.computeOverlaySnapTolerance(this._geom[0],this._geom[1])}snap(t){var e=this.removeCommonBits(t);return jr.snap(e[0],e[1],this._snapTolerance)}getClass(){return Zr}get interfaces_(){return[]}}Zr.constructor_=function(){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null;let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};class $r{constructor(){$r.constructor_.apply(this,arguments)}static overlayOp(t,e,i){return new $r(t,e).getResultGeometry(i)}static union(t,e){return $r.overlayOp(t,e,es.UNION)}static intersection(t,e){return $r.overlayOp(t,e,es.INTERSECTION)}static symDifference(t,e){return $r.overlayOp(t,e,es.SYMDIFFERENCE)}static difference(t,e){return $r.overlayOp(t,e,es.DIFFERENCE)}getResultGeometry(t){var e=null,i=!1,n=null;try{e=es.overlayOp(this._geom[0],this._geom[1],t),i=!0}catch(t){if(!(t instanceof p))throw t;n=t}if(!i)try{e=Zr.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof p?n:t}return e}getClass(){return $r}get interfaces_(){return[]}}$r.constructor_=function(){this._geom=new Array(2).fill(null);let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e};class ts{constructor(){ts.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return ts}get interfaces_(){return[]}}ts.constructor_=function(){if(this._li=new de,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new Vi(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];ts.constructor_.call(this,t,e,X.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Vi(0,t,i),this._arg[1]=new Vi(1,e,i)}};class es extends ts{constructor(){super(),es.constructor_.apply(this,arguments)}static overlayOp(t,e,i){return new es(t,e).getResultGeometry(i)}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return es.createEmptyResult(es.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new i("This method does not support GeometryCollection arguments");return $r.overlayOp(t,e,es.UNION)}static intersection(t,e){if(t.isEmpty()||e.isEmpty())return es.createEmptyResult(es.INTERSECTION,t,e,t.getFactory());if(t.isGeometryCollection()){var n=e;return qr.map(t,new class{get interfaces_(){return[MapOp]}map(t){return t.intersection(n)}})}if(t.isGeometryCollection()||e.isGeometryCollection())throw new i("This method does not support GeometryCollection arguments");return $r.overlayOp(t,e,es.INTERSECTION)}static symDifference(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return es.createEmptyResult(es.SYMDIFFERENCE,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new i("This method does not support GeometryCollection arguments");return $r.overlayOp(t,e,es.SYMDIFFERENCE)}static resultDimension(t,e,i){var n=e.getDimension(),r=i.getDimension(),s=-1;switch(t){case es.INTERSECTION:s=Math.min(n,r);break;case es.UNION:s=Math.max(n,r);break;case es.DIFFERENCE:s=n;break;case es.SYMDIFFERENCE:s=Math.max(n,r)}return s}static createEmptyResult(t,e,i,n){var r=null;switch(es.resultDimension(t,e,i)){case-1:r=n.createGeometryCollection();break;case 0:r=n.createPoint();break;case 1:r=n.createLineString();break;case 2:r=n.createPolygon()}return r}static difference(t,e){if(t.isEmpty())return es.createEmptyResult(es.DIFFERENCE,t,e,t.getFactory());if(e.isEmpty())return t.copy();if(t.isGeometryCollection()||e.isGeometryCollection())throw new i("This method does not support GeometryCollection arguments");return $r.overlayOp(t,e,es.DIFFERENCE)}static isResultOfOp(){if(2===arguments.length){let i=arguments[0],n=arguments[1];var t=i.getLocation(0),e=i.getLocation(1);return es.isResultOfOp(t,e,n)}if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];switch(t===pe.BOUNDARY&&(t=pe.INTERIOR),e===pe.BOUNDARY&&(e=pe.INTERIOR),i){case es.INTERSECTION:return t===pe.INTERIOR&&e===pe.INTERIOR;case es.UNION:return t===pe.INTERIOR||e===pe.INTERIOR;case es.DIFFERENCE:return t===pe.INTERIOR&&e!==pe.INTERIOR;case es.SYMDIFFERENCE:return t===pe.INTERIOR&&e!==pe.INTERIOR||t!==pe.INTERIOR&&e===pe.INTERIOR}return!1}}insertUniqueEdge(t){var e=this._edgeList.findEqualEdge(t);if(null!==e){var i=e.getLabel(),n=t.getLabel();e.isPointwiseEqual(t)||(n=new Bi(t.getLabel())).flip();var r=e.getDepth();r.isNull()&&r.add(i),r.add(n),i.merge(n)}else this._edgeList.add(t)}getGraph(){return this._graph}cancelDuplicateResultEdges(){for(var t=this._graph.getEdgeEnds().iterator();t.hasNext();){var e=t.next(),i=e.getSym();e.isInResult()&&i.isInResult()&&(e.setInResult(!1),i.setInResult(!1))}}isCoveredByLA(t){return!!this.isCovered(t,this._resultLineList)||!!this.isCovered(t,this._resultPolyList)}computeGeometry(t,e,i,n){var r=new b;return r.addAll(t),r.addAll(e),r.addAll(i),r.isEmpty()?es.createEmptyResult(n,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(r)}mergeSymLabels(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().mergeSymLabels()}isCovered(t,e){for(var i=e.iterator();i.hasNext();){var n=i.next();if(this._ptLocator.locate(t,n)!==pe.EXTERIOR)return!0}return!1}replaceCollapsedEdges(){for(var t=new b,e=this._edgeList.iterator();e.hasNext();){var i=e.next();i.isCollapsed()&&(e.remove(),t.add(i.getCollapsedEdge()))}this._edgeList.addAll(t)}updateNodeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),i=e.getEdges().getLabel();e.getLabel().merge(i)}}getResultGeometry(t){return this.computeOverlay(t),this._resultGeom}insertUniqueEdges(t){for(var e=t.iterator();e.hasNext();){var i=e.next();this.insertUniqueEdge(i)}}computeOverlay(t){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var e=new b;this._arg[0].computeSplitEdges(e),this._arg[1].computeSplitEdges(e),this.insertUniqueEdges(e),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Ur.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(t),this.cancelDuplicateResultEdges();var i=new Xn(this._geomFact);i.add(this._graph),this._resultPolyList=i.getPolygons();var n=new Vr(this,this._geomFact,this._ptLocator);this._resultLineList=n.build(t);var r=new zr(this,this._geomFact,this._ptLocator);this._resultPointList=r.build(t),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,t)}labelIncompleteNode(t,e){var i=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setLocation(e,i)}copyPoints(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var i=e.next();this._graph.addNode(i.getCoordinate()).setLabel(t,i.getLabel().getLocation(t))}}findResultAreaEdges(t){for(var e=this._graph.getEdgeEnds().iterator();e.hasNext();){var i=e.next(),n=i.getLabel();n.isArea()&&!i.isInteriorAreaEdge()&&es.isResultOfOp(n.getLocation(0,Ei.RIGHT),n.getLocation(1,Ei.RIGHT),t)&&i.setInResult(!0)}}computeLabelsFromDepths(){for(var t=this._edgeList.iterator();t.hasNext();){var e=t.next(),i=e.getLabel(),n=e.getDepth();if(!n.isNull()){n.normalize();for(var r=0;r<2;r++)i.isNull(r)||!i.isArea()||n.isNull(r)||(0===n.getDelta(r)?i.toLine(r):(m.isTrue(!n.isNull(r,Ei.LEFT),"depth of LEFT side has not been initialized"),i.setLocation(r,Ei.LEFT,n.getLocation(r,Ei.LEFT)),m.isTrue(!n.isNull(r,Ei.RIGHT),"depth of RIGHT side has not been initialized"),i.setLocation(r,Ei.RIGHT,n.getLocation(r,Ei.RIGHT))))}}}computeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg);this.mergeSymLabels(),this.updateNodeLabelling()}labelIncompleteNodes(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),i=e.getLabel();e.isIsolated()&&(i.isNull(0)?this.labelIncompleteNode(e,0):this.labelIncompleteNode(e,1)),e.getEdges().updateLabelling(i)}}isCoveredByA(t){return!!this.isCovered(t,this._resultPolyList)}getClass(){return es}get interfaces_(){return[]}}es.constructor_=function(){this._ptLocator=new Ii,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new or,this._resultPolyList=new b,this._resultLineList=new b,this._resultPointList=new b;let t=arguments[0],e=arguments[1];ts.constructor_.call(this,t,e),this._graph=new qi(new rr),this._geomFact=t.getFactory()},es.INTERSECTION=1,es.UNION=2,es.DIFFERENCE=3,es.SYMDIFFERENCE=4;var is=Object.freeze({OverlayOp:es});class ns extends br{constructor(){super(),ns.constructor_.apply(this,arguments)}getNext(){return this._next}isInRing(){return null!==this._edgeRing}setRing(t){this._edgeRing=t}setLabel(t){this._label=t}getLabel(){return this._label}setNext(t){this._next=t}getRing(){return this._edgeRing}getClass(){return ns}get interfaces_(){return[]}}ns.constructor_=function(){this._edgeRing=null,this._next=null,this._label=-1;let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];br.constructor_.call(this,t,e,i,n)};class rs extends Lr{constructor(){super(),rs.constructor_.apply(this,arguments)}getLine(){return this._line}getClass(){return rs}get interfaces_(){return[]}}rs.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class ss{constructor(){ss.constructor_.apply(this,arguments)}static findDirEdgesInRing(t){var e=t,i=new b;do{i.add(e),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t);return i}static addEdge(t,e,i){if(e)for(var n=0;n=0;n--)i.add(t[n],!1)}static findEdgeRingContaining(t,e){for(var i=t.getRing(),n=i.getEnvelopeInternal(),r=i.getCoordinateN(0),s=null,o=null,a=e.iterator();a.hasNext();){var l=a.next(),h=l.getRing(),c=h.getEnvelopeInternal();if(!c.equals(n)&&c.contains(n)){r=$.ptNotInList(i.getCoordinates(),h.getCoordinates());var u=!1;Ge.isInRing(r,h.getCoordinates())&&(u=!0),u&&(null===s||o.contains(c))&&(o=(s=l).getRing().getEnvelopeInternal())}}return s}isIncluded(){return this._isIncluded}getCoordinates(){if(null===this._ringPts){for(var t=new L,e=this._deList.iterator();e.hasNext();){var i=e.next(),n=i.getEdge();ss.addEdge(n.getLine().getCoordinates(),i.getEdgeDirection(),t)}this._ringPts=t.toCoordinateArray()}return this._ringPts}isIncludedSet(){return this._isIncludedSet}isValid(){return this.getCoordinates(),!(this._ringPts.length<=3)&&(this.getRing(),this._ring.isValid())}build(t){var e=t;do{this.add(e),e.setRing(this),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t)}isOuterHole(){return!!this._isHole&&!this.hasShell()}getPolygon(){var t=null;if(null!==this._holes){t=new Array(this._holes.size()).fill(null);for(var e=0;e=0)){e.add(r);var s=ss.findDirEdgesInRing(r);as.label(s,i),i++}}return e}static getDegreeNonDeleted(t){for(var e=0,i=t.getOutEdges().getEdges().iterator();i.hasNext();)i.next().isMarked()||e++;return e}static deleteAllEdges(t){for(var e=t.getOutEdges().getEdges().iterator();e.hasNext();){var i=e.next();i.setMarked(!0);var n=i.getSym();null!==n&&n.setMarked(!0)}}static label(t,e){for(var i=t.iterator();i.hasNext();)i.next().setLabel(e)}static computeNextCWEdges(t){for(var e=null,i=null,n=t.getOutEdges().getEdges().iterator();n.hasNext();){var r=n.next();r.isMarked()||(null===e&&(e=r),null!==i&&i.getSym().setNext(r),i=r)}null!==i&&i.getSym().setNext(e)}static computeNextCCWEdges(t,e){for(var i=null,n=null,r=t.getOutEdges().getEdges(),s=r.size()-1;s>=0;s--){var o=r.get(s),a=o.getSym(),l=null;o.getLabel()===e&&(l=o);var h=null;a.getLabel()===e&&(h=a),null===l&&null===h||(null!==h&&(n=h),null!==l&&(null!==n&&(n.setNext(l),n=null),null===i&&(i=l)))}null!==n&&(m.isTrue(null!==i),n.setNext(i))}static getDegree(t,e){for(var i=0,n=t.getOutEdges().getEdges().iterator();n.hasNext();)n.next().getLabel()===e&&i++;return i}static findIntersectionNodes(t,e){var i=t,n=null;do{var r=i.getFromNode();as.getDegree(r,e)>1&&(null===n&&(n=new b),n.add(r)),i=i.getNext(),m.isTrue(null!==i,"found null DE in ring"),m.isTrue(i===t||!i.isInRing(),"found DE already in ring")}while(i!==t);return n}findEdgeRing(t){var e=new ss(this._factory);return e.build(t),e}computeDepthParity(){if(0===arguments.length)for(;;)return null}computeNextCWEdges(){for(var t=this.nodeIterator();t.hasNext();){var e=t.next();as.computeNextCWEdges(e)}}addEdge(t){if(t.isEmpty())return null;var e=$.removeRepeatedPoints(t.getCoordinates());if(e.length<2)return null;var i=e[0],n=e[e.length-1],r=this.getNode(i),s=this.getNode(n),o=new ns(r,s,e[1],!0),a=new ns(s,r,e[e.length-2],!1),l=new rs(t);l.setDirectedEdges(o,a),this.add(l)}deleteCutEdges(){this.computeNextCWEdges(),as.findLabeledEdgeRings(this._dirEdges);for(var t=new b,e=this._dirEdges.iterator();e.hasNext();){var i=e.next();if(!i.isMarked()){var n=i.getSym();if(i.getLabel()===n.getLabel()){i.setMarked(!0),n.setMarked(!0);var r=i.getEdge();t.add(r.getLine())}}}return t}getEdgeRings(){this.computeNextCWEdges(),as.label(this._dirEdges,-1);var t=as.findLabeledEdgeRings(this._dirEdges);this.convertMaximalToMinimalEdgeRings(t);for(var e=new b,i=this._dirEdges.iterator();i.hasNext();){var n=i.next();if(!n.isMarked()&&!n.isInRing()){var r=this.findEdgeRing(n);e.add(r)}}return e}getNode(t){var e=this.findNode(t);return null===e&&(e=new Tr(t),this.add(e)),e}convertMaximalToMinimalEdgeRings(t){for(var e=t.iterator();e.hasNext();){var i=e.next(),n=i.getLabel(),r=as.findIntersectionNodes(i,n);if(null!==r)for(var s=r.iterator();s.hasNext();){var o=s.next();as.computeNextCCWEdges(o,n)}}}deleteDangles(){for(var t=this.findNodesOfDegree(1),e=new st,i=new Je,n=t.iterator();n.hasNext();)i.push(n.next());for(;!i.isEmpty();){var r=i.pop();for(as.deleteAllEdges(r),n=r.getOutEdges().getEdges().iterator();n.hasNext();){var s=n.next();s.setMarked(!0);var o=s.getSym();null!==o&&o.setMarked(!0);var a=s.getEdge();e.add(a.getLine());var l=s.getToNode();1===as.getDegreeNonDeleted(l)&&i.push(l)}}return e}getClass(){return as}get interfaces_(){return[]}}as.constructor_=function(){this._factory=null;let t=arguments[0];this._factory=t};class ls{constructor(){ls.constructor_.apply(this,arguments)}static findOuterShells(t){for(var e=t.iterator();e.hasNext();){var i=e.next(),n=i.getOuterHole();null===n||n.isProcessed()||(i.setIncluded(!0),n.setProcessed(!0))}}static extractPolygons(t,e){for(var i=new b,n=t.iterator();n.hasNext();){var r=n.next();(e||r.isIncluded())&&i.add(r.getPolygon())}return i}static assignHolesToShells(t,e){for(var i=t.iterator();i.hasNext();){var n=i.next();ls.assignHoleToShell(n,e)}}static assignHoleToShell(t,e){var i=ss.findEdgeRingContaining(t,e);null!==i&&i.addHole(t)}static findDisjointShells(t){ls.findOuterShells(t);var e=null;do{e=!1;for(var i=t.iterator();i.hasNext();){var n=i.next();n.isIncludedSet()||(n.updateIncluded(),n.isIncludedSet()||(e=!0))}}while(e)}getGeometry(){return null===this._geomFactory&&(this._geomFactory=new oe),this.polygonize(),this._extractOnlyPolygonal?this._geomFactory.buildGeometry(this._polyList):this._geomFactory.createGeometryCollection(oe.toGeometryArray(this._polyList))}getInvalidRingLines(){return this.polygonize(),this._invalidRingLines}findValidRings(t,e,i){for(var n=t.iterator();n.hasNext();){var r=n.next();r.isValid()?e.add(r):i.add(r.getLineString())}}polygonize(){if(null!==this._polyList)return null;if(this._polyList=new b,null===this._graph)return null;this._dangles=this._graph.deleteDangles(),this._cutEdges=this._graph.deleteCutEdges();var t=this._graph.getEdgeRings(),e=new b;this._invalidRingLines=new b,this._isCheckingRingsValid?this.findValidRings(t,e,this._invalidRingLines):e=t,this.findShellsAndHoles(e),ls.assignHolesToShells(this._holeList,this._shellList),Te.sort(this._shellList,new ss.EnvelopeComparator);var i=!0;this._extractOnlyPolygonal&&(ls.findDisjointShells(this._shellList),i=!1),this._polyList=ls.extractPolygons(this._shellList,i)}getDangles(){return this.polygonize(),this._dangles}getCutEdges(){return this.polygonize(),this._cutEdges}getPolygons(){return this.polygonize(),this._polyList}add(){if(I(arguments[0],C))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.add(e)}else if(arguments[0]instanceof Dt){let t=arguments[0];this._geomFactory=t.getFactory(),null===this._graph&&(this._graph=new as(this._geomFactory)),this._graph.addEdge(t)}else arguments[0]instanceof j&&arguments[0].apply(this._lineStringAdder)}setCheckRingsValid(t){this._isCheckingRingsValid=t}findShellsAndHoles(t){this._holeList=new b,this._shellList=new b;for(var e=t.iterator();e.hasNext();){var i=e.next();i.computeHole(),i.isHole()?this._holeList.add(i):this._shellList.add(i)}}getClass(){return ls}get interfaces_(){return[]}}class hs{constructor(){hs.constructor_.apply(this,arguments)}filter(t){t instanceof Dt&&this.p.add(t)}getClass(){return hs}get interfaces_(){return[Y]}}hs.constructor_=function(){this.p=null;let t=arguments[0];this.p=t},ls.LineStringAdder=hs,ls.constructor_=function(){if(this._lineStringAdder=new hs(this),this._graph=null,this._dangles=new b,this._cutEdges=new b,this._invalidRingLines=new b,this._holeList=null,this._shellList=null,this._polyList=null,this._isCheckingRingsValid=!0,this._extractOnlyPolygonal=null,this._geomFactory=null,0===arguments.length)ls.constructor_.call(this,!1);else if(1===arguments.length){let t=arguments[0];this._extractOnlyPolygonal=t}};var cs=Object.freeze({Polygonizer:ls});class us{constructor(){us.constructor_.apply(this,arguments)}createEdgeEndForNext(t,e,i,n){var r=i.segmentIndex+1;if(r>=t.getNumPoints()&&null===n)return null;var s=t.getCoordinate(r);null!==n&&n.segmentIndex===i.segmentIndex&&(s=n.coord);var o=new Qi(t,i.coord,s,new Bi(t.getLabel()));e.add(o)}createEdgeEndForPrev(t,e,i,n){var r=i.segmentIndex;if(0===i.dist){if(0===r)return null;r--}var s=t.getCoordinate(r);null!==n&&n.segmentIndex>=r&&(s=n.coord);var o=new Bi(t.getLabel());o.flip();var a=new Qi(t,i.coord,s,o);e.add(a)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new b,e=n;e.hasNext();){var i=e.next();this.computeEdgeEnds(i,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var r=n.iterator(),s=null,o=null;if(!r.hasNext())return null;var a=r.next();do{s=o,o=a,a=null,r.hasNext()&&(a=r.next()),null!==o&&(this.createEdgeEndForPrev(t,e,o,s),this.createEdgeEndForNext(t,e,o,a))}while(null!==o)}}getClass(){return us}get interfaces_(){return[]}}us.constructor_=function(){};class gs extends Qi{constructor(){super(),gs.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();)e.next().print(t),t.println()}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var i=0,n=!1,r=this.iterator();r.hasNext();)(s=r.next().getLabel().getLocation(t))===pe.BOUNDARY&&i++,s===pe.INTERIOR&&(n=!0);var s=pe.NONE;n&&(s=pe.INTERIOR),i>0&&(s=Vi.determineBoundary(e,i)),this._label.setLocation(t,s)}computeLabelSide(t,e){for(var i=this.iterator();i.hasNext();){var n=i.next();if(n.getLabel().isArea()){var r=n.getLabel().getLocation(t,e);if(r===pe.INTERIOR)return this._label.setLocation(t,e,pe.INTERIOR),null;r===pe.EXTERIOR&&this._label.setLocation(t,e,pe.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,Ei.LEFT),this.computeLabelSide(t,Ei.RIGHT)}updateIM(t){Fi.updateIM(this._label,t)}computeLabel(t){for(var e=!1,i=this.iterator();i.hasNext();)i.next().getLabel().isArea()&&(e=!0);this._label=e?new Bi(pe.NONE,pe.NONE,pe.NONE):new Bi(pe.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return gs}get interfaces_(){return[]}}gs.constructor_=function(){if(this._edgeEnds=new b,1===arguments.length){let t=arguments[0];gs.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];Qi.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new Bi(t.getLabel())),this.insert(t)}};class ds extends ir{constructor(){super(),ds.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();)e.next().updateIM(t)}insert(t){var e=this._edgeMap.get(t);null===e?(e=new gs(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return ds}get interfaces_(){return[]}}ds.constructor_=function(){};class As extends Di{constructor(){super(),As.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return As}get interfaces_(){return[]}}As.constructor_=function(){let t=arguments[0],e=arguments[1];Di.constructor_.call(this,t,e)};class ps extends Ui{constructor(){super(),ps.constructor_.apply(this,arguments)}createNode(t){return new As(t,new ds)}getClass(){return ps}get interfaces_(){return[]}}ps.constructor_=function(){};class fs{constructor(){fs.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var i=e.next();this._nodes.add(i)}}computeProperIntersectionIM(t,e){var i=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),r=t.hasProperIntersection(),s=t.hasProperInteriorIntersection();2===i&&2===n?r&&e.setAtLeast("212101212"):2===i&&1===n?(r&&e.setAtLeast("FFF0FFFF2"),s&&e.setAtLeast("1FFFFF1FF")):1===i&&2===n?(r&&e.setAtLeast("F0FFFFFF2"),s&&e.setAtLeast("1F1FFFFFF")):1===i&&1===n&&s&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var i=this._arg[t].getEdgeIterator();i.hasNext();){var n=i.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,i){if(i.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),i);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,pe.EXTERIOR)}computeIM(){var t=new fe;if(t.set(pe.EXTERIOR,pe.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var i=new us,n=i.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var r=i.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(r),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg)}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var i=e.next();this._nodes.addNode(i.getCoordinate()).setLabel(t,i.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this._nodes.find(s.coord);o.getLabel().isNull(t)&&(n===pe.BOUNDARY?o.setLabelBoundary(t):o.setLabel(t,pe.INTERIOR))}}labelIsolatedNode(t,e){var i=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,i)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this._nodes.addNode(s.coord);n===pe.BOUNDARY?o.setLabelBoundary(t):o.getLabel().isNull(t)&&o.setLabel(t,pe.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),i=e.getLabel();m.isTrue(i.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(i.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();)e.next().updateIM(t);for(var i=this._nodes.iterator();i.hasNext();){var n=i.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(pe.INTERIOR,pe.EXTERIOR,e.getDimension()),t.set(pe.BOUNDARY,pe.EXTERIOR,e.getBoundaryDimension()));var i=this._arg[1].getGeometry();i.isEmpty()||(t.set(pe.EXTERIOR,pe.INTERIOR,i.getDimension()),t.set(pe.EXTERIOR,pe.BOUNDARY,i.getBoundaryDimension()))}getClass(){return fs}get interfaces_(){return[]}}fs.constructor_=function(){this._li=new de,this._ptLocator=new Ii,this._arg=null,this._nodes=new Oi(new ps),this._im=null,this._isolatedEdges=new b,this._invalidPoint=null;let t=arguments[0];this._arg=t};class ms{constructor(){ms.constructor_.apply(this,arguments)}static contains(t,e){return new ms(t).contains(e)}isContainedInBoundary(t){if(t instanceof Ut)return!1;if(t instanceof Qt)return this.isPointContainedInBoundary(t);if(t instanceof Dt)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var r=!1;return e.y>t.y&&(r=!0),r?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return _s}get interfaces_(){return[]}}_s.constructor_=function(){this._li=new de,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new _(t.getMinX(),t.getMinY()),this._diagUp1=new _(t.getMaxX(),t.getMaxY()),this._diagDown0=new _(t.getMinX(),t.getMaxY()),this._diagDown1=new _(t.getMaxX(),t.getMinY())};class ys{constructor(){ys.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return Es}get interfaces_(){return[]}}Es.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class Cs extends ys{constructor(){super(),Cs.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof Ut))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var i=new _,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,i),e.contains(i)&&qe.containsPointInPolygon(i,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return Cs}get interfaces_(){return[]}}Cs.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class vs extends ys{constructor(){super(),vs.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var i=Pe.getLines(t);this.checkIntersectionWithLineStrings(i)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var i=e.next();if(this.checkIntersectionWithSegments(i),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),i=1;i0)&&!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new xs(t,e).getIntersectionMatrix().isCovers())}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return Is.intersects(t,e);if(e.isRectangle())return Is.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var i=0;i0)&&!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?ms.contains(t,e):new xs(t,e).getIntersectionMatrix().isContains())}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return xs}get interfaces_(){return[]}}xs.constructor_=function(){if(this._relate=null,2===arguments.length){let t=arguments[0],e=arguments[1];ts.constructor_.call(this,t,e),this._relate=new fs(this._arg)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];ts.constructor_.call(this,t,e,i),this._relate=new fs(this._arg)}};var ws=Object.freeze({RelateOp:xs});class Ss{constructor(){Ss.constructor_.apply(this,arguments)}static combine(){if(1===arguments.length)return new Ss(arguments[0]).combine();if(2===arguments.length){let t=arguments[0],e=arguments[1];return new Ss(Ss.createList(t,e)).combine()}if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];return new Ss(Ss.createList(t,e,i)).combine()}}static extractFactory(t){return t.isEmpty()?null:t.iterator().next().getFactory()}static createList(){if(2===arguments.length){let e=arguments[0],i=arguments[1];return(t=new b).add(e),t.add(i),t}if(3===arguments.length){let e=arguments[0],i=arguments[1],n=arguments[2];var t;return(t=new b).add(e),t.add(i),t.add(n),t}}extractElements(t,e){if(null===t)return null;for(var i=0;i=t.size()?null:t.get(e)}static union(t){return new Ls(t).union()}reduceToGeometries(t){for(var e=new b,i=t.iterator();i.hasNext();){var n=i.next(),r=null;I(n,x)?r=this.unionTree(n):n instanceof j&&(r=n),e.add(r)}return e}extractByEnvelope(t,e,i){for(var n=new b,r=0;r0){var e=this._geomFact.buildGeometry(this._points);t=this.unionNoOpt(e)}var i=null;if(this._lines.size()>0){var n=this._geomFact.buildGeometry(this._lines);i=this.unionNoOpt(n)}var r=null;this._polygons.size()>0&&(r=Ls.union(this._polygons));var s=this.unionWithNull(i,r),o=null;return null===(o=null===t?s:null===s?t:bs.union(t,s))?this._geomFact.createGeometryCollection():o}getClass(){return Ms}get interfaces_(){return[]}}Ms.constructor_=function(){if(this._polygons=new b,this._lines=new b,this._points=new b,this._geomFact=null,1===arguments.length){if(I(arguments[0],C)){let t=arguments[0];this.extract(t)}else if(arguments[0]instanceof j){let t=arguments[0];this.extract(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._geomFact=e,this.extract(t)}};var Ts=Object.freeze({UnaryUnionOp:Ms});class Rs{constructor(){Rs.constructor_.apply(this,arguments)}static findDifferentPoint(t,e){for(var i=0;i1)return this._invalidPoint=i.getEdge().getCoordinate(0),!0}return!1}isNodeConsistentArea(){var t=this._geomGraph.computeSelfNodes(this._li,!0,!0);return t.hasProperIntersection()?(this._invalidPoint=t.getProperIntersectionPoint(),!1):(this._nodeGraph.build(this._geomGraph),this.isNodeEdgeAreaLabelsConsistent())}getClass(){return Ps}get interfaces_(){return[]}}Ps.constructor_=function(){this._li=new de,this._geomGraph=null,this._nodeGraph=new Ns,this._invalidPoint=null;let t=arguments[0];this._geomGraph=t};class Fs{constructor(){Fs.constructor_.apply(this,arguments)}buildIndex(){this._index=new dn;for(var t=0;t=1&&(e=t.getCoordinateN(0)),this._validErr=new Ds(Ds.RING_NOT_CLOSED,e)}}checkShellsNotNested(t,e){for(var i=0;i=2&&(n=!0),e.edit(t,new Gs(this._targetPM,n))}changePM(t,e){return this.createEditor(t.getFactory(),e).edit(t,new Yt.NoOpGeometryOperation)}setRemoveCollapsedComponents(t){this._removeCollapsed=t}createFactory(t,e){return new oe(e,t.getSRID(),t.getCoordinateSequenceFactory())}setChangePrecisionModel(t){this._changePrecisionModel=t}reduce(t){var e=this.reducePointwise(t);return this._isPointwise?e:I(e,Gt)?Os.isValid(e)?e:this.fixPolygonalTopology(e):e}setPointwise(t){this._isPointwise=t}createEditor(t,e){if(t.getPrecisionModel()===e)return new Yt;var i=this.createFactory(t,e);return new Yt(i)}getClass(){return Us}get interfaces_(){return[]}}Us.constructor_=function(){this._targetPM=null,this._removeCollapsed=!0,this._changePrecisionModel=!1,this._isPointwise=!1;let t=arguments[0];this._targetPM=t};var qs=Object.freeze({GeometryPrecisionReducer:Us});class Vs{constructor(){Vs.constructor_.apply(this,arguments)}static simplify(t,e){var i=new Vs(t);return i.setDistanceTolerance(e),i.simplify()}simplifySection(t,e){if(t+1===e)return null;this._seg.p0=this._pts[t],this._seg.p1=this._pts[e];for(var i=-1,n=t,r=t+1;ri&&(i=s,n=r)}if(i<=this._distanceTolerance)for(r=t+1;r=e[0]&&nthis._distanceTolerance&&(s=!1);var l=new Ae;if(l.p0=this._linePts[t],l.p1=this._linePts[e],n[0]=t,n[1]=e,this.hasBadIntersection(this._line,n,l)&&(s=!1),s)return r=this.flatten(t,e),this._line.addToResult(r),null;this.simplifySection(t,a,i),this.simplifySection(a,e,i)}hasBadOutputIntersection(t){for(var e=this._outputIndex.query(t).iterator();e.hasNext();){var i=e.next();if(this.hasInteriorIntersection(i,t))return!0}return!1}findFurthestPoint(t,e,i,n){var r=new Ae;r.p0=t[e],r.p1=t[i];for(var s=-1,o=e,a=e+1;as&&(s=h,o=a)}return n[0]=s,o}simplify(t){this._line=t,this._linePts=t.getParentCoordinates(),this.simplifySection(0,this._linePts.length-1,0)}remove(t,e,i){for(var n=e;nn&&(o=n),r.setMinimumLength(o),r.splitAt(s),r.getSplitPoint()}getClass(){return ro}get interfaces_(){return[no]}}ro.constructor_=function(){};class so{constructor(){so.constructor_.apply(this,arguments)}static triArea(t,e,i){return(e.x-t.x)*(i.y-t.y)-(e.y-t.y)*(i.x-t.x)}static isInCircleDDNormalized(t,e,i,n){var r=D.valueOf(t.x).selfSubtract(n.x),s=D.valueOf(t.y).selfSubtract(n.y),o=D.valueOf(e.x).selfSubtract(n.x),a=D.valueOf(e.y).selfSubtract(n.y),l=D.valueOf(i.x).selfSubtract(n.x),h=D.valueOf(i.y).selfSubtract(n.y),c=r.multiply(a).selfSubtract(o.multiply(s)),u=o.multiply(h).selfSubtract(l.multiply(a)),g=l.multiply(s).selfSubtract(r.multiply(h)),d=r.multiply(r).selfAdd(s.multiply(s)),A=o.multiply(o).selfAdd(a.multiply(a)),p=l.multiply(l).selfAdd(h.multiply(h));return d.selfMultiply(u).selfAdd(A.selfMultiply(g)).selfAdd(p.selfMultiply(c)).doubleValue()>0}static checkRobustInCircle(t,e,i,n){var r=so.isInCircleNonRobust(t,e,i,n),s=so.isInCircleDDSlow(t,e,i,n),o=so.isInCircleCC(t,e,i,n),a=_e.circumcentre(t,e,i);k.out.println("p radius diff a = "+Math.abs(n.distance(a)-t.distance(a))/t.distance(a)),r===s&&r===o||(k.out.println("inCircle robustness failure (double result = "+r+", DD result = "+s+", CC result = "+o+")"),k.out.println(ue.toLineString(new Kt([t,e,i,n]))),k.out.println("Circumcentre = "+ue.toPoint(a)+" radius = "+t.distance(a)),k.out.println("p radius diff a = "+Math.abs(n.distance(a)/t.distance(a)-1)),k.out.println("p radius diff b = "+Math.abs(n.distance(a)/e.distance(a)-1)),k.out.println("p radius diff c = "+Math.abs(n.distance(a)/i.distance(a)-1)),k.out.println())}static isInCircleDDFast(t,e,i,n){var r=D.sqr(t.x).selfAdd(D.sqr(t.y)).selfMultiply(so.triAreaDDFast(e,i,n)),s=D.sqr(e.x).selfAdd(D.sqr(e.y)).selfMultiply(so.triAreaDDFast(t,i,n)),o=D.sqr(i.x).selfAdd(D.sqr(i.y)).selfMultiply(so.triAreaDDFast(t,e,n)),a=D.sqr(n.x).selfAdd(D.sqr(n.y)).selfMultiply(so.triAreaDDFast(t,e,i));return r.selfSubtract(s).selfAdd(o).selfSubtract(a).doubleValue()>0}static isInCircleCC(t,e,i,n){var r=_e.circumcentre(t,e,i),s=t.distance(r);return n.distance(r)-s<=0}static isInCircleNormalized(t,e,i,n){var r=t.x-n.x,s=t.y-n.y,o=e.x-n.x,a=e.y-n.y,l=i.x-n.x,h=i.y-n.y;return(r*r+s*s)*(o*h-l*a)+(o*o+a*a)*(l*s-r*h)+(l*l+h*h)*(r*a-o*s)>0}static isInCircleDDSlow(t,e,i,n){var r=D.valueOf(n.x),s=D.valueOf(n.y),o=D.valueOf(t.x),a=D.valueOf(t.y),l=D.valueOf(e.x),h=D.valueOf(e.y),c=D.valueOf(i.x),u=D.valueOf(i.y),g=o.multiply(o).add(a.multiply(a)).multiply(so.triAreaDDSlow(l,h,c,u,r,s)),d=l.multiply(l).add(h.multiply(h)).multiply(so.triAreaDDSlow(o,a,c,u,r,s)),A=c.multiply(c).add(u.multiply(u)).multiply(so.triAreaDDSlow(o,a,l,h,r,s)),p=r.multiply(r).add(s.multiply(s)).multiply(so.triAreaDDSlow(o,a,l,h,c,u));return g.subtract(d).add(A).subtract(p).doubleValue()>0}static isInCircleNonRobust(t,e,i,n){return(t.x*t.x+t.y*t.y)*so.triArea(e,i,n)-(e.x*e.x+e.y*e.y)*so.triArea(t,i,n)+(i.x*i.x+i.y*i.y)*so.triArea(t,e,n)-(n.x*n.x+n.y*n.y)*so.triArea(t,e,i)>0}static isInCircleRobust(t,e,i,n){return so.isInCircleNormalized(t,e,i,n)}static triAreaDDSlow(t,e,i,n,r,s){return i.subtract(t).multiply(s.subtract(e)).subtract(n.subtract(e).multiply(r.subtract(t)))}static triAreaDDFast(t,e,i){var n=D.valueOf(e.x).selfSubtract(t.x).selfMultiply(D.valueOf(i.y).selfSubtract(t.y)),r=D.valueOf(e.y).selfSubtract(t.y).selfMultiply(D.valueOf(i.x).selfSubtract(t.x));return n.selfSubtract(r)}getClass(){return so}get interfaces_(){return[]}}so.constructor_=function(){};class oo{constructor(){oo.constructor_.apply(this,arguments)}static interpolateZ(){if(3===arguments.length){let n=arguments[0],r=arguments[1],s=arguments[2];var t=r.distance(s),e=n.distance(r),i=s.z-r.z;return r.z+i*(e/t)}if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],A=arguments[3];var n=e.x,r=e.y,s=i.x-n,o=A.x-n,a=i.y-r,l=A.y-r,h=s*l-o*a,c=t.x-n,u=t.y-r,g=(l*c-o*u)/h,d=(-a*c+s*u)/h;return e.z+g*(i.z-e.z)+d*(A.z-e.z)}}circleCenter(t,e){var i=new oo(this.getX(),this.getY()),n=this.bisector(i,t),r=this.bisector(t,e),s=new G(n,r),o=null;try{o=new oo(s.getX(),s.getY())}catch(n){if(!(n instanceof R))throw n;k.err.println("a: "+i+" b: "+t+" c: "+e),k.err.println(n)}return o}dot(t){return this._p.x*t.getX()+this._p.y*t.getY()}magn(){return Math.sqrt(this._p.x*this._p.x+this._p.y*this._p.y)}getZ(){return this._p.z}bisector(t,e){var i=e.getX()-t.getX(),n=e.getY()-t.getY(),r=new G(t.getX()+i/2,t.getY()+n/2,1),s=new G(t.getX()-n+i/2,t.getY()+i+n/2,1);return new G(r,s)}equals(){if(1===arguments.length){let t=arguments[0];return this._p.x===t.getX()&&this._p.y===t.getY()}if(2===arguments.length){let t=arguments[0],e=arguments[1];return this._p.distance(t.getCoordinate())0}getX(){return this._p.x}crossProduct(t){return this._p.x*t.getY()-this._p.y*t.getX()}setZ(t){this._p.z=t}times(t){return new oo(t*this._p.x,t*this._p.y)}cross(){return new oo(this._p.y,-this._p.x)}leftOf(t){return this.isCCW(t.orig(),t.dest())}toString(){return"POINT ("+this._p.x+" "+this._p.y+")"}sub(t){return new oo(this._p.x-t.getX(),this._p.y-t.getY())}getY(){return this._p.y}classify(t,e){var i=e.sub(t),n=this.sub(t),r=i.crossProduct(n);return r>0?oo.LEFT:r<0?oo.RIGHT:i.getX()*n.getX()<0||i.getY()*n.getY()<0?oo.BEHIND:i.magn()0};class co{constructor(){co.constructor_.apply(this,arguments)}locate(t){}getClass(){return co}get interfaces_(){return[]}}co.constructor_=function(){};class uo{constructor(){uo.constructor_.apply(this,arguments)}init(){this._lastEdge=this.findEdge()}locate(t){this._lastEdge.isLive()||this.init();var e=this._subdiv.locateFromEdge(t,this._lastEdge);return this._lastEdge=e,e}findEdge(){return this._subdiv.getEdges().iterator().next()}getClass(){return uo}get interfaces_(){return[co]}}uo.constructor_=function(){this._subdiv=null,this._lastEdge=null;let t=arguments[0];this._subdiv=t,this.init()};class go extends p{constructor(){super(),go.constructor_.apply(this,arguments)}static msgWithSpatial(t,e){return null!==e?t+" [ "+e+" ]":t}getSegment(){return this._seg}getClass(){return go}get interfaces_(){return[]}}go.constructor_=function(){if(this._seg=null,1===arguments.length){if("string"==typeof arguments[0]){let t=arguments[0];p.constructor_.call(this,t)}else if(arguments[0]instanceof Ae){let t=arguments[0];p.constructor_.call(this,"Locate failed to converge (at edge: "+t+"). Possible causes include invalid Subdivision topology or very close sites"),this._seg=new Ae(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];p.constructor_.call(this,go.msgWithSpatial(t,e)),this._seg=new Ae(e)}};class Ao{constructor(){Ao.constructor_.apply(this,arguments)}visit(t){}getClass(){return Ao}get interfaces_(){return[]}}Ao.constructor_=function(){};class po{constructor(){po.constructor_.apply(this,arguments)}static getTriangleEdges(t,e){if(e[0]=t,e[1]=e[0].lNext(),e[2]=e[1].lNext(),e[2].lNext()!==e[0])throw new i("Edges do not form a triangle")}getTriangleVertices(t){var e=new _o;return this.visitTriangles(e,t),e.getTriangleVertices()}isFrameVertex(t){return!!t.equals(this._frameVertex[0])||!!t.equals(this._frameVertex[1])||!!t.equals(this._frameVertex[2])}isVertexOfEdge(t,e){return!(!e.equals(t.orig(),this._tolerance)&&!e.equals(t.dest(),this._tolerance))}connect(t,e){var i=lo.connect(t,e);return this._quadEdges.add(i),i}getVoronoiCellPolygon(t,e){var i=new b,n=t;do{var r=t.rot().orig().getCoordinate();i.add(r),t=t.oPrev()}while(t!==n);var s=new L;s.addAll(i,!1),s.closeRing(),s.size()<4&&(k.out.println(s),s.add(s.get(s.size()-1),!0));var o=s.toCoordinateArray(),a=e.createPolygon(e.createLinearRing(o)),l=n.orig();return a.setUserData(l.getCoordinate()),a}setLocator(t){this._locator=t}initSubdiv(){var t=this.makeEdge(this._frameVertex[0],this._frameVertex[1]),e=this.makeEdge(this._frameVertex[1],this._frameVertex[2]);lo.splice(t.sym(),e);var i=this.makeEdge(this._frameVertex[2],this._frameVertex[0]);return lo.splice(e.sym(),i),lo.splice(i.sym(),t),t}isFrameBorderEdge(t){var e=new Array(3).fill(null);po.getTriangleEdges(t,e);var i=new Array(3).fill(null);po.getTriangleEdges(t.sym(),i);var n=t.lNext().dest();if(this.isFrameVertex(n))return!0;var r=t.sym().lNext().dest();return!!this.isFrameVertex(r)}makeEdge(t,e){var i=lo.makeEdge(t,e);return this._quadEdges.add(i),i}visitTriangles(t,e){this._visitedKey++;var i=new Je;i.push(this._startingEdge);for(var n=new st;!i.empty();){var r=i.pop();if(!n.contains(r)){var s=this.fetchTriangleToVisit(r,i,e,n);null!==s&&t.visit(s)}}}isFrameEdge(t){return!(!this.isFrameVertex(t.orig())&&!this.isFrameVertex(t.dest()))}isOnEdge(t,e){return this._seg.setCoordinates(t.orig().getCoordinate(),t.dest().getCoordinate()),this._seg.distance(e)i?10*e:10*i,this._frameVertex[0]=new oo((t.getMaxX()+t.getMinX())/2,t.getMaxY()+n),this._frameVertex[1]=new oo(t.getMinX()-n,t.getMinY()-n),this._frameVertex[2]=new oo(t.getMaxX()+n,t.getMinY()-n),this._frameEnv=new M(this._frameVertex[0].getCoordinate(),this._frameVertex[1].getCoordinate()),this._frameEnv.expandToInclude(this._frameVertex[2].getCoordinate())}getTriangleCoordinates(t){var e=new yo;return this.visitTriangles(e,t),e.getTriangles()}getVertices(t){for(var e=new st,i=this._quadEdges.iterator();i.hasNext();){var n=i.next(),r=n.orig();!t&&this.isFrameVertex(r)||e.add(r);var s=n.dest();!t&&this.isFrameVertex(s)||e.add(s)}return e}fetchTriangleToVisit(t,e,i,n){var r=t,s=0,o=!1;do{this._triEdges[s]=r,this.isFrameEdge(r)&&(o=!0);var a=r.sym();n.contains(a)||e.push(a),n.add(r),s++,r=r.lNext()}while(r!==t);return o&&!i?null:this._triEdges}getEdges(){if(0===arguments.length)return this._quadEdges;if(1===arguments.length){let s=arguments[0];for(var t=this.getPrimaryEdges(!1),e=new Array(t.size()).fill(null),i=0,n=t.iterator();n.hasNext();){var r=n.next();e[i++]=s.createLineString([r.orig().getCoordinate(),r.dest().getCoordinate()])}return s.createMultiLineString(e)}}getVertexUniqueEdges(t){for(var e=new b,i=new st,n=this._quadEdges.iterator();n.hasNext();){var r=n.next(),s=r.orig();i.contains(s)||(i.add(s),!t&&this.isFrameVertex(s)||e.add(r));var o=r.sym(),a=o.orig();i.contains(a)||(i.add(a),!t&&this.isFrameVertex(a)||e.add(o))}return e}getTriangleEdges(t){var e=new mo;return this.visitTriangles(e,t),e.getTriangleEdges()}getPrimaryEdges(t){this._visitedKey++;var e=new b,i=new Je;i.push(this._startingEdge);for(var n=new st;!i.empty();){var r=i.pop();if(!n.contains(r)){var s=r.getPrimary();!t&&this.isFrameEdge(s)||e.add(s),i.push(r.oNext()),i.push(r.sym().oNext()),n.add(r),n.add(r.sym())}}return e}delete(t){lo.splice(t,t.oPrev()),lo.splice(t.sym(),t.sym().oPrev());var e=t.sym(),i=t.rot(),n=t.rot().sym();this._quadEdges.remove(t),this._quadEdges.remove(e),this._quadEdges.remove(i),this._quadEdges.remove(n),t.delete(),e.delete(),i.delete(),n.delete()}locateFromEdge(t,e){for(var i=0,n=this._quadEdges.size(),r=e;;){if(++i>n)throw new go(r.toLineSegment());if(t.equals(r.orig())||t.equals(r.dest()))break;if(t.rightOf(r))r=r.sym();else if(t.rightOf(r.oNext())){if(t.rightOf(r.dPrev()))break;r=r.dPrev()}else r=r.oNext()}return r}getTolerance(){return this._tolerance}getVoronoiCellPolygons(t){this.visitTriangles(new fo,!0);for(var e=new b,i=this.getVertexUniqueEdges(!1).iterator();i.hasNext();){var n=i.next();e.add(this.getVoronoiCellPolygon(n,t))}return e}getVoronoiDiagram(t){var e=this.getVoronoiCellPolygons(t);return t.createGeometryCollection(oe.toGeometryArray(e))}getTriangles(t){for(var e=this.getTriangleCoordinates(!1),i=new Array(e.size()).fill(null),n=0,r=e.iterator();r.hasNext();){var s=r.next();i[n++]=t.createPolygon(t.createLinearRing(s))}return t.createGeometryCollection(i)}insertSite(t){var e=this.locate(t);if(t.equals(e.orig(),this._tolerance)||t.equals(e.dest(),this._tolerance))return e;var i=this.makeEdge(e.orig(),t);lo.splice(i,e);var n=i;do{e=(i=this.connect(e,i.sym())).oPrev()}while(e.lNext()!==n);return n}locate(){if(1===arguments.length){if(arguments[0]instanceof oo){let t=arguments[0];return this._locator.locate(t)}if(arguments[0]instanceof _){let t=arguments[0];return this._locator.locate(new oo(t))}}else if(2===arguments.length){let n=arguments[0],r=arguments[1];var t=this._locator.locate(new oo(n));if(null===t)return null;var e=t;t.dest().getCoordinate().equals2D(n)&&(e=t.sym());var i=e;do{if(i.dest().getCoordinate().equals2D(r))return i;i=i.oNext()}while(i!==e);return null}}getClass(){return po}get interfaces_(){return[]}}class fo{constructor(){fo.constructor_.apply(this,arguments)}visit(t){for(var e=t[0].orig().getCoordinate(),i=t[1].orig().getCoordinate(),n=t[2].orig().getCoordinate(),r=_e.circumcentre(e,i,n),s=new oo(r),o=0;o<3;o++)t[o].rot().setOrig(s)}getClass(){return fo}get interfaces_(){return[Ao]}}fo.constructor_=function(){};class mo{constructor(){mo.constructor_.apply(this,arguments)}getTriangleEdges(){return this._triList}visit(t){this._triList.add(t)}getClass(){return mo}get interfaces_(){return[Ao]}}mo.constructor_=function(){this._triList=new b};class _o{constructor(){_o.constructor_.apply(this,arguments)}visit(t){this._triList.add([t[0].orig(),t[1].orig(),t[2].orig()])}getTriangleVertices(){return this._triList}getClass(){return _o}get interfaces_(){return[Ao]}}_o.constructor_=function(){this._triList=new b};class yo{constructor(){yo.constructor_.apply(this,arguments)}checkTriangleSize(t){t.length>=2?ue.toLineString(t[0],t[1]):t.length>=1&&ue.toPoint(t[0])}visit(t){this._coordList.clear();for(var e=0;e<3;e++){var i=t[e].orig();this._coordList.add(i.getCoordinate())}if(this._coordList.size()>0){this._coordList.closeRing();var n=this._coordList.toCoordinateArray();if(4!==n.length)return null;this._triCoords.add(n)}}getTriangles(){return this._triCoords}getClass(){return yo}get interfaces_(){return[Ao]}}yo.constructor_=function(){this._coordList=new L,this._triCoords=new b},po.TriangleCircumcentreVisitor=fo,po.TriangleEdgesListVisitor=mo,po.TriangleVertexListVisitor=_o,po.TriangleCoordinatesVisitor=yo,po.constructor_=function(){this._visitedKey=0,this._quadEdges=new b,this._startingEdge=null,this._tolerance=null,this._edgeCoincidenceTolerance=null,this._frameVertex=new Array(3).fill(null),this._frameEnv=null,this._locator=null,this._seg=new Ae,this._triEdges=new Array(3).fill(null);let t=arguments[0],e=arguments[1];this._tolerance=e,this._edgeCoincidenceTolerance=e/po.EDGE_COINCIDENCE_TOL_FACTOR,this.createFrame(t),this._startingEdge=this.initSubdiv(),this._locator=new uo(this)},po.EDGE_COINCIDENCE_TOL_FACTOR=1e3;class Io{constructor(){Io.constructor_.apply(this,arguments)}getLineSegment(){return this._ls}getEndZ(){return this._ls.getCoordinate(1).z}getStartZ(){return this._ls.getCoordinate(0).z}intersection(t){return this._ls.intersection(t.getLineSegment())}getStart(){return this._ls.getCoordinate(0)}getEnd(){return this._ls.getCoordinate(1)}getEndY(){return this._ls.getCoordinate(1).y}getStartX(){return this._ls.getCoordinate(0).x}equalsTopo(t){return this._ls.equalsTopo(t.getLineSegment())}getStartY(){return this._ls.getCoordinate(0).y}setData(t){this._data=t}getData(){return this._data}getEndX(){return this._ls.getCoordinate(1).x}toString(){return this._ls.toString()}getClass(){return Io}get interfaces_(){return[]}}Io.constructor_=function(){if(this._ls=null,this._data=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._ls=new Ae(t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._ls=new Ae(t,e),this._data=i}else if(6===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3],r=arguments[4],s=arguments[5];Io.constructor_.call(this,new _(t,e,i),new _(n,r,s))}else if(7===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3],r=arguments[4],s=arguments[5],o=arguments[6];Io.constructor_.call(this,new _(t,e,i),new _(n,r,s),o)}};class Eo{constructor(){Eo.constructor_.apply(this,arguments)}static computeVertexEnvelope(t){for(var e=new M,i=t.iterator();i.hasNext();){var n=i.next();e.expandToInclude(n.getCoordinate())}return e}getInitialVertices(){return this._initialVertices}getKDT(){return this._kdt}enforceConstraints(){this.addConstraintVertices();var t=0,e=0;do{e=this.enforceGabriel(this._segments),t++}while(e>0&&t=1)return e;var n=(e.x-t.x)*i+t.x,r=(e.y-t.y)*i+t.y,s=(e.z-t.z)*i+t.z;return new _(n,r,s)}static compareLocationValues(t,e,i,n,r,s){return tn?1:er?1:is?1:0}getSegmentIndex(){return this._segmentIndex}getComponentIndex(){return this._componentIndex}isEndpoint(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex>=e||this._segmentIndex===e&&this._segmentFraction>=1}isValid(t){if(this._componentIndex<0||this._componentIndex>=t.getNumGeometries())return!1;var e=t.getGeometryN(this._componentIndex);return!(this._segmentIndex<0||this._segmentIndex>e.getNumPoints()||this._segmentIndex===e.getNumPoints()&&0!==this._segmentFraction||this._segmentFraction<0||this._segmentFraction>1)}normalize(){this._segmentFraction<0&&(this._segmentFraction=0),this._segmentFraction>1&&(this._segmentFraction=1),this._componentIndex<0&&(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0),this._segmentIndex<0&&(this._segmentIndex=0,this._segmentFraction=0),1===this._segmentFraction&&(this._segmentFraction=0,this._segmentIndex+=1)}toLowest(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex=e.getNumPoints()-1)return i;var n=e.getCoordinateN(this._segmentIndex+1);return bo.pointAlongSegmentByFraction(i,n,this._segmentFraction)}getSegmentFraction(){return this._segmentFraction}getSegment(t){var e=t.getGeometryN(this._componentIndex),i=e.getCoordinateN(this._segmentIndex);if(this._segmentIndex>=e.getNumPoints()-1){var n=e.getCoordinateN(e.getNumPoints()-2);return new Ae(n,i)}var r=e.getCoordinateN(this._segmentIndex+1);return new Ae(i,r)}clamp(t){if(this._componentIndex>=t.getNumGeometries())return this.setToEnd(t),null;if(this._segmentIndex>=t.getNumPoints()){var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}}setToEnd(t){this._componentIndex=t.getNumGeometries()-1;var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}compareTo(t){var e=t;return this._componentIndexe._componentIndex?1:this._segmentIndexe._segmentIndex?1:this._segmentFractione._segmentFraction?1:0}copy(){return new bo(this._componentIndex,this._segmentIndex,this._segmentFraction)}toString(){return"LinearLoc["+this._componentIndex+", "+this._segmentIndex+", "+this._segmentFraction+"]"}isOnSameSegment(t){return this._componentIndex===t._componentIndex&&(this._segmentIndex===t._segmentIndex||t._segmentIndex-this._segmentIndex==1&&0===t._segmentFraction||this._segmentIndex-t._segmentIndex==1&&0===this._segmentFraction)}snapToVertex(t,e){if(this._segmentFraction<=0||this._segmentFraction>=1)return null;var i=this.getSegmentLength(t),n=this._segmentFraction*i,r=i-n;n<=r&&nt?1:this._segmentIndexe?1:this._segmentFractioni?1:0}getSegmentLength(t){var e=t.getGeometryN(this._componentIndex),i=this._segmentIndex;this._segmentIndex>=e.getNumPoints()-1&&(i=e.getNumPoints()-2);var n=e.getCoordinateN(i),r=e.getCoordinateN(i+1);return n.distance(r)}isVertex(){return this._segmentFraction<=0||this._segmentFraction>=1}getClass(){return bo}get interfaces_(){return[u]}}bo.constructor_=function(){if(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._componentIndex=t._componentIndex,this._segmentIndex=t._segmentIndex,this._segmentFraction=t._segmentFraction}else if(2===arguments.length){let t=arguments[0],e=arguments[1];bo.constructor_.call(this,0,t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=i,this.normalize()}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=i,n&&this.normalize()}};class Bo{constructor(){Bo.constructor_.apply(this,arguments)}static segmentEndVertexIndex(t){return t.getSegmentFraction()>0?t.getSegmentIndex()+1:t.getSegmentIndex()}getComponentIndex(){return this._componentIndex}getLine(){return this._currentLine}getVertexIndex(){return this._vertexIndex}getSegmentEnd(){return this._vertexIndex=this._currentLine.getNumPoints()&&(this._componentIndex++,this.loadCurrentLine(),this._vertexIndex=0)}loadCurrentLine(){if(this._componentIndex>=this._numLines)return this._currentLine=null,null;this._currentLine=this._linearGeom.getGeometryN(this._componentIndex)}getSegmentStart(){return this._currentLine.getCoordinateN(this._vertexIndex)}isEndOfLine(){return!(this._componentIndex>=this._numLines||this._vertexIndex=this._numLines||this._componentIndex===this._numLines-1&&this._vertexIndex>=this._currentLine.getNumPoints())}getClass(){return Bo}get interfaces_(){return[]}}Bo.constructor_=function(){if(this._linearGeom=null,this._numLines=null,this._currentLine=null,this._componentIndex=0,this._vertexIndex=0,1===arguments.length){let t=arguments[0];Bo.constructor_.call(this,t,0,0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Bo.constructor_.call(this,t,e.getComponentIndex(),Bo.segmentEndVertexIndex(e))}else if(3===arguments.length){let t=arguments[0],e=arguments[1],n=arguments[2];if(!I(t,At))throw new i("Lineal geometry is required");this._linearGeom=t,this._numLines=t.getNumGeometries(),this._componentIndex=e,this._vertexIndex=n,this.loadCurrentLine()}};class Lo{constructor(){Lo.constructor_.apply(this,arguments)}static indexOf(t,e){return new Lo(t).indexOf(e)}static indexOfAfter(t,e,i){return new Lo(t).indexOfAfter(e,i)}indexOf(t){return this.indexOfFromStart(t,null)}indexOfFromStart(t,e){for(var i=r.MAX_VALUE,n=0,s=0,o=-1,a=new Ae,l=new Bo(this._linearGeom);l.hasNext();l.next())if(!l.isEndOfLine()){a.p0=l.getSegmentStart(),a.p1=l.getSegmentEnd();var h=a.distance(t),c=a.segmentFraction(t),u=l.getComponentIndex(),g=l.getVertexIndex();h=0,"computed location is before specified minimum location"),n}getClass(){return Lo}get interfaces_(){return[]}}Lo.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class Mo{constructor(){Mo.constructor_.apply(this,arguments)}static indicesOf(t,e){return new Mo(t).indicesOf(e)}indicesOf(t){var e=t.getGeometryN(0).getCoordinateN(0),i=t.getGeometryN(t.getNumGeometries()-1),n=i.getCoordinateN(i.getNumPoints()-1),r=new Lo(this._linearGeom),s=new Array(2).fill(null);return s[0]=r.indexOf(e),0===t.getLength()?s[1]=s[0].copy():s[1]=r.indexOfAfter(n,s[0]),s}getClass(){return Mo}get interfaces_(){return[]}}Mo.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class To{constructor(){To.constructor_.apply(this,arguments)}getGeometry(){return this.endLine(),this._geomFact.buildGeometry(this._lines)}getLastCoordinate(){return this._lastPt}endLine(){if(null===this._coordList)return null;if(this._ignoreInvalidLines&&this._coordList.size()<2)return this._coordList=null,null;var t=this._coordList.toCoordinateArray(),e=t;this._fixInvalidLines&&(e=this.validCoordinateSequence(t)),this._coordList=null;var n=null;try{n=this._geomFact.createLineString(e)}catch(t){if(!(t instanceof i))throw t;if(!this._ignoreInvalidLines)throw t}null!==n&&this._lines.add(n)}setFixInvalidLines(t){this._fixInvalidLines=t}add(){if(1===arguments.length){let t=arguments[0];this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];null===this._coordList&&(this._coordList=new L),this._coordList.add(t,e),this._lastPt=t}}setIgnoreInvalidLines(t){this._ignoreInvalidLines=t}validCoordinateSequence(t){return t.length>=2?t:[t[0],t[0]]}getClass(){return To}get interfaces_(){return[]}}To.constructor_=function(){this._geomFact=null,this._lines=new b,this._coordList=null,this._ignoreInvalidLines=!1,this._fixInvalidLines=!1,this._lastPt=null;let t=arguments[0];this._geomFact=t};class Ro{constructor(){Ro.constructor_.apply(this,arguments)}static extract(t,e,i){return new Ro(t).extract(e,i)}computeLinear(t,e){var i=new To(this._line.getFactory());i.setFixInvalidLines(!0),t.isVertex()||i.add(t.getCoordinate(this._line));for(var n=new Bo(this._line,t);n.hasNext()&&!(e.compareLocationValues(n.getComponentIndex(),n.getVertexIndex(),0)<0);n.next()){var r=n.getSegmentStart();i.add(r),n.isEndOfLine()&&i.endLine()}return e.isVertex()||i.add(e.getCoordinate(this._line)),i.getGeometry()}computeLine(t,e){var i=this._line.getCoordinates(),n=new L,r=t.getSegmentIndex();t.getSegmentFraction()>0&&(r+=1);var s=e.getSegmentIndex();1===e.getSegmentFraction()&&(s+=1),s>=i.length&&(s=i.length-1),t.isVertex()||n.add(t.getCoordinate(this._line));for(var o=r;o<=s;o++)n.add(i[o]);e.isVertex()||n.add(e.getCoordinate(this._line)),n.size()<=0&&n.add(t.getCoordinate(this._line));var a=n.toCoordinateArray();return a.length<=1&&(a=[a[0],a[0]]),this._line.getFactory().createLineString(a)}extract(t,e){return e.compareTo(t)<0?this.reverse(this.computeLinear(e,t)):this.computeLinear(t,e)}reverse(t){return t instanceof Dt||t instanceof xt?t.reverse():(m.shouldNeverReachHere("non-linear geometry encountered"),null)}getClass(){return Ro}get interfaces_(){return[]}}Ro.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class No{constructor(){No.constructor_.apply(this,arguments)}clampIndex(t){var e=t.copy();return e.clamp(this._linearGeom),e}project(t){return Lo.indexOf(this._linearGeom,t)}checkGeometryType(){if(!(this._linearGeom instanceof Dt||this._linearGeom instanceof xt))throw new i("Input geometry must be linear")}extractPoint(){if(1===arguments.length)return arguments[0].getCoordinate(this._linearGeom);if(2===arguments.length){let e=arguments[1];var t=arguments[0].toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),e)}}isValidIndex(t){return t.isValid(this._linearGeom)}getEndIndex(){return bo.getEndLocation(this._linearGeom)}getStartIndex(){return new bo}indexOfAfter(t,e){return Lo.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){return Ro.extract(this._linearGeom,t,e)}indexOf(t){return Lo.indexOf(this._linearGeom,t)}indicesOf(t){return Mo.indicesOf(this._linearGeom,t)}getClass(){return No}get interfaces_(){return[]}}No.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t,this.checkGeometryType()};class Po{constructor(){Po.constructor_.apply(this,arguments)}static indexOf(t,e){return new Po(t).indexOf(e)}static indexOfAfter(t,e,i){return new Po(t).indexOfAfter(e,i)}indexOf(t){return this.indexOfFromStart(t,-1)}indexOfFromStart(t,e){for(var i=r.MAX_VALUE,n=e,s=0,o=new Ae,a=new Bo(this._linearGeom);a.hasNext();){if(!a.isEndOfLine()){o.p0=a.getSegmentStart(),o.p1=a.getSegmentEnd();var l=o.distance(t),h=this.segmentNearestMeasure(o,t,s);le&&(n=h,i=l),s+=o.getLength()}a.next()}return n}indexOfAfter(t,e){if(e<0)return this.indexOf(t);var i=this._linearGeom.getLength();if(i=e,"computed index is before specified minimum index"),n}segmentNearestMeasure(t,e,i){var n=t.projectionFactor(e);return n<=0?i:n<=1?i+n*t.getLength():i+t.getLength()}getClass(){return Po}get interfaces_(){return[]}}Po.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class Fo{constructor(){Fo.constructor_.apply(this,arguments)}static getLength(t,e){return new Fo(t).getLength(e)}static getLocation(){if(2===arguments.length){let t=arguments[1];return new Fo(arguments[0]).getLocation(t)}if(3===arguments.length){let t=arguments[1],e=arguments[2];return new Fo(arguments[0]).getLocation(t,e)}}getLength(t){for(var e=0,i=new Bo(this._linearGeom);i.hasNext();){if(!i.isEndOfLine()){var n=i.getSegmentStart(),r=i.getSegmentEnd().distance(n);if(t.getComponentIndex()===i.getComponentIndex()&&t.getSegmentIndex()===i.getVertexIndex())return e+r*t.getSegmentFraction();e+=r}i.next()}return e}resolveHigher(t){if(!t.isEndpoint(this._linearGeom))return t;var e=t.getComponentIndex();if(e>=this._linearGeom.getNumGeometries()-1)return t;do{e++}while(et){var a=(t-e)/o;return n=i.getComponentIndex(),r=i.getVertexIndex(),new bo(n,r,a)}e+=o}i.next()}return bo.getEndLocation(this._linearGeom)}getClass(){return Fo}get interfaces_(){return[]}}Fo.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class Do{constructor(){Do.constructor_.apply(this,arguments)}clampIndex(t){var e=this.positiveIndex(t),i=this.getStartIndex();if(en?n:e}locationOf(){if(1===arguments.length){let t=arguments[0];return Fo.getLocation(this._linearGeom,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Fo.getLocation(this._linearGeom,t,e)}}project(t){return Po.indexOf(this._linearGeom,t)}positiveIndex(t){return t>=0?t:this._linearGeom.getLength()+t}extractPoint(){if(1===arguments.length){let t=arguments[0];return Fo.getLocation(this._linearGeom,t).getCoordinate(this._linearGeom)}if(2===arguments.length){let e=arguments[0],i=arguments[1];var t=Fo.getLocation(this._linearGeom,e).toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),i)}}isValidIndex(t){return t>=this.getStartIndex()&&t<=this.getEndIndex()}getEndIndex(){return this._linearGeom.getLength()}getStartIndex(){return 0}indexOfAfter(t,e){return Po.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){new No(this._linearGeom);var i=this.clampIndex(t),n=this.clampIndex(e),r=i===n,s=this.locationOf(i,r),o=this.locationOf(n);return Ro.extract(this._linearGeom,s,o)}indexOf(t){return Po.indexOf(this._linearGeom,t)}indicesOf(t){var e=Mo.indicesOf(this._linearGeom,t);return[Fo.getLength(this._linearGeom,e[0]),Fo.getLength(this._linearGeom,e[1])]}getClass(){return Do}get interfaces_(){return[]}}Do.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};var Oo=Object.freeze({LengthIndexedLine:Do,LengthLocationMap:Fo,LinearGeometryBuilder:To,LinearIterator:Bo,LinearLocation:bo,LocationIndexedLine:No});class Qo{get interfaces_(){return[]}getClass(){return Qo}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return es.createEmptyResult(es.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),$r.overlayOp(t,e,es.UNION)}}j.prototype.equalsTopo=function(t){return!!this.getEnvelopeInternal().equals(t.getEnvelopeInternal())&&xs.relate(this,t).isEquals(this.getDimension(),t.getDimension())},j.prototype.union=function(){if(0===arguments.length)return Ms.union(this);if(1===arguments.length){let t=arguments[0];return Qo.union(this,t)}},j.prototype.isValid=function(){return Os.isValid(this)},j.prototype.intersection=function(t){if(this.isEmpty()||t.isEmpty())return es.createEmptyResult(es.INTERSECTION,this,t,this._factory);if(this.isGeometryCollection()){var e=t;return qr.map(this,{interfaces_:[MapOp],map:function(t){return t.intersection(e)}})}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$r.overlayOp(this,t,es.INTERSECTION)},j.prototype.covers=function(t){return xs.covers(this,t)},j.prototype.coveredBy=function(t){return xs.covers(t,this)},j.prototype.touches=function(t){return xs.touches(this,t)},j.prototype.intersects=function(t){return xs.intersects(this,t)},j.prototype.within=function(t){return xs.contains(t,this)},j.prototype.overlaps=function(t){return xs.overlaps(this,t)},j.prototype.disjoint=function(t){return xs.disjoint(this,t)},j.prototype.crosses=function(t){return xs.crosses(this,t)},j.prototype.buffer=function(){if(1===arguments.length){let t=arguments[0];return mr.bufferOp(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return mr.bufferOp(this,t,e)}if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];return mr.bufferOp(this,t,e,i)}},j.prototype.convexHull=function(){return new $e(this).getConvexHull()},j.prototype.relate=function(...t){if(1===arguments.length){let t=arguments[0];return xs.relate(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return xs.relate(this,t).matches(e)}},j.prototype.getCentroid=function(){if(this.isEmpty())return this._factory.createPoint();var t=We.getCentroid(this);return this.createPointFromInternalCoord(t,this)},j.prototype.getInteriorPoint=function(){if(this.isEmpty())return this._factory.createPoint();var t=null,e=this.getDimension();return t=0===e?new ri(this).getInteriorPoint():1===e?new ni(this).getInteriorPoint():new ei(this).getInteriorPoint(),this.createPointFromInternalCoord(t,this)},j.prototype.symDifference=function(t){if(this.isEmpty()||t.isEmpty()){if(this.isEmpty()&&t.isEmpty())return es.createEmptyResult(es.SYMDIFFERENCE,this,t,this._factory);if(this.isEmpty())return t.copy();if(t.isEmpty())return this.copy()}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$r.overlayOp(this,t,es.SYMDIFFERENCE)},j.prototype.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},j.prototype.toText=function(){return(new ue).write(this)},j.prototype.toString=function(){this.toText()},j.prototype.contains=function(t){return xs.contains(this,t)},j.prototype.difference=function(t){return this.isEmpty()?es.createEmptyResult(es.DIFFERENCE,this,t,this._factory):t.isEmpty()?this.copy():(this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$r.overlayOp(this,t,es.DIFFERENCE))},j.prototype.isSimple=function(){return new kn(this).isSimple()},j.prototype.isWithinDistance=function(t,e){return!(this.getEnvelopeInternal().distance(t.getEnvelopeInternal())>e)&&vr.isWithinDistance(this,t,e)},j.prototype.distance=function(t){return vr.distance(this,t)},j.prototype.isEquivalentClass=function(t){return this.getClass()===t.getClass()},t.version="2.0.2 (f363091)",t.algorithm=ai,t.densify=ui,t.dissolve=yi,t.geom=ye,t.geomgraph=zi,t.index=fn,t.io=Cn,t.noding=Qn,t.operation=ks,t.precision=qs,t.simplify=eo,t.triangulate=So,t.linearref=Oo,Object.defineProperty(t,"__esModule",{value:!0})}(e)},197:(t,e)=>{var i,n,r,s,o,a,l,h,c,u,g,d,A; +/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */n={defaultNoDataValue:-34027999387901484e22,decode:function(t,e){var i=(e=e||{}).encodedMaskData||null===e.encodedMaskData,l=a(t,e.inputOffset||0,i),h=null!==e.noDataValue?e.noDataValue:n.defaultNoDataValue,c=r(l,e.pixelType||Float32Array,e.encodedMaskData,h,e.returnMask),u={width:l.width,height:l.height,pixelData:c.resultPixels,minValue:c.minValue,maxValue:l.pixels.maxValue,noDataValue:h};return c.resultMask&&(u.maskData=c.resultMask),e.returnEncodedMask&&l.mask&&(u.encodedMaskData=l.mask.bitset?l.mask.bitset:null),e.returnFileInfo&&(u.fileInfo=s(l),e.computeUsedBitDepths&&(u.fileInfo.bitDepths=o(l))),u}},r=function(t,e,i,n,r){var s,o,a,h=0,c=t.pixels.numBlocksX,u=t.pixels.numBlocksY,g=Math.floor(t.width/c),d=Math.floor(t.height/u),A=2*t.maxZError,p=Number.MAX_VALUE;i=i||(t.mask?t.mask.bitset:null),o=new e(t.width*t.height),r&&i&&(a=new Uint8Array(t.width*t.height));for(var f,m,_=new Float32Array(g*d),y=0;y<=u;y++){var I=y!==u?d:t.height%u;if(0!==I)for(var E=0;E<=c;E++){var C=E!==c?g:t.width%c;if(0!==C){var v,x,w,S,b=y*t.width*d+E*g,B=t.width-C,L=t.pixels.blocks[h];if(L.encoding<2?(0===L.encoding?v=L.rawData:(l(L.stuffedData,L.bitsPerPixel,L.numValidPixels,L.offset,A,_,t.pixels.maxValue),v=_),x=0):w=2===L.encoding?0:L.offset,i)for(m=0;m>3],S<<=7&b),f=0;f>3]),128&S?(a&&(a[b]=1),p=p>(s=L.encoding<2?v[x++]:w)?s:p,o[b++]=s):(a&&(a[b]=0),o[b++]=n),S<<=1;b+=B}else if(L.encoding<2)for(m=0;m(s=v[x++])?s:p,o[b++]=s;b+=B}else for(p=p>w?w:p,m=0;m0){var o=new Uint8Array(Math.ceil(n.width*n.height/8)),a=(s=new DataView(t,e,n.mask.numBytes)).getInt16(0,!0),l=2,h=0;do{if(a>0)for(;a--;)o[h++]=s.getUint8(l++);else{var c=s.getUint8(l++);for(a=-a;a--;)o[h++]=c}a=s.getInt16(l,!0),l+=2}while(l0?1:0),A=g+(n.height%g>0?1:0);n.pixels.blocks=new Array(d*A);for(var p=0,f=0;f3)throw"Invalid block encoding ("+I.encoding+")";if(2!==I.encoding){if(0!==E&&2!==E){if(E>>=6,I.offsetType=E,2===E)I.offset=s.getInt8(1),_++;else if(1===E)I.offset=s.getInt16(1,!0),_+=2;else{if(0!==E)throw"Invalid block offset type";I.offset=s.getFloat32(1,!0),_+=4}if(1===I.encoding)if(E=s.getUint8(_),_++,I.bitsPerPixel=63&E,E>>=6,I.numValidPixelsType=E,2===E)I.numValidPixels=s.getUint8(_),_++;else if(1===E)I.numValidPixels=s.getUint16(_,!0),_+=2;else{if(0!==E)throw"Invalid valid pixel count type";I.numValidPixels=s.getUint32(_,!0),_+=4}}var C;if(e+=_,3!==I.encoding)if(0===I.encoding){var v=(n.pixels.numBytes-1)/4;if(v!==Math.floor(v))throw"uncompressed block has invalid length";C=new ArrayBuffer(4*v),new Uint8Array(C).set(new Uint8Array(t,e,4*v));var x=new Float32Array(C);I.rawData=x,e+=4*v}else if(1===I.encoding){var w=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),S=Math.ceil(w/4);C=new ArrayBuffer(4*S),new Uint8Array(C).set(new Uint8Array(t,e,w)),I.stuffedData=new Uint32Array(C),e+=w}}else e++}return n.eofOffset=e,n},l=function(t,e,i,n,r,s,o){var a,l,h,c=(1<=e)l=h>>>g-e&c,g-=e;else{var p=e-g;l=(h&c)<>>(g=32-p)}s[a]=l=i?(h=c>>>p-i&d,p-=i):(h=(c&d)<<(u=i-p)&d,h+=(c=t[A++])>>>(p=32-u)),e[l]=r[h];else for(g=Math.ceil((a-s)/o),l=0;l=i?(h=c>>>p-i&d,p-=i):(h=(c&d)<<(u=i-p)&d,h+=(c=t[A++])>>>(p=32-u)),e[l]=h=e?(g=o>>>u-e&a,u-=e):(g=(o&a)<<(c=e-u)&a,g+=(o=t[l++])>>>(u=32-c)),d[h]=g=i?(h=c>>>p&g,A-=i,p+=i):(h=c>>>p&g,A=32-(u=i-A),h|=((c=t[d++])&(1<=i?(h=c>>>p&g,A-=i,p+=i):(h=c>>>p&g,A=32-(u=i-A),h|=((c=t[d++])&(1<=e?(g=o>>>d&a,u-=e,d+=e):(g=o>>>d&a,u=32-(c=e-u),g|=((o=t[l++])&(1<=i?(s=o>>>c-i&l,c-=i):(s=(o&l)<<(a=i-c)&l,s+=(o=t[h++])>>>(c=32-a)),e[r]=s;return e},s=function(t,e,i,n){var r,s,o,a,l=(1<=i?(s=o>>>u&l,c-=i,u+=i):(s=o>>>u&l,c=32-(a=i-c),s|=((o=t[h++])&(1<=359?359:r;r-=o;do{e+=t[s++]<<8,i+=e+=t[s++]}while(--o);e=(65535&e)+(e>>>16),i=(65535&i)+(i>>>16)}return 1&n&&(i+=e+=t[s]<<8),((i=(65535&i)+(i>>>16))<<16|(e=(65535&e)+(e>>>16)))>>>0},readHeaderInfo:function(t,e){var i=e.ptr,n=new Uint8Array(t,i,6),r={};if(r.fileIdentifierString=String.fromCharCode.apply(null,n),0!==r.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+r.fileIdentifierString;i+=6;var s,o=new DataView(t,i,8),a=o.getInt32(0,!0);if(r.fileVersion=a,i+=4,a>=3&&(r.checksum=o.getUint32(4,!0),i+=4),o=new DataView(t,i,12),r.height=o.getUint32(0,!0),r.width=o.getUint32(4,!0),i+=8,a>=4?(r.numDims=o.getUint32(8,!0),i+=4):r.numDims=1,o=new DataView(t,i,40),r.numValidPixel=o.getUint32(0,!0),r.microBlockSize=o.getInt32(4,!0),r.blobSize=o.getInt32(8,!0),r.imageType=o.getInt32(12,!0),r.maxZError=o.getFloat64(16,!0),r.zMin=o.getFloat64(24,!0),r.zMax=o.getFloat64(32,!0),i+=40,e.headerInfo=r,e.ptr=i,a>=3&&(s=a>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(t,i-s,r.blobSize-14))!==r.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(t,e){var i=e.headerInfo,n=this.getDataTypeArray(i.imageType),r=i.numDims*this.getDataTypeSize(i.imageType),s=this.readSubArray(t,e.ptr,n,r),o=this.readSubArray(t,e.ptr+r,n,r);e.ptr+=2*r;var a,l=!0;for(a=0;a0){i=new Uint8Array(Math.ceil(o/8));var c=(l=new DataView(t,r,h.numBytes)).getInt16(0,!0),u=2,g=0,d=0;do{if(c>0)for(;c--;)i[g++]=l.getUint8(u++);else for(d=l.getUint8(u++),c=-c;c--;)i[g++]=d;c=l.getInt16(u,!0),u+=2}while(u>3],A<<=7&p):A=i[p>>3],128&A&&(n[p]=1);e.pixels.resultMask=n,h.bitset=i,r+=h.numBytes}return e.ptr=r,e.mask=h,!0},readDataOneSweep:function(t,e,i,n){var r,s=e.ptr,a=e.headerInfo,l=a.numDims,h=a.width*a.height,c=a.imageType,u=a.numValidPixel*o.getDataTypeSize(c)*l,g=e.pixels.resultMask;if(i===Uint8Array)r=new Uint8Array(t,s,u);else{var d=new ArrayBuffer(u);new Uint8Array(d).set(new Uint8Array(t,s,u)),r=new i(d)}if(r.length===h*l)e.pixels.resultPixels=n?o.swapDimensionOrder(r,h,l,i,!0):r;else{e.pixels.resultPixels=new i(h*l);var A=0,p=0,f=0,m=0;if(l>1){if(n){for(p=0;p=l)return!1;var h=new Uint32Array(l-s);o.decodeBits(t,e,h);var c,u,g,d,A=[];for(c=s;c0&&(A[u].second=_<>>32-d,32-I>=d?32===(I+=d)&&(I=0,_=y[++E]):(I+=d-32,_=y[++E],A[u].second|=_>>>32-I));var C=0,v=0,x=new a;for(c=0;c=i?i:C;var w,S,b,B,L,M=[];for(c=s;c0)if(w=[d,u],d<=v)for(S=A[u].second<=0;B--)S>>>B&1?(L.right||(L.right=new a),L=L.right):(L.left||(L.left=new a),L=L.left),0!==B||L.val||(L.val=w[1]);return{decodeLut:M,numBitsLUTQick:v,numBitsLUT:C,tree:x,stuffedData:y,srcPtr:E,bitPos:I}},readHuffman:function(t,e,i,n){var r,s,a,l,h,c,u,g,d,A=e.headerInfo.numDims,p=e.headerInfo.height,f=e.headerInfo.width,m=f*p,_=this.readHuffmanTree(t,e),y=_.decodeLut,I=_.tree,E=_.stuffedData,C=_.srcPtr,v=_.bitPos,x=_.numBitsLUTQick,w=_.numBitsLUT,S=0===e.headerInfo.imageType?128:0,b=e.pixels.resultMask,B=0;v>0&&(C++,v=0);var L,M=E[C],T=1===e.encodeMode,R=new i(m*A),N=R;if(A<2||T){for(L=0;L1&&(N=new i(R.buffer,m*L,m),B=0),e.headerInfo.numValidPixel===f*p)for(g=0,c=0;c>>32-x,32-v>>64-v-x),y[h])s=y[h][1],v+=y[h][0];else for(h=l=M<>>32-w,32-v>>64-v-w),r=I,d=0;d>>w-d-1&1?r.right:r.left).left&&!r.right){s=r.val,v=v+d+1;break}v>=32&&(v-=32,M=E[++C]),a=s-S,T?(a+=u>0?B:c>0?N[g-f]:B,a&=255,N[g]=a,B=a):N[g]=a}else for(g=0,c=0;c>>32-x,32-v>>64-v-x),y[h])s=y[h][1],v+=y[h][0];else for(h=l=M<>>32-w,32-v>>64-v-w),r=I,d=0;d>>w-d-1&1?r.right:r.left).left&&!r.right){s=r.val,v=v+d+1;break}v>=32&&(v-=32,M=E[++C]),a=s-S,T?(u>0&&b[g-1]?a+=B:c>0&&b[g-f]?a+=N[g-f]:a+=B,a&=255,N[g]=a,B=a):N[g]=a}}else for(g=0,c=0;c>>32-x,32-v>>64-v-x),y[h])s=y[h][1],v+=y[h][0];else for(h=l=M<>>32-w,32-v>>64-v-w),r=I,d=0;d>>w-d-1&1?r.right:r.left).left&&!r.right){s=r.val,v=v+d+1;break}v>=32&&(v-=32,M=E[++C]),a=s-S,N[g]=a}e.ptr=e.ptr+4*(C+1)+(v>0?4:0),e.pixels.resultPixels=R,A>1&&!n&&(e.pixels.resultPixels=o.swapDimensionOrder(R,m,A,i))},decodeBits:function(o,a,l,h,c){var u=a.headerInfo,g=u.fileVersion,d=0,A=o.byteLength-a.ptr>=5?5:o.byteLength-a.ptr,p=new DataView(o,a.ptr,A),f=p.getUint8(0);d++;var m=f>>6,_=0===m?4:3-m,y=(32&f)>0,I=31&f,E=0;if(1===_)E=p.getUint8(d),d++;else if(2===_)E=p.getUint16(d,!0),d+=2;else{if(4!==_)throw"Invalid valid pixel count type";E=p.getUint32(d,!0),d+=4}var C,v,x,w,S,b,B,L,M,T=2*u.maxZError,R=u.numDims>1?u.maxValues[c]:u.zMax;if(y){for(a.counter.lut++,L=p.getUint8(d),d++,w=Math.ceil((L-1)*I/8),S=Math.ceil(w/4),v=new ArrayBuffer(4*S),x=new Uint8Array(v),a.ptr+=d,x.set(new Uint8Array(o,a.ptr,w)),B=new Uint32Array(v),a.ptr+=w,M=0;L-1>>>M;)M++;w=Math.ceil(E*M/8),S=Math.ceil(w/4),v=new ArrayBuffer(4*S),(x=new Uint8Array(v)).set(new Uint8Array(o,a.ptr,w)),C=new Uint32Array(v),a.ptr+=w,b=g>=3?n(B,I,L-1,h,T,R):e(B,I,L-1,h,T,R),g>=3?i(C,l,M,E,b):t(C,l,M,E,b)}else a.counter.bitstuffer++,M=I,a.ptr+=d,M>0&&(w=Math.ceil(E*M/8),S=Math.ceil(w/4),v=new ArrayBuffer(4*S),(x=new Uint8Array(v)).set(new Uint8Array(o,a.ptr,w)),C=new Uint32Array(v),a.ptr+=w,g>=3?null==h?s(C,l,M,E):i(C,l,M,E,!1,h,T,R):null==h?r(C,l,M,E):t(C,l,M,E,!1,h,T,R))},readTiles:function(t,e,i,n){var r=e.headerInfo,s=r.width,a=r.height,l=s*a,h=r.microBlockSize,c=r.imageType,u=o.getDataTypeSize(c),g=Math.ceil(s/h),d=Math.ceil(a/h);e.pixels.numBlocksY=d,e.pixels.numBlocksX=g,e.pixels.ptr=0;var A,p,f,m,_,y,I,E,C,v,x=0,w=0,S=0,b=0,B=0,L=0,M=0,T=0,R=0,N=0,P=0,F=0,D=0,O=0,Q=0,k=new i(h*h),G=a%h||h,U=s%h||h,q=r.numDims,V=e.pixels.resultMask,z=e.pixels.resultPixels,Y=r.fileVersion>=5?14:15,j=r.zMax;for(S=0;S1?(v=z,N=S*s*h+b*h,z=new i(e.pixels.resultPixels.buffer,l*E*u,l),j=r.maxValues[E]):v=null,M=t.byteLength-e.ptr,p={},Q=0,T=(A=new DataView(t,e.ptr,Math.min(10,M))).getUint8(0),Q++,C=r.fileVersion>=5?4&T:0,R=T>>6&255,(T>>2&Y)!=(b*h>>3&Y))throw"integrity issue";if(C&&0===E)throw"integrity issue";if((_=3&T)>3)throw e.ptr+=Q,"Invalid block encoding ("+_+")";if(2!==_)if(0===_){if(C)throw"integrity issue";if(e.counter.uncompressed++,e.ptr+=Q,F=(F=B*L*u)<(D=t.byteLength-e.ptr)?F:D,f=new ArrayBuffer(F%u==0?F:F+u-F%u),new Uint8Array(f).set(new Uint8Array(t,e.ptr,F)),m=new i(f),O=0,V)for(x=0;x1&&!n&&(e.pixels.resultPixels=o.swapDimensionOrder(e.pixels.resultPixels,l,q,i))},formatFileInfo:function(t){return{fileIdentifierString:t.headerInfo.fileIdentifierString,fileVersion:t.headerInfo.fileVersion,imageType:t.headerInfo.imageType,height:t.headerInfo.height,width:t.headerInfo.width,numValidPixel:t.headerInfo.numValidPixel,microBlockSize:t.headerInfo.microBlockSize,blobSize:t.headerInfo.blobSize,maxZError:t.headerInfo.maxZError,pixelType:o.getPixelType(t.headerInfo.imageType),eofOffset:t.eofOffset,mask:t.mask?{numBytes:t.mask.numBytes}:null,pixels:{numBlocksX:t.pixels.numBlocksX,numBlocksY:t.pixels.numBlocksY,maxValue:t.headerInfo.zMax,minValue:t.headerInfo.zMin,noDataValue:t.noDataValue}}},constructConstantSurface:function(t,e){var i=t.headerInfo.zMax,n=t.headerInfo.zMin,r=t.headerInfo.maxValues,s=t.headerInfo.numDims,o=t.headerInfo.height*t.headerInfo.width,a=0,l=0,h=0,c=t.pixels.resultMask,u=t.pixels.resultPixels;if(c)if(s>1){if(e)for(a=0;a1&&n!==i)if(e)for(a=0;a=-128&&e<=127;break;case 1:i=e>=0&&e<=255;break;case 2:i=e>=-32768&&e<=32767;break;case 3:i=e>=0&&e<=65536;break;case 4:i=e>=-2147483648&&e<=2147483647;break;case 5:i=e>=0&&e<=4294967296;break;case 6:i=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:i=e>=-17976931348623157e292&&e<=17976931348623157e292;break;default:i=!1}return i},getDataTypeSize:function(t){var e=0;switch(t){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=t}return e},getDataTypeUsed:function(t,e){var i=t;switch(t){case 2:case 4:i=t-e;break;case 3:case 5:i=t-2*e;break;case 6:i=0===e?t:1===e?2:1;break;case 7:i=0===e?t:t-2*e+1;break;default:i=t}return i},getOnePixel:function(t,e,i,n){var r=0;switch(i){case 0:r=n.getInt8(e);break;case 1:r=n.getUint8(e);break;case 2:r=n.getInt16(e,!0);break;case 3:r=n.getUint16(e,!0);break;case 4:r=n.getInt32(e,!0);break;case 5:r=n.getUInt32(e,!0);break;case 6:r=n.getFloat32(e,!0);break;case 7:r=n.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return r},swapDimensionOrder:function(t,e,i,n,r){var s=0,o=0,a=0,l=0,h=t;if(i>1)if(h=new n(e*i),r)for(s=0;s5)throw"unsupported lerc version 2."+a;o.readMask(t,r),s.numValidPixel===s.width*s.height||r.pixels.resultMask||(r.pixels.resultMask=e.maskData);var h=s.width*s.height;r.pixels.resultPixels=new l(h*s.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var c,u=!e.returnPixelInterleavedDims;if(0!==s.numValidPixel)if(s.zMax===s.zMin)o.constructConstantSurface(r,u);else if(a>=4&&o.checkMinMaxRanges(t,r))o.constructConstantSurface(r,u);else{var g=new DataView(t,r.ptr,2),d=g.getUint8(0);if(r.ptr++,d)o.readDataOneSweep(t,r,l,u);else if(a>1&&s.imageType<=1&&Math.abs(s.maxZError-.5)<1e-5){var A=g.getUint8(1);if(r.ptr++,r.encodeMode=A,A>2||a<4&&A>1)throw"Invalid Huffman flag "+A;A?o.readHuffman(t,r,l,u):o.readTiles(t,r,l,u)}else o.readTiles(t,r,l,u)}r.eofOffset=r.ptr,e.inputOffset?(c=r.headerInfo.blobSize+e.inputOffset-r.ptr,Math.abs(c)>=1&&(r.eofOffset=e.inputOffset+r.headerInfo.blobSize)):(c=r.headerInfo.blobSize-r.ptr,Math.abs(c)>=1&&(r.eofOffset=r.headerInfo.blobSize));var p={width:s.width,height:s.height,pixelData:r.pixels.resultPixels,minValue:s.zMin,maxValue:s.zMax,validPixelCount:s.numValidPixel,dimCount:s.numDims,dimStats:{minValues:s.minValues,maxValues:s.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&o.isValidPixelValue(s.imageType,i)){var f=r.pixels.resultMask;for(n=0;n1&&(h&&_.push(h),E.fileInfo.mask&&E.fileInfo.mask.numBytes>0&&I++),f++,y.pixels.push(E.pixelData),y.statistics.push({minValue:E.minValue,maxValue:E.maxValue,noDataValue:E.noDataValue,dimStats:E.dimStats})}if(n>1&&I>1){for(p=y.width*y.height,y.bandMasks=_,(h=new Uint8Array(p)).set(_[0]),c=1;c<_.length;c++)for(l=_[c],A=0;A{"use strict";t.exports=r;var n=i(645);function r(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}r.Varint=0,r.Fixed64=1,r.Bytes=2,r.Fixed32=5;var s=4294967296,o=1/s,a="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function l(t){return t.type===r.Bytes?t.readVarint()+t.pos:t.pos+1}function h(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function c(t,e,i){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(n);for(var r=i.pos-1;r>=t;r--)i.buf[r+n]=i.buf[r]}function u(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function C(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}r.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos>3,s=this.pos;this.type=7&n,t(r,e,this),this.pos===s&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=I(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=C(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=I(this.buf,this.pos)+I(this.buf,this.pos+4)*s;return this.pos+=8,t},readSFixed64:function(){var t=I(this.buf,this.pos)+C(this.buf,this.pos+4)*s;return this.pos+=8,t},readFloat:function(){var t=n.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=n.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,n=this.buf;return e=127&(i=n[this.pos++]),i<128?e:(e|=(127&(i=n[this.pos++]))<<7,i<128?e:(e|=(127&(i=n[this.pos++]))<<14,i<128?e:(e|=(127&(i=n[this.pos++]))<<21,i<128?e:function(t,e,i){var n,r,s=i.buf;if(r=s[i.pos++],n=(112&r)>>4,r<128)return h(t,n,e);if(r=s[i.pos++],n|=(127&r)<<3,r<128)return h(t,n,e);if(r=s[i.pos++],n|=(127&r)<<10,r<128)return h(t,n,e);if(r=s[i.pos++],n|=(127&r)<<17,r<128)return h(t,n,e);if(r=s[i.pos++],n|=(127&r)<<24,r<128)return h(t,n,e);if(r=s[i.pos++],n|=(1&r)<<31,r<128)return h(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&a?function(t,e,i){return a.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){var n="",r=e;for(;r239?4:l>223?3:l>191?2:1;if(r+c>i)break;1===c?l<128&&(h=l):2===c?128==(192&(s=t[r+1]))&&(h=(31&l)<<6|63&s)<=127&&(h=null):3===c?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&((h=(15&l)<<12|(63&s)<<6|63&o)<=2047||h>=55296&&h<=57343)&&(h=null)):4===c&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&((h=(15&l)<<18|(63&s)<<12|(63&o)<<6|63&a)<=65535||h>=1114112)&&(h=null)),null===h?(h=65533,c=1):h>65535&&(h-=65536,n+=String.fromCharCode(h>>>10&1023|55296),h=56320|1023&h),n+=String.fromCharCode(h),r+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==r.Bytes)return t.push(this.readVarint(e));var i=l(this);for(t=t||[];this.pos127;);else if(e===r.Bytes)this.pos=this.readVarint()+this.pos;else if(e===r.Fixed32)this.pos+=4;else{if(e!==r.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,n;t>=0?(i=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos]=127&t}(i,0,e),function(t,e){var i=(7&t)<<4;if(e.buf[e.pos++]|=i|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var n,r,s=0;s55295&&n<57344){if(!r){n>56319||s+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):r=n;continue}if(n<56320){t[i++]=239,t[i++]=191,t[i++]=189,r=n;continue}n=r-55296<<10|n-56320|65536,r=null}else r&&(t[i++]=239,t[i++]=191,t[i++]=189,r=null);n<128?t[i++]=n:(n<2048?t[i++]=n>>6|192:(n<65536?t[i++]=n>>12|224:(t[i++]=n>>18|240,t[i++]=n>>12&63|128),t[i++]=n>>6&63|128),t[i++]=63&n|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&c(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),n.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),n.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&c(i,n,this),this.pos=i-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,i){this.writeTag(t,r.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,u,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,g,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,p,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,d,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,A,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,m,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,y,e)},writeBytesField:function(t,e){this.writeTag(t,r.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,r.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,r.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,r.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,r.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,r.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,r.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,r.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,r.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,r.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},402:function(t){t.exports=function(){"use strict";function t(t,n,r,s,o){!function t(i,n,r,s,o){for(;s>r;){if(s-r>600){var a=s-r+1,l=n-r+1,h=Math.log(a),c=.5*Math.exp(2*h/3),u=.5*Math.sqrt(h*c*(a-c)/a)*(l-a/2<0?-1:1);t(i,n,Math.max(r,Math.floor(n-l*c/a+u)),Math.min(s,Math.floor(n+(a-l)*c/a+u)),o)}var g=i[n],d=r,A=s;for(e(i,r,n),o(i[s],g)>0&&e(i,r,s);d0;)A--}0===o(i[r],g)?e(i,r,A):e(i,++A,s),A<=n&&(r=A+1),n<=A&&(s=A-1)}}(t,n,r||0,s||t.length-1,o||i)}function e(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function i(t,e){return te?1:0}var n=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function r(t,e,i){if(!i)return e.indexOf(t);for(var n=0;n=t.minX&&e.maxY>=t.minY}function A(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function p(e,i,n,r,s){for(var o=[i,n];o.length;)if(!((n=o.pop())-(i=o.pop())<=r)){var a=i+Math.ceil((n-i)/r/2)*r;t(e,a,i,n,s),o.push(i,a,a,n)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(t){var e=this.data,i=[];if(!d(t,e))return i;for(var n=this.toBBox,r=[];e;){for(var s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(n,r,e)},n.prototype._split=function(t,e){var i=t[e],n=i.children.length,r=this._minEntries;this._chooseSplitAxis(i,r,n);var o=this._chooseSplitIndex(i,r,n),a=A(i.children.splice(o,i.children.length-o));a.height=i.height,a.leaf=i.leaf,s(i,this.toBBox),s(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(i,a)},n.prototype._splitRoot=function(t,e){this.data=A([t,e]),this.data.height=t.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(t,e,i){for(var n,r,s,a,l,h,u,g=1/0,d=1/0,A=e;A<=i-e;A++){var p=o(t,0,A,this.toBBox),f=o(t,A,i,this.toBBox),m=(r=p,s=f,a=void 0,l=void 0,h=void 0,u=void 0,a=Math.max(r.minX,s.minX),l=Math.max(r.minY,s.minY),h=Math.min(r.maxX,s.maxX),u=Math.min(r.maxY,s.maxY),Math.max(0,h-a)*Math.max(0,u-l)),_=c(p)+c(f);m=e;d--){var A=t.children[d];a(l,t.leaf?r(A):A),h+=u(l)}return h},n.prototype._adjustParentBBoxes=function(t,e,i){for(var n=i;n>=0;n--)a(e[n],t)},n.prototype._condense=function(t){for(var e=t.length-1,i=void 0;e>=0;e--)0===t[e].children.length?e>0?(i=t[e-1].children).splice(i.indexOf(t[e]),1):this.clear():s(t[e],this.toBBox)},n}()},840:t=>{function e(t,e){const i=new RegExp(e,"g"),n=t.match(i);return n?n.length:0}t.exports=e,t.exports.default=e},635:(t,e,i)=>{const n=i(622),r=i(566),s=i(840);function o(t,e,i){const o=i&&i.debug||!1,a=!(i&&!1===typeof i.nested),l=i&&i.startIndex||0;o&&console.log("[xml-utils] starting findTagByName with",e," and ",i);const h=n(t,`<${e}[ \n>/]`,l);if(o&&console.log("[xml-utils] start:",h),-1===h)return;const c=t.slice(h+e.length);let u=r(c,"^[^<]*[ /]>",0);const g=-1!==u&&"/"===c[u-1];if(o&&console.log("[xml-utils] selfClosing:",g),!1===g)if(a){let t=0,i=1,n=0;for(;-1!==(u=r(c,"[ /]"+e+">",t));){const r=c.substring(t,u+1);if(i+=s(r,"<"+e+"[ \n\t>]"),n+=s(r,""),n>=i)break;t=u}}else u=r(c,"[ /]"+e+">",0);const d=h+e.length+u+1;if(o&&console.log("[xml-utils] end:",d),-1===d)return;const A=t.slice(h,d);let p;return p=g?null:A.slice(A.indexOf(">")+1,A.lastIndexOf("<")),{inner:p,outer:A,start:h,end:d}}t.exports=o,t.exports.default=o},602:(t,e,i)=>{const n=i(635);function r(t,e,i){const r=[],s=i&&i.debug||!1,o=!i||"boolean"!=typeof i.nested||i.nested;let a,l=i&&i.startIndex||0;for(;a=n(t,e,{debug:s,startIndex:l});)l=o?a.start+1+e.length:a.end,r.push(a);return s&&console.log("findTagsByName found",r.length,"tags"),r}t.exports=r,t.exports.default=r},330:t=>{function e(t,e,i){const n=i&&i.debug||!1;n&&console.log("[xml-utils] getting "+e+" in "+t);const r="object"==typeof t?t.outer:t,s=r.slice(0,r.indexOf(">")+1),o=['"',"'"];for(let t=0;t{function e(t,e,i){const n=new RegExp(e).exec(t.slice(i));return n?i+n.index+n[0].length-1:-1}t.exports=e,t.exports.default=e},622:t=>{function e(t,e,i){const n=new RegExp(e).exec(t.slice(i));return n?i+n.index:-1}t.exports=e,t.exports.default=e},421:()=>{[].includes||(Array.prototype.includes=function(t){let e=Object(this),i=parseInt(e.length)||0;if(0===i)return!1;let n,r,s=parseInt(arguments[1])||0;for(s>=0?n=s:(n=i+s,n<0&&(n=0));n=0?n=r:(n=i+r,n<0&&(n=0));let s,o=[];for(;n{if(null!==t.equals&&"function"==typeof t.equals&&t.equals.call)return t.equals(e);if(null!==e.equals&&"function"==typeof e.equals&&e.equals.call)return e.equals(t);{let i,n=[],r=[];if(isNaN(t)&&isNaN(e)&&"number"==typeof t&&"number"==typeof e)return!0;if(t===e)return!0;if("function"==typeof t&&"function"==typeof e||t instanceof Date&&e instanceof Date||t instanceof RegExp&&e instanceof RegExp||t instanceof String&&e instanceof String||t instanceof Number&&e instanceof Number)return t.toString()===e.toString();if(!(t instanceof Object&&e instanceof Object))return!1;if(t.isPrototypeOf(e)||e.isPrototypeOf(t))return!1;if(t.constructor!==e.constructor)return!1;if(t.prototype!==e.prototype)return!1;if(n.indexOf(t)>-1||r.indexOf(e)>-1)return!1;for(i in e){if(e.hasOwnProperty(i)!==t.hasOwnProperty(i))return!1;if(typeof e[i]!=typeof t[i])return!1}for(i in t){if(e.hasOwnProperty(i)!==t.hasOwnProperty(i))return!1;if(typeof e[i]!=typeof t[i])return!1;switch(typeof t[i]){case"object":case"function":if(n.push(t),r.push(e),!Object.equals(t[i],e[i]))return!1;n.pop(),r.pop();break;default:if(t[i]!==e[i])return!1}}return!0}})},752:()=>{},640:()=>{},630:()=>{},737:(t,e,i)=>{"use strict";function n(t,e){let i=t.length-e,n=0;do{for(let i=e;i>0;i--)t[n+e]+=t[n],n++;i-=e}while(i>0)}function r(t,e,i){let n=0,r=t.length;const s=r/i;for(;r>e;){for(let i=e;i>0;--i)t[n+e]+=t[n],++n;r-=e}const o=t.slice();for(let e=0;es});class s{async decode(t,e){const i=await this.decodeBlock(e),s=t.Predictor||1;if(1!==s){const e=!t.StripOffsets;return function(t,e,i,s,o,a){if(!e||1===e)return t;for(let t=0;t=t.byteLength);++a){let s;if(2===e){switch(o[0]){case 8:s=new Uint8Array(t,a*h*i*l,h*i*l);break;case 16:s=new Uint16Array(t,a*h*i*l,h*i*l/2);break;case 32:s=new Uint32Array(t,a*h*i*l,h*i*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${o[0]} bits per sample.`)}n(s,h)}else 3===e&&(s=new Uint8Array(t,a*h*i*l,h*i*l),r(s,h,l))}return t}(i,s,e?t.TileWidth:t.ImageWidth,e?t.TileLength:t.RowsPerStrip||t.ImageLength,t.BitsPerSample,t.PlanarConfiguration)}return i}}},522:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s});var n=i(885),r=i(737);class s extends r.Z{decodeBlock(t){return(0,n.rr)(new Uint8Array(t)).buffer}}},347:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>m});var n=i(737);const r=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),s=4017,o=799,a=3406,l=2276,h=1567,c=3784,u=5793,g=2896;function d(t,e){let i=0;const n=[];let r=16;for(;r>0&&!t[r-1];)--r;n.push({children:[],index:0});let s,o=n[0];for(let a=0;a0;)o=n.pop();for(o.index++,n.push(o);n.length<=a;)n.push(s={children:[],index:0}),o.children[o.index]=s.children,o=s;i++}a+10)return p--,A>>p&1;if(A=t[d++],255===A){const e=t[d++];if(e)throw new Error(`unexpected marker: ${(A<<8|e).toString(16)}`)}return p=7,A>>>7}function m(t){let e,i=t;for(;null!==(e=f());){if(i=i[e],"number"==typeof i)return i;if("object"!=typeof i)throw new Error("invalid huffman sequence")}return null}function _(t){let e=t,i=0;for(;e>0;){const t=f();if(null===t)return;i=i<<1|t,--e}return i}function y(t){const e=_(t);return e>=1<0)return void I--;let i=o;const n=a;for(;i<=n;){const n=m(t.huffmanTableAC),s=15&n,o=n>>4;if(0===s){if(o<15){I=_(o)+(1<>4,0===i)s<15?(I=_(s)+(1<>4;if(0===n){if(o<15)break;s+=16}else s+=o,e[r[s]]=y(n),s++}};let R,N,P=0;N=1===w?n[0].blocksPerLine*n[0].blocksPerColumn:c*i.mcusPerColumn;const F=s||N;for(;P=65488&&R<=65495))break;d+=2}return d-g}function p(t,e){const i=[],{blocksPerLine:n,blocksPerColumn:r}=e,d=n<<3,A=new Int32Array(64),p=new Uint8Array(64);function f(t,i,n){const r=e.quantizationTable;let d,A,p,f,m,_,y,I,E;const C=n;let v;for(v=0;v<64;v++)C[v]=t[v]*r[v];for(v=0;v<8;++v){const t=8*v;0!==C[1+t]||0!==C[2+t]||0!==C[3+t]||0!==C[4+t]||0!==C[5+t]||0!==C[6+t]||0!==C[7+t]?(d=u*C[0+t]+128>>8,A=u*C[4+t]+128>>8,p=C[2+t],f=C[6+t],m=g*(C[1+t]-C[7+t])+128>>8,I=g*(C[1+t]+C[7+t])+128>>8,_=C[3+t]<<4,y=C[5+t]<<4,E=d-A+1>>1,d=d+A+1>>1,A=E,E=p*c+f*h+128>>8,p=p*h-f*c+128>>8,f=E,E=m-y+1>>1,m=m+y+1>>1,y=E,E=I+_+1>>1,_=I-_+1>>1,I=E,E=d-f+1>>1,d=d+f+1>>1,f=E,E=A-p+1>>1,A=A+p+1>>1,p=E,E=m*l+I*a+2048>>12,m=m*a-I*l+2048>>12,I=E,E=_*o+y*s+2048>>12,_=_*s-y*o+2048>>12,y=E,C[0+t]=d+I,C[7+t]=d-I,C[1+t]=A+y,C[6+t]=A-y,C[2+t]=p+_,C[5+t]=p-_,C[3+t]=f+m,C[4+t]=f-m):(E=u*C[0+t]+512>>10,C[0+t]=E,C[1+t]=E,C[2+t]=E,C[3+t]=E,C[4+t]=E,C[5+t]=E,C[6+t]=E,C[7+t]=E)}for(v=0;v<8;++v){const t=v;0!==C[8+t]||0!==C[16+t]||0!==C[24+t]||0!==C[32+t]||0!==C[40+t]||0!==C[48+t]||0!==C[56+t]?(d=u*C[0+t]+2048>>12,A=u*C[32+t]+2048>>12,p=C[16+t],f=C[48+t],m=g*(C[8+t]-C[56+t])+2048>>12,I=g*(C[8+t]+C[56+t])+2048>>12,_=C[24+t],y=C[40+t],E=d-A+1>>1,d=d+A+1>>1,A=E,E=p*c+f*h+2048>>12,p=p*h-f*c+2048>>12,f=E,E=m-y+1>>1,m=m+y+1>>1,y=E,E=I+_+1>>1,_=I-_+1>>1,I=E,E=d-f+1>>1,d=d+f+1>>1,f=E,E=A-p+1>>1,A=A+p+1>>1,p=E,E=m*l+I*a+2048>>12,m=m*a-I*l+2048>>12,I=E,E=_*o+y*s+2048>>12,_=_*s-y*o+2048>>12,y=E,C[0+t]=d+I,C[56+t]=d-I,C[8+t]=A+y,C[48+t]=A-y,C[16+t]=p+_,C[40+t]=p-_,C[24+t]=f+m,C[32+t]=f-m):(E=u*n[v+0]+8192>>14,C[0+t]=E,C[8+t]=E,C[16+t]=E,C[24+t]=E,C[32+t]=E,C[40+t]=E,C[48+t]=E,C[56+t]=E)}for(v=0;v<64;++v){const t=128+(C[v]+8>>4);i[v]=t<0?0:t>255?255:t}}for(let t=0;t>4==0)for(let i=0;i<64;i++){s[r[i]]=t[e++]}else{if(n>>4!=1)throw new Error("DQT: invalid table spec");for(let t=0;t<64;t++){s[r[t]]=i()}}this.quantizationTables[15&n]=s}break}case 65472:case 65473:case 65474:{i();const n={extended:65473===o,progressive:65474===o,precision:t[e++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},r=t[e++];let a;for(let i=0;i>4,r=15&t[e+1],s=t[e+2];n.componentsOrder.push(a),n.components[a]={h:i,v:r,quantizationIdx:s},e+=3}s(n),this.frames.push(n);break}case 65476:{const n=i();for(let i=2;i>4==0?this.huffmanTablesDC[15&n]=d(r,o):this.huffmanTablesAC[15&n]=d(r,o)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();const n=t[e++],r=[],s=this.frames[0];for(let i=0;i>4],i.huffmanTableAC=this.huffmanTablesAC[15&n],r.push(i)}const o=t[e++],a=t[e++],l=t[e++],h=A(t,e,s,r,this.resetInterval,o,a,l>>4,15&l);e+=h;break}case 65535:255!==t[e]&&e--;break;default:if(255===t[e-3]&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${o.toString(16)}`)}o=i()}}getResult(){const{frames:t}=this;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let t=0;t{"use strict";i.r(e),i.d(e,{default:()=>d,zstd:()=>g});var n=i(885),r=i(197);let s,o,a;const l={env:{emscripten_notify_memory_growth:function(t){a=new Uint8Array(o.exports.memory.buffer)}}};const h="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";var c=i(737),u=i(499);const g=new class{init(){return s||(s="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+h).then((t=>t.arrayBuffer())).then((t=>WebAssembly.instantiate(t,l))).then(this._init):WebAssembly.instantiate(Buffer.from(h,"base64"),l).then(this._init),s)}_init(t){o=t.instance,l.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!o)throw new Error("ZSTDDecoder: Await .init() before decoding.");const i=t.byteLength,n=o.exports.malloc(i);a.set(t,n),e=e||Number(o.exports.ZSTD_findDecompressedSize(n,i));const r=o.exports.malloc(e),s=o.exports.ZSTD_decompress(r,e,n,i),l=a.slice(r,r+s);return o.exports.free(n),o.exports.free(r),l}};class d extends c.Z{constructor(t){super(),this.planarConfiguration=void 0!==t.PlanarConfiguration?t.PlanarConfiguration:1,this.samplesPerPixel=void 0!==t.SamplesPerPixel?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[u.L5.AddCompression]}decodeBlock(t){switch(this.addCompression){case u.Qb.None:break;case u.Qb.Deflate:t=(0,n.rr)(new Uint8Array(t)).buffer;break;case u.Qb.Zstandard:t=g.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return r.decode(t,{returnPixelInterleavedDims:1===this.planarConfiguration}).pixels[0].buffer}}},672:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>a});var n=i(737);const r=257;function s(t,e){for(let i=e.length-1;i>=0;i--)t.push(e[i]);return t}function o(t){const e=new Uint16Array(4093),i=new Uint8Array(4093);for(let t=0;t<=257;t++)e[t]=4096,i[t]=t;let n=258,o=9,a=0;function l(){n=258,o=9}function h(t){const e=function(t,e,i){const n=e%8,s=Math.floor(e/8),o=8-n,a=e+i-8*(s+1);let l=8*(s+2)-(e+i);const h=8*(s+2)-e;if(l=Math.max(0,l),s>=t.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),r;let c=t[s]&2**(8-n)-1;c<<=i-o;let u=c;if(s+1>>l;e<<=Math.max(0,i-h),u+=e}if(a>8&&s+2>>n}return u}(t,a,o);return a+=o,e}function c(t,r){return i[n]=r,e[n]=t,n++,n-1}function u(t){const n=[];for(let r=t;4096!==r;r=e[r])n.push(i[r]);return n}const g=[];l();const d=new Uint8Array(t);let A,p=h(d);for(;p!==r;){if(256===p){for(l(),p=h(d);256===p;)p=h(d);if(p===r)break;if(p>256)throw new Error(`corrupted code at scanline ${p}`);s(g,u(p)),A=p}else if(p=2**o&&(12===o?A=void 0:o++),p=h(d)}return new Uint8Array(g)}class a extends n.Z{decodeBlock(t){return o(t).buffer}}},411:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>r});var n=i(737);class r extends n.Z{decodeBlock(t){const e=new DataView(t),i=[];for(let n=0;n{"use strict";i.r(e),i.d(e,{default:()=>r});var n=i(737);class r extends n.Z{decodeBlock(t){return t}}},588:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>r});var n=i(737);class r extends n.Z{constructor(){if(super(),"undefined"==typeof createImageBitmap)throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if("undefined"==typeof document&&"undefined"==typeof OffscreenCanvas)throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,e){const i=new Blob([e]),n=await createImageBitmap(i);let r;"undefined"!=typeof document?(r=document.createElement("canvas"),r.width=n.width,r.height=n.height):r=new OffscreenCanvas(n.width,n.height);const s=r.getContext("2d");return s.drawImage(n,0,0),s.getImageData(0,0,n.width,n.height).data.buffer}}},499:(t,e,i)=>{"use strict";i.d(e,{Ie:()=>l,It:()=>s,L:()=>n,L5:()=>c,P1:()=>g,Qb:()=>u,pd:()=>h,sf:()=>a});const n={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},r={};for(const t in n)n.hasOwnProperty(t)&&(r[n[t]]=parseInt(t,10));const s=[r.BitsPerSample,r.ExtraSamples,r.SampleFormat,r.StripByteCounts,r.StripOffsets,r.StripRowCounts,r.TileByteCounts,r.TileOffsets,r.SubIFDs],o={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},a={};for(const t in o)o.hasOwnProperty(t)&&(a[o[t]]=parseInt(t,10));const l={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},h={Unspecified:0,Assocalpha:1,Unassalpha:2},c={Version:0,AddCompression:1},u={None:0,Deflate:1,Zstandard:2},g={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},d={};for(const t in g)g.hasOwnProperty(t)&&(d[g[t]]=parseInt(t,10))},294:(t,e,i)=>{"use strict";i.r(e),i.d(e,{create:()=>r});const n=Worker;function r(){const t='function A(A,e,t,i,r,I,g){try{var n=A[I](g),a=n.value}catch(A){return void t(A)}n.done?e(a):Promise.resolve(a).then(i,r)}function e(e){return function(){var t=this,i=arguments;return new Promise((function(r,I){var g=e.apply(t,i);function n(e){A(g,r,I,n,a,"next",e)}function a(e){A(g,r,I,n,a,"throw",e)}n(void 0)}))}}function t(A){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},t(A)}var i={exports:{}};!function(A){var e=function(A){var e,i=Object.prototype,r=i.hasOwnProperty,I="function"==typeof Symbol?Symbol:{},g=I.iterator||"@@iterator",n=I.asyncIterator||"@@asyncIterator",a=I.toStringTag||"@@toStringTag";function o(A,e,t){return Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),A[e]}try{o({},"")}catch(A){o=function(A,e,t){return A[e]=t}}function B(A,e,t,i){var r=e&&e.prototype instanceof h?e:h,I=Object.create(r.prototype),g=new S(i||[]);return I._invoke=function(A,e,t){var i=Q;return function(r,I){if(i===s)throw new Error("Generator is already running");if(i===f){if("throw"===r)throw I;return R()}for(t.method=r,t.arg=I;;){var g=t.delegate;if(g){var n=m(g,t);if(n){if(n===c)continue;return n}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(i===Q)throw i=f,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);i=s;var a=C(A,e,t);if("normal"===a.type){if(i=t.done?f:E,a.arg===c)continue;return{value:a.arg,done:t.done}}"throw"===a.type&&(i=f,t.method="throw",t.arg=a.arg)}}}(A,t,g),I}function C(A,e,t){try{return{type:"normal",arg:A.call(e,t)}}catch(A){return{type:"throw",arg:A}}}A.wrap=B;var Q="suspendedStart",E="suspendedYield",s="executing",f="completed",c={};function h(){}function l(){}function u(){}var w={};o(w,g,(function(){return this}));var d=Object.getPrototypeOf,D=d&&d(d(v([])));D&&D!==i&&r.call(D,g)&&(w=D);var y=u.prototype=h.prototype=Object.create(w);function k(A){["next","throw","return"].forEach((function(e){o(A,e,(function(A){return this._invoke(e,A)}))}))}function p(A,e){function i(I,g,n,a){var o=C(A[I],A,g);if("throw"!==o.type){var B=o.arg,Q=B.value;return Q&&"object"===t(Q)&&r.call(Q,"__await")?e.resolve(Q.__await).then((function(A){i("next",A,n,a)}),(function(A){i("throw",A,n,a)})):e.resolve(Q).then((function(A){B.value=A,n(B)}),(function(A){return i("throw",A,n,a)}))}a(o.arg)}var I;this._invoke=function(A,t){function r(){return new e((function(e,r){i(A,t,e,r)}))}return I=I?I.then(r,r):r()}}function m(A,t){var i=A.iterator[t.method];if(i===e){if(t.delegate=null,"throw"===t.method){if(A.iterator.return&&(t.method="return",t.arg=e,m(A,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a \'throw\' method")}return c}var r=C(i,A.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,c;var I=r.arg;return I?I.done?(t[A.resultName]=I.value,t.next=A.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,c):I:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function G(A){var e={tryLoc:A[0]};1 in A&&(e.catchLoc=A[1]),2 in A&&(e.finallyLoc=A[2],e.afterLoc=A[3]),this.tryEntries.push(e)}function F(A){var e=A.completion||{};e.type="normal",delete e.arg,A.completion=e}function S(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(G,this),this.reset(!0)}function v(A){if(A){var t=A[g];if(t)return t.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var i=-1,I=function t(){for(;++i=0;--I){var g=this.tryEntries[I],n=g.completion;if("root"===g.tryLoc)return i("end");if(g.tryLoc<=this.prev){var a=r.call(g,"catchLoc"),o=r.call(g,"finallyLoc");if(a&&o){if(this.prev=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),F(t),c}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var i=t.completion;if("throw"===i.type){var r=i.arg;F(t)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(A,t,i){return this.delegate={iterator:v(A),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=e),c}},A}(A.exports);try{regeneratorRuntime=e}catch(A){"object"===("undefined"==typeof globalThis?"undefined":t(globalThis))?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(i);var r=i.exports,I=new Map;function g(A,e){Array.isArray(A)||(A=[A]),A.forEach((function(A){return I.set(A,e)}))}function n(A){return a.apply(this,arguments)}function a(){return(a=e(r.mark((function A(e){var t,i;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t=I.get(e.Compression)){A.next=3;break}throw new Error("Unknown compression method identifier: ".concat(e.Compression));case 3:return A.next=5,t();case 5:return i=A.sent,A.abrupt("return",new i(e));case 7:case"end":return A.stop()}}),A)})))).apply(this,arguments)}g([void 0,1],(function(){return Promise.resolve().then((function(){return y})).then((function(A){return A.default}))})),g(5,(function(){return Promise.resolve().then((function(){return F})).then((function(A){return A.default}))})),g(6,(function(){throw new Error("old style JPEG compression is not supported.")})),g(7,(function(){return Promise.resolve().then((function(){return N})).then((function(A){return A.default}))})),g([8,32946],(function(){return Promise.resolve().then((function(){return OA})).then((function(A){return A.default}))})),g(32773,(function(){return Promise.resolve().then((function(){return _A})).then((function(A){return A.default}))})),g(34887,(function(){return Promise.resolve().then((function(){return le})).then(function(){var A=e(r.mark((function A(e){return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,e.zstd.init();case 2:return A.abrupt("return",e);case 3:case"end":return A.stop()}}),A)})));return function(e){return A.apply(this,arguments)}}()).then((function(A){return A.default}))})),g(50001,(function(){return Promise.resolve().then((function(){return de})).then((function(A){return A.default}))}));var o=globalThis;function B(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function C(A,e){for(var t=0;t0;r--)A[i+e]+=A[i],i++;t-=e}while(t>0)}function l(A,e,t){for(var i=0,r=A.length,I=r/t;r>e;){for(var g=e;g>0;--g)A[i+e]+=A[i],++i;r-=e}for(var n=A.slice(),a=0;a=A.byteLength);++o){var B=void 0;if(2===e){switch(r[0]){case 8:B=new Uint8Array(A,o*a*t*n,a*t*n);break;case 16:B=new Uint16Array(A,o*a*t*n,a*t*n/2);break;case 32:B=new Uint32Array(A,o*a*t*n,a*t*n/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(r[0]," bits per sample."))}h(B,a)}else 3===e&&l(B=new Uint8Array(A,o*a*t*n,a*t*n),a,n)}return A}o.addEventListener("message",function(){var A=e(r.mark((function A(e){var t,i,I,g,a,B;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t=e.data,i=t.id,I=t.fileDirectory,g=t.buffer,A.next=3,n(I);case 3:return a=A.sent,A.next=6,a.decode(I,g);case 6:B=A.sent,o.postMessage({decoded:B,id:i},[B]);case 8:case"end":return A.stop()}}),A)})));return function(e){return A.apply(this,arguments)}}());var w=function(){function A(){B(this,A)}var t;return Q(A,[{key:"decode",value:(t=e(r.mark((function A(e,t){var i,I,g,n,a;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this.decodeBlock(t);case 2:if(i=A.sent,1===(I=e.Predictor||1)){A.next=9;break}return g=!e.StripOffsets,n=g?e.TileWidth:e.ImageWidth,a=g?e.TileLength:e.RowsPerStrip||e.ImageLength,A.abrupt("return",u(i,I,n,a,e.BitsPerSample,e.PlanarConfiguration));case 9:return A.abrupt("return",i);case 10:case"end":return A.stop()}}),A,this)}))),function(A,e){return t.apply(this,arguments)})}]),A}();function d(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var D=function(A){s(t,w);var e=d(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return A}}]),t}(),y=Object.freeze({__proto__:null,default:D});function k(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}function p(A,e){for(var t=e.length-1;t>=0;t--)A.push(e[t]);return A}function m(A){for(var e=new Uint16Array(4093),t=new Uint8Array(4093),i=0;i<=257;i++)e[i]=4096,t[i]=i;var r=258,I=9,g=0;function n(){r=258,I=9}function a(A){var e=function(A,e,t){var i=e%8,r=Math.floor(e/8),I=8-i,g=e+t-8*(r+1),n=8*(r+2)-(e+t),a=8*(r+2)-e;if(n=Math.max(0,n),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;var o=A[r]&Math.pow(2,8-i)-1,B=o<<=t-I;if(r+1>>n;B+=C<<=Math.max(0,t-a)}if(g>8&&r+2>>Q}return B}(A,g,I);return g+=I,e}function o(A,i){return t[r]=i,e[r]=A,++r-1}function B(A){for(var i=[],r=A;4096!==r;r=e[r])i.push(t[r]);return i}var C=[];n();for(var Q,E=new Uint8Array(A),s=a(E);257!==s;){if(256===s){for(n(),s=a(E);256===s;)s=a(E);if(257===s)break;if(s>256)throw new Error("corrupted code at scanline ".concat(s));p(C,B(s)),Q=s}else if(s=Math.pow(2,I)&&(12===I?Q=void 0:I++),s=a(E)}return new Uint8Array(C)}var G=function(A){s(t,w);var e=k(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return m(A).buffer}}]),t}(),F=Object.freeze({__proto__:null,default:G});function S(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var v=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function R(A,e){for(var t=0,i=[],r=16;r>0&&!A[r-1];)--r;i.push({children:[],index:0});for(var I,g=i[0],n=0;n0;)g=i.pop();for(g.index++,i.push(g);i.length<=n;)i.push(I={children:[],index:0}),g.children[g.index]=I.children,g=I;t++}n+10)return f--,s>>f&1;if(255===(s=A[E++])){var e=A[E++];if(e)throw new Error("unexpected marker: ".concat((s<<8|e).toString(16)))}return f=7,s>>>7}function h(A){for(var e,i=A;null!==(e=c());){if("number"==typeof(i=i[e]))return i;if("object"!==t(i))throw new Error("invalid huffman sequence")}return null}function l(A){for(var e=A,t=0;e>0;){var i=c();if(null===i)return;t=t<<1|i,--e}return t}function u(A){var e=l(A);return e>=1<0)w--;else for(var t=g,i=n;t<=i;){var r=h(A.huffmanTableAC),I=15&r,a=r>>4;if(0===I){if(a<15){w=l(a)+(1<>4,0===C)r<15?(w=l(r)+(1<>4;if(0===g){if(n<15)break;r+=16}else e[v[r+=n]]=u(g),r++}};var L,b,M=0;b=1===U?r[0].blocksPerLine*r[0].blocksPerColumn:B*i.mcusPerColumn;for(var N=I||b;M=65488&&L<=65495))break;E+=2}return E-Q}function L(A,e){var t=[],i=e.blocksPerLine,r=e.blocksPerColumn,I=i<<3,g=new Int32Array(64),n=new Uint8Array(64);function a(A,t,i){var r,I,g,n,a,o,B,C,Q,E,s=e.quantizationTable,f=i;for(E=0;E<64;E++)f[E]=A[E]*s[E];for(E=0;E<8;++E){var c=8*E;0!==f[1+c]||0!==f[2+c]||0!==f[3+c]||0!==f[4+c]||0!==f[5+c]||0!==f[6+c]||0!==f[7+c]?(r=5793*f[0+c]+128>>8,I=5793*f[4+c]+128>>8,g=f[2+c],n=f[6+c],a=2896*(f[1+c]-f[7+c])+128>>8,C=2896*(f[1+c]+f[7+c])+128>>8,o=f[3+c]<<4,Q=r-I+1>>1,r=r+I+1>>1,I=Q,Q=3784*g+1567*n+128>>8,g=1567*g-3784*n+128>>8,n=Q,Q=a-(B=f[5+c]<<4)+1>>1,a=a+B+1>>1,B=Q,Q=C+o+1>>1,o=C-o+1>>1,C=Q,Q=r-n+1>>1,r=r+n+1>>1,n=Q,Q=I-g+1>>1,I=I+g+1>>1,g=Q,Q=2276*a+3406*C+2048>>12,a=3406*a-2276*C+2048>>12,C=Q,Q=799*o+4017*B+2048>>12,o=4017*o-799*B+2048>>12,B=Q,f[0+c]=r+C,f[7+c]=r-C,f[1+c]=I+B,f[6+c]=I-B,f[2+c]=g+o,f[5+c]=g-o,f[3+c]=n+a,f[4+c]=n-a):(Q=5793*f[0+c]+512>>10,f[0+c]=Q,f[1+c]=Q,f[2+c]=Q,f[3+c]=Q,f[4+c]=Q,f[5+c]=Q,f[6+c]=Q,f[7+c]=Q)}for(E=0;E<8;++E){var h=E;0!==f[8+h]||0!==f[16+h]||0!==f[24+h]||0!==f[32+h]||0!==f[40+h]||0!==f[48+h]||0!==f[56+h]?(r=5793*f[0+h]+2048>>12,I=5793*f[32+h]+2048>>12,g=f[16+h],n=f[48+h],a=2896*(f[8+h]-f[56+h])+2048>>12,C=2896*(f[8+h]+f[56+h])+2048>>12,o=f[24+h],Q=r-I+1>>1,r=r+I+1>>1,I=Q,Q=3784*g+1567*n+2048>>12,g=1567*g-3784*n+2048>>12,n=Q,Q=a-(B=f[40+h])+1>>1,a=a+B+1>>1,B=Q,Q=C+o+1>>1,o=C-o+1>>1,C=Q,Q=r-n+1>>1,r=r+n+1>>1,n=Q,Q=I-g+1>>1,I=I+g+1>>1,g=Q,Q=2276*a+3406*C+2048>>12,a=3406*a-2276*C+2048>>12,C=Q,Q=799*o+4017*B+2048>>12,o=4017*o-799*B+2048>>12,B=Q,f[0+h]=r+C,f[56+h]=r-C,f[8+h]=I+B,f[48+h]=I-B,f[16+h]=g+o,f[40+h]=g-o,f[24+h]=n+a,f[32+h]=n-a):(Q=5793*i[E+0]+8192>>14,f[0+h]=Q,f[8+h]=Q,f[16+h]=Q,f[24+h]=Q,f[32+h]=Q,f[40+h]=Q,f[48+h]=Q,f[56+h]=Q)}for(E=0;E<64;++E){var l=128+(f[E]+8>>4);t[E]=l<0?0:l>255?255:l}}for(var o=0;o>4==0)for(var C=0;C<64;C++){B[v[C]]=A[e++]}else{if(o>>4!=1)throw new Error("DQT: invalid table spec");for(var Q=0;Q<64;Q++){B[v[Q]]=t()}}this.quantizationTables[15&o]=B}break;case 65472:case 65473:case 65474:t();for(var E={extended:65473===g,progressive:65474===g,precision:A[e++],scanLines:t(),samplesPerLine:t(),components:{},componentsOrder:[]},s=A[e++],f=void 0,c=0;c>4,l=15&A[e+1],u=A[e+2];E.componentsOrder.push(f),E.components[f]={h:h,v:l,quantizationIdx:u},e+=3}i(E),this.frames.push(E);break;case 65476:for(var w=t(),d=2;d>4==0?this.huffmanTablesDC[15&D]=R(y,m):this.huffmanTablesAC[15&D]=R(y,m)}break;case 65501:t(),this.resetInterval=t();break;case 65498:t();for(var F=A[e++],S=[],L=this.frames[0],b=0;b>4],M.huffmanTableAC=this.huffmanTablesAC[15&N],S.push(M)}var x=A[e++],J=A[e++],q=A[e++],Y=U(A,e,L,S,this.resetInterval,x,J,q>>4,15&q);e+=Y;break;case 65535:255!==A[e]&&e--;break;default:if(255===A[e-3]&&A[e-2]>=192&&A[e-2]<=254){e-=3;break}throw new Error("unknown JPEG marker ".concat(g.toString(16)))}g=t()}}},{key:"getResult",value:function(){var A=this.frames;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(var e=0;e=0;)A[e]=0}x(new Array(576)),x(new Array(60)),x(new Array(512)),x(new Array(256)),x(new Array(29)),x(new Array(30));var J=function(A,e,t,i){for(var r=65535&A|0,I=A>>>16&65535|0,g=0;0!==t;){t-=g=t>2e3?2e3:t;do{I=I+(r=r+e[i++]|0)|0}while(--g);r%=65521,I%=65521}return r|I<<16|0},q=new Uint32Array(function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}()),Y=function(A,e,t,i){var r=q,I=i+t;A^=-1;for(var g=i;g>>8^r[255&(A^e[g])];return-1^A},K={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},H={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},O=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},P=function(A){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var i=e.shift();if(i){if("object"!==t(i))throw new TypeError(i+"must be non-object");for(var r in i)O(i,r)&&(A[r]=i[r])}}return A},T=function(A){for(var e=0,t=0,i=A.length;t=252?6:X>=248?5:X>=240?4:X>=224?3:X>=192?2:1;_[254]=_[254]=1;var Z=function(A){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);var e,t,i,r,I,g=A.length,n=0;for(r=0;r>>6,e[I++]=128|63&t):t<65536?(e[I++]=224|t>>>12,e[I++]=128|t>>>6&63,e[I++]=128|63&t):(e[I++]=240|t>>>18,e[I++]=128|t>>>12&63,e[I++]=128|t>>>6&63,e[I++]=128|63&t);return e},j=function(A,e){var t,i,r=e||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,e));var I=new Array(2*r);for(i=0,t=0;t4)I[i++]=65533,t+=n-1;else{for(g&=2===n?31:3===n?15:7;n>1&&t1?I[i++]=65533:g<65536?I[i++]=g:(g-=65536,I[i++]=55296|g>>10&1023,I[i++]=56320|1023&g)}}}return function(A,e){if(e<65534&&A.subarray&&V)return String.fromCharCode.apply(null,A.length===e?A:A.subarray(0,e));for(var t="",i=0;iA.length&&(e=A.length);for(var t=e-1;t>=0&&128==(192&A[t]);)t--;return t<0||0===t?e:t+_[A[t]]>e?t:e};var z=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},$=function(A,e){var t,i,r,I,g,n,a,o,B,C,Q,E,s,f,c,h,l,u,w,d,D,y,k,p,m=A.state;t=A.next_in,k=A.input,i=t+(A.avail_in-5),r=A.next_out,p=A.output,I=r-(e-A.avail_out),g=r+(A.avail_out-257),n=m.dmax,a=m.wsize,o=m.whave,B=m.wnext,C=m.window,Q=m.hold,E=m.bits,s=m.lencode,f=m.distcode,c=(1<>>=u=l>>>24,E-=u,0===(u=l>>>16&255))p[r++]=65535&l;else{if(!(16&u)){if(0==(64&u)){l=s[(65535&l)+(Q&(1<>>=u,E-=u),E<15&&(Q+=k[t++]<>>=u=l>>>24,E-=u,!(16&(u=l>>>16&255))){if(0==(64&u)){l=f[(65535&l)+(Q&(1<n){A.msg="invalid distance too far back",m.mode=30;break A}if(Q>>>=u,E-=u,d>(u=r-I)){if((u=d-u)>o&&m.sane){A.msg="invalid distance too far back",m.mode=30;break A}if(D=0,y=C,0===B){if(D+=a-u,u2;)p[r++]=y[D++],p[r++]=y[D++],p[r++]=y[D++],w-=3;w&&(p[r++]=y[D++],w>1&&(p[r++]=y[D++]))}else{D=r-d;do{p[r++]=p[D++],p[r++]=p[D++],p[r++]=p[D++],w-=3}while(w>2);w&&(p[r++]=p[D++],w>1&&(p[r++]=p[D++]))}break}}break}}while(t>3,Q&=(1<<(E-=w<<3))-1,A.next_in=t,A.next_out=r,A.avail_in=t=1&&0===v[d];d--);if(D>d&&(D=d),0===d)return r[I++]=20971520,r[I++]=20971520,n.bits=1,0;for(w=1;w0&&(0===A||1!==d))return-1;for(R[1]=0,l=1;l<15;l++)R[l+1]=R[l]+v[l];for(u=0;u852||2===A&&m>592)return 1;for(;;){s=l-k,g[u]E?(f=U[L+g[u]],c=F[S+g[u]]):(f=96,c=0),a=1<>k)+(o-=a)]=s<<24|f<<16|c|0}while(0!==o);for(a=1<>=1;if(0!==a?(G&=a-1,G+=a):G=0,u++,0==--v[l]){if(l===d)break;l=e[t+g[u]]}if(l>D&&(G&C)!==B){for(0===k&&(k=D),Q+=w,p=1<<(y=l-k);y+k852||2===A&&m>592)return 1;r[B=G&C]=D<<24|y<<16|Q-I|0}}return 0!==G&&(r[Q+G]=l-k<<24|64<<16|0),n.bits=D,0},IA=H.Z_FINISH,gA=H.Z_BLOCK,nA=H.Z_TREES,aA=H.Z_OK,oA=H.Z_STREAM_END,BA=H.Z_NEED_DICT,CA=H.Z_STREAM_ERROR,QA=H.Z_DATA_ERROR,EA=H.Z_MEM_ERROR,sA=H.Z_BUF_ERROR,fA=H.Z_DEFLATED,cA=function(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)};function hA(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var lA,uA,wA=function(A){if(!A||!A.state)return CA;var e=A.state;return A.total_in=A.total_out=e.total=0,A.msg="",e.wrap&&(A.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,aA},dA=function(A){if(!A||!A.state)return CA;var e=A.state;return e.wsize=0,e.whave=0,e.wnext=0,wA(A)},DA=function(A,e){var t;if(!A||!A.state)return CA;var i=A.state;return e<0?(t=0,e=-e):(t=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?CA:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,dA(A))},yA=function(A,e){if(!A)return CA;var t=new hA;A.state=t,t.window=null;var i=DA(A,e);return i!==aA&&(A.state=null),i},kA=!0,pA=function(A){if(kA){lA=new Int32Array(512),uA=new Int32Array(32);for(var e=0;e<144;)A.lens[e++]=8;for(;e<256;)A.lens[e++]=9;for(;e<280;)A.lens[e++]=7;for(;e<288;)A.lens[e++]=8;for(rA(1,A.lens,0,288,lA,0,A.work,{bits:9}),e=0;e<32;)A.lens[e++]=5;rA(2,A.lens,0,32,uA,0,A.work,{bits:5}),kA=!1}A.lencode=lA,A.lenbits=9,A.distcode=uA,A.distbits=5},mA=function(A,e,t,i){var r,I=A.state;return null===I.window&&(I.wsize=1<=I.wsize?(I.window.set(e.subarray(t-I.wsize,t),0),I.wnext=0,I.whave=I.wsize):((r=I.wsize-I.wnext)>i&&(r=i),I.window.set(e.subarray(t-i,t-i+r),I.wnext),(i-=r)?(I.window.set(e.subarray(t-i,t),0),I.wnext=i,I.whave=I.wsize):(I.wnext+=r,I.wnext===I.wsize&&(I.wnext=0),I.whave>>8&255,t.check=Y(t.check,G,2,0),o=0,B=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&o)<<8)+(o>>8))%31){A.msg="incorrect header check",t.mode=30;break}if((15&o)!==fA){A.msg="unknown compression method",t.mode=30;break}if(B-=4,D=8+(15&(o>>>=4)),0===t.wbits)t.wbits=D;else if(D>t.wbits){A.msg="invalid window size",t.mode=30;break}t.dmax=1<>8&1),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0,t.mode=3;case 3:for(;B<32;){if(0===n)break A;n--,o+=i[I++]<>>8&255,G[2]=o>>>16&255,G[3]=o>>>24&255,t.check=Y(t.check,G,4,0)),o=0,B=0,t.mode=4;case 4:for(;B<16;){if(0===n)break A;n--,o+=i[I++]<>8),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0,t.mode=5;case 5:if(1024&t.flags){for(;B<16;){if(0===n)break A;n--,o+=i[I++]<>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&((E=t.length)>n&&(E=n),E&&(t.head&&(D=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(i.subarray(I,I+E),D)),512&t.flags&&(t.check=Y(t.check,i,E,I)),n-=E,I+=E,t.length-=E),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===n)break A;E=0;do{D=i[I+E++],t.head&&D&&t.length<65536&&(t.head.name+=String.fromCharCode(D))}while(D&&E>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=12;break;case 10:for(;B<32;){if(0===n)break A;n--,o+=i[I++]<>>=7&B,B-=7&B,t.mode=27;break}for(;B<3;){if(0===n)break A;n--,o+=i[I++]<>>=1)){case 0:t.mode=14;break;case 1:if(pA(t),t.mode=20,e===nA){o>>>=2,B-=2;break A}break;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=30}o>>>=2,B-=2;break;case 14:for(o>>>=7&B,B-=7&B;B<32;){if(0===n)break A;n--,o+=i[I++]<>>16^65535)){A.msg="invalid stored block lengths",t.mode=30;break}if(t.length=65535&o,o=0,B=0,t.mode=15,e===nA)break A;case 15:t.mode=16;case 16:if(E=t.length){if(E>n&&(E=n),E>a&&(E=a),0===E)break A;r.set(i.subarray(I,I+E),g),n-=E,I+=E,a-=E,g+=E,t.length-=E;break}t.mode=12;break;case 17:for(;B<14;){if(0===n)break A;n--,o+=i[I++]<>>=5,B-=5,t.ndist=1+(31&o),o>>>=5,B-=5,t.ncode=4+(15&o),o>>>=4,B-=4,t.nlen>286||t.ndist>30){A.msg="too many length or distance symbols",t.mode=30;break}t.have=0,t.mode=18;case 18:for(;t.have>>=3,B-=3}for(;t.have<19;)t.lens[F[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,k={bits:t.lenbits},y=rA(0,t.lens,0,19,t.lencode,0,t.work,k),t.lenbits=k.bits,y){A.msg="invalid code lengths set",t.mode=30;break}t.have=0,t.mode=19;case 19:for(;t.have>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<>>=c,B-=c,t.lens[t.have++]=l;else{if(16===l){for(p=c+2;B>>=c,B-=c,0===t.have){A.msg="invalid bit length repeat",t.mode=30;break}D=t.lens[t.have-1],E=3+(3&o),o>>>=2,B-=2}else if(17===l){for(p=c+3;B>>=c)),o>>>=3,B-=3}else{for(p=c+7;B>>=c)),o>>>=7,B-=7}if(t.have+E>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=30;break}for(;E--;)t.lens[t.have++]=D}}if(30===t.mode)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=30;break}if(t.lenbits=9,k={bits:t.lenbits},y=rA(1,t.lens,0,t.nlen,t.lencode,0,t.work,k),t.lenbits=k.bits,y){A.msg="invalid literal/lengths set",t.mode=30;break}if(t.distbits=6,t.distcode=t.distdyn,k={bits:t.distbits},y=rA(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,k),t.distbits=k.bits,y){A.msg="invalid distances set",t.mode=30;break}if(t.mode=20,e===nA)break A;case 20:t.mode=21;case 21:if(n>=6&&a>=258){A.next_out=g,A.avail_out=a,A.next_in=I,A.avail_in=n,t.hold=o,t.bits=B,$(A,Q),g=A.next_out,r=A.output,a=A.avail_out,I=A.next_in,i=A.input,n=A.avail_in,o=t.hold,B=t.bits,12===t.mode&&(t.back=-1);break}for(t.back=0;h=(m=t.lencode[o&(1<>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<>u)])>>>16&255,l=65535&m,!(u+(c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<>>=u,B-=u,t.back+=u}if(o>>>=c,B-=c,t.back+=c,t.length=l,0===h){t.mode=26;break}if(32&h){t.back=-1,t.mode=12;break}if(64&h){A.msg="invalid literal/length code",t.mode=30;break}t.extra=15&h,t.mode=22;case 22:if(t.extra){for(p=t.extra;B>>=t.extra,B-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;h=(m=t.distcode[o&(1<>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<>u)])>>>16&255,l=65535&m,!(u+(c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<>>=u,B-=u,t.back+=u}if(o>>>=c,B-=c,t.back+=c,64&h){A.msg="invalid distance code",t.mode=30;break}t.offset=l,t.extra=15&h,t.mode=24;case 24:if(t.extra){for(p=t.extra;B>>=t.extra,B-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=30;break}t.mode=25;case 25:if(0===a)break A;if(E=Q-a,t.offset>E){if((E=t.offset-E)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=30;break}E>t.wnext?(E-=t.wnext,s=t.wsize-E):s=t.wnext-E,E>t.length&&(E=t.length),f=t.window}else f=r,s=g-t.offset,E=t.length;E>a&&(E=a),a-=E,t.length-=E;do{r[g++]=f[s++]}while(--E);0===t.length&&(t.mode=21);break;case 26:if(0===a)break A;r[g++]=t.length,a--,t.mode=21;break;case 27:if(t.wrap){for(;B<32;){if(0===n)break A;n--,o|=i[I++]<=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||A&&A.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new z,this.strm.avail_out=0;var t=GA.inflateInit2(this.strm,e.windowBits);if(t!==UA)throw new Error(K[t]);if(this.header=new FA,GA.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Z(e.dictionary):"[object ArrayBuffer]"===SA.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=GA.inflateSetDictionary(this.strm,e.dictionary))!==UA))throw new Error(K[t])}function qA(A,e){var t=new JA(e);if(t.push(A),t.err)throw t.msg||K[t.err];return t.result}JA.prototype.push=function(A,e){var t,i,r,I=this.strm,g=this.options.chunkSize,n=this.options.dictionary;if(this.ended)return!1;for(i=e===~~e?e:!0===e?RA:vA,"[object ArrayBuffer]"===SA.call(A)?I.input=new Uint8Array(A):I.input=A,I.next_in=0,I.avail_in=I.input.length;;){for(0===I.avail_out&&(I.output=new Uint8Array(g),I.next_out=0,I.avail_out=g),(t=GA.inflate(I,i))===bA&&n&&((t=GA.inflateSetDictionary(I,n))===UA?t=GA.inflate(I,i):t===NA&&(t=bA));I.avail_in>0&&t===LA&&I.state.wrap>0&&0!==A[I.next_in];)GA.inflateReset(I),t=GA.inflate(I,i);switch(t){case MA:case NA:case bA:case xA:return this.onEnd(t),this.ended=!0,!1}if(r=I.avail_out,I.next_out&&(0===I.avail_out||t===LA))if("string"===this.options.to){var a=W(I.output,I.next_out),o=I.next_out-a,B=j(I.output,a);I.next_out=o,I.avail_out=g-o,o&&I.output.set(I.output.subarray(a,a+o),0),this.onData(B)}else this.onData(I.output.length===I.next_out?I.output:I.output.subarray(0,I.next_out));if(t!==UA||0!==r){if(t===LA)return t=GA.inflateEnd(this.strm),this.onEnd(t),this.ended=!0,!0;if(0===I.avail_in)break}}return!0},JA.prototype.onData=function(A){this.chunks.push(A)},JA.prototype.onEnd=function(A){A===UA&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=T(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var YA={Inflate:JA,inflate:qA,inflateRaw:function(A,e){return(e=e||{}).raw=!0,qA(A,e)},ungzip:qA,constants:H}.inflate;function KA(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var HA=function(A){s(t,w);var e=KA(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return YA(new Uint8Array(A)).buffer}}]),t}(),OA=Object.freeze({__proto__:null,default:HA});function PA(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var TA,VA=function(A){s(t,w);var e=PA(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){for(var e=new DataView(A),t=[],i=0;i>3],m<<=7&G),c=0;c>3]),128&m?(a&&(a[G]=1),f=f>(g=S.encoding<2?y[k++]:p)?g:f,n[G++]=g):(a&&(a[G]=0),n[G++]=i),m<<=1;G+=F}else if(S.encoding<2)for(h=0;h(g=y[k++])?g:f,n[G++]=g;G+=F}else for(f=f>p?p:f,h=0;h0){var g=new Uint8Array(Math.ceil(i.width*i.height/8)),n=(I=new DataView(A,e,i.mask.numBytes)).getInt16(0,!0),a=2,o=0;do{if(n>0)for(;n--;)g[o++]=I.getUint8(a++);else{var B=I.getUint8(a++);for(n=-n;n--;)g[o++]=B}n=I.getInt16(a,!0),a+=2}while(a0?1:0),s=Q+(i.height%Q>0?1:0);i.pixels.blocks=new Array(E*s);for(var f=0,c=0;c3)throw"Invalid block encoding ("+w.encoding+")";if(2!==w.encoding){if(0!==d&&2!==d){if(d>>=6,w.offsetType=d,2===d)w.offset=I.getInt8(1),l++;else if(1===d)w.offset=I.getInt16(1,!0),l+=2;else{if(0!==d)throw"Invalid block offset type";w.offset=I.getFloat32(1,!0),l+=4}if(1===w.encoding)if(d=I.getUint8(l),l++,w.bitsPerPixel=63&d,d>>=6,w.numValidPixelsType=d,2===d)w.numValidPixels=I.getUint8(l),l++;else if(1===d)w.numValidPixels=I.getUint16(l,!0),l+=2;else{if(0!==d)throw"Invalid valid pixel count type";w.numValidPixels=I.getUint32(l,!0),l+=4}}var D;if(e+=l,3!==w.encoding)if(0===w.encoding){var y=(i.pixels.numBytes-1)/4;if(y!==Math.floor(y))throw"uncompressed block has invalid length";D=new ArrayBuffer(4*y),new Uint8Array(D).set(new Uint8Array(A,e,4*y));var k=new Float32Array(D);w.rawData=k,e+=4*y}else if(1===w.encoding){var p=Math.ceil(w.numValidPixels*w.bitsPerPixel/8),m=Math.ceil(p/4);D=new ArrayBuffer(4*m),new Uint8Array(D).set(new Uint8Array(A,e,p)),w.stuffedData=new Uint32Array(D),e+=p}}else e++}return i.eofOffset=e,i},I=function(A,e,t,i,r,I,g){var n,a,o,B=(1<=e)a=o>>>Q-e&B,Q-=e;else{var f=e-Q;a=(o&B)<>>(Q=32-f)}I[n]=a=t?(o=B>>>f-t&E,f-=t):(o=(B&E)<<(C=t-f)&E,o+=(B=A[s++])>>>(f=32-C)),e[a]=r[o];else for(Q=Math.ceil((n-I)/g),a=0;a=t?(o=B>>>f-t&E,f-=t):(o=(B&E)<<(C=t-f)&E,o+=(B=A[s++])>>>(f=32-C)),e[a]=o=e?(Q=g>>>C-e&n,C-=e):(Q=(g&n)<<(B=e-C)&n,Q+=(g=A[a++])>>>(C=32-B)),E[o]=Q=t?(o=B>>>f&Q,s-=t,f+=t):(o=B>>>f&Q,s=32-(C=t-s),o|=((B=A[E++])&(1<=t?(o=B>>>f&Q,s-=t,f+=t):(o=B>>>f&Q,s=32-(C=t-s),o|=((B=A[E++])&(1<=e?(Q=g>>>E&n,C-=e,E+=e):(Q=g>>>E&n,C=32-(B=e-C),Q|=((g=A[a++])&(1<=t?(I=g>>>B-t&a,B-=t):(I=(g&a)<<(n=t-B)&a,I+=(g=A[o++])>>>(B=32-n)),e[r]=I;return e},C=function(A,e,t,i){var r,I,g,n,a=(1<=t?(I=g>>>C&a,B-=t,C+=t):(I=g>>>C&a,B=32-(n=t-B),I|=((g=A[o++])&(1<=359?359:r;r-=g;do{e+=A[I++]<<8,t+=e+=A[I++]}while(--g);e=(65535&e)+(e>>>16),t=(65535&t)+(t>>>16)}return 1&i&&(t+=e+=A[I]<<8),((t=(65535&t)+(t>>>16))<<16|(e=(65535&e)+(e>>>16)))>>>0},readHeaderInfo:function(A,e){var t=e.ptr,i=new Uint8Array(A,t,6),r={};if(r.fileIdentifierString=String.fromCharCode.apply(null,i),0!==r.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+r.fileIdentifierString;t+=6;var I,g=new DataView(A,t,8),n=g.getInt32(0,!0);if(r.fileVersion=n,t+=4,n>=3&&(r.checksum=g.getUint32(4,!0),t+=4),g=new DataView(A,t,12),r.height=g.getUint32(0,!0),r.width=g.getUint32(4,!0),t+=8,n>=4?(r.numDims=g.getUint32(8,!0),t+=4):r.numDims=1,g=new DataView(A,t,40),r.numValidPixel=g.getUint32(0,!0),r.microBlockSize=g.getInt32(4,!0),r.blobSize=g.getInt32(8,!0),r.imageType=g.getInt32(12,!0),r.maxZError=g.getFloat64(16,!0),r.zMin=g.getFloat64(24,!0),r.zMax=g.getFloat64(32,!0),t+=40,e.headerInfo=r,e.ptr=t,n>=3&&(I=n>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,t-I,r.blobSize-14))!==r.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,e){var t=e.headerInfo,i=this.getDataTypeArray(t.imageType),r=t.numDims*this.getDataTypeSize(t.imageType),I=this.readSubArray(A,e.ptr,i,r),g=this.readSubArray(A,e.ptr+r,i,r);e.ptr+=2*r;var n,a=!0;for(n=0;n0){t=new Uint8Array(Math.ceil(g/8));var B=(a=new DataView(A,r,o.numBytes)).getInt16(0,!0),C=2,Q=0,E=0;do{if(B>0)for(;B--;)t[Q++]=a.getUint8(C++);else for(E=a.getUint8(C++),B=-B;B--;)t[Q++]=E;B=a.getInt16(C,!0),C+=2}while(C>3],s<<=7&f):s=t[f>>3],128&s&&(i[f]=1);e.pixels.resultMask=i,o.bitset=t,r+=o.numBytes}return e.ptr=r,e.mask=o,!0},readDataOneSweep:function(A,e,t,i){var r,I=e.ptr,g=e.headerInfo,n=g.numDims,a=g.width*g.height,o=g.imageType,B=g.numValidPixel*Q.getDataTypeSize(o)*n,C=e.pixels.resultMask;if(t===Uint8Array)r=new Uint8Array(A,I,B);else{var E=new ArrayBuffer(B);new Uint8Array(E).set(new Uint8Array(A,I,B)),r=new t(E)}if(r.length===a*n)e.pixels.resultPixels=i?Q.swapDimensionOrder(r,a,n,t,!0):r;else{e.pixels.resultPixels=new t(a*n);var s=0,f=0,c=0,h=0;if(n>1){if(i){for(f=0;f=g)return!1;var n=new Uint32Array(g-I);Q.decodeBits(A,e,n);var a,o,B,C,s=[];for(a=I;a0&&(s[o].second=l<>>32-C,32-w>=C?32===(w+=C)&&(w=0,l=u[++d]):(w+=C-32,l=u[++d],s[o].second|=l>>>32-w));var D=0,y=0,k=new E;for(a=0;a=t?t:D;var p,m,G,F,S,v=[];for(a=I;a0)if(p=[C,o],C<=y)for(m=s[o].second<=0;F--)m>>>F&1?(S.right||(S.right=new E),S=S.right):(S.left||(S.left=new E),S=S.left),0!==F||S.val||(S.val=p[1]);return{decodeLut:v,numBitsLUTQick:y,numBitsLUT:D,tree:k,stuffedData:u,srcPtr:d,bitPos:w}},readHuffman:function(A,e,t,i){var r,I,g,n,a,o,B,C,E,s=e.headerInfo.numDims,f=e.headerInfo.height,c=e.headerInfo.width,h=c*f,l=this.readHuffmanTree(A,e),u=l.decodeLut,w=l.tree,d=l.stuffedData,D=l.srcPtr,y=l.bitPos,k=l.numBitsLUTQick,p=l.numBitsLUT,m=0===e.headerInfo.imageType?128:0,G=e.pixels.resultMask,F=0;y>0&&(D++,y=0);var S,v=d[D],R=1===e.encodeMode,U=new t(h*s),L=U;if(s<2||R){for(S=0;S1&&(L=new t(U.buffer,h*S,h),F=0),e.headerInfo.numValidPixel===c*f)for(C=0,o=0;o>>32-k,32-y>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<>>32-p,32-y>>64-y-p),r=w,E=0;E>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,R?(g+=B>0?F:o>0?L[C-c]:F,g&=255,L[C]=g,F=g):L[C]=g}else for(C=0,o=0;o>>32-k,32-y>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<>>32-p,32-y>>64-y-p),r=w,E=0;E>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,R?(B>0&&G[C-1]?g+=F:o>0&&G[C-c]?g+=L[C-c]:g+=F,g&=255,L[C]=g,F=g):L[C]=g}}else for(C=0,o=0;o>>32-k,32-y>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<>>32-p,32-y>>64-y-p),r=w,E=0;E>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,L[C]=g}e.ptr=e.ptr+4*(D+1)+(y>0?4:0),e.pixels.resultPixels=U,s>1&&!i&&(e.pixels.resultPixels=Q.swapDimensionOrder(U,h,s,t))},decodeBits:function(A,e,t,i,r){var I=e.headerInfo,Q=I.fileVersion,E=0,s=A.byteLength-e.ptr>=5?5:A.byteLength-e.ptr,f=new DataView(A,e.ptr,s),c=f.getUint8(0);E++;var h=c>>6,l=0===h?4:3-h,u=(32&c)>0,w=31&c,d=0;if(1===l)d=f.getUint8(E),E++;else if(2===l)d=f.getUint16(E,!0),E+=2;else{if(4!==l)throw"Invalid valid pixel count type";d=f.getUint32(E,!0),E+=4}var D,y,k,p,m,G,F,S,v,R=2*I.maxZError,U=I.numDims>1?I.maxValues[r]:I.zMax;if(u){for(e.counter.lut++,S=f.getUint8(E),E++,p=Math.ceil((S-1)*w/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),k=new Uint8Array(y),e.ptr+=E,k.set(new Uint8Array(A,e.ptr,p)),F=new Uint32Array(y),e.ptr+=p,v=0;S-1>>>v;)v++;p=Math.ceil(d*v/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),(k=new Uint8Array(y)).set(new Uint8Array(A,e.ptr,p)),D=new Uint32Array(y),e.ptr+=p,G=Q>=3?o(F,w,S-1,i,R,U):n(F,w,S-1,i,R,U),Q>=3?a(D,t,v,d,G):g(D,t,v,d,G)}else e.counter.bitstuffer++,v=w,e.ptr+=E,v>0&&(p=Math.ceil(d*v/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),(k=new Uint8Array(y)).set(new Uint8Array(A,e.ptr,p)),D=new Uint32Array(y),e.ptr+=p,Q>=3?null==i?C(D,t,v,d):a(D,t,v,d,!1,i,R,U):null==i?B(D,t,v,d):g(D,t,v,d,!1,i,R,U))},readTiles:function(A,e,t,i){var r=e.headerInfo,I=r.width,g=r.height,n=I*g,a=r.microBlockSize,o=r.imageType,B=Q.getDataTypeSize(o),C=Math.ceil(I/a),E=Math.ceil(g/a);e.pixels.numBlocksY=E,e.pixels.numBlocksX=C,e.pixels.ptr=0;var s,f,c,h,l,u,w,d,D,y,k=0,p=0,m=0,G=0,F=0,S=0,v=0,R=0,U=0,L=0,b=0,M=0,N=0,x=0,J=0,q=new t(a*a),Y=g%a||a,K=I%a||a,H=r.numDims,O=e.pixels.resultMask,P=e.pixels.resultPixels,T=r.fileVersion>=5?14:15,V=r.zMax;for(m=0;m1?(y=P,L=m*I*a+G*a,P=new t(e.pixels.resultPixels.buffer,n*d*B,n),V=r.maxValues[d]):y=null,v=A.byteLength-e.ptr,f={},J=0,R=(s=new DataView(A,e.ptr,Math.min(10,v))).getUint8(0),J++,D=r.fileVersion>=5?4&R:0,U=R>>6&255,(R>>2&T)!=(G*a>>3&T))throw"integrity issue";if(D&&0===d)throw"integrity issue";if((l=3&R)>3)throw e.ptr+=J,"Invalid block encoding ("+l+")";if(2!==l)if(0===l){if(D)throw"integrity issue";if(e.counter.uncompressed++,e.ptr+=J,M=(M=F*S*B)<(N=A.byteLength-e.ptr)?M:N,c=new ArrayBuffer(M%B==0?M:M+B-M%B),new Uint8Array(c).set(new Uint8Array(A,e.ptr,M)),h=new t(c),x=0,O)for(k=0;k1&&!i&&(e.pixels.resultPixels=Q.swapDimensionOrder(e.pixels.resultPixels,n,H,t))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:Q.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,e){var t=A.headerInfo.zMax,i=A.headerInfo.zMin,r=A.headerInfo.maxValues,I=A.headerInfo.numDims,g=A.headerInfo.height*A.headerInfo.width,n=0,a=0,o=0,B=A.pixels.resultMask,C=A.pixels.resultPixels;if(B)if(I>1){if(e)for(n=0;n1&&i!==t)if(e)for(n=0;n=-128&&e<=127;break;case 1:t=e>=0&&e<=255;break;case 2:t=e>=-32768&&e<=32767;break;case 3:t=e>=0&&e<=65536;break;case 4:t=e>=-2147483648&&e<=2147483647;break;case 5:t=e>=0&&e<=4294967296;break;case 6:t=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:t=e>=-17976931348623157e292&&e<=17976931348623157e292;break;default:t=!1}return t},getDataTypeSize:function(A){var e=0;switch(A){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=A}return e},getDataTypeUsed:function(A,e){var t=A;switch(A){case 2:case 4:t=A-e;break;case 3:case 5:t=A-2*e;break;case 6:t=0===e?A:1===e?2:1;break;case 7:t=0===e?A:A-2*e+1;break;default:t=A}return t},getOnePixel:function(A,e,t,i){var r=0;switch(t){case 0:r=i.getInt8(e);break;case 1:r=i.getUint8(e);break;case 2:r=i.getInt16(e,!0);break;case 3:r=i.getUint16(e,!0);break;case 4:r=i.getInt32(e,!0);break;case 5:r=i.getUInt32(e,!0);break;case 6:r=i.getFloat32(e,!0);break;case 7:r=i.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return r},swapDimensionOrder:function(A,e,t,i,r){var I=0,g=0,n=0,a=0,o=A;if(t>1)if(o=new i(e*t),r)for(I=0;I5)throw"unsupported lerc version 2."+g;Q.readMask(A,r),I.numValidPixel===I.width*I.height||r.pixels.resultMask||(r.pixels.resultMask=e.maskData);var a=I.width*I.height;r.pixels.resultPixels=new n(a*I.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o,B=!e.returnPixelInterleavedDims;if(0!==I.numValidPixel)if(I.zMax===I.zMin)Q.constructConstantSurface(r,B);else if(g>=4&&Q.checkMinMaxRanges(A,r))Q.constructConstantSurface(r,B);else{var C=new DataView(A,r.ptr,2),E=C.getUint8(0);if(r.ptr++,E)Q.readDataOneSweep(A,r,n,B);else if(g>1&&I.imageType<=1&&Math.abs(I.maxZError-.5)<1e-5){var s=C.getUint8(1);if(r.ptr++,r.encodeMode=s,s>2||g<4&&s>1)throw"Invalid Huffman flag "+s;s?Q.readHuffman(A,r,n,B):Q.readTiles(A,r,n,B)}else Q.readTiles(A,r,n,B)}r.eofOffset=r.ptr,e.inputOffset?(o=r.headerInfo.blobSize+e.inputOffset-r.ptr,Math.abs(o)>=1&&(r.eofOffset=e.inputOffset+r.headerInfo.blobSize)):(o=r.headerInfo.blobSize-r.ptr,Math.abs(o)>=1&&(r.eofOffset=r.headerInfo.blobSize));var f={width:I.width,height:I.height,pixelData:r.pixels.resultPixels,minValue:I.zMin,maxValue:I.zMax,validPixelCount:I.numValidPixel,dimCount:I.numDims,dimStats:{minValues:I.minValues,maxValues:I.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&Q.isValidPixelValue(I.imageType,t)){var c=r.pixels.resultMask;for(i=0;i1&&(o&&f.push(o),d.fileInfo.mask&&d.fileInfo.mask.numBytes>0&&w++),E++,u.pixels.push(d.pixelData),u.statistics.push({minValue:d.minValue,maxValue:d.maxValue,noDataValue:d.noDataValue,dimStats:d.dimStats})}if(i>1&&w>1){for(Q=u.width*u.height,u.bandMasks=f,(o=new Uint8Array(Q)).set(f[0]),B=1;B1&&void 0!==arguments[1]?arguments[1]:0;if(!jA)throw new Error("ZSTDDecoder: Await .init() before decoding.");var t=A.byteLength,i=jA.exports.malloc(t);WA.set(A,i),e=e||Number(jA.exports.ZSTD_findDecompressedSize(i,t));var r=jA.exports.malloc(e),I=jA.exports.ZSTD_decompress(r,e,i,t),g=WA.slice(r,r+I);return jA.exports.free(i),jA.exports.free(r),g}}]),A}(),ee="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",te={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},ie={};for(var re in te)te.hasOwnProperty(re)&&(ie[te[re]]=parseInt(re,10));ie.BitsPerSample,ie.ExtraSamples,ie.SampleFormat,ie.StripByteCounts,ie.StripOffsets,ie.StripRowCounts,ie.TileByteCounts,ie.TileOffsets,ie.SubIFDs;var Ie={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},ge={};for(var ne in Ie)Ie.hasOwnProperty(ne)&&(ge[Ie[ne]]=parseInt(ne,10));var ae=1,oe=0,Be=1,Ce=2,Qe={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Ee={};for(var se in Qe)Qe.hasOwnProperty(se)&&(Ee[Qe[se]]=parseInt(se,10));function fe(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var ce=new Ae,he=function(A){s(t,w);var e=fe(t);function t(A){var i;return B(this,t),(i=e.call(this)).planarConfiguration=void 0!==A.PlanarConfiguration?A.PlanarConfiguration:1,i.samplesPerPixel=void 0!==A.SamplesPerPixel?A.SamplesPerPixel:1,i.addCompression=A.LercParameters[ae],i}return Q(t,[{key:"decodeBlock",value:function(A){switch(this.addCompression){case oe:break;case Be:A=YA(new Uint8Array(A)).buffer;break;case Ce:A=ce.decode(new Uint8Array(A)).buffer;break;default:throw new Error("Unsupported LERC additional compression method identifier: ".concat(this.addCompression))}return zA.decode(A,{returnPixelInterleavedDims:1===this.planarConfiguration}).pixels[0].buffer}}]),t}(),le=Object.freeze({__proto__:null,zstd:ce,default:he});function ue(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var we=function(A){s(I,w);var t,i=ue(I);function I(){var A;if(B(this,I),A=i.call(this),"undefined"==typeof createImageBitmap)throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if("undefined"==typeof document&&"undefined"==typeof OffscreenCanvas)throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available");return A}return Q(I,[{key:"decode",value:(t=e(r.mark((function A(e,t){var i,I,g,n;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return i=new Blob([t]),A.next=3,createImageBitmap(i);case 3:return I=A.sent,"undefined"!=typeof document?((g=document.createElement("canvas")).width=I.width,g.height=I.height):g=new OffscreenCanvas(I.width,I.height),(n=g.getContext("2d")).drawImage(I,0,0),A.abrupt("return",n.getImageData(0,0,I.width,I.height).data.buffer);case 8:case"end":return A.stop()}}),A)}))),function(A,e){return t.apply(this,arguments)})}]),I}(),de=Object.freeze({__proto__:null,default:we});';return new n("undefined"!=typeof Buffer?"data:application/javascript;base64,"+Buffer.from(t,"binary").toString("base64"):URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}},885:(t,e,i)=>{"use strict";i.d(e,{rr:()=>fi});function n(t){let e=t.length;for(;--e>=0;)t[e]=0}const r=256,s=286,o=30,a=15,l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),h=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),c=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new Array(576);n(g);const d=new Array(60);n(d);const A=new Array(512);n(A);const p=new Array(256);n(p);const f=new Array(29);n(f);const m=new Array(o);function _(t,e,i,n,r){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=t&&t.length}let y,I,E;function C(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}n(m);const v=t=>t<256?A[t]:A[256+(t>>>7)],x=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},w=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<{w(t,i[2*e],i[2*e+1])},b=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},B=(t,e,i)=>{const n=new Array(16);let r,s,o=0;for(r=1;r<=a;r++)o=o+i[r-1]<<1,n[r]=o;for(s=0;s<=e;s++){let e=t[2*s+1];0!==e&&(t[2*s]=b(n[e]++,e))}},L=t=>{let e;for(e=0;e{t.bi_valid>8?x(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},T=(t,e,i,n)=>{const r=2*e,s=2*i;return t[r]{const n=t.heap[i];let r=i<<1;for(;r<=t.heap_len&&(r{let n,s,o,a,c=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+c++],n+=(255&t.pending_buf[t.sym_buf+c++])<<8,s=t.pending_buf[t.sym_buf+c++],0===n?S(t,s,e):(o=p[s],S(t,o+r+1,e),a=l[o],0!==a&&(s-=f[o],w(t,s,a)),n--,o=v(n),S(t,o,i),a=h[o],0!==a&&(n-=m[o],w(t,n,a)))}while(c{const i=e.dyn_tree,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,s=e.stat_desc.elems;let o,l,h,c=-1;for(t.heap_len=0,t.heap_max=573,o=0;o>1;o>=1;o--)R(t,i,o);h=s;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],R(t,i,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,i[2*h]=i[2*o]+i[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,i[2*o+1]=i[2*l+1]=h,t.heap[1]=h++,R(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,r=e.stat_desc.static_tree,s=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;let c,u,g,d,A,p,f=0;for(d=0;d<=a;d++)t.bl_count[d]=0;for(i[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)u=t.heap[c],d=i[2*i[2*u+1]+1]+1,d>h&&(d=h,f++),i[2*u+1]=d,u>n||(t.bl_count[d]++,A=0,u>=l&&(A=o[u-l]),p=i[2*u],t.opt_len+=p*(d+A),s&&(t.static_len+=p*(r[2*u+1]+A)));if(0!==f){do{for(d=h-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[h]--,f-=2}while(f>0);for(d=h;0!==d;d--)for(u=t.bl_count[d];0!==u;)g=t.heap[--c],g>n||(i[2*g+1]!==d&&(t.opt_len+=(d-i[2*g+1])*i[2*g],i[2*g+1]=d),u--)}})(t,e),B(i,c,t.bl_count)},F=(t,e,i)=>{let n,r,s=-1,o=e[1],a=0,l=7,h=4;for(0===o&&(l=138,h=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)r=o,o=e[2*(n+1)+1],++a{let n,r,s=-1,o=e[1],a=0,l=7,h=4;for(0===o&&(l=138,h=3),n=0;n<=i;n++)if(r=o,o=e[2*(n+1)+1],!(++a{w(t,0+(n?1:0),3),M(t),x(t,i),x(t,~i),i&&t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i};var k=(t,e,i,n)=>{let s,o,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(F(t,t.dyn_ltree,t.l_desc.max_code),F(t,t.dyn_dtree,t.d_desc.max_code),P(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*u[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),s=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=s&&(s=o)):s=o=i+5,i+4<=s&&-1!==e?Q(t,e,i,n):4===t.strategy||o===s?(w(t,2+(n?1:0),3),N(t,g,d)):(w(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(w(t,e-257,5),w(t,i-1,5),w(t,n-4,4),r=0;r{O||((()=>{let t,e,i,n,r;const u=new Array(16);for(i=0,n=0;n<28;n++)for(f[n]=i,t=0;t<1<>=7;n(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(p[i]+r+1)]++,t.dyn_dtree[2*v(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{w(t,2,3),S(t,256,g),(t=>{16===t.bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var U=(t,e,i,n)=>{let r=65535&t|0,s=t>>>16&65535|0,o=0;for(;0!==i;){o=i>2e3?2e3:i,i-=o;do{r=r+e[n++]|0,s=s+r|0}while(--o);r%=65521,s%=65521}return r|s<<16|0};const q=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var V=(t,e,i,n)=>{const r=q,s=n+i;t^=-1;for(let i=n;i>>8^r[255&(t^e[i])];return-1^t},z={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Y={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:j,_tr_stored_block:H,_tr_flush_block:X,_tr_tally:W,_tr_align:K}=G,{Z_NO_FLUSH:J,Z_PARTIAL_FLUSH:Z,Z_FULL_FLUSH:$,Z_FINISH:tt,Z_BLOCK:et,Z_OK:it,Z_STREAM_END:nt,Z_STREAM_ERROR:rt,Z_DATA_ERROR:st,Z_BUF_ERROR:ot,Z_DEFAULT_COMPRESSION:at,Z_FILTERED:lt,Z_HUFFMAN_ONLY:ht,Z_RLE:ct,Z_FIXED:ut,Z_DEFAULT_STRATEGY:gt,Z_UNKNOWN:dt,Z_DEFLATED:At}=Y,pt=258,ft=262,mt=42,_t=113,yt=666,It=(t,e)=>(t.msg=z[e],e),Et=t=>2*t-(t>4?9:0),Ct=t=>{let e=t.length;for(;--e>=0;)t[e]=0},vt=t=>{let e,i,n,r=t.w_size;e=t.hash_size,n=e;do{i=t.head[--n],t.head[n]=i>=r?i-r:0}while(--e);e=r,n=e;do{i=t.prev[--n],t.prev[n]=i>=r?i-r:0}while(--e)};let xt=(t,e,i)=>(e<{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},St=(t,e)=>{X(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},bt=(t,e)=>{t.pending_buf[t.pending++]=e},Bt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Lt=(t,e,i,n)=>{let r=t.avail_in;return r>n&&(r=n),0===r?0:(t.avail_in-=r,e.set(t.input.subarray(t.next_in,t.next_in+r),i),1===t.state.wrap?t.adler=U(t.adler,e,r,i):2===t.state.wrap&&(t.adler=V(t.adler,e,r,i)),t.next_in+=r,t.total_in+=r,r)},Mt=(t,e)=>{let i,n,r=t.max_chain_length,s=t.strstart,o=t.prev_length,a=t.nice_match;const l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,c=t.w_mask,u=t.prev,g=t.strstart+pt;let d=h[s+o-1],A=h[s+o];t.prev_length>=t.good_match&&(r>>=2),a>t.lookahead&&(a=t.lookahead);do{if(i=e,h[i+o]===A&&h[i+o-1]===d&&h[i]===h[s]&&h[++i]===h[s+1]){s+=2,i++;do{}while(h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&h[++s]===h[++i]&&so){if(t.match_start=e,o=n,n>=a)break;d=h[s+o-1],A=h[s+o]}}}while((e=u[e&c])>l&&0!=--r);return o<=t.lookahead?o:t.lookahead},Tt=t=>{const e=t.w_size;let i,n,r;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ft)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),vt(t),n+=e),0===t.strm.avail_in)break;if(i=Lt(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=i,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=xt(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=xt(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let i,n,r,s=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,o=0,a=t.strm.avail_in;do{if(i=65535,r=t.bi_valid+42>>3,t.strm.avail_outn+t.strm.avail_in&&(i=n+t.strm.avail_in),i>r&&(i=r),i>8,t.pending_buf[t.pending-2]=~i,t.pending_buf[t.pending-1]=~i>>8,wt(t.strm),n&&(n>i&&(n=i),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,i-=n),i&&(Lt(t.strm,t.strm.output,t.strm.next_out,i),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i)}while(0===o);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_waterr&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,r+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),r>t.strm.avail_in&&(r=t.strm.avail_in),r&&(Lt(t.strm,t.window,t.strstart,r),t.strstart+=r,t.insert+=r>t.w_size-t.insert?t.w_size-t.insert:r),t.high_water>3,r=t.pending_buf_size-r>65535?65535:t.pending_buf_size-r,s=r>t.w_size?t.w_size:r,n=t.strstart-t.block_start,(n>=s||(n||e===tt)&&e!==J&&0===t.strm.avail_in&&n<=r)&&(i=n>r?r:n,o=e===tt&&0===t.strm.avail_in&&i===n?1:0,H(t,t.block_start,i,o),t.block_start+=i,wt(t.strm)),o?3:1)},Nt=(t,e)=>{let i,n;for(;;){if(t.lookahead=3&&(t.ins_h=xt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ft&&(t.match_length=Mt(t,i)),t.match_length>=3)if(n=W(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=xt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=xt(t,t.ins_h,t.window[t.strstart+1]);else n=W(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(St(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===tt?(St(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(St(t,!1),0===t.strm.avail_out)?1:2},Pt=(t,e)=>{let i,n,r;for(;;){if(t.lookahead=3&&(t.ins_h=xt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,n=W(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=xt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(St(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=W(t,0,t.window[t.strstart-1]),n&&St(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=W(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===tt?(St(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(St(t,!1),0===t.strm.avail_out)?1:2};function Ft(t,e,i,n,r){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=r}const Dt=[new Ft(0,0,0,0,Rt),new Ft(4,4,8,4,Nt),new Ft(4,5,16,8,Nt),new Ft(4,6,32,32,Nt),new Ft(4,4,16,16,Pt),new Ft(8,16,32,32,Pt),new Ft(8,16,128,128,Pt),new Ft(8,32,128,256,Pt),new Ft(32,128,258,1024,Pt),new Ft(32,258,258,4096,Pt)];function Ot(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=At,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Ct(this.dyn_ltree),Ct(this.dyn_dtree),Ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ct(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Qt=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==mt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==_t&&e.status!==yt?1:0},kt=t=>{if(Qt(t))return It(t,rt);t.total_in=t.total_out=0,t.data_type=dt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?mt:_t,t.adler=2===e.wrap?0:1,e.last_flush=-2,j(e),it},Gt=t=>{const e=kt(t);var i;return e===it&&((i=t.state).window_size=2*i.w_size,Ct(i.head),i.max_lazy_match=Dt[i.level].max_lazy,i.good_match=Dt[i.level].good_length,i.nice_match=Dt[i.level].nice_length,i.max_chain_length=Dt[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Ut=(t,e,i,n,r,s)=>{if(!t)return rt;let o=1;if(e===at&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>9||i!==At||n<8||n>15||e<0||e>9||s<0||s>ut||8===n&&1!==o)return It(t,rt);8===n&&(n=9);const a=new Ot;return t.state=a,a.strm=t,a.status=mt,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<Ut(t,e,At,15,8,gt),deflateInit2:Ut,deflateReset:Gt,deflateResetKeep:kt,deflateSetHeader:(t,e)=>Qt(t)||2!==t.state.wrap?rt:(t.state.gzhead=e,it),deflate:(t,e)=>{if(Qt(t)||e>et||e<0)return t?It(t,rt):rt;const i=t.state;if(!t.output||0!==t.avail_in&&!t.input||i.status===yt&&e!==tt)return It(t,0===t.avail_out?ot:rt);const n=i.last_flush;if(i.last_flush=e,0!==i.pending){if(wt(t),0===t.avail_out)return i.last_flush=-1,it}else if(0===t.avail_in&&Et(e)<=Et(n)&&e!==tt)return It(t,ot);if(i.status===yt&&0!==t.avail_in)return It(t,ot);if(i.status===mt&&0===i.wrap&&(i.status=_t),i.status===mt){let e=At+(i.w_bits-8<<4)<<8,n=-1;if(n=i.strategy>=ht||i.level<2?0:i.level<6?1:6===i.level?2:3,e|=n<<6,0!==i.strstart&&(e|=32),e+=31-e%31,Bt(i,e),0!==i.strstart&&(Bt(i,t.adler>>>16),Bt(i,65535&t.adler)),t.adler=1,i.status=_t,wt(t),0!==i.pending)return i.last_flush=-1,it}if(57===i.status)if(t.adler=0,bt(i,31),bt(i,139),bt(i,8),i.gzhead)bt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),bt(i,255&i.gzhead.time),bt(i,i.gzhead.time>>8&255),bt(i,i.gzhead.time>>16&255),bt(i,i.gzhead.time>>24&255),bt(i,9===i.level?2:i.strategy>=ht||i.level<2?4:0),bt(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(bt(i,255&i.gzhead.extra.length),bt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=V(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(bt(i,0),bt(i,0),bt(i,0),bt(i,0),bt(i,0),bt(i,9===i.level?2:i.strategy>=ht||i.level<2?4:0),bt(i,3),i.status=_t,wt(t),0!==i.pending)return i.last_flush=-1,it;if(69===i.status){if(i.gzhead.extra){let e=i.pending,n=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+n>i.pending_buf_size;){let r=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+r),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>e&&(t.adler=V(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex+=r,wt(t),0!==i.pending)return i.last_flush=-1,it;e=0,n-=r}let r=new Uint8Array(i.gzhead.extra);i.pending_buf.set(r.subarray(i.gzindex,i.gzindex+n),i.pending),i.pending+=n,i.gzhead.hcrc&&i.pending>e&&(t.adler=V(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let e,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(t.adler=V(t.adler,i.pending_buf,i.pending-n,n)),wt(t),0!==i.pending)return i.last_flush=-1,it;n=0}e=i.gzindexn&&(t.adler=V(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let e,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(t.adler=V(t.adler,i.pending_buf,i.pending-n,n)),wt(t),0!==i.pending)return i.last_flush=-1,it;n=0}e=i.gzindexn&&(t.adler=V(t.adler,i.pending_buf,i.pending-n,n))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(wt(t),0!==i.pending))return i.last_flush=-1,it;bt(i,255&t.adler),bt(i,t.adler>>8&255),t.adler=0}if(i.status=_t,wt(t),0!==i.pending)return i.last_flush=-1,it}if(0!==t.avail_in||0!==i.lookahead||e!==J&&i.status!==yt){let n=0===i.level?Rt(i,e):i.strategy===ht?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(Tt(t),0===t.lookahead)){if(e===J)return 1;break}if(t.match_length=0,i=W(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(St(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===tt?(St(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(St(t,!1),0===t.strm.avail_out)?1:2})(i,e):i.strategy===ct?((t,e)=>{let i,n,r,s;const o=t.window;for(;;){if(t.lookahead<=pt){if(Tt(t),t.lookahead<=pt&&e===J)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=t.strstart-1,n=o[r],n===o[++r]&&n===o[++r]&&n===o[++r])){s=t.strstart+pt;do{}while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=W(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=W(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(St(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===tt?(St(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(St(t,!1),0===t.strm.avail_out)?1:2})(i,e):Dt[i.level].func(i,e);if(3!==n&&4!==n||(i.status=yt),1===n||3===n)return 0===t.avail_out&&(i.last_flush=-1),it;if(2===n&&(e===Z?K(i):e!==et&&(H(i,0,0,!1),e===$&&(Ct(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),wt(t),0===t.avail_out))return i.last_flush=-1,it}return e!==tt?it:i.wrap<=0?nt:(2===i.wrap?(bt(i,255&t.adler),bt(i,t.adler>>8&255),bt(i,t.adler>>16&255),bt(i,t.adler>>24&255),bt(i,255&t.total_in),bt(i,t.total_in>>8&255),bt(i,t.total_in>>16&255),bt(i,t.total_in>>24&255)):(Bt(i,t.adler>>>16),Bt(i,65535&t.adler)),wt(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?it:nt)},deflateEnd:t=>{if(Qt(t))return rt;const e=t.state.status;return t.state=null,e===_t?It(t,st):it},deflateSetDictionary:(t,e)=>{let i=e.length;if(Qt(t))return rt;const n=t.state,r=n.wrap;if(2===r||1===r&&n.status!==mt||n.lookahead)return rt;if(1===r&&(t.adler=U(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===r&&(Ct(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const s=t.avail_in,o=t.next_in,a=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,Tt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=xt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Tt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=o,t.input=a,t.avail_in=s,n.wrap=r,it},deflateInfo:"pako deflate (from Nodeca project)"};const Vt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var zt={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Vt(i,e)&&(t[e]=i[e])}}return t},flattenChunks:t=>{let e=0;for(let i=0,n=t.length;i=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;jt[254]=jt[254]=1;var Ht={string2buf:t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,i,n,r,s,o=t.length,a=0;for(r=0;r>>6,e[s++]=128|63&i):i<65536?(e[s++]=224|i>>>12,e[s++]=128|i>>>6&63,e[s++]=128|63&i):(e[s++]=240|i>>>18,e[s++]=128|i>>>12&63,e[s++]=128|i>>>6&63,e[s++]=128|63&i);return e},buf2string:(t,e)=>{const i=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,r;const s=new Array(2*i);for(r=0,n=0;n4)s[r++]=65533,n+=o-1;else{for(e&=2===o?31:3===o?15:7;o>1&&n1?s[r++]=65533:e<65536?s[r++]=e:(e-=65536,s[r++]=55296|e>>10&1023,s[r++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Yt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+jt[t[i]]>e?i:e}};var Xt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Wt=Object.prototype.toString,{Z_NO_FLUSH:Kt,Z_SYNC_FLUSH:Jt,Z_FULL_FLUSH:Zt,Z_FINISH:$t,Z_OK:te,Z_STREAM_END:ee,Z_DEFAULT_COMPRESSION:ie,Z_DEFAULT_STRATEGY:ne,Z_DEFLATED:re}=Y;function se(t){this.options=zt.assign({level:ie,method:re,chunkSize:16384,windowBits:15,memLevel:8,strategy:ne},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Xt,this.strm.avail_out=0;let i=qt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==te)throw new Error(z[i]);if(e.header&&qt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Ht.string2buf(e.dictionary):"[object ArrayBuffer]"===Wt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=qt.deflateSetDictionary(this.strm,t),i!==te)throw new Error(z[i]);this._dict_set=!0}}function oe(t,e){const i=new se(e);if(i.push(t,!0),i.err)throw i.msg||z[i.err];return i.result}se.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let r,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?$t:Kt,"string"==typeof t?i.input=Ht.string2buf(t):"[object ArrayBuffer]"===Wt.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(s===Jt||s===Zt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(r=qt.deflate(i,s),r===ee)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),r=qt.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===te;if(0!==i.avail_out){if(s>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},se.prototype.onData=function(t){this.chunks.push(t)},se.prototype.onEnd=function(t){t===te&&(this.result=zt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ae={Deflate:se,deflate:oe,deflateRaw:function(t,e){return(e=e||{}).raw=!0,oe(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,oe(t,e)},constants:Y};const le=16209;var he=function(t,e){let i,n,r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y,I,E,C,v,x,w;const S=t.state;i=t.next_in,x=t.input,n=i+(t.avail_in-5),r=t.next_out,w=t.output,s=r-(e-t.avail_out),o=r+(t.avail_out-257),a=S.dmax,l=S.wsize,h=S.whave,c=S.wnext,u=S.window,g=S.hold,d=S.bits,A=S.lencode,p=S.distcode,f=(1<>>24,g>>>=y,d-=y,y=_>>>16&255,0===y)w[r++]=65535&_;else{if(!(16&y)){if(0==(64&y)){_=A[(65535&_)+(g&(1<>>=y,d-=y),d<15&&(g+=x[i++]<>>24,g>>>=y,d-=y,y=_>>>16&255,!(16&y)){if(0==(64&y)){_=p[(65535&_)+(g&(1<a){t.msg="invalid distance too far back",S.mode=le;break t}if(g>>>=y,d-=y,y=r-s,E>y){if(y=E-y,y>h&&S.sane){t.msg="invalid distance too far back",S.mode=le;break t}if(C=0,v=u,0===c){if(C+=l-y,y2;)w[r++]=v[C++],w[r++]=v[C++],w[r++]=v[C++],I-=3;I&&(w[r++]=v[C++],I>1&&(w[r++]=v[C++]))}else{C=r-E;do{w[r++]=w[C++],w[r++]=w[C++],w[r++]=w[C++],I-=3}while(I>2);I&&(w[r++]=w[C++],I>1&&(w[r++]=w[C++]))}break}}break}}while(i>3,i-=I,d-=I<<3,g&=(1<{const l=a.bits;let h,c,u,g,d,A,p=0,f=0,m=0,_=0,y=0,I=0,E=0,C=0,v=0,x=0,w=null;const S=new Uint16Array(16),b=new Uint16Array(16);let B,L,M,T=null;for(p=0;p<=ce;p++)S[p]=0;for(f=0;f=1&&0===S[_];_--);if(y>_&&(y=_),0===_)return r[s++]=20971520,r[s++]=20971520,a.bits=1,0;for(m=1;m<_&&0===S[m];m++);for(y0&&(0===t||1!==_))return-1;for(b[1]=0,p=1;p852||2===t&&v>592)return 1;for(;;){B=p-E,o[f]+1=A?(L=T[o[f]-A],M=w[o[f]-A]):(L=96,M=0),h=1<>E)+c]=B<<24|L<<16|M|0}while(0!==c);for(h=1<>=1;if(0!==h?(x&=h-1,x+=h):x=0,f++,0==--S[p]){if(p===_)break;p=e[i+o[f]]}if(p>y&&(x&g)!==u){for(0===E&&(E=y),d+=m,I=p-E,C=1<852||2===t&&v>592)return 1;u=x&g,r[u]=y<<24|I<<16|d-s|0}}return 0!==x&&(r[d+x]=p-E<<24|64<<16|0),a.bits=y,0};const{Z_FINISH:fe,Z_BLOCK:me,Z_TREES:_e,Z_OK:ye,Z_STREAM_END:Ie,Z_NEED_DICT:Ee,Z_STREAM_ERROR:Ce,Z_DATA_ERROR:ve,Z_MEM_ERROR:xe,Z_BUF_ERROR:we,Z_DEFLATED:Se}=Y,be=16180,Be=16190,Le=16191,Me=16192,Te=16194,Re=16199,Ne=16200,Pe=16206,Fe=16209,De=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Oe(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Qe=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},ke=t=>{if(Qe(t))return Ce;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=be,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,ye},Ge=t=>{if(Qe(t))return Ce;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,ke(t)},Ue=(t,e)=>{let i;if(Qe(t))return Ce;const n=t.state;return e<0?(i=0,e=-e):(i=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?Ce:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,Ge(t))},qe=(t,e)=>{if(!t)return Ce;const i=new Oe;t.state=i,i.strm=t,i.window=null,i.mode=be;const n=Ue(t,e);return n!==ye&&(t.state=null),n};let Ve,ze,Ye=!0;const je=t=>{if(Ye){Ve=new Int32Array(512),ze=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(pe(1,t.lens,0,288,Ve,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;pe(2,t.lens,0,32,ze,0,t.work,{bits:5}),Ye=!1}t.lencode=Ve,t.lenbits=9,t.distcode=ze,t.distbits=5},He=(t,e,i,n)=>{let r;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(i-s.wsize,i),0),s.wnext=0,s.whave=s.wsize):(r=s.wsize-s.wnext,r>n&&(r=n),s.window.set(e.subarray(i-n,i-n+r),s.wnext),(n-=r)?(s.window.set(e.subarray(i-n,i),0),s.wnext=n,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whaveqe(t,15),inflateInit2:qe,inflate:(t,e)=>{let i,n,r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y,I,E,C,v,x=0;const w=new Uint8Array(4);let S,b;const B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Qe(t)||!t.output||!t.input&&0!==t.avail_in)return Ce;i=t.state,i.mode===Le&&(i.mode=Me),o=t.next_out,r=t.output,l=t.avail_out,s=t.next_in,n=t.input,a=t.avail_in,h=i.hold,c=i.bits,u=a,g=l,v=ye;t:for(;;)switch(i.mode){case be:if(0===i.wrap){i.mode=Me;break}for(;c<16;){if(0===a)break t;a--,h+=n[s++]<>>8&255,i.check=V(i.check,w,2,0),h=0,c=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",i.mode=Fe;break}if((15&h)!==Se){t.msg="unknown compression method",i.mode=Fe;break}if(h>>>=4,c-=4,C=8+(15&h),0===i.wbits&&(i.wbits=C),C>15||C>i.wbits){t.msg="invalid window size",i.mode=Fe;break}i.dmax=1<>8&1),512&i.flags&&4&i.wrap&&(w[0]=255&h,w[1]=h>>>8&255,i.check=V(i.check,w,2,0)),h=0,c=0,i.mode=16182;case 16182:for(;c<32;){if(0===a)break t;a--,h+=n[s++]<>>8&255,w[2]=h>>>16&255,w[3]=h>>>24&255,i.check=V(i.check,w,4,0)),h=0,c=0,i.mode=16183;case 16183:for(;c<16;){if(0===a)break t;a--,h+=n[s++]<>8),512&i.flags&&4&i.wrap&&(w[0]=255&h,w[1]=h>>>8&255,i.check=V(i.check,w,2,0)),h=0,c=0,i.mode=16184;case 16184:if(1024&i.flags){for(;c<16;){if(0===a)break t;a--,h+=n[s++]<>>8&255,i.check=V(i.check,w,2,0)),h=0,c=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(d=i.length,d>a&&(d=a),d&&(i.head&&(C=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(s,s+d),C)),512&i.flags&&4&i.wrap&&(i.check=V(i.check,n,d,s)),a-=d,s+=d,i.length-=d),i.length))break t;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===a)break t;d=0;do{C=n[s+d++],i.head&&C&&i.length<65536&&(i.head.name+=String.fromCharCode(C))}while(C&&d>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=Le;break;case 16189:for(;c<32;){if(0===a)break t;a--,h+=n[s++]<>>=7&c,c-=7&c,i.mode=Pe;break}for(;c<3;){if(0===a)break t;a--,h+=n[s++]<>>=1,c-=1,3&h){case 0:i.mode=16193;break;case 1:if(je(i),i.mode=Re,e===_e){h>>>=2,c-=2;break t}break;case 2:i.mode=16196;break;case 3:t.msg="invalid block type",i.mode=Fe}h>>>=2,c-=2;break;case 16193:for(h>>>=7&c,c-=7&c;c<32;){if(0===a)break t;a--,h+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",i.mode=Fe;break}if(i.length=65535&h,h=0,c=0,i.mode=Te,e===_e)break t;case Te:i.mode=16195;case 16195:if(d=i.length,d){if(d>a&&(d=a),d>l&&(d=l),0===d)break t;r.set(n.subarray(s,s+d),o),a-=d,s+=d,l-=d,o+=d,i.length-=d;break}i.mode=Le;break;case 16196:for(;c<14;){if(0===a)break t;a--,h+=n[s++]<>>=5,c-=5,i.ndist=1+(31&h),h>>>=5,c-=5,i.ncode=4+(15&h),h>>>=4,c-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=Fe;break}i.have=0,i.mode=16197;case 16197:for(;i.have>>=3,c-=3}for(;i.have<19;)i.lens[B[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,S={bits:i.lenbits},v=pe(0,i.lens,0,19,i.lencode,0,i.work,S),i.lenbits=S.bits,v){t.msg="invalid code lengths set",i.mode=Fe;break}i.have=0,i.mode=16198;case 16198:for(;i.have>>24,m=x>>>16&255,_=65535&x,!(f<=c);){if(0===a)break t;a--,h+=n[s++]<>>=f,c-=f,i.lens[i.have++]=_;else{if(16===_){for(b=f+2;c>>=f,c-=f,0===i.have){t.msg="invalid bit length repeat",i.mode=Fe;break}C=i.lens[i.have-1],d=3+(3&h),h>>>=2,c-=2}else if(17===_){for(b=f+3;c>>=f,c-=f,C=0,d=3+(7&h),h>>>=3,c-=3}else{for(b=f+7;c>>=f,c-=f,C=0,d=11+(127&h),h>>>=7,c-=7}if(i.have+d>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=Fe;break}for(;d--;)i.lens[i.have++]=C}}if(i.mode===Fe)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=Fe;break}if(i.lenbits=9,S={bits:i.lenbits},v=pe(1,i.lens,0,i.nlen,i.lencode,0,i.work,S),i.lenbits=S.bits,v){t.msg="invalid literal/lengths set",i.mode=Fe;break}if(i.distbits=6,i.distcode=i.distdyn,S={bits:i.distbits},v=pe(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,S),i.distbits=S.bits,v){t.msg="invalid distances set",i.mode=Fe;break}if(i.mode=Re,e===_e)break t;case Re:i.mode=Ne;case Ne:if(a>=6&&l>=258){t.next_out=o,t.avail_out=l,t.next_in=s,t.avail_in=a,i.hold=h,i.bits=c,he(t,g),o=t.next_out,r=t.output,l=t.avail_out,s=t.next_in,n=t.input,a=t.avail_in,h=i.hold,c=i.bits,i.mode===Le&&(i.back=-1);break}for(i.back=0;x=i.lencode[h&(1<>>24,m=x>>>16&255,_=65535&x,!(f<=c);){if(0===a)break t;a--,h+=n[s++]<>y)],f=x>>>24,m=x>>>16&255,_=65535&x,!(y+f<=c);){if(0===a)break t;a--,h+=n[s++]<>>=y,c-=y,i.back+=y}if(h>>>=f,c-=f,i.back+=f,i.length=_,0===m){i.mode=16205;break}if(32&m){i.back=-1,i.mode=Le;break}if(64&m){t.msg="invalid literal/length code",i.mode=Fe;break}i.extra=15&m,i.mode=16201;case 16201:if(i.extra){for(b=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;x=i.distcode[h&(1<>>24,m=x>>>16&255,_=65535&x,!(f<=c);){if(0===a)break t;a--,h+=n[s++]<>y)],f=x>>>24,m=x>>>16&255,_=65535&x,!(y+f<=c);){if(0===a)break t;a--,h+=n[s++]<>>=y,c-=y,i.back+=y}if(h>>>=f,c-=f,i.back+=f,64&m){t.msg="invalid distance code",i.mode=Fe;break}i.offset=_,i.extra=15&m,i.mode=16203;case 16203:if(i.extra){for(b=i.extra;c>>=i.extra,c-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=Fe;break}i.mode=16204;case 16204:if(0===l)break t;if(d=g-l,i.offset>d){if(d=i.offset-d,d>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=Fe;break}d>i.wnext?(d-=i.wnext,A=i.wsize-d):A=i.wnext-d,d>i.length&&(d=i.length),p=i.window}else p=r,A=o-i.offset,d=i.length;d>l&&(d=l),l-=d,i.length-=d;do{r[o++]=p[A++]}while(--d);0===i.length&&(i.mode=Ne);break;case 16205:if(0===l)break t;r[o++]=i.length,l--,i.mode=Ne;break;case Pe:if(i.wrap){for(;c<32;){if(0===a)break t;a--,h|=n[s++]<{if(Qe(t))return Ce;let e=t.state;return e.window&&(e.window=null),t.state=null,ye},inflateGetHeader:(t,e)=>{if(Qe(t))return Ce;const i=t.state;return 0==(2&i.wrap)?Ce:(i.head=e,e.done=!1,ye)},inflateSetDictionary:(t,e)=>{const i=e.length;let n,r,s;return Qe(t)?Ce:(n=t.state,0!==n.wrap&&n.mode!==Be?Ce:n.mode===Be&&(r=1,r=U(r,e,i,0),r!==n.check)?ve:(s=He(t,e,i,i),s?(n.mode=16210,xe):(n.havedict=1,ye)))},inflateInfo:"pako inflate (from Nodeca project)"};var We=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Ke=Object.prototype.toString,{Z_NO_FLUSH:Je,Z_FINISH:Ze,Z_OK:$e,Z_STREAM_END:ti,Z_NEED_DICT:ei,Z_STREAM_ERROR:ii,Z_DATA_ERROR:ni,Z_MEM_ERROR:ri}=Y;function si(t){this.options=zt.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Xt,this.strm.avail_out=0;let i=Xe.inflateInit2(this.strm,e.windowBits);if(i!==$e)throw new Error(z[i]);if(this.header=new We,Xe.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Ht.string2buf(e.dictionary):"[object ArrayBuffer]"===Ke.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=Xe.inflateSetDictionary(this.strm,e.dictionary),i!==$e)))throw new Error(z[i])}function oi(t,e){const i=new si(e);if(i.push(t),i.err)throw i.msg||z[i.err];return i.result}si.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,r=this.options.dictionary;let s,o,a;if(this.ended)return!1;for(o=e===~~e?e:!0===e?Ze:Je,"[object ArrayBuffer]"===Ke.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),s=Xe.inflate(i,o),s===ei&&r&&(s=Xe.inflateSetDictionary(i,r),s===$e?s=Xe.inflate(i,o):s===ni&&(s=ei));i.avail_in>0&&s===ti&&i.state.wrap>0&&0!==t[i.next_in];)Xe.inflateReset(i),s=Xe.inflate(i,o);switch(s){case ii:case ni:case ei:case ri:return this.onEnd(s),this.ended=!0,!1}if(a=i.avail_out,i.next_out&&(0===i.avail_out||s===ti))if("string"===this.options.to){let t=Ht.utf8border(i.output,i.next_out),e=i.next_out-t,r=Ht.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(r)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(s!==$e||0!==a){if(s===ti)return s=Xe.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},si.prototype.onData=function(t){this.chunks.push(t)},si.prototype.onEnd=function(t){t===$e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=zt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ai={Inflate:si,inflate:oi,inflateRaw:function(t,e){return(e=e||{}).raw=!0,oi(t,e)},ungzip:oi,constants:Y};const{Deflate:li,deflate:hi,deflateRaw:ci,gzip:ui}=ae,{Inflate:gi,inflate:di,inflateRaw:Ai,ungzip:pi}=ai;var fi=di}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var s=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{"use strict";var t={};i.r(t),i.d(t,{easeIn:()=>ca,easeOut:()=>ua,inAndOut:()=>ga,linear:()=>da,upAndDown:()=>Aa});var e={};i.r(e),i.d(e,{CENTER:()=>dm,JUSTIFY:()=>pm,LEFT:()=>gm,RIGHT:()=>Am});var n={};i.r(n),i.d(n,{ALPHABETIC:()=>ym,BOTTOM:()=>_m,HANGING:()=>Im,IDEOGRAPHIC:()=>Em,MIDDLE:()=>mm,TOP:()=>fm});var r={};i.r(r),i.d(r,{error:()=>AI,info:()=>dI,show:()=>gI,success:()=>pI});var s={};i.r(s),i.d(s,{LINE:()=>US,MLINE:()=>zS,MPOINT:()=>VS,MPOLYGON:()=>YS,POINT:()=>GS,POLYGON:()=>qS});var o=i(792),a=i.n(o);const l={9001:"m",9002:"ft",9003:"us-ft",9101:"radians",9102:"degrees"};function h(t){return l[t]}const c={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};const u=class{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||c[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}},g=6378137,d=Math.PI*g,A=[-d,-d,d,d],p=[-180,-85,180,85],f=g*Math.log(Math.tan(Math.PI/2));class m extends u{constructor(t){super({code:t,units:"m",extent:A,global:!0,worldExtent:p,getPointResolution:function(t,e){return t/Math.cosh(e[1]/g)}})}}const _=[new m("EPSG:3857"),new m("EPSG:102100"),new m("EPSG:102113"),new m("EPSG:900913"),new m("http://www.opengis.net/def/crs/EPSG/0/3857"),new m("http://www.opengis.net/gml/srs/epsg.xml#3857")];function y(t,e,i){const n=t.length;i=i>1?i:2,void 0===e&&(e=i>2?t.slice():new Array(n));for(let r=0;rf?i=f:i<-f&&(i=-f),e[r+1]=i}return e}function I(t,e,i){const n=t.length;i=i>1?i:2,void 0===e&&(e=i>2?t.slice():new Array(n));for(let r=0;rr&&(l|=L.RIGHT),as&&(l|=L.ABOVE),l===L.UNKNOWN&&(l=L.INTERSECTING),l}function k(){return[1/0,1/0,-1/0,-1/0]}function G(t,e,i,n,r){return r?(r[0]=t,r[1]=e,r[2]=i,r[3]=n,r):[t,e,i,n]}function U(t){return G(1/0,1/0,-1/0,-1/0,t)}function q(t,e){const i=t[0],n=t[1];return G(i,n,i,n,e)}function V(t,e,i,n,r){return H(U(r),t,e,i,n)}function z(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function Y(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function j(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function H(t,e,i,n,r){for(;ie[0]?n[0]=t[0]:n[0]=e[0],t[1]>e[1]?n[1]=t[1]:n[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function ht(t){return t[2]1){const e=t[2]-t[0],i=t[3]-t[1];for(let s=0;s=i[2])){const e=at(i),r=Math.floor((n[0]-i[0])/e)*e;t[0]-=r,t[2]-=r}return t}function dt(t,e,i){return Math.min(Math.max(t,e),i)}function At(t,e,i,n,r,s){const o=r-i,a=s-n;if(0!==o||0!==a){const l=((t-i)*o+(e-n)*a)/(o*o+a*a);l>1?(i=r,n=s):l>0&&(i+=o*l,n+=a*l)}return pt(t,e,i,n)}function pt(t,e,i,n){const r=i-t,s=n-e;return r*r+s*s}function ft(t){return 180*t/Math.PI}function mt(t){return t*Math.PI/180}function _t(t,e){const i=t%e;return i*e<0?i+e:i}function yt(t,e,i){return t+i*(e-t)}function It(t,e){const i=Math.pow(10,e);return Math.round(t*i)/i}function Et(t,e){return Math.round(It(t,e))}function Ct(t,e){return Math.floor(It(t,e))}function vt(t,e){return Math.ceil(It(t,e))}function xt(t,e,i){const n=void 0!==i?t.toFixed(i):""+t;let r=n.indexOf(".");return r=-1===r?n.length:r,r>e?n:new Array(1+e-r).join("0")+n}function wt(t,e){const i=(""+t).split("."),n=(""+e).split(".");for(let t=0;tr)return 1;if(r>e)return-1}return 0}function St(t,e){return t[0]+=+e[0],t[1]+=+e[1],t}function bt(t,e){const i=e.getRadius(),n=e.getCenter(),r=n[0],s=n[1];let o=t[0]-r;const a=t[1]-s;0===o&&0===a&&(o=1);const l=Math.sqrt(o*o+a*a);return[r+i*o/l,s+i*a/l]}function Bt(t,e){const i=t[0],n=t[1],r=e[0],s=e[1],o=r[0],a=r[1],l=s[0],h=s[1],c=l-o,u=h-a,g=0===c&&0===u?0:(c*(i-o)+u*(n-a))/(c*c+u*u||0);let d,A;return g<=0?(d=o,A=a):g>=1?(d=l,A=h):(d=o+g*c,A=a+g*u),[d,A]}function Lt(t){return function(e){return Qt(e,t)}}function Mt(t,e,i){const n=_t(e+180,360)-180,r=Math.abs(3600*n),s=i||0;let o=Math.floor(r/3600),a=Math.floor((r-3600*o)/60),l=It(r-3600*o-60*a,s);l>=60&&(l=0,a+=1),a>=60&&(a=0,o+=1);let h=o+"°";return 0===a&&0===l||(h+=" "+xt(a,2)+"′"),0!==l&&(h+=" "+xt(l,2,s)+"″"),0!==n&&(h+=" "+t.charAt(n<0?1:0)),h}function Tt(t,e,i){return t?e.replace("{x}",t[0].toFixed(i)).replace("{y}",t[1].toFixed(i)):""}function Rt(t,e){let i=!0;for(let n=t.length-1;n>=0;--n)if(t[n]!=e[n]){i=!1;break}return i}function Nt(t,e){const i=Math.cos(e),n=Math.sin(e),r=t[0]*i-t[1]*n,s=t[1]*i+t[0]*n;return t[0]=r,t[1]=s,t}function Pt(t,e){return t[0]*=e,t[1]*=e,t}function Ft(t,e){const i=t[0]-e[0],n=t[1]-e[1];return i*i+n*n}function Dt(t,e){return Math.sqrt(Ft(t,e))}function Ot(t,e){return Ft(t,Bt(t,e))}function Qt(t,e){return Tt(t,"{x}, {y}",e)}function kt(t,e){if(e.canWrapX()){const i=at(e.getExtent()),n=Gt(t,e,i);n&&(t[0]-=n*i)}return t}function Gt(t,e,i){const n=e.getExtent();let r=0;return e.canWrapX()&&(t[0]n[2])&&(i=i||at(n),r=Math.floor((t[0]-n[0])/i)),r}const Ut=6371008.8;function qt(t,e,i){i=i||Ut;const n=mt(t[1]),r=mt(e[1]),s=(r-n)/2,o=mt(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(n)*Math.cos(r);return 2*i*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function Vt(t,e){let i=0;for(let n=0,r=t.length;njt.warn||console.warn(...t)}function Wt(...t){Ht>jt.error||console.error(...t)}let Kt=!0;function Jt(t){Kt=!(void 0===t||t)}function Zt(t,e){if(void 0!==e)for(let i=0,n=t.length;i=o?e[s+t]:r[t]}return i}}function oe(t,e,i,n){const r=ee(t),s=ee(e);b(r,s,se(i)),b(s,r,se(n))}function ae(t,e){if(t===e)return!0;const i=t.getUnits()===e.getUnits();if(t.getCode()===e.getCode())return i;return le(t,e)===Zt&&i}function le(t,e){let i=B(t.getCode(),e.getCode());return i||(i=$t),i}function he(t,e){return le(ee(t),ee(e))}function ce(t,e,i){return he(e,i)(t,void 0,t.length)}function ue(t,e,i,n){return ut(t,he(e,i),void 0,n)}let ge=null;function de(t){ge=ee(t)}function Ae(){return ge}function pe(t,e){return ge?ce(t,e,ge):t}function fe(t,e){return ge?ce(t,ge,e):(Kt&&!Rt(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(Kt=!1,Xt("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t)}function me(t,e){return ge?ue(t,e,ge):t}function _e(t,e){return ge?ue(t,ge,e):t}function ye(t,e){if(!ge)return t;const i=ee(e).getUnits(),n=ge.getUnits();return i&&n?t*c[i]/c[n]:t}function Ie(t,e,i){return function(n){let r,s;if(t.canWrapX()){const e=t.getExtent(),o=at(e);s=Gt(n=n.slice(0),t,o),s&&(n[0]=n[0]-s*o),n[0]=dt(n[0],e[0],e[2]),n[1]=dt(n[1],e[1],e[3]),r=i(n)}else r=i(n);return s&&e.canWrapX()&&(r[0]+=s*at(e.getExtent())),r}}var Ee,Ce,ve;ne(_),ne(x),Ee=_,Ce=y,ve=I,x.forEach((function(t){Ee.forEach((function(e){b(t,e,Ce),b(e,t,ve)}))}));const xe=(t,e,i)=>ce(t,ee(e),ee(i));var we=1,Se=2,be=3,Be=5,Le=6378137,Me=6356752.314,Te=.0066943799901413165,Re=484813681109536e-20,Ne=Math.PI/2,Pe=.16666666666666666,Fe=.04722222222222222,De=.022156084656084655,Oe=1e-10,Qe=.017453292519943295,ke=57.29577951308232,Ge=Math.PI/4,Ue=2*Math.PI,qe=3.14159265359,Ve={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};const ze={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var Ye=/[\s_\-\/\(\)]/g;function je(t,e){if(t[e])return t[e];for(var i,n=Object.keys(t),r=e.toLowerCase().replace(Ye,""),s=-1;++s=this.text.length)return;t=this.text[this.place++]}switch(this.state){case We:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},ei.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if($e.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},ei.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=We)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=We,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},ei.prototype.number=function(t){if(!ti.test(t)){if($e.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},ei.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},ei.prototype.keyword=function(t){if(Ze.test(t))this.word+=t;else{if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=We)}if(!$e.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},ei.prototype.neutral=function(t){if(Je.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(ti.test(t))return this.word=t,void(this.state=3);if(!$e.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},ei.prototype.output=function(){for(;this.place0?90:-90)):(t.lat0=si(t.lat1>0?90:-90),t.lat_ts=t.lat1)}(r),r}function ai(t){var e=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?ai[t]=He(arguments[1]):ai[t]=oi(arguments[1]):ai[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?ai.apply(e,t):ai(t)}));if("string"==typeof t){if(t in ai)return ai[t]}else"EPSG"in t?ai["EPSG:"+t.EPSG]=t:"ESRI"in t?ai["ESRI:"+t.ESRI]=t:"IAU2000"in t?ai["IAU2000:"+t.IAU2000]=t:console.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}(ai);const li=ai;var hi=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];var ci=["3857","900913","3785","102113"];const ui=function(t){if(!function(t){return"string"==typeof t}(t))return t;if(function(t){return t in li}(t))return li[t];if(function(t){return hi.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=oi(t);if(function(t){var e=je(t,"authority");if(e){var i=je(e,"epsg");return i&&ci.indexOf(i)>-1}}(e))return li["EPSG:3857"];var i=function(t){var e=je(t,"extension");if(e)return je(e,"proj4")}(e);return i?He(i):e}return function(t){return"+"===t[0]}(t)?He(t):void 0};function gi(t,e){var i,n;if(t=t||{},!e)return t;for(n in e)void 0!==(i=e[n])&&(t[n]=i);return t}function di(t,e,i){var n=t*e;return i/Math.sqrt(1-n*n)}function Ai(t){return t<0?-1:1}function pi(t){return Math.abs(t)<=qe?t:t-Ai(t)*Ue}function fi(t,e,i){var n=t*i,r=.5*t;return n=Math.pow((1-n)/(1+n),r),Math.tan(.5*(Ne-e))/n}function mi(t,e){for(var i,n,r=.5*t,s=Ne-2*Math.atan(e),o=0;o<=15;o++)if(i=t*Math.sin(s),s+=n=Ne-2*Math.atan(e*Math.pow((1-i)/(1+i),r))-s,Math.abs(n)<=1e-10)return s;return-9999}function _i(t){return t}var yi=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=di(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var e,i,n=t.x,r=t.y;if(r*ke>90&&r*ke<-90&&n*ke>180&&n*ke<-180)return null;if(Math.abs(Math.abs(r)-Ne)<=Oe)return null;if(this.sphere)e=this.x0+this.a*this.k0*pi(n-this.long0),i=this.y0+this.a*this.k0*Math.log(Math.tan(Ge+.5*r));else{var s=Math.sin(r),o=fi(this.e,r,s);e=this.x0+this.a*this.k0*pi(n-this.long0),i=this.y0-this.a*this.k0*Math.log(o)}return t.x=e,t.y=i,t},inverse:function(t){var e,i,n=t.x-this.x0,r=t.y-this.y0;if(this.sphere)i=Ne-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var s=Math.exp(-r/(this.a*this.k0));if(-9999===(i=mi(this.e,s)))return null}return e=pi(this.long0+n/(this.a*this.k0)),t.x=e,t.y=i,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:_i,inverse:_i,names:["longlat","identity"]}],Ii={},Ei=[];function Ci(t,e){var i=Ei.length;return t.names?(Ei[i]=t,t.names.forEach((function(t){Ii[t.toLowerCase()]=i})),this):(console.log(e),!0)}const vi={start:function(){yi.forEach(Ci)},add:Ci,get:function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==Ii[e]&&Ei[Ii[e]]?Ei[Ii[e]]:void 0}};var xi={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},wi=xi.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};xi.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var Si={};Si.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},Si.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},Si.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},Si.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},Si.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},Si.potsdam={towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},Si.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},Si.hermannskogel={towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},Si.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},Si.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},Si.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},Si.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},Si.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},Si.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},Si.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},Si.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},Si.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};const bi=function(t,e,i,n,r,s,o){var a={};return a.datum_type=void 0===t||"none"===t?Be:4,e&&(a.datum_params=e.map(parseFloat),0===a.datum_params[0]&&0===a.datum_params[1]&&0===a.datum_params[2]||(a.datum_type=we),a.datum_params.length>3&&(0===a.datum_params[3]&&0===a.datum_params[4]&&0===a.datum_params[5]&&0===a.datum_params[6]||(a.datum_type=Se,a.datum_params[3]*=Re,a.datum_params[4]*=Re,a.datum_params[5]*=Re,a.datum_params[6]=a.datum_params[6]/1e6+1))),o&&(a.datum_type=be,a.grids=o),a.a=i,a.b=n,a.es=r,a.ep2=s,a};var Bi={};function Li(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:Bi[t]||null,isNull:!1}}function Mi(t){return t/3600*Math.PI/180}function Ti(t,e,i){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,i)))}function Ri(t){return t.map((function(t){return[Mi(t.longitudeShift),Mi(t.latitudeShift)]}))}function Ni(t,e,i){return{name:Ti(t,e+8,e+16).trim(),parent:Ti(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,i),upperLatitude:t.getFloat64(e+88,i),lowerLongitude:t.getFloat64(e+104,i),upperLongitude:t.getFloat64(e+120,i),latitudeInterval:t.getFloat64(e+136,i),longitudeInterval:t.getFloat64(e+152,i),gridNodeCount:t.getInt32(e+168,i)}}function Pi(t,e,i,n){for(var r=e+176,s=[],o=0;o-1.001*Ne)l=-Ne;else if(l>Ne&&l<1.001*Ne)l=Ne;else{if(l<-Ne)return{x:-1/0,y:-1/0,z:t.z};if(l>Ne)return{x:1/0,y:1/0,z:t.z}}return a>Math.PI&&(a-=2*Math.PI),r=Math.sin(l),o=Math.cos(l),s=r*r,{x:((n=i/Math.sqrt(1-e*s))+h)*o*Math.cos(a),y:(n+h)*o*Math.sin(a),z:(n*(1-e)+h)*r}}function Qi(t,e,i,n){var r,s,o,a,l,h,c,u,g,d,A,p,f,m,_,y=1e-12,I=t.x,E=t.y,C=t.z?t.z:0;if(r=Math.sqrt(I*I+E*E),s=Math.sqrt(I*I+E*E+C*C),r/i1e-24&&f<30);return{x:m,y:Math.atan(A/Math.abs(d)),z:_}}function ki(t){return t===we||t===Se}function Gi(t,e,i){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(t.datum_type===we?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==Se||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return i;if(t.datum_type===Be||e.datum_type===Be)return i;var n=t.a,r=t.es;if(t.datum_type===be){if(0!==Ui(t,!1,i))return;n=Le,r=Te}var s=e.a,o=e.b,a=e.es;if(e.datum_type===be&&(s=Le,o=Me,a=Te),r===a&&n===s&&!ki(t.datum_type)&&!ki(e.datum_type))return i;if((i=Oi(i,r,n),ki(t.datum_type)&&(i=function(t,e,i){if(e===we)return{x:t.x+i[0],y:t.y+i[1],z:t.z+i[2]};if(e===Se){var n=i[0],r=i[1],s=i[2],o=i[3],a=i[4],l=i[5],h=i[6];return{x:h*(t.x-l*t.y+a*t.z)+n,y:h*(l*t.x+t.y-o*t.z)+r,z:h*(-a*t.x+o*t.y+t.z)+s}}}(i,t.datum_type,t.datum_params)),ki(e.datum_type)&&(i=function(t,e,i){if(e===we)return{x:t.x-i[0],y:t.y-i[1],z:t.z-i[2]};if(e===Se){var n=i[0],r=i[1],s=i[2],o=i[3],a=i[4],l=i[5],h=i[6],c=(t.x-n)/h,u=(t.y-r)/h,g=(t.z-s)/h;return{x:c+l*u-a*g,y:-l*c+u+o*g,z:a*c-o*u+g}}}(i,e.datum_type,e.datum_params)),i=Qi(i,a,s,o),e.datum_type===be)&&0!==Ui(e,!0,i))return;return i}function Ui(t,e,i){if(null===t.grids||0===t.grids.length)return console.log("Grid shift grids not found"),-1;for(var n={x:-i.x,y:i.y},r={x:Number.NaN,y:Number.NaN},s=[],o=0;on.y||c>n.x||d1e-12&&Math.abs(o.y)>1e-12);if(l<0)return console.log("Inverse grid shift iterator failed to converge."),n;n.x=pi(s.x+i.ll[0]),n.y=s.y+i.ll[1]}else isNaN(s.x)||(n.x=t.x+s.x,n.y=t.y+s.y);return n}function Vi(t,e){var i,n={x:t.x/e.del[0],y:t.y/e.del[1]},r=Math.floor(n.x),s=Math.floor(n.y),o=n.x-1*r,a=n.y-1*s,l={x:Number.NaN,y:Number.NaN};if(r<0||r>=e.lim[0])return l;if(s<0||s>=e.lim[1])return l;i=s*e.lim[0]+r;var h=e.cvs[i][0],c=e.cvs[i][1];i++;var u=e.cvs[i][0],g=e.cvs[i][1];i+=e.lim[0];var d=e.cvs[i][0],A=e.cvs[i][1];i--;var p=e.cvs[i][0],f=e.cvs[i][1],m=o*a,_=o*(1-a),y=(1-o)*(1-a),I=(1-o)*a;return l.x=y*h+_*u+I*p+m*d,l.y=y*c+_*g+I*f+m*A,l}function zi(t,e,i){var n,r,s,o=i.x,a=i.y,l=i.z||0,h={};for(s=0;s<3;s++)if(!e||2!==s||void 0!==i.z)switch(0===s?(n=o,r=-1!=="ew".indexOf(t.axis[s])?"x":"y"):1===s?(n=a,r=-1!=="ns".indexOf(t.axis[s])?"y":"x"):(n=l,r="z"),t.axis[s]){case"e":case"n":h[r]=n;break;case"w":case"s":h[r]=-n;break;case"u":void 0!==i[r]&&(h.z=n);break;case"d":void 0!==i[r]&&(h.z=-n);break;default:return null}return h}function Yi(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function ji(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function Hi(t,e,i,n){var r,s=void 0!==(i=Array.isArray(i)?Yi(i):{x:i.x,y:i.y,z:i.z,m:i.m}).z;if(function(t){ji(t.x),ji(t.y)}(i),t.datum&&e.datum&&function(t,e){return(t.datum.datum_type===we||t.datum.datum_type===Se||t.datum.datum_type===be)&&"WGS84"!==e.datumCode||(e.datum.datum_type===we||e.datum.datum_type===Se||e.datum.datum_type===be)&&"WGS84"!==t.datumCode}(t,e)&&(i=Hi(t,r=new Di("WGS84"),i,n),t=r),n&&"enu"!==t.axis&&(i=zi(t,!1,i)),"longlat"===t.projName)i={x:i.x*Qe,y:i.y*Qe,z:i.z||0};else if(t.to_meter&&(i={x:i.x*t.to_meter,y:i.y*t.to_meter,z:i.z||0}),!(i=t.inverse(i)))return;if(t.from_greenwich&&(i.x+=t.from_greenwich),i=Gi(t.datum,e.datum,i))return e.from_greenwich&&(i={x:i.x-e.from_greenwich,y:i.y,z:i.z||0}),"longlat"===e.projName?i={x:i.x*ke,y:i.y*ke,z:i.z||0}:(i=e.forward(i),e.to_meter&&(i={x:i.x/e.to_meter,y:i.y/e.to_meter,z:i.z||0})),n&&"enu"!==e.axis?zi(e,!0,i):(s||delete i.z,i)}var Xi=Di("WGS84");function Wi(t,e,i,n){var r,s,o;return Array.isArray(i)?(r=Hi(t,e,i,n)||{x:NaN,y:NaN},i.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof r.z?[r.x,r.y,r.z].concat(i.splice(3)):[r.x,r.y,i[2]].concat(i.splice(3)):[r.x,r.y].concat(i.splice(2)):[r.x,r.y]):(s=Hi(t,e,i,n),2===(o=Object.keys(i)).length||o.forEach((function(n){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===n||"y"===n||"z"===n)return}else if("x"===n||"y"===n)return;s[n]=i[n]})),s)}function Ki(t){return t instanceof Di?t:t.oProj?t.oProj:Di(t)}const Ji=function(t,e,i){t=Ki(t);var n,r=!1;return void 0===e?(e=t,t=Xi,r=!0):(void 0!==e.x||Array.isArray(e))&&(i=e,e=t,t=Xi,r=!0),e=Ki(e),i?Wi(t,e,i):(n={forward:function(i,n){return Wi(t,e,i,n)},inverse:function(i,n){return Wi(e,t,i,n)}},r&&(n.oProj=e),n)};var Zi=6,$i="AJSAJS",tn="AFAFAF",en=65,nn=73,rn=79,sn=86,on=90;const an={forward:ln,inverse:function(t){var e=gn(pn(t.toUpperCase()));if(e.lat&&e.lon)return[e.lon,e.lat,e.lon,e.lat];return[e.left,e.bottom,e.right,e.top]},toPoint:hn};function ln(t,e){return e=e||5,function(t,e){var i="00000"+t.easting,n="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(d=t.easting,A=t.northing,p=t.zoneNumber,f=An(p),m=Math.floor(d/1e5),_=Math.floor(A/1e5)%20,r=m,s=_,o=f,a=o-1,l=$i.charCodeAt(a),h=tn.charCodeAt(a),c=l+r-1,u=h+s,g=!1,c>on&&(c=c-on+en-1,g=!0),(c===nn||lnn||(c>nn||lrn||(c>rn||lon&&(c=c-on+en-1),u>sn?(u=u-sn+en-1,g=!0):g=!1,(u===nn||hnn||(u>nn||hrn||(u>rn||hsn&&(u=u-sn+en-1),String.fromCharCode(c)+String.fromCharCode(u))+i.substr(i.length-5,e)+n.substr(n.length-5,e);var r,s,o,a,l,h,c,u,g;var d,A,p,f,m,_}(function(t){var e,i,n,r,s,o,a,l,h=t.lat,c=t.lon,u=6378137,g=.00669438,d=.9996,A=cn(h),p=cn(c);l=Math.floor((c+180)/6)+1,180===c&&(l=60);h>=56&&h<64&&c>=3&&c<12&&(l=32);h>=72&&h<84&&(c>=0&&c<9?l=31:c>=9&&c<21?l=33:c>=21&&c<33?l=35:c>=33&&c<42&&(l=37));a=cn(6*(l-1)-180+3),e=g/(1-g),i=u/Math.sqrt(1-g*Math.sin(A)*Math.sin(A)),n=Math.tan(A)*Math.tan(A),r=e*Math.cos(A)*Math.cos(A),s=Math.cos(A)*(p-a),o=u*((1-g/4-3*g*g/64-5*g*g*g/256)*A-(3*g/8+3*g*g/32+45*g*g*g/1024)*Math.sin(2*A)+(15*g*g/256+45*g*g*g/1024)*Math.sin(4*A)-35*g*g*g/3072*Math.sin(6*A));var f=d*i*(s+(1-n+r)*s*s*s/6+(5-18*n+n*n+72*r-58*e)*s*s*s*s*s/120)+5e5,m=d*(o+i*Math.tan(A)*(s*s/2+(5-n+9*r+4*r*r)*s*s*s*s/24+(61-58*n+n*n+600*r-330*e)*s*s*s*s*s*s/720));h<0&&(m+=1e7);return{northing:Math.round(m),easting:Math.round(f),zoneNumber:l,zoneLetter:dn(h)}}({lat:t[1],lon:t[0]}),e)}function hn(t){var e=gn(pn(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function cn(t){return t*(Math.PI/180)}function un(t){return t/Math.PI*180}function gn(t){var e=t.northing,i=t.easting,n=t.zoneLetter,r=t.zoneNumber;if(r<0||r>60)return null;var s,o,a,l,h,c,u,g,d,A=.9996,p=6378137,f=.00669438,m=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=i-5e5,y=e;n<"N"&&(y-=1e7),u=6*(r-1)-180+3,s=.006739496752268451,d=(g=y/A/6367449.145945056)+(3*m/2-27*m*m*m/32)*Math.sin(2*g)+(21*m*m/16-55*m*m*m*m/32)*Math.sin(4*g)+151*m*m*m/96*Math.sin(6*g),o=p/Math.sqrt(1-f*Math.sin(d)*Math.sin(d)),a=Math.tan(d)*Math.tan(d),l=s*Math.cos(d)*Math.cos(d),h=.99330562*p/Math.pow(1-f*Math.sin(d)*Math.sin(d),1.5),c=_/(o*A);var I=d-o*Math.tan(d)/h*(c*c/2-(5+3*a+10*l-4*l*l-9*s)*c*c*c*c/24+(61+90*a+298*l+45*a*a-1.6983531815716497-3*l*l)*c*c*c*c*c*c/720);I=un(I);var E,C=(c-(1+2*a+l)*c*c*c/6+(5-2*l+28*a-3*l*l+8*s+24*a*a)*c*c*c*c*c/120)/Math.cos(d);if(C=u+un(C),t.accuracy){var v=gn({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});E={top:v.lat,right:v.lon,bottom:I,left:C}}else E={lat:I,lon:C};return E}function dn(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function An(t){var e=t%Zi;return 0===e&&(e=Zi),e}function pn(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var e,i=t.length,n=null,r="",s=0;!/[A-Z]/.test(e=t.charAt(s));){if(s>=2)throw"MGRSPoint bad conversion from: "+t;r+=e,s++}var o=parseInt(r,10);if(0===s||s+3>i)throw"MGRSPoint bad conversion from: "+t;var a=t.charAt(s++);if(a<="A"||"B"===a||"Y"===a||a>="Z"||"I"===a||"O"===a)throw"MGRSPoint zone letter "+a+" not handled: "+t;n=t.substring(s,s+=2);for(var l=An(o),h=function(t,e){var i=$i.charCodeAt(e-1),n=1e5,r=!1;for(;i!==t.charCodeAt(0);){if(++i===nn&&i++,i===rn&&i++,i>on){if(r)throw"Bad character: "+t;i=en,r=!0}n+=1e5}return n}(n.charAt(0),l),c=function(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;var i=tn.charCodeAt(e-1),n=0,r=!1;for(;i!==t.charCodeAt(0);){if(++i===nn&&i++,i===rn&&i++,i>sn){if(r)throw"Bad character: "+t;i=en,r=!0}n+=1e5}return n}(n.charAt(1),l);c0&&(g=1e5/Math.pow(10,p),d=t.substring(s,s+p),f=parseFloat(d)*g,A=t.substring(s+p),m=parseFloat(A)*g),{easting:f+h,northing:m+c,zoneLetter:a,zoneNumber:o,accuracy:g}}function fn(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}function mn(t,e,i){if(!(this instanceof mn))return new mn(t,e,i);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var n=t.split(",");this.x=parseFloat(n[0],10),this.y=parseFloat(n[1],10),this.z=parseFloat(n[2],10)||0}else this.x=t,this.y=e,this.z=i||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}mn.fromMGRS=function(t){return new mn(hn(t))},mn.prototype.toMGRS=function(t){return ln([this.x,this.y],t)};const _n=mn;var yn=1,In=.25,En=.046875,Cn=.01953125,vn=.01068115234375,xn=.75,wn=.46875,Sn=.013020833333333334,bn=.007120768229166667,Bn=.3645833333333333,Ln=.005696614583333333,Mn=.3076171875;function Tn(t){var e=[];e[0]=yn-t*(In+t*(En+t*(Cn+t*vn))),e[1]=t*(xn-t*(En+t*(Cn+t*vn)));var i=t*t;return e[2]=i*(wn-t*(Sn+t*bn)),i*=t,e[3]=i*(Bn-t*Ln),e[4]=i*t*Mn,e}function Rn(t,e,i,n){return i*=e,e*=e,n[0]*t-i*(n[1]+e*(n[2]+e*(n[3]+e*n[4])))}var Nn=20;function Pn(t,e,i){for(var n=1/(1-e),r=t,s=Nn;s;--s){var o=Math.sin(r),a=1-e*o*o;if(r-=a=(Rn(r,o,Math.cos(r),i)-t)*(a*Math.sqrt(a))*n,Math.abs(a)Oe?Math.tan(s):0,A=Math.pow(d,2),p=Math.pow(A,2);e=1-this.es*Math.pow(a,2),h/=Math.sqrt(e);var f=Rn(s,a,l,this.en);i=this.a*(this.k0*h*(1+c/6*(1-A+u+c/20*(5-18*A+p+14*u-58*A*u+c/42*(61+179*p-p*A-479*A)))))+this.x0,n=this.a*(this.k0*(f-this.ml0+a*o*h/2*(1+c/12*(5-A+9*u+4*g+c/30*(61+p-58*A+270*u-330*A*u+c/56*(1385+543*p-p*A-3111*A))))))+this.y0}else{var m=l*Math.sin(o);if(Math.abs(Math.abs(m)-1)=1){if(m-1>Oe)return 93;n=0}else n=Math.acos(n);s<0&&(n=-n),n=this.a*this.k0*(n-this.lat0)+this.y0}return t.x=i,t.y=n,t},inverse:function(t){var e,i,n,r,s=(t.x-this.x0)*(1/this.a),o=(t.y-this.y0)*(1/this.a);if(this.es)if(i=Pn(e=this.ml0+o/this.k0,this.es,this.en),Math.abs(i)Oe?Math.tan(i):0,c=this.ep2*Math.pow(l,2),u=Math.pow(c,2),g=Math.pow(h,2),d=Math.pow(g,2);e=1-this.es*Math.pow(a,2);var A=s*Math.sqrt(e)/this.k0,p=Math.pow(A,2);n=i-(e*=h)*p/(1-this.es)*.5*(1-p/12*(5+3*g-9*c*g+c-4*u-p/30*(61+90*g-252*c*g+45*d+46*c-p/56*(1385+3633*g+4095*d+1574*d*g)))),r=pi(this.long0+A*(1-p/6*(1+2*g+c-p/20*(5+28*g+24*d+8*c*g+6*c-p/42*(61+662*g+1320*d+720*d*g))))/l)}else n=Ne*Ai(o),r=0;else{var f=Math.exp(s/this.k0),m=.5*(f-1/f),_=this.lat0+o/this.k0,y=Math.cos(_);e=Math.sqrt((1-Math.pow(y,2))/(1+Math.pow(m,2))),n=Math.asin(e),o<0&&(n=-n),r=0===m&&0===y?0:pi(Math.atan2(m,y)+this.long0)}return t.x=r,t.y=n,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]};function Dn(t){var e=Math.exp(t);return e=(e-1/e)/2}function On(t,e){t=Math.abs(t),e=Math.abs(e);var i=Math.max(t,e),n=Math.min(t,e)/(i||1);return i*Math.sqrt(1+Math.pow(n,2))}function Qn(t){var e=Math.abs(t);return e=function(t){var e=1+t,i=e-1;return 0===i?t:t*Math.log(e)/i}(e*(1+e/(On(1,e)+1))),t<0?-e:e}function kn(t,e){for(var i,n=2*Math.cos(2*e),r=t.length-1,s=t[r],o=0;--r>=0;)i=n*s-o+t[r],o=s,s=i;return e+i*Math.sin(2*e)}function Gn(t,e,i){for(var n,r,s=Math.sin(e),o=Math.cos(e),a=Dn(i),l=function(t){var e=Math.exp(t);return(e+1/e)/2}(i),h=2*o*l,c=-2*s*a,u=t.length-1,g=t[u],d=0,A=0,p=0;--u>=0;)n=A,r=d,g=h*(A=g)-n-c*(d=p)+t[u],p=c*A-r+h*d;return[(h=s*l)*g-(c=o*a)*p,h*p+c*g]}const Un={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Fn.init.apply(this),this.forward=Fn.forward,this.inverse=Fn.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),i=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),i*=e,this.cgb[1]=i*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=i*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),i*=e,this.cgb[2]=i*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=i*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),i*=e,this.cgb[3]=i*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=i*(1237/630+e*(e*(-24832/14175)-2.4)),i*=e,this.cgb[4]=i*(4174/315+e*(-144838/6237)),this.cbg[4]=i*(-734/315+e*(109598/31185)),i*=e,this.cgb[5]=i*(601676/22275),this.cbg[5]=i*(444337/155925),i=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+i*(1/4+i*(1/64+i/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=i*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=i*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),i*=e,this.utg[2]=i*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=i*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),i*=e,this.utg[3]=i*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=i*(49561/161280+e*(-179/168+e*(6601661/7257600))),i*=e,this.utg[4]=i*(-4583/161280+e*(108847/3991680)),this.gtu[4]=i*(34729/80640+e*(-3418889/1995840)),i*=e,this.utg[5]=i*(-20648693/638668800),this.gtu[5]=.6650675310896665*i;var n=kn(this.cbg,this.lat0);this.Zb=-this.Qn*(n+function(t,e){for(var i,n=2*Math.cos(e),r=t.length-1,s=t[r],o=0;--r>=0;)i=n*s-o+t[r],o=s,s=i;return Math.sin(e)*i}(this.gtu,2*n))},forward:function(t){var e=pi(t.x-this.long0),i=t.y;i=kn(this.cbg,i);var n=Math.sin(i),r=Math.cos(i),s=Math.sin(e),o=Math.cos(e);i=Math.atan2(n,o*r),e=Math.atan2(s*r,On(n,r*o)),e=Qn(Math.tan(e));var a,l,h=Gn(this.gtu,2*i,2*e);return i+=h[0],e+=h[1],Math.abs(e)<=2.623395162778?(a=this.a*(this.Qn*e)+this.x0,l=this.a*(this.Qn*i+this.Zb)+this.y0):(a=1/0,l=1/0),t.x=a,t.y=l,t},inverse:function(t){var e,i,n=(t.x-this.x0)*(1/this.a),r=(t.y-this.y0)*(1/this.a);if(r=(r-this.Zb)/this.Qn,n/=this.Qn,Math.abs(n)<=2.623395162778){var s=Gn(this.utg,2*r,2*n);r+=s[0],n+=s[1],n=Math.atan(Dn(n));var o=Math.sin(r),a=Math.cos(r),l=Math.sin(n),h=Math.cos(n);r=Math.atan2(o*h,On(l,h*a)),e=pi((n=Math.atan2(l,h*a))+this.long0),i=kn(this.cgb,r)}else e=1/0,i=1/0;return t.x=e,t.y=i,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]};const qn={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(pi(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*Qe,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Un.init.apply(this),this.forward=Un.forward,this.inverse=Un.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"};function Vn(t,e){return Math.pow((1-t)/(1+t),e)}const zn={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ge)/(Math.pow(Math.tan(.5*this.lat0+Ge),this.C)*Vn(this.e*t,this.ratexp))},forward:function(t){var e=t.x,i=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+Ge),this.C)*Vn(this.e*Math.sin(i),this.ratexp))-Ne,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,i=t.y,n=Math.pow(Math.tan(.5*i+Ge)/this.K,1/this.C),r=20;r>0&&(i=2*Math.atan(n*Vn(this.e*Math.sin(t.y),-.5*this.e))-Ne,!(Math.abs(i-t.y)<1e-14));--r)t.y=i;return r?(t.x=e,t.y=i,t):null},names:["gauss"]};const Yn={init:function(){zn.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var e,i,n,r;return t.x=pi(t.x-this.long0),zn.forward.apply(this,[t]),e=Math.sin(t.y),i=Math.cos(t.y),n=Math.cos(t.x),r=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*i*n),t.x=r*i*Math.sin(t.x),t.y=r*(this.cosc0*e-this.sinc0*i*n),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,i,n,r,s;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,s=Math.sqrt(t.x*t.x+t.y*t.y)){var o=2*Math.atan2(s,this.R2);e=Math.sin(o),i=Math.cos(o),r=Math.asin(i*this.sinc0+t.y*e*this.cosc0/s),n=Math.atan2(t.x*e,s*this.cosc0*i-t.y*this.sinc0*e)}else r=this.phic0,n=0;return t.x=n,t.y=r,zn.inverse.apply(this,[t]),t.x=pi(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]};const jn={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Oe&&(this.k0=.5*(1+Ai(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=Oe&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Oe&&(this.k0=.5*this.cons*di(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/fi(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=di(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-Ne,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var e,i,n,r,s,o,a=t.x,l=t.y,h=Math.sin(l),c=Math.cos(l),u=pi(a-this.long0);return Math.abs(Math.abs(a-this.long0)-Math.PI)<=Oe&&Math.abs(l+this.lat0)<=Oe?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*h+this.coslat0*c*Math.cos(u)),t.x=this.a*e*c*Math.sin(u)+this.x0,t.y=this.a*e*(this.coslat0*h-this.sinlat0*c*Math.cos(u))+this.y0,t):(i=2*Math.atan(this.ssfn_(l,h,this.e))-Ne,r=Math.cos(i),n=Math.sin(i),Math.abs(this.coslat0)<=Oe?(s=fi(this.e,l*this.con,this.con*h),o=2*this.a*this.k0*s/this.cons,t.x=this.x0+o*Math.sin(a-this.long0),t.y=this.y0-this.con*o*Math.cos(a-this.long0),t):(Math.abs(this.sinlat0)0?pi(this.long0+Math.atan2(t.x,-1*t.y)):pi(this.long0+Math.atan2(t.x,t.y)):pi(this.long0+Math.atan2(t.x*Math.sin(a),o*this.coslat0*Math.cos(a)-t.y*this.sinlat0*Math.sin(a))),t.x=e,t.y=i,t)}if(Math.abs(this.coslat0)<=Oe){if(o<=Oe)return i=this.lat0,e=this.long0,t.x=e,t.y=i,t;t.x*=this.con,t.y*=this.con,n=o*this.cons/(2*this.a*this.k0),i=this.con*mi(this.e,n),e=this.con*pi(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else r=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,o<=Oe?s=this.X0:(s=Math.asin(Math.cos(r)*this.sinX0+t.y*Math.sin(r)*this.cosX0/o),e=pi(this.long0+Math.atan2(t.x*Math.sin(r),o*this.cosX0*Math.cos(r)-t.y*this.sinX0*Math.sin(r)))),i=-1*mi(this.e,Math.tan(.5*(Ne+s)));return t.x=e,t.y=i,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,i){return e*=i,Math.tan(.5*(Ne+t))*Math.pow((1-e)/(1+e),.5*i)}};const Hn={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),i=this.a,n=1/this.rf,r=2*n-Math.pow(n,2),s=this.e=Math.sqrt(r);this.R=this.k0*i*Math.sqrt(1-r)/(1-r*Math.pow(e,2)),this.alpha=Math.sqrt(1+r/(1-r)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var o=Math.log(Math.tan(Math.PI/4+this.b0/2)),a=Math.log(Math.tan(Math.PI/4+t/2)),l=Math.log((1+s*e)/(1-s*e));this.K=o-this.alpha*a+this.alpha*s/2*l},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),i=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),n=-this.alpha*(e+i)+this.K,r=2*(Math.atan(Math.exp(n))-Math.PI/4),s=this.alpha*(t.x-this.lambda0),o=Math.atan(Math.sin(s)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(s))),a=Math.asin(Math.cos(this.b0)*Math.sin(r)-Math.sin(this.b0)*Math.cos(r)*Math.cos(s));return t.y=this.R/2*Math.log((1+Math.sin(a))/(1-Math.sin(a)))+this.y0,t.x=this.R*o+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,i=t.y-this.y0,n=e/this.R,r=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4),s=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(n)),o=Math.atan(Math.sin(n)/(Math.cos(this.b0)*Math.cos(n)-Math.sin(this.b0)*Math.tan(r))),a=this.lambda0+o/this.alpha,l=0,h=s,c=-1e3,u=0;Math.abs(h-c)>1e-7;){if(++u>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+s/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(h))/2)),c=h,h=2*Math.atan(Math.exp(l))-Math.PI/2}return t.x=a,t.y=h,t},names:["somerc"]};var Xn=1e-7;const Wn={init:function(){var t,e,i,n,r,s,o,a,l,h,c,u,g,d=0,A=0,p=0,f=0,m=0,_=0,y=0;this.no_off=(g="object"==typeof(u=this).PROJECTION?Object.keys(u.PROJECTION)[0]:u.PROJECTION,"no_uoff"in u||"no_off"in u||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(g)),this.no_rot="no_rot"in this;var I=!1;"alpha"in this&&(I=!0);var E=!1;if("rectified_grid_angle"in this&&(E=!0),I&&(y=this.alpha),E&&(d=this.rectified_grid_angle*Qe),I||E)A=this.longc;else if(p=this.long1,m=this.lat1,f=this.long2,_=this.lat2,Math.abs(m-_)<=Xn||(t=Math.abs(m))<=Xn||Math.abs(t-Ne)<=Xn||Math.abs(Math.abs(this.lat0)-Ne)<=Xn||Math.abs(Math.abs(_)-Ne)<=Xn)throw new Error;var C=1-this.es;e=Math.sqrt(C),Math.abs(this.lat0)>Oe?(a=Math.sin(this.lat0),i=Math.cos(this.lat0),t=1-this.es*a*a,this.B=i*i,this.B=Math.sqrt(1+this.es*this.B*this.B/C),this.A=this.B*this.k0*e/t,(r=(n=this.B*e/(i*Math.sqrt(t)))*n-1)<=0?r=0:(r=Math.sqrt(r),this.lat0<0&&(r=-r)),this.E=r+=n,this.E*=Math.pow(fi(this.e,this.lat0,a),this.B)):(this.B=1/e,this.A=this.k0,this.E=n=r=1),I||E?(I?(c=Math.asin(Math.sin(y)/n),E||(d=y)):(c=d,y=Math.asin(n*Math.sin(c))),this.lam0=A-Math.asin(.5*(r-1/r)*Math.tan(c))/this.B):(s=Math.pow(fi(this.e,m,Math.sin(m)),this.B),o=Math.pow(fi(this.e,_,Math.sin(_)),this.B),r=this.E/s,l=(o-s)/(o+s),h=((h=this.E*this.E)-o*s)/(h+o*s),(t=p-f)<-Math.pi?f-=Ue:t>Math.pi&&(f+=Ue),this.lam0=pi(.5*(p+f)-Math.atan(h*Math.tan(.5*this.B*(p-f))/l)/this.B),c=Math.atan(2*Math.sin(this.B*pi(p-this.lam0))/(r-1/r)),d=y=Math.asin(n*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(n*n-1)/Math.cos(y))),this.lat0<0&&(this.u_0=-this.u_0)),r=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(Ge-r)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ge+r))},forward:function(t){var e,i,n,r,s,o,a,l,h={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-Ne)>Oe){if(e=.5*((s=this.E/Math.pow(fi(this.e,t.y,Math.sin(t.y)),this.B))-(o=1/s)),i=.5*(s+o),r=Math.sin(this.B*t.x),n=(e*this.singam-r*this.cosgam)/i,Math.abs(Math.abs(n)-1)0?this.v_pole_n:this.v_pole_s,a=this.ArB*t.y;return this.no_rot?(h.x=a,h.y=l):(a-=this.u_0,h.x=l*this.cosrot+a*this.sinrot,h.y=a*this.cosrot-l*this.sinrot),h.x=this.a*h.x+this.x0,h.y=this.a*h.y+this.y0,h},inverse:function(t){var e,i,n,r,s,o,a,l={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(i=t.y,e=t.x):(i=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),r=.5*((n=Math.exp(-this.BrA*i))-1/n),s=.5*(n+1/n),a=((o=Math.sin(this.BrA*e))*this.cosgam+r*this.singam)/s,Math.abs(Math.abs(a)-1)Oe?this.ns=Math.log(n/a)/Math.log(r/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=n/(this.ns*Math.pow(r,this.ns)),this.rh=this.a*this.f0*Math.pow(h,this.ns),this.title||(this.title="Lambert Conformal Conic")}},forward:function(t){var e=t.x,i=t.y;Math.abs(2*Math.abs(i)-Math.PI)<=Oe&&(i=Ai(i)*(Ne-2*Oe));var n,r,s=Math.abs(Math.abs(i)-Ne);if(s>Oe)n=fi(this.e,i,Math.sin(i)),r=this.a*this.f0*Math.pow(n,this.ns);else{if((s=i*this.ns)<=0)return null;r=0}var o=this.ns*pi(e-this.long0);return t.x=this.k0*(r*Math.sin(o))+this.x0,t.y=this.k0*(this.rh-r*Math.cos(o))+this.y0,t},inverse:function(t){var e,i,n,r,s,o=(t.x-this.x0)/this.k0,a=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(o*o+a*a),i=1):(e=-Math.sqrt(o*o+a*a),i=-1);var l=0;if(0!==e&&(l=Math.atan2(i*o,i*a)),0!==e||this.ns>0){if(i=1/this.ns,n=Math.pow(e/(this.a*this.f0),i),-9999===(r=mi(this.e,n)))return null}else r=-Ne;return s=pi(l/this.ns+this.long0),t.x=s,t.y=r,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]};const Jn={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var e,i,n,r,s,o,a,l=t.x,h=t.y,c=pi(l-this.long0);return e=Math.pow((1+this.e*Math.sin(h))/(1-this.e*Math.sin(h)),this.alfa*this.e/2),i=2*(Math.atan(this.k*Math.pow(Math.tan(h/2+this.s45),this.alfa)/e)-this.s45),n=-c*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(i)+Math.sin(this.ad)*Math.cos(i)*Math.cos(n)),s=Math.asin(Math.cos(i)*Math.sin(n)/Math.cos(r)),o=this.n*s,a=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n),t.y=a*Math.cos(o)/1,t.x=a*Math.sin(o)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,i,n,r,s,o,a,l=t.x;t.x=t.y,t.y=l,this.czech||(t.y*=-1,t.x*=-1),s=Math.sqrt(t.x*t.x+t.y*t.y),r=Math.atan2(t.y,t.x)/Math.sin(this.s0),n=2*(Math.atan(Math.pow(this.ro0/s,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(n)-Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),i=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(e)),t.x=this.long0-i/this.alfa,o=e,a=0;var h=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-t.y)<1e-10&&(a=1),o=t.y,h+=1}while(0===a&&h<15);return h>=15?null:t},names:["Krovak","krovak"]};function Zn(t,e,i,n,r){return t*r-e*Math.sin(2*r)+i*Math.sin(4*r)-n*Math.sin(6*r)}function $n(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function tr(t){return.375*t*(1+.25*t*(1+.46875*t))}function er(t){return.05859375*t*t*(1+.75*t)}function ir(t){return t*t*t*(35/3072)}function nr(t,e,i){var n=e*i;return t/Math.sqrt(1-n*n)}function rr(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(i=t*e)*i)-.5/t*Math.log((1-i)/(1+i))):2*e}var lr=.3333333333333333,hr=.17222222222222222,cr=.10257936507936508,ur=.06388888888888888,gr=.0664021164021164,dr=.016415012942191543;const Ar={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-Ne)0)switch(this.qp=ar(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,i=[];return i[0]=t*lr,e=t*t,i[0]+=e*hr,i[1]=e*ur,e*=t,i[0]+=e*cr,i[1]+=e*gr,i[2]=e*dr,i}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=ar(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var e,i,n,r,s,o,a,l,h,c,u=t.x,g=t.y;if(u=pi(u-this.long0),this.sphere){if(s=Math.sin(g),c=Math.cos(g),n=Math.cos(u),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((i=this.mode===this.EQUIT?1+c*n:1+this.sinph0*s+this.cosph0*c*n)<=Oe)return null;e=(i=Math.sqrt(2/i))*c*Math.sin(u),i*=this.mode===this.EQUIT?s:this.cosph0*s-this.sinph0*c*n}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(n=-n),Math.abs(g+this.lat0)=0?(e=(h=Math.sqrt(o))*r,i=n*(this.mode===this.S_POLE?h:-h)):e=i=0}}return t.x=this.a*e+this.x0,t.y=this.a*i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,i,n,r,s,o,a,l,h,c,u=t.x/this.a,g=t.y/this.a;if(this.sphere){var d,A=0,p=0;if((i=.5*(d=Math.sqrt(u*u+g*g)))>1)return null;switch(i=2*Math.asin(i),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(p=Math.sin(i),A=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(d)<=Oe?0:Math.asin(g*p/d),u*=p,g=A*d;break;case this.OBLIQ:i=Math.abs(d)<=Oe?this.lat0:Math.asin(A*this.sinph0+g*p*this.cosph0/d),u*=p*this.cosph0,g=(A-Math.sin(i)*this.sinph0)*d;break;case this.N_POLE:g=-g,i=Ne-i;break;case this.S_POLE:i-=Ne}e=0!==g||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(u,g):0}else{if(a=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(u/=this.dd,g*=this.dd,(o=Math.sqrt(u*u+g*g))1&&(t=t>1?1:-1),Math.asin(t)}const fr={init:function(){Math.abs(this.lat1+this.lat2)Oe?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var e=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var n=ar(this.e3,this.sin_phi),r=this.a*Math.sqrt(this.c-this.ns0*n)/this.ns0,s=this.ns0*pi(e-this.long0),o=r*Math.sin(s)+this.x0,a=this.rh-r*Math.cos(s)+this.y0;return t.x=o,t.y=a,t},inverse:function(t){var e,i,n,r,s,o;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),n=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),n=-1),r=0,0!==e&&(r=Math.atan2(n*t.x,n*t.y)),n=e*this.ns0/this.a,this.sphere?o=Math.asin((this.c-n*n)/(2*this.ns0)):(i=(this.c-n*n)/this.ns0,o=this.phi1z(this.e3,i)),s=pi(r/this.ns0+this.long0),t.x=s,t.y=o,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var i,n,r,s,o=pr(.5*e);if(t0||Math.abs(s)<=Oe?(o=this.x0+1*this.a*i*Math.sin(n)/s,a=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*i*r)/s):(o=this.x0+this.infinity_dist*i*Math.sin(n),a=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*i*r)),t.x=o,t.y=a,t},inverse:function(t){var e,i,n,r,s,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(r=Math.atan2(e,this.rc),i=Math.sin(r),o=pr((n=Math.cos(r))*this.sin_p14+t.y*i*this.cos_p14/e),s=Math.atan2(t.x*i,e*this.cos_p14*n-t.y*this.sin_p14*i),s=pi(this.long0+s)):(o=this.phic0,s=0),t.x=s,t.y=o,t},names:["gnom"]};const _r={init:function(){this.sphere||(this.k0=di(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var e,i,n=t.x,r=t.y,s=pi(n-this.long0);if(this.sphere)e=this.x0+this.a*s*Math.cos(this.lat_ts),i=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=ar(this.e,Math.sin(r));e=this.x0+this.a*this.k0*s,i=this.y0+this.a*o*.5/this.k0}return t.x=e,t.y=i,t},inverse:function(t){var e,i;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=pi(this.long0+t.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(i=function(t,e){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-i)<1e-6)return e<0?-1*Ne:Ne;for(var n,r,s,o,a=Math.asin(.5*e),l=0;l<30;l++)if(r=Math.sin(a),s=Math.cos(a),o=t*r,a+=n=Math.pow(1-o*o,2)/(2*s)*(e/(1-t*t)-r/(1-o*o)+.5/t*Math.log((1-o)/(1+o))),Math.abs(n)<=1e-10)return a;return NaN}(this.e,2*t.y*this.k0/this.a),e=pi(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=i,t},names:["cea"]};const yr={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var e=t.x,i=t.y,n=pi(e-this.long0),r=rr(i-this.lat0);return t.x=this.x0+this.a*n*this.rc,t.y=this.y0+this.a*r,t},inverse:function(t){var e=t.x,i=t.y;return t.x=pi(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=rr(this.lat0+(i-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};const Ir={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=$n(this.es),this.e1=tr(this.es),this.e2=er(this.es),this.e3=ir(this.es),this.ml0=this.a*Zn(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var e,i,n,r=t.x,s=t.y,o=pi(r-this.long0);if(n=o*Math.sin(s),this.sphere)Math.abs(s)<=Oe?(e=this.a*o,i=-1*this.a*this.lat0):(e=this.a*Math.sin(n)/Math.tan(s),i=this.a*(rr(s-this.lat0)+(1-Math.cos(n))/Math.tan(s)));else if(Math.abs(s)<=Oe)e=this.a*o,i=-1*this.ml0;else{var a=nr(this.a,this.e,Math.sin(s))/Math.tan(s);e=a*Math.sin(n),i=this.a*Zn(this.e0,this.e1,this.e2,this.e3,s)-this.ml0+a*(1-Math.cos(n))}return t.x=e+this.x0,t.y=i+this.y0,t},inverse:function(t){var e,i,n,r,s,o,a,l,h;if(n=t.x-this.x0,r=t.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=Oe)e=pi(n/this.a+this.long0),i=0;else{var c;for(o=this.lat0+r/this.a,a=n*n/this.a/this.a+o*o,l=o,s=20;s;--s)if(l+=h=-1*(o*(l*(c=Math.tan(l))+1)-l-.5*(l*l+a)*c)/((l-o)/c-1),Math.abs(h)<=Oe){i=l;break}e=pi(this.long0+Math.asin(n*Math.tan(l)/this.a)/Math.sin(i))}else if(Math.abs(r+this.ml0)<=Oe)i=0,e=pi(this.long0+n/this.a);else{var u,g,d,A,p;for(o=(this.ml0+r)/this.a,a=n*n/this.a/this.a+o*o,l=o,s=20;s;--s)if(p=this.e*Math.sin(l),u=Math.sqrt(1-p*p)*Math.tan(l),g=this.a*Zn(this.e0,this.e1,this.e2,this.e3,l),d=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),l-=h=(o*(u*(A=g/this.a)+1)-A-.5*u*(A*A+a))/(this.es*Math.sin(2*l)*(A*A+a-2*o*A)/(4*u)+(o-A)*(u*d-2/Math.sin(2*l))-d),Math.abs(h)<=Oe){i=l;break}u=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),e=pi(this.long0+Math.asin(n*u/this.a)/Math.sin(i))}return t.x=e,t.y=i,t},names:["Polyconic","poly"]};const Er={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){var e,i=t.x,n=t.y-this.lat0,r=i-this.long0,s=n/Re*1e-5,o=r,a=1,l=0;for(e=1;e<=10;e++)a*=s,l+=this.A[e]*a;var h,c=l,u=o,g=1,d=0,A=0,p=0;for(e=1;e<=6;e++)h=d*c+g*u,g=g*c-d*u,d=h,A=A+this.B_re[e]*g-this.B_im[e]*d,p=p+this.B_im[e]*g+this.B_re[e]*d;return t.x=p*this.a+this.x0,t.y=A*this.a+this.y0,t},inverse:function(t){var e,i,n=t.x,r=t.y,s=n-this.x0,o=(r-this.y0)/this.a,a=s/this.a,l=1,h=0,c=0,u=0;for(e=1;e<=6;e++)i=h*o+l*a,l=l*o-h*a,h=i,c=c+this.C_re[e]*l-this.C_im[e]*h,u=u+this.C_im[e]*l+this.C_re[e]*h;for(var g=0;g.999999999999&&(i=.999999999999),e=Math.asin(i);var n=pi(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));n<-Math.PI&&(n=-Math.PI),n>Math.PI&&(n=Math.PI),i=(2*e+Math.sin(2*e))/Math.PI,Math.abs(i)>1&&(i=1);var r=Math.asin(i);return t.x=n,t.y=r,t},names:["Mollweide","moll"]};const wr={init:function(){Math.abs(this.lat1+this.lat2)=0?(i=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var s=0;return 0!==i&&(s=Math.atan2(e*t.x,e*t.y)),this.sphere?(r=pi(this.long0+s/this.ns),n=rr(this.g-i/this.a),t.x=r,t.y=n,t):(n=sr(this.g-i/this.a,this.e0,this.e1,this.e2,this.e3),r=pi(this.long0+s/this.ns),t.x=r,t.y=n,t)},names:["Equidistant_Conic","eqdc"]};const Sr={init:function(){this.R=this.a},forward:function(t){var e,i,n=t.x,r=t.y,s=pi(n-this.long0);Math.abs(r)<=Oe&&(e=this.x0+this.R*s,i=this.y0);var o=pr(2*Math.abs(r/Math.PI));(Math.abs(s)<=Oe||Math.abs(Math.abs(r)-Ne)<=Oe)&&(e=this.x0,i=r>=0?this.y0+Math.PI*this.R*Math.tan(.5*o):this.y0+Math.PI*this.R*-Math.tan(.5*o));var a=.5*Math.abs(Math.PI/s-s/Math.PI),l=a*a,h=Math.sin(o),c=Math.cos(o),u=c/(h+c-1),g=u*u,d=u*(2/h-1),A=d*d,p=Math.PI*this.R*(a*(u-A)+Math.sqrt(l*(u-A)*(u-A)-(A+l)*(g-A)))/(A+l);s<0&&(p=-p),e=this.x0+p;var f=l+u;return p=Math.PI*this.R*(d*f-a*Math.sqrt((A+l)*(l+1)-f*f))/(A+l),i=r>=0?this.y0+p:this.y0-p,t.x=e,t.y=i,t},inverse:function(t){var e,i,n,r,s,o,a,l,h,c,u,g;return t.x-=this.x0,t.y-=this.y0,u=Math.PI*this.R,s=(n=t.x/u)*n+(r=t.y/u)*r,u=3*(r*r/(l=-2*(o=-Math.abs(r)*(1+s))+1+2*r*r+s*s)+(2*(a=o-2*r*r+n*n)*a*a/l/l/l-9*o*a/l/l)/27)/(h=(o-a*a/3/l)/l)/(c=2*Math.sqrt(-h/3)),Math.abs(u)>1&&(u=u>=0?1:-1),g=Math.acos(u)/3,i=t.y>=0?(-c*Math.cos(g+Math.PI/3)-a/3/l)*Math.PI:-(-c*Math.cos(g+Math.PI/3)-a/3/l)*Math.PI,e=Math.abs(n)2*Ne*this.a)return;return i=e/this.a,n=Math.sin(i),r=Math.cos(i),s=this.long0,Math.abs(e)<=Oe?o=this.lat0:(o=pr(r*this.sin_p12+t.y*n*this.cos_p12/e),a=Math.abs(this.lat0)-Ne,s=Math.abs(a)<=Oe?this.lat0>=0?pi(this.long0+Math.atan2(t.x,-t.y)):pi(this.long0-Math.atan2(-t.x,t.y)):pi(this.long0+Math.atan2(t.x*n,e*this.cos_p12*r-t.y*this.sin_p12*n))),t.x=s,t.y=o,t}return l=$n(this.es),h=tr(this.es),c=er(this.es),u=ir(this.es),Math.abs(this.sin_p12-1)<=Oe?(o=sr(((g=this.a*Zn(l,h,c,u,Ne))-(e=Math.sqrt(t.x*t.x+t.y*t.y)))/this.a,l,h,c,u),s=pi(this.long0+Math.atan2(t.x,-1*t.y)),t.x=s,t.y=o,t):Math.abs(this.sin_p12+1)<=Oe?(g=this.a*Zn(l,h,c,u,Ne),o=sr(((e=Math.sqrt(t.x*t.x+t.y*t.y))-g)/this.a,l,h,c,u),s=pi(this.long0+Math.atan2(t.x,t.y)),t.x=s,t.y=o,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),p=Math.atan2(t.x,t.y),d=nr(this.a,this.e,this.sin_p12),f=Math.cos(p),_=-(m=this.e*this.cos_p12*f)*m/(1-this.es),y=3*this.es*(1-_)*this.sin_p12*this.cos_p12*f/(1-this.es),C=1-_*(E=(I=e/d)-_*(1+_)*Math.pow(I,3)/6-y*(1+3*_)*Math.pow(I,4)/24)*E/2-I*E*E*E/6,A=Math.asin(this.sin_p12*Math.cos(E)+this.cos_p12*Math.sin(E)*f),s=pi(this.long0+Math.asin(Math.sin(p)*Math.sin(E)/Math.cos(A))),v=Math.sin(A),o=Math.atan2((v-this.es*C*this.sin_p12)*Math.tan(A),v*(1-this.es)),t.x=s,t.y=o,t)},names:["Azimuthal_Equidistant","aeqd"]};const Br={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var e,i,n,r,s,o,a,l=t.x,h=t.y;return n=pi(l-this.long0),e=Math.sin(h),i=Math.cos(h),r=Math.cos(n),1,((s=this.sin_p14*e+this.cos_p14*i*r)>0||Math.abs(s)<=Oe)&&(o=1*this.a*i*Math.sin(n),a=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*i*r)),t.x=o,t.y=a,t},inverse:function(t){var e,i,n,r,s,o,a;return t.x-=this.x0,t.y-=this.y0,i=pr((e=Math.sqrt(t.x*t.x+t.y*t.y))/this.a),n=Math.sin(i),r=Math.cos(i),o=this.long0,Math.abs(e)<=Oe?(a=this.lat0,t.x=o,t.y=a,t):(a=pr(r*this.sin_p14+t.y*n*this.cos_p14/e),s=Math.abs(this.lat0)-Ne,Math.abs(s)<=Oe?(o=this.lat0>=0?pi(this.long0+Math.atan2(t.x,-t.y)):pi(this.long0-Math.atan2(-t.x,t.y)),t.x=o,t.y=a,t):(o=pi(this.long0+Math.atan2(t.x*n,e*this.cos_p14*r-t.y*this.sin_p14*n)),t.x=o,t.y=a,t))},names:["ortho"]};var Lr=1,Mr=2,Tr=3,Rr=4,Nr=5,Pr=6,Fr={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Dr(t,e,i,n){var r;return tGe&&r<=Ne+Ge?(n.value=Fr.AREA_1,r-=Ne):r>Ne+Ge||r<=-(Ne+Ge)?(n.value=Fr.AREA_2,r=r>=0?r-qe:r+qe):(n.value=Fr.AREA_3,r+=Ne)),r}function Or(t,e){var i=t+e;return i<-qe?i+=Ue:i>+qe&&(i-=Ue),i}const Qr={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=Ne-Ge/2?this.face=Nr:this.lat0<=-(Ne-Ge/2)?this.face=Pr:Math.abs(this.long0)<=Ge?this.face=Lr:Math.abs(this.long0)<=Ne+Ge?this.face=this.long0>0?Mr:Rr:this.face=Tr,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var e,i,n,r,s,o,a={x:0,y:0},l={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,i=t.x,this.face===Nr)r=Ne-e,i>=Ge&&i<=Ne+Ge?(l.value=Fr.AREA_0,n=i-Ne):i>Ne+Ge||i<=-(Ne+Ge)?(l.value=Fr.AREA_1,n=i>0?i-qe:i+qe):i>-(Ne+Ge)&&i<=-Ge?(l.value=Fr.AREA_2,n=i+Ne):(l.value=Fr.AREA_3,n=i);else if(this.face===Pr)r=Ne+e,i>=Ge&&i<=Ne+Ge?(l.value=Fr.AREA_0,n=-i+Ne):i=-Ge?(l.value=Fr.AREA_1,n=-i):i<-Ge&&i>=-(Ne+Ge)?(l.value=Fr.AREA_2,n=-i-Ne):(l.value=Fr.AREA_3,n=i>0?-i+qe:-i-qe);else{var h,c,u,g,d,A;this.face===Mr?i=Or(i,+Ne):this.face===Tr?i=Or(i,+qe):this.face===Rr&&(i=Or(i,-Ne)),g=Math.sin(e),d=Math.cos(e),A=Math.sin(i),h=d*Math.cos(i),c=d*A,u=g,this.face===Lr?n=Dr(r=Math.acos(h),u,c,l):this.face===Mr?n=Dr(r=Math.acos(c),u,-h,l):this.face===Tr?n=Dr(r=Math.acos(-h),u,-c,l):this.face===Rr?n=Dr(r=Math.acos(-c),u,h,l):(r=n=0,l.value=Fr.AREA_0)}return o=Math.atan(12/qe*(n+Math.acos(Math.sin(n)*Math.cos(Ge))-Ne)),s=Math.sqrt((1-Math.cos(r))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(n))))),l.value===Fr.AREA_1?o+=Ne:l.value===Fr.AREA_2?o+=qe:l.value===Fr.AREA_3&&(o+=1.5*qe),a.x=s*Math.cos(o),a.y=s*Math.sin(o),a.x=a.x*this.a+this.x0,a.y=a.y*this.a+this.y0,t.x=a.x,t.y=a.y,t},inverse:function(t){var e,i,n,r,s,o,a,l,h,c,u,g,d={lam:0,phi:0},A={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,i=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?A.value=Fr.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(A.value=Fr.AREA_1,e-=Ne):t.x<0&&-t.x>=Math.abs(t.y)?(A.value=Fr.AREA_2,e=e<0?e+qe:e-qe):(A.value=Fr.AREA_3,e+=Ne),h=qe/12*Math.tan(e),s=Math.sin(h)/(Math.cos(h)-1/Math.sqrt(2)),o=Math.atan(s),(a=1-(n=Math.cos(e))*n*(r=Math.tan(i))*r*(1-Math.cos(Math.atan(1/Math.cos(o)))))<-1?a=-1:a>1&&(a=1),this.face===Nr)l=Math.acos(a),d.phi=Ne-l,A.value===Fr.AREA_0?d.lam=o+Ne:A.value===Fr.AREA_1?d.lam=o<0?o+qe:o-qe:A.value===Fr.AREA_2?d.lam=o-Ne:d.lam=o;else if(this.face===Pr)l=Math.acos(a),d.phi=l-Ne,A.value===Fr.AREA_0?d.lam=-o+Ne:A.value===Fr.AREA_1?d.lam=-o:A.value===Fr.AREA_2?d.lam=-o-Ne:d.lam=o<0?-o-qe:-o+qe;else{var p,f,m;h=(p=a)*p,f=(h+=(m=h>=1?0:Math.sqrt(1-h)*Math.sin(o))*m)>=1?0:Math.sqrt(1-h),A.value===Fr.AREA_1?(h=f,f=-m,m=h):A.value===Fr.AREA_2?(f=-f,m=-m):A.value===Fr.AREA_3&&(h=f,f=m,m=-h),this.face===Mr?(h=p,p=-f,f=h):this.face===Tr?(p=-p,f=-f):this.face===Rr&&(h=p,p=f,f=-h),d.phi=Math.acos(-m)-Ne,d.lam=Math.atan2(f,p),this.face===Mr?d.lam=Or(d.lam,-Ne):this.face===Tr?d.lam=Or(d.lam,-qe):this.face===Rr&&(d.lam=Or(d.lam,+Ne))}return 0!==this.es&&(c=d.phi<0?1:0,u=Math.tan(d.phi),g=this.b/Math.sqrt(u*u+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g)),c&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]};var kr=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Gr=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Ur=.8487,qr=1.3523,Vr=ke/5,zr=1/Vr,Yr=18,jr=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};const Hr={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var e=pi(t.x-this.long0),i=Math.abs(t.y),n=Math.floor(i*Vr);n<0?n=0:n>=Yr&&(n=17);var r={x:jr(kr[n],i=ke*(i-zr*n))*e,y:jr(Gr[n],i)};return t.y<0&&(r.y=-r.y),r.x=r.x*this.a*Ur+this.x0,r.y=r.y*this.a*qr+this.y0,r},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*Ur),y:Math.abs(t.y-this.y0)/(this.a*qr)};if(e.y>=1)e.x/=kr[18][0],e.y=t.y<0?-Ne:Ne;else{var i=Math.floor(e.y*Yr);for(i<0?i=0:i>=Yr&&(i=17);;)if(Gr[i][0]>e.y)--i;else{if(!(Gr[i+1][0]<=e.y))break;++i}var n=Gr[i],r=5*(e.y-n[0])/(Gr[i+1][0]-n[0]);r=function(t,e,i,n){for(var r=e;n;--n){var s=t(r);if(r-=s,Math.abs(s)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")},forward:function(t){var e,i,n,r,s=t.x,o=t.y;if(s-=this.long0,"ellipse"===this.shape){o=Math.atan(this.radius_p2*Math.tan(o));var a=this.radius_p/On(this.radius_p*Math.cos(o),Math.sin(o));if(i=a*Math.cos(s)*Math.cos(o),n=a*Math.sin(s)*Math.cos(o),r=a*Math.sin(o),(this.radius_g-i)*i-n*n-r*r*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/On(r,e)),t.y=this.radius_g_1*Math.atan(r/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(r/On(n,e)))}else"sphere"===this.shape&&(e=Math.cos(o),i=Math.cos(s)*e,n=Math.sin(s)*e,r=Math.sin(o),e=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/On(r,e)),t.y=this.radius_g_1*Math.atan(r/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(r/On(n,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,i,n,r,s=-1,o=0,a=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),o=Math.tan(t.x/this.radius_g_1)*On(1,a)):(o=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*On(1,o));var l=a/this.radius_p;if(e=o*o+l*l+s*s,(n=(i=2*this.radius_g*s)*i-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;r=(-i-Math.sqrt(n))/(2*e),s=this.radius_g+r*s,o*=r,a*=r,t.x=Math.atan2(o,s),t.y=Math.atan(a*Math.cos(t.x)/s),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if("sphere"===this.shape){if(this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),o=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+a*a)):(o=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+o*o)),e=o*o+a*a+s*s,(n=(i=2*this.radius_g*s)*i-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;r=(-i-Math.sqrt(n))/(2*e),s=this.radius_g+r*s,o*=r,a*=r,t.x=Math.atan2(o,s),t.y=Math.atan(a*Math.cos(t.x)/s)}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};Ji.defaultDatum="WGS84",Ji.Proj=Di,Ji.WGS84=new Ji.Proj("WGS84"),Ji.Point=_n,Ji.toPoint=Yi,Ji.defs=li,Ji.nadgrid=function(t,e){var i=new DataView(e),n=function(t){var e=t.getInt32(8,!1);if(11===e)return!1;e=t.getInt32(8,!0),11!==e&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian");return!0}(i),r=function(t,e){return{nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:Ti(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(i,n);r.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var s=function(t,e,i){for(var n=176,r=[],s=0;s{let e=t;Array.isArray(e)||(e=[e]),e.forEach((t=>{t.codes.forEach((e=>{is.defs(e,t.def)}));ne(t.codes.map((e=>new u({code:e,extent:t.extent,worldExtent:t.worldExtent,units:t.units,metersPerUnit:t.metersPerUnit,axisOrientation:t.axisOrientation,global:t.global})))),-1===os.indexOf(t)&&os.push(t)}))},ls=()=>os;as(os),ls(),rs(is);const hs={addProjections:as,getSupportedProjs:ls};function cs(t){t.stopPropagation()}const us=class{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}},gs="propertychange";const ds=class{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}};function As(t,e){return t>e?1:te?-1:0}function fs(t,e,i){if(t[0]<=e)return 0;const n=t.length;if(e<=t[n-1])return n-1;if("function"==typeof i){for(let r=1;r0?r-1:r}return n-1}if(i>0){for(let i=1;i0)}removeEventListener(t,e){const i=this.listeners_&&this.listeners_[t];if(i){const n=i.indexOf(e);-1!==n&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[n]=Cs,++this.pendingRemovals_[t]):(i.splice(n,1),0===i.length&&delete this.listeners_[t]))}}},bs="change",Bs="error",Ls="contextmenu",Ms="click",Ts="dblclick",Rs="dragenter",Ns="dragover",Ps="drop",Fs="keydown",Ds="keypress",Os="load",Qs="touchmove",ks="wheel";function Gs(t,e,i,n,r){if(n&&n!==t&&(i=i.bind(n)),r){const n=i;i=function(){t.removeEventListener(e,i),n.apply(this,arguments)}}const s={target:t,type:e,listener:i};return t.addEventListener(e,i),s}function Us(t,e,i,n){return Gs(t,e,i,n,!0)}function qs(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),xs(t))}class Vs extends Ss{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(bs)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,n=new Array(i);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,i=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new to(Js,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){this.unique_&&this.assertUnique_(t);const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let i=0,n=e.length;i=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new to(Zs,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const i=this.array_[t];this.array_[t]=e,this.dispatchEvent(new to(Zs,i,t)),this.dispatchEvent(new to(Js,e,t))}updateLength_(){this.set($s,this.array_.length)}assertUnique_(t,e){for(let i=0,n=this.array_.length;i=1024){let i=0;for(const n in t)0==(3&i++)&&(delete t[n],--e)}n=function(t){let e,i,n,r,s;So.exec(t)&&(t=Bo(t));if(wo.exec(t)){const o=t.length-1;let a;a=o<=4?1:2;const l=4===o||8===o;e=parseInt(t.substr(1+0*a,a),16),i=parseInt(t.substr(1+1*a,a),16),n=parseInt(t.substr(1+2*a,a),16),r=l?parseInt(t.substr(1+3*a,a),16):255,1==a&&(e=(e<<4)+e,i=(i<<4)+i,n=(n<<4)+n,l&&(r=(r<<4)+r)),s=[e,i,n,r/255]}else if(t.startsWith("rgba("))s=t.slice(5,-1).split(",").map(Number),To(s);else{if(!t.startsWith("rgb("))throw new Error("Invalid color");s=t.slice(4,-1).split(",").map(Number),s.push(1),To(s)}return s}(i),t[i]=n,++e}return n}}();function Mo(t){return Array.isArray(t)?t:Lo(t)}function To(t){return t[0]=dt(t[0]+.5|0,0,255),t[1]=dt(t[1]+.5|0,0,255),t[2]=dt(t[2]+.5|0,0,255),t[3]=dt(t[3],0,1),t}function Ro(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let i=t[1];i!=(0|i)&&(i=i+.5|0);let n=t[2];n!=(0|n)&&(n=n+.5|0);return"rgba("+e+","+i+","+n+","+(void 0===t[3]?1:Math.round(100*t[3])/100)+")"}class No{constructor(){this.cache_={},this.cacheSize_=0,this.maxCacheSize_=32}clear(){this.cache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const i=this.cache_[e];0!=(3&t++)||i.hasListener()||(delete this.cache_[e],--this.cacheSize_)}}}get(t,e,i){const n=Po(t,e,i);return n in this.cache_?this.cache_[n]:null}set(t,e,i,n){const r=Po(t,e,i);this.cache_[r]=n,++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function Po(t,e,i){return e+":"+t+":"+(i?bo(i):"null")}const Fo=new No,Do="opacity",Oo="visible",Qo="extent",ko="zIndex",Go="maxResolution",Uo="minResolution",qo="maxZoom",Vo="minZoom",zo="source",Yo="map";const jo=class extends Ks{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[Do]=void 0!==t.opacity?t.opacity:1,go("number"==typeof e[Do],"Layer opacity must be a number"),e[Oo]=void 0===t.visible||t.visible,e[ko]=t.zIndex,e[Go]=void 0!==t.maxResolution?t.maxResolution:1/0,e[Uo]=void 0!==t.minResolution?t.minResolution:0,e[Vo]=void 0!==t.minZoom?t.minZoom:-1/0,e[qo]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},i=this.getZIndex();return e.opacity=dt(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==i||e.managed?i:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return js()}getLayerStatesArray(t){return js()}getExtent(){return this.get(Qo)}getMaxResolution(){return this.get(Go)}getMinResolution(){return this.get(Uo)}getMinZoom(){return this.get(Vo)}getMaxZoom(){return this.get(qo)}getOpacity(){return this.get(Do)}getSourceState(){return js()}getVisible(){return this.get(Oo)}getZIndex(){return this.get(ko)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(Qo,t)}setMaxResolution(t){this.set(Go,t)}setMinResolution(t){this.set(Uo,t)}setMaxZoom(t){this.set(qo,t)}setMinZoom(t){this.set(Vo,t)}setOpacity(t){go("number"==typeof t,"Layer opacity must be a number"),this.set(Do,t)}setVisible(t){this.set(Oo,t)}setZIndex(t){this.set(ko,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}},Ho="prerender",Xo="postrender",Wo="precompose",Ko="postcompose",Jo="rendercomplete",Zo=0,$o=1,ta={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},ea=42,ia=256;function na(t,e,i){return function(n,r,s,o,a){if(!n)return;if(!r&&!e)return n;const l=e?0:s[0]*r,h=e?0:s[1]*r,c=a?a[0]:0,u=a?a[1]:0;let g=t[0]+l/2+c,d=t[2]-l/2+c,A=t[1]+h/2+u,p=t[3]-h/2+u;g>d&&(g=(d+g)/2,d=g),A>p&&(A=(p+A)/2,p=A);let f=dt(n[0],g,d),m=dt(n[1],A,p);if(o&&i&&r){const t=30*r;f+=-t*Math.log(1+Math.max(0,g-n[0])/t)+t*Math.log(1+Math.max(0,n[0]-d)/t),m+=-t*Math.log(1+Math.max(0,A-n[1])/t)+t*Math.log(1+Math.max(0,n[1]-p)/t)}return[f,m]}}function ra(t){return t}function sa(t,e,i,n){const r=at(e)/i[0],s=nt(e)/i[1];return n?Math.min(t,Math.max(r,s)):Math.min(t,Math.min(r,s))}function oa(t,e,i){let n=Math.min(t,e);return n*=Math.log(1+50*Math.max(0,t/e-1))/50+1,i&&(n=Math.max(n,i),n/=Math.log(1+50*Math.max(0,i/t-1))/50+1),dt(n,i/2,2*e)}function aa(t,e,i,n,r){return i=void 0===i||i,function(s,o,a,l){if(void 0!==s){const o=n?sa(t,n,a,r):t;return i&&l?oa(s,o,e):dt(s,e,o)}}}function la(t){if(void 0!==t)return 0}function ha(t){if(void 0!==t)return t}function ca(t){return Math.pow(t,3)}function ua(t){return 1-ca(1-t)}function ga(t){return 3*t*t-2*t*t*t}function da(t){return t}function Aa(t){return t<.5?ga(2*t):1-ga(2*(t-.5))}function pa(t,e,i,n,r,s){s=s||[];let o=0;for(let a=e;a1)u=i;else{if(g>0){for(let r=0;rr&&(r=a),s=i,o=n}return r}function va(t,e,i,n,r){for(let s=0,o=i.length;s0;){const i=h.pop(),s=h.pop();let o=0;const a=t[s],u=t[s+1],g=t[i],d=t[i+1];for(let e=s+n;eo&&(c=e,o=i)}o>r&&(l[(c-e)/n]=1,s+n0&&A>g)&&(d<0&&p0&&p>d)?(a=i,l=u):(s[o++]=a,s[o++]=l,h=a,c=l,a=i,l=u)}return s[o++]=a,s[o++]=l,o}function Na(t,e,i,n,r,s,o,a){for(let l=0,h=i.length;ls&&(i-a)*(s-l)-(r-a)*(n-l)>0&&o++:n<=s&&(i-a)*(s-l)-(r-a)*(n-l)<0&&o--,a=i,l=n}return 0!==o}function Ya(t,e,i,n,r,s){if(0===i.length)return!1;if(!za(t,e,i[0],n,r,s))return!1;for(let e=1,o=i.length;em&&(h=(c+u)/2,Ya(t,e,i,n,h,A)&&(f=h,m=r)),c=u}return isNaN(f)&&(f=r[s]),o?(o.push(f,A,m),o):[f,A,m]}function Ha(t,e,i,n,r){let s=[];for(let o=0,a=i.length;o=r[0]&&s[2]<=r[2]||(s[1]>=r[1]&&s[3]<=r[3]||Xa(t,e,i,n,(function(t,e){return function(t,e,i){let n=!1;const r=Q(t,e),s=Q(t,i);if(r===L.INTERSECTING||s===L.INTERSECTING)n=!0;else{const o=t[0],a=t[1],l=t[2],h=t[3],c=e[0],u=e[1],g=i[0],d=i[1],A=(d-u)/(g-c);let p,f;s&L.ABOVE&&!(r&L.ABOVE)&&(p=g-(d-h)/A,n=p>=o&&p<=l),n||!(s&L.RIGHT)||r&L.RIGHT||(f=d-(g-l)*A,n=f>=a&&f<=h),n||!(s&L.BELOW)||r&L.BELOW||(p=g-(d-a)/A,n=p>=o&&p<=l),n||!(s&L.LEFT)||r&L.LEFT||(f=d-(g-o)*A,n=f>=a&&f<=h)}return n}(r,t,e)})))))}function Ka(t,e,i,n,r){return!!Wa(t,e,i,n,r)||(!!za(t,e,i,n,r[0],r[1])||(!!za(t,e,i,n,r[0],r[3])||(!!za(t,e,i,n,r[2],r[1])||!!za(t,e,i,n,r[2],r[3]))))}function Ja(t,e,i,n,r){if(!Ka(t,e,i[0],n,r))return!1;if(1===i.length)return!0;for(let e=1,s=i.length;e0}function tl(t,e,i,n,r){r=void 0!==r&&r;for(let s=0,o=i.length;sc&&g1&&"function"==typeof arguments[i-1]&&(e=arguments[i-1],--i);let n=0;for(;n0}getInteracting(){return this.hints_[$o]>0}cancelAnimations(){let t;this.setHint(Zo,-this.hints_[Zo]);for(let e=0,i=this.animations_.length;e=0;--i){const n=this.animations_[i];let r=!0;for(let i=0,s=n.length;i0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],i=s.targetCenter[0],n=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(i-t),o=e+l*(n-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),i=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(i,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?_t(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[i]=null,this.setHint(Zo,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=n[0].callback;t&&cl(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let i;const n=this.getCenterInternal();return void 0!==n&&(i=[n[0]-e[0],n[1]-e[1]],Nt(i,t-this.getRotation()),St(i,e)),i}calculateCenterZoom(t,e){let i;const n=this.getCenterInternal(),r=this.getResolution();if(void 0!==n&&void 0!==r){i=[e[0]-t*(e[0]-n[0])/r,e[1]-t*(e[1]-n[1])/r]}return i}getViewportSize_(t){const e=this.viewportSize_;if(t){const i=e[0],n=e[1];return[Math.abs(i*Math.cos(t))+Math.abs(n*Math.sin(t)),Math.abs(i*Math.sin(t))+Math.abs(n*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?pe(t,this.getProjection()):t}getCenterInternal(){return this.get(ta.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return me(this.calculateExtentInternal(t),this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();go(e,"The view center is not defined");const i=this.getResolution();go(void 0!==i,"The view resolution is not defined");const n=this.getRotation();return go(void 0!==n,"The view rotation is not defined"),et(e,i,n,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(ta.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(_e(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=at(t)/e[0],n=nt(t)/e[1];return Math.max(i,n)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,n=Math.log(e/i)/Math.log(t);return function(i){return e/Math.pow(t,i*n)}}getRotation(){return this.get(ta.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,r=Math.log(i/n)/e;return function(t){return Math.log(i/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const i=this.padding_;return i&&(e=[e[0]-i[1]-i[3],e[1]-i[0]-i[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),i=this.getRotation();let n=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();n=gl(n,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,i)}return{center:n.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:i,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,i,n=this.minZoom_||0;if(this.resolutions_){const r=fs(this.resolutions_,t,1);n=r,e=this.resolutions_[r],i=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,i=this.zoomFactor_;return n+Math.log(e/t)/Math.log(i)}getResolutionForZoom(t){if(this.resolutions_){if(this.resolutions_.length<=1)return 0;const e=dt(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,dt(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(go(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){go(!ht(t),"Cannot fit empty extent provided as `geometry`");i=al(_e(t,this.getProjection()))}else if("Circle"===t.getType()){const e=_e(t.getExtent(),this.getProjection());i=al(e),i.rotate(this.getRotation(),$(e))}else{const e=Ae();i=e?t.clone().transform(e,this.getProjection()):t}this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),n=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,h=-1/0;for(let t=0,e=r.length;tt.maxResolution)return!1;var n=e.zoom;return n>t.minZoom&&n<=t.maxZoom}const pl=class extends jo{constructor(t){const e=Object.assign({},t);delete e.source,super(e),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,t.render&&(this.render=t.render),t.map&&this.setMap(t.map),this.addChangeListener(zo,this.handleSourcePropertyChange_);const i=t.source?t.source:null;this.setSource(i)}getLayersArray(t){return(t=t||[]).push(this),t}getLayerStatesArray(t){return(t=t||[]).push(this.getLayerState()),t}getSource(){return this.get(zo)||null}getRenderSource(){return this.getSource()}getSourceState(){const t=this.getSource();return t?t.getState():"undefined"}handleSourceChange_(){this.changed(),this.sourceReady_||"ready"!==this.getSource().getState()||(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(qs(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const t=this.getSource();t&&(this.sourceChangeKey_=Gs(t,bs,this.handleSourceChange_,this),"ready"===t.getState()&&(this.sourceReady_=!0,setTimeout((()=>{this.dispatchEvent("sourceready")}),0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const i=this.getMapInternal();let n;!t&&i&&(t=i.getView()),e=t instanceof dl?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&i&&(e.layerStatesArray=i.getLayerGroup().getLayerStatesArray()),n=e.layerStatesArray?e.layerStatesArray.find((t=>t.layer===this)):this.getLayerState();const r=this.getExtent();return Al(n,e.viewState)&&(!r||lt(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];let e;const i=this.getSource();if(i&&(e=i.getAttributions()),!e)return[];let n=e(t instanceof dl?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const i=this.getRenderer();return i.prepareFrame(t)?(this.rendered=!0,i.renderFrame(t,e)):null}unrender(){this.rendered=!1}setMapInternal(t){t||this.unrender(),this.set(Yo,t)}getMapInternal(){return this.get(Yo)}setMap(t){this.mapPrecomposeKey_&&(qs(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(qs(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=Gs(t,Wo,(function(t){const e=t.frameState.layerStatesArray,i=this.getLayerState(!1);go(!e.some((function(t){return t.layer===i.layer})),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(i)}),this),this.mapRenderKey_=Gs(this,bs,t.render,t),this.changed())}setSource(t){this.set(zo,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),super.disposeInternal()}};function fl(t,e){Fo.expire()}const ml=class extends ds{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){js()}calculateMatrices2D(t){const e=t.viewState,i=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;Eo(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Co(n,i)}forEachFeatureAtCoordinate(t,e,i,n,r,s,o,a){let l;const h=e.viewState;function c(t,e,i,n){return r.call(s,e,t?i:null,n)}const u=h.projection,g=kt(t.slice(),u),d=[[0,0]];if(u.canWrapX()&&n){const t=at(u.getExtent());d.push([-t,0],[t,0])}const A=e.layerStatesArray,p=A.length,f=[],m=[];for(let n=0;n=0;--r){const s=A[r],u=s.layer;if(u.hasRenderer()&&Al(s,h)&&o.call(a,u)){const r=u.getRenderer(),o=u.getSource();if(r&&o){const a=o.getWrapX()?g:t,h=c.bind(null,s.managed);m[0]=a[0]+d[n][0],m[1]=a[1]+d[n][1],l=r.forEachFeatureAtCoordinate(m,e,i,h,f)}if(l)return l}}if(0===f.length)return;const _=1/f.length;return f.forEach(((t,e)=>t.distanceSq+=e*_)),f.sort(((t,e)=>t.distanceSq-e.distanceSq)),f.some((t=>l=t.callback(t.feature,t.layer,t.geometry))),l}hasFeatureAtCoordinate(t,e,i,n,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,i,n,Is,this,r,s)}getMap(){return this.map_}renderFrame(t){js()}flushDeclutterItems(t){}scheduleExpireIconCache(t){Fo.canExpireCache()&&t.postRenderFunctions.push(fl)}};const _l=class extends us{constructor(t,e,i,n){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=n}},yl="ol-hidden",Il="ol-unselectable",El="ol-unsupported",Cl="ol-control",vl="ol-collapsed",xl=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""),"i"),wl=["style","variant","weight","size","lineHeight","family"],Sl=function(t){const e=t.match(xl);if(!e)return null;const i={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let t=0,n=wl.length;tMath.max(e,Kl(t,i))),0);return i[e]=n,n}function Zl(t,e,i,n,r,s,o,a,l,h,c){t.save(),1!==i&&(t.globalAlpha*=i),e&&t.transform.apply(t,e),n.contextInstructions?(t.translate(l,h),t.scale(c[0],c[1]),function(t,e){const i=t.contextInstructions;for(let t=0,n=i.length;t=0;--i)e[i].renderDeclutter(t);e.length=0}};class th extends us{constructor(t,e){super(t),this.layer=e}}const eh="layers";class ih extends jo{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let i=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(eh,this.handleLayersChanged_),i?Array.isArray(i)?i=new eo(i.slice(),{unique:!0}):go("function"==typeof i.getArray,"Expected `layers` to be an array or a `Collection`"):i=new eo(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(qs),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(Gs(t,Js,this.handleLayersAdd_,this),Gs(t,Zs,this.handleLayersRemove_,this));for(const t in this.listenerKeys_)this.listenerKeys_[t].forEach(qs);xs(this.listenerKeys_);const e=t.getArray();for(let t=0,i=e.length;t{this.clickTimeoutId_=void 0;const e=new sh(oh.SINGLECLICK,this.map_,t);this.dispatchEvent(e)}),250)}updateActivePointers_(t){const e=t,i=e.pointerId;if(e.type==oh.POINTERUP||e.type==oh.POINTERCANCEL){delete this.trackedTouches_[i];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=oh.POINTERDOWN&&e.type!=oh.POINTERMOVE||(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new sh(oh.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(qs),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new sh(oh.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(Gs(t,oh.POINTERMOVE,this.handlePointerMove_,this),Gs(t,oh.POINTERUP,this.handlePointerUp_,this),Gs(this.element_,oh.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(Gs(this.element_.getRootNode(),oh.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new sh(oh.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new sh(oh.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(qs(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(Qs,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(qs(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(qs),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}},gh="postrender",dh="movestart",Ah="moveend",ph="loadstart",fh="loadend",mh="layergroup",_h="size",yh="target",Ih="view",Eh=1/0;const Ch=class{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,xs(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,i=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const n=this.keyFunction_(i);return delete this.queuedElements_[n],i}enqueue(t){go(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=Eh&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,i=this.priorities_,n=e.length,r=e[t],s=i[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(n[t]>s))break;i[e]=i[t],n[e]=n[t],e=t}i[e]=r,n[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,i=this.priorities_;let n=0;const r=e.length;let s,o,a;for(o=0;o0;)n=this.dequeue()[0],r=n.getKey(),i=n.getState(),i!==vh||r in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[r]=!0,++this.tilesLoading_,++s,n.load())}};const Lh=class extends Ks{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){Rl(this.element),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&Rl(this.element);for(let t=0,e=this.listenerKeys.length;te.getAttributions(t))))),i=!this.getMap().getAllLayers().some((t=>t.getSource()&&!1===t.getSource().getAttributionsCollapsible()));return this.overrideCollapsible_||this.setCollapsible(i),e}updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=this.collectSourceAttributions_(t),i=e.length>0;if(this.renderedVisible_!=i&&(this.element.style.display=i?"":"none",this.renderedVisible_=i),!ys(e,this.renderedAttributions_)){Nl(this.ulElement_);for(let t=0,i=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:ua}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const i=e.viewState.rotation;if(i!=this.rotation_){const t="rotate("+i+"rad)";if(this.autoHide_){const t=this.element.classList.contains(yl);t||0!==i?t&&0!==i&&this.element.classList.remove(yl):this.element.classList.add(yl)}this.label_.style.transform=t}this.rotation_=i}};const Rh=class extends Lh{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",i=void 0!==t.delta?t.delta:1,n=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",h=document.createElement("button");h.className=n,h.setAttribute("type","button"),h.title=a,h.appendChild("string"==typeof s?document.createTextNode(s):s),h.addEventListener(Ms,this.handleClick_.bind(this,i),!1);const c=document.createElement("button");c.className=r,c.setAttribute("type","button"),c.title=l,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Ms,this.handleClick_.bind(this,-i),!1);const u=e+" "+Il+" "+Cl,g=this.element;g.className=u,g.appendChild(h),g.appendChild(c),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const i=e.getZoom();if(void 0!==i){const n=e.getConstrainedZoom(i+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:n,duration:this.duration_,easing:ua})):e.setZoom(n)}}};function Nh(t){t=t||{};const e=new eo;(void 0===t.zoom||t.zoom)&&e.push(new Rh(t.zoomOptions));(void 0===t.rotate||t.rotate)&&e.push(new Th(t.rotateOptions));return(void 0===t.attribution||t.attribution)&&e.push(new Mh(t.attributionOptions)),e}const Ph="active";function Fh(t,e,i,n){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:i,duration:void 0!==n?n:250,easing:ua})}const Dh=class extends Ks{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(Ph)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(Ph,t)}setMap(t){this.map_=t}};const Oh=class extends Dh{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==oh.DBLCLICK){const i=t.originalEvent,n=t.map,r=t.coordinate,s=i.shiftKey?-this.delta_:this.delta_;Fh(n.getView(),s,r,this.duration_),i.preventDefault(),e=!0}return!e}};function Qh(t){const e=t.length;let i=0,n=0;for(let r=0;r0}}else if(t.type==oh.POINTERDOWN){const i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==oh.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}};function Gh(t){const e=arguments;return function(t){let i=!0;for(let n=0,r=e.length;n0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}};const ic=class extends kh{constructor(t){t=t||{},super({stopDown:Es}),this.condition_=t.condition?t.condition:qh,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!$h(t))return;const e=t.map,i=e.getView();if(i.getConstraints().rotation===la)return;const n=e.getSize(),r=t.pixel,s=Math.atan2(n[1]/2-r[1],r[0]-n[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;i.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){if(!$h(t))return!0;return t.map.getView().endInteraction(this.duration_),!1}handleDownEvent(t){if(!$h(t))return!1;if(jh(t)&&this.condition_(t)){return t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0}return!1}};const nc=class extends ds{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,i="px",n=this.element_.style;n.left=Math.min(t[0],e[0])+i,n.top=Math.min(t[1],e[1])+i,n.width=Math.abs(e[0]-t[0])+i,n.height=Math.abs(e[1]-t[1])+i}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){const t=this.startPixel_,e=this.endPixel_,i=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);i[4]=i[0].slice(),this.geometry_?this.geometry_.setCoordinates([i]):this.geometry_=new sl([i])}getGeometry(){return this.geometry_}},rc="boxstart",sc="boxdrag",oc="boxend",ac="boxcancel";class lc extends us{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}}const hc=class extends kh{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.box_=new nc(t.className||"ol-dragbox"),this.minArea_=void 0!==t.minArea?t.minArea:64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition?t.condition:jh,this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){const n=i[0]-e[0],r=i[1]-e[1];return n*n+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new lc(sc,t.coordinate,t))}handleUpEvent(t){this.box_.setMap(null);const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new lc(e?oc:ac,t.coordinate,t)),!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new lc(rc,t.coordinate,t)),!0)}onBoxEnd(t){}};const cc=class extends hc{constructor(t){super({condition:(t=t||{}).condition?t.condition:Jh,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let i=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(i),n=e.getResolutionForExtentInternal(t),r=e.getResolution()/n;i=i.clone(),i.scale(r*r)}e.fitInternal(i,{duration:this.duration_,easing:ua})}},uc="ArrowLeft",gc="ArrowUp",dc="ArrowRight",Ac="ArrowDown";const pc=class extends Dh{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return Wh(t)&&Zh(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Fs){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&(n==Ac||n==uc||n==dc||n==gc)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;n==Ac?a=-s:n==uc?o=-s:n==dc?o=s:a=s;const l=[o,a];Nt(l,r.getRotation()),function(t,e,i){const n=t.getCenterInternal();if(n){const r=[n[0]+e[0],n[1]+e[1]];t.animateInternal({duration:void 0!==i?i:250,easing:da,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),i.preventDefault(),e=!0}}return!e}};const fc=class extends Dh{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!Kh(t)&&Zh(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Fs||t.type==Ds){const i=t.originalEvent,n=i.key;if(this.condition_(t)&&("+"===n||"-"===n)){const r=t.map,s="+"===n?this.delta_:-this.delta_;Fh(r.getView(),s,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}};const mc=class{constructor(t,e,i){this.decay_=t,this.minVelocity_=e,this.delay_=i,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[i+2]>t;)i-=3;const n=this.points_[e+2]-this.points_[i+2];if(n<1e3/60)return!1;const r=this.points_[e]-this.points_[i],s=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/n,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}};const _c=class extends Dh{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:Yh;this.condition_=t.onFocusOnly?Gh(zh,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();if(!t)return;t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==ks)return!0;const e=t.map,i=t.originalEvent;let n;if(i.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate),t.type==ks&&(n=i.deltaY,no&&i.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(n/=ao),i.deltaMode===WheelEvent.DOM_DELTA_LINE&&(n*=40)),0===n)return!1;this.lastDelta_=n;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(n)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-n/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=r,!1;this.totalDelta_+=n;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let i=-dt(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),Fh(e,i,this.lastAnchor_,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}};const yc=class extends kh{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=Es),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const i=this.targetPointers[0],n=this.targetPointers[1],r=Math.atan2(n.clientY-i.clientY,n.clientX-i.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==la&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(Qh(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){if(this.targetPointers.length<2){return t.map.getView().endInteraction(this.duration_),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}};const Ic=class extends kh{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=Es),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const i=this.targetPointers[0],n=this.targetPointers[1],r=i.clientX-n.clientX,s=i.clientY-n.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(Qh(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),i=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,i),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}};function Ec(t){t=t||{};const e=new eo,i=new mc(-.005,.05,100);(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new ic);(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new Oh({delta:t.zoomDelta,duration:t.zoomDuration}));(void 0===t.dragPan||t.dragPan)&&e.push(new ec({onFocusOnly:t.onFocusOnly,kinetic:i}));(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new yc);(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new Ic({duration:t.zoomDuration}));(void 0===t.keyboard||t.keyboard)&&(e.push(new pc),e.push(new fc({delta:t.zoomDelta,duration:t.zoomDuration})));(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new _c({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration}));return(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new cc({duration:t.zoomDuration})),e}function Cc(t){return t[0]>0&&t[1]>0}function vc(t,e,i){return void 0===i&&(i=[0,0]),i[0]=t[0]*e+.5|0,i[1]=t[1]*e+.5|0,i}function xc(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}function wc(t){t instanceof pl?t.setMapInternal(null):t instanceof nh&&t.getLayers().forEach(wc)}function Sc(t,e){if(t instanceof pl)t.setMapInternal(e);else if(t instanceof nh){const i=t.getLayers().getArray();for(let t=0,n=i.length;tthis.updateSize())),this.controls=e.controls||Nh(),this.interactions=e.interactions||Ec({onFocusOnly:!0}),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Bh(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(mh,this.handleLayerGroupChanged_),this.addChangeListener(Ih,this.handleViewChanged_),this.addChangeListener(_h,this.handleSizeChanged_),this.addChangeListener(yh,this.handleTargetChanged_),this.setProperties(e.values);const i=this;!t.view||t.view instanceof dl||t.view.then((function(t){i.setView(new dl(t))})),this.controls.addEventListener(Js,(t=>{t.element.setMap(this)})),this.controls.addEventListener(Zs,(t=>{t.element.setMap(null)})),this.interactions.addEventListener(Js,(t=>{t.element.setMap(this)})),this.interactions.addEventListener(Zs,(t=>{t.element.setMap(null)})),this.overlays_.addEventListener(Js,(t=>{this.addOverlayInternal_(t.element)})),this.overlays_.addEventListener(Zs,(t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)})),this.controls.forEach((t=>{t.setMap(this)})),this.interactions.forEach((t=>{t.setMap(this)})),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){Sc(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,i){if(!this.frameState_||!this.renderer_)return;const n=this.getCoordinateFromPixelInternal(t),r=void 0!==(i=void 0!==i?i:{}).hitTolerance?i.hitTolerance:0,s=void 0!==i.layerFilter?i.layerFilter:Is,o=!1!==i.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(n,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const i=[];return this.forEachFeatureAtPixel(t,(function(t){i.push(t)}),e),i}getAllLayers(){const t=[];return function e(i){i.forEach((function(i){i instanceof nh?e(i.getLayers()):t.push(i)}))}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const i=this.getCoordinateFromPixelInternal(t),n=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:Is,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,r,s,n,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),i=this.getSize(),n=e.width/i[0],r=e.height/i[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/n,(s.clientY-e.top)/r]}getTarget(){return this.get(yh)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return pe(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?_o(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(mh)}setLayers(t){const e=this.getLayerGroup();if(t instanceof eo)return void e.setLayers(t);const i=e.getLayers();i.clear(),i.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,i=t.length;e=0;i--){const n=e[i];if(n.getMap()!==this||!n.getActive()||!this.getTargetElement())continue;if(!n.handleEvent(t)||t.propagationStopped)break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let i=this.maxTilesLoading_,n=i;if(t){const e=t.viewHints;if(e[Zo]||e[$o]){const e=Date.now()-t.time>8;i=e?0:8,n=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()}),0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new th("removelayer",e)),this.set(mh,t)}setSize(t){this.set(_h,t)}setTarget(t){this.set(yh,t)}setView(t){if(!t||t instanceof dl)return void this.set(Ih,t);this.set(Ih,new dl);const e=this;t.then((function(t){e.setView(new dl(t))}))}updateSize(){const t=this.getTargetElement();let e;if(t){const i=getComputedStyle(t),n=t.offsetWidth-parseFloat(i.borderLeftWidth)-parseFloat(i.paddingLeft)-parseFloat(i.paddingRight)-parseFloat(i.borderRightWidth),r=t.offsetHeight-parseFloat(i.borderTopWidth)-parseFloat(i.paddingTop)-parseFloat(i.paddingBottom)-parseFloat(i.borderBottomWidth);isNaN(n)||isNaN(r)||(e=[n,r],!Cc(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&Xt("No map visible because the map container's width or height are 0."))}const i=this.getSize();!e||i&&ys(e,i)||(this.setSize(e),this.updateViewportSize_())}updateViewportSize_(){const t=this.getView();if(t){let e;const i=getComputedStyle(this.viewport_);i.width&&i.height&&(e=[parseInt(i.width,10),parseInt(i.height,10)]),t.setViewportSize(e)}}};const Bc=class{constructor(t,e,i=!1){this._listener=t,this._scope=e,this.eventKey_=JB(),this.once_=i}fire(t){let e=t;UB(e)||(e=[e]),this._listener.apply(this._scope,e)}getEventKey(){return this.eventKey_}isOnce(){return this.once_}has(t,e){let i=!1;return i=VB(t)?this._listener===t&&this._scope===e:this.eventKey_===t,i}};const Lc=class{constructor(){this.events_={}}add(t,e,i,n=!1){let r;if(!qB(t)&&VB(e)&&(qB(this.events_[t])&&(this.events_[t]=[]),-1===this.indexOf(t,e,i))){const s=new Bc(e,i,n);this.events_[t].push(s),r=s.getEventKey()}return r}remove(t,e,i){const n=this.events_[t];if(!qB(n)){const r=this.indexOf(t,e,i);-1!==r&&n.splice(r,1)}}removeByKey(t,e){const i=this.events_[t];if(!qB(i)){const t=i.map(((t,i)=>{let n=-1;return t.getEventKey()===e&&(n=i),n}));-1!==t&&i.splice(t,1)}}fire(t,e){const i=[].concat(this.events_[t]);qB(i)||i.forEach((i=>{i.fire(e),!0===i.isOnce()&&this.remove(t,i.getEventKey())}))}indexOf(t,e,i){let n=-1;const r=this.events_[t];if(!qB(r))for(let t=0,s=r.length;ti?(this.direction_=Pc,this.widthLimit_=e-o):(this.direction_=Nc,this.heightLimit_=i-a),this.sliderInitialized_=!0}handleContainerClick_(t){const e=this.getMap().getView(),i=this.getRelativePosition_(t.offsetX-this.thumbSize_[0]/2,t.offsetY-this.thumbSize_[1]/2),n=this.getResolutionForPosition_(i),r=e.getConstrainedZoom(e.getZoomForResolution(n));e.animateInternal({zoom:r,duration:this.duration_,easing:ua})}handleDraggerStart_(t){if(!this.dragging_&&t.target===this.element.firstElementChild){const e=this.element.firstElementChild;if(this.getMap().getView().beginInteraction(),this.startX_=t.clientX-parseFloat(e.style.left),this.startY_=t.clientY-parseFloat(e.style.top),this.dragging_=!0,0===this.dragListenerKeys_.length){const t=this.handleDraggerDrag_,e=this.handleDraggerEnd_,i=this.getMap().getOwnerDocument();this.dragListenerKeys_.push(Gs(i,ah,t,this),Gs(i,hh,e,this))}}}handleDraggerDrag_(t){if(this.dragging_){const e=t.clientX-this.startX_,i=t.clientY-this.startY_,n=this.getRelativePosition_(e,i);this.currentResolution_=this.getResolutionForPosition_(n),this.getMap().getView().setResolution(this.currentResolution_)}}handleDraggerEnd_(t){if(this.dragging_){this.getMap().getView().endInteraction(),this.dragging_=!1,this.startX_=void 0,this.startY_=void 0,this.dragListenerKeys_.forEach(qs),this.dragListenerKeys_.length=0}}setThumbPosition_(t){const e=this.getPositionForResolution_(t),i=this.element.firstElementChild;this.direction_==Pc?i.style.left=this.widthLimit_*e+"px":i.style.top=this.heightLimit_*e+"px"}getRelativePosition_(t,e){let i;return i=this.direction_===Pc?t/this.widthLimit_:e/this.heightLimit_,dt(i,0,1)}getResolutionForPosition_(t){return this.getMap().getView().getResolutionForValueFunction()(1-t)}getPositionForResolution_(t){return dt(1-this.getMap().getView().getValueForResolutionFunction()(t),0,1)}render(t){if(!t.frameState)return;if(!this.sliderInitialized_&&!this.initSlider_())return;const e=t.frameState.viewState.resolution;this.currentResolution_=e,this.setThumbPosition_(e)}};const Dc=class extends Fc{constructor(t){super(hL({},t,!0)),this.facadeMap_=null}addTo(t,e){this.facadeMap_=t,t.getMapImpl().addControl(this)}getElement(){return this.element}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}},Oc=t=>{throw new Error(t)};const Qc=class extends Mc{constructor(t){super(),this.impl_=t,!qB(this.impl_)&&VB(this.impl_.setFacadeObj)&&this.impl_.setFacadeObj(this)}getImpl(){return this.impl_}setImpl(t){this.impl_=t}destroy(){!qB(this.impl_)&&VB(this.impl_.destroy)&&this.impl_.destroy()}},kc="added:map",Gc="added:panel",Uc="added:layer",qc="added:wmc",Vc="added:kml",zc="added:wms",Yc="added:wfs",jc="added:vectortile",Hc="removed:layer",Xc="removed:map",Wc="added:wmts",Kc="activated",Jc="deactivated",Zc="show",$c="hide",tu="destroy",eu="select:features",iu="unselect:features",nu="hover:features",ru="leave:features",su="load",ou="completed",au="change",lu="change:wmc",hu="change:proj",cu="change:style",uu="change:zoom",gu="change:rotation",du="changed:layer-visibility",Au="click",pu="move",fu="popup:added",mu="popup:removed",_u="popup:addtabed",yu="popup:removedtab",Iu={translations:{en:JSON.parse('{"location":{"title":"Get current location"},"layerswitcher":{"title":"Layer selector","unsupported_param":"Unsupported parameter","no_base_layer":"Without base layer"},"scale":{"title":"Scale","scale":"Scale"},"getfeatureinfo":{"info":"Information","title":"Consult layer","no_info":"No associated info","info_of":"Information about","unsupported_format":"Unsupported format"},"wmcselector":{"title":"Context selector"},"dialog":{"info":"INFORMATION","error":"ERROR","success":"SUCCESS","id_feature":"An ID has not been indicated to obtain the feature","invalid_type_layer":"A valid type was not specified for the layer","vector_filter":"The indicated filter is not correct","unauthorized_user":"An error occurred while loading the layer: Unauthorized user.","only_one_filter":"FeatureID and CQL are mutually exclusive, indicate only one type of filtering.","getfeatureinfo_type":"The requested format for the information is not available. Try it using gml, plain or html."},"feature":{"incorrect_attributes":"The attributes were not specified correctly."},"exception":{"addto_method":"The used implementation does not have the addTo method","no_get_rotation_method":"The used implementation does not have the getRotation method","no_set_rotation_method":"The used implementation does not have the setRotation method","getelement_method":"The used implementation does not have the getElement method","getfeatureinfo_method":"The used implementation can not create GetFeatureInfo controls","mouse_method":"The used implementation can not create Mouse controls","navtoolbar_method":"The used implementation can not create navtoolbar controls","overviewmap_method":"The used implementation can not create OverviewMap controls","panzoom_method":"The used implementation can not create Panzoom controls","panzoombar_method":"The used implementation can not create Panzoombar controls","scale_method":"The used implementation can not create Scale controls","scaleline_method":"The used implementation can not create ScaleLine controls","wmcselector_method":"The used implementation can not create WMCSelector controls","geojson_method":"The used implementation can not create objects M.impl.format.GeoJSON","wkt_method":"The used implementation can not creat objects M.impl.format.WKT","getfeaturesbylayer_method":"The used implementation does not have the getFeaturesByLayer method","geojsonlayer_method":"The used implementation can not create GeoJSON layers","no_param":"No parameters specified","no_name":"You have not specified any name","kmllayer_method":"The used implementation can not create KML layers","isvisible_method":"The used implementation does not have the isVisible method","isqueryable_methd":"The used implementation does not have the isQueryable method","visibility_param":"You have not specified any visibility parameters","setvisible_method":"The used implementation does not have the setVisible method","inrange_method":"The used implementation does not have the inRange method","mapbox_method":"The used implementation can not create Mapbox layers","osm_method":"The used implementation can not create OSM layers","vectorlayer_method":"The used implementation can not create Vector layers","wfslayer_method":"The used implementation can not create WFS layers","wmclayer_method":"The used implementation can not create WMC layers","select_method":"The used implementation does not have the select method","unselect_method":"The used implementation does not have the unselect method","constructor_impl":"The used implementation does not have a constructor.","getlayers_method":"The used implementation does not have the getLayers method.","getbaselayers_method":"The used implementation does not have the getBaseLayers method.","addlayers_method":"The used implementation does not have the addLayers method.","removelayers_method":"The used implementation does not have the removeLayers method.","getwmc_method":"The implementation used does not have the getWMC method.","addwmc_method":"The used implementation does not have the addWMC method.","removewmc_method":"The used implementation does not have the removeWMC method.","getkml_method":"The used implementation does not have the getKML method.","addkml_method":"The implementation used does not have the addKML method.","removekml_method":"The implementation used does not have the removeKML method.","getwms_method":"The used implementation does not have the getWMS method.","addwms_method":"The used implementation does not have the addWMS method.","removewms_method":"The used implementation does not have the removeWMS method.","getwfs_method":"The implementation used does not have the getWFS method.","getgeojson_method":"The used implementation does not have the getGeoJSON method.","addwfs_method":"The used implementation does not have the addWFS method.","removewfs_method":"The used implementation does not have the removeWFS method.","getwmts_method":"The implementation used does not have the getWMTS method.","addwmts_method":"The used implementation does not have the addWMTS method.","removewmts_method":"The used implementation does not have the removeWMTS method.","getmbtiles_method":"The used implementation does not have the getMBtiles method.","getcontrols_method":"The used implementation does not have the getControls method.","addcontrols_method":"The used implementation does not have the addControls method.","remove_control":"You have not specified any control to delete.","removecontrol_method":"The used implementation does not have the removeControls method.","setmaxextent_method":"The used implementation does not have the setMaxExtent method.","getbbox_method":"The used implementation does not have the getBbox method.","no_bbox":"You have not specified any bbox.","setbbox_method":"The used implementation does not have the setBbox method.","incorrect_bbox_format":"The format of the bbox parameter is not correct.","getzoom_method":"The used implementation does not have the getZoom method.","no_zoom":"You have not specified any zoom.","setzoom_method":"The implementation used does not have the setZoom method.","getcenter_method":"The used implementation does not have the getCenter method.","setcenter_method":"The used implementation does not have the setCenter method.","getresolutions_method":"The used implementation does not have the getResolutions method.","no_resolutions":"You have not specified any resolution.","setresolutions_method":"The used implementation does not have the setResolutions method.","getscale_method":"The used implementation does not have the getScale method.","getprojection_method":"The implementation used does not have the getProjection method.","no_projection":"You have not specified any projection.","setprojection_method":"The used implementation does not have the setProjection method.","no_plugins":"You have not specified any plugins.","no_add_plugin_to_map":"The plugin can not be added to the map.","no_plugin_to_remove":"You have not specified any plugins to delete.","destroy_method":"The used implementation does not have the destroy method.","addlabel_method":"The used implementation does not have the addLabel method.","no_point":"You have not specified any points.","remove_control_from_panel":"You must remove the controls from the panel previously.","getcontainer_method":"The used implementation does not have the getContainer method.","getmapimpl_method":"The used implementation does not have the getMapImpl method.","removepopup_method":"The used implementation does not have the removePopup method.","no_popup":"You have not specified any popup.","invalid_popup":"The specified popup is not valid.","no_maxextent":"You have not specified any maxExtent","must_be_document":"doc.nodeType must be DOCUMENT type","no_service_response":"There was no reply from the service","no_kml_response":"There was no response from the KML","no_getfeature_response":"There was no response in the GetFeature operation","no_map":"You have not specified any map","layerswitcher_method":"The used implementation can not create LayerSwitcher controls","location_method":"The used implementation can not create Location controls","wms_method":"The used implementation can not create WMS layers","wmts_method":"The used implementation can not create WMTS layers","no_impl":"No implementation specified","no_container":"You have not specified any container parameters","no_id_container":"There is no container with the specified id","no_center":"You have not specified any center parameters","no_attr_name":"The name of the attribute was not specified","no_empty":"The attribute name can not be null. Specify string or function","invalid_center_param":"The format of the center parameter is not correct","invalid_maxextent_param":"The format of the maxExtent parameter is not correct","invalid_resolutions_param":"The format of the resolutions parameter is not correct","invalid_zoom_param":"The format of the zoom parameter is not correct","min_gt_max":"A minimum radius greater than the maximum can not be established.","max_lt_min":"A maximum radius of less than the minimum can not be established.","no_geojson":"No GeoJSON has been specified","unsupported_lang":"A language without support has been established","generate_image":"An error occurred while generating the image","id_exists":"ID already exists"}}'),es:JSON.parse('{"location":{"title":"Obtener ubicación actual"},"layerswitcher":{"title":"Selector de capas","unsupported_param":"Parámetro no soportado","no_base_layer":"Sin capa base"},"scale":{"title":"Escala","scale":"Escala"},"getfeatureinfo":{"info":"Información","title":"Consultar capa","no_info":"No existe información asociada","info_of":"Información de","unsupported_format":"Formato no soportado"},"wmcselector":{"title":"Selector de contextos"},"dialog":{"info":"INFORMACIÓN","error":"ERROR","success":"ÉXITO","id_feature":"No se ha indicado un ID para obtener el feature","invalid_type_layer":"No se ha especificado un tipo válido para la capa","vector_filter":"El filtro indicado no es correcto","unauthorized_user":"Ha ocurrido un error al cargar la capa: Usuario no autorizado.","only_one_filter":"FeatureID y CQL son mutuamente excluyentes. Indicar sólo un tipo de filtrado.","getfeatureinfo_type":"El formato solicitado para la información no está disponible. Inténtelo utilizando gml, plain o html."},"feature":{"incorrect_attributes":"No se han especificado correctamente los atributos."},"exception":{"addto_method":"La implementación usada no posee el método addTo","no_get_rotation_method":"La implementación usada no posee el método getRotation","no_set_rotation_method":"La implementación usada no posee el método setRotation","getelement_method":"La implementación usada no posee el método getElement","getfeatureinfo_method":"La implementación usada no puede crear controles GetFeatureInfo","mouse_method":"La implementación usada no puede crear controles Mouse","navtoolbar_method":"La implementación usada no puede crear controles Navtoolbar","overviewmap_method":"La implementación usada no puede crear controles OverviewMap","panzoom_method":"La implementación usada no puede crear controles Panzoom","panzoombar_method":"La implementación usada no puede crear controles Panzoombar","scale_method":"La implementación usada no puede crear controles Scale","scaleline_method":"La implementación usada no puede crear controles ScaleLine","wmcselector_method":"La implementación usada no puede crear controles WMCSelector","geojson_method":"La implementación usada no puede crear objetos M.impl.format.GeoJSON","wkt_method":"La implementación usada no puede creat objetos M.impl.format.WKT","getfeaturesbylayer_method":"La implementación usada no posee el método getFeaturesByLayer","geojsonlayer_method":"La implementación usada no puede crear capas GeoJSON","no_param":"No se ha especificado ningun parámetro","no_name":"No ha especificado ningún nombre","kmllayer_method":"La implementación usada no puede crear capas KML","isvisible_method":"La implementación usada no posee el método isVisible","isqueryable_methd":"La implementación usada no posee el método isQueryable","visibility_param":"No ha especificado ningún parámetro de visibilidad","setvisible_method":"La implementación usada no posee el método setVisible","inrange_method":"La implementación usada no posee el método inRange","mapbox_method":"La implementación usada no puede crear capas Mapbox","osm_method":"La implementación usada no puede crear capas OSM","vectorlayer_method":"La implementación usada no puede crear capas Vector","wfslayer_method":"La implementación usada no puede crear capas WFS","wmclayer_method":"La implementación usada no puede crear capas WMC","select_method":"La implementación usada no posee el método select","unselect_method":"La implementación usada no posee el método unselect","constructor_impl":"La implementación usada no posee un constructor.","getlayers_method":"La implementación usada no posee el método getLayers.","getbaselayers_method":"La implementación usada no posee el método getBaseLayers.","addlayers_method":"La implementación usada no posee el método addLayers.","removelayers_method":"La implementación usada no posee el método removeLayers.","getwmc_method":"La implementación usada no posee el método getWMC.","addwmc_method":"La implementación usada no posee el método addWMC.","removewmc_method":"La implementación usada no posee el método removeWMC.","getkml_method":"La implementación usada no posee el método getKML.","addkml_method":"La implementación usada no posee el método addKML.","removekml_method":"La implementación usada no posee el método removeKML.","getwms_method":"La implementación usada no posee el método getWMS.","addwms_method":"La implementación usada no posee el método addWMS.","removewms_method":"La implementación usada no posee el método removeWMS.","getwfs_method":"La implementación usada no posee el método getWFS.","getgeojson_method":"La implementación usada no posee el método getGeoJSON.","addwfs_method":"La implementación usada no posee el método addWFS.","removewfs_method":"La implementación usada no posee el método removeWFS.","getwmts_method":"La implementación usada no posee el método getWMTS.","addwmts_method":"La implementación usada no posee el método addWMTS.","removewmts_method":"La implementación usada no posee el método removeWMTS.","getmbtiles_method":"La implementación usada no posee el método getMBtiles.","getcontrols_method":"La implementación usada no posee el método getControls.","addcontrols_method":"La implementación usada no posee el método addControls.","remove_control":"No ha especificado ningún control a eliminar.","removecontrol_method":"La implementación usada no posee el método removeControls.","setmaxextent_method":"La implementación usada no posee el método setMaxExtent.","getbbox_method":"La implementación usada no posee el método getBbox.","no_bbox":"No ha especificado ningún bbox.","setbbox_method":"La implementación usada no posee el método setBbox.","incorrect_bbox_format":"El formato del parámetro bbox no es el correcto.","getzoom_method":"La implementación usada no posee el método getZoom.","no_zoom":"No ha especificado ningún zoom.","setzoom_method":"La implementación usada no posee el método setZoom.","getcenter_method":"La implementación usada no posee el método getCenter.","setcenter_method":"La implementación usada no posee el método setCenter.","getresolutions_method":"La implementación usada no posee el método getResolutions.","no_resolutions":"No ha especificado ninguna resolución.","setresolutions_method":"La implementación usada no posee el método setResolutions.","getscale_method":"La implementación usada no posee el método getScale.","getprojection_method":"La implementación usada no posee el método getProjection.","no_projection":"No ha especificado ninguna proyección.","setprojection_method":"La implementación usada no posee el método setProjection.","no_plugins":"No ha especificado ningún plugin.","no_add_plugin_to_map":"El plugin no puede añadirse al mapa.","no_plugin_to_remove":"No ha especificado ningún plugin a eliminar.","destroy_method":"La implementación usada no posee el método destroy.","addlabel_method":"La implementación usada no posee el método addLabel.","no_point":"No ha especificado ningún punto.","remove_control_from_panel":"Debe eliminar los controles del panel previamente.","getcontainer_method":"La implementación usada no posee el método getContainer.","getmapimpl_method":"La implementación usada no posee el método getMapImpl.","removepopup_method":"La implementación usada no posee el método removePopup.","no_popup":"No ha especificado ningún popup.","invalid_popup":"El popup especificado no es válido.","no_maxextent":"No ha especificado ningún maxExtent","must_be_document":"doc.nodeType debe ser de tipo DOCUMENT","no_service_response":"No hubo respuesta del servicio","no_kml_response":"No hubo respuesta del KML","no_getfeature_response":"No hubo respuesta en la operación GetFeature","no_map":"No ha especificado ningun mapa","layerswitcher_method":"La implementación usada no puede crear controles LayerSwitcher","location_method":"La implementación usada no puede crear controles Location","wms_method":"La implementación usada no puede crear capas WMS","wmts_method":"La implementación usada no puede crear capas WMTS","no_impl":"No se ha especificado ninguna implementación","no_container":"No ha especificado ningún parámetro contenedor","no_id_container":"No existe ningún contenedor con el id especificado","no_center":"No ha especificado ningún parámetro center","no_attr_name":"No se ha especificado el nombre del atributo","no_empty":"El nombre de atributo no puede ser nulo. Especifique cadena o función","invalid_center_param":"El formato del parámetro center no es correcto","invalid_maxextent_param":"El formato del parámetro maxExtent no es correcto","invalid_resolutions_param":"El formato del parámetro resolutions no es correcto","invalid_zoom_param":"El formato del parámetro zoom no es correcto","min_gt_max":"No puede establecerse un radio mínimo mayor que el máximo.","max_lt_min":"No puede establecerse un radio máximo menor que el mínimo.","no_geojson":"No se ha especificado ningun GeoJSON","unsupported_lang":"Se ha establecido un idioma sin soporte","generate_image":"Se ha producido un error al generar la imagen","id_exists":"El ID indicado ya existe"}}')},lang:"es"},Eu=t=>Iu.translations[t],Cu=(t,e=Iu.lang)=>Eu(e)[t];const vu=class extends Qc{constructor(t,e){const i=t;super(i),QB(i.addTo)&&Oc(Cu("exception").addto_method),QB(i.getElement)&&Oc(Cu("exception").getelement_method),QB(i.isByDefault)&&(i.isByDefault=!0),this.name=e,this.map_=null,this.element_=null,this.activationBtn_=null,this.activated=!1,this.panel_=null,this.controls_=null}setImpl(t){const e=t;QB(e.addTo)&&Oc(Cu("exception").addto_method),QB(e.getElement)&&Oc(Cu("exception").getelement_method),QB(e.isByDefault)&&(e.isByDefault=!0)}addTo(t){this.map_=t;const e=this.getImpl(),i=this.createView(t);i instanceof Promise?i.then((i=>{this.manageActivation(i),e.addTo(t,i),this.fire(kc)})):(this.manageActivation(i),e.addTo(t,i),this.fire(kc))}createView(t){}manageActivation(t){this.element_=t,this.activationBtn_=this.getActivationButton(this.element_),qB(this.activationBtn_)||this.activationBtn_.addEventListener("click",(t=>{t.preventDefault(),this.activated?(this.deactivate(),this.activated=!1):(this.activate(),this.activated=!0)}),!1)}getActivationButton(t){}activate(){qB(this.element_)||this.element_.classList.add("activated"),QB(this.getImpl().activate)||this.getImpl().activate(),this.activated=!0,this.fire(Kc)}deactivate(){qB(this.element_)||this.element_.classList.remove("activated"),QB(this.getImpl().deactivate)||this.getImpl().deactivate(),this.activated=!1,this.fire(Jc)}getElement(){return this.getImpl().getElement()}setPanel(t){this.panel_=t}getPanel(){return this.panel_}destroy(){SL(this.getElement())}};var xu=i(177),wu=i.n(xu);wu().registerHelper("gt",(function(t,e,i){return t>e?i.fn(this):i.inverse(this)})),wu().registerHelper("lt",(function(t,e,i){return t{let i,n,r={};QB(e)||(r=_L(r,e.vars),n=e.parseToHtml);const s=wu().compile(t)(r);return i=!1!==n?rL(s):s,i},Bu=(t,e)=>{let i;return QB(e)||(i=e.scope),new Promise(((n,r)=>{let s=Su[t];if(QB(s)){let r=t;QB(e)||!0!==e.jsonp||(r=(t=>{let e=null;return qB(t)||(e=M.config.MAPEA_URL.concat(M.config.TEMPLATES_PATH),e=e.concat(t)),e})(t));const o=qB(e)&&!0===e.jsonp;DB(r,null,{jsonp:o}).then((e=>{s=wu().compile(e.text),Su[t]=s,n.call(i,s)}))}else n.call(i,s)}))};class Lu extends vu{constructor(t={}){super(new Dc(t),Lu.NAME),QB(Dc)&&Oc(Cu("exception").panzoombar_method)}createView(t){return bu(Rc())}equals(t){return t instanceof Lu}}Lu.NAME="panzoombar";const Mu=Lu,Tu="WMC",Ru="KML",Nu="WMS",Pu="WFS",Fu="WMTS",Du="OSM",Ou="Mapbox",Qu="GeoJSON",ku="Vector",Gu="MVT",Uu={WMC:Tu,KML:Ru,WMS:Nu,WFS:Pu,WMTS:Fu,OSM:Du,Mapbox:Ou,GeoJSON:Qu,Vector:ku,MVT:Gu},qu=t=>{let e=XB(t,!0);return e="WMS_FULL"===e?Nu:"WFST"===e?Pu:Object.keys(Uu).find((t=>{const i=Uu[t];return YB(i)&&XB(i,!0)===e})),Uu[e]},Vu=t=>-1!==[Tu,Ru,Nu,Pu,Fu,Gu].indexOf(qu(t)),zu=/WMS\*.*/,Yu=/WMS_FULL\*.*/,ju=({parameter:t,attr:e,type:i,separator:n,normalized:r=!1})=>(s,o)=>{let a;const l={boolean:t=>/^1|(true)$/i.test(t),string:t=>t,int:t=>Number.parseInt(t,10),float:t=>Number.parseFloat(t,10),array_number:t=>t.split(n||"").map((t=>t.trim())).map((t=>Number.parseFloat(t))),array_string:t=>t.split(n).map((t=>t.trim())).map((t=>String(t)))};if(YB(t)&&s.test(t)){const e=t.split("*")[o];qB(e)||(a=l[i](e))}else zB(t)?a=t[e]:Oc("El parámetro no es de un tipo soportado: "+typeof t);return YB(a)&&(a=a.trim()),!0===r&&(a=XB(a)),a},Hu=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((t=>{const e=Nu,i=ju({parameter:t,type:"string",attr:"name"}),n=ju({parameter:t,type:"string",attr:"url"}),r=ju({parameter:t,type:"string",attr:"legend"}),s=ju({parameter:t,type:"boolean",attr:"transparent"}),o=ju({parameter:t,type:"boolean",attr:"tiled"}),a=ju({parameter:t,type:"array_number",attr:"maxExtent",separator:"_"}),l=ju({parameter:t,type:"string",attr:"version"}),h=ju({parameter:t,type:"array_string",attr:"styles",separator:"%"});let c;return c=zu.test(t)||zB(t)?{type:e,name:i(zu,3),tiled:o(zu,5),url:n(zu,2),legend:r(zu,1),transparent:s(zu,4),maxExtent:a(zu,6),version:l(zu,7),styles:h(zu,8)}:{type:e,url:n(Yu,1)},c})),UB(t)||(e=e[0]),e},Xu=/KML\*.*/,Wu=({parameter:t,attr:e,type:i,valueCmp:n=/^1|true/i,separator:r,normalized:s=!1})=>(o,a)=>{let l;const h={boolean:t=>n.test(t),boolean_eql:t=>void 0===t||"true"===t,string:t=>t,int:t=>Number.parseInt(t,10),float:t=>Number.parseFloat(t,10),array_number:t=>t.split(r||"").map((t=>t.trim())).map((t=>Number.parseFloat(t)))};if(YB(t)&&o.test(t)){const n=t.split("*");let r=n[a];l=h[i](r),"extract"===e&&(r=n.slice(-2,-1)[0],l="false"!==r),"label"===e&&(r=n.slice(-1)[0],l="false"!==r),"url"!==e||"true"!==l&&"false"!==l&&void 0!==l||(l="")}else zB(t)?l=t[e]:Oc("El parámetro no es de un tipo soportado: "+typeof t);return YB(l)&&(l=l.trim()),!0===s&&(l=XB(l)),l},Ku=t=>{const e=t;let i=[];qB(e)&&Oc(Cu("exception").no_param);let n=e;return UB(n)||(n=[n]),i=n.map((t=>{let e={};const i=Wu({parameter:t,type:"string",attr:"name"}),n=Wu({parameter:t,type:"string",attr:"url"}),r=Wu({parameter:t,type:"boolean",attr:"extract"}),s=Wu({parameter:t,type:"boolean_eql",attr:"label"});return e=Xu.test(t)?{type:Ru,name:i(Xu,1),url:n(Xu,2)+n(Xu,3),extract:r(Xu,4),label:s(Xu,5)}:{type:Ru,name:i(Xu),url:n(Xu),extract:r(Xu),label:s(Xu)},e})),UB(e)||(i=i[0]),i},Ju=/MAPBOX\*.*/,Zu=({parameter:t,attr:e,type:i,separator:n,normalized:r=!1})=>(s,o)=>{let a;const l={boolean:t=>/^1|(true)$/i.test(t),string:t=>t,int:t=>Number.parseInt(t,10),float:t=>Number.parseFloat(t,10),array_number:t=>t.split(n||"").map((t=>t.trim())).map((t=>Number.parseFloat(t)))};if(YB(t)&&s.test(t)){const e=t.split("*")[o];qB(e)||(a=l[i](e))}else zB(t)?a=t[e]:Oc("El parámetro no es de un tipo soportado: "+typeof t);return YB(a)&&(a=a.trim()),!0===r&&(a=XB(a)),a},$u=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((t=>{const e=Zu({parameter:t,type:"string",attr:"name"})(Ju,1),i=Zu({parameter:t,type:"string",attr:"legend"})(Ju,3),n=Zu({parameter:t,type:"boolean",attr:"transparent"})(Ju,2),r=(t=>{let e;return YB(t)?e=null:zB(t)&&!qB(t.accessToken)?e=t.accessToken.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),e})(t);return{type:Ou,name:e,legend:i,transparent:n,accessToken:r}})),UB(t)||(e=e[0]),e},tg=/OSM\.*/,eg=({parameter:t,attr:e,type:i,separator:n,normalized:r=!1})=>(s,o)=>{let a;const l={boolean:t=>/^1|(true)$/i.test(t),string:t=>t,int:t=>Number.parseInt(t,10),float:t=>Number.parseFloat(t,10),array_number:t=>t.split(n||"").map((t=>t.trim())).map((t=>Number.parseFloat(t)))};if(YB(t)&&s.test(t)){const e=t.split("*")[o];qB(e)||(a=l[i](e))}else zB(t)?a=t[e]:Oc("El parámetro no es de un tipo soportado: "+typeof t);return YB(a)&&(a=a.trim()),!0===r&&(a=XB(a)),a},ig=t=>{let e=t,i=[];qB(e)&&(e={type:Du,name:"osm"});let n=e;return UB(n)||(n=[n]),i=n.map((t=>({type:Du,name:eg({parameter:t,type:"string",attr:"name"})(tg,3),transparent:eg({parameter:t,type:"boolean",attr:"transparent"})(tg,1),legend:eg({parameter:t,type:"string",attr:"legend"})(tg,2)}))),UB(e)||(i=i[0]),i},ng=/^GeoJSON(T)?\*.*/,rg=({parameter:t,attr:e,type:i,separator:n,normalized:r=!1})=>(s,o)=>{let a;const l={boolean:t=>/^1|(true)$/i.test(t),string:t=>t,int:t=>Number.parseInt(t,10),float:t=>Number.parseFloat(t,10),array_number:t=>t.split(n||"").map((t=>t.trim())).map((t=>Number.parseFloat(t)))};if(YB(t)&&s.test(t)){const e=t.split("*")[o];qB(e)||(a=l[i](e))}else zB(t)?a=t[e]:Oc("El parámetro no es de un tipo soportado: "+typeof t);return YB(a)&&(a=a.trim()),!0===r&&(a=XB(a)),a},sg=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((t=>({type:Qu,name:rg({parameter:t,type:"string",attr:"name"})(ng,1),url:rg({parameter:t,type:"string",attr:"name"})(ng,2),extract:rg({parameter:t,type:"boolean",attr:"extract"})(ng,3),style:rg({parameter:t,type:"string",attr:"style"})(ng,4)}))),UB(t)||(e=e[0]),e},og=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((t=>{const e={};return e.type=Tu,e.name=((t,e)=>{let i,n;return YB(t)?/^\w{3,7}\*[^*]+\*[^*]+$/.test(t)?(n=t.split(/\*/),i=n[2].trim()):/^\w{3,7}\*[^*]$/.test(t)||/^[^*]+\*[^*]+$/.test(t)?(n=t.split(/\*/),i=n[1].trim()):/^[^*]+$/.test(t)&&!jB(t)&&(i=t):zB(t)?i=XB(t.name):Oc("El parámetro no es de un tipo soportado: "+typeof t),jB(i)&&(i=null),i})(t),e.url=(t=>{let e;if(YB(t)){const i=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);i&&i.length>2&&(e=i[2])}else zB(t)?e=t.url:Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e.options=(t=>{let e;return YB(t)||(zB(t)?e=t.options:Oc("El parámetro no es de un tipo soportado: "+typeof t)),e})(t),e})),UB(t)||(e=e[0]),e},ag=t=>{let e=t;const i={};if(qB(e)&&Oc(Cu("exception").no_center),YB(e))if(e=XB(e),/^-?\d+(\.\d+)?[,;]-?\d+(\.\d+)?([*](true|false))?$/i.test(e)){const t=e.split(/\*/),n=t[0],r=t[1],s=n.split(/[,;]+/);2===s.length?(i.x=Number.parseFloat(s[0]),i.y=Number.parseFloat(s[1])):Oc(Cu("exception").invalid_center_param),i.draw=/^1|(true)$/i.test(r)}else Oc(Cu("exception").invalid_center_param);else UB(e)?2===e.length||3===e.length?(YB(e[0])&&(e[0]=Number.parseFloat(e[0])),YB(e[1])&&(e[1]=Number.parseFloat(e[1])),i.x=e[0],i.y=e[1]):Oc(Cu("exception").invalid_center_param):zB(e)?(GB(e.x)?Oc(Cu("exception").invalid_center_param):(YB(e.x)&&(e.x=Number.parseFloat(e.x)),i.x=e.x),GB(e.y)?Oc(Cu("exception").invalid_center_param):(YB(e.y)&&(e.y=Number.parseFloat(e.y)),i.y=e.y),GB(e.draw)?i.draw=!1:i.draw=/^true$/.test(e.draw)):Oc("El parámetro no es de un tipo soportado: "+typeof maxExtentParameter);return(Number.isNaN(i.x)||Number.isNaN(i.y))&&Oc(Cu("exception").invalid_center_param),i},lg=t=>{const e=t;let i;if(!qB(e)){if(i={x:{},y:{}},qB(e)&&Oc(Cu("exception").no_maxextent),YB(e))if(/^\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?$/.test(e)){const t=e.split(/[,;]+/);4===t.length?(i.x.min=Number.parseFloat(t[0]),i.y.min=Number.parseFloat(t[1]),i.x.max=Number.parseFloat(t[2]),i.y.max=Number.parseFloat(t[3])):Oc(Cu("exception").invalid_maxextent_param)}else Oc(Cu("exception").invalid_maxextent_param);else UB(e)?4===e.length?(YB(e[0])&&(e[0]=Number.parseFloat(e[0])),YB(e[1])&&(e[1]=Number.parseFloat(e[1])),YB(e[2])&&(e[2]=Number.parseFloat(e[2])),YB(e[3])&&(e[3]=Number.parseFloat(e[3])),i.x.min=e[0],i.y.min=e[1],i.x.max=e[2],i.y.max=e[3]):Oc(Cu("exception").invalid_maxextent_param):zB(e)?(GB(e.left)?GB(e.x.min)?Oc(Cu("exception").invalid_maxextent_param):(YB(e.x.min)&&(e.x.min=Number.parseFloat(e.x.min)),i.x.min=e.x.min):(YB(e.left)&&(e.left=Number.parseFloat(e.left)),i.x.min=e.left),GB(e.bottom)?GB(e.y.min)?Oc(Cu("exception").invalid_maxextent_param):(YB(e.y.min)&&(e.y.min=Number.parseFloat(e.y.min)),i.y.min=e.y.min):(YB(e.bottom)&&(e.bottom=Number.parseFloat(e.bottom)),i.y.min=e.bottom),GB(e.right)?GB(e.x.max)?Oc(Cu("exception").invalid_maxextent_param):(YB(e.x.max)&&(e.x.max=Number.parseFloat(e.x.max)),i.x.max=e.x.max):(YB(e.right)&&(e.right=Number.parseFloat(e.right)),i.x.max=e.right),GB(e.top)?GB(e.y.max)?Oc(Cu("exception").invalid_maxextent_param):(YB(e.y.max)&&(e.y.max=Number.parseFloat(e.y.max)),i.y.max=e.y.max):(YB(e.top)&&(e.top=Number.parseFloat(e.top)),i.y.max=e.top)):Oc("El parámetro no es de un tipo soportado: "+typeof e);(Number.isNaN(i.x.min)||Number.isNaN(i.y.min)||Number.isNaN(i.x.max)||Number.isNaN(i.y.max))&&Oc(Cu("exception").invalid_maxextent_param)}return i},hg=t=>{const e={code:null,units:null};if(qB(t)&&Oc(Cu("exception").no_projection),YB(t))if(/^(EPSG:)?\d+\*((d(egrees)?)|(m(eters)?))$/i.test(t)){const i=t.split(/\*/);e.code=i[0],e.units=XB(i[1].substring(0,1))}else Oc(`El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ${M.config.DEFAULT_PROJ}`);else zB(t)?GB(t.code)||GB(t.units)?Oc(`El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ${M.config.DEFAULT_PROJ}`):(e.code=t.code,e.units=XB(t.units.substring(0,1))):Oc("El parámetro no es de un tipo soportado: "+typeof t);return"m"!==e.units&&"d"!==e.units&&Oc(`La unidad "${t.units}" del parámetro projection no es válida. Las disponibles son: "m" o "d"`),e},cg=t=>{let e=t,i=[];qB(e)&&Oc(Cu("exception").no_resolutions),YB(e)&&(/^\d+(\.\d+)?([,;]\d+(\.\d+)?)*$/.test(e)?e=e.split(/[,;]+/):Oc(Cu("exception").invalid_resolutions_param)),UB(e)?i=e.map((t=>YB(t)?Number.parseFloat(t):t)):Oc("El parámetro no es de un tipo soportado: "+typeof e);let n=!0;for(let t=0,e=i.length;t{const e=t;let i;return qB(e)&&Oc(Cu("exception").no_zoom),YB(e)?i=Number.parseInt(e,10):"number"==typeof e?i=e:Oc("El parámetro no es de un tipo soportado: "+typeof e),Number.isNaN(i)&&Oc(Cu("exception").invalid_zoom_param),i},gg=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((e=>{const i={};return i.type=Pu,i.name=(t=>{let e,i,n;return YB(t)?/^WFS(T)?\*.+/i.test(t)?/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+/i.test(t)||/^[^*]*\*[^*]+:[^*]+/.test(t)?(i=t.split(/\*/),n=i[3].trim(),e=n.split(":")[1]):/^WFS(T)?\*[^*]*\*[^*]+[^*]+/i.test(t)&&(i=t.split(/\*/),e=i[3].trim()):/^[^*]*\*[^*]+:[^*]+/.test(t)&&(i=t.split(/\*/),n=i[1].trim(),e=n.split(":")[1]):zB(t)&&!qB(t.name)?e=t.name.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(e),i.url=(t=>{let e;if(YB(t)){const i=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);i&&i.length>2&&(e=i[2])}else zB(t)?e=t.url:Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(e),i.namespace=(t=>{let e,i,n;return YB(t)?/^WFS(T)?\*.+/i.test(t)?/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+/i.test(t)&&(i=t.split(/\*/),n=i[3].trim(),e=n.split(":")[0]):/^[^*]*\*[^*]+:[^*]+/.test(t)&&(i=t.split(/\*/),n=i[1].trim(),e=n.split(":")[0]):zB(t)&&!qB(t.namespace)?e=t.namespace.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(e),i.legend=(t=>{let e,i;return YB(t)?/^WFS(T)?\*[^*]/i.test(t)?(i=t.split(/\*/),e=i[1].trim()):/^[^*]+\*[^*]+:[^*]+\*[^*]+/.test(t)&&(i=t.split(/\*/),e=i[2].trim()):zB(t)&&!qB(t.legend)?e=t.legend.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(e),i.cql=(t=>{let e,i;return YB(t)?(/^[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]+/i.test(t)&&(i=t.split(/\*/),e=i[3].trim()),/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*/i.test(t)&&(i=t.split(/\*/),e=i[6].trim())):zB(t)&&!qB(t.cql)||!qB(t.ecql)?e=t.cql?t.cql.trim():t.ecql.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(/^(true|false)$/i.test(e)||/^\d\.\d\.\d$/.test(e))&&(e=void 0),e})(e),i.geometry=(t=>{let e,i;return YB(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+/i.test(t)||/^WFS(T)?\*[^*]*\*[^*][^*]+\*[^*]+/i.test(t))&&(i=t.split(/\*/),e=i[4].trim()):zB(t)&&!qB(t.geometry)?e=t.geometry.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(e),i.ids=(t=>{let e,i;return YB(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*(.-?)+$/i.test(t)||/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+\*[^*]+\*(.-?)+$/i.test(t))&&(i=t.split(/\*/),e=i[5].trim().split("-")):zB(t)&&!qB(t.ids)?e=t.ids:zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),jB(e)&&(e=null),qB(e)||UB(e)||(e=[e]),e})(e),i.version=(t=>{let e;return YB(t)?/(\d\.\d\.\d)$/.test(t)&&(e=t.match(/\d\.\d\.\d$/)[0]):zB(t)?e=t.version:Oc("El parámetro no es de un tipo soportado: "+typeof t),e})(e),i.style=(t=>{let e,i;return YB(t)?/^WFS(T)?\*.+/i.test(t)&&/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*\*[^*]*/i.test(t)&&(e=t.split(/\*/),i=e[7].trim()):zB(t)&&!qB(t.style)?i=t.style:zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),i})(e),i.options=(t=>{let e;return YB(t)||(zB(t)?e=t.options:Oc("El parámetro no es de un tipo soportado: "+typeof t)),e})(e),i.outputFormat=t.outputFormat,i})),UB(t)||(e=e[0]),e},dg=t=>{let e=[];qB(t)&&Oc("No ha especificado ningún parámetro");let i=t;return UB(i)||(i=[i]),e=i.map((t=>{const e={};return e.type=Gu,e.name=(t=>{let e;if(YB(t)){if(/^MVT\*.+/i.test(t)){const i=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)/i);i&&i.length>2&&(e=i[2])}}else zB(t)&&!qB(t.name)?e=t.name.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e.url=(t=>{let e;if(YB(t)){if(/^MVT\*.+/i.test(t)){const i=t.match(/.*\*(https?:\/\/[^*]+).*/i);i&&i.length>1&&(e=i[1])}}else zB(t)&&!qB(t.url)?e=t.url.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e.mode=(t=>{let e;if(YB(t)){if(/^MVT\*.+/i.test(t)){const i=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)/i);i&&i.length>3&&(e=i[3])}}else zB(t)&&!qB(t.mode)?e=t.mode.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e.projection=(t=>{let e;if(YB(t)){if(/^MVT\*.+/i.test(t)){const i=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)\*([^*]+)/i);i&&i.length>4&&(e=i[4])}}else zB(t)&&!qB(t.proj)?e=t.proj.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e})),UB(t)||(e=e[0]),e},Ag=t=>{let e=[];qB(t)&&Oc(Cu("exception").no_param);let i=t;return UB(i)||(i=[i]),e=i.map((t=>{const e={};return e.type=Fu,e.name=(t=>{let e,i;return YB(t)?/^WMTS\*.+/i.test(t)?/^WMTS\*[^*]+\*[^*]+/i.test(t)&&(i=t.split(/\*/),e=i[2].trim()):/^[^*]*\*[^*]+/.test(t)&&(i=t.split(/\*/),e=i[1].trim()):zB(t)&&!qB(t.name)?e=t.name.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(t),e.url=(t=>{let e;if(YB(t)){const i=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);i&&i.length>2&&(e=i[2])}else zB(t)?e=t.url:Oc("El parámetro no es de un tipo soportado: "+typeof t);return e})(t),e.matrixSet=(t=>{let e,i;return YB(t)?/^WMTS\*[^*]+\*[^*]+(\*[^*]])*/i.test(t)?(i=t.split(/\*/),e=i[3]?i[3].trim():null):/^[^*]+\*[^*]+\*[^*]+/.test(t)&&(i=t.split(/\*/),e=i[2].trim()):zB(t)&&!qB(t.matrixSet)?e=t.matrixSet.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(t),e.legend=(t=>{let e,i;return YB(t)?/^WMTS\*.+/i.test(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]+/i.test(t)&&(i=t.split(/\*/),e=i[4].trim()):/^[^*]+\*[^*]+\*[^*]*\*[^*]+/.test(t)&&(i=t.split(/\*/),e=i[3].trim()):zB(t)&&!qB(t.legend)?e=t.legend.trim():zB(t)||Oc("El parámetro no es de un tipo soportado: "+typeof t),(jB(e)||/^(true|false)$/i.test(e))&&(e=null),e})(t),e.options=(t=>{let e;return YB(t)||(zB(t)?e=t.options:Oc("El parámetro no es de un tipo soportado: "+typeof t)),e})(t),e.transparent=(t=>{let e,i;return YB(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]*\*(true|false)/i.test(t)?(i=t.split(/\*/),e=i[5].trim()):/^WMS_FULL\*[^*]+(\*(true|false))?/i.test(t)?(i=t.split(/\*/),e=!0):/^[^*]+\*[^*]+\*[^*]+\*(true|false)/i.test(t)?(i=t.split(/\*/),e=i[3].trim()):/^[^*]+\*[^*]+\*(true|false)/i.test(t)&&(i=t.split(/\*/),e=i[2].trim()):zB(t)?e=XB(t.transparent):Oc("El parámetro no es de un tipo soportado: "+typeof t),qB(e)||(e=/^1|(true)$/i.test(e)),e})(t),e})),UB(t)||(e=e[0]),e},pg={kml:Ku,mapbox:$u,osm:ig,wfs:gg,wmc:og,wms:Hu,wmts:Ag,geojson:sg,mvt:dg},fg=(t,e)=>{let i=[];qB(t)&&Oc(Cu("exception").no_param);let n=t;return UB(n)||(n=[n]),i=n.map((t=>{let i=null;if(zB(t)&&t instanceof _g)i=t;else{let n=((t,e)=>{let i;if(YB(t))if(/^\s*osm\s*$/i.test(t))i=Du;else if(/^\s*mapbox\*.+$/i.test(t))i=Ou;else{const n=t.match(/^(\w+)\*.+$/);n&&n.length>1&&(i=qu(n[1]),QB(i)&&Oc(`No se reconoce el tipo de capa ${n[1]}`)),QB(i)&&!qB(e)?i=e:QB(i)&&Oc(`No se reconoce el tipo de capa ${i}`)}else zB(t)?qB(t.type)||(i=qu(t.type),QB(i)&&Oc(`No se reconoce el tipo de capa ${i}`)):Oc("El parámetro no es de un tipo soportado: "+typeof t);return qB(i)||qB(e)||i===e||Oc("El tipo de la capa (".concat(i).concat(") no era el esperado (").concat(e).concat(")")),qB(i)&&!qB(e)&&(i=e),i})(t,e);n=XB(n),i=VB(pg[n])?pg[n](t):t}return i})),UB(t)||(i=i[0]),i};class mg extends Qc{constructor(t,e){super(e);const i=fg(t);this.type=i.type,this.url=i.url,this.name=i.name,this.transparent=i.transparent,this.maxExtent_=null,this.zindex_=null,this.minScale_=t.minScale,this.maxScale_=t.maxScale,this.map_=null,this.userMaxExtent=i.maxExtent,this.legend=i.legend,this.layerGroup_=null,this.id=JB(`${i.name}_`)}getLegend(){return this.getImpl().legend}setLegend(t){this.legend=t,this.getImpl().legend=t}getID(){return this.id}setId(t){if(!qB(this.map_)){const e=this.map_.getLayers().find((e=>{let i=null;return i="WMC"===e.constructor.name?e.layers.find((i=>e.id===t)):e.id===t,i}));QB(e)?(this.map_.getFeatureHandler().changeNamePrevs(this.id,t),this.id=t):Oc(Cu("exception").id_exists)}}get url(){return this.getImpl().url}set url(t){this.getImpl().url=t}get name(){return this.getImpl().name}set name(t){this.getImpl().name=t}get transparent(){return this.getImpl().transparent}set transparent(t){qB(t)?this.getImpl().transparent=!0:YB(t)?this.getImpl().transparent="true"===XB(t):this.getImpl().transparent=t}get displayInLayerSwitcher(){return this.getImpl().displayInLayerSwitcher}set displayInLayerSwitcher(t){qB(t)?this.getImpl().displayInLayerSwitcher=!0:YB(t)?this.getImpl().displayInLayerSwitcher="true"===XB(t):this.getImpl().displayInLayerSwitcher=t}getMaxExtent(){let t=this.userMaxExtent;return qB(t)&&(t=this.map_.userMaxExtent,qB(t)&&(t=this.map_.getProjection().getExtent())),t}calculateMaxExtent(){return new Promise((t=>t(this.getMaxExtent())))}setMaxExtent(t){this.userMaxExtent=t,!UB(t)&&zB(t)&&(this.userMaxExtent=[t.x.min,t.y.min,t.x.max,t.y.max]),VB(this.getImpl().setMaxExtent)&&(qB(t)?this.resetMaxExtent():this.getImpl().setMaxExtent(t))}resetMaxExtent(){this.userMaxExtent=null,this.calculateMaxExtent().then((t=>{VB(this.getImpl().setMaxExtent)&&this.getImpl().setMaxExtent(t)}))}setMap(t){this.map_=t}getLayerGroup(){return this.layerGroup_}setLayerGroup(t){this.layerGroup_=t}isVisible(){return QB(this.getImpl().isVisible)&&Oc(Cu("exception").isvisible_method),this.getImpl().isVisible()}isQueryable(){return QB(this.getImpl().isQueryable)&&Oc(Cu("exception").isqueryable_method),this.getImpl().isQueryable()}setVisible(t){let e=t;qB(e)&&Oc(Cu("exception").visibility_param),YB(e)||kB(e)||Oc(Cu("exception").visibility_param),QB(this.getImpl().setVisible)&&Oc(Cu("exception").setvisible_method),e=/^1|(true)$/i.test(e),this.getImpl().setVisible(e),this.fire(du,[{visibility:e,layer:this},this])}inRange(){return QB(this.getImpl().inRange)&&Oc(Cu("exception").inrage_method),this.getImpl().inRange()}getLegendURL(){return this.getImpl().getLegendURL()}setLegendURL(t){let e=t;qB(e)&&(e=aL([M.config.THEME_URL,mg.LEGEND_DEFAULT])),this.getImpl().setLegendURL(e)}getZIndex(){return this.zindex_}setZIndex(t){this.zindex_=t,this.getImpl().setZIndex(t)}getMinScale(){return this.minScale_}setMinScale(t){this.minScale_=t,this.getImpl().setMinScale(t)}getMaxScale(){return this.maxScale_}setMaxScale(t){this.maxScale_=t,this.getImpl().setMaxScale(t)}getOpacity(){return this.getImpl().getOpacity()}setOpacity(t){this.getImpl().setOpacity(t)}refresh(){!QB(this.getImpl().refresh)&&VB(this.getImpl().refresh)&&this.getImpl().refresh()}generateName_(){this.name=JB("layer_","_".concat(this.type))}}mg.LEGEND_DEFAULT="/img/legend-default.png",mg.LEGEND_ERROR="/img/legend-error.png";const _g=mg,yg="preload",Ig="useInterimTilesOnError";const Eg=class extends pl{constructor(t){t=t||{};const e=Object.assign({},t);delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getPreload(){return this.get(yg)}setPreload(t){this.set(yg,t)}getUseInterimTilesOnError(){return this.get(Ig)}setUseInterimTilesOnError(t){this.set(Ig,t)}getData(t){return super.getData(t)}},Cg=0,vg=1,xg=2,wg=3,Sg=4;const bg=class extends Ys{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.declutterExecutorGroup=null}getFeatures(t){return js()}getData(t){return null}prepareFrame(t){return js()}renderFrame(t,e){return js()}loadedTileCallback(t,e,i){t[e]||(t[e]={}),t[e][i.tileCoord.toString()]=i}createLoadedTileFinder(t,e,i){return(n,r)=>{const s=this.loadedTileCallback.bind(this,i,n);return t.forEachLoadedTile(e,n,r,s)}}forEachFeatureAtCoordinate(t,e,i,n,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;e.getState()!==xg&&e.getState()!==wg||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=xg&&e!=wg&&t.addEventListener(bs,this.boundHandleImageChange_),e==Cg&&(t.load(),e=t.getState()),e==xg}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}disposeInternal(){delete this.layer_,super.disposeInternal()}},Bg=[];let Lg=null;const Mg=class extends bg{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.containerReused=!1,this.pixelContext_=null,this.frameState=null}getImageData(t,e,i){let n;Lg||(Lg=bl(1,1,void 0,{willReadFrequently:!0})),Lg.clearRect(0,0,1,1);try{Lg.drawImage(t,e,i,1,1,0,0,1,1),n=Lg.getImageData(0,0,1,1).data}catch(t){return Lg=null,null}return n}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,i){const n=this.getLayer().getClassName();let r,s;if(t&&t.className===n&&(!i||t&&t.style.backgroundColor&&ys(Mo(t.style.backgroundColor),Mo(i)))){const e=t.firstElementChild;e instanceof HTMLCanvasElement&&(s=e.getContext("2d"))}if(s&&s.canvas.style.transform===e?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=document.createElement("div"),r.className=n;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=bl();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!i||this.container.style.backgroundColor||(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){const n=st(i),r=ot(i),s=Z(i),o=J(i);_o(e.coordinateToPixelTransform,n),_o(e.coordinateToPixelTransform,r),_o(e.coordinateToPixelTransform,s),_o(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;_o(a,n),_o(a,r),_o(a,s),_o(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}dispatchRenderEvent_(t,e,i){const n=this.getLayer();if(n.hasListener(t)){const r=new _l(t,this.inversePixelTransform,i,e);n.dispatchEvent(r)}}preRender(t,e){this.frameState=e,this.dispatchRenderEvent_(Ho,t,e)}postRender(t,e){this.dispatchRenderEvent_(Xo,t,e)}getRenderTransform(t,e,i,n,r,s,o){const a=r/2,l=s/2,h=n/e,c=-h,u=-t[0]+o,g=-t[1];return Eo(this.tempTransform,a,l,h,c,-i,u,g)}disposeInternal(){delete this.frameState,super.disposeInternal()}};const Tg=class extends Ss{constructor(t,e,i){super(),i=i||{},this.tileCoord=t,this.state=e,this.interimTile=null,this.key="",this.transition_=void 0===i.transition?250:i.transition,this.transitionStarts_={},this.interpolate=!!i.interpolate}changed(){this.dispatchEvent(bs)}release(){this.state===Sh&&this.setState(bh)}getKey(){return this.key+"/"+this.tileCoord}getInterimTile(){if(!this.interimTile)return this;let t=this.interimTile;do{if(t.getState()==wh)return this.transition_=0,t;t=t.interimTile}while(t);return this}refreshInterimChain(){if(!this.interimTile)return;let t=this.interimTile,e=this;do{if(t.getState()==wh){t.interimTile=null;break}t.getState()==xh?e=t:t.getState()==vh?e.interimTile=t.interimTile:e=t,t=e.interimTile}while(t)}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(this.state!==Sh&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}load(){js()}getAlpha(t,e){if(!this.transition_)return 1;let i=this.transitionStarts_[t];if(i){if(-1===i)return 1}else i=e,this.transitionStarts_[t]=i;const n=e-i+1e3/60;return n>=this.transition_?1:ca(n/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}};function Rg(t,e){return new Promise(((i,n)=>{function r(){o(),i(t)}function s(){o(),n(new Error("Image load error"))}function o(){t.removeEventListener("load",r),t.removeEventListener("error",s)}t.addEventListener("load",r),t.addEventListener("error",s),e&&(t.src=e)}))}function Ng(t,e){return e&&(t.src=e),ho?new Promise(((e,i)=>t.decode().then((()=>e(t)),i))):Rg(t)}function Pg(t,e){return e&&(t.src=e),ho&&co?t.decode().then((()=>createImageBitmap(t))):Ng(t)}const Fg=class extends Ss{constructor(t,e,i,n){super(),this.extent=t,this.pixelRatio_=i,this.resolution=e,this.state="function"==typeof n?Cg:n,this.image_=null,this.loader="function"==typeof n?n:null}changed(){this.dispatchEvent(bs)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(this.state==Cg&&this.loader){this.state=vg,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;vs((()=>this.loader(this.getExtent(),e,this.getPixelRatio()))).then((t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=xg})).catch((t=>{this.state=wg,console.error(t)})).finally((()=>this.changed()))}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}};const Dg=class extends Tg{constructor(t,e,i,n,r,s){super(t,e,s),this.crossOrigin_=n,this.src_=i,this.key=i,this.image_=new Image,null!==n&&(this.image_.crossOrigin=n),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=wh,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=Sh,this.unlistenImage_(),this.image_=function(){const t=bl(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=wh:this.state=bh,this.unlistenImage_(),this.changed()}load(){this.state==Sh&&(this.state=vh,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==vh&&(this.state=xh,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,i){const n=t;let r=!0,s=!1,o=!1;const a=[Us(n,Os,(function(){o=!0,s||e()}))];return n.src&&ho?(s=!0,n.decode().then((function(){r&&e()})).catch((function(t){r&&(o?e():i())}))):a.push(Us(n,Bs,i)),function(){r=!1,a.forEach(qs)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}};const Og=class{constructor(t,e,i,n,r,s){this.sourceProj_=t,this.targetProj_=e;let o={};const a=he(this.targetProj_,this.sourceProj_);this.transformInv_=function(t){const e=t[0]+"/"+t[1];return o[e]||(o[e]=a(t)),o[e]},this.maxSourceExtent_=n,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!n&&!!this.sourceProj_.getExtent()&&at(n)>=at(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?at(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?at(this.targetProj_.getExtent()):null;const l=st(i),h=ot(i),c=Z(i),u=J(i),g=this.transformInv_(l),d=this.transformInv_(h),A=this.transformInv_(c),p=this.transformInv_(u),f=10+(s?Math.max(0,Math.ceil(Math.log2(K(i)/(s*s*256*256)))):0);if(this.addQuad_(l,h,c,u,g,d,A,p,f),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach((function(e,i,n){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])})),this.triangles_.forEach((e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const i=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];i[0][0]-t>this.sourceWorldWidth_/2&&(i[0][0]-=this.sourceWorldWidth_),i[1][0]-t>this.sourceWorldWidth_/2&&(i[1][0]-=this.sourceWorldWidth_),i[2][0]-t>this.sourceWorldWidth_/2&&(i[2][0]-=this.sourceWorldWidth_);const n=Math.min(i[0][0],i[1][0],i[2][0]);Math.max(i[0][0],i[1][0],i[2][0])-n.5&&c<1;let d=!1;if(l>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){d=at(T([t,e,i,n]))/this.targetWorldWidth_>.25||d}!g&&this.sourceProj_.isGlobal()&&c&&(d=c>.25||d)}if(!d&&this.maxSourceExtent_&&isFinite(h[0])&&isFinite(h[1])&&isFinite(h[2])&&isFinite(h[3])&&!lt(h,this.maxSourceExtent_))return;let A=0;if(!(d||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)d=!0;else if(A=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=A&&2!=A&&4!=A&&8!=A)return;if(l>0){if(!d){const e=[(t[0]+i[0])/2,(t[1]+i[1])/2],n=this.transformInv_(e);let s;if(g){s=(_t(r[0],u)+_t(o[0],u))/2-_t(n[0],u)}else s=(r[0]+o[0])/2-n[0];const a=(r[1]+o[1])/2-n[1];d=s*s+a*a>this.errorThresholdSquared_}if(d){if(Math.abs(t[0]-i[0])<=Math.abs(t[1]-i[1])){const h=[(e[0]+i[0])/2,(e[1]+i[1])/2],c=this.transformInv_(h),u=[(n[0]+t[0])/2,(n[1]+t[1])/2],g=this.transformInv_(u);this.addQuad_(t,e,h,u,r,s,c,g,l-1),this.addQuad_(u,h,i,n,g,c,o,a,l-1)}else{const h=[(t[0]+e[0])/2,(t[1]+e[1])/2],c=this.transformInv_(h),u=[(i[0]+n[0])/2,(i[1]+n[1])/2],g=this.transformInv_(u);this.addQuad_(t,h,u,n,r,c,g,a,l-1),this.addQuad_(h,e,i,u,c,s,o,g,l-1)}return}}if(g){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}0==(11&A)&&this.addTriangle_(t,i,n,r,o,a),0==(14&A)&&this.addTriangle_(t,i,e,r,o,s),A&&(0==(13&A)&&this.addTriangle_(e,n,t,s,a,r),0==(7&A)&&this.addTriangle_(e,n,i,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach((function(e,i,n){const r=e.source;j(t,r[0]),j(t,r[1]),j(t,r[2])})),t}getTriangles(){return this.triangles_}};let Qg;const kg=[];function Gg(t,e,i,n,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,i),t.lineTo(n,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,n)+1,Math.max(i,r)),t.restore()}function Ug(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function qg(t,e,i,n){const r=ce(i,e,t);let s=ie(e,n,i);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||F(l,r)){const e=ie(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function Vg(t,e,i,n){const r=$(i);let s=qg(t,e,r,n);return(!isFinite(s)||s<=0)&&W(i,(function(i){return s=qg(t,e,i,n),isFinite(s)&&s>0})),s}function zg(t,e,i,n,r,s,o,a,l,h,c,u){const g=bl(Math.round(i*t),Math.round(i*e),kg);if(u||(g.imageSmoothingEnabled=!1),0===l.length)return g.canvas;function d(t){return Math.round(t*i)/i}g.scale(i,i),g.globalCompositeOperation="lighter";const A=[1/0,1/0,-1/0,-1/0];l.forEach((function(t,e,i){Y(A,t.extent)}));const p=at(A),f=nt(A),m=bl(Math.round(i*p/n),Math.round(i*f/n),kg);u||(m.imageSmoothingEnabled=!1);const _=i/n;l.forEach((function(t,e,i){const n=t.extent[0]-A[0],r=-(t.extent[3]-A[3]),s=at(t.extent),o=nt(t.extent);t.image.width>0&&t.image.height>0&&m.drawImage(t.image,h,h,t.image.width-2*h,t.image.height-2*h,n*_,r*_,s*_,o*_)}));const y=st(o);return a.getTriangles().forEach((function(t,e,r){const o=t.source,a=t.target;let l=o[0][0],h=o[0][1],c=o[1][0],p=o[1][1],f=o[2][0],_=o[2][1];const I=d((a[0][0]-y[0])/s),E=d(-(a[0][1]-y[1])/s),C=d((a[1][0]-y[0])/s),v=d(-(a[1][1]-y[1])/s),x=d((a[2][0]-y[0])/s),w=d(-(a[2][1]-y[1])/s),S=l,b=h;l=0,h=0,c-=S,p-=b,f-=S,_-=b;const B=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=s)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let n=i+1;n=0;n--){i[n]=t[n][e]/t[n][n];for(let r=n-1;r>=0;r--)t[r][e]-=t[r][n]*i[n]}return i}([[c,p,0,0,C-I],[f,_,0,0,x-I],[0,0,c,p,v-E],[0,0,f,_,w-E]]);if(B){if(g.save(),g.beginPath(),function(){if(void 0===Qg){const t=bl(6,6,kg);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",Gg(t,4,5,4,0),Gg(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;Qg=Ug(e,0)||Ug(e,4)||Ug(e,8),Bl(t),kg.push(t.canvas)}return Qg}()||!u){g.moveTo(C,v);const t=4,e=I-C,i=E-v;for(let n=0;n{e&&e.getState()==wh&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})})),this.sourceTiles_.length=0,0===t.length)this.state=Sh;else{const e=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(e),n="number"==typeof i?i:i[0],r="number"==typeof i?i:i[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=zg(n,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=wh}this.changed()}load(){if(this.state==vh){this.state=xh,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach((e=>{const i=e.getState();if(i==vh||i==xh){t++;const i=Gs(e,bs,(function(n){const r=e.getState();r!=wh&&r!=Sh&&r!=bh||(qs(i),t--,0===t&&(this.unlistenSources_(),this.reproject_()))}),this);this.sourcesListenerKeys_.push(i)}})),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function(t,e,i){t.getState()==vh&&t.load()}))}}unlistenSources_(){this.sourcesListenerKeys_.forEach(qs),this.sourcesListenerKeys_=null}release(){this.canvas_&&(Bl(this.canvas_.getContext("2d")),kg.push(this.canvas_),this.canvas_=null),super.release()}};class jg{constructor(t,e,i,n){this.minX=t,this.maxX=e,this.minY=i,this.maxY=n}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function Hg(t,e,i,n,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=i,r.maxY=n,r):new jg(t,e,i,n)}const Xg=jg;const Wg=class extends Mg{constructor(t){super(t),this.extentChanged=!0,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedRevision,this.renderedTiles=[],this.newTiles_=!1,this.tmpExtent=[1/0,1/0,-1/0,-1/0],this.tmpTileRange_=new Xg(0,0,0,0)}isDrawableTile(t){const e=this.getLayer(),i=t.getState(),n=e.getUseInterimTilesOnError();return i==wh||i==bh||i==Sh&&!n}getTile(t,e,i,n){const r=n.pixelRatio,s=n.viewState.projection,o=this.getLayer();let a=o.getSource().getTile(t,e,i,r,s);return a.getState()==Sh&&o.getUseInterimTilesOnError()&&o.getPreload()>0&&(this.newTiles_=!0),this.isDrawableTile(a)||(a=a.getInterimTile()),a}getData(t){const e=this.frameState;if(!e)return null;const i=this.getLayer(),n=_o(e.pixelToCoordinateTransform,t.slice()),r=i.getExtent();if(r&&!F(r,n))return null;const s=e.pixelRatio,o=e.viewState.projection,a=e.viewState,l=i.getRenderSource(),h=l.getTileGridForProjection(a.projection),c=l.getTilePixelRatio(e.pixelRatio);for(let t=h.getZForResolution(a.resolution);t>=h.getMinZoom();--t){const e=h.getTileCoordForCoordAndZ(n,t),i=l.getTile(t,e[1],e[2],s,o);if(!(i instanceof Dg||i instanceof Yg)||i instanceof Yg&&i.getState()===bh)return null;if(i.getState()!==wh)continue;const r=h.getOrigin(t),u=xc(h.getTileSize(t)),g=h.getResolution(t),d=Math.floor(c*((n[0]-r[0])/g-e[1]*u[0])),A=Math.floor(c*((r[1]-n[1])/g-e[2]*u[1])),p=Math.round(c*l.getGutterForProjection(a.projection));return this.getImageData(i.getImage(),d+p,A+p)}return null}loadedTileCallback(t,e,i){return!!this.isDrawableTile(i)&&super.loadedTileCallback(t,e,i)}prepareFrame(t){return!!this.getLayer().getSource()}renderFrame(t,e){const i=t.layerStatesArray[t.layerIndex],n=t.viewState,r=n.projection,s=n.resolution,o=n.center,a=n.rotation,l=t.pixelRatio,h=this.getLayer(),c=h.getSource(),u=c.getRevision(),g=c.getTileGridForProjection(r),d=g.getZForResolution(s,c.zDirection),A=g.getResolution(d);let p=t.extent;const f=t.viewState.resolution,m=c.getTilePixelRatio(l),_=Math.round(at(p)/f*l),y=Math.round(nt(p)/f*l),I=i.extent&&_e(i.extent,r);I&&(p=rt(p,_e(i.extent,r)));const E=A*_/2/m,C=A*y/2/m,v=[o[0]-E,o[1]-C,o[0]+E,o[1]+C],x=g.getTileRangeForExtentAndZ(p,d),w={};w[d]={};const S=this.createLoadedTileFinder(c,r,w),b=this.tmpExtent,B=this.tmpTileRange_;this.newTiles_=!1;const L=a?it(n.center,f,a,t.size):void 0;for(let e=x.minX;e<=x.maxX;++e)for(let n=x.minY;n<=x.maxY;++n){if(a&&!g.tileCoordIntersectsViewport([d,e,n],L))continue;const r=this.getTile(d,e,n,t);if(this.isDrawableTile(r)){const e=Xs(this);if(r.getState()==wh){w[d][r.tileCoord.toString()]=r;let t=r.inTransition(e);t&&1!==i.opacity&&(r.endTransition(e),t=!1),this.newTiles_||!t&&this.renderedTiles.includes(r)||(this.newTiles_=!0)}if(1===r.getAlpha(e,t.time))continue}const s=g.getTileCoordChildTileRange(r.tileCoord,B,b);let o=!1;s&&(o=S(d+1,s)),o||g.forEachTileCoordParentTileRange(r.tileCoord,S,B,b)}const M=A/s*l/m;Eo(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/l,1/l,a,-_/2,-y/2);const T=xo(this.pixelTransform);this.useContainer(e,T,this.getBackground(t));const R=this.context,N=R.canvas;Co(this.inversePixelTransform,this.pixelTransform),Eo(this.tempTransform,_/2,y/2,M,M,0,-_/2,-y/2),N.width!=_||N.height!=y?(N.width=_,N.height=y):this.containerReused||R.clearRect(0,0,_,y),I&&this.clipUnrotated(R,t,I),c.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t),this.renderedTiles.length=0;let P,F,D,O=Object.keys(w).map(Number);O.sort(As),1!==i.opacity||this.containerReused&&!c.getOpaque(t.viewState.projection)?(P=[],F=[]):O=O.reverse();for(let e=O.length-1;e>=0;--e){const i=O[e],n=c.getTilePixelSize(i,l,r),s=g.getResolution(i)/A,o=n[0]*s*M,a=n[1]*s*M,h=g.getTileCoordForCoordAndZ(st(v),i),u=g.getTileCoordExtent(h),p=_o(this.tempTransform,[m*(u[0]-v[0])/A,m*(v[3]-u[3])/A]),f=m*c.getGutterForProjection(r),_=w[i];for(const e in _){const n=_[e],r=n.tileCoord,s=h[1]-r[1],l=Math.round(p[0]-(s-1)*o),u=h[2]-r[2],g=Math.round(p[1]-(u-1)*a),A=Math.round(p[0]-s*o),m=Math.round(p[1]-u*a),y=l-A,I=g-m,E=d===i,C=E&&1!==n.getAlpha(Xs(this),t.time);let v=!1;if(!C)if(P){D=[A,m,A+y,m,A+y,m+I,A,m+I];for(let t=0,e=P.length;t=o.width)return null;const h=nt(s),c=Math.floor(o.height*((s[3]-n[1])/h));return c<0||c>=o.height?null:this.getImageData(o,l,c)}renderFrame(t,e){const i=this.image_,n=i.getExtent(),r=i.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=i.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],h=t.pixelRatio,c=t.viewState,u=c.center,g=c.resolution,d=h*s/(g*a),A=h*o/(g*a),p=t.extent,f=c.resolution,m=c.rotation,_=Math.round(at(p)/f*h),y=Math.round(nt(p)/f*h);Eo(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/h,1/h,m,-_/2,-y/2),Co(this.inversePixelTransform,this.pixelTransform);const I=xo(this.pixelTransform);this.useContainer(e,I,this.getBackground(t));const E=this.context,C=E.canvas;C.width!=_||C.height!=y?(C.width=_,C.height=y):this.containerReused||E.clearRect(0,0,_,y);let v=!1,x=!0;if(l.extent){const e=_e(l.extent,c.projection);x=lt(e,t.extent),v=x&&!D(e,t.extent),v&&this.clipUnrotated(E,t,e)}const w=i.getImage(),S=Eo(this.tempTransform,_/2,y/2,d,A,0,a*(n[0]-u[0])/s,a*(u[1]-n[3])/o);this.renderedResolution=o*h/a;const b=w.width*S[0],B=w.height*S[3];if(this.getLayer().getSource().getInterpolate()||(E.imageSmoothingEnabled=!1),this.preRender(E,t),x&&b>=.5&&B>=.5){const t=S[4],e=S[5],i=l.opacity;let n;1!==i&&(n=E.globalAlpha,E.globalAlpha=i),E.drawImage(w,0,0,+w.width,+w.height,t,e,b,B),1!==i&&(E.globalAlpha=n)}return this.postRender(E,t),v&&E.restore(),E.imageSmoothingEnabled=!0,I!==C.style.transform&&(C.style.transform=I),this.container}};const $g=class extends Jg{constructor(t){super(t)}createRenderer(){return new Zg(this)}getData(t){return super.getData(t)}};function td(t,e,i,n){return void 0!==n?(n[0]=t,n[1]=e,n[2]=i,n):[t,e,i]}function ed(t,e,i){return t+"/"+e+"/"+i}function id(t){return ed(t[0],t[1],t[2])}function nd(t){return t.split("/").map(Number)}function rd(t){return(t[1]<0||i&&0===s)}))}(this.resolutions_,(function(t,e){return e-t}),!0),"`resolutions` must be sorted in descending order"),!t.origins)for(let t=0,i=this.resolutions_.length-1;t=this.minZoom;){if(2===this.zoomFactor_?(s=Math.floor(s/2),o=Math.floor(o/2),r=Hg(s,s,o,o,i)):r=this.getTileRangeForExtentAndZ(a,l,i),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,i){if(t[0]this.maxZoom||e>1),r=+i(t[n],e),r<0?s=n+1:(o=n,a=!r);return a?s:~s}(c,u);g<0?(l=(u-c[-g-2])/(c[-g-1]-c[-g-2]),a=e+(-g-2)*n):a=e+g*n}o=o>1?o:2,s=s||new Array(o);for(let e=0;e>1;r1?new Md(i,"XY",r):new sl(i,"XY",n);default:throw new Error("Invalid geometry type:"+e)}}Rd.prototype.getEndss=Rd.prototype.getEnds,Rd.prototype.getFlatCoordinates=Rd.prototype.getOrientedFlatCoordinates;const Pd=Rd;class Fd extends _a{constructor(t){super(),this.geometries_=t||null,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(qs),this.changeEventsKeys_.length=0}listenGeometriesChange_(){if(this.geometries_)for(let t=0,e=this.geometries_.length;t=e[0]||(t[1]<=e[1]&&t[3]>=e[1]||W(t,this.intersectsCoordinate.bind(this)))}return!1}setCenter(t){const e=this.stride,i=this.flatCoordinates[e]-this.flatCoordinates[0],n=t.slice();n[e]=n[0]+i;for(let i=1;i{const i=he(e,"EPSG:4326"),n=[];let r={};return t.forEach((e=>{const s=[];if(Array.isArray(e.geometry.coordinates[0])&&t.length>1)e.geometry.coordinates.forEach((t=>{if(!Number.isFinite(t[0])&&Array.isArray(t))s.push(t.map((t=>{const e=[];return Number.isFinite(t[0])?e.push(i(t)):t.forEach((t=>{e.push(i(t))})),e}))),r={...e,geometry:{type:e.geometry.type,coordinates:s}};else{const n=i(t);s.push(n),r={...e,geometry:{type:e.geometry.type,coordinates:s}}}})),n.push(r);else if(3===e.geometry.coordinates.length)e.geometry.coordinates.pop(),r={...e,geometry:{type:e.geometry.type,coordinates:i(e.geometry.coordinates)}},n.push(r);else if(1===t.length)if(e.geometry.coordinates[0].length>2){const t=e.geometry.coordinates[0].map((t=>i(t)));r={...e,geometry:{type:e.geometry.type,coordinates:t}},n.push(r)}else r={...e,geometry:{type:e.geometry.type,coordinates:i(e.geometry.coordinates[0])}},n.push(r);else if(Number.isFinite(e.geometry.coordinates[0])){const t=i(e.geometry.coordinates);r={...e,geometry:{type:e.geometry.type,coordinates:t}},n.push(r)}})),n};class Ud{static generateResolutions(t,e,i,n){let r,s,o;const a=[];qB(e)&&(r=t.getExtent());const l=at(r)/256;qB(i)&&(s=0),qB(n)&&(o=28);const h=o-s;for(let t=0;tt instanceof DL?t.getImpl().getOLFeature():t));let n=i.map((t=>t.getGeometry().getExtent().slice(0)));if(1===n.length){const t=i[0].getGeometry();if("Point"===t.getType()){const i=((t,e)=>e/ee(t).getMetersPerUnit())(e,1e3),r=t.getCoordinates()[0],s=t.getCoordinates()[1];n=[[r-i,s-i,r+i,s+i]]}}return 0===n.length?null:n.reduce(((t,e)=>Y(t,e)))}static getCentroidCoordinate(t){let e,i,n,r,s,o;return t.getType()===Ad?e=t.getCoordinates():t.getType()===ld||t.getType()===dd?(i=t.getCoordinates(),n=Math.floor(i.length/2),e=i[n]):t.getType()===hd?e=Ud.getCentroidCoordinate(t.getInteriorPoint()):t.getType()===cd?(r=t.getPoints(),n=Math.floor(r.length/2),e=Ud.getCentroidCoordinate(r[n])):t.getType()===ud?(s=t.getLineStrings(),n=Math.floor(s.length/2),e=Ud.getCentroidCoordinate(s[n])):t.getType()===gd?(r=t.getInteriorPoints(),e=Ud.getCentroidCoordinate(r)):t.getType()===fd?e=t.getCenter():t.getType()===pd&&(o=t.getGeometries(),n=Math.floor(o.length/2),e=Ud.getCentroidCoordinate(o[n])),e}static transformExtent(t,e,i){let n;const r=YB(e)?ee(e):e,s=YB(i)?ee(i):i,o=r.getExtent(),a=t.every(((t,e)=>{let i=!1;return i=e<2?t<=o[e]:t>=o[e],i}));return n=a?s.getExtent():ue(t,r,s),n}static olRenderFeature2olFeature(t,e,i){let n;if(!qB(t)){const r=t.getId(),s=t.getProperties();let o;if(qB(e)&&qB(e))o=this.getGeometryFromRenderFeature(t.getGeometry());else{const n=e.getExtent(),r=e.getWorldExtent();if(!qB(n)&&!qB(r)){const n=this.cloneOLRenderFeature(t);n.transform(e,i),o=this.getGeometryFromRenderFeature(n.getGeometry())}}n=new _d,qB(r)?n.setId(JB("mapea_feature_")):n.setId(r),n.setProperties(s,!0),n.setGeometry(o)}return n}static cloneOLRenderFeature(t){const e=t.getType(),i=t.getFlatCoordinates(),n=t.getEnds(),r=t.getProperties(),s=t.getId(),o=[...i],a=Object.assign(r),l=[...n];return new Pd(e,o,l,a,s)}static getGeometryFromRenderFeature(t){let e;const i=t.getFlatCoordinates(),n=t.getEnds(),r=t.getEndss();switch(t.getType()){case"Point":e=new qa(i);break;case"LineString":e=new wd(i);break;case"LinearRing":e=new Ga(i);break;case"Polygon":e=new sl(i);break;case"MultiPoint":e=new Id(i);break;case"MultiLineString":e=new bd(i,void 0,n);break;case"MultiPolygon":e=new Md(i,void 0,r);break;case"GeometryCollection":const s=t.getGeometries();e=new Od(s);break;case"Circle":const o=t.getFlatInteriorPoint();e=new kd(o);break;default:e=null}return e}static getWMTSScale(t,e){const i=ee(t.getProjection().code).getMetersPerUnit(),n=t.getMapImpl().getSize(),r=n[0],s=t.getMapImpl().getView().calculateExtent(n);let o=i*(s[2]-s[0])/r*1e3/.28;return!0==!e&&(o=o>=1e3&&o<=95e4?1e3*Math.round(o/1e3):o>=95e4?1e6*Math.round(o/1e6):Math.round(o)),Math.trunc(o)}}const qd=Ud;const Vd=class extends Mc{constructor(t={},e={}){super(t),this.vendorOptions_=e,this.map=null,this.ol3Layer=null,this.options=t,this.visibility=!1!==this.options.visibility,this.displayInLayerSwitcher=!1!==this.options.displayInLayerSwitcher,this.zIndex_=null,this.minScale_=null,this.maxScale_=null,this.opacity_=this.options.opacity||1,this.legendUrl_=aL([M.config.THEME_URL,_g.LEGEND_DEFAULT])}isVisible(){let t=!1;return t=qB(this.ol3Layer)?this.visibility:this.ol3Layer.getVisible(),t}isQueryable(){return!1}inRange(){let t=!1;if(!qB(this.ol3Layer)){const e=this.map.getMapImpl().getView().getResolution(),i=this.ol3Layer.getMaxResolution();t=e>=this.ol3Layer.getMinResolution()&&e<=i}return t}setVisible(t){this.visibility=t,qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}getZIndex(){return qB(this.getOLLayer())||(this.zIndex_=this.getOLLayer().getZIndex()),this.zIndex_}setZIndex(t){this.zIndex_=t,qB(this.getOLLayer())||this.getOLLayer().setZIndex(t)}getMinScale(){const t=this.map.getProjection().units;return qB(this.getOLLayer())||qB(t)||(this.minScale_=nL(this.getOLLayer().getMinResolution(),t)),this.minScale_}setMinScale(t){this.minScale_=t;const e=this.map.getProjection().units,i=eL(t,e);qB(this.getOLLayer())||qB(i)||qB(e)||this.getOLLayer().setMinResolution(i)}getMaxScale(){const t=this.map.getProjection().units;return qB(this.getOLLayer())||qB(t)||(this.maxScale_=nL(this.getOLLayer().getMaxResolution(),t)),this.maxScale_}setMaxScale(t){this.maxScale_=t;const e=this.map.getProjection().units,i=eL(t,e);qB(this.getOLLayer())||qB(i)||qB(e)||this.getOLLayer().setMaxResolution(i)}getOpacity(){return qB(this.getOLLayer())||(this.opacity_=this.getOLLayer().getOpacity()),this.opacity_}setOpacity(t){this.opacity_=t,qB(this.getOLLayer())||this.getOLLayer().setOpacity(t)}getOL3Layer(){return this.ol3Layer}getOLLayer(){return this.ol3Layer}setOL3Layer(t){const e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}setOLLayer(t){const e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}getMap(){return this.map}getLegendURL(){return this.legendUrl_}setLegendURL(t){this.legendUrl_=t}getNumZoomLevels(){return M.config.ZOOM_LEVELS}unselectFeatures(t,e,i){}selectFeatures(t,e,i){}};const zd=class{constructor(t,e,i){this.capabilities_=t,this.projection_=i,this.serviceUrl_=e}get capabilities(){return this.capabilities_}get projection(){return this.projection_}get serviceUrl(){return this.serviceUrl_}getLayerExtent(t,e){const i=this.capabilities_.Capability.Layer,n=this.getExtentRecursive_(i,t,e);return this.transformExtent(n)}getExtentRecursive_(t,e,i){let n,r=null;if(!qB(t))if(UB(t))for(n=0;nt.crs===e));if(qB(i)){const e=t.BoundingBox[0];this.capabilitiesProj=e.crs;const i=ee(e.crs),n=ee(this.projection_.code);r=qd.transformExtent(e.extent,i,n)}else this.capabilitiesProj=i.crs,r=i.extent}}else QB(t.Layer)||(r=this.getExtentRecursive_(t.Layer,e,i));return r}getLayers(){const t=this.capabilities_.Capability.Layer;return this.getLayersRecursive_(t)}getLayersRecursive_(t){let e=[];return qB(t.Layer)?UB(t)?t.forEach((t=>{e=e.concat(this.getLayersRecursive_(t))})):e.push(new rf({url:this.serviceUrl_,name:t.Name})):e=this.getLayersRecursive_(t.Layer),e}transformExtent(t){let e=t;if("1.3.0"===this.capabilities_.version&&YB(this.capabilitiesProj)){const i=ee(this.capabilitiesProj).getAxisOrientation();Array.isArray(e)&&"ne"===i.substr(0,2)&&(e=[t[1],t[0],t[3],t[2]])}return e}},Yd="http://www.w3.org/2001/XMLSchema-instance";function jd(t,e){return AA().createElementNS(t,e)}function Hd(t,e){return Xd(t,e,[]).join("")}function Xd(t,e,i){if(t.nodeType==Node.CDATA_SECTION_NODE||t.nodeType==Node.TEXT_NODE)e?i.push(String(t.nodeValue).replace(/(\r\n|\r|\n)/g,"")):i.push(t.nodeValue);else{let n;for(n=t.firstChild;n;n=n.nextSibling)Xd(n,e,i)}return i}function Wd(t){return"documentElement"in t}function Kd(t){return(new DOMParser).parseFromString(t,"application/xml")}function Jd(t,e){return function(i,n){const r=t.call(void 0!==e?e:this,i,n);if(void 0!==r){_s(n[n.length-1],r)}}}function Zd(t,e){return function(i,n){const r=t.call(void 0!==e?e:this,i,n);if(void 0!==r){n[n.length-1].push(r)}}}function $d(t,e){return function(i,n){const r=t.call(void 0!==e?e:this,i,n);void 0!==r&&(n[n.length-1]=r)}}function tA(t,e,i){return function(n,r){const s=t.call(void 0!==i?i:this,n,r);if(void 0!==s){const t=r[r.length-1],i=void 0!==e?e:n.localName;let o;i in t?o=t[i]:(o=[],t[i]=o),o.push(s)}}}function eA(t,e,i){return function(n,r){const s=t.call(void 0!==i?i:this,n,r);if(void 0!==s){r[r.length-1][void 0!==e?e:n.localName]=s}}}function iA(t,e){return function(i,n,r){t.call(void 0!==e?e:this,i,n,r);r[r.length-1].node.appendChild(i)}}function nA(t,e){let i,n;return function(e,r,s){if(void 0===i){i={};const r={};r[e.localName]=t,i[e.namespaceURI]=r,n=rA(e.localName)}cA(i,n,r,s)}}function rA(t,e){return function(i,n,r){const s=n[n.length-1].node;let o=t;void 0===o&&(o=r);return jd(void 0!==e?e:s.namespaceURI,o)}}const sA=rA();function oA(t,e){const i=e.length,n=new Array(i);for(let r=0;r{null!==t&&tp.forEach((i=>{if(n=e,r=i,!(Array.prototype.filter.call(n.children,(t=>t.tagName===r)).length>0)){Array.prototype.filter.call(t.children,(t=>t.tagName===i)).forEach((t=>{const i=t.cloneNode(!0);e.appendChild(i)}))}var n,r}))},ip=(t,e=!0,i={},n=null)=>{let r=i,s=t;if(!0===e&&(s=t.querySelector("Layer")),null!==s){ep(n,s);const t=s.querySelector("Name").innerHTML,e=s.children;Array.prototype.forEach.call(e,(t=>{"Layer"===t.tagName&&(r=ip(t,!1,r,s))})),r[t]=s}return r},np=(t,e)=>{const i=t,n=e[i.Name];if(qB(n))UB(i.Layer)&&i.Layer.forEach((t=>np(t,e)));else{const t=n.querySelector("SRS");if(null!==t){const e=t.innerHTML;i.SRS=[e]}}},rp=(t,e)=>{const i=e[t.Name];if(qB(i))UB(t.Layer)&&t.Layer.forEach((t=>rp(t,e)));else if(UB(t.BoundingBox)){const e=Array.prototype.filter.call(i.children,(t=>"Layer"===t.tagName));let n=Array.prototype.map.call(i.children,(t=>t));n=n.filter((t=>["BoundingBox"].includes(t.tagName))),0===n.length&&e.length>0?e.forEach((e=>rp(t,{[t.Name]:e}))):t.BoundingBox.forEach(((t,e)=>{const i=t;if(null===i.crs){const t=n[e];if(!qB(t)){const e=t.getAttribute("SRS");qB(e)||(i.crs=e)}}}))}},sp=(t,e)=>{const i=t,n=e[t.Name];if(qB(n))UB(t.Layer)&&t.Layer.forEach((t=>sp(t,e)));else{i.ScaleHint=[];let t=Array.prototype.map.call(n.children,(t=>t));t=t.filter((t=>"ScaleHint"===t.tagName)),t.forEach((t=>{const e={minScale:parseFloat(t.getAttribute("min")),maxScale:parseFloat(t.getAttribute("max"))};i.ScaleHint.push(e)}))}},op=(t,e)=>{const i=t,n=e[t.Name];if(qB(n))UB(i.Layer)&&i.Layer.forEach((t=>op(t,e)));else{i.LatLonBoundingBox=[];let t=Array.prototype.map.call(n.children,(t=>t));t=t.filter((t=>"LatLonBoundingBox"===t.tagName)),t.forEach((t=>{const e={crs:"EPSG:4326",extent:[parseFloat(t.getAttribute("minx")),parseFloat(t.getAttribute("miny")),parseFloat(t.getAttribute("maxx")),parseFloat(t.getAttribute("maxy"))]};i.LatLonBoundingBox.push(e)}))}},ap=[np,rp,sp,op,(t,e)=>{const i=t,n="LatLonBoundingBox",r="BoundingBox";qB(i[r])&&!qB(i[n])&&(i[r]=i[n])},(t,e)=>{const i=t,n="MaxScaleDenominator";qB(i[n])&&!qB(i.ScaleHint)&&(i[n]=i.ScaleHint[0].maxScale)},(t,e)=>{const i=t,n="MinScaleDenominator";qB(i[n])&&!qB(i.ScaleHint)&&(i[n]=i.ScaleHint[0].minScale)}],lp=(t,e)=>{UB(t)?t.forEach((t=>{lp(t,e)})):zB(t)&&(((t,e)=>{ap.forEach((i=>{i(t,e)}))})(t,e),lp(t.Layer,e))};const hp=class extends $A{customRead(t){const e=this.read(t),i=ip(t),n=e.Capability;return qB(n)||qB(n.Layer)||lp(n.Layer,i),e}};const cp=class{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.pop()}clear(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const i=this.entries_[t];return go(void 0!==i,"Tried to get a value for a key that does not exist in the cache"),i===this.newest_||(i===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(i.newer.older=i.older,i.older.newer=i.newer),i.newer=null,i.older=this.newest_,this.newest_.newer=i,this.newest_=i),i.value_}remove(t){const e=this.entries_[t];return go(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,i=0;for(e=this.newest_;e;e=e.older)t[i++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,i=0;for(e=this.newest_;e;e=e.older)t[i++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){if(this.containsKey(t))return this.entries_[t].value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){go(!(t in this.entries_),"Tried to set a value for a key that is used already");const i={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=i:this.oldest_=i,this.newest_=i,this.entries_[t]=i,++this.count_}setSize(t){this.highWaterMark=t}};const up=class extends cp{clear(){for(;this.getCount()>0;)this.pop().release();super.clear()}expireCache(t){for(;this.canExpireCache();){if(this.peekLast().getKey()in t)break;this.pop().release()}}pruneExceptNewestZ(){if(0===this.getCount())return;const t=nd(this.peekFirstKey())[0];this.forEach((e=>{e.tileCoord[0]!==t&&(this.remove(id(e.tileCoord)),e.release())}))}},gp="tileloadstart",dp="tileloadend",Ap="tileloaderror";function pp(t){return t?Array.isArray(t)?function(e){return t}:"function"==typeof t?t:function(e){return[t]}:null}const fp=class extends Ks{constructor(t){super(),this.projection=ee(t.projection),this.attributions_=pp(t.attributions),this.attributionsCollapsible_=void 0===t.attributionsCollapsible||t.attributionsCollapsible,this.loading=!1,this.state_=void 0!==t.state?t.state:"ready",this.wrapX_=void 0!==t.wrapX&&t.wrapX,this.interpolate_=!!t.interpolate,this.viewResolver=null,this.viewRejector=null;const e=this;this.viewPromise_=new Promise((function(t,i){e.viewResolver=t,e.viewRejector=i}))}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(t){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(t){this.attributions_=pp(t),this.changed()}setState(t){this.state_=t,this.changed()}};function mp(t){let e=t.getDefaultTileGrid();return e||(e=function(t,e,i,n){const r=Ip(t);return function(t,e,i,n){n=void 0!==n?n:"top-left";const r=yp(t,e,i);return new od({extent:t,origin:tt(t,n),resolutions:r,tileSize:i})}(r,e,i,n)}(t),t.setDefaultTileGrid(e)),e}function _p(t){const e=t||{},i=e.extent||ee("EPSG:3857").getExtent(),n={extent:i,minZoom:e.minZoom,tileSize:e.tileSize,resolutions:yp(i,e.maxZoom,e.tileSize,e.maxResolution)};return new od(n)}function yp(t,e,i,n){e=void 0!==e?e:ea,i=xc(void 0!==i?i:ia);const r=nt(t),s=at(t);n=n>0?n:Math.max(s/i[0],r/i[1]);const o=e+1,a=new Array(o);for(let t=0;ti||i>e.getMaxZoom())return!1;const s=e.getFullTileRange(i);return!s||s.containsXY(n,r)}(t,i)?t:null}clear(){this.tileCache.clear()}refresh(){this.clear(),super.refresh()}updateCacheSize(t,e){const i=this.getTileCacheForProjection(e);t>i.highWaterMark&&(i.highWaterMark=t)}useTile(t,e,i,n){}};function vp(t,e){const i=/\{z\}/g,n=/\{x\}/g,r=/\{y\}/g,s=/\{-y\}/g;return function(o,a,l){if(o)return t.replace(i,o[0].toString()).replace(n,o[1].toString()).replace(r,o[2].toString()).replace(s,(function(){const t=o[0],i=e.getFullTileRange(t);go(i,"The {-y} placeholder requires a tile grid with extent");return(i.getHeight()-o[2]-1).toString()}))}}function xp(t,e){const i=t.length,n=new Array(i);for(let r=0;rthis.getTileInternal(t,e,i,n,s)),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.getInterpolate());return A.key=c,l?(A.interimTile=l,A.refreshInterimChain(),o.replace(h,A)):o.set(h,A),A}getTileInternal(t,e,i,n,r){let s=null;const o=ed(t,e,i),a=this.getKey();if(this.tileCache.containsKey(o)){if(s=this.tileCache.get(o),s.key!=a){const l=s;s=this.createTile_(t,e,i,n,r,a),l.getState()==vh?s.interimTile=l.interimTile:s.interimTile=l,s.refreshInterimChain(),this.tileCache.replace(o,s)}}else s=this.createTile_(t,e,i,n,r,a),this.tileCache.set(o,s);return s}setRenderReprojectionEdges(t){if(this.renderReprojectionEdges_!=t){this.renderReprojectionEdges_=t;for(const t in this.tileCacheForProjection)this.tileCacheForProjection[t].clear();this.changed()}}setTileGridForProjection(t,e){const i=ee(t);if(i){const t=Xs(i);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}clear(){super.clear();for(const t in this.tileCacheForProjection)this.tileCacheForProjection[t].clear()}},Rp=4;function Np(t,e){const i=[];Object.keys(e).forEach((function(t){null!==e[t]&&void 0!==e[t]&&i.push(t+"="+encodeURIComponent(e[t]))}));const n=i.join("&");return t=t.replace(/[?&]$/,""),(t+=t.includes("?")?"&":"?")+n}function Pp(t){return Array.isArray(t)?Math.min(...t):t}const Fp=class extends Fg{constructor(t,e,i,n,r,s,o){let a=t.getExtent();a&&t.canWrapX()&&(a=a.slice(),a[0]=-1/0,a[2]=1/0);let l=e.getExtent();l&&e.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);const h=l?rt(i,l):i,c=qg(t,e,$(h),n),u=new Og(t,e,h,a,.5*c,n),g=u.calculateSourceExtent(),d=ht(g)?null:s(g,c,r),A=d?Cg:Sg,p=d?d.getPixelRatio():1;super(i,n,p,A),this.targetProj_=e,this.maxSourceExtent_=a,this.triangulation_=u,this.targetResolution_=n,this.targetExtent_=i,this.sourceImage_=d,this.sourcePixelRatio_=p,this.interpolate_=o,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){this.state==vg&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const t=this.sourceImage_.getState();if(t==xg){const t=at(this.targetExtent_)/this.targetResolution_,e=nt(this.targetExtent_)/this.targetResolution_;this.canvas_=zg(t,e,this.sourcePixelRatio_,Pp(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_)}this.state=t,this.changed()}load(){if(this.state==Cg){this.state=vg,this.changed();const t=this.sourceImage_.getState();t==xg||t==wg?this.reproject_():(this.sourceListenerKey_=Gs(this.sourceImage_,bs,(function(t){const e=this.sourceImage_.getState();e!=xg&&e!=wg||(this.unlistenSource_(),this.reproject_())}),this),this.sourceImage_.load())}}unlistenSource_(){qs(this.sourceListenerKey_),this.sourceListenerKey_=null}},Dp="imageloadstart",Op="imageloadend",Qp="imageloaderror";class kp extends us{constructor(t,e){super(t),this.image=e}}function Gp(t,e){t.getImage().src=e}function Up(t,e,i,n){const r=e/i,s=$(t),o=vt(at(t)/r,Rp),a=vt(nt(t)/r,Rp);return et(s,r,0,[o+2*vt((n-1)*o/2,Rp),a+2*vt((n-1)*a/2,Rp)])}const qp=class extends fp{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();if(e){t=e[fs(e,t,0)]}return t}getImage(t,e,i,n){const r=this.getProjection();if(!r||!n||ae(r,n))return r&&(n=r),this.getImageInternal(t,e,i,n);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&ae(this.reprojectedImage_.getProjection(),n)&&this.reprojectedImage_.getResolution()==e&&z(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Fp(r,n,t,e,i,((t,e,i)=>this.getImageInternal(t,e,i,r)),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,i,n){if(this.loader){const n=Up(t,e,i,1),r=this.findNearestResolution(e);if(this.image&&(this.static_||(this.wantedExtent_&&D(this.wantedExtent_,n)||D(this.image.getExtent(),n))&&(this.wantedResolution_&&Pp(this.wantedResolution_)===r||Pp(this.image.getResolution())===r)))return this.image;this.wantedExtent_=n,this.wantedResolution_=r,this.image=new Fg(n,r,i,this.loader),this.image.addEventListener(bs,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let i;switch(e.getState()){case vg:this.loading=!0,i=Dp;break;case xg:this.loading=!1,i=Op;break;case wg:this.loading=!1,i=Qp;break;default:return}this.hasListener(i)&&this.dispatchEvent(new kp(i,e))}},Vp="1.3.0";function zp(t,e,i,n,r){r.WIDTH=i[0],r.HEIGHT=i[1];const s=n.getAxisOrientation();let o;const a=wt(r.VERSION,"1.3")>=0;return r[a?"CRS":"SRS"]=n.getCode(),o=a&&"ne"==s.substr(0,2)?[e[1],e[0],e[3],e[2]]:e,r.BBOX=o.join(","),Np(t,r)}function Yp(t,e,i,n,r,s,o){s=Object.assign({REQUEST:"GetMap"},s);const a=e/i,l=[Et(at(t)/a,Rp),Et(nt(t)/a,Rp)];if(1!=i)switch(o){case"geoserver":const t=90*i+.5|0;"FORMAT_OPTIONS"in s?s.FORMAT_OPTIONS+=";dpi:"+t:s.FORMAT_OPTIONS="dpi:"+t;break;case"mapserver":s.MAP_RESOLUTION=90*i;break;case"carmentaserver":case"qgis":s.DPI=90*i;break;default:throw new Error("Unknown `serverType` configured")}return zp(r,t,l,n,s)}function jp(t,e){return Object.assign({REQUEST:e,SERVICE:"WMS",VERSION:Vp,FORMAT:"image/png",STYLES:"",TRANSPARENT:!0},t)}function Hp(t){const e=void 0===t.hidpi||t.hidpi,i=ee(t.projection||"EPSG:3857"),n=t.ratio||1.5,r=t.load||Pg;return(s,o,a)=>{s=Up(s,o,a,n),1==a||e&&void 0!==t.serverType||(a=1);const l=Yp(s,o,a,i,t.url,jp(t.params,"GetMap"),t.serverType),h=new Image;return null!==t.crossOrigin&&(h.crossOrigin=t.crossOrigin),r(h,l).then((t=>({image:t,extent:s,pixelRatio:a})))}}const Xp=class extends Tp{constructor(t){t=t||{};const e=Object.assign({},t.params),i=!("TRANSPARENT"in e)||e.TRANSPARENT;super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,opaque:!i,projection:t.projection,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileClass:t.tileClass,tileGrid:t.tileGrid,tileLoadFunction:t.tileLoadFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.gutter_=void 0!==t.gutter?t.gutter:0,this.params_=e,this.v13_=!0,this.serverType_=t.serverType,this.hidpi_=void 0===t.hidpi||t.hidpi,this.tmpExtent_=[1/0,1/0,-1/0,-1/0],this.updateV13_(),this.setKey(this.getKeyForParams_())}getFeatureInfoUrl(t,e,i,n){const r=ee(i),s=this.getProjection()||r;let o=this.getTileGrid();o||(o=this.getTileGridForProjection(s));const a=ce(t,r,s),l=qg(s,r,t,e),h=o.getZForResolution(l,this.zDirection),c=o.getResolution(h),u=o.getTileCoordForCoordAndZ(a,h);if(o.getResolutions().length<=u[0])return;let g=o.getTileCoordExtent(u,this.tmpExtent_);const d=this.gutter_;0!==d&&(g=R(g,c*d,g));const A={QUERY_LAYERS:this.params_.LAYERS};Object.assign(A,jp(this.params_,"GetFeatureInfo"),n);const p=Math.floor((a[0]-g[0])/c),f=Math.floor((g[3]-a[1])/c);return A[this.v13_?"I":"X"]=p,A[this.v13_?"J":"Y"]=f,this.getRequestUrl_(u,g,1,s||r,A)}getLegendUrl(t,e){if(void 0===this.urls[0])return;const i={SERVICE:"WMS",VERSION:Vp,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(void 0===e||void 0===e.LAYER){const t=this.params_.LAYERS;if(!(!Array.isArray(t)||1===t.length))return;i.LAYER=t}if(void 0!==t){const e=this.getProjection()?this.getProjection().getMetersPerUnit():1,n=28e-5;i.SCALE=t*e/n}return Object.assign(i,e),Np(this.urls[0],i)}getGutter(){return this.gutter_}getParams(){return this.params_}getRequestUrl_(t,e,i,n,r){const s=this.urls;if(!s)return;let o;if(1==s.length)o=s[0];else{o=s[_t(rd(t),s.length)]}return Yp(e,(this.tileGrid||this.getTileGridForProjection(n)).getResolution(t[0]),i,n,o,r,this.serverType_)}getTilePixelRatio(t){return this.hidpi_&&void 0!==this.serverType_?t:1}getKeyForParams_(){let t=0;const e=[];for(const i in this.params_)e[t++]=i+"-"+this.params_[i];return e.join("/")}updateParams(t){Object.assign(this.params_,t),this.updateV13_(),this.setKey(this.getKeyForParams_())}updateV13_(){const t=this.params_.VERSION||Vp;this.v13_=wt(t,"1.3")>=0}tileUrlFunction(t,e,i){let n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(i)),n.getResolutions().length<=t[0])return;1==e||this.hidpi_&&void 0!==this.serverType_||(e=1);const r=n.getResolution(t[0]);let s=n.getTileCoordExtent(t,this.tmpExtent_);const o=this.gutter_;0!==o&&(s=R(s,r*o,s));const a=Object.assign({},jp(this.params_,"GetMap"));return this.getRequestUrl_(t,s,e,i,a)}};class Wp extends Xp{constructor(t={}){const e=t;qB(t.tileLoadFunction)&&(e.tileLoadFunction=Wp.tileLoadFunction),super(e)}changed(){qB(this.tileCache)||this.tileCache.clear(),super.changed()}static tileLoadFunction(t,e){const i=t;i.getImage().src=`${e}&_=${this.revision_}`,null!=M.config.ticket&&(i.getImage().src+=`&ticket=${M.config.ticket}`)}}const Kp=Wp,Jp=[101,101];const Zp=class extends qp{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:t.interpolate,projection:t.projection,resolutions:t.resolutions}),this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null,this.url_=t.url,this.imageLoadFunction_=void 0!==t.imageLoadFunction?t.imageLoadFunction:Gp,this.params_=t.params,this.serverType_=t.serverType,this.hidpi_=void 0===t.hidpi||t.hidpi,this.renderedRevision_=0,this.ratio_=void 0!==t.ratio?t.ratio:1.5}getFeatureInfoUrl(t,e,i,n){if(void 0===this.url_)return;const r=ee(i),s=this.getProjection();s&&s!==r&&(e=qg(s,r,t,e),t=ce(t,r,s));const o=et(t,e,0,Jp),a={QUERY_LAYERS:this.params_.LAYERS};Object.assign(a,jp(this.params_,"GetFeatureInfo"),n);const l=Ct((t[0]-o[0])/e,Rp),h=Ct((o[3]-t[1])/e,Rp),c=wt(a.VERSION,"1.3")>=0;return a[c?"I":"X"]=l,a[c?"J":"Y"]=h,zp(this.url_,o,Jp,s||r,a)}getLegendUrl(t,e){if(void 0===this.url_)return;const i={SERVICE:"WMS",VERSION:Vp,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(void 0===e||void 0===e.LAYER){const t=this.params_.LAYERS;if(!(!Array.isArray(t)||1===t.length))return;i.LAYER=t}if(void 0!==t){const e=this.getProjection()?this.getProjection().getMetersPerUnit():1,n=28e-5;i.SCALE=t*e/n}return Object.assign(i,e),Np(this.url_,i)}getParams(){return this.params_}getImageInternal(t,e,i,n){return void 0===this.url_?null:(this.loader||(this.loader=Hp({crossOrigin:this.crossOrigin_,params:this.params_,projection:n,serverType:this.serverType_,hidpi:this.hidpi_,url:this.url_,ratio:this.ratio_,load:(t,e)=>(this.image.setImage(t),this.imageLoadFunction_(this.image,e),Pg(t))})),super.getImageInternal(t,e,i,n))}getImageLoadFunction(){return this.imageLoadFunction_}getUrl(){return this.url_}setImageLoadFunction(t){this.imageLoadFunction_=t,this.changed()}setUrl(t){t!=this.url_&&(this.url_=t,this.loader=null,this.changed())}updateParams(t){Object.assign(this.params_,t),this.changed()}changed(){this.image=null,super.changed()}};const $p=class extends Zp{constructor(t={}){const e=t;super(e),this.imageLoadFunction_=e.imageLoadFunction||this.imageLoadFunction}changed(){super.changed()}imageLoadFunction(t,e){const i=t;i.getImage().src=`${e}&_=${this.revision_}`,null!=M.config.ticket&&(i.getImage().src+=`&ticket=${M.config.ticket}`)}};class tf extends Vd{constructor(t={},e){super(t,e),this.facadeLayer_=null,this.options=t,this.layers=[],this.displayInLayerSwitcher_=!0,this.getCapabilitiesPromise=null,this.extentPromise=null,this.extent=null,this.resolutions_=null,this.extentProj_=null,!1===this.options.visibility&&(this.visibility=!1),qB(this.tiled)&&(this.tiled=!0!==this.options.singleTile),qB(this.options.numZoomLevels)&&(this.options.numZoomLevels=M.config.ZOOM_LEVELS),qB(this.options.animated)&&(this.options.animated=!1),this.styles=this.options.styles||"",this.sldBody=t.sldBody,this.zIndex_=uf.Z_INDEX[Nu]}setVisible(t){if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((t=>!t.equals(this)&&t.isVisible())).forEach((t=>t.setVisible(!1))),qB(this.ol3Layer)||this.ol3Layer.setVisible(t);const e=this.map.getZoom();this.map.getImpl().updateResolutionsFromBaseLayer(),qB(e)||this.map.setZoom(e)}else qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}isQueryable(){return!1!==this.options.queryable}addTo(t){if(this.map=t,this.fire(kc),!GB(this.options)&&!GB(this.options.minScale)&&!GB(this.options.maxScale)){const t=this.map.getProjection().units;this.options.minResolution=eL(this.options.minScale,t),this.options.maxResolution=eL(this.options.maxScale,t)}qB(this.name)?this.addAllLayers_():this.addSingleLayer_(),this.legendUrl_===aL([M.config.THEME_URL,_g.LEGEND_DEFAULT])&&(this.legendUrl_=KB(this.url,{SERVICE:"WMS",VERSION:this.version,REQUEST:"GetLegendGraphic",LAYER:this.name,FORMAT:"image/png",STYLE:this.styles[0]||"",SLD_VERSION:"1.1.0"}))}setResolutions(t){this.resolutions_=t,this.facadeLayer_.calculateMaxExtent().then((e=>{if(!qB(this.ol3Layer)){const i=this.options.minResolution,n=this.options.maxResolution,r=this.createOLSource_(t,i,n,e);this.ol3Layer.setSource(r),this.ol3Layer.setExtent(e)}}))}addSingleLayer_(){this.facadeLayer_.calculateMaxExtent().then((t=>{const e=this.options.minResolution,i=this.options.maxResolution,n=this.opacity_,r=this.zIndex_,s=this.visibility&&!1!==this.options.visibility;let o=this.map.getResolutions();if(qB(o)&&!qB(this.resolutions_))o=this.resolutions_;else if(qB(o)){const n=this.getNumZoomLevels(),r=this.map.getMapImpl().getSize(),s=this.map.getProjection().units;o=qB(e)||qB(i)?iL(t,r,n,s):tL(e,i,n)}const a=this.createOLSource_(o,e,i,t);!0===this.tiled?this.ol3Layer=new Kg(hL({visible:s,source:a,extent:t,minResolution:e,maxResolution:i,opacity:n,zIndex:r},this.vendorOptions_,!0)):this.ol3Layer=new $g(hL({visible:s,source:a,extent:t,minResolution:e,maxResolution:i,opacity:n,zIndex:r},this.vendorOptions_,!0)),this.map.getMapImpl().addLayer(this.ol3Layer),this.facadeLayer_.fire(su),this.isVisible()&&!this.inRange()?this.setVisible(!1):this.setVisible(this.visibility),null!==r&&this.setZIndex(r),null!==this.resolutions_&&this.setResolutions(this.resolutions_);const l=!1===this.transparent||!0===this.options.animated;this.ol3Layer.set("animated",l)}))}createOLSource_(t,e,i,n){let r=this.vendorOptions_.source;if(qB(this.vendorOptions_.source)){const s=this.options.crossOrigin,o={LAYERS:this.name,TILED:!0,VERSION:this.version,TRANSPARENT:this.transparent,FORMAT:"image/png",STYLES:this.styles};qB(this.sldBody)||(o.SLD_BODY=this.sldBody),qB(this.options.params)||Object.keys(this.options.params).forEach((t=>{o[t.toUpperCase()]=this.options.params[t]}));const a=this.opacity_,l=this.zIndex_;if(!0===this.tiled){const h=J(n),c={url:this.url,tileGrid:new od({resolutions:t,extent:n,origin:h}),extent:n,minResolution:e,maxResolution:i,opacity:a,zIndex:l};QB(s)||(c.crossOrigin=s),r=new Kp(c),r.updateParams(o)}else{const h={url:this.url,resolutions:t,extent:n,minResolution:e,maxResolution:i,opacity:a,zIndex:l,params:{}};QB(s)||(h.crossOrigin=s),r=new $p(h),r.updateParams(o)}}return r}addAllLayers_(){this.getCapabilities().then((t=>{t.getLayers().forEach((t=>{const e=new rf({url:this.url,name:t.name,version:t.version,tiled:this.tiled},this.vendorOptions_);this.layers.push(e)})),this.map.addWMS(this.layers);let e=this.layers.length;this.layers.forEach((t=>{t.setZIndex(uf.Z_INDEX[Nu]+e),e+=1}))}))}getExtent(){const t=ee(this.map.getProjection().code);return this.extentPromise=new Promise(((e,i)=>{qB(this.extent_)?this.getCapabilities().then((i=>{this.extent_=i.getLayerExtent(this.name),this.extentProj_=t,e(this.extent_)})):(this.extent_=qd.transformExtent(this.extent_,this.extentProj_,t),this.extentProj_=t,e(this.extent_))})),this.extentPromise}getMinResolution(){return this.options.minResolution}getMaxResolution(){return this.options.maxResolution}updateMinMaxResolution(t){qB(this.options.minResolution)||(this.options.minResolution=eL(this.options.minScale,t.units),this.ol3Layer.setMinResolution(this.options.minResolution)),qB(this.options.maxResolution)||(this.options.maxResolution=eL(this.options.maxScale,t.units),this.ol3Layer.setMaxResolution(this.options.maxResolution))}setMaxExtent(t){const e=this.options.minResolution,i=this.options.maxResolution,n=this.getOLLayer();if(!qB(n)&&(n.setExtent(t),!0===this.tiled)){let r=this.map.getResolutions();if(qB(r)&&!qB(this.resolutions_)&&(r=this.resolutions_),!qB(r)){const s=this.createOLSource_(r,e,i,t);n.setSource(s)}}}getNumZoomLevels(){return this.options.numZoomLevels}getLayers(){return this.layers}getCapabilities(){if(qB(this.getCapabilitiesPromise)){const t=this.url,e=this.version,i=this.map.getProjection(),n=this.map.getTicket();this.getCapabilitiesPromise=new Promise(((r,s)=>{const o=ZB(t,e,n);DB(o).then((e=>{if("xml"in e&&!qB(e.xml)){const n=e.xml,s=(new hp).customRead(n),o=new zd(s,t,i);r(o)}else DB(o,"",{ticket:!1}).then((e=>{const n=e.xml,s=(new hp).customRead(n),o=new zd(s,t,i);r(o)}))}))}))}return this.getCapabilitiesPromise}getLegendCapabilities(){return this.getCapabilities().then((t=>{let e="",i=t.capabilities.Capability.Layer.Layer;return i=i.length>1?i.find((t=>t.Name===this.name)):1===i.length&&i[0].Name!==this.name?i[0].Layer.find((t=>t.Name===this.name)):i[0],QB(i.Style)||QB(i.Style[0].LegendURL)||QB(i.Style[0].LegendURL[0].OnlineResource)||(e=i.Style[0].LegendURL[0].OnlineResource),e}))}getLegendURL(){return this.legendUrl_}setLegendURL(t){this.legendUrl_=t}refresh(){const t=this.getOLLayer();qB(t)||t.getSource().updateParams({time:Date.now()})}getExtentFromCapabilities(t){const e=this.facadeLayer_.name,i=this.map.getProjection().code;return t.getLayerExtent(e,i)}setFacadeObj(t){this.facadeLayer_=t}getStyles(){return this.getOLLayer().getSource().getParams().STYLES}setStyles(t){const e=this.getOLLayer();qB(e)||e.getSource().updateParams({STYLES:t})}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),qB(this.layers)||(this.layers.map(this.map.removeLayers,this.map),this.layers.length=0)}equals(t){let e=!1;return t instanceof tf&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}cloneOLLayer(){let t=null;if(null!=this.ol3Layer){const e=this.ol3Layer.getProperties();t=!0===this.tiled?new Kg(e):new $g(e)}return t}}tf.LEGEND_IMAGE=null;const ef=tf;class nf extends _g{constructor(t,e={},i){QB(ef)&&Oc(Cu("exception").wms_method),qB(t)&&Oc(Cu("exception").no_param);const n=fg(t,Nu),r=n.styles||"";qB(r)||Object.defineProperty(e,"styles",{value:r,writable:!0});super(n,new ef(e,i)),this.legend=n.legend,this.cql=n.cql,this.version=n.version,qB(n.tiled)||(this.tiled=n.tiled),this.transparent=n.transparent,this.styles=r,this.options=e,this.wmcParent_=null,this.getCapabilitiesPromise_=null,this._updateNoCache()}get type(){return Nu}set type(t){QB(t)||qB(t)||t===Nu||Oc("El tipo de capa debe ser '".concat(Nu).concat("' pero se ha especificado '").concat(t).concat("'"))}get legend(){return this.getImpl().legend}set legend(t){qB(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}get tiled(){return this.getImpl().tiled}set tiled(t){qB(t)?this.getImpl().tiled=!0:YB(t)?this.getImpl().tiled="true"===XB(t):this.getImpl().tiled=t}get cql(){return this.getImpl().cql}set cql(t){this.getImpl().cql=t}get version(){return this.getImpl().version}set version(t){qB(t)?this.getImpl().version="1.3.0":this.getImpl().version=t}getStyles(){return this.getImpl().getStyles()}setStyles(t){this.styles=t,this.getImpl().setStyles(t)}get options(){return this.getImpl().options}set options(t){this.getImpl().options=t}getMaxExtent(t){let e;if(qB(this.userMaxExtent))if(qB(this.options.wmcMaxExtent))if(qB(this.map_.userMaxExtent)){const e=this.map_.getWMC().find((t=>t.selected));qB(e)?this.getCapabilities().then((e=>{const i=this.getImpl().getExtentFromCapabilities(e);if(qB(i)){const t=this.map_.getProjection().getExtent();this.maxExtent_=t}else this.maxExtent_=i;VB(t)&&t(this.maxExtent_)})):e.calculateMaxExtent().then((e=>{this.maxExtent_=e,VB(t)&&t(this.maxExtent_)}))}else this.maxExtent_=this.map_.userMaxExtent,e=this.maxExtent_;else this.maxExtent_=this.options.wmcMaxExtent,e=this.maxExtent_;else e=this.userMaxExtent;return!qB(e)&&VB(t)?t(e):qB(e)&&(e=this.maxExtent_),e}calculateMaxExtent(){return new Promise((t=>this.getMaxExtent(t)))}getCapabilities(){return qB(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}getLegendCapabilities(){return this.getImpl().getLegendCapabilities()}getNoCacheUrl(){return this._noCacheUrl}getNoCacheName(){return this._noCacheName}setWMCParent(t){this.wmcParent_=t}getWMCParent(){return this.wmcParent_}updateMinMaxResolution(t){return this.getImpl().updateMinMaxResolution(t)}_updateNoCache(){const t=M.config.tileMappgins.tiledNames.indexOf(this.name);-1!==t&&gL(M.config.tileMappgins.tiledUrls[t],this.url)&&(this._noCacheUrl=M.config.tileMappgins.urls[t],this._noCacheName=M.config.tileMappgins.names[t])}equals(t){let e=!1;return t instanceof nf&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}}const rf=nf;const sf=class extends dl{constructor(t){super(t),this.userZoom_=null}setUserZoom(t){this.userZoom_=t,qB(t)||this.setZoom(t)}getUserZoom(){return this.userZoom_}setProjection(t){this.projection_=t}getResolutions(){return this.get("resolutions")}setResolutions(t){this.set("resolutions",t),this.maxResolution_=t[0],this.minResolution_=t[t.length-1],this.setCenter(this.getCenter()),this.applyOptions_({minZoom:this.minZoom_,resolutions:t,zoomFactor:this.zoomFactor_,minResolution:this.minResolution_,maxResolution:this.maxResolution_,projection:this.projection_,center:this.getCenter(),constrainResolution:!0,multiWorld:!0}),qB(this.userZoom_)||this.setZoom(this.userZoom_)}},of=[],af=[],lf=[],hf=[Nu,Du,Ou,Fu,Gu];class cf extends Mc{constructor(t,e,i={}){super(),this.facadeMap_=e,this.layers_=[],this.layerGroups_=[],this.controls_=[],this.initZoom_=!0,this.userResolutions_=null,this.userBbox_=null,this.maxExtentForResolutions_=null,this.envolvedMaxExtent_=null,this._calculatedResolutions=!1,this._resolutionsEnvolvedExtent=!1,this._resolutionsBaseLayer=!1,this.label=[],this.map_=new bc({controls:[],target:t.id,view:new sf}),this.registerEvents_(),this.map_.addInteraction(new Dh({handleEvent:t=>("pointermove"===t.type&&this.onMapMove_(t),!0)}));const n=this.map_.getInteractions().getArray();this.mouseWheelZoom_=n.find((t=>t instanceof _c)),this.dragPan_=n.find((t=>t instanceof ec))}getLayers(t){const e=this.getWMC(t),i=this.getKML(t),n=this.getWMS(t),r=this.getWFS(t),s=this.getWMTS(t),o=this.getMVT(t),a=this.getUnknowLayers_(t),l=of.map((e=>this[e](t)));return e.concat(i).concat(n).concat(r).concat(s).concat(o).concat(a).concat(l)}getBaseLayers(){return this.getLayers().filter((t=>{let e=!1;return hf.includes(t.type)&&(e=!0!==t.transparent),e}))}addLayers(t){const e=t.filter((t=>!Vu(t.type))),i=t.filter((t=>Vu(t.type)));return this.addUnknowLayers_(e),this.facadeMap_.addWMC(i.filter((t=>t.type===Tu))),this.facadeMap_.addWMS(i.filter((t=>t.type===Nu))),this.facadeMap_.addWMTS(i.filter((t=>t.type===Fu))),this.facadeMap_.addKML(i.filter((t=>t.type===Ru))),this.facadeMap_.addWFS(i.filter((t=>t.type===Pu))),this.facadeMap_.addMVT(i.filter((t=>t.type===Gu))),lf.forEach((t=>t(e))),this}removeLayers(t){const e=t.filter((t=>!Vu(t.type))),i=t.filter((t=>Vu(t.type)));i.length>0&&(this.removeWMC(i),this.removeKML(i),this.removeWMS(i),this.removeWFS(i),this.removeWMTS(i),this.removeMVT(i)),e.length>0&&(this.removeUnknowLayers_(e),af.forEach((t=>t(e)))),t.forEach((t=>{if(t.getLayerGroup&&!qB(t.getLayerGroup())){t.getLayerGroup().deleteChild(t)}}));return Array.isArray(this.getBaseLayers())&&this.getBaseLayers().length>0||(this._resolutionsBaseLayer=!1),this.facadeMap_.fire(Hc,[t]),this}getLayerGroups(){return this.layerGroups_}getGroupedLayers(){let t=[];const e=this.getLayerGroups();return 1===e.length?t=e[0].getAllLayers():e.length>1&&(t=e.reduce(((t,e)=>Array.isArray(t)?t.concat(e.getAllLayers()):t.getAllLayers().concat(e.getAllLayers())))),t}addLayerGroups(t){return t.forEach((t=>{t.addTo(this.facadeMap_),lL(this.layerGroups_,t)||(this.layerGroups_.push(t),t.getAllLayers().forEach((t=>{this.facadeMap_.addLayers(t)})))})),this}removeLayerGroups(t){let e=[];return e=Array.isArray(t)?[...t]:[t],e.forEach((t=>{this.layerGroups_.remove(t),t.destroy(),t.fire(Xc,[t])})),this}getWMC(t){let e=t,i=[];const n=this.layers_.filter((t=>t.type===Tu));return qB(e)&&(e=[]),UB(e)||(e=[e]),0===e.length?i=n:e.forEach((t=>{i=i.concat(n.filter((e=>{let n=!0;return i.includes(e)?n=!1:(qB(t.type)||(n=n&&t.type===e.type),qB(t.url)||(n=n&&t.url===e.url),qB(t.name)||(n=n&&t.name===e.name)),n})))}),this),i}addWMC(t){return t.forEach(((t,e)=>{t.type===Tu&&(lL(this.layers_,t)||(t.setZIndex(cf.Z_INDEX[Tu]),t.getImpl().addTo(this.facadeMap_),this.layers_.push(t)))}),this),this}removeWMC(t){return this.getWMC(t).forEach((t=>{!0===t.selected&&!1===t.isLoaded()?t.on(su,(()=>{this.layers_=this.layers_.filter((e=>!e.equals(t))),this.facadeMap_.removeWMS(t.layers),this.facadeMap_.refreshWMCSelectorControl()})):(this.layers_=this.layers_.filter((e=>!e.equals(t))),this.facadeMap_.removeWMS(t.layers)),this.facadeMap_.refreshWMCSelectorControl(),t.fire(Xc,[t])}),this),this}getKML(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Ru));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name),qB(t.extract)||(n=n&&t.extract===i.extract)),n}));e=e.concat(i)}),this),e}addKML(t){const e=this.getBaseLayers().length>0;return t.forEach((t=>{if(t.type===Ru&&!lL(this.layers_,t)){if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[Ru];t.setZIndex(e)}e||this.updateResolutionsFromBaseLayer()}}),this),this}removeKML(t){return this.getKML(t).forEach((t=>{this.layers_=this.layers_.filter((e=>!t.equals(e))),t.getImpl().destroy(),t.fire(Xc,[t])}),this),this}getWMS(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Nu));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:t instanceof rf?n=t===i:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name),qB(t.legend)||(n=n&&t.legend===i.legend),qB(t.transparent)||(n=n&&t.transparent===i.transparent),qB(t.tiled)||(n=n&&t.tiled===i.tiled),qB(t.cql)||(n=n&&t.cql===i.cql),qB(t.version)||(n=n&&t.version===i.version)),n}));e=e.concat(i)}),this),e}addWMS(t){let e=this.getBaseLayers().length>0;const i=[];t.forEach((t=>{if(t.type===Nu&&!lL(this.layers_,t))if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),i.push(t),!0!==t.transparent)t.setVisible(!e),e=!0,t.setZIndex(cf.Z_INDEX_BASELAYER);else if(null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[Nu];t.setZIndex(e)}}));return(i.length>0&&!e||i.some((t=>!0!==t.transparent&&t.isVisible())))&&this.updateResolutionsFromBaseLayer(),this}removeWMS(t){return this.getWMS(t).forEach((t=>{if(this.layers_=this.layers_.filter((e=>!t.equals(e))),t.getImpl().destroy(),t.fire(Xc,[t]),!0!==t.transparent){const t=this.facadeMap_.getBaseLayers();t.length>0&&t[0].setVisible(!0)}})),this}getGeoJSON(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Qu));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name),qB(t.legend)||(n=n&&t.legend===i.legend)),n}));e=e.concat(i)})),e}getWFS(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Pu));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name),qB(t.namespace)||(n=n&&t.namespace===i.namespace),qB(t.legend)||(n=n&&t.legend===i.legend),qB(t.cql)||(n=n&&t.cql===i.cql),qB(t.geometry)||(n=n&&t.geometry===i.geometry),qB(t.ids)||(n=n&&t.ids===i.ids),qB(t.version)||(n=n&&t.version===i.version)),n}));e=e.concat(i)})),e}addWFS(t){const e=this.getBaseLayers().length>0;return t.forEach((t=>{if(t.type===Pu&&!lL(this.layers_,t)){if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),t.setZIndex(t.getZIndex()),null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[Pu];t.setZIndex(e)}e||this.updateResolutionsFromBaseLayer()}})),this}removeWFS(t){return this.getWFS(t).forEach((t=>{this.layers_=this.layers_.filter((e=>!e.equals(t))),t.getImpl().destroy(),t.fire(Xc,[t])})),this}getWMTS(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Fu));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name),qB(t.matrixSet)||(n=n&&t.matrixSet===i.matrixSet),qB(t.legend)||(n=n&&t.legend===i.legend)),n}));e=e.concat(i)})),e}addWMTS(t){let e=this.getBaseLayers().length>0;return t.forEach((t=>{if(t.type===Fu&&!lL(this.layers_,t))if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),!0!==t.transparent){t.getImpl().visibility=!e,e=!0,t.isVisible()&&this.updateResolutionsFromBaseLayer(),t.setZIndex(cf.Z_INDEX_BASELAYER)}else{if(null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[Fu];t.setZIndex(e)}e||this.updateResolutionsFromBaseLayer()}})),this}removeWMTS(t){return this.getWMTS(t).forEach((t=>{if(this.layers_=this.layers_.filter((e=>!e.equals(t))),t.getImpl().destroy(),t.fire(Xc,[t]),!0!==t.transparent){const t=this.facadeMap_.getBaseLayers();t.length>0&&t[0].setVisible(!0)}})),this}getUnknowLayers_(t){let e=[],i=t;const n=this.layers_.filter((t=>!Vu(t.type)));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:t instanceof _g?n=t.equals(i):(qB(t.type)||(n=n&&t.type===i.type),qB(t.name)||(n=n&&t.name===i.name)),n}));e=e.concat(i)})),e}addUnknowLayers_(t){let e=this.getBaseLayers().length>0;return t.forEach((t=>{if(!lL(this.layers_,t))if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),!0!==t.transparent)t.setVisible(!e),e=!0,t.isVisible()&&this.updateResolutionsFromBaseLayer(),t.setZIndex(cf.Z_INDEX_BASELAYER);else{if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[t.type];t.setZIndex(e)}e||-1!==t.name.indexOf("cluster_cover_")||this.updateResolutionsFromBaseLayer()}})),this}removeUnknowLayers_(t){t.forEach((t=>{if(lL(this.layers_,t)&&(this.layers_=this.layers_.filter((e=>!e.equals(t))),t.getImpl().destroy(),t.fire(Xc,[t]),!0!==t.transparent)){const t=this.facadeMap_.getBaseLayers();t.length>0&&t[0].setVisible(!0)}}))}getMVT(t){let e=[],i=t;const n=this.layers_.filter((t=>t.type===Gu));return qB(i)&&(i=[]),UB(i)||(i=[i]),0===i.length?e=n:i.forEach((t=>{const i=n.filter((i=>{let n=!0;return e.includes(i)?n=!1:(qB(t.type)||(n=n&&t.type===i.type),qB(t.url)||(n=n&&t.url===i.url),qB(t.name)||(n=n&&t.name===i.name)),n}));e=e.concat(i)})),e}removeMVT(t){return this.getMVT(t).forEach((t=>{this.layers_=this.layers_.filter((e=>!e.equals(t))),t.getImpl().destroy(),t.fire(Xc,[t])})),this}addMVT(t){let e=this.getBaseLayers().length>0;const i=[];return t.forEach((t=>{if(t.type===Gu&&!lL(this.layers_,t)){if(t.getImpl().addTo(this.facadeMap_),this.layers_.push(t),i.push(t),!0!==t.transparent)t.setVisible(!e),e=!0,t.setZIndex(cf.Z_INDEX_BASELAYER);else if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){const e=this.layers_.length+cf.Z_INDEX[Gu];t.setZIndex(e)}(i.length>0&&!e||i.some((t=>!0!==t.transparent&&t.isVisible())))&&this.updateResolutionsFromBaseLayer()}})),this}getControls(t){let e=t,i=[],n=this.facadeMap_.getPanels().map((t=>t.getControls()));n.length>0&&(n=n.reduce(((t,e)=>t.concat(e))));const r=this.controls_.concat(n);qB(e)&&(e=[]),UB(e)||(e=[e]),0===e.length?i=r:e.forEach((t=>{i=i.concat(r.filter((e=>{let n=!1;return lL(i,e)||(YB(t)?n=t===e.name:t instanceof vu?n=t===e:zB(t)&&(n=t.name===e.name)),n})))}));const s=[];return i.forEach((t=>{s.map((t=>t.name)).includes(t.name)||s.push(t)})),s}addControls(t){return t.forEach((t=>{t instanceof Mu&&this.facadeMap_.addControls("panzoom"),lL(this.controls_,t)||this.controls_.push(t)})),this}removeControls(t){return this.getControls(t).forEach((t=>{qB(this.map_)||this.map_.removeControl(t.getImpl()),t.destroy(),this.controls_=this.controls_.filter((e=>{let i=e.constructor===t.constructor;return qB(e.equals)||(i=!e.equals(t)),i}))})),this}setMaxExtent(t,e){let i=t;qB(i)||UB(i)||!zB(i)||(i=[t.x.min,t.y.min,t.x.max,t.y.max]);return this.getMapImpl().getView().set("extent",i),this.updateResolutionsFromBaseLayer(),qB(i)||!1===e||this.setBbox(i),this}getMaxExtent(){let t;const e=this.getMapImpl().getView().get("extent");return t=qB(e)?this.envolvedMaxExtent_:{x:{min:e[0],max:e[2]},y:{min:e[1],max:e[3]}},t}setBbox(t,e){let i;qB(t)&&Oc(Cu("exception").no_bbox),this.userBbox_=t,UB(t)?i=t:zB(t)&&(i=[t.x.min,t.y.min,t.x.max,t.y.max]);const n=this.getMapImpl();return n.updateSize(),n.getView().fit(i,e),this}getBbox(){let t=null;const e=this.getMapImpl(),i=e.getView();if(!qB(i.getCenter())){const n=i.calculateExtent(e.getSize());qB(n)||(t={x:{min:n[0],max:n[2]},y:{min:n[1],max:n[3]}})}return t}setZoom(t){return qB(t)&&Oc(Cu("exception").no_zoom),this.getMapImpl().getView().setUserZoom(t),this}getZoom(){let t=null;const e=this.getMapImpl().getView(),i=e.getResolution(),n=this.getResolutions();if(qB(n))qB(i)||(t=e.getZoomForResolution(i));else for(let e=0,r=n.length;eMath.abs(t-i))),r=n.indexOf(Math.min(...n));l=t[r]}}else l=t[s];a.setResolution(l),n.setView(a);return this.getWMS().forEach((e=>{e.getImpl().setResolutions(t)})),this}getScale(){const t=this.getMapImpl().getView().getResolution(),e=this.getProjection().units;let i=nL(t,e);return qB(i)||(i=i>=1e3&&i<=95e4?1e3*Math.round(i/1e3):i>=95e4?1e6*Math.round(i/1e6):Math.round(i)),i}getExactScale(){const t=this.getMapImpl().getView().getResolution(),e=this.getProjection().units,i=nL(t,e);return Math.trunc(i)}setProjection(t){qB(t)&&Oc(Cu("exception").no_projection);let e=ee(t.code);qB(e)&&(e=new u(t));const i=ee(this.getProjection().code);let n=this.facadeMap_.getBbox();const r=this.getMapImpl(),s=r.getView().getUserZoom(),o=new sf({projection:e});if(o.setUserZoom(s),r.setView(o),this.facadeMap_.getWMS().forEach((e=>{e.updateMinMaxResolution(t)})),this.updateResolutionsFromBaseLayer(),!qB(n)){UB(n)||(n=[n.x.min,n.y.min,n.x.max,n.y.max]);let t=qd.transformExtent(n,i,e);t.includes(NaN)&&(t=e.getExtent()),this.facadeMap_.setBbox(t,{nearest:!0})}return this}getProjection(){const t=this.getMapImpl().getView().getProjection();let e=null;return qB(t)||(e={code:t.getCode(),units:t.getUnits(),getExtent:()=>t.getExtent()}),e}getMapImpl(){return this.map_}removePopup(t){if(!qB(t)){const e=t.getImpl();this.getMapImpl().removeOverlay(e),t.fire(mu,[t]),this.facadeMap_.fire(mu,[t])}return this}destroy(){this.layers_.length=0,this.controls_.length=0,this.popup_=null,this.options_=null,this.map_.setTarget(null),this.map_=null}updateResolutionsFromBaseLayer(){let t=[],e=M.config.ZOOM_LEVELS;const i=this.getProjection().units,n=this.getBaseLayers().filter((t=>t.isVisible()))[0];let r=null,s=null;qB(n)||(s=void 0!==n.getImpl().getMinResolution?n.getImpl().getMinResolution():null,r=void 0!==n.getImpl().getMaxResolution?n.getImpl().getMaxResolution():null,e=n.getImpl().getNumZoomLevels()),null===this.userResolutions_&&(qB(s)||qB(r)?this.facadeMap_.calculateMaxExtent().then((n=>{if(!this._resolutionsBaseLayer&&null===this.userResolutions_){this.getMapImpl().updateSize();const r=this.getMapImpl().getSize();t=iL(n,r,e,i),this.setResolutions(t,!0),this._resolutionsEnvolvedExtent=!0,!1===this._calculatedResolutions&&(this._calculatedResolutions=!0,this.fire(ou))}})).catch((t=>{throw t})):(t=tL(s,r,e),this.setResolutions(t,!0),this._resolutionsBaseLayer=!0,!1===this._calculatedResolutions&&(this._calculatedResolutions=!0,this.fire(ou))))}addLabel(t,e){return this.label.push(t),t.show(this.facadeMap_,e),this}getLabel(){return this.label[0]}getLabels(){return this.label}removeLabel(t){let e=t;qB(this.label)||(qB(t)?(this.label.forEach((t=>this.removePopup(t.getPopup()))),this.label=[]):(UB(t)||(e=[t]),e.forEach((t=>{const e=this.label.findIndex((e=>e.text===t.text&&e.coord===t.coord));-1!==e&&(this.removePopup(this.label[e].getPopup()),this.label.splice(e,1))}))))}refresh(){return this.map_.updateSize(),this}getContainer(){return this.map_.getOverlayContainerStopEvent()}setFacadeMap(t){this.facadeMap_=t}registerEvents_(){this.facadeMap_.on(ou,(()=>{this.map_.updateSize()})),this.map_.on("singleclick",this.onMapClick_.bind(this)),this.map_.getView().on("change:resolution",this.zoomEvent_.bind(this)),this.map_.on("change:view",(t=>{t.oldValue.un("change:resolution",this.zoomEvent_.bind(this)),this.map_.getView().on("change:resolution",this.zoomEvent_.bind(this))}))}zoomEvent_(t){this.getZoom()<=t.target.getZoom()&&this.facadeMap_.fire(uu,t)}onMapClick_(t){const e=t.pixel,i=this.map_.getCoordinateFromPixel(e),n=this.facadeMap_.getLabel();qB(n)||n.hide(),this.facadeMap_.fire(Au,[{pixel:e,coord:i,vendor:t}])}onMapMove_(t){const e=t.pixel,i=this.map_.getCoordinateFromPixel(e);this.facadeMap_.fire(pu,[{pixel:e,coord:i,vendor:t}])}getRotation(){let t;const e=this.map_.getView();return qB(e)||(t=e.getRotation()),t}setRotation(t){const e=this.map_.getView();qB(e)||e.setRotation(t)}static registerExternalFunction(t,e){const i={getLayers:of,addLayers:lf,removeLayers:af}[e];i.find((e=>e===t))&&i.push(t)}static registerBaseLayerType(t){!hf.find((e=>e===t))&&hf.push(t)}enableMouseWheel(t=!0){qB(this.mouseWheelZoom_)||this.mouseWheelZoom_.setActive(t)}enableDrag(t=!0){qB(this.dragPan_)||this.dragPan_.setActive(t)}getImageMap(){const t=this.map_.getViewport().querySelectorAll(".ol-layer canvas, canvas.ol-layer")[0];let e=null;if(!QB(t))try{e=t.toDataURL()}catch(t){throw t}return e}setToClosestScale(t){this.getMapImpl().getView().setResolution(t)}}cf.Z_INDEX={},cf.Z_INDEX_BASELAYER=0,cf.Z_INDEX[Tu]=1,cf.Z_INDEX[Nu]=1e3,cf.Z_INDEX[Fu]=2e3,cf.Z_INDEX[Du]=2e3,cf.Z_INDEX[Ou]=2e3,cf.Z_INDEX[Ru]=3e3,cf.Z_INDEX[Pu]=9999,cf.Z_INDEX[ku]=9999,cf.Z_INDEX[Gu]=9999,cf.Z_INDEX[Qu]=9999;const uf=cf;var gf=i(93),df=i.n(gf);const Af=class extends Lh{constructor(){super({}),this.facadeMap_=null}addTo(t,e){this.facadeMap_=t,this.element=e,t.getMapImpl().addControl(this)}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}getElement(){return this.element}};const pf=class extends Af{addTo(t,e){e.getElementsByTagName("select")[0].addEventListener("change",(e=>{const i=t.getWMC(e.target.options[e.target.selectedIndex].text)[0],n=t.getZoom();i.select(),t.setZoom(n)})),super.addTo(t,e)}};class ff extends vu{constructor(){super(new pf,ff.NAME),QB(pf)&&Oc(Cu("exception").wmcselector_method)}createView(t){return bu(df(),{vars:{layers:t.getWMC(),title:Cu("wmcselector").title}})}equals(t){let e=!1;return t instanceof ff&&(e=this.name===t.name),e}destroy(){super.destroy();const t=this.getPanel();qB(t)||t.removeClassName("m-with-wmcselector")}}ff.NAME="wmcselector";const mf=ff;var _f=i(582),yf=i.n(_f);const If=class extends Mc{constructor(t,e,i){super(),this.id_=t,this.title_=e,this.order_=i,this.zindex_=null}};class Ef extends Mc{constructor(t){const e={...t};qB(e.id)&&(e.id=JB("mapea_layer_group_")),qB(e.title)&&(e.title="Grupo de capas"),qB(e.zIndex)&&(e.zIndex=1e4),qB(e.order)&&(e.order=0);const i=new If(e);super(i),this.id=e.id,this.title=e.title,this.collapsed=!!e.collapsed,this.order=e.order,this.parent=null,this.children_=[],this.impl_=i,this.zIndex_=e.zIndex,Array.isArray(e.children)&&this.addChildren(e.children)}addTo(t){this.map=t,this.children_.forEach((e=>{e instanceof Ef&&e.addTo(t)})),this.fire(kc)}setVisible(t){this.getAllLayers().forEach((e=>!0===e.transparent&&e.setVisible(t)))}setZIndex(t){this.zIndex_=t;const e=[...this.getChildren()].reverse();let i=t;e.forEach((t=>{t.setZIndex(i),i+=1}))}getZIndex(t){return this.zIndex_}addChild(t,e){let i=this.getZIndex()+this.children_.length;const n=t;qB(e)?this.children_.unshift(n):(this.children_.splice(e-1,0,n),i=this.getZIndex()+e),n instanceof Ef?n.parent=this:n instanceof _g&&(n.setLayerGroup(this),n.setZIndex(i),qB(this.map)||this.map.getRootLayers().some((t=>t.equals(n)))||(this.map.addLayers(n),n instanceof Ef&&this.map.addLayerGroup(n)))}deleteChild(t){const e=t;e instanceof Ef?(e.parent=null,this.map.removeLayerGroup(e)):e instanceof _g&&(this.map.removeLayers(e),this.ungroup(t))}deleteChildren(t){t.forEach(this.deleteChild,this)}ungroup(t){t.setLayerGroup(null),this.children_.remove(t)}addChildren(t=[]){let e=t;Array.isArray(t)||(e=[e]),e.forEach(this.addChild,this)}getChildren(){return this.children_}getAllLayers(){let t=[];return this.getChildren().forEach((e=>{e instanceof _g?t.push(e):e instanceof Ef&&(t=t.concat(e.getAllLayers()))})),t}destroy(){this.map.removeLayers(this.getAllLayers())}static findGroupById(t,e){let i=null;if(UB(e)&&e.length>0&&(i=e.find((e=>e instanceof Ef&&e.id===t)),null==i)){const n=e.map((t=>t.getChildren())).reduce(((t,e)=>t.concat(e)),[]).filter((t=>t instanceof Ef));i=Ef.findGroupById(t,n)}return i}}const Cf=Ef;class vf extends Af{constructor(t){super(),this.mouseoutTimeId=null,this.panel=null,this.statusEmptyLayer=!1,QB(t)||""===t?this.activeEmptyLayer=!1:this.activeEmptyLayer=!0}addTo(t,e){this.facadeMap_=t;const i=t.getMapImpl();this.panel=e.getElementsByTagName("div")[vf.PANEL_ID],this.panel.addEventListener("click",this.clickLayer.bind(this),!1),this.panel.addEventListener("input",this.inputLayer.bind(this),!1),this.element=e,this.target_=null,i.addControl(this)}inputLayer(t){const e=t||window.event,i=e.target.getAttribute("data-group-id");let n=null;if(!qB(e.target)){const t=e.target.getAttribute("data-layer-name");if(!qB(t)){e.stopPropagation();let r=this.facadeMap_.getLayers().filter((e=>e.id===t))[0];if(qB(r)&&!qB(i)&&(n=Cf.findGroupById(i,this.facadeMap_.getLayerGroup()),r=n.getChildren().find((e=>e instanceof _g&&e.id===t))),e.target.classList.contains("m-check"))if(QB(r)||!0!==r.transparent&&r.isVisible())this.statusEmptyLayer=!0,this.facadeMap_.getBaseLayers().forEach((t=>{t.setVisible(!1)}));else{const t=e.target.parentElement.parentElement.querySelector("div.tools > input");qB(t)||r.setOpacity(parseFloat(t.value)),r.setVisible(!r.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?r.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&this.facadeMap_.removeLayers(r)}}}clickLayer(t){const e=t||window.event,i=e.target.getAttribute("data-group-id");let n=null;if(!qB(e.target)){const t=e.target.getAttribute("data-layer-name");if(qB(t)){if(!qB(i)){const t=e.target.getAttribute("data-group-id");n=Cf.findGroupById(t,this.facadeMap_.getLayerGroup()),e.target.classList.contains("m-check")?e.target.classList.contains("g-cartografia-check3")?n.setVisible(!1):n.setVisible(!0):(n.collapsed=!n.collapsed,this.renderPanel())}}else{e.stopPropagation();let r=this.facadeMap_.getLayers().filter((e=>e.id===t))[0];if(qB(r)&&!qB(i)&&(n=Cf.findGroupById(i,this.facadeMap_.getLayerGroup()),r=n.getChildren().find((e=>e instanceof _g&&e.id===t))),e.target.classList.contains("m-check"))if(QB(r)||!0!==r.transparent&&r.isVisible())this.statusEmptyLayer=!0,this.facadeMap_.getBaseLayers().forEach((t=>{t.setVisible(!1)}));else{const t=e.target.parentElement.parentElement.querySelector("div.tools > input");qB(t)||r.setOpacity(parseFloat(t.value)),r.setVisible(!r.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?r.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&(qB(n)?this.facadeMap_.removeLayers(r):(r.getImpl().destroy(),n.removeChild(r)))}}this.renderPanel()}renderPanel(){xI.getTemplateVariables(this.facadeMap_).then((t=>{if(this.activeEmptyLayer){const e=Object.assign({},xI.EMPTYLAYER);e.visible=this.statusEmptyLayer,t.baseLayers.unshift(e)}const e=bu(yf(),{vars:t});this.registerImgErrorEvents_(e);const i=e.querySelector("div#".concat(vf.PANEL_ID));this.panel.innerHTML=i.innerHTML}))}registerEvents(){if(!qB(this.facadeMap_)){const t=this.facadeMap_.getMapImpl();this.registerViewEvents_(t.getView()),this.registerLayersEvents_(t.getLayers()),t.on("change:view",(()=>this.onViewChange_.bind(this)))}}unregisterEvents(){if(!qB(this.facadeMap_)){const t=this.facadeMap_.getMapImpl();this.unregisterViewEvents_(t.getView()),this.unregisterLayersEvents_(t.getLayers()),t.un("change:view",(()=>this.onViewChange_.bind(this)))}}registerViewEvents_(t){t.on("change:resolution",(()=>this.renderPanel.bind(this)))}registerLayersEvents_(t){t.forEach(this.registerLayerEvents_.bind(this)),t.on("remove",(()=>this.renderPanel.bind(this))),t.on("add",(()=>this.onAddLayer_.bind(this)))}registerLayerEvents_(t){t.on("change:visible",(()=>this.renderPanel.bind(this))),t.on("change:extent",(()=>this.renderPanel.bind(this)))}unregisterViewEvents_(t){t.un("change:resolution",(()=>this.renderPanel.bind(this)))}unregisterLayersEvents_(t){t.forEach(this.unregisterLayerEvents_.bind(this)),t.un("remove",(()=>this.renderPanel.bind(this))),t.un("add",(()=>this.onAddLayer_.bind(this)))}unregisterLayerEvents_(t){t.un("change:visible",(()=>this.renderPanel.bind(this))),t.un("change:extent",(()=>this.renderPanel.bind(this)))}onViewChange_(t){this.unregisterViewEvents_(t.oldValue);const e=this.facadeMap_.getMapImpl();this.registerViewEvents_(e.getView())}onAddLayer_(t){this.registerLayerEvents_(t.element),this.renderPanel()}registerImgErrorEvents_(t){const e=t.querySelectorAll("img");Array.prototype.forEach.call(e,(t=>{t.addEventListener("error",(t=>{const e=t.target.getAttribute("data-layer-name"),i=aL([M.config.THEME_URL,_g.LEGEND_ERROR]),n=this.facadeMap_.getLayers().filter((t=>t.id===e))[0];qB(n)||n.setLegendURL(i)}))}))}setMap(t){super.setMap(t),this.renderPanel()}}vf.PANEL_ID="m-layerswitcher-panel";const xf=vf;var wf=i(402);const Sf=class{constructor(t){this.rbush_=new wf(t),this.items_={}}insert(t,e){const i={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(i),this.items_[Xs(e)]=i}load(t,e){const i=new Array(e.length);for(let n=0,r=e.length;n=200&&a.status<300){const t=e.getType();let n;"json"==t||"text"==t?n=a.responseText:"xml"==t?(n=a.responseXML,n||(n=(new DOMParser).parseFromString(a.responseText,"application/xml"))):"arraybuffer"==t&&(n=a.response),n?s(e.readFeatures(n,{extent:i,featureProjection:r}),e.readProjection(n)):o()}else o()},a.onerror=o,a.send()}function Of(t,e){return function(i,n,r,s,o){const a=this;Df(t,e,i,n,r,(function(t,e){a.addFeatures(t),void 0!==s&&s(t)}),o||Cs)}}class Qf extends us{constructor(t,e,i){super(t),this.feature=e,this.features=i}}const kf=class extends fp{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=Cs,this.format_=t.format,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(go(this.format_,"`format` must be set when `url` is set"),this.loader_=Of(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:Pf;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let i,n;this.featuresRtree_=e?new Sf:null,this.loadedExtentsRtree_=new Sf,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?n=t.features:t.features&&(i=t.features,n=i.getArray()),e||void 0!==i||(i=new eo(n)),void 0!==n&&this.addFeaturesInternal(n),void 0!==i&&this.bindFeaturesCollection_(i)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=Xs(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const i=t.getGeometry();if(i){const e=i.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new Qf(bf,t))}setupChangeEvents_(t,e){this.featureChangeKeys_[t]=[Gs(e,bs,this.handleFeatureChange_,this),Gs(e,gs,this.handleFeatureChange_,this)]}addToIndex_(t,e){let i=!0;const n=e.getId();return void 0!==n&&(n.toString()in this.idIndex_?i=!1:this.idIndex_[n.toString()]=e),i&&(go(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),i}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],i=[],n=[];for(let e=0,n=t.length;e{e||(e=!0,this.addFeature(t.element),e=!1)})),t.addEventListener(Zs,(t=>{e||(e=!0,this.removeFeature(t.element),e=!1)})),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_){this.featureChangeKeys_[t].forEach(qs)}this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){const t=t=>{this.removeFeatureInternal(t)};this.featuresRtree_.forEach(t);for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new Qf(Lf);this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const i=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(i,(function(i){if(i.getGeometry().intersectsCoordinate(t))return e(i)}))}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,(function(i){if(i.getGeometry().intersectsExtent(t)){const t=e(i);if(t)return t}}))}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),ws(this.nullGeometryFeatures_)||_s(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,(function(t){e.push(t)})),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const i=function(t,e){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];gt(t,e);const n=at(i);if(at(t)>n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-n,t[3]]]}return[t]}(t,e);return[].concat(...i.map((t=>this.featuresRtree_.getInExtent(t))))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const i=t[0],n=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||Is,this.featuresRtree_.forEachInExtent(a,(function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e.closestPointXY(i,n,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new Qf(Rf,void 0,t))}),(()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Qf(Nf))})),n.insert(s,{extent:s.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_;let i;e.forEachInExtent(t,(function(e){if(z(e.extent,t))return i=e,!0})),i&&e.remove(i)}removeFeature(t){if(!t)return;const e=Xs(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t);this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){const e=Xs(t),i=this.featureChangeKeys_[e];if(!i)return;i.forEach(qs),delete this.featureChangeKeys_[e];const n=t.getId();return void 0!==n&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Qf(Mf,t)),t}removeFromIdIndex_(t){let e=!1;for(const i in this.idIndex_)if(this.idIndex_[i]===t){delete this.idIndex_[i],e=!0;break}return e}setLoader(t){this.loader_=t}setUrl(t){go(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(Of(t,this.format_))}};const Gf=class extends kf{constructor(t){super({attributions:t.attributions,wrapX:t.wrapX}),this.resolution=void 0,this.distance=void 0!==t.distance?t.distance:20,this.minDistance=t.minDistance||0,this.interpolationRatio=0,this.features=[],this.geometryFunction=t.geometryFunction||function(t){const e=t.getGeometry();return go(!e||"Point"===e.getType(),"The default `geometryFunction` can only handle `Point` or null geometries"),e},this.createCustomCluster_=t.createCluster,this.source=null,this.boundRefresh_=this.refresh.bind(this),this.updateDistance(this.distance,this.minDistance),this.setSource(t.source||null)}clear(t){this.features.length=0,super.clear(t)}getDistance(){return this.distance}getSource(){return this.source}loadFeatures(t,e,i){this.source.loadFeatures(t,e,i),e!==this.resolution&&(this.resolution=e,this.refresh())}setDistance(t){this.updateDistance(t,this.minDistance)}setMinDistance(t){this.updateDistance(this.distance,t)}getMinDistance(){return this.minDistance}setSource(t){this.source&&this.source.removeEventListener(bs,this.boundRefresh_),this.source=t,t&&t.addEventListener(bs,this.boundRefresh_),this.refresh()}refresh(){this.clear(),this.cluster(),this.addFeatures(this.features)}updateDistance(t,e){const i=0===t?0:Math.min(e,t)/t,n=t!==this.distance||this.interpolationRatio!==i;this.distance=t,this.minDistance=e,this.interpolationRatio=i,n&&this.refresh()}cluster(){if(void 0===this.resolution||!this.source)return;const t=[1/0,1/0,-1/0,-1/0],e=this.distance*this.resolution,i=this.source.getFeatures(),n={};for(let r=0,s=i.length;r=0;--e){const n=this.geometryFunction(t[e]);n?St(i,n.getCoordinates()):t.splice(e,1)}Pt(i,1/t.length);const n=$(e),r=this.interpolationRatio,s=new qa([i[0]*(1-r)+n[0]*r,i[1]*(1-r)+n[1]*r]);return this.createCustomCluster_?this.createCustomCluster_(s,t):new _d({geometry:s,features:t})}};class Uf{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=xc(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new Uf({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return js()}getImage(t){return js()}getHitDetectionImage(){return js()}getPixelRatio(t){return 1}getImageState(){return js()}getImageSize(){return js()}getOrigin(){return js()}getSize(){return js()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=xc(t)}listenImageChange(t){js()}load(){js()}unlistenImageChange(t){js()}}const qf=Uf;let Vf=null;class zf extends Ss{constructor(t,e,i,n,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=r,this.imageState_=void 0===n?Cg:n,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&this.imageState_===xg){Vf||(Vf=bl(1,1,void 0,{willReadFrequently:!0})),Vf.drawImage(this.image_,0,0);try{Vf.getImageData(0,0,1,1),this.tainted_=!1}catch(t){Vf=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(bs)}handleImageError_(){this.imageState_=wg,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=xg,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],i=bl(t,e);i.fillRect(0,0,t,e),this.hitDetectionImage_=i.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(this.imageState_===Cg){this.image_||this.initializeImage_(),this.imageState_=vg;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch(t){this.handleImageError_()}this.image_ instanceof HTMLImageElement&&Ng(this.image_,this.src_).then((t=>{this.image_=t,this.handleImageLoad_()})).catch(this.handleImageError_.bind(this))}}replaceColor_(t){if(!this.color_||this.canvas_[t]||this.imageState_!==xg)return;const e=this.image_,i=document.createElement("canvas");i.width=Math.ceil(e.width*t),i.height=Math.ceil(e.height*t);const n=i.getContext("2d");n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle=bo(this.color_),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}}function Yf(t,e,i,n){return void 0!==i&&void 0!==n?[i/t,n/e]:void 0!==i?i/t:void 0!==n?n/e:1}class jf extends qf{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,i=void 0!==t.rotation?t.rotation:0,n=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:i,scale:n,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(go(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||Xs(s)),go(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),go(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=Cg:void 0!==s&&(o=s instanceof HTMLImageElement?s.complete?s.src?xg:Cg:vg:xg),this.color_=void 0!==t.color?Mo(t.color):null,this.iconImage_=function(t,e,i,n,r){let s=void 0===e?void 0:Fo.get(e,i,r);return s||(s=new zf(t,t instanceof HTMLImageElement?t.src||void 0:e,i,n,r),Fo.set(e,i,r,s)),s}(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,void 0!==t.width||void 0!==t.height){let e,i;if(t.size)[e,i]=t.size;else{const n=this.getImage(1);if(n.width&&n.height)e=n.width,i=n.height;else if(n instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const i=this.iconImage_.getSize();this.setScale(Yf(i[0],i[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(Yf(e,i,t.width,t.height))}}clone(){let t,e,i;return this.initialOptions_?(e=this.initialOptions_.width,i=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new jf({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:i,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),i=this.getScaleArray();return[t[0]-e[0]/i[0],t[1]+e[1]/i[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),i=this.iconImage_.getSize();if(!e||!i)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=i[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=i[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:this.iconImage_.getImageState()==xg?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:this.iconImage_.getImageState()==xg?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(bs,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(bs,t)}}const Hf=jf;const Xf=class{drawCustom(t,e,i,n){}drawGeometry(t){}setStyle(t){}drawCircle(t,e){}drawFeature(t,e){}drawGeometryCollection(t,e){}drawLineString(t,e){}drawMultiLineString(t,e){}drawMultiPoint(t,e){}drawMultiPolygon(t,e){}drawPoint(t,e){}drawPolygon(t,e){}drawText(t,e){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}};function Wf(t){return Array.isArray(t)?Ro(t):t}const Kf=class extends Xf{constructor(t,e,i,n,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=i,this.transform_=n,this.transformRotation_=n?It(Math.atan2(n[1],n[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,i,n){if(!this.image_)return;const r=pa(t,e,i,n,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let t=0,e=r.length;tt*this.pixelRatio_)),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:Ql,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:Wf(t||kl)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const i=t.getPixelRatio(this.pixelRatio_),n=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=n[0]*i,this.imageAnchorY_=n[1]*i,this.imageHeight_=e[1]*i,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/i,s[1]*this.pixelRatio_/i],this.imageWidth_=e[0]*i}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:Wf(t||Fl)}}else this.textFillState_=null;const i=t.getStroke();if(i){const t=i.getColor(),e=i.getLineCap(),n=i.getLineDash(),r=i.getLineDashOffset(),s=i.getLineJoin(),o=i.getWidth(),a=i.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:Dl,lineDash:n||Ol,lineDashOffset:r||0,lineJoin:void 0!==s?s:Ql,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:Wf(t||kl)}}else this.textStrokeState_=null;const n=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),h=t.getText(),c=t.getTextAlign(),u=t.getTextBaseline();this.textState_={font:void 0!==n?n:Pl,textAlign:void 0!==c?c:Gl,textBaseline:void 0!==u?u:Ul},this.text_=void 0!==h?Array.isArray(h)?h.reduce(((t,e,i)=>t+(i%2?" ":e)),""):h:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}},Jf=.5,Zf={Point:function(t,e,i,n,r){const s=i.getImage(),o=i.getText();let a;if(s){if(s.getImageState()!=xg)return;let l=t;if(r){const h=s.getDeclutterMode();if("none"!==h)if(l=r,"obstacle"===h){const r=t.getBuilder(i.getZIndex(),"Image");r.setImageStyle(s,a),r.drawPoint(e,n)}else o&&o.getText()&&(a={})}const h=l.getBuilder(i.getZIndex(),"Image");h.setImageStyle(s,a),h.drawPoint(e,n)}if(o&&o.getText()){let s=t;r&&(s=r);const l=s.getBuilder(i.getZIndex(),"Text");l.setTextStyle(o,a),l.drawText(e,n)}},LineString:function(t,e,i,n,r){const s=i.getStroke();if(s){const r=t.getBuilder(i.getZIndex(),"LineString");r.setFillStrokeStyle(null,s),r.drawLineString(e,n)}const o=i.getText();if(o&&o.getText()){const s=(r||t).getBuilder(i.getZIndex(),"Text");s.setTextStyle(o),s.drawText(e,n)}},Polygon:function(t,e,i,n,r){const s=i.getFill(),o=i.getStroke();if(s||o){const r=t.getBuilder(i.getZIndex(),"Polygon");r.setFillStrokeStyle(s,o),r.drawPolygon(e,n)}const a=i.getText();if(a&&a.getText()){const s=(r||t).getBuilder(i.getZIndex(),"Text");s.setTextStyle(a),s.drawText(e,n)}},MultiPoint:function(t,e,i,n,r){const s=i.getImage(),o=i.getText();let a;if(s){if(s.getImageState()!=xg)return;let l=t;if(r){const h=s.getDeclutterMode();if("none"!==h)if(l=r,"obstacle"===h){const r=t.getBuilder(i.getZIndex(),"Image");r.setImageStyle(s,a),r.drawMultiPoint(e,n)}else o&&o.getText()&&(a={})}const h=l.getBuilder(i.getZIndex(),"Image");h.setImageStyle(s,a),h.drawMultiPoint(e,n)}if(o&&o.getText()){let s=t;r&&(s=r);const l=s.getBuilder(i.getZIndex(),"Text");l.setTextStyle(o,a),l.drawText(e,n)}},MultiLineString:function(t,e,i,n,r){const s=i.getStroke();if(s){const r=t.getBuilder(i.getZIndex(),"LineString");r.setFillStrokeStyle(null,s),r.drawMultiLineString(e,n)}const o=i.getText();if(o&&o.getText()){const s=(r||t).getBuilder(i.getZIndex(),"Text");s.setTextStyle(o),s.drawText(e,n)}},MultiPolygon:function(t,e,i,n,r){const s=i.getFill(),o=i.getStroke();if(o||s){const r=t.getBuilder(i.getZIndex(),"Polygon");r.setFillStrokeStyle(s,o),r.drawMultiPolygon(e,n)}const a=i.getText();if(a&&a.getText()){const s=(r||t).getBuilder(i.getZIndex(),"Text");s.setTextStyle(a),s.drawText(e,n)}},GeometryCollection:function(t,e,i,n,r){const s=e.getGeometriesArray();let o,a;for(o=0,a=s.length;o{let n=e[t];"string"==typeof n&&1===n.length&&(n={char:n}),lm.defs.glyphs[t]={font:i.font,char:n.char||`${String.fromCharCode(n.code)}`||"",theme:n.theme||i.name,name:n.name||t,search:n.search||""}}))}getFill(){return this.fill_}getStroke(){return this.stroke_}getGlyph(t){let e=this.glyph_;return t&&(e=lm.defs.glyphs[t],e=e||{font:"none",char:t.charAt(0),theme:"none",name:"none",search:""}),e}getGlyphName(){let t="";return Object.keys(lm.defs.glyphs).forEach((e=>{lm.defs.glyph[e]===this.glyph_&&(t=e)})),t}getFontInfo(t){return lm.defs.fonts[t.font]}renderMaker(t){let e,i=0;this.stroke_&&(e=bo(this.stroke_.getColor()),i=this.stroke_.getWidth());const n=this.getImage(1);n.height+=1,n.width+=1;const r={strokeStyle:e,strokeWidth:i,size:n.width},s=n.getContext("2d");s.clearRect(0,0,n.width,n.height),this.drawMarker_(r,s,0,0);const o=this.getAnchor();o[0]=n.width/2-this.offset_[0],o[1]=n.width/2-this.offset_[1]}drawPath_(t,e){const i=e,n=2*this.radius_+t.strokeWidth,r=t.strokeWidth/2,s=t.size/2;let o={fac:1,posX:t.size/2,posY:t.size/2};i.lineJoin="round",i.beginPath();const a=Math.PI;switch(this.form_){case"none":o.fac=1;break;case"circle":case"ban":i.arc(s,s,n/2,0,2*Math.PI,!0);break;case"poi":i.arc(s,s-.4*this.radius_,.6*this.radius_,.15*a,.85*a,!0),i.lineTo(s-.89*.05*n,(.95+.45*.05)*n+r),i.arc(s,.95*n+r,.05*n,.85*Math.PI,.15*Math.PI,!0),o={fac:.45,posX:s,posY:s-.35*this.radius_};break;case"bubble":i.arc(s,s-.2*this.radius_,.8*this.radius_,.4*a,.6*a,!0),i.lineTo(.5*n+r,n+r),o={fac:.7,posX:s,posY:s-.2*this.radius_};break;case"marker":i.arc(s,s-.2*this.radius_,.8*this.radius_,.25*a,.75*a,!0),i.lineTo(.5*n+r,n+r),o={fac:.7,posX:s,posY:s-.2*this.radius_};break;case"coma":i.moveTo(s+.8*this.radius_,s-.2*this.radius_),i.quadraticCurveTo(.95*n+r,.75*n+r,.5*n+r,n+r),i.arc(s,s-.2*this.radius_,.8*this.radius_,.45*a,0,!1),o={fac:.7,posX:s,posY:s-.2*this.radius_};break;default:let t;switch(this.form_){case"shield":t=[.05,0,.95,0,.95,.8,.5,1,.05,.8,.05,0],o.posY=.45*n+r;break;case"blazon":t=[.1,0,.9,0,.9,.8,.6,.8,.5,1,.4,.8,.1,.8,.1,0],o.fac=.8,o.posY=.4*n+r;break;case"bookmark":t=[.05,0,.95,0,.95,1,.5,.8,.05,1,.05,0],o.fac=.9,o.posY=.4*n+r;break;case"hexagon":t=[.05,.2,.5,0,.95,.2,.95,.8,.5,1,.05,.8,.05,.2],o.fac=.9,o.posY=.5*n+r;break;case"diamond":t=[.25,0,.75,0,1,.2,1,.4,.5,1,0,.4,0,.2,.25,0],o.fac=.75,o.posY=.35*n+r;break;case"triangle":t=[0,0,1,0,.5,1,0,0],o.fac=.6,o.posY=.3*n+r;break;case"sign":t=[.5,.05,1,.95,0,.95,.5,.05],o.fac=.7,o.posY=.65*n+r;break;case"lozenge":t=[.5,0,1,.5,.5,1,0,.5,.5,0],o.fac=.7;break;default:t=[0,0,1,0,1,1,0,1,0,0]}for(let e=0;e0?Number(t.scale):1)*ao||ao,r=i.getContext("2d");if(t.image){t.image.load();const s=t.image.getImage();s.width?(i.width=Math.round(s.width*n),i.height=Math.round(s.height*n),r.globalAlpha="number"==typeof t.opacity?t.opacity:1,r.drawImage(s,0,0,s.width,s.height,0,0,i.width,i.height),e=r.createPattern(i,"repeat")):(e=[0,0,0,0],s.onload=function(){i.width=Math.round(s.width*n),i.height=Math.round(s.height*n),r.globalAlpha="number"==typeof t.opacity?t.opacity:1,r.drawImage(s,0,0,s.width,s.height,0,0,i.width,i.height),e=r.createPattern(i,"repeat"),this.color_=e,this.checksum_=void 0})}else{const s=km.getPattern(t);if(i.width=Math.round(s.width*n),i.height=Math.round(s.height*n),r.beginPath(),t.fill&&(r.fillStyle=bo(t.fill.getColor()),r.fillRect(0,0,i.width,i.height)),r.scale(n,n),r.lineCap="round",r.lineWidth=s.stroke||1,r.fillStyle=bo(t.color||"#000"),r.strokeStyle=bo(t.color||"#000"),s.circles)for(let t=0;t180&&(r-=360),r*=Math.PI/180;const s=Math.cos(r),o=Math.sin(r);if(Math.abs(o)<1e-4)i.width=n,i.height=n,i.lines=[[0,.5,n,.5]],i.repeat=[[0,0],[0,n]];else if(Math.abs(s)<1e-4)i.height=n,i.width=n,i.lines=[[.5,0,.5,n]],i.repeat=[[0,0],[n,0]],"cross"===e.pattern&&(i.lines.push([0,.5,n,.5]),i.repeat.push([0,n]));else{i.width=Math.round(Math.abs(n/o))||1,i.height=Math.round(Math.abs(n/s))||1;const t=i.width,r=i.height;"cross"===e.pattern?(i.lines=[[-t,-r,2*t,2*r],[2*t,-r,-t,2*r]],i.repeat=[[0,0]]):s*o>0?(i.lines=[[-t,-r,2*t,2*r]],i.repeat=[[0,0],[t,0],[0,r]]):(i.lines=[[2*t,-r,-t,2*r]],i.repeat=[[0,0],[-t,0],[0,r]])}i.stroke=0===e.size?0:e.size||4}return i}static addPattern(t,e={}){km.patterns[t||e.char]={width:e.width||e.size||10,height:e.height||e.size||10,font:e.font,char:e.char,circles:e.circles,lines:e.lines,repeat:e.repeat,stroke:e.stroke,angle:e.angle,fill:e.fill}}}km.patterns={hatch:{width:5,height:5,lines:[[0,2.5,5,2.5]],stroke:1},cross:{width:7,height:7,lines:[[0,3,10,3],[3,0,3,10]],stroke:1},dot:{width:8,height:8,circles:[[5,5,2]],stroke:!1,fill:!0},circle:{width:10,height:10,circles:[[5,5,2]],stroke:1,fill:!1},square:{width:10,height:10,lines:[[3,3,3,8,8,8,8,3,3,3]],stroke:1,fill:!1},tile:{width:10,height:10,lines:[[3,3,3,8,8,8,8,3,3,3]],fill:!0},woven:{width:12,height:12,lines:[[3,3,9,9],[0,12,3,9],[9,3,12,0],[-1,1,1,-1],[13,11,11,13]],stroke:1},crosses:{width:8,height:8,lines:[[2,2,6,6],[2,6,6,2]],stroke:1},caps:{width:8,height:8,lines:[[2,6,4,2,6,6]],stroke:1},nylon:{width:20,height:20,lines:[[1,6,1,1,6,1],[6,11,11,11,11,6],[11,16,11,21,16,21],[16,11,21,11,21,16]],repeat:[[0,0],[-20,0],[0,-20]],stroke:1},hexagon:{width:20,height:12,lines:[[0,10,4,4,10,4,14,10,10,16,4,16,0,10]],stroke:1,repeat:[[0,0],[10,6],[10,-6],[-10,-6]]},cemetry:{width:15,height:19,lines:[[0,3.5,7,3.5],[3.5,0,3.5,10]],stroke:1,repeat:[[0,0],[7,9]]},sand:{width:20,height:20,circles:[[1,2,1],[9,3,1],[2,16,1],[7,8,1],[6,14,1],[4,19,1],[14,2,1],[12,10,1],[14,18,1],[18,8,1],[18,14,1]],fill:1},conglomerate:{width:30,height:20,circles:[[2,4,1],[17,3,1],[26,18,1],[12,17,1],[5,17,2],[28,11,2]],lines:[[7,5,6,7,9,9,11,8,11,6,9,5,7,5],[16,10,15,13,16,14,19,15,21,13,22,9,20,8,19,8,16,10],[24,6,26,7,27,5,26,4,24,4,24,6]],stroke:1},gravel:{width:15,height:10,circles:[[4,2,1],[5,9,1],[1,7,1]],lines:[[7,5,6,6,7,7,8,7,9,7,10,5,9,4,7,5],[11,2,14,4,14,1,12,1,11,2]],stroke:1},brick:{width:18,height:16,lines:[[0,1,18,1],[0,10,18,10],[6,1,6,10],[12,10,12,18],[12,0,12,1]],stroke:1},dolomite:{width:20,height:16,lines:[[0,1,20,1],[0,9,20,9],[1,9,6,1],[11,9,14,16],[14,0,14.4,1]],stroke:1},coal:{width:20,height:16,lines:[[1,5,7,1,7,7],[11,10,12,5,18,9],[5,10,2,15,9,15],[15,16,15,13,20,16],[15,0,15,2,20,0]],fill:1},breccia:{width:20,height:16,lines:[[1,5,7,1,7,7,1,5],[11,10,12,5,18,9,11,10],[5,10,2,15,9,15,5,10],[15,16,15,13,22,18],[15,0,15,2,20,0]],stroke:1},clay:{width:20,height:20,lines:[[0,0,3,11,0,20],[11,0,10,3,13,13,11,20],[0,0,10,3,20,0],[0,12,3,11,13,13,20,12]],stroke:1},flooded:{width:15,height:10,lines:[[0,1,10,1],[0,6,5,6],[10,6,15,6]],stroke:1},chaos:{width:40,height:40,lines:[[40,2,40,0,38,0,40,2],[4,0,3,2,2,5,0,0,0,3,2,7,5,6,7,7,8,10,9,12,9,13,9,14,8,14,6,15,2,15,0,20,0,22,2,20,5,19,8,15,10,14,11,12.25,10,12,10,10,12,9,13,7,12,6,13,4,16,7,17,4,20,0,18,0,15,3,14,2,14,0,12,1,11,0,10,1,11,4,10,7,9,8,8,5,6,4,5,3,5,1,5,0,4,0],[7,1,7,3,8,3,8,2,7,1],[4,3,5,5,4,5,4,3],[34,5,33,7,38,10,38,8,36,5,34,5],[27,0,23,2,21,8,30,0,27,0],[25,8,26,12,26,16,22.71875,15.375,20,13,18,15,17,18,13,22,17,21,19,22,21,20,19,18,22,17,30,25,26,26,24,28,21.75,33.34375,20,36,18,40,20,40,24,37,25,32,27,31,26,38,27,37,30,32,32,35,36,37,38,40,38,39,40,40,37,36,34,32,37,31,36,29,33,27,34,24,39,21,40,21,40,16,37,20,31,22,32,25,27,20,29,15,30,20,32,20,34,18,33,12,31,11,29,14,26,9,25,8],[39,24,37,26,40,28,39,24],[13,15,9,19,14,18,13,15],[18,23,14,27,16,27,17,25,20,26,18,23],[6,24,2,26,1,28,2,30,5,28,12,30,16,32,18,30,15,30,12,28,9,25,7,27,6,24],[29,27,32,28,33,31,30,29,27,28,29,27],[5,35,1,33,3,36,13,38,15,35,10,36,5,35]],fill:1},grass:{width:27,height:22,lines:[[0,10.5,13,10.5],[2.5,10,1.5,7],[4.5,10,4.5,5,3.5,4],[7,10,7.5,6,8.5,3],[10,10,11,6]],repeat:[[0,0],[14,10]],stroke:1},swamp:{width:24,height:23,lines:[[0,10.5,9.5,10.5],[2.5,10,2.5,7],[4.5,10,4.5,4],[6.5,10,6.5,6],[3,12.5,7,12.5]],repeat:[[0,0],[14,10]],stroke:1},wave:{width:10,height:8,lines:[[0,0,5,4,10,0]],stroke:1},vine:{width:13,height:13,lines:[[3,0,3,6],[9,7,9,13]],stroke:1},forest:{width:55,height:30,circles:[[7,7,3.5],[20,20,1.5],[42,22,3.5],[35,5,1.5]],stroke:1},scrub:{width:26,height:20,lines:[[1,4,4,8,6,4]],circles:[[20,13,1.5]],stroke:1},tree:{width:30,height:30,lines:[[7.78,10.61,4.95,10.61,4.95,7.78,3.54,7.78,2.12,6.36,.71,6.36,0,4.24,.71,2.12,4.24,0,7.78,.71,9.19,3.54,7.78,4.95,7.07,7.07,4.95,7.78]],repeat:[[3,1],[18,16]],stroke:1},pine:{width:30,height:30,lines:[[5.66,11.31,2.83,11.31,2.83,8.49,0,8.49,2.83,0,5.66,8.49,2.83,8.49]],repeat:[[3,1],[18,16]],stroke:1},pines:{width:22,height:20,lines:[[1,4,3.5,1,6,4],[1,8,3.5,5,6,8],[3.5,1,3.5,11],[12,14.5,14.5,14,17,14.5],[12,18,17,18],[14.5,12,14.5,18]],repeat:[[2,1]],stroke:1},rock:{width:20,height:20,lines:[[1,0,1,9],[4,0,4,9],[7,0,7,9],[10,1,19,1],[10,4,19,4],[10,7,19,7],[0,11,9,11],[0,14,9,14],[0,17,9,17],[12,10,12,19],[15,10,15,19],[18,10,18,19]],repeat:[[.5,.5]],stroke:1},rocks:{width:20,height:20,lines:[[5,0,3,0,5,4,4,6,0,3,0,5,3,6,5,9,3.75,10,2.5,10,0,9,0,10,4,11,5,14,4,15,0,13,0,13,0,13,0,14,0,14,5,16,5,18,3,19,0,19,-.25,19.9375,5,20,10,19,10,20,11,20,12,19,14,20,15,20,17,19,20,20,20,19,19,16,20,15,20,11,20,10,19,8,20,5,20,0,19,0,20,2,19,4,17,4,16,3,15,0,14,0,15,4,11,5,10,4,11,0,10,0,9,4,6,5,5,0],[18,5,19,6,18,10,16,10,14,9,16,5,18,5],[5,6,9,5,10,6,10,9,6,10,5,6],[14,5,14,8,13,9,12,9,11,7,12,5,14,5],[5,11,8,10,9,11,10,14,6,15,6,15,5,11],[13,10,14,11,15,14,15,14,15,14,11,15,10,11,11,10,13,10],[15,12,16,11,19,11,19,15,16,14,16,14,15,12],[6,16,9,15,10,18,5,19,6,16],[10,16,14,16,14,18,13,19,11,18,10,16],[15,15,18,16,18,18,16,19,15,18,15,15]],stroke:1}};class Gm extends vm{constructor(t={}){super({points:1/0,fill:t.fill,radius:t.radius,snapToPixel:t.snapToPixel,stroke:t.stroke,atlasManager:t.atlasManager})}clone(){const t=new Gm({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),atlasManager:this.atlasManager_});return t.setOpacity(this.getOpacity()),t.setScale(this.getScale()),t}}const Um=(t,e,i)=>{let n;if(!qB(t.fill)){const r=um.getValue(t.fill.color,e,i);let s=um.getValue(t.fill.opacity,e,i);s||0===s||(s=1),qB(r)||(n=new wm({color:a()(r).alpha(s).css()}))}return n},qm=(t,e,i)=>{let n;if(!qB(t.stroke)){const r=um.getValue(t.stroke.color,e,i);if(!qB(r)){const{linedashoffset:s}=t.stroke;n=new bm({color:r,width:um.getValue(t.stroke.width,e,i),lineDash:um.getValue(t.stroke.linedash,e,i),lineDashOffset:um.getValue(s,e,i),lineCap:um.getValue(t.stroke.linecap,e,i),lineJoin:um.getValue(t.stroke.linejoin,e,i),miterLimit:um.getValue(t.stroke.miterlimit,e,i)})}}return n},Vm=(t,i,r)=>{let s;if(t.label){const o=um.getValue(t.label.text,i,r),a=um.getValue(t.label.align,i,r),l=um.getValue(t.label.baseline,i,r);if(s=new Fm({font:um.getValue(t.label.font,i,r),rotateWithView:um.getValue(t.label.rotate,i,r),scale:um.getValue(t.label.scale,i,r),offsetX:um.getValue(t.label.offset?t.label.offset[0]:void 0,i,r),offsetY:um.getValue(t.label.offset?t.label.offset[1]:void 0,i,r),fill:new wm({color:um.getValue(t.label.color||"#000",i,r)}),textAlign:Object.values(e).includes(a)?a:"center",textBaseline:Object.values(n).includes(l)?l:"top",text:void 0===o?void 0:String(o),rotation:um.getValue(t.label.rotation,i,r),overflow:um.getValue(t.label.overflow,i,r)}),!qB(t.label.stroke)){const{miterlimit:e,linedashoffset:n}=t.label.stroke;s.setStroke(new bm({color:um.getValue(t.label.stroke.color,i,r),width:um.getValue(t.label.stroke.width,i,r),lineCap:um.getValue(t.label.stroke.linecap,i,r),lineJoin:um.getValue(t.label.stroke.linejoin,i,r),lineDash:um.getValue(t.label.stroke.linedash,i,r),lineDashOffset:um.getValue(n,i,r),miterLimit:um.getValue(e,i,r)}))}}return s},zm={},Ym=(t,e,i)=>{const n=t||{},r=Um(n,e,i),s=qm(n,e,i),o=new Gm({fill:r,stroke:s,radius:um.getValue(n.radius,e,i),snapToPixel:um.getValue(n.snapToPixel,e,i)}),a=new Nm({image:o}),l=new Nm;if(!qB(n.icon)){let t;const r=um.getValue(n.icon.src,e,i);qB(r)?qB(n.icon.form)||(t=((t,e,i)=>new Qm({form:qB(um.getValue(t.icon.form,e,i))?"":um.getValue(t.icon.form,e,i).toLowerCase(),gradient:um.getValue(t.icon.gradient,e,i),glyph:um.getValue(t.icon.class,e,i),fontSize:um.getValue(t.icon.fontsize,e,i),radius:um.getValue(t.icon.radius,e,i),rotation:um.getValue(t.icon.rotation,e,i),rotateWithView:um.getValue(t.icon.rotate,e,i),offsetX:um.getValue(t.icon.offset?t.icon.offset[0]:void 0,e,i),offsetY:um.getValue(t.icon.offset?t.icon.offset[1]:void 0,e,i),fill:new wm({color:um.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",e,i)}),stroke:t.icon.color?new bm({color:um.getValue(t.icon.color,e,i),width:1}):void 0,anchor:um.getValue(t.icon.anchor,e,i),anchorXUnits:um.getValue(t.icon.anchorxunits,e,i),anchorYUnits:um.getValue(t.icon.anchoryunits,e,i),src:um.getValue(t.icon.src,e,i),opacity:um.getValue(t.icon.opacity,e,i),scale:um.getValue(t.icon.scale,e,i),snapToPixel:um.getValue(t.icon.snaptopixel,e,i),offsetOrigin:um.getValue(t.icon.offsetorigin,e,i),offset:um.getValue(t.icon.offset,e,i),crossOrigin:um.getValue(t.icon.crossorigin,e,i),anchorOrigin:um.getValue(t.icon.anchororigin,e,i),size:um.getValue(t.icon.size,e,i)}))(n,e,i),l.setImage(t)):(t=((t,e,i)=>{const n=um.getValue(t.icon.anchor,e,i),r=um.getValue(t.icon.anchorxunits,e,i),s=um.getValue(t.icon.anchoryunits,e,i),o=um.getValue(t.icon.src,e,i),a=um.getValue(t.icon.opacity,e,i),l=um.getValue(t.icon.scale,e,i),h=um.getValue(t.icon.rotation,e,i),c=um.getValue(t.icon.rotate,e,i),u=um.getValue(t.icon.snaptopixel,e,i),g=um.getValue(t.icon.offsetorigin,e,i),d=um.getValue(t.icon.offset,e,i),A=um.getValue(t.icon.crossorigin,e,i),p=um.getValue(t.icon.anchororigin,e,i),f=o+n+r+s+a+l+h+c+u+g+d+A+p+p+um.getValue(t.icon.size,e,i);let m=zm[f];return m||(m=new Om({anchor:um.getValue(t.icon.anchor,e,i),anchorXUnits:um.getValue(t.icon.anchorxunits,e,i),anchorYUnits:um.getValue(t.icon.anchoryunits,e,i),src:um.getValue(t.icon.src,e,i),opacity:um.getValue(t.icon.opacity,e,i),scale:um.getValue(t.icon.scale,e,i),rotation:um.getValue(t.icon.rotation,e,i),rotateWithView:um.getValue(t.icon.rotate,e,i),snapToPixel:um.getValue(t.icon.snaptopixel,e,i),offsetOrigin:um.getValue(t.icon.offsetorigin,e,i),offset:um.getValue(t.icon.offset,e,i),crossOrigin:um.getValue(t.icon.crossorigin,e,i),anchorOrigin:um.getValue(t.icon.anchororigin,e,i),size:um.getValue(t.icon.size,e,i)}),zm[f]=m),m})(n,e,i),l.setImage(t))}const h=Vm(n,e,i);return qB(n.label)||QB(h.getText())||a.setText(h),[a,l]},jm=(t,e,i)=>{const n=t||{},r=qm(n,e,i),s=((t,e,i)=>{let n;if(!qB(t.fill)){const r=um.getValue(t.fill.color,e,i);let s=um.getValue(t.fill.opacity,e,i);s||0===s||(s=1);const o=um.getValue(t.fill.width,e,i);qB(r)||(n=new bm({color:a()(r).alpha(s).css(),width:o}))}return n})(n,e,i),o=((t,e,i)=>{const{label:n}=t;let r;if(!qB(n)){const i={text:void 0===um.getValue(n.text,e)?void 0:String(um.getValue(n.text,e)),font:um.getValue(n.font,e),fill:new wm({color:um.getValue(n.color||"#000",e)}),textBaseline:(um.getValue(n.baseline,e)||"").toLowerCase(),textAlign:um.getValue(n.align,e),scale:um.getValue(n.scale,e),rotateWithView:um.getValue(n.rotate,e)||!1,textOverflow:um.getValue(n.textoverflow,e)||"",minWidth:um.getValue(n.minwidth,e)||0,geometry:um.getValue(n.geometry,e),offsetX:um.getValue(t.label.offset?t.label.offset[0]:void 0,e),offsetY:um.getValue(t.label.offset?t.label.offset[1]:void 0,e)};r=new Dm(i),qB(n.stroke)||r.setStroke(new bm({color:um.getValue(n.stroke.color,e),width:um.getValue(n.stroke.width,e),lineCap:um.getValue(n.stroke.linecap,e),lineJoin:um.getValue(n.stroke.linejoin,e),lineDash:um.getValue(n.stroke.linedash,e),lineDashOffset:um.getValue(n.stroke.linedashoffset,e),miterLimit:um.getValue(n.stroke.miterlimit,e)}))}return r})(n,e),l=new Nm,h=new Nm;if(!qB(o)){!0===um.getValue(o.path,e)?(l.textPath=o,!qB(o.smooth)&&!0===o.smooth&&VB(e.getGeometry)&&l.setGeometry(e.getGeometry().cspline())):l.setText(o)}return l.setStroke(r),h.setStroke(s),[l,h]},Hm=(t,e,i)=>{const n=t||{},r=new Nm,s=qm(n,e,i);let o=Um(n,e,i);const l=Vm(n,e,i);return n.fill&&!qB(n.fill.pattern)&&(o=((t,e,i,n)=>{let r="rgba(0,0,0,1)";if(!qB(t.fill.pattern.color)){let n=um.getValue(t.fill.pattern.opacity,e,i)||1;n||0===n||(n=1),r=a()(t.fill.pattern.color).alpha(n).css()}return new km({pattern:(um.getValue(t.fill.pattern.name,e,i)||"").toLowerCase(),color:r,size:um.getValue(t.fill.pattern.size,e,i),spacing:um.getValue(t.fill.pattern.spacing,e,i),image:"IMAGE"===um.getValue(t.fill.pattern.name,e,i)?new Hf({src:um.getValue(t.fill.pattern.src,e,i)}):void 0,angle:um.getValue(t.fill.pattern.rotation,e,i),scale:um.getValue(t.fill.pattern.scale,e,i),offset:um.getValue(t.fill.pattern.offset,e,i),fill:n})})(n,e,i)),r.setFill(o),r.setStroke(s),r.setText(l),[r]},Xm={Point:(...t)=>Ym(t[0].point,t[1],t[2]),LineString:(...t)=>jm(t[0].line,t[1],t[2]),Polygon:(...t)=>Hm(t[0].polygon,t[1],t[2]),MultiPoint:(...t)=>Ym(t[0].point,t[1],t[2]),MultiLineString:(...t)=>jm(t[0].line,t[1],t[2]),MultiPolygon:(...t)=>Hm(t[0].polygon,t[1],t[2])};const Wm=class extends um{constructor(t={}){super(t),this.styles_={}}toImage(){const t=30;let e=null,i=null,n=null;const r=LL(),s=[];QB(this.options_.polygon)||(i=e=>new Promise(((i,n)=>{const r=new Image;if(r.onload=()=>i(r),r.onerror=n,!0===bL(this.options_.polygon))r.src=e,r.width=t,r.height=t;else{const t=(0,Xm.Polygon)(this.options_,this,this.layer_),e=document.createElement("canvas");e.width=30,e.height=10;const i=rm(e.getContext("2d"));i.setStyle(t[0],0,0);const n=[20,7],s=Math.floor(n[0]),o=Math.floor(n[1]),a=n[0]-s,l=n[1]-o;i.drawGeometry(new sl([[[a+1,l+1],[s-1,l+1],[s-1,o-1],[a+1,o-1],[a+1,l+1]]])),r.src=e.toDataURL()}})),s.push(i(r))),QB(this.options_.line)||(n=t=>new Promise(((e,i)=>{const n=new Image;if(n.onload=()=>e(n),n.onerror=i,!0===bL(this.options_.line))n.src=t,n.width=30,n.height=30;else{const t=(0,Xm.LineString)(this.options_,this,this.layer_),e=document.createElement("canvas");e.width=30,e.height=15;const i=rm(e.getContext("2d"));i.setStyle(t[0],0,0);const r=20,s=10,o=QB(t[0].getStroke())?1.5:t[0].getStroke().getWidth();i.drawGeometry(new wd([[0+o/2,0+o/2],[r/3,s/2-o/2],[2*r/3,0+o/2],[r-o/2,s/2-o/2]])),n.src=e.toDataURL()}})),s.push(n(r))),QB(this.options_.point)||(e=e=>new Promise(((i,n)=>{const r=new Image;if(this.options_.point.icon){if(this.options_.point.icon.src)this.options_.point.icon.src.startsWith(window.location.origin)?r.src=this.options_.point.icon.src:EL(this.options_.point.icon.src).then((e=>{r.onload=()=>i(r),r.onerror=n;const s=aL([M.config.PROXY_URL,"/image"]);r.crossOrigin="anonymous",r.src=KB(s,{url:this.options_.point.icon.src}),r.width=t,r.height=t;const o=t/(e.width/e.height);r.height=e.width>e.height?o:r.height,r.width=e.height>e.width?t/(e.height/e.width):r.width}));else if(this.options_.point.icon.form){r.onload=()=>i(r),r.width=t,r.height=t;const e=(0,Xm.Point)(this.options_,this,this.layer_)[1].getImage().getImage(1);null!=e&&e&&(r.src=e.toDataURL())}}else if(r.onload=()=>i(r),r.onerror=n,r.width=10,r.height=10,!0===bL(this.options_.point))r.src=e;else{const t=(0,Xm.Point)(this.options_,this,this.layer_);t[0].getImage().setRadius(5);const e=t[0].getImage().getImage(1).toDataURL();r.src=e}})),s.push(e(r)));const o=document.createElement("canvas");o.height=20;const a=o.getContext("2d"),l=[0,35,70];let h=0;return Promise.all(s).then((t=>{const e=t.length;o.width=1===e?35:2===e?70:100;let i=0;return t.forEach((t=>{t.height>i&&(i=t.height)})),o.height=i,t.forEach((t=>{a.drawImage(t,l[h],0,t.width,t.height),h+=1})),o.toDataURL()}))}updateFacadeOptions(t){this.olStyleFn_=e=>{const i=JSON.stringify(e.getProperties());let n=[];this.styles_=[];let r=e;if(r instanceof _d||r instanceof Pd){const e=r.getGeometry().getType(),s=Xm[e];VB(s)&&(n=s(t,r,this.layer_),this.styles_[i]=n)}else r=this;return n}}drawGeometryToCanvas(t){}updateCanvas(t){}getCanvasSize(){return 0}getRadius_(t){let e;return e=t instanceof Hf?25:t instanceof lm?t.getRadius():this.olStyleFn_()[0].getImage().getRadius(),e}};class Km extends Qc{constructor(t,e){super(e),this.options_=t,this.canvas_=document.createElement("canvas"),this.updateCanvasPromise_=null,this.layer_=null}get canvas(){return this.canvas_}apply(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}unapply(t){}get(t){let e;if(e=this.options_[t],qB(e)){const i=t.split(".");i.length>1&&(e=i.reduce(((t,e)=>{let i;return qB(t)||(i=t[e],t instanceof Km&&(i=t.get(e))),i}),this))}return e}set(t,e){const i=this.get(t);return Km.setValue(this.options_,t,e),qB(this.layer_)||this.getImpl().updateFacadeOptions(this.options_),qB(this.feature_)||this.applyToFeature(this.feature_),this.fire(au,[t,i,e]),this.refresh(),this}static setValue(t,e,i){let n=i;const r=t,s=UB(e)?e:e.split("."),o=s.length,a=s[0];1===o?(UB(n)?n=[...n]:zB(n)&&(n=Object.assign({},n)),r[a]=n):o>1&&(qB(r[a])&&(r[a]={}),Km.setValue(r[a],s.slice(1,o),n))}refresh(t=null){if(qB(t)||(this.layer_=t),!qB(this.layer_)&&(this.apply(this.layer_),this.updateCanvas(),!qB(this.layer_.getImpl().getMap()))){const t=this.layer_.getImpl().getMap().getControls("layerswitcher")[0];qB(t)||t.render()}}getOptions(){return this.options_}toImage(){let t;if(qB(this.updateCanvasPromise_))if(qB(this.options_.icon)||qB(this.options_.icon.src))t=this.canvas_.toDataURL("png");else{const e=new Image;e.crossOrigin="Anonymous";const i=this.canvas_;e.onload=()=>{i.getContext("2d").drawImage(this,0,0,50,50)},e.src=this.options_.icon.src,t=this.canvas_.toDataURL("png")}else t=this.updateCanvasPromise_.then((()=>this.canvas_.toDataURL("png")));return t}updateCanvas(){this.updateCanvasPromise_=this.getImpl().updateCanvas(this.canvas_)}equals(t){return this.constructor===t.constructor}clone(){const t={};_L(t,this.options_);const e=new(0,this.getImpl().constructor)(t);return new this.constructor(t,e)}toJSON(){return{parameters:[CL(this.getOptions())],deserializedMethod:this.getDeserializedMethod_()}}serialize(){return window.btoa(unescape(encodeURIComponent(JSON.stringify(this))))}static deserialize(t){const e=decodeURIComponent(escape(window.atob(t))),{parameters:i,deserializedMethod:n}=JSON.parse(e);return new Function("serializedParams",`return ${n}(serializedParams)`)(i)}}const Jm=Km;const Zm=class extends Jm{constructor(t,e){super(t,e),this.feature_=null}applyToFeature(t){this.feature_=t,this.getImpl().applyToFeature(t)}};const $m=class extends Zm{apply(t,e,i){this.layer_=t,this.getImpl().applyToLayer(t),!0===e&&(i?t.getFeatures().forEach((t=>{t.style=null})):t.getFeatures().forEach((t=>{t.setStyle(this.clone())}))),this.updateCanvas()}toImage(){let t=super.toImage();const e={fill:this.options_.fill,stroke:this.options_.stroke};return!0===bL(e)&&(t=LL(this.canvas_)),t}get ORDER(){return 1}static deserialize(t,e){const i=vL(t),n=i.map(((t,e)=>`arg${e}`)),r=n.reduce(((t,e)=>t.concat(", ").concat(e)));return new Function(n,`return new ${e}(${r})`)(...i)}};class t_ extends $m{constructor(t){let e=t;e=qB(e)?t_.DEFAULT_NULL:_L(e,t_.DEFAULT),e=_L({},e);super(e,new Wm(e))}toImage(){return this.getImpl().toImage(this.canvas_)}getDeserializedMethod_(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Generic'))"}}t_.DEFAULT={point:{radius:5}},t_.PARAMS_DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},t_.DEFAULT_NULL={point:{...t_.PARAMS_DEFAULT_NULL,radius:5},line:{...t_.PARAMS_DEFAULT_NULL},polygon:{...t_.PARAMS_DEFAULT_NULL}};const e_=t_;let i_=0;const n_=1<",GreaterThanOrEqualTo:">=",LessThan:"<",LessThanOrEqualTo:"<=",Multiply:"*",Divide:"/",Add:"+",Subtract:"-",Clamp:"clamp",Mod:"%",Pow:"^",Abs:"abs",Floor:"floor",Ceil:"ceil",Round:"round",Sin:"sin",Cos:"cos",Atan:"atan",Sqrt:"sqrt",Match:"match"},__={[m_.Number]:I_(y_(1,1/0,l_),r_),[m_.String]:I_(y_(1,1/0,l_),s_),[m_.Get]:I_((function(t,e){if(2!==t.length)throw new Error("Expected 1 argument for get operation");const i=f_(t[1],e);if(!(i instanceof d_))throw new Error("Expected a literal argument for get operation");if("string"!=typeof i.value)throw new Error("Expected a string argument for get operation");return e.properties.add(i.value),[i]}),l_),[m_.Var]:I_((function(t,e){if(2!==t.length)throw new Error("Expected 1 argument for var operation");const i=f_(t[1],e);if(!(i instanceof d_))throw new Error("Expected a literal argument for var operation");if("string"!=typeof i.value)throw new Error("Expected a string argument for get operation");return e.variables.add(i.value),[i]}),l_),[m_.Resolution]:I_((function(t,e){const i=t[0];if(1!==t.length)throw new Error(`Expected no arguments for ${i} operation`);return[]}),r_),[m_.Any]:I_(y_(2,1/0,n_),n_),[m_.All]:I_(y_(2,1/0,n_),n_),[m_.Not]:I_(y_(1,1,n_),n_),[m_.Equal]:I_(y_(2,2,l_),n_),[m_.NotEqual]:I_(y_(2,2,l_),n_),[m_.GreaterThan]:I_(y_(2,2,l_),n_),[m_.GreaterThanOrEqualTo]:I_(y_(2,2,l_),n_),[m_.LessThan]:I_(y_(2,2,l_),n_),[m_.LessThanOrEqualTo]:I_(y_(2,2,l_),n_),[m_.Multiply]:I_(y_(2,1/0,r_),r_),[m_.Divide]:I_(y_(2,2,r_),r_),[m_.Add]:I_(y_(2,1/0,r_),r_),[m_.Subtract]:I_(y_(2,2,r_),r_),[m_.Clamp]:I_(y_(3,3,r_),r_),[m_.Mod]:I_(y_(2,2,r_),r_),[m_.Pow]:I_(y_(2,2,r_),r_),[m_.Abs]:I_(y_(1,1,r_),r_),[m_.Floor]:I_(y_(1,1,r_),r_),[m_.Ceil]:I_(y_(1,1,r_),r_),[m_.Round]:I_(y_(1,1,r_),r_),[m_.Sin]:I_(y_(1,1,r_),r_),[m_.Cos]:I_(y_(1,1,r_),r_),[m_.Atan]:I_(y_(1,2,r_),r_),[m_.Sqrt]:I_(y_(1,1,r_),r_),[m_.Match]:I_(y_(4,1/0,s_|r_),l_)};function y_(t,e,i){return function(n,r){const s=n[0],o=n.length-1;if(t===e){if(o!==t){throw new Error(`Expected ${t} argument${1===t?"":"s"} for operation ${s}, got ${o}`)}}else if(oe)throw new Error(`Expected ${t} to ${e} arguments for operation ${s}, got ${o}`);const a=new Array(o);for(let t=0;t{for(let e=0;et.properties[n];case m_.Var:return t=>t.variables[n];default:throw new Error(`Unsupported accessor operator ${t.operator}`)}}(t);case m_.Resolution:return t=>t.resolution;case m_.Any:case m_.All:case m_.Not:return function(t,e){const i=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i{for(let e=0;e{for(let e=0;e!r[0](t);default:throw new Error(`Unsupported logical operator ${i}`)}}(t,e);case m_.Equal:case m_.NotEqual:case m_.LessThan:case m_.LessThanOrEqualTo:case m_.GreaterThan:case m_.GreaterThanOrEqualTo:return function(t,e){const i=t.operator,n=C_(t.args[0],e),r=C_(t.args[1],e);switch(i){case m_.Equal:return t=>n(t)===r(t);case m_.NotEqual:return t=>n(t)!==r(t);case m_.LessThan:return t=>n(t)n(t)<=r(t);case m_.GreaterThan:return t=>n(t)>r(t);case m_.GreaterThanOrEqualTo:return t=>n(t)>=r(t);default:throw new Error(`Unsupported comparison operator ${i}`)}}(t,e);case m_.Multiply:case m_.Divide:case m_.Add:case m_.Subtract:case m_.Clamp:case m_.Mod:case m_.Pow:case m_.Abs:case m_.Floor:case m_.Ceil:case m_.Round:case m_.Sin:case m_.Cos:case m_.Atan:case m_.Sqrt:return function(t,e){const i=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i{let e=1;for(let i=0;ir[0](t)/r[1](t);case m_.Add:return t=>{let e=0;for(let i=0;ir[0](t)-r[1](t);case m_.Clamp:return t=>{const e=r[0](t),i=r[1](t);if(en?n:e};case m_.Mod:return t=>r[0](t)%r[1](t);case m_.Pow:return t=>Math.pow(r[0](t),r[1](t));case m_.Abs:return t=>Math.abs(r[0](t));case m_.Floor:return t=>Math.floor(r[0](t));case m_.Ceil:return t=>Math.ceil(r[0](t));case m_.Round:return t=>Math.round(r[0](t));case m_.Sin:return t=>Math.sin(r[0](t));case m_.Cos:return t=>Math.cos(r[0](t));case m_.Atan:return 2===n?t=>Math.atan2(r[0](t),r[1](t)):t=>Math.atan(r[0](t));case m_.Sqrt:return t=>Math.sqrt(r[0](t));default:throw new Error(`Unsupported numeric operator ${i}`)}}(t,e);case m_.Match:return function(t,e){const i=t.args.length,n=new Array(i);for(let r=0;r{const e=n[0](t);for(let r=1;r4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return i}const z_="renderOrder";const Y_=class extends pl{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=void 0!==t.declutter&&t.declutter,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(z_)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t){t.declutterTree||(t.declutterTree=new wf(9)),this.getRenderer().renderDeclutter(t)}setRenderOrder(t){this.set(z_,t)}setStyle(t){this.style_=function(t){if(void 0===t)return Mm;if(!t)return null;if("function"==typeof t)return t;if(t instanceof Nm)return t;if(!Array.isArray(t))return w_([t]);if(0===t.length)return[];const e=t.length,i=t[0];if(i instanceof Nm){const i=new Array(e);for(let n=0;no&&(this.instructions.push([J_.CUSTOM,o,l,t,i,Pa]),this.hitDetectionInstructions.push([J_.CUSTOM,o,l,t,n||i,Pa]));break;case"Point":a=t.getFlatCoordinates(),this.coordinates.push(a[0],a[1]),l=this.coordinates.length,this.instructions.push([J_.CUSTOM,o,l,t,i]),this.hitDetectionInstructions.push([J_.CUSTOM,o,l,t,n||i])}this.endGeometry(e)}beginGeometry(t,e){this.beginGeometryInstruction1_=[J_.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[J_.BEGIN_GEOMETRY,e,0,t],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const i=t.length;let n,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=i.lineWidth,this.bufferedMaxExtent_=null)}else i.strokeStyle=void 0,i.lineCap=void 0,i.lineDash=null,i.lineDashOffset=void 0,i.lineJoin=void 0,i.lineWidth=void 0,i.miterLimit=void 0}createFill(t){const e=t.fillStyle,i=[J_.SET_FILL_STYLE,e];return"string"!=typeof e&&i.push(!0),i}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[J_.SET_STROKE_STYLE,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,this.applyPixelRatio(t.lineDash),t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const i=t.fillStyle;"string"==typeof i&&t.currentFillStyle==i||(void 0!==i&&this.instructions.push(e.call(this,t)),t.currentFillStyle=i)}updateStrokeStyle(t,e){const i=t.strokeStyle,n=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=i||t.currentLineCap!=n||r!=t.currentLineDash&&!ys(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(void 0!==i&&e.call(this,t),t.currentStrokeStyle=i,t.currentLineCap=n,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[J_.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=N(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;R(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}};const $_=class extends Z_{constructor(t,e,i,n){super(t,e,i,n),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e){if(!this.image_)return;this.beginGeometry(t,e);const i=t.getFlatCoordinates(),n=t.getStride(),r=this.coordinates.length,s=this.appendFlatPointCoordinates(i,n);this.instructions.push([J_.DRAW_IMAGE,r,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([J_.DRAW_IMAGE,r,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e){if(!this.image_)return;this.beginGeometry(t,e);const i=t.getFlatCoordinates(),n=t.getStride(),r=this.coordinates.length,s=this.appendFlatPointCoordinates(i,n);this.instructions.push([J_.DRAW_IMAGE,r,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([J_.DRAW_IMAGE,r,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(t,e){const i=t.getAnchor(),n=t.getSize(),r=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=i[0],this.anchorY_=i[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=n[1],this.opacity_=t.getOpacity(),this.originX_=r[0],this.originY_=r[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=n[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}};const ty=class extends Z_{constructor(t,e,i,n){super(t,e,i,n)}drawFlatCoordinates_(t,e,i,n){const r=this.coordinates.length,s=this.appendFlatLineCoordinates(t,e,i,n,!1,!1),o=[J_.MOVE_TO_LINE_TO,r,s];return this.instructions.push(o),this.hitDetectionInstructions.push(o),i}drawLineString(t,e){const i=this.state,n=i.strokeStyle,r=i.lineWidth;if(void 0===n||void 0===r)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([J_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Ol,0],W_);const s=t.getFlatCoordinates(),o=t.getStride();this.drawFlatCoordinates_(s,0,s.length,o),this.hitDetectionInstructions.push(X_),this.endGeometry(e)}drawMultiLineString(t,e){const i=this.state,n=i.strokeStyle,r=i.lineWidth;if(void 0===n||void 0===r)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([J_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Ol,0],W_);const s=t.getEnds(),o=t.getFlatCoordinates(),a=t.getStride();let l=0;for(let t=0,e=s.length;t=t){const e=(t-a+u)/u,g=yt(i,h,e),d=yt(n,c,e);l.push(g,d),s.push(l),l=[g,d],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function ny(t,e,i,n,r){let s,o,a,l,h,c,u,g,d,A,p=i,f=i,m=0,_=0,y=i;for(o=i;ot&&(_>m&&(m=_,p=y,f=o),_=0,y=o-r)),a=l,u=d,g=A),h=i,c=n}return _+=l,_>m?[y,o]:[p,f]}const ry={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1};const sy=class extends Z_{constructor(t,e,i,n){super(t,e,i,n),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[Fl]={fillStyle:Fl},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterImageWithText_=void 0}finish(){const t=super.finish();return t.textStates=this.textStates,t.fillStates=this.fillStates,t.strokeStates=this.strokeStates,t}drawText(t,e){const i=this.textFillState_,n=this.textStrokeState_,r=this.textState_;if(""===this.text_||!r||!i&&!n)return;const s=this.coordinates;let o=s.length;const a=t.getType();let l=null,h=t.getStride();if("line"!==r.placement||"LineString"!=a&&"MultiLineString"!=a&&"Polygon"!=a&&"MultiPolygon"!=a){let i=r.overflow?null:[];switch(a){case"Point":case"MultiPoint":l=t.getFlatCoordinates();break;case"LineString":l=t.getFlatMidpoint();break;case"Circle":l=t.getCenter();break;case"MultiLineString":l=t.getFlatMidpoints(),h=2;break;case"Polygon":l=t.getFlatInteriorPoint(),r.overflow||i.push(l[2]/this.resolution),h=3;break;case"MultiPolygon":const e=t.getFlatInteriorPoints();l=[];for(let t=0,n=e.length;t{const n=s[2*(t+i)]===l[i*h]&&s[2*(t+i)+1]===l[i*h+1];return n||--t,n}))}this.saveTextStates_(),(r.backgroundFill||r.backgroundStroke)&&(this.setFillStrokeStyle(r.backgroundFill,r.backgroundStroke),r.backgroundFill&&this.updateFillStyle(this.state,this.createFill),r.backgroundStroke&&(this.updateStrokeStyle(this.state,this.applyStroke),this.hitDetectionInstructions.push(this.createStroke(this.state)))),this.beginGeometry(t,e);let c=r.padding;if(c!=ql&&(r.scale[0]<0||r.scale[1]<0)){let t=r.padding[0],e=r.padding[1],i=r.padding[2],n=r.padding[3];r.scale[0]<0&&(e=-e,n=-n),r.scale[1]<0&&(t=-t,i=-i),c=[t,e,i,n]}const u=this.pixelRatio;this.instructions.push([J_.DRAW_IMAGE,o,n,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,void 0,this.declutterImageWithText_,c==ql?ql:c.map((function(t){return t*u})),!!r.backgroundFill,!!r.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/u,d=this.state.fillStyle;r.backgroundFill&&(this.state.fillStyle=Fl,this.hitDetectionInstructions.push(this.createFill(this.state))),this.hitDetectionInstructions.push([J_.DRAW_IMAGE,o,n,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,void 0,this.declutterImageWithText_,c,!!r.backgroundFill,!!r.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?Fl:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),r.backgroundFill&&(this.state.fillStyle=d,this.hitDetectionInstructions.push(this.createFill(this.state))),this.endGeometry(e)}else{if(!lt(this.getBufferedMaxExtent(),t.getExtent()))return;let i;if(l=t.getFlatCoordinates(),"LineString"==a)i=[l.length];else if("MultiLineString"==a)i=t.getEnds();else if("Polygon"==a)i=t.getEnds().slice(0,1);else if("MultiPolygon"==a){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else b=I>w;const B=Math.PI,L=[],M=C+n===e;let T;if(f=0,m=v,g=t[e=C],d=t[e+1],M){_(),T=Math.atan2(d-p,g-A),b&&(T+=T>0?-B:B);const t=(w+I)/2,e=(S+E)/2;return L[0]=[t,e,(x-s)/2,T,r],L}for(let t=0,u=(r=r.replace(/\n/g," ")).length;t0?-B:B),void 0!==T){let t=I-T;if(t+=t>B?-2*B:t<-B?2*B:0,Math.abs(t)>o)return null}T=I;const E=t;let C=0;for(;t0&&t.push("\n",""),t.push(e,""),t}const _y=class{constructor(t,e,i,n){this.overlaps=i,this.pixelRatio=e,this.resolution=t,this.alignFill_,this.instructions=n.instructions,this.coordinates=n.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=n.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=n.fillStates||{},this.strokeStates=n.strokeStates||{},this.textStates=n.textStates||{},this.widths_={},this.labels_={}}createLabel(t,e,i,n){const r=t+e+i+n;if(this.labels_[r])return this.labels_[r];const s=n?this.strokeStates[n]:null,o=i?this.fillStates[i]:null,a=this.textStates[e],l=this.pixelRatio,h=[a.scale[0]*l,a.scale[1]*l],c=Array.isArray(t),u=a.justify?ry[a.justify]:fy(Array.isArray(t)?t[0]:t,a.textAlign||Gl),g=n&&s.lineWidth?s.lineWidth:0,d=c?t:t.split("\n").reduce(my,[]),{width:A,height:p,widths:f,heights:m,lineWidths:_}=function(t,e){const i=[],n=[],r=[];let s=0,o=0,a=0,l=0;for(let h=0,c=e.length;h<=c;h+=2){const u=e[h];if("\n"===u||h===c){s=Math.max(s,o),r.push(o),o=0,a+=l;continue}const g=e[h+1]||t.font,d=Kl(g,u);i.push(d),o+=d;const A=Xl(g);n.push(A),l=Math.max(l,A)}return{width:s,height:a,widths:i,heights:n,lineWidths:r}}(a,d),y=A+g,I=[],E=(y+2)*h[0],C=(p+g)*h[1],v={width:E<0?Math.floor(E):Math.ceil(E),height:C<0?Math.floor(C):Math.ceil(C),contextInstructions:I};1==h[0]&&1==h[1]||I.push("scale",h),n&&(I.push("strokeStyle",s.strokeStyle),I.push("lineWidth",g),I.push("lineCap",s.lineCap),I.push("lineJoin",s.lineJoin),I.push("miterLimit",s.miterLimit),I.push("setLineDash",[s.lineDash]),I.push("lineDashOffset",s.lineDashOffset)),i&&I.push("fillStyle",o.fillStyle),I.push("textBaseline","middle"),I.push("textAlign","center");const x=.5-u;let w=u*y+x*g;const S=[],b=[];let B,L=0,M=0,T=0,R=0;for(let t=0,e=d.length;tt?t-l:r,y=s+h>e?e-h:s,I=d[3]+_*u[0]+d[1],E=d[0]+y*u[1]+d[2],C=f-d[3],v=m-d[0];let x;return(A||0!==c)&&(cy[0]=C,dy[0]=C,cy[1]=v,uy[1]=v,uy[0]=C+I,gy[0]=uy[0],gy[1]=v+E,dy[1]=gy[1]),0!==c?(x=Eo([1,0,0,1,0,0],i,n,1,1,c,-i,-n),_o(x,cy),_o(x,uy),_o(x,gy),_o(x,dy),G(Math.min(cy[0],uy[0],gy[0],dy[0]),Math.min(cy[1],uy[1],gy[1],dy[1]),Math.max(cy[0],uy[0],gy[0],dy[0]),Math.max(cy[1],uy[1],gy[1],dy[1]),hy)):G(Math.min(C,C+I),Math.min(v,v+E),Math.max(C,C+I),Math.max(v,v+E),hy),g&&(f=Math.round(f),m=Math.round(m)),{drawImageX:f,drawImageY:m,drawImageW:_,drawImageH:y,originX:l,originY:h,declutterBox:{minX:hy[0],minY:hy[1],maxX:hy[2],maxY:hy[3],value:p},canvasTransform:x,scale:u}}replayImageOrLabel_(t,e,i,n,r,s,o){const a=!(!s&&!o),l=n.declutterBox,h=t.canvas,c=o?o[2]*n.scale[0]/2:0;return l.minX-c<=h.width/e&&l.maxX+c>=0&&l.minY-c<=h.height/e&&l.maxY+c>=0&&(a&&this.replayTextBackground_(t,cy,uy,gy,dy,s,o),Zl(t,n.canvasTransform,r,i,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0}fill_(t){if(this.alignFill_){const e=_o(this.renderedTransform_,[0,0]),i=512*this.pixelRatio;t.save(),t.translate(e[0]%i,e[1]%i),t.rotate(this.viewRotation_)}t.fill(),this.alignFill_&&t.restore()}setStrokeStyle_(t,e){t.strokeStyle=e[1],t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.lineDashOffset=e[7],t.setLineDash(e[6])}drawLabelWithPointPlacement_(t,e,i,n){const r=this.textStates[e],s=this.createLabel(t,e,n,i),o=this.strokeStates[i],a=this.pixelRatio,l=fy(Array.isArray(t)?t[0]:t,r.textAlign||Gl),h=ry[r.textBaseline||Ul],c=o&&o.lineWidth?o.lineWidth:0;return{label:s,anchorX:l*(s.width/a-2*r.scale[0])+2*(.5-l)*c,anchorY:h*s.height/a+2*(.5-h)*c}}execute_(t,e,i,n,r,s,o,a){let l;var h,c;this.pixelCoordinates_&&ys(i,this.renderedTransform_)?l=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),l=pa(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),h=this.renderedTransform_,c=i,h[0]=c[0],h[1]=c[1],h[2]=c[2],h[3]=c[3],h[4]=c[4],h[5]=c[5]);let u=0;const g=n.length;let d,A,p,f,m,_,y,I,E,C,v,x,w=0,S=0,b=0,B=null,L=null;const M=this.coordinateCache_,T=this.viewRotation_,R=Math.round(1e12*Math.atan2(-i[1],i[0]))/1e12,N={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:T},P=this.instructions!=n||this.overlaps?0:200;let F,D,O,Q;for(;uP&&(this.fill_(t),S=0),b>P&&(t.stroke(),b=0),S||b||(t.beginPath(),f=NaN,m=NaN),++u;break;case J_.CIRCLE:w=i[1];const n=l[w],h=l[w+1],c=l[w+2]-n,g=l[w+3]-h,k=Math.sqrt(c*c+g*g);t.moveTo(n+k,h),t.arc(n,h,k,0,2*Math.PI,!0),++u;break;case J_.CLOSE_PATH:t.closePath(),++u;break;case J_.CUSTOM:w=i[1],d=i[2];const G=i[3],U=i[4],q=6==i.length?i[5]:void 0;N.geometry=G,N.feature=F,u in M||(M[u]=[]);const V=M[u];q?q(l,w,d,2,V):(V[0]=l[w],V[1]=l[w+1],V.length=2),U(V,N),++u;break;case J_.DRAW_IMAGE:w=i[1],d=i[2],I=i[3],A=i[4],p=i[5];let z=i[6];const Y=i[7],j=i[8],H=i[9],X=i[10];let W=i[11];const K=i[12];let J=i[13];const Z=i[14],$=i[15];if(!I&&i.length>=20){E=i[19],C=i[20],v=i[21],x=i[22];const t=this.drawLabelWithPointPlacement_(E,C,v,x);I=t.label,i[3]=I;const e=i[23];A=(t.anchorX-e)*this.pixelRatio,i[4]=A;const n=i[24];p=(t.anchorY-n)*this.pixelRatio,i[5]=p,z=I.height,i[6]=z,J=I.width,i[13]=J}let tt,et,it,nt;i.length>25&&(tt=i[25]),i.length>17?(et=i[16],it=i[17],nt=i[18]):(et=ql,it=!1,nt=!1),X&&R?W+=T:X||R||(W-=T);let rt=0;for(;wi)break;let a=n[o];a||(a=[],n[o]=a),a.push(4*((t+r)*e+(t+s))+3),r>0&&a.push(4*((t-r)*e+(t+s))+3),s>0&&(a.push(4*((t+r)*e+(t-s))+3),r>0&&a.push(4*((t-r)*e+(t-s))+3))}const r=[];for(let t=0,e=n.length;t0){if(!s||"Image"!==g&&"Text"!==g||s.includes(t)){const i=(u[a]-3)/4,s=n-i%o,l=n-(i/o|0),h=r(t,e,s*s+l*l);if(h)return h}h.clearRect(0,0,o,o);break}}const A=Object.keys(this.executorsByZIndex_).map(Number);let p,f,m,_,y;for(A.sort(As),p=A.length-1;p>=0;--p){const t=A[p].toString();for(m=this.executorsByZIndex_[t],f=yy.length-1;f>=0;--f)if(g=yy[f],_=m[g],void 0!==_&&(y=_.executeHitDetection(h,a,i,d,c),y))return y}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const i=e[0],n=e[1],r=e[2],s=e[3],o=[i,n,i,s,r,s,r,n];return pa(o,0,8,2,t,o),o}isEmpty(){return ws(this.executorsByZIndex_)}execute(t,e,i,n,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);let l,h,c,u,g,d;for(a.sort(As),this.maxExtent_&&(t.save(),this.clip(t,i)),s=s||yy,o&&a.reverse(),l=0,h=a.length;l{if(!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=[this.context.canvas.width,this.context.canvas.height];_o(this.pixelTransform,t);const e=this.renderedCenter_,i=this.renderedResolution_,n=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*Cy,h=t[1]*Cy;a.push(this.getRenderTransform(e,i,n,Cy,l,h,0).slice());const c=o.getSource(),u=r.getExtent();if(c.getWrapX()&&r.canWrapX()&&!D(u,s)){let t=s[0];const r=at(u);let o,c=0;for(;tu[2];)++c,o=r*c,a.push(this.getRenderTransform(e,i,n,Cy,l,h,o).slice()),t-=r}this.hitDetectionImageData_=vy(t,a,this.renderedFeatures_,o.getStyleFunction(),s,i,n)}e(xy(t,this.renderedFeatures_,this.hitDetectionImageData_))}))}forEachFeatureAtCoordinate(t,e,i,n,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},h=function(t,e,i){const s=Xs(t),o=l[s];if(o){if(!0!==o&&ic=n.forEachFeatureAtCoordinate(t,s,o,i,h,n===this.declutterExecutorGroup&&e.declutterTree?e.declutterTree.all().map((t=>t.value)):null))),c}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),i=e.getSource();if(!i)return!1;const n=t.viewHints[Zo],r=t.viewHints[$o],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&n||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,h=l.projection,c=l.resolution,u=t.pixelRatio,g=e.getRevision(),d=e.getRenderBuffer();let A=e.getRenderOrder();void 0===A&&(A=$f);const p=l.center.slice(),f=R(a,d*c),m=f.slice(),_=[f.slice()],y=h.getExtent();if(i.getWrapX()&&h.canWrapX()&&!D(y,t.extent)){const t=at(y),e=Math.max(at(f)/2,t);f[0]=y[0]-e,f[2]=y[2]+e,kt(p,h);const i=gt(_[0],h);i[0]y[0]&&i[2]>y[2]&&_.push([i[0]-t,i[1],i[2]-t,i[3]])}if(this.ready&&this.renderedResolution_==c&&this.renderedRevision_==g&&this.renderedRenderOrder_==A&&D(this.wrappedRenderedExtent_,f))return ys(this.renderedExtent_,m)||(this.hitDetectionImageData_=null,this.renderedExtent_=m),this.renderedCenter_=p,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const I=new ay(em(c,u),f,c,u);let E;this.getLayer().getDeclutter()&&(E=new ay(em(c,u),f,c,u));const C=Ae();let v;if(C){for(let t=0,e=_.length;t{let i;const n=t.getStyleFunction()||e.getStyleFunction();if(n&&(i=n(t,c)),i){const e=this.renderFeature(t,x,i,I,v,E);w=w&&!e}},b=me(f,h),B=i.getFeaturesInExtent(b);A&&B.sort(A);for(let t=0,e=B.length;t{const i=e.get("features");let n;return qB(i)||(n=i.find((e=>e===t))),n}))}animate(t){const e=t,i=this.get("animationDuration");if(!i)return;if(this.animation_.resolution!==e.frameState.viewState.resolution&&this.sourceChanged){const t=e.frameState.viewState.resolution,i=e.frameState.extent;this.animation_.reverse=this.animation_.resolution>=t,this.prepareAnimation_(i,e.frameState.viewState.resolution),e.frameState.time=this.animation_.start}const n=this.animation_.clustersFrom.length;if(n>0&&n<=1e3&&this.animation_.start){const t=sm(e);let n=(e.frameState.time-this.animation_.start)/i;n>1&&(this.animation_.start=!1,n=1),n=this.get("animationMethod")(n),e.context.save(),e.context.globalAlpha=this.getOpacity(),this.animation_.clustersFrom.forEach(((i,r)=>{const s=i.getGeometry().getCoordinates(),o=this.animation_.clustersTo[r].getGeometry().getCoordinates();this.animation_.reverse?(s[0]=o[0]+n*(s[0]-o[0]),s[1]=o[1]+n*(s[1]-o[1])):(s[0]+=n*(o[0]-s[0]),s[1]+=n*(o[1]-s[1]));const a=this.getStyle()(i,e.frameState.viewState.resolution),l=new qa(s);qB(a)||a.forEach((e=>{const i=e.getImage();qB(i)||(null==i.getOrigin()&&(i.origin_=[]),null==i.getAnchor()&&(i.normalizedAnchor_=[]),null==i.getSize()&&(i.size_=[])),t.setStyle(e),t.drawGeometry(l)}))})),e.context.restore(),e.frameState.animate=!0,e.context.save(),e.context.beginPath(),e.context.rect(0,0,0,0),e.context.clip(),this.clip_=!0}else this.animation_.clustersFrom.length=0,this.animation_.clustersTo.length=0,this.animation_.start=!1}prepareAnimation_(t,e){this.animation_.clustersFrom=[],this.animation_.clustersTo=[];const i=R(t,100*e),n=this.oldCluster_.getFeaturesInExtent(i),r=this.getSource().getFeaturesInExtent(i),s=this.animation_.reverse?r:n,o=this.animation_.reverse?n:r;s.forEach((t=>{const e=t.get("features");if(!qB(e)){const i=by.getClusterForFeature(e[0],o);qB(i)||!1===i||(this.animation_.clustersFrom.push(t),this.animation_.clustersTo.push(i))}})),this.animation_.resolution=e,this.sourceChanged=!1,this.animation_.start=(new Date).getTime()}postanimate(t){this.clip_&&(t.context.restore(),this.clip_=!1)}setStyle(t){super.setStyle(this.styleCluster_)}}const By=by,Ly="select";class My extends us{constructor(t,e,i,n){super(t),this.selected=e,this.deselected=i,this.mapBrowserEvent=n}}const Ty={};class Ry extends Dh{constructor(t){let e;if(super(),this.on,this.once,this.un,t=t||{},this.boundAddFeature_=this.addFeature_.bind(this),this.boundRemoveFeature_=this.removeFeature_.bind(this),this.condition_=t.condition?t.condition:Xh,this.addCondition_=t.addCondition?t.addCondition:Hh,this.removeCondition_=t.removeCondition?t.removeCondition:Hh,this.toggleCondition_=t.toggleCondition?t.toggleCondition:Jh,this.multi_=!!t.multi&&t.multi,this.filter_=t.filter?t.filter:Is,this.hitTolerance_=t.hitTolerance?t.hitTolerance:0,this.style_=void 0!==t.style?t.style:function(){const t=Tm();return _s(t.Polygon,t.LineString),_s(t.GeometryCollection,t.LineString),function(e){return e.getGeometry()?t[e.getGeometry().getType()]:null}}(),this.features_=t.features||new eo,t.layers)if("function"==typeof t.layers)e=t.layers;else{const i=t.layers;e=function(t){return i.includes(t)}}else e=Is;this.layerFilter_=e,this.featureLayerAssociation_={}}addFeatureLayerAssociation_(t,e){this.featureLayerAssociation_[Xs(t)]=e}getFeatures(){return this.features_}getHitTolerance(){return this.hitTolerance_}getLayer(t){return this.featureLayerAssociation_[Xs(t)]}setHitTolerance(t){this.hitTolerance_=t}setMap(t){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),super.setMap(t),t?(this.features_.addEventListener(Js,this.boundAddFeature_),this.features_.addEventListener(Zs,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(Js,this.boundAddFeature_),this.features_.removeEventListener(Zs,this.boundRemoveFeature_))}addFeature_(t){const e=t.element;if(this.style_&&this.applySelectedStyle_(e),!this.getLayer(e)){const t=this.getMap().getAllLayers().find((function(t){if(t instanceof Sy&&t.getSource()&&t.getSource().hasFeature(e))return t}));t&&this.addFeatureLayerAssociation_(e,t)}}removeFeature_(t){this.style_&&this.restorePreviousStyle_(t.element)}getStyle(){return this.style_}applySelectedStyle_(t){const e=Xs(t);e in Ty||(Ty[e]=t.getStyle()),t.setStyle(this.style_)}restorePreviousStyle_(t){const e=this.getMap().getInteractions().getArray();for(let i=e.length-1;i>=0;--i){const n=e[i];if(n!==this&&n instanceof Ry&&n.getStyle()&&-1!==n.getFeatures().getArray().lastIndexOf(t))return void t.setStyle(n.getStyle())}const i=Xs(t);t.setStyle(Ty[i]),delete Ty[i]}removeFeatureLayerAssociation_(t){delete this.featureLayerAssociation_[Xs(t)]}handleEvent(t){if(!this.condition_(t))return!0;const e=this.addCondition_(t),i=this.removeCondition_(t),n=this.toggleCondition_(t),r=!e&&!i&&!n,s=t.map,o=this.getFeatures(),a=[],l=[];if(r){xs(this.featureLayerAssociation_),s.forEachFeatureAtPixel(t.pixel,((t,e)=>{if(t instanceof _d&&this.filter_(t,e))return this.addFeatureLayerAssociation_(t,e),l.push(t),!this.multi_}),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let t=o.getLength()-1;t>=0;--t){const e=o.item(t),i=l.indexOf(e);i>-1?l.splice(i,1):(o.remove(e),a.push(e))}0!==l.length&&o.extend(l)}else{s.forEachFeatureAtPixel(t.pixel,((t,r)=>{if(t instanceof _d&&this.filter_(t,r))return!e&&!n||o.getArray().includes(t)?(i||n)&&o.getArray().includes(t)&&(a.push(t),this.removeFeatureLayerAssociation_(t)):(this.addFeatureLayerAssociation_(t,r),l.push(t)),!this.multi_}),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let t=a.length-1;t>=0;--t)o.remove(a[t]);o.extend(l)}return(l.length>0||a.length>0)&&this.dispatchEvent(new My(Ly,l,a,t)),!0}}const Ny=Ry;const Py=class extends Ny{constructor(t={}){const e=t,i=new Sy({source:new kf({features:new eo,useSpatialIndex:!0}),name:"Cluster overlay",updateWhileAnimating:!0,updateWhileInteracting:!0,displayInLayerSwitcher:!1,style:e.featureStyle});t.layers.push(i),e.filter=(t,e)=>!(!e&&t.get("selectclusterlink")),super(e),this.map=e.map,this.pointRadius=e.pointRadius||12,this.circleMaxObjects=e.circleMaxObjects||10,this.maxObjects=e.maxObjects||60,this.spiral=!1!==e.spiral,this.animate=e.animate,this.animationDuration=e.animationDuration||500,this.selectCluster_=!1!==e.selectCluster,this.maxFeaturesToSelect=e.maxFeaturesToSelect,this.facadeLayer_=e.fLayer,this.style_=e.style,this.filter_=e.filter,this.overlayLayer_=i,this.originalHandleEvent=this.handleEvent,this.on("select",this.selectCluster.bind(this),this)}setMap(t){this.getMap()&&(this.getMap().getView()&&this.getMap().getView().un("change:resolution",this.clear.bind(this)),this.getMap().removeLayer(this.overlayLayer_)),Ny.prototype.setMap.call(this,t),this.overlayLayer_.setMap(t),t&&t.getView()&&t.getView().on("change:resolution",this.clear.bind(this)),this.handleEvent=t=>(this.originalHandleEvent.apply(this,[t]),!0)}clear(){this.getFeatures().clear(),this.overlayLayer_.getSource().clear()}getLayer(){return this.overlayLayer_}refreshViewEvents(){this.getMap()&&this.getMap().getView()&&this.getMap().getView().on("change:resolution",this.clear.bind(this))}selectCluster(t){if(!t.selected.length)return void this.clear();const e=t.selected[0];if(e.get("selectclusterfeature"))return;const i=e.get("features");if(!i||1===i.length)return;if((!i||i.length>this.maxFeaturesToSelect)&&this.facadeLayer_.getImpl().getNumZoomLevels()-this.map.getZoom()!=1){const t=qd.getFeaturesExtent(i,this.map.getProjection().code);return void this.map.setBbox(t)}this.selectCluster_||this.getFeatures().clear();const n=e.getGeometry().getCoordinates(),r=this.getMap().getView().getResolution(),s=r*this.pointRadius*(.5+i.length/4);!this.spiral||i.length<=this.circleMaxObjects?(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInCircle_(i,r,s,n)):(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInSpiral_(i,r,n)),this.animate&&this.animateCluster_(n)}drawFeaturesAndLinsInCircle_(t,e,i,n){const r=Math.min(t.length,this.circleMaxObjects);for(let s=0;s{r.set(e,t.get(e))}));let s=t.getStyle();s||(s=this.facadeLayer_.getStyle().getImpl().oldOLLayer.getStyle());const o=s(t,e),a=o.map?o.map((t=>t.clone())):[o.clone()];r.setId(t.getId()),r.setStyle(a),r.set("features",[t]);const l=!0===["Point","MultiPoint"].includes(t.getGeometry().getType())?new qa(n):t.getGeometry(),h=!0===["Point","MultiPoint"].includes(t.getGeometry().getType())?new wd([i,n]):new wd([i,qd.getCentroid(t.getGeometry())]);r.set("geometry",l),this.overlayLayer_.getSource().addFeature(r);const c=new _d({selectclusterlink:!0,geometry:h});this.overlayLayer_.getSource().addFeature(c)}animateCluster_(t,e){this.listenerKey_&&(this.overlayLayer_.setVisible(!0),zs(this.listenerKey_));const i=this.overlayLayer_.getSource().getFeatures();if(!i.length)return;this.overlayLayer_.setVisible(!1);const n=this.animationDuration||500,r=(new Date).getTime();this.listenerKey_=this.facadeLayer_.getImpl().getOLLayer().on(["postrender","postcompose"],(e=>{const s=sm(e),o=this.getMap().getView().getResolution(),a=ua((e.frameState.time-r)/n);for(let n=0;nt.clone()));for(let e=0;et.clone())):[g.clone()];for(let t=0;t1)return zs(this.listenerKey_),this.overlayLayer_.setVisible(!0),void this.overlayLayer_.changed();e.frameState.animate=!0}}),this)}};class Fy extends Nm{constructor(t={}){super(t)}clone(){let t=this.getGeometry();return t&&t.clone&&(t=t.clone()),new Fy({geometry:t,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}}const Dy=Fy,Oy=(t,e,i)=>(t[0]-i[0])*(e[1]-i[1])-(t[1]-i[1])*(e[0]-i[0])<=0,Qy=t=>{t.sort(((t,e)=>t[0]===e[0]?t[1]-e[1]:t[0]-e[0]));const e=[];for(let i=0;i=2&&Oy(e[e.length-2],e[e.length-1],t[i]);)e.pop();e.push(t[i])}const i=[];for(let e=t.length-1;e>=0;e-=1){for(;i.length>=2&&Oy(i[i.length-2],i[i.length-1],t[e]);)i.pop();i.push(t[e])}return i.pop(),e.pop(),e.concat(i)};const ky=class extends cm{constructor(t,e){super({}),this.convexHullLayer_=null,this.oldOLLayer_=null,this.optionsVendor_=e,this.options_=t,this.clusterLayer_=null,this.selectClusterInteraction_=null,this.hoverInteraction_=null}applyToLayer(t,e){this.layer_=t,this.options_=this.updateLastRange_(),qB(this.selectClusterInteraction_)||this.selectClusterInteraction_.clear(),this.updateCanvas();const i=t.getFeatures();i.length>0?this.clusterize_(i):this.layer_.on(su,this.clusterize_.bind(this),this)}get selectClusterInteraction(){return this.selectClusterInteraction_}clusterize_(e){const i=e.map((t=>t.getImpl().getOLFeature()));this.clusterLayer_=new By({name:"Cluster",source:new Gf({distance:this.options_.distance,geometryFunction:t=>new qa($(t.getGeometry().getExtent())),source:new kf({features:i})}),animationDuration:this.optionsVendor_.animationDuration,style:this.clusterStyleFn_.bind(this),animationMethod:t[this.optionsVendor_.animationMethod]}),!1===this.options_.animated&&this.clusterLayer_.set("animationDuration",void 0),this.clusterLayer_.setZIndex(99999);const n=this.layer_.getImpl().getOLLayer();n instanceof By||(this.oldOLLayer_=n),this.clusterLayer_.setMaxResolution(this.oldOLLayer_.getMaxResolution()),this.clusterLayer_.setMinResolution(this.oldOLLayer_.getMinResolution()),this.layer_.getImpl().setOLLayer(this.clusterLayer_),qB(this.options_.ranges)&&(this.options_.ranges=this.getDefaultRanges_()),!1!==this.options_.hoverInteraction&&this.addCoverInteraction_(),!1!==this.options_.selectInteraction&&this.addSelectInteraction_()}setRanges(t){qB(t)?this.options_.ranges=this.getDefaultRanges_():this.options_.ranges=t}updateLastRange_(){const t=_L({},this.options_);if(!qB(this.options_)&&!qB(this.options_.ranges)){let e=t.ranges;if(e.length>0){e=e.sort(((t,e)=>t.min-e.min));const i=e.pop();if(qB(i.max)){const t=this.layer_.getFeatures().length;i.max=t}t.ranges.push(i)}}return t}static updateRangeImpl(t,e,i,n,r){const s=r.getOptions().ranges.find((i=>i.min===t&&i.max===e))||!1;return s&&(s.style=i),s}setAnimated(t,e,i){return i.getOptions().animated=t,!1===t?this.clusterLayer_.set("animationDuration",void 0):this.clusterLayer_.set("animationDuration",this.optionsVendor_.animationDuration),this}addSelectInteraction(){this.addSelectInteraction_()}addSelectInteraction_(){const t=this.layer_.getImpl().getMap();this.selectClusterInteraction_=new Py({fLayer:this.layer_,map:t,maxFeaturesToSelect:this.options_.maxFeaturesToSelect,pointRadius:this.optionsVendor_.distanceSelectFeatures,animate:!0,layers:[this.clusterLayer_]}),this.selectClusterInteraction_.on("select",this.selectClusterFeature_.bind(this),this),t.getMapImpl().addInteraction(this.selectClusterInteraction_),t.getMapImpl().on("change:view",(t=>this.selectClusterInteraction_.refreshViewEvents(t)))}removeSelectInteraction(){this.removeSelectInteraction_()}removeSelectInteraction_(){this.layer_.getImpl().getMap().getMapImpl().removeInteraction(this.selectClusterInteraction_)}hoverFeatureFn_(t,e){if(!qB(t)){let e=[];t.forEach((t=>{t instanceof OL?e=e.concat(t.getAttribute("features")):e.push(t)}));const i=e.map((t=>t.getImpl().getOLFeature().getGeometry().getCoordinates())),n=Qy(i);if(n.length>2){const t=new _d(new sl([n])),e=PL.olFeature2Facade(t);qB(this.convexHullLayer_)?(this.convexHullLayer_=new _I({name:`cluster_cover_${this.layer_.name}`,extract:!1},{displayInLayerSwitcher:!1,style:new e_({polygon:this.optionsVendor_.convexHullStyle})}),this.convexHullLayer_.addFeatures(e),this.layer_.getImpl().getMap().addLayers(this.convexHullLayer_),this.layer_.getImpl().getMap().getMapImpl().getView().on("change:resolution",this.clearConvexHull.bind(this),this),this.convexHullLayer_.setStyle(new e_({polygon:this.optionsVendor_.convexHullStyle})),this.convexHullLayer_.setZIndex(99990)):(this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures()),this.convexHullLayer_.addFeatures(e))}}}leaveFeatureFn_(t,e){qB(this.convexHullLayer_)||this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures())}addCoverInteraction_(){this.hoverKey_=this.layer_.on(nu,this.hoverFeatureFn_.bind(this)),this.leaveKey_=this.layer_.on(ru,this.leaveFeatureFn_.bind(this))}removeCoverInteraction_(){this.layer_.unByKey(nu,this.hoverKey_),this.layer_.unByKey(ru,this.leaveKey_)}clusterStyleFn_(t,e,i){let n;const r=t.get("features");if(!r)return new Dy;const s=r.length,o=this.options_.ranges.find((t=>t.min<=s&&t.max>=s));if(qB(o)){if(1===s){let t=r[0].getStyle();t||(t=this.oldOLLayer_.getStyle()),n=t(r[0],e),n[0].setGeometry(r[0].getGeometry())}}else{let r=o.style.clone();if(r instanceof e_||(r=new e_({point:r.getOptions()})),i)r.set("point.fill.opacity",.33);else if(this.options_.displayAmount){r.set("point.label",this.options_.label);let t=r.get("point.label.color");if(qB(t)){const e=r.get("point.fill.color");t=qB(e)?"#000":mL(e),r.set("point.label.color",t)}}n=r.getImpl().olStyleFn(t,e)}return n}getDefaultRanges_(){const t=this.layer_.getFeatures().length;let e=Math.floor(t/3);e=Math.max(e,3);const i=[{min:2,max:e,style:new e_({point:Vy.RANGE_1_DEFAULT})},{min:e,max:2*e,style:new e_({point:Vy.RANGE_2_DEFAULT})},{min:2*e,max:t+1,style:new e_({point:Vy.RANGE_3_DEFAULT})}];return this.options_.ranges=i,i}selectClusterFeature_(t){this.clearConvexHull()}unapply(){qB(this.clusterLayer_)?qB(this.layer_)||this.layer_.un(su,this.clusterize_.bind(this),this):(this.layer_.getImpl().setOLLayer(this.oldOLLayer_),this.oldOLLayer_.setMaxResolution(this.clusterLayer_.getMaxResolution()),this.oldOLLayer_.setMinResolution(this.clusterLayer_.getMinResolution()),this.removeCoverInteraction_(),this.removeSelectInteraction_(),this.clearConvexHull(),this.deactivateChangeResolutionEvent(),this.layer_.redraw(),this.deactivateChangeEvent())}clearConvexHull(){null!==this.convexHullLayer_&&(this.layer_.getImpl().getMap().removeLayers(this.convexHullLayer_),this.convexHullLayer_=null)}updateCanvas(){}activateChangeEvent(){if(null!==this.clusterLayer_){const t=this.clusterLayer_.getSource(),e=Gf.prototype.refresh;t.getSource().on("change",e)}}deactivateChangeEvent(){if(null!==this.clusterLayer_){const t=this.clusterLayer_.getSource();zs({bindTo:void 0,callOnce:!1,listener:Gf.prototype.refresh,target:t.getSource(),type:"change"})}}deactivateChangeResolutionEvent(){if(!qB(this.layer_)&&!qB(this.layer_.getImpl())){const t=this.layer_.getImpl().getMap();if(!qB(t)&&!qB(t.getMapImpl())){const e=t.getMapImpl().getView();zs({type:"change:resolution",bindTo:void 0,listener:this.clearConvexHull,target:e,callOnce:!1})}}}deactivateTemporarilyChangeEvent(t,e){this.deactivateChangeEvent(),VB(t)&&(null==e?t():t(...e))}get oldOLLayer(){return this.oldOLLayer_}};class Gy extends Jm{constructor(t,e){super(t,e),this.styles_=[]}apply(t){this.layer_=t,qB(t)||this.updateInternal_(t)}add(t){let e=t;const i=this.layer_;return this.unapplyInternal(this.layer_),UB(e)||(e=[e]),e=e.filter((t=>t.constructor!==this.constructor)),e.forEach((t=>{this.styles_=this.styles_.filter((e=>e.constructor!==t.constructor))})),this.styles_=this.styles_.concat(e),qB(i)||this.updateInternal_(i),this}remove(t){let e=t;const i=this.layer_;UB(e)||(e=[e]),qB(this.layer_)||this.unapplyInternal(this.layer_),this.styles_=this.styles_.filter((t=>!e.includes(t))),i.setStyle(this.oldStyle_,!0),i.setStyle(this)}getStyles(){return this.styles_}getOldStyle(){return this.oldStyle_}clear(){this.remove(this.styles_)}unapplyInternal(t){this.styles_.concat(this).sort(((t,e)=>IL(e,t))).forEach((e=>{e instanceof Gy&&e.unapplySoft(t)}))}unapplySoft(t){}unapply(t){this.unapplyInternal(t),this.layer_=null}updateInternal_(t){this.styles_.concat(this).sort(((t,e)=>IL(t,e))).forEach((e=>{e instanceof Gy?e.applyInternal(t):e instanceof Jm&&e.apply(t,!0)}))}}const Uy=Gy;class qy extends Uy{constructor(t={},e={}){super(t,new ky(t,e)),_L(t,qy.DEFAULT),_L(e,qy.DEFAULT_VENDOR),this.optsVendor_=e,this.oldStyle_=null}apply(t){super.apply(t);const e=t.getStyle();this.oldStyle_=e instanceof qy?e.getOldStyle():e}unapplySoft(t){this.getImpl().unapply()}add(t){return qB(this.layer_)||this.unapplySoft(this.layer_),super.add(t)}applyInternal(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}getOldStyle(){return this.oldStyle_}getRanges(){return this.options_.ranges}getOptions(){return this.options_}setRanges(t){return this.getImpl().ranges=t,this.unapply(this.layer_),this.layer_.style=this,this}getRange(t,e){return this.options_.ranges.find((i=>i.min===t&&i.max===e))}updateRange(t,e,i){return ky.updateRangeImpl(t,e,i,this.layer_,this),this.unapply(this.layer_),this.layer_.style=this,this}setAnimated(t){return this.getImpl().setAnimated(t,this.layer_,this)}isAnimated(){return this.options_.animated}toImage(){let t;return t=this.oldStyle_ instanceof Jm?this.oldStyle_.toImage():super.toImage(),t}refresh(){if(!qB(this.layer_)){const t=this.layer_;this.unapply(this.layer_),this.apply(t),this.updateCanvas()}}get ORDER(){return 4}addSelectInteraction(){this.getImpl().addSelectInteraction()}removeSelectInteraction(){this.getImpl().removeSelectInteraction()}toJSON(){let t=_L({},this.getOptions());t.ranges=this.getRanges().map((t=>{const e=_L({},t);return e.style=t.style.serialize(),e})),t=CL(t);let e=_L({},this.optsVendor_);e=CL(e);return{parameters:[t,e,this.getStyles().map((t=>t.serialize()))],deserializedMethod:"M.style.Cluster.deserialize"}}static deserialize([t,e,i]){let n=t;n.ranges.forEach((t=>{t.style=Jm.deserialize(t.style)})),n=vL(t);const r=vL(e),s=new Function(["options","optsVendor"],"return new M.style.Cluster(options, optsVendor)")(n,r),o=i.map((t=>Jm.deserialize(t)));return s.add(o),s}}qy.DEFAULT={ranges:[],hoverInteraction:!0,displayAmount:!0,selectInteraction:!0,distance:60,animated:!0,maxFeaturesToSelect:15,label:{text:t=>{let e;const i=t.getAttribute("features");return i.length&&(e=i.length.toString()),e},color:"#fff",font:"bold 15px Arial",baseline:"middle",align:"center"}},qy.DEFAULT_VENDOR={animationDuration:250,animationMethod:"linear",distanceSelectFeatures:15,convexHullStyle:{fill:{color:"#fff",opacity:.25},stroke:{color:"#7b98bc"}}},qy.RANGE_1_DEFAULT={fill:{color:"#81c89a"},stroke:{color:"#6eb988",width:3},radius:15},qy.RANGE_2_DEFAULT={fill:{color:"#85b9d2"},stroke:{color:"#6da4be",width:3},radius:20},qy.RANGE_3_DEFAULT={fill:{color:"#938fcf"},stroke:{color:"#827ec5",width:3},radius:25};const Vy=qy,zy="element",Yy="map",jy="offset",Hy="position",Xy="positioning";const Wy=class extends Ks{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=void 0===t.insertFirst||t.insertFirst,this.stopEvent=void 0===t.stopEvent||t.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==t.className?t.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===t.autoPan?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(zy,this.handleElementChanged),this.addChangeListener(Yy,this.handleMapChanged),this.addChangeListener(jy,this.handleOffsetChanged),this.addChangeListener(Hy,this.handlePositionChanged),this.addChangeListener(Xy,this.handlePositioningChanged),void 0!==t.element&&this.setElement(t.element),this.setOffset(void 0!==t.offset?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),void 0!==t.position&&this.setPosition(t.position)}getElement(){return this.get(zy)}getId(){return this.id}getMap(){return this.get(Yy)||null}getOffset(){return this.get(jy)}getPosition(){return this.get(Hy)}getPositioning(){return this.get(Xy)}handleElementChanged(){Nl(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(Rl(this.element),qs(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=Gs(t,gh,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(zy,t)}setMap(t){this.set(Yy,t)}setOffset(t){this.set(jy,t)}setPosition(t){this.set(Hy,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(Hy))return;const i=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),r=this.getRect(n,[Ll(n),Ml(n)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!D(i,r)){const n=r[0]-i[0],o=i[2]-r[2],a=r[1]-i[1],l=i[3]-r[3],h=[0,0];if(n<0?h[0]=n-s:o<0&&(h[0]=Math.abs(o)+s),a<0?h[1]=a-s:l<0&&(h[1]=Math.abs(l)+s),0!==h[0]||0!==h[1]){const i=e.getView().getCenterInternal(),n=e.getPixelFromCoordinateInternal(i);if(!n)return;const r=[n[0]+h[0],n[1]+h[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(r),duration:s.duration,easing:s.easing})}}}getRect(t,e){const i=t.getBoundingClientRect(),n=i.left+window.pageXOffset,r=i.top+window.pageYOffset;return[n,r,n+e[0],r+e[1]]}setPositioning(t){this.set(Xy,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e)return void this.setVisible(!1);const i=t.getPixelFromCoordinate(e),n=t.getSize();this.updateRenderedPosition(i,n)}updateRenderedPosition(t,e){const i=this.element.style,n=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?s="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(s="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?o="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(o="-50%");const a=`translate(${s}, ${o}) translate(${Math.round(t[0]+n[0])+"px"}, ${Math.round(t[1]+n[1])+"px"})`;this.rendered.transform_!=a&&(this.rendered.transform_=a,i.transform=a)}getOptions(){return this.options}};class Ky{static listen(){Ky.WIDTH=window.innerWidth,Ky.HEIGHT=window.innerHeight,window.addEventListener("resize",(t=>{Ky.WIDTH=t.target.innerWidth,Ky.HEIGHT=t.target.innerHeight}))}}Ky.WIDTH=window.innerWidth,Ky.HEIGHT=window.innerHeight,Ky.listen();const Jy=Ky;const Zy=class extends Wy{constructor(t={}){super({}),this.panMapIfOutOfView=t.panMapIfOutOfView,void 0===this.panMapIfOutOfView&&(this.panMapIfOutOfView=!0),this.ani_opts=t.ani_opts,void 0===this.ani_opts&&(this.ani_opts={duration:250}),this.facadeMap_=null,this.cachedAniPixel_=null}addTo(t,e){this.facadeMap_=t,this.container=e,this.content=this.getContentFromContainer(e),uL(this.content),this.setElement(this.container),t.getMapImpl().addOverlay(this)}show(t,e){return this.setPosition(t),this.panMapIfOutOfView&&this.panIntoView_(t),this.content.scrollTop=0,VB(e)&&e(),this}centerByStatus(t,e){const i=this.getMap().getView().getResolution(),n=[].concat(e);if(t===sI.status.COLLAPSED)n[1]-=.1*Jy.HEIGHT*i;else{if(t!==sI.status.DEFAULT)return;n[1]-=.275*Jy.HEIGHT*i}const r=this.facadeMap_.getFeatureCenter();this.facadeMap_.setCenter({x:n[0],y:n[1]}),qB(r)||this.facadeMap_.drawFeatures([r])}getContentFromContainer(t){return t.querySelector("div.m-body")}panIntoView_(t){return this.panIntoSynchronizedAnim_().then((()=>{if(this.isAnimating_=!0,Jy.WIDTH>768){const e=30,i=this.element.querySelector(".m-popup"),n=i.clientWidth+20,r=i.clientHeight+20+e,s=this.getMap().getSize(),o=this.getMap().getView().getCenter(),a=20,l=60,h=n-l,c=this.getOffset(),u=this.getMap().getPixelFromCoordinate(t);if(!qB(u)){const t=u[0]-l,e=s[0]-(u[0]+h),i=u[1]-(r+c[1]),n=s[1]-(u[1]+a)-c[1],g=this.getMap().getPixelFromCoordinate(o),d=g.slice();e<0?d[0]-=e:t<0&&(d[0]+=t),i<0?d[1]+=i:n<0&&(d[1]-=n),!qB(this.ani_opts)&&qB(this.ani_opts.source)&&(this.ani_opts.source=o,this.getMap().getView().animate(this.ani_opts)),d[0]===g[0]&&d[1]===g[1]||this.getMap().getView().setCenter(this.getMap().getCoordinateFromPixel(d))}}this.isAnimating_=!1})),this.getMap().getView().getCenter()}panIntoSynchronizedAnim_(){return new Promise(((t,e)=>{if(!0===this.isAnimating_){let e=300;qB(this.ani_opts)||(e=this.ani_opts.duration),setTimeout(t,e)}else t()}))}hide(t){this.facadeMap_.removePopup(t)}setContainer(t){this.setElement(t),this.content=this.getContentFromContainer(t),uL(this.content)}getContent(){return this.content}};var $y=i(810),tI=i.n($y);let eI=0;const iI=(t,e)=>({android:t=>`geo:${t[1]}},${t[0]}?q=${t[1]},${t[0]}`,ios:t=>`maps://?ll=${t[1]},${t[0]}`,unknown:t=>`http://maps.google.com?q=${t[1]},${t[0]}`}[t](e));class nI{constructor(t={}){this.icon=t.icon,this.title=t.title,this.content=t.content,this.listeners=t.listeners||[]}}class rI extends Qc{constructor(t){super(new Zy(t)),this.coord_=null,this.tabs_=[],this.element_=null,this.status_=rI.status.COLLAPSED,eI+=1,this.id_="m-popup-".concat(eI)}getId(){return this.id_}getTabs(){return this.tabs_}removeTab(t){const e=[];let i=null;this.tabs_.forEach((n=>{n.content!==t.content?e.push(n):i=n})),this.tabs_=this.tabs_.filter((e=>e.content!==t.content)),this.fire(yu,[i]),this.update()}addTab(t){let e=t;e instanceof nI||(e=new nI(t),this.fire(_u,[e])),this.tabs_.push(e),this.update()}addTo(t,e){if(this.map_=t,qB(this.element_)){const i=RL(e,this.map_.getProjection().code,"EPSG:4326"),n=TL(),r=bu(tI(),{jsonp:!0,vars:{id:this.id_,tabs:this.tabs_,options:rI.options,url:iI(n,i)}});this.tabs_.length>0&&(this.element_=r,this.addEvents(r),this.getImpl().addTo(t,r),this.show(e))}else this.getImpl().addTo(t,this.element_),this.show(e);this.fire(fu,[this]),t.fire(fu,[this])}update(){if(!qB(this.map_)){const t=RL(this.coord_,this.map_.getProjection().code,"EPSG:4326"),e=TL(),i=bu(tI(),{jsonp:!0,vars:{tabs:this.tabs_,options:rI.options,url:iI(e,t)}});this.tabs_.length>0&&(this.element_=i,this.addEventTabs(this.tabs_[0],i),this.addEvents(i),this.getImpl().setContainer(i),this.show(this.coord_))}}show(t){this.coord_=t,this.getImpl().show(this.coord_,(()=>{this.fire(Zc)}))}hide(t){qB(t)||t.preventDefault(),this.getImpl().hide(this)}switchTab(t){if(this.tabs_.length>t){const e=this.tabs_[t];this.setContent_(e.content),this.addEventTabs(e,this.getContent()),this.show(this.coord_)}}addEventTabs(t,e){const{listeners:i}=t;i.forEach((t=>{!0===t.all?e.querySelectorAll(t.selector).forEach((e=>{e.addEventListener(t.type,(e=>t.callback(e)))})):e.querySelector(t.selector).addEventListener(t.type,(e=>t.callback(e)))}))}setContent_(t){this.getContent().innerHTML=t}getContent(){return this.getImpl().getContent()}addEvents(t){const e=t;let i;const n=e.querySelectorAll("div.m-tab");Array.prototype.forEach.call(n,(t=>{t.addEventListener("click",(e=>{e.preventDefault();const r=e.clientY;if("click"===e.type||Math.abs(i-r)<5){Array.prototype.forEach.call(n,(t=>{t.classList.remove("m-activated")})),t.classList.add("m-activated");const e=t.getAttribute("data-index");this.switchTab(e)}})),t.addEventListener("touchend",(e=>{e.preventDefault();const r=e.clientY;if("touchend"===e.type||Math.abs(i-r)<5){Array.prototype.forEach.call(n,(t=>{t.classList.remove("m-activated")})),t.classList.add("m-activated");const e=t.getAttribute("data-index");this.switchTab(e)}}))}));const r=e.querySelector("a.m-popup-closer");r.addEventListener("click",this.hide.bind(this),!1),r.addEventListener("touchend",this.hide.bind(this),!1);let s=e.querySelector("div.m-tabs");if(qB(s)&&(s=e.querySelector("div.m-content > div.m-header")),!qB(s)){let t;s.addEventListener("touchstart",(n=>{n.preventDefault(),i=n.touches[0].clientY,this.status_===rI.status.COLLAPSED?t=.9*Jy.HEIGHT:this.status_===rI.status.DEFAULT?t=.45*Jy.HEIGHT:this.status_===rI.status.FULL&&(t=0),e.classList.add("m-no-animation")}),!1),s.addEventListener("touchmove",(n=>{n.preventDefault(),this.touchY=n.touches[0].clientY;const r=this.touchY-i;e.style.top=`${t+r}px`}),!1),s.addEventListener("touchend",(t=>{t.preventDefault(),this.manageCollapsiblePopup_(i,this.touchY)}),!1);const n=window.matchMedia("(max-width: 768px)");setTimeout((()=>this.manageTransform(n,e)),10),n.addEventListener("change",(t=>{this.manageTransform(t,e)})),s.addEventListener("mouseup",(t=>{t.preventDefault(),this.tabs_.length<=1&&(this.status_===rI.status.COLLAPSED?this.setStatus_(rI.status.DEFAULT):this.status_===rI.status.DEFAULT?this.setStatus_(rI.status.FULL):this.setStatus_(rI.status.COLLAPSED))}))}}setStatus_(t){t!==this.status_&&(this.element_.classList.remove(this.status_),this.status_=t,this.element_.classList.add(this.status_),this.element_.style.top="",this.element_.classList.remove("m-no-animation"),Jy.WIDTH<=M.config.MOBILE_WIDTH&&this.getImpl().centerByStatus(t,this.coord_))}manageTransform(t,e){e&&e.parentElement&&(t.matches?e.parentElement.classList.add("unsetTransform"):e.parentElement.classList.remove("unsetTransform"))}manageCollapsiblePopup_(t,e){const i=100*e/Jy.HEIGHT;100*Math.abs(t-e)/Jy.HEIGHT>10?this.status_===rI.status.COLLAPSED?i<45?this.setStatus_(rI.status.FULL):i<85?this.setStatus_(rI.status.DEFAULT):this.setStatus_(rI.status.COLLAPSED):this.status_===rI.status.DEFAULT?i>45?this.setStatus_(rI.status.COLLAPSED):i<45?this.setStatus_(rI.status.FULL):this.setStatus_(rI.status.DEFAULT):this.status_===rI.status.FULL&&(i>45?this.setStatus_(rI.status.COLLAPSED):i>0?this.setStatus_(rI.status.DEFAULT):this.setStatus_(rI.status.FULL)):this.setStatus_(this.status_)}getCoordinate(){return this.coord_}setCoordinate(t){this.coord_=t,qB(this.element_)||this.getImpl().show(t)}destroy(){this.tabs_.length=0,this.coord_=null,this.fire(tu)}}rI.status={},rI.status.COLLAPSED="m-collapsed",rI.status.DEFAULT="m-default",rI.status.FULL="m-full",rI.options={takeMeThere:!1,textMode:!0,msg:"Llévame allí"};const sI=rI;var oI=i(130),aI=i.n(oI);class lI extends Vd{constructor(t,e){super(t,e),this.facadeVector_=null,this.features_=[],this.postComposeEvtKey_=null,this.load_=!1,this.loaded_=!1}addTo(t){this.map=t,this.fire(kc),t.on(hu,this.setProjection_.bind(this),this),this.ol3Layer=new Sy(this.vendorOptions_),this.updateSource_(),this.opacity_&&this.setOpacity(this.opacity_),this.setVisible(this.visibility);this.map.getMapImpl().addLayer(this.ol3Layer)}updateSource_(){qB(this.vendorOptions_.source)&&(qB(this.ol3Layer.getSource())&&this.ol3Layer.setSource(new kf),this.redraw(),this.loaded_=!0,this.fire(su,[this.features_]))}inRange(){return!0}addFeatures(t,e,i=!0){!0===i?t.forEach((t=>{const e=this.features_.find((e=>e.equals(t)));qB(e)&&this.features_.push(t)})):this.features_.push(...t),e&&this.updateLayer_();const n=this.facadeVector_.getStyle();n instanceof Vy?(n.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),n.refresh()):this.redraw()}updateLayer_(){const t=this.facadeVector_.getStyle();if(!qB(t))if(t instanceof Jm)this.facadeVector_.setStyle(t);else if(t instanceof Vy){const t=this.facadeVector_.getStyle();t.unapply(this.facadeVector_),t.getOldStyle().apply(this.facadeVector_),t.apply(this.facadeVector_)}else t.apply(this.facadeVector_)}getFeatures(t,e){let i=this.features_;return t||(i=e.execute(i)),i}getFeatureById(t){return this.features_.filter((e=>e.getId()===t))[0]}removeFeatures(t){this.features_=this.features_.filter((e=>!t.includes(e)));const e=this.facadeVector_.getStyle();e instanceof Vy?(e.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),e.refresh()):this.redraw()}redraw(){const t=this.getOLLayer();if(!qB(t)){const e=this.facadeVector_.getStyle();let i=t.getSource();i instanceof Gf&&(i=i.getSource()),e instanceof Vy&&e.getImpl().deactivateChangeEvent();[...i.getFeatures()].forEach(i.removeFeature,i);const n=this.facadeVector_.getFeatures();i.addFeatures(n.map(PL.facade2OLFeature)),e instanceof Vy&&e.getImpl().activateChangeEvent()}}getFeaturesExtent(t,e){const i=this.getFeatures(t,e);let n=qd.getFeaturesExtent(i,this.map.getProjection().code);return null===n&&(n=this.map.getProjection().getExtent()),n}selectFeatures(t,e,i){const n=t[0];if(!(n instanceof OL||!0!==this.extract||(this.unselectFeatures(),qB(n)))){const r=n.getAttribute("vendor.mapea.click");if(VB(r))r(i,n);else{const i=bu(aI(),{vars:this.parseFeaturesForTemplate_(t),parseToHtml:!1}),n={icon:"g-cartografia-pin",title:this.name,content:i};let r=this.map.getPopup();qB(r)?(r=new sI,r.addTab(n),this.map.addPopup(r,e)):r.addTab(n)}}}unselectFeatures(){}setFacadeObj(t){this.facadeVector_=t}setProjection_(t,e){if(t.code!==e.code){const i=ee(t.code),n=ee(e.code),r=this.facadeVector_.getStyle();r instanceof Vy&&r.getImpl().deactivateChangeEvent(),this.facadeVector_.getFeatures().forEach((t=>t.getImpl().getOLFeature().getGeometry().transform(i,n))),r instanceof Vy&&r.getImpl().activateChangeEvent()}}parseFeaturesForTemplate_(t){const e={features:[]};return t.forEach((t=>{if(!(t instanceof OL)){const i=t.getAttributes(),n=Object.keys(i),r=[];n.forEach((t=>{let e=!0;qB(this.showAttributes_)?qB(this.hiddenAttributes_)||(e=!lL(this.hiddenAttributes_,t)):e=lL(this.showAttributes_,t),e&&r.push({key:oL(t),value:i[t]})}));const s={id:t.getId(),attributes:r};e.features.push(s)}})),e}equals(t){let e=!1;return t instanceof lI&&this.constructor===t.constructor&&(e=!0),e}refresh(){this.getOLLayer().getSource().clear()}isLoaded(){return this.loaded_}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}getFeaturesExtentPromise(t,e){return new Promise((i=>{const n=this.map.getProjection().code;if(!0===this.isLoaded()){const r=this.getFeatures(t,e),s=qd.getFeaturesExtent(r,n);i(s)}else this.requestFeatures_().then((t=>{const e=qd.getFeaturesExtent(t,n);i(e)}))}))}}const hI=lI;var cI=i(200),uI=i.n(cI);const gI=(t,e,i)=>{const n={message:t,title:e,severity:i},r=bu(uI(),{vars:n});(()=>{const t=document.querySelectorAll("div.m-dialog");Array.prototype.forEach.call(t,(t=>{t.parentElement.removeChild(t)}))})();const s=document.querySelector("div.m-mapea-container");r.querySelector("div.m-button > button").addEventListener("click",(t=>{var e;(e=r).parentElement.removeChild(e)})),s.appendChild(r)},dI=(t,e)=>{let i=e;return qB(i)&&(i=Cu("dialog").info),gI(t,i,"info")},AI=(t,e)=>{let i=e;return qB(i)&&(i=Cu("dialog").error),gI(t,i,"error")},pI=(t,e)=>{let i=e;return qB(i)&&(i=Cu("dialog").success),gI(t,i,"success")};const fI=class{getFunctionFilter(){}execute(t){}toCQL(){}};class mI extends _g{constructor(t={},e={},i={},n){const r=n||new hI(e,i);super(t,r),QB(hI)&&Oc(Cu("exception").vectorlayer_method),this.extract=t.extract,qB(this.extract)&&(this.extract=!0),this.style_=null,this.filter_=null,this.setStyle(e.style),r.on(su,(t=>this.fire(su,[t])))}get type(){return ku}set type(t){QB(t)||qB(t)||t===ku||Oc("El tipo de capa debe ser '".concat(ku).concat("' pero se ha especificado '").concat(t).concat("'"))}get extract(){return this.getImpl().extract}set extract(t){qB(t)?this.getImpl().extract=!0:YB(t)?this.getImpl().extract="true"===XB(t):this.getImpl().extract=t}addFeatures(t,e=!1,i=!0){let n=t;qB(n)||(UB(n)||(n=[n]),this.getImpl().addFeatures(n,e,i))}getFeatures(t){let e=t;return qB(this.getFilter())&&(e=!0),this.getImpl().getFeatures(e,this.filter_)}getFeatureById(t){let e=null;return qB(t)?AI(Cu("dialog").id_feature):e=this.getImpl().getFeatureById(t),e}removeFeatures(t){let e=t;UB(e)||(e=[e]),this.getImpl().removeFeatures(e)}clear(){this.removeFilter(),this.removeFeatures(this.getFeatures(!0))}refresh(){this.getImpl().refresh(!0),this.redraw()}redraw(){this.getImpl().redraw()}setFilter(t){if(qB(t)||t instanceof fI){this.filter_=t;const e=this.style_;e instanceof Vy&&e.getImpl().deactivateChangeEvent(),this.redraw(),e instanceof Vy&&(e.getImpl().activateChangeEvent(),e.refresh())}else AI(Cu("dialog").vector_filter)}getFilter(){return this.filter_}getFeaturesExtent(t){let e=t;return qB(this.getFilter())&&(e=!0),this.getImpl().getFeaturesExtent(e,this.filter_)}removeFilter(){this.setFilter(null)}equals(t){let e=!1;return t instanceof mI&&(e=this.name===t.name,e=e&&this.id===t.id),e}setStyle(t,e=!1,i=mI.DEFAULT_OPTIONS_STYLE){this.getImpl().isLoaded()?(qB(this.getStyle())&&this.applyStyle_(i,e),qB(t)||this.applyStyle_(t,e)):this.once(su,(()=>{qB(this.getStyle())&&this.applyStyle_(i,e),qB(t)||this.applyStyle_(t,e)}))}applyStyle_(t,e){let i=t;if(YB(i)?i=Jm.deserialize(i):i instanceof Jm||(i=new e_(i)),i instanceof Jm&&(!qB(this.style_)&&this.style_ instanceof Jm&&this.style_.unapply(this),i.apply(this,e),this.style_=i,this.fire(cu,[i,this])),!qB(this.getImpl().getMap())){const t=this.getImpl().getMap().getControls("layerswitcher")[0];qB(t)||t.render()}this.fire(cu,[i,this])}getStyle(){return this.style_}clearStyle(){this.setStyle(null),this.getFeatures().forEach((t=>t.clearStyle()))}getLegendURL(){let t=this.getImpl().getLegendURL();return-1!==t.indexOf(_g.LEGEND_DEFAULT)&&-1===t.indexOf(_g.LEGEND_ERROR)&&this.style_ instanceof Jm&&(t=this.style_ instanceof Vy&&this.style_.getStyles().length>0?this.style_.getStyles()[0].toImage():this.style_.toImage()),t}getGeometryType(){let t=null;if(!qB(this.getFeatures())){const e=this.getFeatures()[0];qB(e)||qB(e.getGeometry())||(t=e.getGeometry().type)}return t}getMaxExtent(){return this.getFeaturesExtent()}calculateMaxExtent(){return this.getImpl().getFeaturesExtentPromise(!0,this.filter_)}toGeoJSON(){const t=this.map_.getProjection().code,e=this.getFeatures().map((t=>t.getGeoJSON()));return{type:"FeatureCollection",features:Gd(e,t)}}}mI.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},mI.DEFAULT_OPTIONS_STYLE={point:{...mI.DEFAULT_PARAMS,radius:5},line:{...mI.DEFAULT_PARAMS},polygon:{...mI.DEFAULT_PARAMS}};const _I=mI;class yI extends um{toImage(t){let e=null;const i={fill:this.options_.fill,stroke:this.options_.stroke,icon:this.options_.icon};if(!0===bL(i))e=LL(t);else{if(qB(this.olStyleFn_))return null;let t=this.olStyleFn_()[1];if(t.getImage&&null!=t.getImage()&&t.getImage()instanceof qf){if(t.getImage()instanceof Qm){const i=t.getImage().getImage(1);null!=i&&i&&(e=i.toDataURL())}else if(t.getImage()instanceof Om){const i=t.getImage();if(!qB(i)&&(e=i.getSrc(),!e.startsWith(window.location.origin))){const t=aL([M.config.PROXY_URL,"/image"]);e=KB(t,{url:e})}}}else{t=this.olStyleFn_()[0],null!=t.getImage()&&null!=t.getImage().getStroke()&&(t.getImage().getStroke().getWidth()>yI.DEFAULT_WIDTH_POINT&&t.getImage().getStroke().setWidth(yI.DEFAULT_WIDTH_POINT),t.getImage().render());const i=t.getImage().getImage(1);null!=i&&(e=i.toDataURL())}}return e}updateFacadeOptions(t){this.olStyleFn_=i=>{let r=i;r instanceof _d||r instanceof Pd||(r=this);const s=new Dy({zIndex:um.getValue(t.zindex,r,this.layer_),geometry:t=>{let e=null;if("MultiPoint"===t.getGeometry().getType())e=new Id(t.getGeometry().getCoordinates());else{const i=qd.getCentroid(t.getGeometry());e=new qa(i)}return e}}),o=new Dy({zIndex:um.getValue(t.zindex,r,this.layer_),geometry:t=>{let e=null;if("MultiPoint"===t.getGeometry().getType())e=new Id(t.getGeometry().getCoordinates());else{const i=qd.getCentroid(t.getGeometry());e=new qa(i)}return e}});if(r instanceof _d){const t=t=>{let e=null;if("MultiPoint"===t.getGeometry().getType())e=new Id(t.getGeometry().getCoordinates());else{const i=qd.getCentroid(t.getGeometry());e=new qa(i)}return e};s.setGeometry(t),o.setGeometry(t)}let l,h;if(!qB(t.fill)){const e=um.getValue(t.fill.color,r,this.layer_);let i=um.getValue(t.fill.opacity,r,this.layer_);i||0===i||(i=1),qB(e)||(l=new wm({color:a()(e).alpha(i).css()}))}if(!qB(t.stroke)){const e=um.getValue(t.stroke.color,r,this.layer_);if(!qB(e)){const{linedashoffset:i}=t.stroke;h=new bm({color:e,width:um.getValue(t.stroke.width,r,this.layer_),lineDash:um.getValue(t.stroke.linedash,r,this.layer_),lineDashOffset:um.getValue(i,r,this.layer_),lineCap:um.getValue(t.stroke.linecap,r,this.layer_),lineJoin:um.getValue(t.stroke.linejoin,r,this.layer_),miterLimit:um.getValue(t.stroke.miterlimit,r,this.layer_)})}}if(!qB(t.label)){const i=um.getValue(t.label.text,r,this.layer_),o=um.getValue(t.label.align,r,this.layer_),a=um.getValue(t.label.baseline,r,this.layer_),l=new Fm({font:um.getValue(t.label.font,r,this.layer_),rotateWithView:um.getValue(t.label.rotate,r,this.layer_),scale:um.getValue(t.label.scale,r,this.layer_),offsetX:um.getValue(t.label.offset?t.label.offset[0]:void 0,r,this.layer_),offsetY:um.getValue(t.label.offset?t.label.offset[1]:void 0,r,this.layer_),fill:new wm({color:um.getValue(t.label.color||"#000000",r,this.layer_)}),textAlign:Object.values(e).includes(o)?o:"center",textBaseline:Object.values(n).includes(a)?a:"top",text:void 0===i?void 0:String(i),rotation:um.getValue(t.label.rotation,r,this.layer_)});if(!qB(t.label.stroke)){const{miterlimit:e,linedashoffset:i}=t.label.stroke;l.setStroke(new bm({color:um.getValue(t.label.stroke.color,r,this.layer_),width:um.getValue(t.label.stroke.width,r,this.layer_),lineCap:um.getValue(t.label.stroke.linecap,r,this.layer_),lineJoin:um.getValue(t.label.stroke.linejoin,r,this.layer_),lineDash:um.getValue(t.label.stroke.linedash,r,this.layer_),lineDashOffset:um.getValue(i,r,this.layer_),miterLimit:um.getValue(e,r,this.layer_)}))}s.setText(l)}return s.setImage(new Gm({fill:l,stroke:h,radius:um.getValue(t.radius,r,this.layer_),snapToPixel:um.getValue(t.snapToPixel,r,this.layer_)})),qB(t.icon)||(qB(t.icon.src)?qB(t.icon.form)||o.setImage(new Qm({form:qB(um.getValue(t.icon.form,r,this.layer_))?"":um.getValue(t.icon.form,r,this.layer_).toLowerCase(),gradient:um.getValue(t.icon.gradient,r,this.layer_),glyph:um.getValue(t.icon.class,r,this.layer_),fontSize:um.getValue(t.icon.fontsize,r,this.layer_),radius:um.getValue(t.icon.radius,r,this.layer_),rotation:um.getValue(t.icon.rotation,r,this.layer_),rotateWithView:um.getValue(t.icon.rotate,r,this.layer_),offsetX:um.getValue(t.icon.offset?t.icon.offset[0]:void 0,r,this.layer_),offsetY:um.getValue(t.icon.offset?t.icon.offset[1]:void 0,r,this.layer_),fill:new wm({color:um.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",r,this.layer_)}),stroke:t.icon.color?new bm({color:um.getValue(t.icon.color,r,this.layer_),width:1}):void 0,anchor:um.getValue(t.icon.anchor,r,this.layer_),anchorXUnits:um.getValue(t.icon.anchorxunits,r,this.layer_),anchorYUnits:um.getValue(t.icon.anchoryunits,r,this.layer_),src:um.getValue(t.icon.src,r,this.layer_),opacity:um.getValue(t.icon.opacity,r,this.layer_),scale:um.getValue(t.icon.scale,r,this.layer_),snapToPixel:um.getValue(t.icon.snaptopixel,r,this.layer_),offsetOrigin:um.getValue(t.icon.offsetorigin,r,this.layer_),offset:um.getValue(t.icon.offset,r,this.layer_),crossOrigin:um.getValue(t.icon.crossorigin,r,this.layer_),anchorOrigin:um.getValue(t.icon.anchororigin,r,this.layer_),size:um.getValue(t.icon.size,r,this.layer_)})):o.setImage(new Om({anchor:um.getValue(t.icon.anchor,r,this.layer_),anchorXUnits:um.getValue(t.icon.anchorxunits,r,this.layer_),anchorYUnits:um.getValue(t.icon.anchoryunits,r,this.layer_),src:um.getValue(t.icon.src,r,this.layer_),opacity:um.getValue(t.icon.opacity,r,this.layer_),scale:um.getValue(t.icon.scale,r,this.layer_),rotation:um.getValue(t.icon.rotation,r,this.layer_),rotateWithView:um.getValue(t.icon.rotate,r,this.layer_),snapToPixel:um.getValue(t.icon.snaptopixel,r,this.layer_),offsetOrigin:um.getValue(t.icon.offsetorigin,r,this.layer_),offset:um.getValue(t.icon.offset,r,this.layer_),crossOrigin:um.getValue(t.icon.crossorigin,r,this.layer_),anchorOrigin:um.getValue(t.icon.anchororigin,r,this.layer_),size:um.getValue(t.icon.size,r,this.layer_)}))),[s,o]}}drawGeometryToCanvas(t){this.olStyleFn_()[1].getImage()instanceof lm?t.drawGeometry(new qa([10,10])):t.drawCircle(new kd([this.getCanvasSize()[0]/2,this.getCanvasSize()[1]/2],this.getRadius_()))}updateCanvas(t){if(this.updateFacadeOptions(this.options_),!bL(this.options_)){const e=this.getCanvasSize(),i=rm(t.getContext("2d"),{size:e});let n=this.olStyleFn_()[0];qB(n.getText())||n.setText(null),!qB(this.olStyleFn_()[1])&&this.olStyleFn_()[1].getImage()instanceof lm&&(n=this.olStyleFn_()[1]);const r=n.getImage().getStroke();qB(r)||qB(r.getWidth())||r.setWidth(3),i.setStyle(n),this.drawGeometryToCanvas(i)}}getCanvasSize(){const t=this.olStyleFn_()[1].getImage();let e;if(t instanceof lm)e=[90,90];else{const i=this.getRadius_(t);e=[2*i+4,2*i+4]}return e}getRadius_(t){let e;return e=t instanceof Hf?25:t instanceof lm?t.getRadius():this.olStyleFn_()[0].getImage().getRadius(),e}}yI.DEFAULT_WIDTH_POINT=3;const II=yI;class EI extends $m{constructor(t){let e=t;e=qB(e)?EI.DEFAULT_NULL:_L(e,EI.DEFAULT),e=_L({},e);super(e,new II(e))}toImage(){return this.getImpl().toImage(this.canvas_)}getDeserializedMethod_(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Point'))"}}EI.DEFAULT={radius:5},EI.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5},radius:5};const CI=EI;class vI extends vu{constructor(t){super(new xf(t),vI.NAME),QB(xf)&&Oc(Cu("exception").layerswitcher_method),QB(t)||""===t?this.activeEmptyLayer=!1:this.activeEmptyLayer=!0}addTo(t){this.map_=t;const e=this.getImpl();this.createView(t).then((i=>{this.manageActivation(i),e.addTo(t,i),this.fire(kc)}))}createView(t){return new Promise((t=>{vI.getTemplateVariables(this.map_).then((e=>{this.activeEmptyLayer&&e.baseLayers.unshift(vI.EMPTYLAYER);const i=bu(yf(),{vars:e});t(i)}))}))}equals(t){return t instanceof vI}render(){this.getImpl().renderPanel()}registerEvents(){this.getImpl().registerEvents()}unregisterEvents(){this.getImpl().unregisterEvents()}static getTemplateVariables(t){return new Promise(((e,i)=>{if(!qB(t)){const i=t.getBaseLayers().filter((t=>!0===t.displayInLayerSwitcher)),n=t.getLayerGroup(),r=vI.orderLayerGroups(n),s=t.getRootLayers().filter((t=>{const e=!0===t.transparent,i=!0===t.displayInLayerSwitcher,n=t.type!==Tu,r=!(t.type===Nu&&qB(t.name)),s=t.getLayerGroup&&null===t.getLayerGroup();return e&&n&&r&&i&&s})).reverse(),o=Promise.all(i.map(vI.parseLayerForTemplate)),a=Promise.all(s.map(vI.parseLayerForTemplate)),l=Promise.all(r.map((t=>vI.parseGroupForTemplate(t,i))).filter((t=>!qB(t))));o.then((t=>{l.then((i=>{a.then((n=>e({baseLayers:t,overlayLayers:n,layerGroups:i})))}))}))}}))}static parseLayerForTemplate(t){let e=t.legend;qB(e)&&(e=t.name),qB(e)&&(e="Servicio WMS");let i=!1;if(t instanceof _I){const e=t.getStyle();e instanceof CI&&!qB(e.get("icon.src"))&&(i=!0)}return new Promise(((n,r)=>{const s={base:!1===t.transparent,visible:!0===t.isVisible(),id:t.id,title:e,outOfRange:!t.inRange(),opacity:t.getOpacity(),isIcon:i},o=t.getLegendURL();o instanceof Promise?o.then((t=>{s.legend=t,n(s)})):(s.legend="KML"!==t.type?o:null,n(s))}))}static parseGroupForTemplate(t,e){const i=[...t.getChildren()];let n=t.title;qB(n)&&(n=t.id),qB(n)&&(n="Conjunto de Servicios WMS");let r={id:t.id,title:n,order:t.order,collapsed:t.collapsed,layers:[],layerGroups:[]},s=null;if(i.length>0){i.forEach((t=>{t instanceof _g?r.layers.push(vI.parseLayerForTemplate(t)):t instanceof Cf&&r.layerGroups.push(vI.parseGroupForTemplate(t,e))}));let n=0;const o=t.getAllLayers();o.every((t=>t.isVisible()))?n=2:o.some((t=>t.isVisible()))&&(n=1),r.visible=n,qB(r.layers)&&qB(r.layerGroups)&&(r=null),GB(r)||(s=new Promise(((t,e)=>{Promise.all(r.layers).then((e=>{qB(r)||(r.layers=e,r.layerGroups.length>0?Promise.all(r.layerGroups).then((e=>{GB(e[0])?r.layerGroups=[]:r.layerGroups=e,t(r)})):t(r))}))})))}return s}static orderLayerGroups(t){return t.sort(((t,e)=>t.order-e.order))}}vI.NAME="layerswitcher",vI.EMPTYLAYER={base:!0,id:"emptyLayer",isIcon:!1,legend:"",opacity:1,outOfRange:!1,title:Cu("layerswitcher").no_base_layer,visible:!1};const xI=vI,wI="accuracy",SI="accuracyGeometry",bI="altitude",BI="altitudeAccuracy",LI="heading",MI="position",TI="projection",RI="speed",NI="tracking",PI="trackingOptions",FI="error";class DI extends us{constructor(t){super(FI),this.code=t.code,this.message=t.message}}const OI=class extends Ks{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.position_=null,this.transform_=$t,this.watchId_=void 0,this.addChangeListener(TI,this.handleProjectionChanged_),this.addChangeListener(NI,this.handleTrackingChanged_),void 0!==t.projection&&this.setProjection(t.projection),void 0!==t.trackingOptions&&this.setTrackingOptions(t.trackingOptions),this.setTracking(void 0!==t.tracking&&t.tracking)}disposeInternal(){this.setTracking(!1),super.disposeInternal()}handleProjectionChanged_(){const t=this.getProjection();t&&(this.transform_=le(ee("EPSG:4326"),t),this.position_&&this.set(MI,this.transform_(this.position_)))}handleTrackingChanged_(){if("geolocation"in navigator){const t=this.getTracking();t&&void 0===this.watchId_?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):t||void 0===this.watchId_||(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}}positionChange_(t){const e=t.coords;this.set(wI,e.accuracy),this.set(bI,null===e.altitude?void 0:e.altitude),this.set(BI,null===e.altitudeAccuracy?void 0:e.altitudeAccuracy),this.set(LI,null===e.heading?void 0:mt(e.heading)),this.position_?(this.position_[0]=e.longitude,this.position_[1]=e.latitude):this.position_=[e.longitude,e.latitude];const i=this.transform_(this.position_);this.set(MI,i.slice()),this.set(RI,null===e.speed?void 0:e.speed);const n=ol(this.position_,e.accuracy);n.applyTransform(this.transform_),this.set(SI,n),this.changed()}positionError_(t){this.dispatchEvent(new DI(t))}getAccuracy(){return this.get(wI)}getAccuracyGeometry(){return this.get(SI)||null}getAltitude(){return this.get(bI)}getAltitudeAccuracy(){return this.get(BI)}getHeading(){return this.get(LI)}getPosition(){return this.get(MI)}getProjection(){return this.get(TI)}getSpeed(){return this.get(RI)}getTracking(){return this.get(NI)}getTrackingOptions(){return this.get(PI)}setProjection(t){this.set(TI,ee(t))}setTracking(t){this.set(NI,t)}setTrackingOptions(t){this.set(PI,t)}};class QI extends Af{constructor(t,e,i,n){super(n),this.vendorOptions_=n,this.geolocation_=null,this.accuracyFeature_=PL.olFeature2Facade(new _d),this.tracking_=t,this.highAccuracy_=e,this.maximumAge_=i,this.activated_=!1,this.positionFeature_=PL.olFeature2Facade(new _d({style:QI.POSITION_STYLE}))}activate(){if(this.element.classList.add("m-locating"),qB(this.geolocation_)){const t=ee(this.facadeMap_.getProjection().code);this.geolocation_=new OI(hL({projection:t,tracking:this.tracking_,trackingOptions:{enableHighAccuracy:this.highAccuracy_,maximumAge:this.maximumAge_}},this.vendorOptions_,!0)),this.geolocation_.on("change:accuracyGeometry",(t=>{const e=t.target.get(t.key);this.accuracyFeature_.getImpl().getOLFeature().setGeometry(e)})),this.geolocation_.on("change:position",(t=>{const e=t.target.get(t.key),i=qB(e)?null:new qa(e);this.positionFeature_.getImpl().getOLFeature().setGeometry(i),this.facadeMap_.setCenter(e),this.element.classList.contains("m-locating")&&this.facadeMap_.setZoom(QI.ZOOM),this.element.classList.remove("m-locating"),this.element.classList.add("m-located"),this.geolocation_.setTracking(this.tracking_)}))}this.geolocation_.setTracking(!0),this.facadeMap_.drawFeatures([this.accuracyFeature_,this.positionFeature_])}removePositions_(){qB(this.accuracyFeature_)||this.facadeMap_.removeFeatures([this.accuracyFeature_]),qB(this.positionFeature_)||this.facadeMap_.removeFeatures([this.positionFeature_]),this.geolocation_.setTracking(!1)}deactivate(){this.removePositions_(),this.element.classList.remove("m-located"),this.element.classList.remove("m-locating"),this.geolocation_=null}setTracking(t){this.tracking_=t,this.geolocation_.setTracking(t)}destroy(){this.removePositions_(),super.destroy()}}QI.POSITION_STYLE=new Nm({image:new vm({radius:6,fill:new wm({color:"#3399CC"}),stroke:new bm({color:"#fff",width:2})})}),QI.ZOOM=12;const kI=QI;var GI=i(326),UI=i.n(GI);class qI extends vu{constructor(t=!0,e=!1,i={}){QB(kI)&&Oc(Cu("exception").location_method);super(new kI(t,e,6e4,i),qI.NAME)}createView(t){return bu(UI(),{vars:{title:Cu("location").title}})}getActivationButton(t){return t.querySelector("button#m-location-button")}equals(t){return t instanceof qI}setTracking(t){this.getImpl().tracking=t}}qI.NAME="location";const VI=qI;var zI=i(797),YI=i.n(zI);const jI=class extends Af{constructor(t={}){super(),this.facadeMap_=null,this.exactScale=t.exactScale||!1}addTo(t,e){this.facadeMap_=t;this.scaleContainer_=e.querySelector("#".concat("m-scale-span")),this.element=e,this.render=this.renderCB,this.target_=null,t.getMapImpl().addControl(this)}renderCB(t){const e=t.frameState;qB(e)||((t,e,i,n)=>{const r=e;i.getWMTS().length>0?r.innerHTML=qd.getWMTSScale(i,n):i.getWMTS().length<=0&&!0===n?r.innerHTML=i.getExactScale():i.getWMTS().length<=0&&1==!n&&(r.innerHTML=i.getScale())})(e.viewState,this.scaleContainer_,this.facadeMap_,this.exactScale)}destroy(){super.destroy(),this.scaleContainer_=null}};class HI extends vu{constructor(t={}){super(new jI(t),HI.NAME),QB(jI)&&Oc(Cu("exception").scale_method)}createView(t){return bu(YI(),{vars:{title:Cu("scale").title,scale:Cu("scale").scale}})}equals(t){return t instanceof HI}destroy(){super.destroy();const t=this.getPanel();qB(t)||t.removeClassName("m-with-scale")}}HI.NAME="scale";const XI=HI;class WI extends Af{constructor(t){super(t),this.facadeMap_=null}addTo(t,e){super.addTo(t,e);const i=t.getMapImpl();this.olMap=i,this.panel=e,this.panel.querySelector("button").addEventListener("click",(()=>{this.resetRotation()})),i.on("change:view",(t=>{t.target.getView().on("change:rotation",(t=>{const e=`rotate(${360*t.target.getRotation()/(2*Math.PI)}deg)`;this.panel.querySelector("button").style.WebkitTransform=e,this.panel.querySelector("button").style.MozTransform=e,this.panel.querySelector("button").style.transform=e}))}))}getElement(){return this.element}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}resetRotation(){this.olMap.getView().setRotation(0)}onChangeView(t){const e=t.querySelector("#m-rotate-marker");this.olMap.on("change:view",(t=>{t.target.getView().on("change:rotation",(t=>{const i=t.target.getRotation();e.style.transform=`rotate(${i*(180/Math.PI)+45}deg)`}))}))}}WI.PANEL_ID="m-layerswitcher-panel";const KI=WI;var JI=i(29),ZI=i.n(JI);const $I=(t,e,i)=>{const n=e;let r=t.target.parentElement.parentElement,s=0,o=0;for(;r&&!Number.isNaN(r.offsetLeft)&&!Number.isNaN(r.offsetTop);)s+=r.offsetLeft-r.scrollLeft,o+=r.offsetTop-r.scrollTop,r=r.offsetParent;s=t.clientX-s,o=t.clientY-o;const{clientWidth:a,clientHeight:l}=t.currentTarget,h=[0,-l],c=[s-a/2,o-l/2],u=(h[0]*c[0]+h[1]*c[1])/(Math.sqrt(h[0]**2+h[1]**2)*Math.sqrt(c[0]**2+c[1]**2));let g=180*Math.acos(u)/Math.PI;c[0]<0&&(g=360-g),i.setRotation(g);n.querySelector("#m-rotate-marker").style.WebkitTransform=`rotate(${g+45}deg)`,n.querySelector("#m-rotate-marker").style.MozTransform=`rotate(${g+45}deg)`,n.querySelector("#m-rotate-marker").style.transform=`rotate(${g+45}deg)`},tE=(t,e)=>{e.querySelector("#m-rotate-slider-container").addEventListener("mousedown",(e=>{t.setActive(!0),"m-rotate-button"!==e.target.id&&t.setMouseDown(!0)}))},eE=(t,e)=>{document.body.addEventListener("mouseup",(e=>{t.setActive(!1)}))},iE=(t,e,i)=>{const n=e,r=e.querySelector("#m-rotate-slider-container");r.addEventListener("click",(r=>{"m-rotate-button"!==r.target.id||t.getMouseDown()?$I(r,e,i):(t.getImpl().resetRotation(),n.querySelector("#m-rotate-marker").style.WebkitTransform="rotate(40deg)",n.querySelector("#m-rotate-marker").style.MozTransform="rotate(40deg)",n.querySelector("#m-rotate-marker").style.transform="rotate(40deg)"),t.setMouseDown(!1)}))},nE=(t,e,i)=>{e.querySelector("#m-rotate-slider-container").addEventListener("mousemove",(n=>{t.getActive()&&$I(n,e,i)}))};class rE extends vu{constructor(){QB(KI)&&Oc("La implementación usada no puede crear controles Scale");super(new KI,rE.NAME),this.active_=!1,this.isMouseDown_=!1}createView(t){const e=bu(ZI());return e.querySelector("#m-rotate-marker").style.WebkitTransform="rotate(40deg)",e.querySelector("#m-rotate-marker").style.MozTransform="rotate(40deg)",e.querySelector("#m-rotate-marker").style.transform="rotate(40deg)",tE(this,e),nE(this,e,t),eE(this),iE(this,e,t),this.on(kc,(()=>{this.getImpl().onChangeView(e)})),e}equals(t){return t instanceof rE}setActive(t){this.active_=!!t}getActive(){return this.active_}setMouseDown(t){this.isMouseDown_=!!t}getMouseDown(){return this.isMouseDown_}}rE.NAME="rotate";const sE=rE,oE="units",aE=[1,2,5],lE=25.4/.28;const hE=class extends Lh{constructor(t){t=t||{};const e=document.createElement("div");e.style.pointerEvents="none",super({element:e,render:t.render,target:t.target}),this.on,this.once,this.un;const i=void 0!==t.className?t.className:t.bar?"ol-scale-bar":"ol-scale-line";this.innerElement_=document.createElement("div"),this.innerElement_.className=i+"-inner",this.element.className=i+" "+Il,this.element.appendChild(this.innerElement_),this.viewState_=null,this.minWidth_=void 0!==t.minWidth?t.minWidth:64,this.maxWidth_=t.maxWidth,this.renderedVisible_=!1,this.renderedWidth_=void 0,this.renderedHTML_="",this.addChangeListener(oE,this.handleUnitsChanged_),this.setUnits(t.units||"metric"),this.scaleBar_=t.bar||!1,this.scaleBarSteps_=t.steps||4,this.scaleBarText_=t.text||!1,this.dpi_=t.dpi||void 0}getUnits(){return this.get(oE)}handleUnitsChanged_(){this.updateElement_()}setUnits(t){this.set(oE,t)}setDpi(t){this.dpi_=t}updateElement_(){const t=this.viewState_;if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=t.center,i=t.projection,n=this.getUnits(),r="degrees"==n?"degrees":"m";let s=ie(i,t.resolution,e,r);const o=this.minWidth_*(this.dpi_||lE)/lE,a=void 0!==this.maxWidth_?this.maxWidth_*(this.dpi_||lE)/lE:void 0;let l=o*s,h="";if("degrees"==n){const t=c.degrees;l*=t,l=a){u=A,g=p,d=f;break}if(g>=o)break;A=u,p=g,f=d,++m}const _=this.scaleBar_?this.createScaleBar(g,u,h):u.toFixed(d<0?-d:0)+" "+h;this.renderedHTML_!=_&&(this.innerElement_.innerHTML=_,this.renderedHTML_=_),this.renderedWidth_!=g&&(this.innerElement_.style.width=g+"px",this.renderedWidth_=g),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}createScaleBar(t,e,i){const n=this.getScaleForResolution(),r=n<1?Math.round(1/n).toLocaleString()+" : 1":"1 : "+Math.round(n).toLocaleString(),s=this.scaleBarSteps_,o=t/s,a=[this.createMarker("absolute")];for(let n=0;n
    `+this.createMarker("relative")+(n%2==0||2===s?this.createStepText(n,t,!1,e,i):"")+"")}a.push(this.createStepText(s,t,!0,e,i));return(this.scaleBarText_?`
    `+r+"
    ":"")+a.join("")}createMarker(t){return`
    `}createStepText(t,e,i,n,r){const s=(0===t?0:Math.round(n/this.scaleBarSteps_*t*100)/100)+(0===t?"":" "+r);return`
    `+s+"
    "}getScaleForResolution(){return ie(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,"m")*(1e3/25.4)*(this.dpi_||lE)}render(t){const e=t.frameState;this.viewState_=e?e.viewState:null,this.updateElement_()}},cE="units",uE="degrees",gE="imperial",dE="nautical",AE="metric",pE="us",fE=[1,2,5];const mE=class extends hE{constructor(t){super(t),this.facadeMap_=null,this.keyEvent_=null}addTo(t,e){this.facadeMap_=t,this.removeChangeListener(cE,this.handleUnitsChanged),this.keyEvent_=this.addChangeListener(cE,this.handleUnitsChanged),t.getMapImpl().addControl(this)}getElement(){return this.element}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}handleUnitsChanged_(){this.updateElement_()}updateElement_(){const t=this.viewState_;if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=t.center,i=t.projection,n=this.getUnits(),r=n===uE?"degrees":"m";let s=ie(i,t.resolution,e,r);"degrees"!==i.getUnits()&&i.getMetersPerUnit()&&"m"===r&&(s*=i.getMetersPerUnit()),"d"===i.getUnits()&&(s/=12e4);let o=this.minWidth_*s,a="";if(n===uE){const t=c.degrees;"degrees"===i.getUnits()?o*=t:s/=t,o=this.minWidth_)break;u+=1}const g=l.toString().concat(" ").concat(a);this.renderedHTML_!==g&&(this.innerElement_.innerHTML=g,this.renderedHTML_=g),this.renderedWidth_!==h&&(this.innerElement_.style.width=h.toString().concat("px"),this.renderedWidth_=h),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}};var _E=i(959),yE=i.n(_E);class IE extends vu{constructor(t={}){super(new mE(t),IE.NAME),QB(mE)&&Oc(Cu("exception").scaleline_method)}createView(t){return bu(yE())}equals(t){return t instanceof IE}}IE.NAME="scaleline";const EE=IE;var CE=i(389),vE=i.n(CE);const xE="projection",wE="coordinateFormat";const SE=class extends Lh{constructor(t){t=t||{};const e=document.createElement("div");e.className=void 0!==t.className?t.className:"ol-mouse-position",super({element:e,render:t.render,target:t.target}),this.on,this.once,this.un,this.addChangeListener(xE,this.handleProjectionChanged_),t.coordinateFormat&&this.setCoordinateFormat(t.coordinateFormat),t.projection&&this.setProjection(t.projection),this.renderOnMouseOut_=void 0!==t.placeholder,this.placeholder_=this.renderOnMouseOut_?t.placeholder:" ",this.renderedHTML_=e.innerHTML,this.mapProjection_=null,this.transform_=null,this.wrapX_=!1!==t.wrapX}handleProjectionChanged_(){this.transform_=null}getCoordinateFormat(){return this.get(wE)}getProjection(){return this.get(xE)}handleMouseMove(t){const e=this.getMap();this.updateHTML_(e.getEventPixel(t))}handleMouseOut(t){this.updateHTML_(null)}setMap(t){if(super.setMap(t),t){const e=t.getViewport();this.listenerKeys.push(Gs(e,ah,this.handleMouseMove,this)),this.renderOnMouseOut_&&this.listenerKeys.push(Gs(e,ch,this.handleMouseOut,this)),this.updateHTML_(null)}}setCoordinateFormat(t){this.set(wE,t)}setProjection(t){this.set(xE,ee(t))}updateHTML_(t){let e=this.placeholder_;if(t&&this.mapProjection_){if(!this.transform_){const t=this.getProjection();this.transform_=t?le(this.mapProjection_,t):$t}const i=this.getMap().getCoordinateFromPixelInternal(t);if(i){const t=Ae();if(t&&(this.transform_=le(this.mapProjection_,t)),this.transform_(i,i),this.wrapX_){kt(i,t||this.getProjection()||this.mapProjection_)}const n=this.getCoordinateFormat();e=n?n(i):i.toString()}}this.renderedHTML_&&e===this.renderedHTML_||(this.element.innerHTML=e,this.renderedHTML_=e)}render(t){const e=t.frameState;e?this.mapProjection_!=e.viewState.projection&&(this.mapProjection_=e.viewState.projection,this.transform_=null):this.mapProjection_=null}};const bE=class extends SE{constructor(t){super(t),this.vendorOptions_=t}getElement(){return this.element}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}handleMouseMove(t){const e=this.getMap();this.lastMouseMovePixel_=e.getEventPixel(t),this.updateHTML_(this.lastMouseMovePixel_)}handleMouseOut(t){this.updateHTML_(null),this.lastMouseMovePixel_=null}updateHTML_(t){let e=this.placeholder_;const i=this.getProjection();if(t&&this.mapProjection_){this.transform_||(this.transform_=i?he(this.mapProjection_,i):$t);const n=this.getMap().getCoordinateFromPixel(t);if(n){this.transform_(n,n);const t=this.getCoordinateFormat();e=t?t(n):n.toString()}this.vendorOptions_.label&&(e+=` | ${this.vendorOptions_.label}`)}this.renderedHTML_&&e===this.renderedHTML_||(this.element.innerHTML=void 0!==e?e:"",this.renderedHTML_=void 0!==e?e:"")}};const BE=class extends bE{constructor(t,e){super(hL({coordinateFormat:Lt(t.precision||4),label:t.label,placeholder:"",className:"m-mouse-position g-cartografia-flecha"},e,!0)),this.srs_=t.srs,this.label_=t.label,this.precision_=t.precision,this.vendorOptions_=e}addTo(t,e){this.facadeMap_=t,this.setProjection(this.srs_||t.getProjection().code),this.setTarget(e),t.getMapImpl().addControl(this),qB(this.vendorOptions_.projection)&&qB(this.srs_)&&t.getImpl().on(au,(()=>{this.mousePositionControl.setProjection(ee(t.getProjection().code))}))}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}};class LE extends vu{constructor(t={},e={}){super(new BE(t,e),LE.NAME),QB(BE)&&Oc(Cu("exception").mouse_method)}createView(t){return bu(vE())}equals(t){return t instanceof LE}destroy(){super.destroy();const t=this.getPanel();qB(t)||t.removeClassName("m-with-mouse")}}LE.NAME="mouse";const ME=LE,TE=.75,RE=.1;const NE=class extends Lh{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target}),this.boundHandleRotationChanged_=this.handleRotationChanged_.bind(this),this.collapsed_=void 0===t.collapsed||t.collapsed,this.collapsible_=void 0===t.collapsible||t.collapsible,this.collapsible_||(this.collapsed_=!1),this.rotateWithView_=void 0!==t.rotateWithView&&t.rotateWithView,this.viewExtent_=void 0;const e=void 0!==t.className?t.className:"ol-overviewmap",i=void 0!==t.tipLabel?t.tipLabel:"Overview map",n=void 0!==t.collapseLabel?t.collapseLabel:"‹";"string"==typeof n?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=n):this.collapseLabel_=n;const r=void 0!==t.label?t.label:"›";"string"==typeof r?(this.label_=document.createElement("span"),this.label_.textContent=r):this.label_=r;const s=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_,o=document.createElement("button");o.setAttribute("type","button"),o.title=i,o.appendChild(s),o.addEventListener(Ms,this.handleClick_.bind(this),!1),this.ovmapDiv_=document.createElement("div"),this.ovmapDiv_.className="ol-overviewmap-map",this.view_=t.view;const a=new bc({view:t.view,controls:new eo,interactions:new eo});this.ovmap_=a,t.layers&&t.layers.forEach((function(t){a.addLayer(t)}));const l=document.createElement("div");l.className="ol-overviewmap-box",l.style.boxSizing="border-box",this.boxOverlay_=new Wy({position:[0,0],positioning:"center-center",element:l}),this.ovmap_.addOverlay(this.boxOverlay_);const h=e+" "+Il+" "+Cl+(this.collapsed_&&this.collapsible_?" "+vl:"")+(this.collapsible_?"":" ol-uncollapsible"),c=this.element;c.className=h,c.appendChild(this.ovmapDiv_),c.appendChild(o);const u=this,g=this.boxOverlay_,d=this.boxOverlay_.getElement(),A=function(t){const e={clientX:(i=t).clientX,clientY:i.clientY};var i;const n=a.getEventCoordinateInternal(e);g.setPosition(n)},p=function(t){const e=a.getEventCoordinateInternal(t);u.getMap().getView().setCenterInternal(e),window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",p)};d.addEventListener("mousedown",(function(){window.addEventListener("mousemove",A),window.addEventListener("mouseup",p)}))}setMap(t){const e=this.getMap();if(t!==e){if(e){const t=e.getView();t&&this.unbindView_(t),this.ovmap_.setTarget(null)}if(super.setMap(t),t){this.ovmap_.setTarget(this.ovmapDiv_),this.listenerKeys.push(Gs(t,gs,this.handleMapPropertyChange_,this));const e=t.getView();e&&(this.bindView_(e),e.isDef()&&(this.ovmap_.updateSize(),this.resetExtent_())),this.ovmap_.isRendered()||this.updateBoxAfterOvmapIsRendered_()}}}handleMapPropertyChange_(t){if(t.key===Ih){const e=t.oldValue;e&&this.unbindView_(e);const i=this.getMap().getView();this.bindView_(i)}else this.ovmap_.isRendered()||t.key!==yh&&t.key!==_h||this.ovmap_.updateSize()}bindView_(t){if(!this.view_){const e=new dl({projection:t.getProjection()});this.ovmap_.setView(e)}t.addChangeListener(ta.ROTATION,this.boundHandleRotationChanged_),this.handleRotationChanged_()}unbindView_(t){t.removeChangeListener(ta.ROTATION,this.boundHandleRotationChanged_)}handleRotationChanged_(){this.rotateWithView_&&this.ovmap_.getView().setRotation(this.getMap().getView().getRotation())}validateExtent_(){const t=this.getMap(),e=this.ovmap_;if(!t.isRendered()||!e.isRendered())return;const i=t.getSize(),n=t.getView().calculateExtentInternal(i);if(this.viewExtent_&&z(n,this.viewExtent_))return;this.viewExtent_=n;const r=e.getSize(),s=e.getView().calculateExtentInternal(r),o=e.getPixelFromCoordinateInternal(st(n)),a=e.getPixelFromCoordinateInternal(Z(n)),l=Math.abs(o[0]-a[0]),h=Math.abs(o[1]-a[1]),c=r[0],u=r[1];lc*TE||h>u*TE?this.resetExtent_():D(s,n)||this.recenter_()}resetExtent_(){const t=this.getMap(),e=this.ovmap_,i=t.getSize(),n=t.getView().calculateExtentInternal(i),r=e.getView(),s=Math.log(7.5)/Math.LN2;ct(n,1/(Math.pow(2,s/2)*RE)),r.fitInternal(al(n))}recenter_(){const t=this.getMap(),e=this.ovmap_,i=t.getView();e.getView().setCenterInternal(i.getCenterInternal())}updateBox_(){const t=this.getMap(),e=this.ovmap_;if(!t.isRendered()||!e.isRendered())return;const i=t.getSize(),n=t.getView(),r=e.getView(),s=this.rotateWithView_?0:-n.getRotation(),o=this.boxOverlay_,a=this.boxOverlay_.getElement(),l=n.getCenterInternal(),h=n.getResolution(),c=r.getResolution(),u=i[0]*h/c,g=i[1]*h/c;if(o.setPosition(l),a){a.style.width=u+"px",a.style.height=g+"px";const t="rotate("+s+"rad)";a.style.transform=t}}updateBoxAfterOvmapIsRendered_(){this.ovmapPostrenderKey_||(this.ovmapPostrenderKey_=Us(this.ovmap_,gh,(function(t){delete this.ovmapPostrenderKey_,this.updateBox_()}),this))}handleClick_(t){t.preventDefault(),this.handleToggle_()}handleToggle_(){this.element.classList.toggle(vl),this.collapsed_?Tl(this.collapseLabel_,this.label_):Tl(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;const t=this.ovmap_;if(!this.collapsed_){if(t.isRendered())return this.viewExtent_=void 0,void t.render();t.updateSize(),this.resetExtent_(),this.updateBoxAfterOvmapIsRendered_()}}getCollapsible(){return this.collapsible_}setCollapsible(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),!t&&this.collapsed_&&this.handleToggle_())}setCollapsed(t){this.collapsible_&&this.collapsed_!==t&&this.handleToggle_()}getCollapsed(){return this.collapsed_}getRotateWithView(){return this.rotateWithView_}setRotateWithView(t){this.rotateWithView_!==t&&(this.rotateWithView_=t,0!==this.getMap().getView().getRotation()&&(this.rotateWithView_?this.handleRotationChanged_():this.ovmap_.getView().setRotation(0),this.viewExtent_=void 0,this.validateExtent_(),this.updateBox_()))}getOverviewMap(){return this.ovmap_}render(t){this.validateExtent_(),this.updateBox_()}};const PE=class extends NE{constructor(t,e={}){super(hL({layers:[]},e,!0)),this.toggleDelay_=0,qB(t.toggleDelay)||(this.toggleDelay_=t.toggleDelay),this.collapsedButtonClass_="g-cartografia-mundo",qB(t.collapsedButtonClass)||(this.collapsedButtonClass_=t.collapsedButtonClass),this.openedButtonClass_="g-cartografia-flecha-derecha2",qB(t.openedButtonClass)||(this.openedButtonClass_=t.openedButtonClass),this.facadeMap_=null}set facadeControl(t){this.facadeControl_=t}get facadeControl(){return this.facadeControl_}addTo(t,e){this.facadeMap_=t,this.update(t,e),this.getCollapsed()||this.addLayers(this.facadeMap_)}update(t,e){const i=this.element.querySelector("button");!0===this.collapsed_?i.classList.contains(this.collapsedButtonClass_)?i.classList.remove(this.collapsedButtonClass_):i.classList.add(this.collapsedButtonClass_):i.classList.contains(this.openedButtonClass_)?i.classList.remove(this.openedButtonClass_):i.classList.add(this.openedButtonClass_),this.addOpenEventListener(i,t),this.setTarget()}addOpenEventListener(t,e){t.onclick=this.openEventListener.bind(this)}openEventListener(t){const e=t;!0===this.getCollapsed()&&(this.addLayers(this.facadeMap_),e.target.onclick=null)}setTarget(){const t=this.facadeControl_;if(!qB(t)){const e=t.getPanel();qB(e)||(this.target_=e.getControlsContainer())}}getElement(){return this.element}addLayer_(t){t.un(kc,this.addLayer_,this),this.getOverviewMap().addLayer(t.getOLLayer())}addLayers(t){const e=[];t.getLayers().forEach((t=>{[t].forEach((t=>{if((t.type===Nu||!1===t.transparent)&&t.isVisible()){const i=t.getImpl().getOLLayer();let n=null;if(!qB(i)){const e=i.getProperties();delete e.map,n=!0===t.tiled?new Kg(e):new $g(e)}qB(n)?t.getImpl().on(kc,this.addLayer_.bind(this)):e.push(n)}}))}));const i=new sf({projection:ee(t.getProjection().code),resolutions:t.getResolutions()});t.getMapImpl().addControl(this),this.ovmap_.setView(i),e.forEach((t=>this.ovmap_.addLayer(t))),this.wasOpen_=!0}handleToggle_(){xL(this.element,"ol-collapsed");const t=this.element.querySelector("button");xL(t,this.openedButtonClass_),xL(t,this.collapsedButtonClass_),setTimeout((()=>{this.collapsed_?wL(this.collapseLabel_,this.label_):wL(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;const t=this.ovmap_;this.collapsed_||t.isRendered()||(t.updateSize(),this.resetExtent_(),t.addEventListener("postrender",(t=>{this.updateBox_()})))}),this.toggleDelay_)}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}};var FE=i(922),DE=i.n(FE);class OE extends vu{constructor(t={},e={}){const i=new PE(t,e);super(i,OE.NAME),QB(PE)&&Oc(Cu("exception").overviewmap_method),i.facadeControl=this}createView(t){return bu(DE())}equals(t){return t instanceof OE}}OE.NAME="overviewmap";const QE=OE;const kE=class{constructor(){this.element_=null}addTo(t,e){this.element_=e}getElement(){return this.element_}destroy(){}};var GE=i(637),UE=i.n(GE);class qE extends vu{constructor(){super(new kE,qE.NAME),QB(kE)&&Oc(Cu("exception").navtoolbar_method)}createView(t){return bu(UE())}equals(t){return t instanceof qE}}qE.NAME="navtoolbar";const VE=qE;var zE=i(72),YE=i.n(zE);const jE=class extends Rh{constructor(t){super(t),this.facadeMap_=null}addTo(t,e){this.facadeMap_=t,t.getMapImpl().addControl(this)}getElement(){return this.element}destroy(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}};class HE extends vu{constructor(t={}){super(new jE(t),HE.NAME),QB(jE)&&Oc(Cu("exception").panzoom_method)}createView(t){return bu(YE())}equals(t){return t instanceof HE}}HE.NAME="panzoom";const XE=HE;const WE=class{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let i=e.dataProjection?ee(e.dataProjection):this.readProjection(t);e.extent&&i&&"tile-pixels"===i.getUnits()&&(i=ee(i),i.setWorldExtent(e.extent)),e={dataProjection:i,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection},t)}getType(){return js()}readFeature(t,e){return js()}readFeatures(t,e){return js()}readGeometry(t,e){return js()}readProjection(t){return js()}writeFeature(t,e){return js()}writeFeatures(t,e){return js()}writeGeometry(t,e){return js()}};function KE(t,e,i){const n=i?ee(i.featureProjection):null,r=i?ee(i.dataProjection):null;let s;if(s=n&&r&&!ae(n,r)?(e?t.clone():t).transform(e?n:r,e?r:n):t,e&&i&&void 0!==i.decimals){const e=Math.pow(10,i.decimals),n=function(t){for(let i=0,n=t.length;i0?i[0]:null}readFeatureFromNode(t,e){return null}readFeatures(t,e){if(!t)return[];if("string"==typeof t){const i=Kd(t);return this.readFeaturesFromDocument(i,e)}return Wd(t)?this.readFeaturesFromDocument(t,e):this.readFeaturesFromNode(t,e)}readFeaturesFromDocument(t,e){const i=[];for(let n=t.firstChild;n;n=n.nextSibling)n.nodeType==Node.ELEMENT_NODE&&_s(i,this.readFeaturesFromNode(n,e));return i}readFeaturesFromNode(t,e){return js()}readGeometry(t,e){if(!t)return null;if("string"==typeof t){const i=Kd(t);return this.readGeometryFromDocument(i,e)}return Wd(t)?this.readGeometryFromDocument(t,e):this.readGeometryFromNode(t,e)}readGeometryFromDocument(t,e){return null}readGeometryFromNode(t,e){return null}readProjection(t){if(!t)return null;if("string"==typeof t){const e=Kd(t);return this.readProjectionFromDocument(e)}return Wd(t)?this.readProjectionFromDocument(t):this.readProjectionFromNode(t)}readProjectionFromDocument(t){return this.dataProjection}readProjectionFromNode(t){return this.dataProjection}writeFeature(t,e){const i=this.writeFeatureNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeatureNode(t,e){return null}writeFeatures(t,e){const i=this.writeFeaturesNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeaturesNode(t,e){return null}writeGeometry(t,e){const i=this.writeGeometryNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeGeometryNode(t,e){return null}},$E="http://www.opengis.net/gml",tC=/^\s*$/;class eC extends ZE{constructor(t){super(),t=t||{},this.featureType=t.featureType,this.featureNS=t.featureNS,this.srsName=t.srsName,this.schemaLocation="",this.FEATURE_COLLECTION_PARSERS={},this.FEATURE_COLLECTION_PARSERS[this.namespace]={featureMember:Zd(this.readFeaturesInternal),featureMembers:$d(this.readFeaturesInternal)},this.supportedMediaTypes=["application/gml+xml"]}readFeaturesInternal(t,e){const i=t.localName;let n=null;if("FeatureCollection"==i)n=hA([],this.FEATURE_COLLECTION_PARSERS,t,e,this);else if("featureMembers"==i||"featureMember"==i||"member"==i){const r=e[0];let s=r.featureType,o=r.featureNS;const a="p",l="p0";if(!s&&t.childNodes){s=[],o={};for(let e=0,i=t.childNodes.length;e0&&!(t instanceof _a)){t={_content_:t};for(let e=0;e=2,"At least 2 conditions are required")}};const pC=class extends AC{constructor(t){super("And",Array.prototype.slice.call(arguments))}};const fC=class extends dC{constructor(t,e,i){if(super("BBOX"),this.geometryName=t,this.extent=e,4!==e.length)throw new Error("Expected an extent with four values ([minX, minY, maxX, maxY])");this.srsName=i}};const mC=class extends dC{constructor(t,e,i,n){super(t),this.geometryName=e||"the_geom",this.geometry=i,this.srsName=n}};const _C=class extends mC{constructor(t,e,i){super("Contains",t,e,i)}};const yC=class extends mC{constructor(t,e,i,n,r){super("DWithin",t,e,r),this.distance=i,this.unit=n}};const IC=class extends mC{constructor(t,e,i){super("Disjoint",t,e,i)}};const EC=class extends dC{constructor(t,e){super(t),this.propertyName=e}};const CC=class extends EC{constructor(t,e,i){super("During",t),this.begin=e,this.end=i}};const vC=class extends EC{constructor(t,e,i,n){super(t,e),this.expression=i,this.matchCase=n}};const xC=class extends vC{constructor(t,e,i){super("PropertyIsEqualTo",t,e,i)}};const wC=class extends vC{constructor(t,e){super("PropertyIsGreaterThan",t,e)}};const SC=class extends vC{constructor(t,e){super("PropertyIsGreaterThanOrEqualTo",t,e)}};const bC=class extends mC{constructor(t,e,i){super("Intersects",t,e,i)}};const BC=class extends EC{constructor(t,e,i){super("PropertyIsBetween",t),this.lowerBoundary=e,this.upperBoundary=i}};const LC=class extends EC{constructor(t,e,i,n,r,s){super("PropertyIsLike",t),this.pattern=e,this.wildCard=void 0!==i?i:"*",this.singleChar=void 0!==n?n:".",this.escapeChar=void 0!==r?r:"!",this.matchCase=s}};const MC=class extends EC{constructor(t){super("PropertyIsNull",t)}};const TC=class extends vC{constructor(t,e){super("PropertyIsLessThan",t,e)}};const RC=class extends vC{constructor(t,e){super("PropertyIsLessThanOrEqualTo",t,e)}};const NC=class extends dC{constructor(t){super("Not"),this.condition=t}};const PC=class extends vC{constructor(t,e,i){super("PropertyIsNotEqualTo",t,e,i)}};const FC=class extends AC{constructor(t){super("Or",Array.prototype.slice.call(arguments))}};const DC=class extends mC{constructor(t,e,i){super("Within",t,e,i)}};function OC(t){const e=[null].concat(Array.prototype.slice.call(arguments));return new(Function.prototype.bind.apply(pC,e))}function QC(t,e,i){return new fC(t,e,i)}const kC={"http://www.opengis.net/gml":{boundedBy:eA(iC.prototype.readExtentElement,"bounds")},"http://www.opengis.net/wfs/2.0":{member:Zd(iC.prototype.readFeaturesInternal)}},GC={"http://www.opengis.net/wfs":{totalInserted:eA(EA),totalUpdated:eA(EA),totalDeleted:eA(EA)},"http://www.opengis.net/wfs/2.0":{totalInserted:eA(EA),totalUpdated:eA(EA),totalDeleted:eA(EA)}},UC={"http://www.opengis.net/wfs":{TransactionSummary:eA(ZC,"transactionSummary"),InsertResults:eA(iv,"insertIds")},"http://www.opengis.net/wfs/2.0":{TransactionSummary:eA(ZC,"transactionSummary"),InsertResults:eA(iv,"insertIds")}},qC={"http://www.opengis.net/wfs":{PropertyName:iA(bA)},"http://www.opengis.net/wfs/2.0":{PropertyName:iA(bA)}},VC={"http://www.opengis.net/wfs":{Insert:iA(nv),Update:iA(av),Delete:iA(ov),Property:iA(lv),Native:iA(hv)},"http://www.opengis.net/wfs/2.0":{Insert:iA(nv),Update:iA(av),Delete:iA(ov),Property:iA(lv),Native:iA(hv)}},zC="feature",YC="http://www.w3.org/2000/xmlns/",jC={"2.0.0":"http://www.opengis.net/ogc/1.1","1.1.0":"http://www.opengis.net/ogc","1.0.0":"http://www.opengis.net/ogc"},HC={"2.0.0":"http://www.opengis.net/wfs/2.0","1.1.0":"http://www.opengis.net/wfs","1.0.0":"http://www.opengis.net/wfs"},XC={"2.0.0":"http://www.opengis.net/fes/2.0","1.1.0":"http://www.opengis.net/fes","1.0.0":"http://www.opengis.net/fes"},WC={"2.0.0":"http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd","1.1.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd","1.0.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd"},KC={"2.0.0":gC,"1.1.0":cC,"1.0.0":oC};function JC(t,e,i,n){uA(n,VC,rA(t),e,i)}function ZC(t,e){return hA({},GC,t,e)}const $C={"http://www.opengis.net/ogc":{FeatureId:Zd((function(t,e){return t.getAttribute("fid")}))},"http://www.opengis.net/ogc/1.1":{FeatureId:Zd((function(t,e){return t.getAttribute("fid")}))}};function tv(t,e){lA($C,t,e)}const ev={"http://www.opengis.net/wfs":{Feature:tv},"http://www.opengis.net/wfs/2.0":{Feature:tv}};function iv(t,e){return hA([],ev,t,e)}function nv(t,e,i){const n=i[i.length-1],r=n.featureType,s=n.featureNS,o=n.gmlVersion,a=jd(s,r);t.appendChild(a),2===o?oC.prototype.writeFeatureElement(a,e,i):3===o?cC.prototype.writeFeatureElement(a,e,i):gC.prototype.writeFeatureElement(a,e,i)}function rv(t,e,i){const n=i[i.length-1].version,r=jC[n],s=jd(r,"Filter"),o=jd(r,"FeatureId");s.appendChild(o),o.setAttribute("fid",e),t.appendChild(s)}function sv(t,e){const i=(t=t||zC)+":";return e.startsWith(i)?e:i+e}function ov(t,e,i){const n=i[i.length-1];go(void 0!==e.getId(),"Features must have an id set");const r=n.featureType,s=n.featurePrefix,o=n.featureNS,a=sv(s,r);t.setAttribute("typeName",a),t.setAttributeNS(YC,"xmlns:"+s,o);const l=e.getId();void 0!==l&&rv(t,l,i)}function av(t,e,i){const n=i[i.length-1];go(void 0!==e.getId(),"Features must have an id set");const r=n.version,s=n.featureType,o=n.featurePrefix,a=n.featureNS,l=sv(o,s),h=e.getGeometryName();t.setAttribute("typeName",l),t.setAttributeNS(YC,"xmlns:"+o,a);const c=e.getId();if(void 0!==c){const s=e.getKeys(),o=[];for(let t=0,i=s.length;t{const r=this.combineBboxAndFilter(n.geometryName,n.bbox,t.srsName,t.filter);Object.assign(i,{geometryName:n.geometryName,filter:r}),bv(e,[n.name],[i])}));return e}combineBboxAndFilter(t,e,i,n){const r=QC(t,e,i);return n?OC(n,r):r}writeTransaction(t,e,i,n){const r=[],s=n.version?n.version:this.version_,o=jd(HC[s],"Transaction");let a;o.setAttribute("service","WFS"),o.setAttribute("version",s),n&&(a=n.gmlOptions?n.gmlOptions:{},n.handle&&o.setAttribute("handle",n.handle)),o.setAttributeNS(Yd,"xsi:schemaLocation",WC[s]);const l=function(t,e,i,n){const r=n.featurePrefix?n.featurePrefix:zC;let s;"1.0.0"===i?s=2:"1.1.0"===i?s=3:"2.0.0"===i&&(s=3.2);const o=Object.assign({node:t},{version:i,featureNS:n.featureNS,featureType:n.featureType,featurePrefix:r,gmlVersion:s,hasZ:n.hasZ,srsName:n.srsName},e);return o}(o,a,s,n);return t&&JC("Insert",t,r,l),e&&JC("Update",e,r,l),i&&JC("Delete",i,r,l),n.nativeElements&&JC("Native",n.nativeElements,r,l),o}readProjectionFromDocument(t){for(let e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readProjectionFromNode(e);return null}readProjectionFromNode(t){if(t.firstElementChild&&t.firstElementChild.firstElementChild)for(let e=(t=t.firstElementChild.firstElementChild).firstElementChild;e;e=e.nextElementSibling)if(0!==e.childNodes.length&&(1!==e.childNodes.length||3!==e.firstChild.nodeType)){const t=[{}];return this.gmlFormat_.readGeometryElement(e,t),ee(t.pop().srsName)}return null}};var Mv=i(690),Tv=i.n(Mv),Rv=i(512),Nv=i.n(Rv);class Pv extends Af{constructor(t,e){super(),this.userFormat=t,this.featureCount=e.featureCount,qB(this.featureCount)&&(this.featureCount=10),this.buffer=e.buffer}addTo(t,e){!1===t.getMapImpl().getControls().getArray().some((t=>t instanceof Pv))&&(this.facadeMap_=t,this.element=e,t.getMapImpl().addControl(this))}activate(){this.addOnClickEvent_()}deactivate(){this.deleteOnClickEvent_()}addOnClickEvent_(){const t=this.facadeMap_.getMapImpl();"plain"===XB(this.userFormat)||"text/plain"===XB(this.userFormat)?this.userFormat="text/plain":"gml"===XB(this.userFormat)||"application/vnd.ogc.gml"===XB(this.userFormat)?this.userFormat="application/vnd.ogc.gml":this.userFormat="text/html",this.clickEventKey_=t.on("singleclick",(t=>this.buildUrl_(r,t)))}buildUrl_(t,e){this.evt=e;const i=this.facadeMap_.getMapImpl(),n=this.buildWMSInfoURL(this.facadeMap_.getWMS()),r=[...this.buildWMTSInfoURL(this.facadeMap_.getWMTS()),...n].filter((t=>!qB(t)));r.length>0?this.showInfoFromURL_(r,e.coordinate,i):t.info("No existen capas consultables")}buildWMSInfoURL(t){const e=this.facadeMap_.getMapImpl().getView().getResolution(),i=this.facadeMap_.getProjection().code;return t.map((t=>{const n=t.getImpl().getOLLayer();let r;if(t.isVisible()&&t.isQueryable()&&!qB(n)){r={};const s={INFO_FORMAT:this.userFormat,FEATURE_COUNT:this.featureCount},o=/buffer/i,a=n.getSource(),l=this.evt.coordinate;let h=a.getFeatureInfoUrl(l,e,i,s);YB(M.config.ticket)&&(h=KB(h,{ticket:M.config.ticket})),o.test(t.url)||(s.Buffer=this.buffer),r={layer:t.legend||t.name,url:h}}return r}))}buildWMTSInfoURL(t){return t.map((t=>{let e;if(t.isVisible()){e={};const i=this.userFormat,n=this.evt.coordinate;let r=t.getGetFeatureInfoUrl(n,this.facadeMap_.getZoom(),i);YB(M.config.ticket)&&(r=KB(r,{ticket:M.config.ticket})),e={layer:t.legend||t.name,url:r}}return e}))}deleteOnClickEvent_(){zs(this.clickEventKey_)}static insert(t,e){let i=!1;switch(e){case"text/html":const e=document.createElement("div");e.innerHTML=t;let n="";Array.prototype.forEach.call(e.querySelectorAll("body"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("div"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("table"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("b"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("span"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("input"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("a"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("img"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("p"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("ul"),(t=>{n+=t.innerHTML.trim()})),Array.prototype.forEach.call(e.querySelectorAll("li"),(t=>{n+=t.innerHTML.trim()})),n.length>0&&!/WMS\s+server\s+error/i.test(t)&&(i=!0);break;case"application/vnd.ogc.gml":i=(new Lv).readFeatures(t).length>0;break;case"text/plain":/returned\s+no\s+results/i.test(t)||/features\s+were\s+found/i.test(t)||/:$/i.test(t)||(i=!0)}return i}formatInfo(t,e,i){let n=null;switch(e){case"text/html":n=t;break;case"application/vnd.ogc.gml":const e=(new Lv).readFeatures(t);n="",e.forEach((t=>{const e=t.getKeys();n+="
    ",n+=`'`;for(let i=0,r=e.length;i"}n+="
    ' ${sL(i)} '
    ',n+=sL(r),n+='',n+=s,n+="
    "}));break;case"text/plain":n=Pv.regExs.gsResponse.test(t)?this.txtToHtmlGeoserver(t,i):this.txtToHtmlMapserver(t,i)}return n}static unsupportedFormat(t,e){let i=!1;return"text/html"===e&&(i=Pv.regExs.msUnsupportedFormat.test(t)),i}txtToHtmlGeoserver(t,e){let i=t;i=i.replace(/[\w\s\S]*':/i,""),i=i.replace(/---(-*)(n+)---(-*)/g,"#newfeature#");const n=i.split("\n");let r="
    ";r+=``;for(let t=0,i=n.length;t1&&(n=t[1].trim(),0!==n.length&&"null"!==n||(n="-")),!1===Pv.regExs.gsGeometry.test(e)&&(r+='")}else Pv.regExs.gsNewFeature.test(i)&&(r+=``)}return r+="
    ${sL(e)}
    ',r+=sL(e),r+='',r+=n,r+="
    ${sL(e)}
    ",r}txtToHtmlMapserver(t){let e=t;e=e.replace(/[\w\s\S]*(layer)/i,"$1");const i=e.replace(/layer(\s*)'(\w+)'[\w\s\S]*/i,"$2");e=e.replace(/layer(\s*)'(\w+)'([\w\s\S]*)/i,"$3"),e=e.replace(/feature(\s*)(\w*)(\s*)(:)([\w\s\S]*)/i,"$5"),e=e.replace(/'/g,""),e=e.replace(/=/g,";");const n=e.split("\n");let r="";const s=``;for(let t=0,e=n.length;t1&&(l=o[1].trim(),0===l.length&&(l="-")),a.length>0&&(Pv.regExs.msNewFeature.test(a)?s.length>0&&!Pv.regExs.msNewFeature.test(s)&&(r+=``):(r+='"))}return r.length>0&&(r=`${s+r}
    ${sL(i)}
    ${sL(i)}
    ',r+=sL(a),r+='',r+=l,r+="
    `),r}showInfoFromURL_(t,e,i){const n=bu(Tv(),{vars:{info:Pv.LOADING_MESSAGE},parseToHtml:!1}),r=[],s=String(this.userFormat);let o=0;const a={icon:"g-cartografia-info",title:Pv.POPUP_TITLE,content:n};let l=this.facadeMap_.getPopup();if(qB(l))l=new sI,l.addTab(a),this.facadeMap_.addPopup(l,e);else{l.getTabs().some((t=>t.title!==Pv.POPUP_TITLE))?l.addTab(a):(this.facadeMap_.removePopup(),l=new sI,l.addTab(a),this.facadeMap_.addPopup(l,e))}t.forEach((e=>{const i=e.url,n=e.layer;DB(i).then((e=>{if(l=this.facadeMap_.getPopup(),200===e.code&&!1===e.error){const t=e.text;if(!0===Pv.insert(t,s)){const e=this.formatInfo(t,s,n);r.push({formatedInfo:e,layerName:n})}else Pv.unsupportedFormat(t,s)&&r.push({formatedInfo:Cu("getfeatureinfo").unsupported_format,layerName:n})}if(o+=1,t.length===o&&!qB(l))if(l.removeTab(a),0===r.length)l.addTab({icon:"g-cartografia-info",title:Pv.POPUP_TITLE,content:Cu("getfeatureinfo").no_info});else{const t=bu(Nv(),{vars:{layers:r,info_of:Cu("getfeatureinfo").info_of},parseToHtml:!1});l.addTab({icon:"g-cartografia-info",title:Pv.POPUP_TITLE,content:t,listeners:[{selector:".m-getfeatureinfo-content-info div.m-arrow-right",all:!0,type:"click",callback:t=>this.toogleSection(t)}]})}}))})),this.popup_=l}toogleSection(t){const{target:e}=t,{parentElement:i}=e.parentElement,n=i.querySelector(".m-getfeatureinfo-content-info-body");if(n.classList.contains("m-content-collapsed")){n.classList.remove("m-content-collapsed"),e.classList.remove("m-arrow-right"),e.classList.add("m-arrow-down");const t=this.popup_.getCoordinate();qB(this.popup_.getImpl().panIntoView)||this.popup_.getImpl().panIntoView(t)}else n.classList.add("m-content-collapsed"),e.classList.add("m-arrow-right"),e.classList.remove("m-arrow-down")}}Pv.LOADING_MESSAGE="Obteniendo información...",Pv.regExs={gsResponse:/^results[\w\s\S]*'http:/i,msNewFeature:/feature(\s*)(\w+)(\s*):/i,gsNewFeature:/#newfeature#/,gsGeometry:/geom$/i,msGeometry:/boundedby$/i,msUnsupportedFormat:/error(.*)unsupported(.*)info_format/i};const Fv=Pv;var Dv=i(649),Ov=i.n(Dv);class Qv extends vu{constructor(t,e={}){super(new Fv(t,e),Qv.NAME),QB(Fv)&&Oc(Cu("exception").getfeatureinfo_method),this.format=t}createView(t){return bu(Ov(),{vars:{title:Cu("getfeatureinfo").title}})}getActivationButton(t){return t.querySelector("button#m-getfeatureinfo-button")}equals(t){let e=!1;return t instanceof Qv&&(e=this.name===t.name),e}}Qv.NAME="getfeatureinfo",Qv.POPUP_TITLE=Cu("getfeatureinfo").info;const kv=Qv;var Gv=i(83),Uv=i.n(Gv);const qv=".m-top.m-left",Vv=".m-top.m-right",zv=".m-bottom.m-left",Yv=".m-bottom.m-right";class jv extends Mc{constructor(t,e={}){super(),this.name=t,this._map=null,this._controls=[],this._buttonPanel=null,this._collapsible=!1,qB(e.collapsible)||(this._collapsible=e.collapsible),this.position=qv,qB(e.position)||(this.position=e.position),this._collapsed=this._collapsible,qB(e.collapsed)||(this._collapsed=e.collapsed&&!0===this._collapsible),this._multiActivation=!1,qB(e.multiActivation)||(this._multiActivation=e.multiActivation),this._className=null,qB(e.className)||(this._className=e.className),this._collapsedButtonClass=null,qB(e.collapsedButtonClass)?this.position===qv||this.position===zv?this._collapsedButtonClass="g-cartografia-flecha-derecha":this.position!==Vv&&this.position!==Yv||(this._collapsedButtonClass="g-cartografia-flecha-izquierda"):this._collapsedButtonClass=e.collapsedButtonClass,this._openedButtonClass=null,qB(e.openedButtonClass)?this.position===qv||this.position===zv?this._openedButtonClass="g-cartografia-flecha-izquierda":this.position!==Vv&&this.position!==Yv||(this._openedButtonClass="g-cartografia-flecha-derecha"):this._openedButtonClass=e.openedButtonClass,this._element=null,this._areaContainer=null,this._controlsContainer=null,this._tooltip=null,qB(e.tooltip)||(this._tooltip=e.tooltip)}destroy(){null!=this._element&&this._areaContainer.removeChild(this._element),this._controlsContainer=null}addTo(t,e){this._map=t,this._areaContainer=e;const i=bu(Uv());this._element=i,qB(this._tooltip)||this._element.setAttribute("title",this._tooltip),this._buttonPanel=i.querySelector("button.m-panel-btn"),qB(this._className)||this._className.split(/\s+/).forEach((t=>{i.classList.add(t)})),!0===this._collapsed?this.collapse():this.open(),!0!==this._collapsible&&i.classList.add("no-collapsible"),this._controlsContainer=i.querySelector("div.m-panel-controls"),e.appendChild(i),this._buttonPanel.addEventListener("click",(t=>{t.preventDefault(),!1===this._collapsed?this.collapse():this.open()})),this.addControls(this._controls),this.fire(kc,i)}_collapse(t){t.classList.remove("opened"),this._buttonPanel.classList.remove(this._openedButtonClass),t.classList.add("collapsed"),this._buttonPanel.classList.add(this._collapsedButtonClass),this._collapsed=!0,this.fire($c)}_open(t){t.classList.remove("collapsed"),this._buttonPanel.classList.remove(this._collapsedButtonClass),t.classList.add("opened"),this._buttonPanel.classList.add(this._openedButtonClass),this._collapsed=!1,this.fire(Zc)}open(){this._open(this._element)}collapse(){this._collapse(this._element)}getControls(){return this._controls}addControls(t){let e=t;qB(e)||(UB(e)||(e=[e]),e.forEach((t=>{t instanceof vu&&(this.hasControl(t)||(this._controls.push(t),t.setPanel(this),t.on(tu,this._removeControl.bind(this),this)),qB(this._controlsContainer)||(t.on(kc,this._moveControlView.bind(this),this),t.addTo(this._map)),t.on(Kc,this._manageActivation.bind(this),this))})))}hasControl(t){let e=!1;return qB(t)||(YB(t)?e=null!=this._controls.filter((e=>e.name===t))[0]:t instanceof vu&&(e=lL(this._controls,t))),e}removeControls(t){let e=t;qB(e)||(UB(e)||(e=[e]),e.forEach((t=>{const e=t;e instanceof vu&&this.hasControl(e)&&(this._controls=this._controls.filter((t=>!e.equals(t))),e.destroy&&e.destroy(),e.setPanel(null))}),this),0===this._controls.length&&this._map.removePanel(this))}_removeControl(t){this._map.controls(t).forEach((t=>{const e=this._controls.indexOf(t);-1!==e&&this._controls.splice(e,1)}))}removeClassName(t){qB(this._element)?this._className=this._className.replace(new RegExp(`s* ${t} s*`),""):this._element.classList.remove(t)}addClassName(t){qB(this._element)?this._className=this._className.concat(" ").concat(t):this._element.classList.add(t)}_moveControlView(t){const e=t.getElement();qB(this._controlsContainer)||this._controlsContainer.appendChild(e),t.fire(Gc)}_manageActivation(t){!0!==this._multiActivation&&this._controls.forEach((e=>{!e.equals(t)&&e.activated&&e.deactivate()}))}equals(t){let e=!1;return t instanceof jv&&(e=t.name===this.name),e}getTemplatePanel(){return this._element}getButtonPanel(){return this._buttonPanel}isCollapsed(){return this._collapsed}setCollapsed(t){this._collapsed=t}getControlsContainer(){return this._controlsContainer}}const Hv=jv,Xv="map-info",Wv=(t,e)=>{t.on(kc,(()=>{3===e.getControls(["wmcselector","scale","scaleline"]).length&&e.getControls(["scaleline"])[0].getElement().classList.add("ol-scale-line-up")}))};class Kv{constructor(t={},e=(()=>null)){this.panel_=new Hv(t.name,{...t.params}),e(this.panel_)}get panel(){return this.panel_}}const Jv=t=>{let e=t.getPanels("map-info")[0];if(qB(e)){const i=new Kv({name:Xv,params:{collapsible:!1,className:"m-map-info",position:Yv}},(e=>{Wv(e,t)}));e=i.panel}return e.addClassName("m-with-scale"),e},Zv=(t,e)=>{const i={[kv.NAME]:()=>(t=>{const e=t;if(qB(e.panel.TOOLS)){const t=new Kv({name:"tools",params:{collapsible:!0,className:"m-tools",collapsedButtonClass:"g-cartografia-herramienta",position:qv,tooltip:"Panel de herramientas"}});e.panel.TOOLS=t.panel}return e.panel.TOOLS})(e),[xI.NAME]:()=>(()=>{const t=new Kv({name:xI.NAME,params:{collapsible:!0,className:"m-layerswitcher",collapsedButtonClass:"g-cartografia-capas2",position:Vv,tooltip:Cu("layerswitcher").title}},(t=>{t.on(kc,(t=>{uL(t.querySelector(".m-panel-controls"))})),t.on(Zc,(t=>{const e=t.getControls()[0];e.registerEvents(),e.render()})),t.on($c,(t=>{t.getControls()[0].unregisterEvents()}))}));return t.panel})(),[VI.NAME]:()=>new Kv({name:VI.NAME,params:{collapsible:!1,className:"m-location",position:Yv}}).panel,[ME.NAME]:()=>(t=>{let e=t.getPanels("map-info")[0];qB(e)&&(e=new Kv({name:Xv,params:{collapsible:!1,className:"m-map-info",position:Yv,tooltip:"Coordenadas del puntero"}}).panel);return e.addClassName("m-with-mouse"),e})(e),[QE.NAME]:()=>(t=>{let e=t.getPanels("map-info")[0];qB(e)&&(e=new Kv({name:Xv,params:{collapsible:!1,className:"m-map-info",position:Yv}}).panel);return e.addClassName("m-with-overview"),e})(e),[XE.NAME]:()=>new Kv({name:XE.NAME,params:{collapsible:!1,className:"m-panzoom",position:qv}}).panel,[Mu.NAME]:()=>new Kv({name:Mu.NAME,params:{collapsible:!1,className:"m-panzoombar",position:qv,tooltip:"Nivel de zoom"}}).panel,[sE.NAME]:()=>new Kv({name:sE.NAME,params:{collapsible:!1,className:"m-rotate",position:Vv}}).panel,[XI.NAME]:()=>Jv(e),[`${XI.NAME}*true`]:()=>Jv(e),[EE.NAME]:()=>(t=>{const e=new Kv({name:EE.NAME,params:{collapsible:!1,className:"m-scaleline",position:zv,tooltip:"Línea de escala"}},(e=>{Wv(e,t)}));return e.panel})(e),[mf.NAME]:()=>(t=>{let e=t.getPanels("map-info")[0];if(qB(e)){const i=new Kv({name:Xv,params:{collapsible:!1,className:"m-map-info",position:Yv}},(e=>{Wv(e,t)}));e=i.panel}return e.addClassName("m-with-wmcselector"),e})(e)},n=i[t.name];return VB(n)?n():null};var $v=i(340),tx=i.n($v);const ex=class{constructor(t,e,i){this.text_=t,this.coord_=[e.x,e.y],this.popup_=null,this.facadeMap_=null,this.panMapIfOutOfView=i}show(t,e){this.facadeMap_=t;const i=bu(tx(),{vars:{info:this.text_},parseToHtml:!1});this.popup_=new sI({panMapIfOutOfView:this.panMapIfOutOfView}),this.popup_.addTab({icon:"g-cartografia-comentarios",title:"Información",content:i}),t.addPopup(this.popup_,this.coord_,e)}hide(){this.facadeMap_.removePopup()}getPopup(){return this.popup_}getCoordinate(){let t=this.coord;return qB(t)&&(t=this.getPopup().getCoordinate()),t}setCoordinate(t){const e=this.getPopup();qB(e)||e.setCoordinate(t)}};class ix extends Qc{constructor(t,e,i){super(new ex(t,e,i))}hide(){this.getImpl().hide()}show(t,e){this.getImpl().show(t,e)}getPopup(){return this.getImpl().getPopup()}getCoordinate(){return this.getImpl().getCoordinate()}setCoordinate(t){this.getImpl().coordinate=t}}ix.POPUP_TEMPLATE="label_popup.html";const nx=ix,rx=t=>{let e;return YB(t)?e=document.getElementById(t):zB(t)?qB(t.id)?qB(t.container)?Oc(Cu("exception").no_container):e=rx(t.container):e=document.getElementById(t.id):Oc("El tipo del parámetro container no es válido: "+typeof t),qB(e)&&Oc(Cu("exception").no_id_container),e};const sx=class{constructor(t){qB(t)&&Oc(Cu("exception").no_param),this.container=rx(t),this.layers=(t=>{let e;return YB(t)?e=WB("layers",t):zB(t)?e=t.layers:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.wmc=(t=>{let e;return YB(t)?(e=WB("wmc",t),qB(e)&&(e=WB("wmcfile",t)),qB(e)&&(e=WB("wmcfiles",t))):zB(t)?(e=t.wmc,qB(e)&&(e=t.wmcfile),qB(e)&&(e=t.wmcfiles)):Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.wms=(t=>{let e;return YB(t)?e=WB("wms",t):zB(t)?e=t.wms:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.wmts=(t=>{let e;return YB(t)?e=WB("wmts",t):zB(t)?e=t.wmts:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.kml=(t=>{let e;return YB(t)?e=WB("kml",t):zB(t)?e=t.kml:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.controls=(t=>{let e;return YB(t)?e=WB("controls",t):zB(t)?e=t.controls:Oc("El tipo del parámetro controls no es válido: "+typeof t),e})(t),this.getfeatureinfo=(t=>{let e;return YB(t)?e=WB("getfeatureinfo",t):zB(t)?(e=t.getfeatureinfo,!QB(e)&&qB(e)&&(e="plain")):Oc("El tipo del parámetro controls no es válido: "+typeof t),e})(t),this.layerswitcher=(t=>{let e;return YB(t)?e=WB("layerswitcher",t):zB(t)?e=t.layerswitcher:Oc("El tipo del parámetro controls no es válido: "+typeof t),e})(t),this.maxExtent=(t=>{let e;return YB(t)?(e=WB("maxExtent",t),qB(e)&&(e=WB("maxextent",t))):zB(t)?(e=t.maxExtent,qB(e)&&(e=t.maxextent)):Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.bbox=(t=>{let e;return YB(t)?e=WB("bbox",t):zB(t)?e=t.bbox:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.zoom=(t=>{let e;return YB(t)?e=WB("zoom",t):zB(t)?e=t.zoom:Oc("El tipo del parámetro zoom no es válido: "+typeof t),e})(t),this.center=(t=>{let e;return YB(t)?e=WB("center",t):zB(t)?e=t.center:Oc("El tipo del parámetro center no es válido: "+typeof t),e})(t),this.resolutions=(t=>{let e;return YB(t)?e=WB("resolutions",t):zB(t)?e=t.resolutions:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.projection=(t=>{let e;return YB(t)?e=WB("projection",t):zB(t)?e=t.projection:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.label=(t=>{let e;return YB(t)?e=WB("label",t):zB(t)?e=t.label:Oc("El tipo del parámetro container no es válido: "+typeof t),e})(t),this.ticket=(t=>{let e;return YB(t)?e=WB("ticket",t):zB(t)?e=t.ticket:Oc("El tipo del parámetro ticket no es válido: "+typeof t),e})(t),this.rotation=(t=>{let e=t;return YB(t)?e=WB("rotation",t):zB(t)&&(e=t.rotation),e})(t),this.bgColorContainer=(t=>{let e;return YB(t)?e=WB("bgColorContainer",t):zB(t)?e=t.bgColorContainer:Oc("El tipo del parámetro bgColorContainer no es válido: "+typeof t),e})(t)}};class ox extends Qc{constructor(){super(new lx),this.id_=JB("mapea","render_feature")}getId(){return this.id_}getGeometry(){return null}getAttributes(){return this.getImpl().getAttributes()}getType(){return this.getImpl().getType()}getAttribute(t){let e;if(e=this.getImpl().getAttribute(t),qB(e)){const i=t.split(".");i.length>1&&(e=i.reduce(((t,e)=>{let i;return qB(t)||(i=t instanceof ox?t.getAttribute(e):t[e]),i}),this))}return e}equals(t){return this.getId()===t.getId()}}const ax=ox;const lx=class{constructor(){this.olFeature_=null}getOLFeature(){return this.olFeature_}getType(){return this.getOLFeature().getType()}setOLFeature(t){qB(t)||(this.olFeature_=t)}getAttributes(){return this.olFeature_.getProperties()}static olFeature2Facade(t,e){let i=null;return qB(t)||(i=new ax,i.getImpl().setOLFeature(t)),i}static facade2OLFeature(t){return t.getImpl().getOLFeature()}getAttribute(t){return this.olFeature_.get(t)}setFacadeObj(t){this.facadeFeature_=t}getCentroid(){}},hx=(t,e)=>{let i;const n=t.getId();return qB(n)||(i=e.getFeatureById(n)),qB(i)&&t instanceof Pd&&(i=lx.olFeature2Facade(t)),i};const cx=class{constructor(t={}){this.map_=null,this.defaultCursor_=void 0}addTo(t){this.map_=t}getFeaturesByLayer(t,e){const i=[];if(!qB(e)&&e.isVisible()&&!qB(e.getImpl().getOLLayer())){const n=e.getImpl().getOLLayer();this.map_.getMapImpl().forEachFeatureAtPixel(t.pixel,((t,n)=>{if(n instanceof By&&!qB(t.get("features"))){const n=t.get("features").map((t=>hx(t,e)));if(1===n.length)i.push(n[0]);else{let t=e.getStyle();t instanceof Vy||(t=t.getStyles().find((t=>t instanceof Vy))),i.push(new OL(n,{ranges:t.getRanges(),hoverInteraction:t.getOptions().hoverInteraction,maxFeaturesToSelect:t.getOptions().maxFeaturesToSelect,distance:t.getOptions().distance}))}}else Object.prototype.hasOwnProperty.call(t.getProperties(),"selectclusterlink")||i.push(hx(t,e))}),{layerFilter:t=>{let i=!1;return e.getStyle()instanceof Vy&&e.getStyle().getOptions().selectInteraction&&(i=t===e.getStyle().getImpl().selectClusterInteraction.getLayer()),i=i||t===n,i}})}return i}addCursorPointer(){const t=this.map_.getMapImpl().getViewport();"pointer"!==t.style.cursor&&(this.defaultCursor_=t.style.cursor),t.style.cursor="pointer"}removeCursorPointer(){this.map_.getMapImpl().getViewport().style.cursor=this.defaultCursor_}destroy(){this.map_.un("click",this.onMapClick_,this),this.map_=null}};const ux=class extends Qc{constructor(t={},e=new cx(t)){super(e),this.map_=null,this.layers_=[],this.activated_=!1,this.prevSelectedFeatures_={},this.prevHoverFeatures_={},VB(e.addTo)||Oc(Cu("exception").addto_method),VB(e.getFeaturesByLayer)||Oc(Cu("exception").getfeaturesbylayer_method)}addTo(t){this.map_=t,this.map_.on(pu,this.moveOverMap_.bind(this)),this.map_.on(Au,this.clickOnMap_.bind(this)),this.getImpl().addTo(this.map_),this.fire(kc)}changeNamePrevs(t,e){const i=this.prevHoverFeatures_[t],n=this.prevSelectedFeatures_[t];this.prevHoverFeatures_[e]=i,this.prevSelectedFeatures_[e]=n,delete this.prevHoverFeatures_[t],delete this.prevSelectedFeatures_[t]}clickOnMap_(t){if(!0===this.activated_){const e=this.getImpl();this.map_.removePopup(),this.layers_.forEach((i=>{const n=e.getFeaturesByLayer(t,i),r=[...this.prevSelectedFeatures_[i.id]];if(0===n.length&&r.length>0)this.unselectFeatures(r,i,t);else if(n.length>0){const e=n.filter((t=>!r.some((e=>e.equals(t))))),s=r.filter((t=>!n.some((e=>e.equals(t)))));s.length>0&&this.unselectFeatures(s,i,t),e.length>0&&this.selectFeatures(e,i,t)}}))}}moveOverMap_(t){if(!0===this.activated_){const e=this.getImpl();this.layers_.forEach((i=>{const n=e.getFeaturesByLayer(t,i),r=[...this.prevHoverFeatures_[i.id]];if(0===n.length&&r.length>0)this.leaveFeatures_(r,i,t);else if(n.length>0){const e=n.filter((t=>(t instanceof DL||t instanceof ax)&&!r.some((e=>e.equals(t))))),s=r.filter((t=>!n.some((e=>e.equals(t)))));s.length>0&&this.leaveFeatures_(s,i,t),e.length>0&&this.hoverFeatures_(e,i,t)}}))}}selectFeatures(t,e,i){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].concat(t);const n=e.getImpl();VB(n.selectFeatures)&&n.selectFeatures(t,i.coord,i),e.fire(eu,[t,i])}unselectFeatures(t,e,i){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].filter((e=>!t.some((t=>t.equals(e)))));const n=e.getImpl();VB(n.unselectFeatures)&&n.unselectFeatures(t,i.coord),e.fire(iu,[t,i.coord])}hoverFeatures_(t,e,i){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].concat(t),e.fire(nu,[t,i]),this.getImpl().addCursorPointer()}leaveFeatures_(t,e,i){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].filter((e=>!t.some((t=>t.equals(e))))),e.fire(ru,[t,i.coord]),this.getImpl().removeCursorPointer()}activate(){!1===this.activated_&&(this.activated_=!0,this.fire(Kc))}deactivate(){!0===this.activated_&&(this.activated_=!1,this.fire(Jc))}addLayer(t){lL(this.layers_,t)||(this.layers_.push(t),this.prevSelectedFeatures_[t.id]=[],this.prevHoverFeatures_[t.id]=[])}removeLayer(t){this.layers_=this.layers_.filter((e=>!e.equals(t))),this.prevSelectedFeatures_[t.id]=null,this.prevHoverFeatures_[t.id]=null,delete this.prevSelectedFeatures_[t.id],delete this.prevHoverFeatures_[t.id]}destroy(){}clearSelectedFeatures(){Object.keys(this.prevSelectedFeatures_).forEach((t=>{this.prevSelectedFeatures_[t]=[]}))}clearHoverFeatures(){Object.keys(this.prevHoverFeatures_).forEach((t=>{this.prevHoverFeatures_[t]=[]}))}};var gx=i(279),dx=i.n(gx);const Ax=class extends Mc{constructor(t,e,i){super(),this.map_=t,this.url_=e,this.format_=i}getLoaderFn(t){return(e,i,n)=>{this.loadInternal_(n).then((e=>{t(e)}))}}loadInternal_(t){return new Promise(((t,e)=>{DB(this.url_).then((e=>{const i=this.map_.getProjection().code;if(qB(e.text))Oc(Cu("exception").no_kml_response);else{const n=this.format_.readCustomFeatures(e.text,{featureProjection:i}),r=this.format_.getScreenOverlay(),s=n.map((t=>{const e=new DL(t.getId(),{geometry:{coordinates:t.getGeometry().getCoordinates(),type:t.getGeometry().getType()},properties:t.getProperties()});return e.getImpl().getOLFeature().setStyle(t.getStyle()),e}));t({features:s,screenOverlay:r})}}))}))}},px=["http://www.google.com/kml/ext/2.2"],fx=[null,"http://earth.google.com/kml/2.0","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.2","http://www.opengis.net/kml/2.2"],mx={fraction:"fraction",pixels:"pixels",insetPixels:"pixels"},_x=aA(fx,{ExtendedData:Ew,Region:Cw,MultiGeometry:eA(gw,"geometry"),LineString:eA(hw,"geometry"),LinearRing:eA(cw,"geometry"),Point:eA(dw,"geometry"),Polygon:eA(pw,"geometry"),Style:eA(mw),StyleMap:function(t,e){const i=Wx.call(this,t,e);if(!i)return;const n=e[e.length-1];if(Array.isArray(i))n.Style=i;else{if("string"!=typeof i)throw new Error("`styleMapValue` has an unknown type");n.styleUrl=i}},address:eA(vA),description:eA(vA),name:eA(vA),open:eA(fA),phoneNumber:eA(vA),styleUrl:eA(jx),visibility:eA(fA)},aA(px,{MultiTrack:eA((function(t,e){const i=hA([],iw,t,e);if(!i)return;return new bd(i)}),"geometry"),Track:eA(rw,"geometry")})),yx=aA(fx,{ExtendedData:Ew,Region:Cw,Link:function(t,e){lA(Ix,t,e)},address:eA(vA),description:eA(vA),name:eA(vA),open:eA(fA),phoneNumber:eA(vA),visibility:eA(fA)}),Ix=aA(fx,{href:eA(Yx)}),Ex=aA(fx,{Altitude:eA(yA),Longitude:eA(yA),Latitude:eA(yA),Tilt:eA(yA),AltitudeMode:eA(vA),Heading:eA(yA),Roll:eA(yA)}),Cx=aA(fx,{LatLonAltBox:function(t,e){const i=hA({},ww,t,e);if(!i)return;const n=e[e.length-1],r=[parseFloat(i.west),parseFloat(i.south),parseFloat(i.east),parseFloat(i.north)];n.extent=r,n.altitudeMode=i.altitudeMode,n.minAltitude=parseFloat(i.minAltitude),n.maxAltitude=parseFloat(i.maxAltitude)},Lod:function(t,e){const i=hA({},Sw,t,e);if(!i)return;const n=e[e.length-1];n.minLodPixels=parseFloat(i.minLodPixels),n.maxLodPixels=parseFloat(i.maxLodPixels),n.minFadeExtent=parseFloat(i.minFadeExtent),n.maxFadeExtent=parseFloat(i.maxFadeExtent)}}),vx=aA(fx,["Document","Placemark"]),xx=aA(fx,{Document:iA((function(t,e,i){const n={node:t};uA(n,Tw,Rw,e,i,void 0,this)})),Placemark:iA(iS)});let wx,Sx,bx,Bx,Lx,Mx,Tx=null;let Rx,Nx=null;let Px,Fx=null;let Dx=null;let Ox=null;let Qx,kx=null;function Gx(t){return 32/Math.min(t[0],t[1])}function Ux(t){return t}function qx(t,e,i){return Array.isArray(t)?t:"string"==typeof t?qx(i[t],e,i):e}function Vx(t){const e=Hd(t,!1),i=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(e);if(i){const t=i[1];return[parseInt(t.substr(6,2),16),parseInt(t.substr(4,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(0,2),16)/255]}}function zx(t){let e=Hd(t,!1);const i=[];e=e.replace(/\s*,\s*/g,",");const n=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i;let r;for(;r=n.exec(e);){const t=parseFloat(r[1]),n=parseFloat(r[2]),s=r[3]?parseFloat(r[3]):0;i.push(t,n,s),e=e.substr(r[0].length)}if(""===e)return i}function Yx(t){const e=Hd(t,!1).trim();let i=t.baseURI;if(i&&"about:blank"!=i||(i=window.location.href),i){return new URL(e,i).href}return e}function jx(t){const e=Hd(t,!1).trim().replace(/^(?!.*#)/,"#");let i=t.baseURI;if(i&&"about:blank"!=i||(i=window.location.href),i){return new URL(e,i).href}return e}function Hx(t){return yA(t)}const Xx=aA(fx,{Pair:function(t,e){const i=hA({},vw,t,e,this);if(!i)return;const n=i.key;if(n&&"normal"==n){const t=i.styleUrl;t&&(e[e.length-1]=t);const n=i.Style;n&&(e[e.length-1]=n)}}});function Wx(t,e){return hA(void 0,Xx,t,e,this)}const Kx=aA(fx,{Icon:eA((function(t,e){const i=hA({},sw,t,e);if(i)return i;return null})),color:eA(Vx),heading:eA(yA),hotSpot:eA((function(t){const e=t.getAttribute("xunits"),i=t.getAttribute("yunits");let n;return n="insetPixels"!==e?"insetPixels"!==i?"bottom-left":"top-left":"insetPixels"!==i?"bottom-right":"top-right",{x:parseFloat(t.getAttribute("x")),xunits:mx[e],y:parseFloat(t.getAttribute("y")),yunits:mx[i],origin:n}})),scale:eA(Hx)});const Jx=aA(fx,{color:eA(Vx),scale:eA(Hx)});const Zx=aA(fx,{color:eA(Vx),width:eA(yA)});const $x=aA(fx,{color:eA(Vx),fill:eA(fA),outline:eA(fA)});const tw=aA(fx,{coordinates:$d(zx)});function ew(t,e){return hA(null,tw,t,e)}const iw=aA(px,{Track:Zd(rw)});const nw=aA(fx,{when:function(t,e){const i=e[e.length-1].whens,n=Hd(t,!1),r=Date.parse(n);i.push(isNaN(r)?0:r)}},aA(px,{coord:function(t,e){const i=e[e.length-1].coordinates,n=Hd(t,!1),r=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(n);if(r){const t=parseFloat(r[1]),e=parseFloat(r[2]),n=parseFloat(r[3]);i.push([t,e,n])}else i.push([])}}));function rw(t,e){const i=hA({coordinates:[],whens:[]},nw,t,e);if(!i)return;const n=[],r=i.coordinates,s=i.whens;for(let t=0,e=Math.min(r.length,s.length);t0){e[e.length-1].push(...i)}},outerBoundaryIs:function(t,e){const i=hA(void 0,Bw,t,e);if(i){e[e.length-1][0]=i}}});function pw(t,e){const i=hA({},lw,t,e),n=hA([null],Aw,t,e);if(n&&n[0]){const t=n[0],e=[t.length];for(let i=1,r=n.length;i0;let o;const a=r.href;let l,h,c;a?o=a:s&&(o=Mx);let u="bottom-left";const g=i.hotSpot;let d;g?(l=[g.x,g.y],h=g.xunits,c=g.yunits,u=g.origin):/^https?:\/\/maps\.(?:google|gstatic)\.com\//.test(o)&&(o.includes("pushpin")?(l=Sx,h=bx,c=Bx):o.includes("arrow-reverse")?(l=[54,42],h=bx,c=Bx):o.includes("paddle")&&(l=[32,1],h=bx,c=Bx));const A=r.x,p=r.y;let f;void 0!==A&&void 0!==p&&(d=[A,p]);const m=r.w,_=r.h;let y;void 0!==m&&void 0!==_&&(f=[m,_]);const I=i.heading;void 0!==I&&(y=mt(I));const E=i.scale,C=i.color;if(s){o==Mx&&(f=Lx);const t=new Hf({anchor:l,anchorOrigin:u,anchorXUnits:h,anchorYUnits:c,crossOrigin:this.crossOrigin_,offset:d,offsetOrigin:"bottom-left",rotation:y,scale:E,size:f,src:this.iconUrlFunction_(o),color:C}),e=t.getScaleArray()[0],i=t.getSize();if(null===i){const i=t.getImageState();if(i===Cg||i===vg){const n=function(){const i=t.getImageState();if(i!==Cg&&i!==vg){const i=t.getSize();if(i&&2==i.length){const n=Gx(i);t.setScale(e*n)}t.unlistenImageChange(n)}};t.listenImageChange(n),i===Cg&&t.load()}}else if(2==i.length){const n=Gx(i);t.setScale(e*n)}n.imageStyle=t}else n.imageStyle=Rx},LabelStyle:function(t,e){const i=hA({},Jx,t,e);if(!i)return;const n=e[e.length-1],r=new Fm({fill:new wm({color:"color"in i?i.color:wx}),scale:i.scale});n.textStyle=r},LineStyle:function(t,e){const i=hA({},Zx,t,e);if(!i)return;const n=e[e.length-1],r=new bm({color:"color"in i?i.color:wx,width:"width"in i?i.width:1});n.strokeStyle=r},PolyStyle:function(t,e){const i=hA({},$x,t,e);if(!i)return;const n=e[e.length-1],r=new wm({color:"color"in i?i.color:wx});n.fillStyle=r;const s=i.fill;void 0!==s&&(n.fill=s);const o=i.outline;void 0!==o&&(n.outline=o)}});function mw(t,e){const i=hA({},fw,t,e,this);if(!i)return null;let n="fillStyle"in i?i.fillStyle:Tx;const r=i.fill;let s;void 0===r||r||(n=null),"imageStyle"in i?i.imageStyle!=Rx&&(s=i.imageStyle):s=Nx;const o="textStyle"in i?i.textStyle:Dx,a="strokeStyle"in i?i.strokeStyle:Fx,l=i.outline;return void 0===l||l?[new Nm({fill:n,image:s,stroke:a,text:o,zIndex:void 0})]:[new Nm({geometry:function(t){const e=t.getGeometry(),i=e.getType();if("GeometryCollection"===i){return new Od(e.getGeometriesArrayRecursive().filter((function(t){const e=t.getType();return"Polygon"!==e&&"MultiPolygon"!==e})))}if("Polygon"!==i&&"MultiPolygon"!==i)return e},fill:n,image:s,stroke:a,text:o,zIndex:void 0}),new Nm({geometry:function(t){const e=t.getGeometry(),i=e.getType();if("GeometryCollection"===i){return new Od(e.getGeometriesArrayRecursive().filter((function(t){const e=t.getType();return"Polygon"===e||"MultiPolygon"===e})))}if("Polygon"===i||"MultiPolygon"===i)return e},fill:n,stroke:null,zIndex:void 0})]}function _w(t,e){const i=e.length,n=new Array(e.length),r=new Array(e.length),s=new Array(e.length);let o,a,l;o=!1,a=!1,l=!1;for(let t=0;t0){const t=oA(r,o);uA(n,$w,eS,[{names:o,values:t}],i)}const u=i[0];let g=e.getGeometry();g&&(g=KE(g,!0,u)),uA(n,$w,zw,[g],i)}const nS=aA(fx,["extrude","tessellate","altitudeMode","coordinates"]),rS=aA(fx,{extrude:iA(xA),tessellate:iA(xA),altitudeMode:iA(bA),coordinates:iA((function(t,e,i){const n=i[i.length-1],r=n.layout,s=n.stride;let o;if("XY"==r||"XYM"==r)o=2;else{if("XYZ"!=r&&"XYZM"!=r)throw new Error("Invalid geometry layout");o=3}const a=e.length;let l="";if(a>0){l+=e[0];for(let t=1;t0;else{const e=t.getType();a="Point"===e||"MultiPoint"===e}}a&&(l=s.get("name"),a=a&&!!l,a&&/&[^&]+;/.test(l)&&(Qx||(Qx=document.createElement("textarea")),Qx.innerHTML=l,l=Qx.value));let c=i;if(t?c=t:e&&(c=qx(e,i,n)),a){const t=function(t,e){const i=[0,0];let n="start";const r=t.getImage();if(r){const t=r.getSize();if(t&&2==t.length){const e=r.getScaleArray(),s=r.getAnchor();i[0]=e[0]*(t[0]-s[0]),i[1]=e[1]*(t[1]/2-s[1]),n="left"}}let s=t.getText();s?(s=s.clone(),s.setFont(s.getFont()||Dx.getFont()),s.setScale(s.getScale()||Dx.getScale()),s.setFill(s.getFill()||Dx.getFill()),s.setStroke(s.getStroke()||Px)):s=Dx.clone();s.setText(e),s.setOffsetX(i[0]),s.setOffsetY(i[1]),s.setTextAlign(n);const o=new Nm({image:r,text:s});return o}(c[0],l);if(h.length>0){t.setGeometry(new Od(h));return[t,new Nm({geometry:c[0].getGeometry(),image:null,fill:c[0].getFill(),stroke:c[0].getStroke(),text:null})].concat(c.slice(1))}return t}return c}}(i.Style,i.styleUrl,this.defaultStyle_,this.sharedStyles_,this.showPointNames_);n.setStyle(t)}return delete i.Style,n.setProperties(i,!0),n}readSharedStyle_(t,e){const i=t.getAttribute("id");if(null!==i){const n=mw.call(this,t,e);if(n){let e,r=t.baseURI;if(r&&"about:blank"!=r||(r=window.location.href),r){e=new URL("#"+i,r).href}else e="#"+i;this.sharedStyles_[e]=n}}}readSharedStyleMap_(t,e){const i=t.getAttribute("id");if(null===i)return;const n=Wx.call(this,t,e);if(!n)return;let r,s=t.baseURI;if(s&&"about:blank"!=s||(s=window.location.href),s){r=new URL("#"+i,s).href}else r="#"+i;this.sharedStyles_[r]=n}readFeatureFromNode(t,e){if(!fx.includes(t.namespaceURI))return null;const i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i||null}readFeaturesFromNode(t,e){if(!fx.includes(t.namespaceURI))return[];let i;const n=t.localName;if("Document"==n||"Folder"==n)return i=this.readDocumentOrFolder_(t,[this.getReadOptions(t,e)]),i||[];if("Placemark"==n){const i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i?[i]:[]}if("kml"==n){i=[];for(let n=t.firstElementChild;n;n=n.nextElementSibling){const t=this.readFeaturesFromNode(n,e);t&&_s(i,t)}return i}return[]}readName(t){if(t){if("string"==typeof t){const e=Kd(t);return this.readNameFromDocument(e)}return Wd(t)?this.readNameFromDocument(t):this.readNameFromNode(t)}}readNameFromDocument(t){for(let e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE){const t=this.readNameFromNode(e);if(t)return t}}readNameFromNode(t){for(let e=t.firstElementChild;e;e=e.nextElementSibling)if(fx.includes(e.namespaceURI)&&"name"==e.localName)return vA(e);for(let e=t.firstElementChild;e;e=e.nextElementSibling){const t=e.localName;if(fx.includes(e.namespaceURI)&&("Document"==t||"Folder"==t||"Placemark"==t||"kml"==t)){const t=this.readNameFromNode(e);if(t)return t}}}readNetworkLinks(t){const e=[];if("string"==typeof t){const i=Kd(t);_s(e,this.readNetworkLinksFromDocument(i))}else Wd(t)?_s(e,this.readNetworkLinksFromDocument(t)):_s(e,this.readNetworkLinksFromNode(t));return e}readNetworkLinksFromDocument(t){const e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&_s(e,this.readNetworkLinksFromNode(i));return e}readNetworkLinksFromNode(t){const e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(fx.includes(i.namespaceURI)&&"NetworkLink"==i.localName){const t=hA({},yx,i,[]);e.push(t)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){const t=i.localName;!fx.includes(i.namespaceURI)||"Document"!=t&&"Folder"!=t&&"kml"!=t||_s(e,this.readNetworkLinksFromNode(i))}return e}readRegion(t){const e=[];if("string"==typeof t){const i=Kd(t);_s(e,this.readRegionFromDocument(i))}else Wd(t)?_s(e,this.readRegionFromDocument(t)):_s(e,this.readRegionFromNode(t));return e}readRegionFromDocument(t){const e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&_s(e,this.readRegionFromNode(i));return e}readRegionFromNode(t){const e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(fx.includes(i.namespaceURI)&&"Region"==i.localName){const t=hA({},Cx,i,[]);e.push(t)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){const t=i.localName;!fx.includes(i.namespaceURI)||"Document"!=t&&"Folder"!=t&&"kml"!=t||_s(e,this.readRegionFromNode(i))}return e}readCamera(t){const e=[];if("string"==typeof t){const i=Kd(t);_s(e,this.readCameraFromDocument(i))}else Wd(t)?_s(e,this.readCameraFromDocument(t)):_s(e,this.readCameraFromNode(t));return e}readCameraFromDocument(t){const e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType===Node.ELEMENT_NODE&&_s(e,this.readCameraFromNode(i));return e}readCameraFromNode(t){const e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(fx.includes(i.namespaceURI)&&"Camera"===i.localName){const t=hA({},Ex,i,[]);e.push(t)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){const t=i.localName;!fx.includes(i.namespaceURI)||"Document"!==t&&"Folder"!==t&&"Placemark"!==t&&"kml"!==t||_s(e,this.readCameraFromNode(i))}return e}writeFeaturesNode(t,e){e=this.adaptOptions(e);const i=jd(fx[4],"kml"),n="http://www.w3.org/2000/xmlns/";i.setAttributeNS(n,"xmlns:gx",px[0]),i.setAttributeNS(n,"xmlns:xsi",Yd),i.setAttributeNS(Yd,"xsi:schemaLocation","http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");const r={node:i},s={};t.length>1?s.Document=t:1==t.length&&(s.Placemark=t[0]);const o=vx[i.namespaceURI],a=oA(s,o);return uA(r,xx,sA,a,[e],o,this),i}};class fS extends pS{constructor(t={}){super(),this.screenOverlay_=null,this.label_=void 0===t.label||t.label}readCustomFeatures(t,e){const i=this.readFeatures(t,e).map((t=>{let e=t.getStyle()(t);if(!1===this.label_){const i=[e[0]];t.setStyle(i)}return Array.isArray(e)||(e=[e]),e.forEach((t=>{if(t.getImage()instanceof Hf){const e=t.getImage();t.setImage(e)}})),t.set("name",AL(t.get("name"))),t}));return this.readScreenOverlay(t),i}readScreenOverlay(t){const e="xunits",i="yunits",n=Kd(t).querySelector("ScreenOverlay");if(null!==n){const t=n.querySelector("Icon"),r=null!==t?t.querySelector("href").innerHTML:fS.DEFAULT_NO_IMAGE_STYLE;let s,o,a;const l=n.querySelector("overlayXY");if(null!==l){s=[parseFloat(l.getAttribute("x")),parseFloat(l.getAttribute("y"))],o=l.getAttribute(e),a=l.getAttribute(i)}let h,c,u;const g=n.querySelector("screenXY");if(null!==g){h=[parseFloat(g.getAttribute("x")),parseFloat(g.getAttribute("y"))],c=g.getAttribute(e),u=g.getAttribute(i)}else r===fS.DEFAULT_IMAGE_STYLE_SRC?(h=fS.DEFAULT_IMAGE_STYLE_ANCHOR,c=fS.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS,u=fS.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(r)&&(h=[.5,0],c=Hf.FRACTION,u=Hf.FRACTION);let d,A,p;const f=n.querySelector("rotationXY");if(null!==f){const t=parseFloat(f.getAttribute("x"));d=Math.PI/180*t,A=f.getAttribute(e),p=f.getAttribute(i)}let m,_,y;const I=n.querySelector("size");if(null!==I){m=[parseFloat(I.getAttribute("x")),parseFloat(I.getAttribute("y"))],_=I.getAttribute(e),y=I.getAttribute(i)}this.screenOverlay_={screenXY:h,screenXUnits:c,screenYUnits:u,overlayXY:s,overlayXUnits:o,overlayYUnits:a,rotationXY:d,rotationXUnits:A,rotationYUnits:p,size:m,sizeXUnits:_,sizeYUnits:y,src:r}}}getScreenOverlay(){return this.screenOverlay_}}fS.DEFAULT_NO_IMAGE_STYLE="NO_IMAGE",fS.DEFAULT_IMAGE_STYLE_SRC="https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",fS.DEFAULT_IMAGE_STYLE_ANCHOR=[20,2],fS.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS="pixels",fS.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS="pixels";const mS=fS;class _S extends hI{constructor(t,e){super(t,e),this.popup_=null,this.tabPopup_=null,this.loadFeaturesPromise_=null,this.screenOverlayImg_=null,this.label_=t.label}setVisible(t){if(this.visibility=t,qB(this.ol3Layer)||this.ol3Layer.setVisible(t),!qB(this.screenOverlayImg_)){let e="none";!0===t&&(e="inherit"),this.screenOverlayImg_.style[e]=e}}addTo(t){this.map=t,this.fire(kc),t.on(hu,this.setProjection_.bind(this),this),this.formater_=new mS({label:this.label_}),this.loader_=new Ax(this.map,this.url,this.formater_),this.ol3Layer=new Sy(hL({},this.vendorOptions_,!0)),this.updateSource_(),!1!==this.options.visibility&&this.setVisible(this.inRange()),null!==this.zIndex_&&this.setZIndex(this.zIndex_);this.map.getMapImpl().addLayer(this.ol3Layer)}selectFeatures(t,e,i){const n=t[0];if(!(n instanceof OL)&&!0===this.extract){const t=n.getAttribute("name"),e=n.getAttribute("description"),i=n.getImpl().getOLFeature().getGeometry().getFirstCoordinate(),r=bu(dx(),{vars:{name:t,desc:e},parseToHtml:!1});this.tabPopup_={icon:"g-cartografia-comentarios",title:t,content:r};const s=this.map.getPopup();qB(s)?(this.popup_=new sI,this.popup_.addTab(this.tabPopup_),this.map.addPopup(this.popup_,i)):s.addTab(this.tabPopup_)}}unselectFeatures(){qB(this.popup_)||(this.popup_.hide(),this.popup_=null)}updateSource_(){qB(this.vendorOptions_.source)&&this.requestFeatures_().then((t=>{this.ol3Layer.setSource(new kf({loader:()=>{const e=t.screenOverlay;if(this.facadeVector_.clear(),this.facadeVector_.addFeatures(t.features),this.fire(su,[t.features]),!qB(e)){const t=qd.addOverlayImage(e,this.map);this.setScreenOverlayImg(t)}}})),this.facadeVector_.addFeatures(t.features)}))}setScreenOverlayImg(t){this.screenOverlayImg_=t}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.removePopup(),this.options=null,this.map=null}removePopup(){qB(this.popup_)||(this.popup_.getTabs().length>1?this.popup_.removeTab(this.tabPopup_):this.map.removePopup())}requestFeatures_(){return qB(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((t=>{this.loader_.getLoaderFn((e=>{t(e)}))(null,null,ee(this.map.getProjection().code))}))),this.loadFeaturesPromise_}equals(t){let e=!1;return t instanceof _S&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}const yS=_S;class IS extends _I{constructor(t,e={},i={}){const n=fg(t,Ru),r={...e,label:n.label};super(n,e,void 0,new yS(r,i)),QB(yS)&&Oc(Cu("exception").kmllayer_method),qB(t)&&Oc(Cu("exception").no_param),this.extract=n.extract,this.options=e,this.label=n.label}get type(){return Ru}set type(t){QB(t)||qB(t)||t===Ru||Oc("El tipo de capa debe ser '".concat(Ru).concat("' pero se ha especificado '").concat(t).concat("'"))}get extract(){return this.getImpl().extract}set extract(t){qB(t)?this.getImpl().extract=!0:YB(t)?this.getImpl().extract="true"===XB(t):this.getImpl().extract=t}get options(){return this.getImpl().options}set options(t){this.getImpl().options=t}equals(t){let e=!1;return t instanceof IS&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}}const ES=IS;function CS(t){if("string"==typeof t){const e=JSON.parse(t);return e||null}return null!==t?t:null}const vS=class extends WE{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(CS(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(CS(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return js()}readFeaturesFromObject(t,e){return js()}readGeometry(t,e){return this.readGeometryFromObject(CS(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return js()}readProjection(t){return this.readProjectionFromObject(CS(t))}readProjectionFromObject(t){return js()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return js()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return js()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return js()}};function xS(t,e){if(!t)return null;let i;switch(t.type){case"Point":i=function(t){return new qa(t.coordinates)}(t);break;case"LineString":i=function(t){return new wd(t.coordinates)}(t);break;case"Polygon":i=function(t){return new sl(t.coordinates)}(t);break;case"MultiPoint":i=function(t){return new Id(t.coordinates)}(t);break;case"MultiLineString":i=function(t){return new bd(t.coordinates)}(t);break;case"MultiPolygon":i=function(t){return new Md(t.coordinates)}(t);break;case"GeometryCollection":i=function(t,e){const i=t.geometries.map((function(t){return xS(t,e)}));return new Od(i)}(t);break;default:throw new Error("Unsupported GeoJSON type: "+t.type)}return KE(i,!1,e)}function wS(t,e){const i=(t=KE(t,!0,e)).getType();let n;switch(i){case"Point":n=function(t,e){return{type:"Point",coordinates:t.getCoordinates()}}(t);break;case"LineString":n=function(t,e){return{type:"LineString",coordinates:t.getCoordinates()}}(t);break;case"Polygon":n=function(t,e){let i;e&&(i=e.rightHanded);return{type:"Polygon",coordinates:t.getCoordinates(i)}}(t,e);break;case"MultiPoint":n=function(t,e){return{type:"MultiPoint",coordinates:t.getCoordinates()}}(t);break;case"MultiLineString":n=function(t,e){return{type:"MultiLineString",coordinates:t.getCoordinates()}}(t);break;case"MultiPolygon":n=function(t,e){let i;e&&(i=e.rightHanded);return{type:"MultiPolygon",coordinates:t.getCoordinates(i)}}(t,e);break;case"GeometryCollection":n=function(t,e){e=Object.assign({},e),delete e.featureProjection;const i=t.getGeometriesArray().map((function(t){return wS(t,e)}));return{type:"GeometryCollection",geometries:i}}(t,e);break;case"Circle":n={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+i)}return n}const SS=class extends vS{constructor(t){t=t||{},super(),this.dataProjection=ee(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=ee(t.featureProjection)),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let i=null;i="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const n=xS(i.geometry,e),r=new _d;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in i!==void 0&&r.setGeometryName(i.geometry_name),r.setGeometry(n),"id"in i&&r.setId(i.id),i.properties&&r.setProperties(i.properties,!0),r}readFeaturesFromObject(t,e){let i=null;if("FeatureCollection"===t.type){i=[];const n=t.features;for(let t=0,r=n.length;tthis.writeFeatureObject(t.getImpl().getOLFeature())))}read(t,e,i){let n=[],r=i.code;qB(r)&&(r=qB(i.featureProjection)?ee(i.getCode()):ee(i.featureProjection.getCode()));const s=bS.readProjectionFromObject(t);return n=e.map((t=>{const e=t.id,i=new DL(e,t),n=i.getImpl().getOLFeature();let o;return n.getGeometry()&&(o=n.getGeometry().transform(s,r)),n.setGeometry(o),i})),n}}const BS=bS;const LS=class extends Qc{constructor(t={}){super(new BS(t)),QB(BS)&&Oc(Cu("exception").geojson_method)}write(t){let e=t;return UB(e)||(e=[e]),this.getImpl().write(e)}read(t,e){let i=t,n=[];if(!qB(i)){YB(i)&&(i=JSON.parse(i));let t=[];"FeatureCollection"===i.type?t=i.features:"Feature"===i.type&&(t=[i]),n=this.getImpl().read(i,t,e)}return n}};const MS=class{constructor(t={}){this.rootPrefix=null,this.namespaces={ol:"http://openlayers.org/context",wmc:"http://www.opengis.net/context",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema",ogc:"http://www.opengis.net/ogc",wmcext:"http://wmcext.org/context"},this.options=t}read(t){let e=t;YB(t)&&(e=Kd(t)),9!==e.nodeType&&Oc(Cu("exception").must_be_document);const i={};return this.readRoot(i,e),i}readRoot(t,e){const i=t,n=e.documentElement;this.rootPrefix=n.prefix,i.version=n.getAttribute("version"),this.runChildNodes(i,n)}runChildNodes(t,e){const i=e.childNodes;let n,r,s,o;for(let e=0,a=i.length;e(t.typeName===this.typeName_&&(e.properties=t.properties,e.properties.some((t=>(dL(t.localType)&&(e.geometryName=t.name),dL(t.localType))))),t.typeName===this.typeName_))),e}};const NS=class{constructor(t,e){this.url_=t.url,this.namespace_=t.namespace,this.name_=t.name,this.typeName_=this.name_,qB(this.namespace_)||(this.typeName_=this.namespace_.concat(":").concat(this.name_)),this.version_=t.version,this.ids_=t.ids,this.cql_=t.cql,this.projection_=t.projection,this.getFeatureOutputFormat_=t.getFeatureOutputFormat,qB(this.getFeatureOutputFormat_)&&(this.getFeatureOutputFormat_="application/json"),this.describeFeatureTypeOutputFormat_=t.describeFeatureTypeOutputFormat,this.getFeatureVendor_={},qB(e)||qB(e.getFeature)||(this.getFeatureVendor_=e.getFeature),this.describeFeatureTypeVendor_={},qB(e)||qB(e.describeFeatureType)||(this.describeFeatureTypeVendor_=e.describeFeatureType)}getDescribeFeatureType(){const t={service:"WFS",version:this.version_,request:"DescribeFeatureType",typename:this.typeName_};qB(this.describeFeatureTypeOutputFormat_)||(t.outputFormat=this.describeFeatureTypeOutputFormat_);const e=M.config.ticket?`${this.url_}ticket=${M.config.ticket}`:this.url_,i=KB(e,t),n=KB(i,this.describeFeatureTypeVendor_),r=this.describeFeatureTypeOutputFormat_,s=new RS(this.name_,r,this.projection_);return new Promise(((t,e)=>{DB(n).then((e=>{t(s.read(e))}))}))}getFeatureUrl(t,e){const i={service:"WFS",version:this.version_,request:"GetFeature",typename:this.typeName_,outputFormat:this.getFeatureOutputFormat_,srsname:e.getCode()};return qB(this.ids_)||(i.featureId=this.ids_.map((t=>this.name_.concat(".").concat(t)))),qB(this.cql_)?qB(t)||(i.bbox=`${t.join(",")},${e.getCode()}`):i.CQL_FILTER=this.cql_,KB(KB(this.url_,i),this.getFeatureVendor_)}},PS=cC;PS.prototype.writeFeatures,PS.prototype.writeFeaturesNode;const FS=PS;const DS=class extends FS{constructor(t={}){super(t)}};const OS=class extends Mc{constructor(t,e,i){super(),this.map_=t,this.service_=e,this.format_=i}getLoaderFn(t){return(e,i,n)=>{const r=this.getRequestUrl_(e,n);this.loadInternal_(r,n).then(t.bind(this))}}loadInternal_(t,e){let i=t;return new Promise(((t,n)=>{YB(M.config.ticket)&&(i=KB(i,{ticket:M.config.ticket})),DB(i).then((i=>{if(!qB(i.text)&&i.text.indexOf("ServiceExceptionReport")<0){const n=this.format_.read(i.text,e);t(n)}else 401===i.code?AI(Cu("dialog").unauthorized_user):i.text.indexOf("featureId and cql_filter")>=0?AI(Cu("dialog").only_one_filter):Oc(Cu("exception").no_getfeature_response)}))}))}getRequestUrl_(t,e){return this.service_.getFeatureUrl(null,e)}};class QS extends hI{constructor(t={},e){super(t,e),this.describeFeatureType_=null,this.formater_=null,this.loader_=null,this.service_=null,this.loaded_=!1,qB(this.options.getFeatureOutputFormat)&&(this.options.getFeatureOutputFormat="application/json")}addTo(t){super.addTo(t),t.getImpl().on(au,(()=>this.refresh()))}refresh(t){t&&this.facadeVector_.removeFeatures(this.facadeVector_.getFeatures(!0)),this.updateSource_(t)}updateSource_(t){qB(this.vendorOptions_.source)&&(this.service_=new NS({url:this.url,namespace:this.namespace,name:this.name,version:this.version,ids:this.ids,cql:this.cql,projection:this.map.getProjection(),getFeatureOutputFormat:this.options.getFeatureOutputFormat,describeFeatureTypeOutputFormat:this.options.describeFeatureTypeOutputFormat},this.options.vendor),/json/gi.test(this.options.getFeatureOutputFormat)?this.formater_=new LS({defaultDataProjection:ee(this.map.getProjection().code)}):this.formater_=new DS(this.name,this.version,this.map.getProjection()),this.loader_=new OS(this.map,this.service_,this.formater_),this.requestFeatures_().then((e=>{const i=this.facadeVector_.getStyle()instanceof Vy;let n=null;if(qB(this.ol3Layer)||(n=this.ol3Layer.getSource()),!0===t||qB(n)){const t=new kf({loader:()=>{this.loaded_=!0,this.facadeVector_.addFeatures(e),this.fire(su,[e]),this.facadeVector_.redraw()}});if(i){const e=this.facadeVector_.getStyle().getOptions().distance,i=new Gf({distance:e,source:t});this.ol3Layer.setStyle(this.facadeVector_.getStyle().getImpl().olStyleFn),this.ol3Layer.setSource(i)}else this.ol3Layer&&this.ol3Layer.setSource(t)}else i&&(n=n.getSource()),n.set("format",this.formater_),n.set("loader",this.loader_.getLoaderFn((t=>{this.loaded_=!0,this.facadeVector_.addFeatures(t),this.fire(su,[t]),this.facadeVector_.redraw()}))),n.set("strategy",Pf),i||n.changed()})))}setCQL(t){this.cql=t,this.refresh(!0)}getDescribeFeatureType(){return qB(this.describeFeatureType_)&&(this.describeFeatureType_=this.service_.getDescribeFeatureType().then((t=>(qB(t)||(this.formater_=new BS({geometryName:t.geometryName,defaultDataProjection:ee(this.map.getProjection().code)})),t)))),this.describeFeatureType_}getDefaultValue(t){let e;return e="dateTime"===t?"0000-00-00T00:00:00":"date"===t?"0000-00-00":"time"===t?"00:00:00":"duration"===t?"P0Y":"int"===t||"number"===t||"float"===t||"double"===t||"decimal"===t||"short"===t||"byte"===t||"integer"===t||"long"===t||"negativeInteger"===t||"nonNegativeInteger"===t||"nonPositiveInteger"===t||"positiveInteger"===t||"unsignedLong"===t||"unsignedInt"===t||"unsignedShort"===t||"unsignedByte"===t?0:"hexBinary"===t?null:"-",e}isLoaded(){return this.loaded_}requestFeatures_(){return new Promise((t=>{this.loader_.getLoaderFn((e=>{t(e)}))(null,null,ee(this.map.getProjection().code))}))}equals(t){let e=!1;return t instanceof QS&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}}const kS=QS,GS="POINT",US="LINE",qS="POLYGON",VS="MPOINT",zS="MLINE",YS="MPOLYGON",jS=t=>{const e=XB(t,!0);return s[e]};class HS extends _I{constructor(t,e={},i={},n=new kS(e,i)){const r=fg(t,Pu);super(r,e,void 0,n),QB(kS)&&Oc(Cu("exception").wfslayer_method),qB(t)&&Oc(Cu("exception").no_param),this.namespace=r.namespace,this.legend=r.legend,this.cql=r.cql,this.geometry=r.geometry,this.ids=r.ids,this.version=r.version,this.options=e,this.extract=r.extract}get type(){return Pu}set type(t){QB(t)||qB(t)||t===Pu||Oc("El tipo de capa debe ser '".concat(Pu).concat("' pero se ha especificado '").concat(t).concat("'"))}get namespace(){return this.getImpl().namespace}set namespace(t){this.getImpl().namespace=t}get legend(){return this.getImpl().legend}set legend(t){qB(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}get cql(){return this.getImpl().cql}set cql(t){this.getImpl().cql=t}get geometry(){return this.getImpl().geometry}set geometry(t){if(!qB(t)){const e=jS(t);qB(e)&&Oc(`El tipo de capa WFS ${t} no se reconoce. Los tipos disponibles son: POINT, LINE, POLYGON, MPOINT, MLINE, MPOLYGON`),this.getImpl().geometry=e}}get ids(){return this.getImpl().ids}set ids(t){qB(t)?this.getImpl().ids=this.ids:this.getImpl().ids=t}get version(){return this.getImpl().version}set version(t){qB(t)?this.getImpl().version="1.0.0":this.getImpl().version=t}setCQL(t){let e=t;this.getImpl().getDescribeFeatureType().then((t=>{if(!qB(e)){const i=t.geometryName;e=e.replace(/{{geometryName}}/g,i)}this.getImpl().cql!==e&&this.getImpl().setCQL(e)}))}setStyle(t,e=!1,i=HS.DEFAULT_OPTIONS_STYLE){super.setStyle(t,e,i)}equals(t){let e=!1;return t instanceof HS&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}}HS.DEFAULT_PARAMS={fill:{color:"rgba(103, 175, 19, 0.2)",opacity:.4},stroke:{color:"#67af13",width:1}},HS.DEFAULT_OPTIONS_STYLE={point:{...HS.DEFAULT_PARAMS,radius:5},line:{...HS.DEFAULT_PARAMS},polygon:{...HS.DEFAULT_PARAMS}};const XS=HS;const WS=class extends MS{readsldMinScaleDenominator(t,e){t.options.minScale=parseFloat(MS.getChildValue(e))}readolgroup(t,e){const i=t;if(UB(i)){const t=i[0],n=i[1],r=t.layerGroups,s=new Cf({id:e.getAttribute("id"),title:e.getAttribute("title"),order:e.getAttribute("orderInsideGroupDisplay")});qB(n)?r.push(s):n.addChild(s),this.runChildNodes([t,s],e)}else i.layerGroups=[],this.runChildNodes([i],e)}readwmcLayer(t,e){const i=t,n={params:this.layerParams||{},options:{visibility:"1"!==e.getAttribute("hidden"),queryable:"1"===e.getAttribute("queryable")},formats:[],styles:[]};this.runChildNodes(n,e),n.params.isWMC="ok",n.params.layers=n.name,n.options.wmcMaxExtent=n.maxExtent,n.options.wmcGlobalMaxExtent=i.maxExtent;const r=this.getLayerFromInfo(n),s=n.options.groupDisplayLayerSwitcher,o=n.options.orderInsideGroupDisplayLayerSwitcher,a=i.layerGroups,l=Cf.findGroupById(s,a);if(null!=n.styles&&null!=n.styles[0]){const t=n.styles[0];if(null!=t.legend&&t.legend.href){const e=t.legend.href;r.setLegendURL(e)}}qB(l)?(qB(i.layers)&&(i.layers=[]),i.layers.push(r)):l.addChild(r,parseInt(o,10))}getLayerFromInfo(t){const e=t.options;e.params=t.params;return new rf({name:t.name,legend:t.title,url:t.href,transparent:!/^1|(true)$/i.test(e.isBaseLayer),version:t.params.version},e)}readolunits(t,e){t.units=MS.getChildValue(e)}readoltileSize(t,e){t.tileSize={width:parseFloat(e.getAttribute("width")),height:parseFloat(e.getAttribute("height"))}}readolgroupDisplayLayerSwitcher(t,e){t.options.groupDisplayLayerSwitcher=MS.getChildValue(e)}readolorderInsideGroupDisplayLayerSwitcher(t,e){t.options.orderInsideGroupDisplayLayerSwitcher=MS.getChildValue(e)}readsldMaxScaleDenominator(t,e){t.options.maxScale=parseFloat(MS.getChildValue(e))}readwmcStyle(t,e){const i=t,n={};this.runChildNodes(n,e),"1"===e.getAttribute("current")&&(n.legend&&(i.params.layerLegend=n.legend),n.href?i.params.sld=n.href:n.body?i.params.sld_body=n.body:i.params.styles=n.name),i.styles.push(n)}readwmcGeneral(t,e){this.runChildNodes(t,e)}readwmcBoundingBox(t,e){const i=t;i.projection=e.getAttribute("SRS"),i.bounds=[parseFloat(e.getAttribute("minx")),parseFloat(e.getAttribute("miny")),parseFloat(e.getAttribute("maxx")),parseFloat(e.getAttribute("maxy"))]}readwmcLayerList(t,e){const i=t;i.layers=[],this.runChildNodes(i,e)}readwmcExtension(t,e){this.runChildNodes(t,e)}readolmaxExtent(t,e){const i=t;let n=[parseFloat(e.getAttribute("minx")),parseFloat(e.getAttribute("miny")),parseFloat(e.getAttribute("maxx")),parseFloat(e.getAttribute("maxy"))],r=this.options.projection,s=i.projection;qB(r)||qB(s)||r===s||(s=ee(s),r=ee(r),n=qd.transformExtent(n,s,r)),i.maxExtent=n}readoltransparent(t,e){t.params.transparent=MS.getChildValue(e)}readolnumZoomLevels(t,e){t.options.numZoomLevels=parseInt(MS.getChildValue(e),10)}readolopacity(t,e){t.options.opacity=parseFloat(MS.getChildValue(e))}readolsingleTile(t,e){t.options.singleTile="true"===MS.getChildValue(e)}readolisBaseLayer(t,e){t.options.isBaseLayer="true"===MS.getChildValue(e)}readoldisplayInLayerSwitcher(t,e){const i=t,n=XB(MS.getChildValue(e));i.options.displayInLayerSwitcher="true"===n}readwmcServer(t,e){const i=t;i.params.version=e.getAttribute("version"),this.runChildNodes(i,e)}readwmcFormatList(t,e){this.runChildNodes(t,e)}readwmcFormat(t,e){const i=t,n=MS.getChildValue(e);i.formats.push(n),"1"===e.getAttribute("current")&&(i.params.format=n)}readwmcStyleList(t,e){this.runChildNodes(t,e)}readwmcSLD(t,e){this.runChildNodes(t,e)}readsldStyledLayerDescriptor(t,e){t.body=Hd(e)}readwmcOnlineResource(t,e){t.href=this.getAttributeNS(e,this.namespaces.xlink,"href")}readwmcName(t,e){const i=t,n=MS.getChildValue(e);if(n){i["name"]=n}}readwmcTitle(t,e){const i=t,n=MS.getChildValue(e);if(n){i["title"]=n}}readwmcMetadataURL(t,e){const i=t,n={},r=e.getElementsByTagName("OnlineResource");r.length>0&&this.readwmcOnlineResource(n,r[0]);i.options.metadataURL=n.href}readwmcextmetadata(t,e){t.options.metadataUrl=e&&e.innerHTML}readwmcAbstract(t,e){const i=t,n=MS.getChildValue(e);if(n){i["abstract"]=n}}readwmcLatLonBoundingBox(t,e){t.llbbox=[parseFloat(e.getAttribute("minx")),parseFloat(e.getAttribute("miny")),parseFloat(e.getAttribute("maxx")),parseFloat(e.getAttribute("maxy"))]}readwmcLegendURL(t,e){const i=t,n={width:e.getAttribute("width"),height:e.getAttribute("height")},r=e.getElementsByTagName("OnlineResource");r.length>0&&this.readwmcOnlineResource(n,r[0]);i.legend=n}readsldFeatureTypeStyle(t,e){t.body=Hd(e)}readwmcKeywordList(t,e){const i=t,n="keywords";i[n]=[],this.runChildNodes(i[n],e)}readwmcKeyword(t,e){t.push(MS.getChildValue(e))}readwmcLogoURL(t,e){t.logo={width:e.getAttribute("width"),height:e.getAttribute("height"),format:e.getAttribute("format"),href:this.getOnlineResource_href(e)}}readwmcDescriptionURL(t,e){t.descriptionURL=this.getOnlineResource_href(e)}readwmcContactInformation(t,e){const i=t,n={};this.runChildNodes(n,e);i.contactInformation=n}readwmcContactPersonPrimary(t,e){const i=t,n={};this.runChildNodes(n,e);i.personPrimary=n}readwmcContactPerson(t,e){const i=t,n=MS.getChildValue(e);if(n){i["person"]=n}}readwmcContactOrganization(t,e){const i=t,n=MS.getChildValue(e);if(n){i["organization"]=n}}readwmcContactPosition(t,e){const i=t,n=MS.getChildValue(e);if(n){i["position"]=n}}readwmcContactAddress(t,e){const i=t,n={};this.runChildNodes(n,e);i.contactAddress=n}readwmcAddressType(t,e){const i=t,n=MS.getChildValue(e);if(n){i["type"]=n}}readwmcAddress(t,e){const i=t,n=MS.getChildValue(e);if(n){i["address"]=n}}readwmcCity(t,e){const i=t,n=MS.getChildValue(e);if(n){i["city"]=n}}readwmcStateOrProvince(t,e){const i=t,n=MS.getChildValue(e);if(n){i["stateOrProvince"]=n}}readwmcPostCode(t,e){const i=t,n=MS.getChildValue(e);if(n){i["postcode"]=n}}readwmcCountry(t,e){const i=t,n=MS.getChildValue(e);if(n){i["country"]=n}}readwmcContactVoiceTelephone(t,e){const i=t,n=MS.getChildValue(e);if(n){i["phone"]=n}}readwmcContactFacsimileTelephone(t,e){const i=t,n=MS.getChildValue(e);if(n){i["fax"]=n}}readwmcContactElectronicMailAddress(t,e){const i=t,n=MS.getChildValue(e);if(n){i["email"]=n}}readwmcDataURL(t,e){t.dataURL=this.getOnlineResource_href(e)}readwmcDimensionList(t,e){const i=t,n="dimensions";i[n]={},this.runChildNodes(i[n],e)}readwmcDimension(t,e){const i=t,n={name:e.getAttribute("name").toLowerCase(),units:e.getAttribute("units")||"",unitSymbol:e.getAttribute("unitSymbol")||"",userValue:e.getAttribute("userValue")||"",nearestValue:"1"===e.getAttribute("nearestValue"),multipleValues:"1"===e.getAttribute("multipleValues"),current:"1"===e.getAttribute("current"),default:e.getAttribute("default")||""},r=MS.getChildValue(e);n.values=r.split(",");i[n.name]=n}};class KS extends MS{constructor(t){super(t),this.version=null,this.parser=null}readFromDocument(t){9!==t.nodeType&&Oc(Cu("exception").must_be_document);const e=t.documentElement;this.version=e.getAttribute("version"),this.version||(this.version=KS.DEFAULT_VERSION);const i="v".concat(XB(this.version).replace(/\./g,""));this.parser=new KS[i](this.options);return this.parser.read(t)}}KS.v110=WS;const JS=KS;class ZS extends Vd{constructor(t){super(t),this.selected=!1,this.layers=[],this.groups=[],this.loadContextPromise=null,this.maxExtent=null,this.extentProj_=null}addTo(t){this.map=t,this.fire(kc)}select(){!1===this.selected&&(this.map.getWMC().forEach((t=>t.unselect())),this.selected=!0,this.loadContextPromise=new Promise(((t,e)=>{DB(this.url).then((e=>{let i;!1===this.map.defaultProj&&(i=this.map.getProjection().code);const n=e.xml,r=new JS({projection:i}).readFromDocument(n);t.call(this,r)}))})),this.loadContextPromise.then((t=>{if(this.map.defaultProj){const e=ee(t.projection);this.map.setProjection({code:e.getCode(),units:e.getUnits()},!0)}this.loadLayers(t),this.map.fire(lu,this)})))}unselect(){if(!0===this.selected&&(this.selected=!1,qB(this.layers)||this.map.removeLayers(this.layers),!qB(this.groups))){const t=[...this.groups];this.groups=[],this.map.removeLayerGroup(t)}}loadLayers(t){this.layers=t.layers,this.maxExtent=t.maxExtent,qB(t.layerGroups)?this.groups=[]:this.groups=this.groups.concat(t.layerGroups),this.layers.forEach((t=>t.setWMCParent(this.facadeLayer_))),this.map.addWMS(this.layers,!0),this.map.addLayerGroup(this.groups),this.layers.forEach(((t,e)=>t.setZIndex(this.getZIndex()+e))),this.groups.forEach(((t,e)=>t.setZIndex(this.getZIndex()+e))),this.facadeLayer_.fire(su,[this.layers]),this.facadeLayer_.fire(su,[this.groups])}setFacadeObj(t){this.facadeLayer_=t}getMaxExtent(t){return qB(this.maxExtent)&&this.loadContextPromise.then((e=>{this.maxExtent=e.maxExtent,VB(t)&&t(this.maxExtent)})),!qB(this.maxExtent)&&VB(t)&&t(this.maxExtent),this.maxExtent}calculateMaxExtent(){return new Promise((t=>this.getMaxExtent(t)))}getLayers(){return this.layers}destroy(){qB(this.layers)||this.map.removeLayers(this.layers),this.map=null,this.layers.length=0,this.wmcDocument=null}equals(t){let e=!1;return t instanceof ZS&&(e=this.url===t.url,e=e&&this.name===t.name),e}}const $S=ZS;class tb extends _g{constructor(t,e){const i=new $S(e);if(super(fg(t,Tu),i),QB($S)&&Oc(Cu("exception").wmclayer_method),qB(t)&&Oc(Cu("exception").no_param),this.options=e,!qB(this.url)&&qB(this.name))this.generateName_();else if(qB(this.url)&&!qB(this.name)){const t=M.config.predefinedWMC.predefinedNames.indexOf(this.name);-1===t?Oc(`El contexto predefinido '${this.name}'no existe`):(this.url=M.config.predefinedWMC.urls[t],this.name=M.config.predefinedWMC.names[t])}this.loaded_=!1,this.once(su,(()=>{this.setLoaded(!0)}))}get selected(){return this.getImpl().selected}set selected(t){this.getImpl().selected=t}get type(){return Tu}set type(t){QB(t)||qB(t)||t===Tu||Oc("El tipo de capa debe ser '".concat(Tu).concat("' pero se ha especificado '").concat(t).concat("'"))}get layers(){return this.getImpl().layers}set layers(t){this.getImpl().layers=t}get projection(){return this.getImpl().projection}set projection(t){this.getImpl().projection=t}set maxExtent(t){this.getImpl().maxExtent=t}getMaxExtent(t){return this.getImpl().getMaxExtent(t)}calculateMaxExtent(){return this.getImpl().calculateMaxExtent()}get options(){return this.getImpl().options}set options(t){this.getImpl().options=t}select(){QB(this.getImpl().select)&&Oc(Cu("exception").select_method),this.getImpl().select()}unselect(){QB(this.getImpl().unselect)&&Oc(Cu("exception").unselect_method),this.getImpl().unselect()}equals(t){let e=!1;return t instanceof tb&&(e=this.url===t.url,e=e&&this.name===t.name),e}isLoaded(){return this.loaded_}setLoaded(t){this.loaded_=t}}const eb=tb;class ib extends od{constructor(t){super({extent:t.extent,origin:t.origin,origins:t.origins,resolutions:t.resolutions,tileSize:t.tileSize,tileSizes:t.tileSizes,sizes:t.sizes}),this.matrixIds_=t.matrixIds}getMatrixId(t){return this.matrixIds_[t]}getMatrixIds(){return this.matrixIds_}}const nb=ib;function rb(t,e,i){const n=[],r=[],s=[],o=[],a=[];i=void 0!==i?i:[];const l="TileMatrix",h="Identifier",c="ScaleDenominator",u="TopLeftCorner",g=ee(t.SupportedCRS),d=g.getMetersPerUnit(),A="ne"==g.getAxisOrientation().substr(0,2);return t[l].sort((function(t,e){return e[c]-t[c]})),t[l].forEach((function(e){let g;if(g=!(i.length>0)||i.find((function(i){return e[h]==i[l]||!e[h].includes(":")&&t[h]+":"+e[h]===i[l]})),g){r.push(e[h]);const t=28e-5*e[c]/d,i=e.TileWidth,l=e.TileHeight;A?s.push([e[u][1],e[u][0]]):s.push(e[u]),n.push(t),o.push(i==l?i:[i,l]),a.push([e.MatrixWidth,e.MatrixHeight])}})),new ib({extent:e,origins:s,resolutions:n,matrixIds:r,tileSizes:o,sizes:a})}const sb=class extends Tp{constructor(t){const e=void 0!==t.requestEncoding?t.requestEncoding:"KVP",i=t.tileGrid;let n=t.urls;void 0===n&&void 0!==t.url&&(n=bp(t.url)),super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:t.projection,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileClass:t.tileClass,tileGrid:i,tileLoadFunction:t.tileLoadFunction,tilePixelRatio:t.tilePixelRatio,urls:n,wrapX:void 0!==t.wrapX&&t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.version_=void 0!==t.version?t.version:"1.0.0",this.format_=void 0!==t.format?t.format:"image/jpeg",this.dimensions_=void 0!==t.dimensions?t.dimensions:{},this.layer_=t.layer,this.matrixSet_=t.matrixSet,this.style_=t.style,this.requestEncoding_=e,this.setKey(this.getKeyForDimensions_()),n&&n.length>0&&(this.tileUrlFunction=wp(n.map(this.createFromWMTSTemplate.bind(this))))}setUrls(t){this.urls=t;const e=t.join("\n");this.setTileUrlFunction(wp(t.map(this.createFromWMTSTemplate.bind(this))),e)}getDimensions(){return this.dimensions_}getFormat(){return this.format_}getLayer(){return this.layer_}getMatrixSet(){return this.matrixSet_}getRequestEncoding(){return this.requestEncoding_}getStyle(){return this.style_}getVersion(){return this.version_}getKeyForDimensions_(){const t=this.urls?this.urls.slice(0):[];for(const e in this.dimensions_)t.push(e+"-"+this.dimensions_[e]);return t.join("/")}updateDimensions(t){Object.assign(this.dimensions_,t),this.setKey(this.getKeyForDimensions_())}createFromWMTSTemplate(t){const e=this.requestEncoding_,i={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};"KVP"==e&&Object.assign(i,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_}),t="KVP"==e?Np(t,i):t.replace(/\{(\w+?)\}/g,(function(t,e){return e.toLowerCase()in i?i[e.toLowerCase()]:t}));const n=this.tileGrid,r=this.dimensions_;return function(i,s,o){if(!i)return;const a={TileMatrix:n.getMatrixId(i[0]),TileCol:i[1],TileRow:i[2]};Object.assign(a,r);let l=t;return l="KVP"==e?Np(l,a):l.replace(/\{(\w+?)\}/g,(function(t,e){return a[e]})),l}}};function ob(t,e){const i=t.Contents.Layer.find((function(t){return t.Identifier==e.layer}));if(!i)return null;const n=t.Contents.TileMatrixSet;let r;r=i.TileMatrixSetLink.length>1?"projection"in e?i.TileMatrixSetLink.findIndex((function(t){const i=n.find((function(e){return e.Identifier==t.TileMatrixSet})).SupportedCRS,r=ee(i),s=ee(e.projection);return r&&s?ae(r,s):i==e.projection})):i.TileMatrixSetLink.findIndex((function(t){return t.TileMatrixSet==e.matrixSet})):0,r<0&&(r=0);const s=i.TileMatrixSetLink[r].TileMatrixSet,o=i.TileMatrixSetLink[r].TileMatrixSetLimits;let a=i.Format[0];"format"in e&&(a=e.format),r=i.Style.findIndex((function(t){return"style"in e?t.Title==e.style:t.isDefault})),r<0&&(r=0);const l=i.Style[r].Identifier,h={};"Dimension"in i&&i.Dimension.forEach((function(t,e,i){const n=t.Identifier;let r=t.Default;void 0===r&&(r=t.Value[0]),h[n]=r}));const c=t.Contents.TileMatrixSet.find((function(t){return t.Identifier==s}));let u;const g=c.SupportedCRS;if(g&&(u=ee(g)),"projection"in e){const t=ee(e.projection);t&&(u&&!ae(t,u)||(u=t))}let d=!1;const A="ne"==u.getAxisOrientation().substr(0,2);let p=c.TileMatrix[0],f={MinTileCol:0,MinTileRow:0,MaxTileCol:p.MatrixWidth-1,MaxTileRow:p.MatrixHeight-1};if(o){f=o[o.length-1];const t=c.TileMatrix.find((t=>t.Identifier===f.TileMatrix||c.Identifier+":"+t.Identifier===f.TileMatrix));t&&(p=t)}const m=28e-5*p.ScaleDenominator/u.getMetersPerUnit(),_=A?[p.TopLeftCorner[1],p.TopLeftCorner[0]]:p.TopLeftCorner,y=p.TileWidth*m,I=p.TileHeight*m;let E=c.BoundingBox;E&&A&&(E=[E[1],E[0],E[3],E[2]]);let C=[_[0]+y*f.MinTileCol,_[1]-I*(1+f.MaxTileRow),_[0]+y*(1+f.MaxTileCol),_[1]-I*f.MinTileRow];if(void 0!==E&&!D(E,C)){const t=i.WGS84BoundingBox,e=ee("EPSG:4326").getExtent();if(C=E,t)d=t[0]===e[0]&&t[2]===e[2];else{const t=ue(E,c.SupportedCRS,"EPSG:4326");d=t[0]-1e-10<=e[0]&&t[2]+1e-10>=e[2]}}const v=rb(c,C,o),x=[];let w=e.requestEncoding;if(w=void 0!==w?w:"","OperationsMetadata"in t&&"GetTile"in t.OperationsMetadata){const e=t.OperationsMetadata.GetTile.DCP.HTTP.Get;for(let t=0,i=e.length;tthis.addLayer_(t))):this.addLayer_(e)}setResolutions(t){if(qB(this.vendorOptions_.source)){const e=this.facadeLayer_.getMaxExtent(),i=ee(this.map.getProjection().code);this.getCapabilities().then((n=>{const r=n.getMatrixSet(this.name),s=n.getMatrixIds(this.name),o=n.getFormat(this.name),a={url:this.url,layer:this.name,matrixSet:r,format:o,projection:i,tileGrid:new nb({origin:J(e),resolutions:t,matrixIds:s}),extent:e},l=this.options.crossOrigin;QB(l)||(a.crossOrigin=l);const h=new sb(a);this.ol3Layer.setSource(h)}))}}setVisible(t){if(this.visibility=t,!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((t=>!t.equals(this)&&t.isVisible())).forEach((t=>t.setVisible(!1))),qB(this.ol3Layer)||this.ol3Layer.setVisible(t);const e=this.map.getBbox();qB(e)||this.map.setBbox(e,{nearest:!0})}else qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}addLayer_(t){const e=this.facadeLayer_.getMaxExtent(),i=t,n=this.options.minResolution,r=this.options.maxResolution;i.format=this.options.format||t.format;const s=this.options.crossOrigin;QB(s)||(i.crossOrigin=s);const o=new sb(hL(i,{extent:e},!0));this.ol3Layer=new Kg(hL({visible:this.options.visibility,source:o,minResolution:n,maxResolution:r},this.vendorOptions_,!0));const a=this.zIndex_;this.map.getMapImpl().addLayer(this.ol3Layer),null!==a&&this.setZIndex(a),this.setVisible(this.visibility),this.ol3Layer.set("animated",!0),this.fire(kc,this)}setMaxExtent(t){this.getOLLayer().setExtent(t)}getCapabilitiesOptions_(){return qB(this.capabilitiesOptionsPromise)&&(this.capabilitiesOptionsPromise=this.getCapabilities(),this.capabilitiesOptionsPromise instanceof Promise&&(this.capabilitiesOptionsPromise=this.capabilitiesOptionsPromise.then((t=>{const e=this.name;let i=this.matrixSet;qB(i)&&(i=this.map.getProjection().code);const n=this.facadeLayer_.getMaxExtent(),r=ob(t,{layer:e,matrixSet:i,extent:n});return r.tileGrid.extent=n,r})))),this.capabilitiesOptionsPromise}getCapabilities(){return qB(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=new Promise(((t,e)=>{const i=$B(this.url),n=new Qb;DB(i).then((e=>{const i=e.xml,r=n.read(i);t.call(this,r)}))}))),this.getCapabilitiesPromise_}getMinResolution(){return this.options.minResolution}getMaxResolution(){return this.options.maxResolution}setFacadeObj(t){this.facadeLayer_=t}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}equals(t){let e=!1;return t instanceof kb&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet),e}setOptionsGetFeatureInfoUrl(t){const e=t.version,i=t.style,n=t.format;QB(e)||(this.optionsFromGetFeatureInfoUrl_.version=e),QB(i)||(this.optionsFromGetFeatureInfoUrl_.style=i),QB(n)||(this.optionsFromGetFeatureInfoUrl_.format=n)}getOptionsGetFeatureInfoUrl(){return this.optionsFromGetFeatureInfoUrl_}getGetFeatureInfoUrl(t,e,i){const n=this.getTileColTileRow(t,e),r=this.getRelativeTileCoordInPixel_(t,e),s=this.optionsFromGetFeatureInfoUrl_.version,o=this.name,a=this.optionsFromGetFeatureInfoUrl_.style,l=this.optionsFromGetFeatureInfoUrl_.format,h=this.ol3Layer.getSource().getMatrixSet(),c=e,u=i,g=n[0],d=n[1],A=r[0],p=r[1];return KB(this.url,{service:"WMTS",request:"GetFeatureInfo",version:s,layer:o,style:a,format:l,tilematrixset:h,tilematrix:c,tilerow:d,tilecol:g,J:p,I:A,infoFormat:u})}getTileColTileRow(t,e){let i=null;if(!qB(this.ol3Layer)){const n=this.ol3Layer.getSource();if(!qB(n)){const{tileGrid:r}=n;i=r.getTileCoordForCoordAndZ(t,e)}}return i.slice(1)}getRelativeTileCoordInPixel_(t,e){let i;if(!qB(this.ol3Layer)){const n=this.ol3Layer.getSource();if(!qB(n)){const{tileGrid:r}=n,s=r.getTileCoordForCoordAndZ(t,e),o=r.getTileCoordExtent(s,[]),a=r.getResolution(s[0]);i=[Math.floor((t[0]-o[0])/a),Math.floor((o[3]-t[1])/a)]}}return i}cloneOLLayer(){let t=null;if(null!=this.ol3Layer){const e=this.ol3Layer.getProperties();t=new Kg(e)}return t}}const Gb=kb;class Ub extends _g{constructor(t,e={},i){const n=new Gb(e,i),r=fg(t,Fu);super(r,n),QB(Gb)&&Oc(Cu("exception").wmts_method),qB(t)&&Oc(Cu("exception").no_param),this.matrixSet=r.matrixSet,this.legend=r.legend,this.transparent=r.transparent,this.options=e}get type(){return Fu}set type(t){QB(t)||qB(t)||t===Fu||Oc("El tipo de capa debe ser '".concat(Fu).concat("' pero se ha especificado '").concat(t).concat("'"))}get matrixSet(){return this.getImpl().matrixSet}set matrixSet(t){this.getImpl().matrixSet=t}get legend(){return this.getImpl().legend}set legend(t){qB(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}get options(){return this.getImpl().options}set options(t){this.getImpl().options=t}getCapabilities(){return qB(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}equals(t){let e=!1;return t instanceof Ub&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet,e=e&&this.id===t.id),e}getGetFeatureInfoUrl(t,e,i){return this.getImpl().getGetFeatureInfoUrl(t,e,i)}setOptionsGetFeatureInfoUrl(t){this.getImpl().setOptionsGetFeatureInfoUrl(t)}getOptionsGetFeatureInfoUrl(){return this.getImpl().getOptionsGetFeatureInfoUrl()}getTileColTileRow(t,e){return this.getImpl().getTileColTileRow(t,e)}}const qb=Ub;const Vb=class extends Tp{constructor(t){const e=void 0!==(t=t||{}).projection?t.projection:"EPSG:3857",i=void 0!==t.tileGrid?t.tileGrid:_p({extent:Ip(e),maxResolution:t.maxResolution,maxZoom:t.maxZoom,minZoom:t.minZoom,tileSize:t.tileSize});super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,opaque:t.opaque,projection:e,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileGrid:i,tileLoadFunction:t.tileLoadFunction,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.gutter_=void 0!==t.gutter?t.gutter:0}getGutter(){return this.gutter_}};class zb extends Vd{constructor(t,e,i){super(e,i),this.resolutions_=null,this.facadeLayer_=null,this.hasAttributtion=!1,this.haveOSMorMapboxLayer=!1,!1===e.visibility&&(this.visibility=!1),this.zIndex_=uf.Z_INDEX[Ou]}setVisible(t){if(this.visibility=t,!0===t&&!0!==this.transparent){this.map.getBaseLayers().forEach((t=>{!t.equals(this)&&t.isVisible()&&t.setVisible(!1)})),qB(this.ol3Layer)||this.ol3Layer.setVisible(t);const e=this.map.getBbox();this.map.getImpl().updateResolutionsFromBaseLayer(),qB(e)||this.map.setBbox(e)}else qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}addTo(t){this.map=t,this.fire(kc);const e=this.facadeLayer_.getMaxExtent();if(this.ol3Layer=new Kg(hL({source:new Vb({url:`${this.url}${this.name}/{z}/{x}/{y}.png?${M.config.MAPBOX_TOKEN_NAME}=${this.accessToken}`}),extent:e},this.vendorOptions_,!0)),this.map.getMapImpl().addLayer(this.ol3Layer),this.map.getMapImpl().getControls().getArray().forEach((t=>{t instanceof Mh&&(this.hasAttributtion=!0)})),!this.hasAttributtion){let t;qB(this.vendorOptions_)&&(t={className:"ol-attribution ol-unselectable ol-control ol-collapsed m-attribution"}),this.map.getMapImpl().addControl(new Mh(t)),this.hasAttributtion=!1}this.map.getMapImpl().updateSize();const i=this.map.getMapImpl().getSize(),n=this.map.getProjection().units;this.resolutions_=iL(this.getExtent(),i,16,n),this.isVisible()&&!this.inRange()&&this.setVisible(!1),null!==this.zIndex_&&this.setZIndex(this.zIndex_),null!==this.resolutions_&&this.setResolutions(this.resolutions_);const r=!1===this.transparent||!0===this.options.animated;this.ol3Layer.set("animated",r)}setResolutions(t){if(this.resolutions_=t,!qB(this.ol3Layer)&&qB(this.vendorOptions_.source)){const e=this.facadeLayer_.getMaxExtent(),i=new Vb({url:`${this.url}${this.name}/{z}/{x}/{y}.png?${M.config.MAPBOX_TOKEN_NAME}=${this.accessToken}`,extent:e,resolutions:t,attributionControl:!0});this.ol3Layer.setSource(i)}}getExtent(){let t=null;return qB(this.ol3Layer)||(t=ee(this.map.getProjection().code).getExtent()),{x:{min:t[0],max:t[2]},y:{min:t[1],max:t[3]}}}setMaxExtent(t){this.ol3Layer.setExtent(t)}setFacadeObj(t){this.facadeLayer_=t}getMinResolution(){return this.resolutions_[0]}getMaxResolution(){return this.resolutions_[this.resolutions_.length-1]}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map.getLayers().forEach((t=>{(t instanceof Hb||t instanceof $b)&&(this.haveOSMorMapboxLayer=!0)})),this.haveOSMorMapboxLayer||this.map.getImpl().getMapImpl().getControls().getArray().forEach((t=>{t instanceof Mh&&this.map.getImpl().getMapImpl().removeControl(t)})),this.map=null}equals(t){let e=!1;return t instanceof zb&&(e=this.url===t.url,e=e&&this.name===t.name),e}cloneOLLayer(){let t=null;if(null!=this.ol3Layer){const e=this.ol3Layer.getProperties();t=new Kg(e)}return t}}zb.ATTRIBUTION='© Mapbox';const Yb=zb;class jb extends _g{constructor(t,e={},i={}){const n=new Yb(t,e,i),r=fg(t,Ou);super(r,n),QB(Yb)&&Oc(Cu("exception").mapbox_method),qB(t)&&Oc(Cu("exception").no_param),qB(r.name)&&Oc(Cu("exception").no_name),this.name=r.name,this.legend=r.legend,qB(r.legend)&&(this.legend=r.name),this.transparent=r.transparent,this.accessToken=r.accessToken,this.options=e}get url(){return this.getImpl().url}set url(t){qB(t)?this.getImpl().url=M.config.MAPBOX_URL:this.getImpl().url=t}get transparent(){return this.getImpl().transparent}set transparent(t){qB(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}get accessToken(){return this.getImpl().accessToken}set accessToken(t){qB(t)?this.getImpl().accessToken=M.config.MAPBOX_TOKEN_VALUE:this.getImpl().accessToken=t}get type(){return Ou}set type(t){QB(t)||qB(t)||t===Ou||Oc("El tipo de capa debe ser '".concat(Ou).concat("' pero se ha especificado '").concat(t).concat("'"))}equals(t){let e=!1;return t instanceof jb&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options,e=e&&this.id===t.id),e}}const Hb=jb,Xb='© OpenStreetMap contributors.';const Wb=class extends Vb{constructor(t){let e;e=void 0!==(t=t||{}).attributions?t.attributions:[Xb];const i=void 0!==t.crossOrigin?t.crossOrigin:"anonymous",n=void 0!==t.url?t.url:"https://tile.openstreetmap.org/{z}/{x}/{y}.png";super({attributions:e,attributionsCollapsible:!1,cacheSize:t.cacheSize,crossOrigin:i,interpolate:t.interpolate,maxZoom:void 0!==t.maxZoom?t.maxZoom:19,opaque:void 0===t.opaque||t.opaque,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,transition:t.transition,url:n,wrapX:t.wrapX,zDirection:t.zDirection})}};class Kb extends Vd{constructor(t,e={},i){super(e,i),this.resolutions_=null,this.facadeLayer_=null,this.hasAttributtion=!1,this.haveOSMorMapboxLayer=!1,!1===e.visibility&&(this.visibility=!1),this.zIndex_=uf.Z_INDEX[Du],this.url_=t.url}setVisible(t){if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().forEach((t=>{!t.equals(this)&&t.isVisible()&&t.setVisible(!1)})),qB(this.ol3Layer)||this.ol3Layer.setVisible(t);const e=this.map.getBbox();this.map.getImpl().updateResolutionsFromBaseLayer(),qB(e)||this.map.setBbox(e)}else qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}addTo(t){this.map=t,this.fire(kc),this.ol3Layer=new Kg(hL({},this.vendorOptions_,!0)),this.updateSource_(),this.map.getMapImpl().addLayer(this.ol3Layer),this.map.getImpl().getMapImpl().getControls().getArray().forEach((t=>{t instanceof Mh&&(this.hasAttributtion=!0)}),this),this.hasAttributtion||(this.map.getMapImpl().addControl(new Mh({className:"ol-attribution ol-unselectable ol-control ol-collapsed m-attribution",collapsible:!0})),this.hasAttributtion=!1),this.map.getMapImpl().updateSize();const e=this.map.getMapImpl().getSize(),i=this.map.getProjection().units;this.resolutions_=iL(this.facadeLayer_.getMaxExtent(),e,16,i),this.isVisible()&&!this.inRange()&&this.setVisible(!1),null!==this.zIndex_&&this.setZIndex(this.zIndex_),null!==this.resolutions_&&this.setResolutions(this.resolutions_);const n=!1===this.transparent||!0===this.options.animated;this.ol3Layer.set("animated",n),this.map.on(hu,(()=>this.updateSource_()))}setResolutions(t){this.resolutions_=t,this.updateSource_(t)}updateSource_(t){if(qB(t)&&!qB(this.map)){this.map.getMapImpl().updateSize();const t=this.map.getMapImpl().getSize(),e=this.map.getProjection().units,i=M.config.ZOOM_LEVELS;this.resolutions_=iL(this.facadeLayer_.getMaxExtent(),t,i,e)}if(!qB(this.ol3Layer)&&qB(this.vendorOptions_.source)){const t=this.facadeLayer_.getMaxExtent();let e="";e=QB(this.url_)?new Wb({}):new Vb({url:this.url_}),this.ol3Layer.setSource(e),this.ol3Layer.setExtent(t)}}setFacadeObj(t){this.facadeLayer_=t}setMaxExtent(t){this.ol3Layer.setExtent(t)}getMinResolution(){}getMaxResolution(){}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map.getLayers().forEach((t=>{(t instanceof $b||t instanceof Hb)&&(this.haveOSMorMapboxLayer=!0)})),this.haveOSMorMapboxLayer||this.map.getImpl().getMapImpl().getControls().getArray().forEach((t=>{t instanceof Mh&&this.map.getImpl().getMapImpl().removeControl(t)})),this.map=null}equals(t){let e=!1;return t instanceof Kb&&(e=this.url===t.url,e=e&&this.name===t.name),e}cloneOLLayer(){let t=null;if(null!=this.ol3Layer){const e=this.ol3Layer.getProperties();t=new Kg(e)}return t}}const Jb=Kb;class Zb extends _g{constructor(t,e={},i={}){let n=t;QB(Jb)&&Oc(Cu("exception").osm_method),qB(n)&&(n="OSM");const r=new Jb(n,e,i),s=fg(n,Du);qB(s.name)&&(s.name="osm"),super(s,r),this.name=s.name,this.legend=s.legend,qB(s.legend)&&(this.legend="OpenStreetMap"),this.transparent=s.transparent,this.options=e}get transparent(){return this.getImpl().transparent}set transparent(t){qB(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}get type(){return Du}set type(t){QB(t)||qB(t)||t===Du||Oc("El tipo de capa debe ser '".concat(Du).concat("' pero se ha especificado '").concat(t).concat("'"))}equals(t){let e=!1;return t instanceof Zb&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options),e}}const $b=Zb;const tB=class extends Tg{constructor(t,e,i,n,r,s){super(t,e,s),this.extent=null,this.format_=n,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=i,this.key=i}getFormat(){return this.format_}getFeatures(){return this.features_}load(){this.state==vh&&(this.setState(xh),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(Sh)}setFeatures(t){this.features_=t,this.setState(wh)}setLoader(t){this.loader_=t}},eB=[];const iB=class extends Tg{constructor(t,e,i,n){super(t,e,{transition:0}),this.context_={},this.executorGroups={},this.declutterExecutorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=n.bind(void 0,this),this.wrappedTileCoord=i}getContext(t){const e=Xs(t);return e in this.context_||(this.context_[e]=bl(1,1,eB)),this.context_[e]}hasContext(t){return Xs(t)in this.context_}getImage(t){return this.hasContext(t)?this.getContext(t).canvas:null}getReplayState(t){const e=Xs(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){for(const t in this.context_){const e=this.context_[t];Bl(e),eB.push(e.canvas),delete this.context_[t]}super.release()}};const nB=class extends Lp{constructor(t){const e=t.projection||"EPSG:3857",i=t.extent||Ip(e),n=t.tileGrid||_p({extent:i,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,opaque:!1,projection:e,state:t.state,tileGrid:n,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:rB,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.sourceTileCache=new up(this.tileCache.highWaterMark),this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:tB,this.tileGrids_={}}getFeaturesInExtent(t){const e=[],i=this.tileCache;if(0===i.getCount())return e;const n=nd(i.peekFirstKey())[0],r=this.tileGrid;return i.forEach((function(i){if(i.tileCoord[0]!==n||i.getState()!==wh)return;const s=i.getSourceTiles();for(let i=0,n=s.length;i{const n=function(t){const[e,i,n]=t.substring(t.lastIndexOf("/")+1,t.length).split(",").map(Number);return ed(e,i,n)}(e),r=i.peek(n);if(r){const e=r.sourceTiles;for(let i=0,n=e.length;i{const r=this.tileUrlFunction(n,t,e),s=this.sourceTileCache.containsKey(r)?this.sourceTileCache.get(r):new this.tileClass(n,r?vh:bh,r,this.format_,this.tileLoadFunction);i.sourceTiles.push(s);const o=s.getState();if(o{this.handleTileChange(e);const n=s.getState();if(n===wh||n===Sh){const e=s.getKey();e in i.errorTileKeys?s.getState()===wh&&delete i.errorTileKeys[e]:i.loadingSourceTiles--,n===Sh?i.errorTileKeys[e]=!0:s.removeEventListener(bs,t),0===i.loadingSourceTiles&&i.setState(ws(i.errorTileKeys)?wh:Sh)}};s.addEventListener(bs,t),i.loadingSourceTiles++}o===vh&&(s.extent=l.getTileCoordExtent(n),s.projection=e,s.resolution=l.getResolution(n[0]),this.sourceTileCache.set(r,s),s.load())})),i.loadingSourceTiles||i.setState(i.sourceTiles.some((t=>t.getState()===Sh))?Sh:wh)}return i.sourceTiles}getTile(t,e,i,n,r){const s=ed(t,e,i),o=this.getKey();let a;if(this.tileCache.containsKey(s)&&(a=this.tileCache.get(s),a.key===o))return a;const l=[t,e,i];let h=this.getTileCoordForTileUrlFunction(l,r);const c=this.getTileGrid().getExtent(),u=this.getTileGridForProjection(r);if(h&&c){const e=u.getTileCoordExtent(h);R(e,-u.getResolution(t),e),lt(c,e)||(h=null)}let g=!0;if(null!==h){const e=this.tileGrid,i=u.getResolution(t),s=e.getZForResolution(i,1),o=u.getTileCoordExtent(h);R(o,-i,o),e.forEachTileCoord(o,s,(t=>{g=g&&!this.tileUrlFunction(t,n,r)}))}const d=new iB(l,g?bh:vh,h,this.getSourceTiles.bind(this,n,r));return d.key=o,a?(d.interimTile=a,d.refreshInterimChain(),this.tileCache.replace(s,d)):this.tileCache.set(s,d),d}getTileGridForProjection(t){const e=t.getCode();let i=this.tileGrids_[e];if(!i){const t=this.tileGrid,n=t.getResolutions().slice(),r=n.map((function(e,i){return t.getOrigin(i)})),s=n.map((function(e,i){return t.getTileSize(i)})),o=ea+1;for(let t=n.length;t{const r=n===p?e.declutterTree.all().map((t=>t.value)):null;for(let e=0,a=n.length;e{const n=this.getLayer(),r=Xs(n),s=n.getSource(),o=this.renderedProjection,a=o.getExtent(),l=this.renderedResolution,h=s.getTileGridForProjection(o),c=_o(this.renderedPixelToCoordinateTransform_,t.slice()),u=h.getTileCoordForCoordAndResolution(c,l);let g;for(let t=0,e=this.renderedTiles.length;t0)return void e([]);const d=st(h.getTileCoordExtent(g.wrappedTileCoord)),A=[(c[0]-d[0])/l,(d[1]-c[1])/l],p=g.getSourceTiles().reduce((function(t,e){return t.concat(e.getFeatures())}),[]);let f=g.hitDetectionImageData[r];if(!f){const t=xc(h.getTileSize(h.getZForResolution(l,s.zDirection))),e=this.renderedRotation_;f=vy(t,[this.getRenderTransform(h.getTileCoordCenter(g.wrappedTileCoord),l,0,Cy,t[0]*Cy,t[1]*Cy,0)],p,n.getStyleFunction(),h.getTileCoordExtent(g.wrappedTileCoord),g.getReplayState(n).renderedResolution,e),g.hitDetectionImageData[r]=f}e(xy(A,p,f))}))}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&void 0!==this.renderedLayerRevision_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}renderDeclutter(t){const e=this.context,i=e.globalAlpha;e.globalAlpha=this.getLayer().getOpacity();const n=t.viewHints,r=!(n[Zo]||n[$o]),s=this.renderedTiles;for(let e=0,i=s.length;e=0;--e)n[e].execute(this.context,1,this.getTileRenderTransform(i,t),t.viewState.rotation,r,void 0,t.declutterTree)}e.globalAlpha=i}getTileRenderTransform(t,e){const i=e.pixelRatio,n=e.viewState,r=n.center,s=n.resolution,o=n.rotation,a=e.size,l=Math.round(a[0]*i),h=Math.round(a[1]*i),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),u=t.tileCoord,g=c.getTileCoordExtent(t.wrappedTileCoord),d=c.getTileCoordExtent(u,this.tmpExtent)[0]-g[0];return fo(yo(this.inversePixelTransform.slice(),1/i,1/i),this.getRenderTransform(r,s,o,i,l,h,d))}postRender(t,e){const i=e.viewHints,n=!(i[Zo]||i[$o]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=r.getOpacity();const a=oB[s],l=e.viewState,h=l.rotation,c=r.getSource(),u=c.getTileGridForProjection(l.projection).getZForResolution(l.resolution,c.zDirection),g=this.renderedTiles,d=[],A=[];let p=!0;for(let i=g.length-1;i>=0;--i){const s=g[i];p=p&&!s.getReplayState(r).dirty;const o=s.executorGroups[Xs(r)].filter((t=>t.hasExecutors(a)));if(0===o.length)continue;const l=this.getTileRenderTransform(s,e),c=s.tileCoord[0];let f=!1;const m=o[0].getClipCoords(l);if(m){for(let e=0,i=d.length;e>3)?i.readString():2===t?i.readFloat():3===t?i.readDouble():4===t?i.readVarint64():5===t?i.readVarint():6===t?i.readSVarint():7===t?i.readBoolean():null;e.values.push(n)}}function gB(t,e,i){if(1==t)e.id=i.readVarint();else if(2==t){const t=i.readVarint()+i.pos;for(;i.pos>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&h>c&&(n.push(h),c=h),i.push(a,l),h+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");h>c&&(i.push(i[c],i[c+1]),h+=2)}}h>c&&(n.push(h),c=h)}createFeature_(t,e,i){const n=e.type;if(0===n)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const h=function(t,e){let i;1===t?i=1===e?"Point":"MultiPoint":2===t?i=1===e?"LineString":"MultiLineString":3===t&&(i="Polygon");return i}(n,l.length);if(this.featureClass_===Pd)r=new this.featureClass_(h,a,l,s,o),r.transform(i.dataProjection);else{let t;if("Polygon"==h){const e=nl(a,l);t=e.length>1?new Md(a,"XY",e):new sl(a,"XY",l)}else t="Point"===h?new qa(a,"XY"):"LineString"===h?new wd(a,"XY"):"MultiPoint"===h?new Id(a,"XY"):"MultiLineString"===h?new bd(a,"XY",l):null;r=new(0,this.featureClass_),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=KE(t,!1,i);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const i=this.layers_,n=ee((e=this.adaptOptions(e)).dataProjection);n.setWorldExtent(e.extent),e.dataProjection=n;const r=new hB(t),s=r.readFields(cB,{}),o=[];for(const t in s){if(i&&!i.includes(t))continue;const a=s[t],l=a?[0,0,a.extent,a.extent]:null;n.setExtent(l);for(let t=0,i=a.length;t{if(this.map){const t=this.map.getZoom();this.lastZoom_!==t&&(this.features_.length=0,this.lastZoom_=t)}}))}getFeatures(t,e){let i=[];if(this.ol3Layer){const t=this.ol3Layer.getSource().tileCache;if(0===t.getCount())return i;const e=nd(t.peekFirstKey())[0];t.forEach((t=>{if(t.tileCoord[0]!==e||t.getState()!==wh)return;const n=t.getSourceTiles();for(let t=0,e=n.length;t!t.equals(this)&&t.isVisible())).forEach((t=>t.setVisible(!1))),this.ol3Layer.setVisible(t);const e=this.map.getZoom();this.map.getImpl().updateResolutionsFromBaseLayer(),qB(e)||this.map.setZoom(e);const i=this.map.getBbox();qB(i)||this.map.setBbox(i,{nearest:!0})}else qB(this.ol3Layer)||this.ol3Layer.setVisible(t)}equals(t){let e=!1;return t instanceof pB&&(e=this.name===t.name),e}}const fB=pB,mB={RENDER:"render",FEATURE:"feature"};class _B extends _I{constructor(t={},e={},i={},n){super(t,e,i,n||new fB(t,e,i)),QB(fB)&&Oc("La implementación usada no puede crear capas Vector")}get type(){return Gu}set type(t){QB(t)||qB(t)||t===Gu||Oc("El tipo de capa debe ser '".concat(Gu).concat("' pero se ha especificado '").concat(t).concat("'"))}getMaxExtent(){let t=this.userMaxExtent;return qB(t)&&(t=this.map_.userMaxExtent,qB(t)&&(t=this.map_.getProjection().getExtent())),t}calculateMaxExtent(){return new Promise((t=>t(this.getMaxExtent())))}setStyle(t,e=!1,i=_B.DEFAULT_OPTIONS_STYLE){super.setStyle(t,e,i)}getProjection(){return this.getImpl().getProjection()}getGeometryType(){let t=null;const e=this.getFeatures();if(!qB(e)){const i=e[0];qB(i)||(t=i.getType())}return t}getFeatures(){return this.getImpl().getFeatures().map((t=>lx.olFeature2Facade(t)))}clearStyle(){this.setStyle(null)}setFilter(){}addFeatures(){}removeFeatures(){}refresh(){}redraw(){}toGeoJSON(){}}_B.DEFAULT_PARAMS_STYLE={fill:{color:"#fff",opacity:.6},stroke:{color:"#827ec5",width:2}},_B.DEFAULT_OPTIONS_STYLE={point:{..._B.DEFAULT_PARAMS_STYLE,radius:5},line:{..._B.DEFAULT_PARAMS_STYLE},polygon:{..._B.DEFAULT_PARAMS_STYLE}};const yB=_B;const IB=class extends Mc{constructor(t,e,i){super(),this.map_=t,this.url_=e,this.format_=i}getLoaderFn(t){return(e,i,n)=>{this.loadInternal_(n).then((e=>{t.apply(this,e)}))}}loadInternal_(t){let e=this.url_;return new Promise((i=>{YB(M.config.ticket)&&(e=KB(e,{ticket:M.config.ticket})),DB(e).then((e=>{if(qB(e.text))Oc(Cu("exception").no_service_response);else{const n=this.format_.read(e.text,{featureProjection:t});i.call(this,[n])}}))}))}};class EB extends hI{constructor(t,e,i){super(e,i),this.popup_=null,this.formater_=null,this.loader_=null,this.loadFeaturesPromise_=null,this.loaded_=!1,this.hiddenAttributes_=[],qB(e.hide)||(this.hiddenAttributes_=e.hide),this.showAttributes_=[],qB(e.show)||(this.showAttributes_=e.show)}addTo(t){this.formater_=new LS({defaultDataProjection:ee(t.getProjection().code)}),qB(this.url)||(this.loader_=new IB(t,this.url,this.formater_)),super.addTo(t)}refresh(t=null){let e={type:"FeatureCollection",features:this.formater_.write(this.facadeVector_.getFeatures()),crs:{properties:{code:this.map.getProjection().code.split(":")[1]},type:"EPSG"}};zB(t)&&(e=t),this.source=e,this.updateSource_()}setSource(t){this.source=t,qB(this.map)||this.updateSource_()}requestFeatures_(){return this.source?this.loadFeaturesPromise_=new Promise((t=>{t(this.formater_.read(this.source,this.map.getProjection()))})):qB(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((t=>{this.loader_.getLoaderFn((e=>{t(e)}))(null,null,ee(this.map.getProjection().code))}))),this.loadFeaturesPromise_}updateSource_(){qB(this.vendorOptions_.source)&&this.requestFeatures_().then((t=>{this.ol3Layer&&this.ol3Layer.setSource(new kf({loader:(e,i,n)=>{this.loaded_=!0,this.facadeVector_.clear(),this.facadeVector_.addFeatures(t,!1,!1),this.redraw(),this.fire(su,[t])}}))}))}isLoaded(){return this.loaded_}equals(t){let e=!1;return t instanceof EB&&(e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}const CB=EB;class vB extends _I{constructor(t,e={},i){super(t,e,void 0,new CB(t,e,i)),QB(CB)&&Oc(Cu("exception").geojsonlayer_method),qB(t)&&Oc(Cu("exception").no_param),YB(t)?this.url=t:UB(t)?this.source=t:(this.url=t.url,this.name=t.name,this.source=t.source,qB(t.crs)||(qB(this.source)&&(this.source={type:"FeatureCollection",features:[]}),this.source.crs={type:"EPSG",properties:{code:t.crs}})),this.options=e}get type(){return Qu}set type(t){QB(t)||qB(t)||t===Qu||Oc("El tipo de capa debe ser '".concat(Qu).concat("' pero se ha especificado '").concat(t).concat("'"))}get source(){return this.getImpl().source}set source(t){this.getImpl().source=t}equals(t){let e=!1;return t instanceof vB&&(e=this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}setSource(t){this.source=t,this.getImpl().refresh(t)}setStyle(t,e=!1,i=vB.DEFAULT_OPTIONS_STYLE){super.setStyle(t,e,i)}}vB.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},vB.DEFAULT_OPTIONS_STYLE={point:{...vB.DEFAULT_PARAMS,radius:5},line:{...vB.DEFAULT_PARAMS},polygon:{...vB.DEFAULT_PARAMS}};const xB=vB;class wB extends Qc{constructor(t,e={}){const i=new sx(t);super();const n=new uf(i.container,this,e);if(this.setImpl(n),qB(t)&&Oc(Cu("exception").no_param),QB(uf)&&Oc(Cu("exception").constructor_impl),this._panels=[],this._plugins=[],this._areasContainer=null,this.popup_=[],this._defaultProj=!0,this.panel={LEFT:null,RIGHT:"null"},this._userZoom=null,this.userCenter_=null,this._finishedInitCenter=!0,this._finishedMaxExtent=!0,this._finishedMapImpl=!1,this._finishedMap=!1,this.centerFeature_=null,this.drawLayer_=null,this.userMaxExtent=null,this.ticket_=null,i.container.classList.add("m-mapea-container"),qB(i.bgColorContainer)||this.setBGColorContainer(i.bgColorContainer),n.on(ou,(()=>{this._finishedMapImpl=!0,this._checkCompleted()})),this.createMainPanels_(),this.featuresHandler_=new ux,this.featuresHandler_.addTo(this),this.featuresHandler_.activate(),this.drawLayer_=new _I({name:"__draw__"},{displayInLayerSwitcher:!1}),this.drawLayer_.setStyle(new CI(wB.DRAWLAYER_STYLE)),this.drawLayer_.setZIndex(uf.Z_INDEX[Pu]+999),this.addLayers(this.drawLayer_),qB(i.projection)?this.setProjection(M.config.DEFAULT_PROJ,!0):this.setProjection(i.projection),qB(i.bbox)||this.setBbox(i.bbox),qB(i.resolutions)||this.setResolutions(i.resolutions),!qB(i.maxExtent)){const t=qB(i.zoom)&&qB(i.bbox);this.setMaxExtent(i.maxExtent,t)}if(qB(i.wmc)||this.addWMC(i.wmc),qB(i.layers)||this.addLayers(i.layers),qB(i.wms)||this.addWMS(i.wms),qB(i.wmts)||this.addWMTS(i.wmts),qB(i.kml)||this.addKML(i.kml),qB(i.controls)?this.addControls("panzoom"):this.addControls(i.controls),!qB(i.getfeatureinfo))if("plain"!==i.getfeatureinfo&&"html"!==i.getfeatureinfo&&"gml"!==i.getfeatureinfo)AI(Cu("dialog").getfeatureinfo_type);else{const t=new kv(i.getfeatureinfo);this.addControls(t)}if(!QB(i.layerswitcher))if("emptylayer"!==i.layerswitcher&&""!==i.layerswitcher)AI(Cu("layerswitcher").unsupported_param);else{const t=new xI(i.layerswitcher);this.addControls(t)}qB(i.wmc)&&qB(i.layers)&&this.addWMC(M.config.predefinedWMC.predefinedNames[0]),qB(i.center)||this.setCenter(i.center),qB(i.zoom)?qB(i.bbox)&&this.setZoom(0):this.setZoom(i.zoom),qB(i.rotation)||this.once(ou,(()=>{this.setRotation(i.rotation)})),qB(i.label)||this.addLabel(i.label),qB(i.ticket)||this.setTicket(i.ticket),qB(i.bbox)&&qB(i.zoom)&&qB(i.center)&&this.zoomToMaxExtent(!0),qB(i.center)&&qB(i.bbox)&&(this._finishedInitCenter=!1,this.getInitCenter_().then((t=>{qB(this.userCenter_)&&this.setCenter(t),this._finishedInitCenter=!0,this._checkCompleted()})))}getLayers(t){let e=t;QB(uf.prototype.getLayers)&&Oc(Cu("exception").getlayers_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map(fg));return this.getImpl().getLayers(i).sort(wB.LAYER_SORT)}getRootLayers(t){return this.getLayers(t).filter((t=>qB(t.getLayerGroup())))}getBaseLayers(){return QB(uf.prototype.getBaseLayers)&&Oc(Cu("exception").getbaselayers_method),this.getImpl().getBaseLayers().sort(wB.LAYER_SORT)}getFeatureHandler(){return this.featuresHandler_}addLayers(t){let e=t;if(!qB(e)){QB(uf.prototype.addLayers)&&Oc(Cu("exception").addlayers_method),UB(e)||(e=[e]);const t=e.map((t=>{let e;if(t instanceof _g)e=t;else{const i=fg(t);if(qB(i.type))AI(Cu("dialog").invalid_type_layer);else switch(i.type){case"WFS":e=new XS(t,{style:i.style});break;case"WMC":e=new eb(t);break;case"WMS":e=new rf(t);break;case"GeoJSON":e=new xB(i,{style:i.style});break;case"OSM":e=new $b(t);break;case"Mapbox":e=new Hb(t);break;case"KML":e=new ES(t);break;case"Vector":e=new _I(t);break;case"WMTS":e=new qb(t);break;case"MVT":e=new yB(i);break;default:AI(Cu("dialog").invalid_type_layer)}}return e instanceof _I&&!(e instanceof XS)&&this.featuresHandler_.addLayer(e),e.setMap(this),e}));this.getImpl().addLayers(t),this.fire(Uc,[t])}return this}removeLayers(t){if(!qB(t)){QB(uf.prototype.removeLayers)&&Oc(Cu("exception").removelayers_method);const e=this.getLayers(t);e.forEach((t=>{t instanceof _I&&this.featuresHandler_.removeLayer(t)})),this.getImpl().removeLayers(e)}return this}getLayerGroup(){return QB(uf.prototype.getLayerGroups)&&Oc("La implementación usada no posee el método getLayerGroups"),this.getImpl().getLayerGroups().sort(wB.LAYER_SORT)}addLayerGroup(t){let e=t;return GB(e)&&Oc("No ha especificado ningun grupo"),QB(uf.prototype.addLayerGroups)&&Oc("La implementación usada no posee el método addLayerGroups"),UB(e)||(e=[e]),this.getImpl().addLayerGroups(e),this}removeLayerGroup(t){return GB(t)&&Oc("No ha especificado ningun grupo a eliminar"),QB(this.getImpl().removeLayerGroups)&&Oc("La implementación usada no posee el método removeGroups"),this.getImpl().removeLayerGroups(t),this}getWMC(t){let e=t;QB(uf.prototype.getWMC)&&Oc(Cu("exception").getwmc_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Tu))));return this.getImpl().getWMC(i).sort(wB.LAYER_SORT)}addWMC(t){let e=t;if(!qB(e)){QB(uf.prototype.addWMC)&&Oc(Cu("exception").addwmc_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{if(zB(e)&&e instanceof eb)e.setMap(this),t.push(e);else if(!(e instanceof _g))try{const i=new eb(e,e.options);i.setMap(this),t.push(i)}catch(t){throw AI(t.toString()),t}})),this.getImpl().addWMC(t),this.fire(Uc,[t]),this.fire(qc,[t]);const i=this.getWMC(),n=i.filter((t=>!0===t.selected))[0];null==n&&i[0].select(),i.length>1&&(this.removeControls("wmcselector"),this.addControls(new mf))}return this}refreshWMCSelectorControl(){if(this.removeControls("wmcselector"),1===this.getWMC().length)this.getWMC()[0].select();else if(this.getWMC().length>1){this.addControls(new mf);const t=this.getWMC().filter((t=>!0===t.selected))[0];null==t&&this.getWMC()[0].select()}}removeWMC(t){if(!qB(t)){QB(uf.prototype.removeWMC)&&Oc(Cu("exception").removewmc_method);const e=this.getWMC(t);e.length>0&&this.getImpl().removeWMC(e)}return this}getKML(t){let e=t;QB(uf.prototype.getKML)&&Oc(Cu("exception").getkml_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Ru))));return this.getImpl().getKML(i).sort(wB.LAYER_SORT)}addKML(t){let e=t;if(!qB(e)){QB(uf.prototype.addKML)&&Oc(Cu("exception").addkml_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{let i;zB(e)&&e instanceof ES?i=e:e instanceof _g||(i=new ES(e,e.options)),!0===i.extract&&this.featuresHandler_.addLayer(i),t.push(i)})),this.getImpl().addKML(t),this.fire(Uc,[t]),this.fire(Vc,[t])}return this}removeKML(t){if(!qB(t)){QB(uf.prototype.removeKML)&&Oc(Cu("exception").removekml_method);const e=this.getKML(t);e.length>0&&(e.forEach((t=>{this.featuresHandler_.removeLayer(t)})),this.getImpl().removeKML(e))}return this}getWMS(t){let e=t;QB(uf.prototype.getWMS)&&Oc(Cu("exception").getwms_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Nu))));return this.getImpl().getWMS(i).sort(wB.LAYER_SORT)}addWMS(t){let e=t;if(!qB(e)){QB(uf.prototype.addWMS)&&Oc(Cu("exception").addwms_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{let i=e;e instanceof rf||(i=new rf(e,e.options)),i.setMap(this),t.push(i)})),this.getImpl().addWMS(t),this.fire(Uc,[t]),this.fire(zc,[t])}return this}removeWMS(t){if(!qB(t)){QB(uf.prototype.removeWMS)&&Oc(Cu("exception").removewms_method);const e=this.getWMS(t);e.length>0&&this.getImpl().removeWMS(e)}return this}getWFS(t){let e=t;QB(uf.prototype.getWFS)&&Oc(Cu("exception").getwfs_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Pu))));return this.getImpl().getWFS(i).sort(wB.LAYER_SORT)}getGeoJSON(t){let e=t;QB(uf.prototype.getGeoJSON)&&Oc(Cu("exception").getgeojson_method),GB(e)?e=[]:UB(e)||(e=[e]);return this.getImpl().getGeoJSON(e).sort(wB.LAYER_SORT)}addWFS(t){let e=t;if(!qB(e)){QB(uf.prototype.addWFS)&&Oc(Cu("exception").addwfs_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{let i;if(zB(e)&&e instanceof XS)i=e;else if(!(e instanceof _g))try{i=new XS(e,e.options)}catch(t){throw AI(t.toString()),t}this.featuresHandler_.addLayer(i),t.push(i)})),this.getImpl().addWFS(t),this.fire(Uc,[t]),this.fire(Yc,[t])}return this}removeWFS(t){if(!qB(t)){QB(uf.prototype.removeWFS)&&Oc(Cu("exception").removewfs_method);const e=this.getWFS(t);e.length>0&&(e.forEach((t=>{this.featuresHandler_.removeLayer(t)})),this.getImpl().removeWFS(e))}return this}getWMTS(t){let e=t;QB(uf.prototype.getWMTS)&&Oc(Cu("exception").getwmts_method),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Fu))));return this.getImpl().getWMTS(i).sort(wB.LAYER_SORT)}addWMTS(t){let e=t;if(!qB(e)){QB(uf.prototype.addWMTS)&&Oc(Cu("exception").addwmts_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{if(zB(e)&&e instanceof qb)e.setMap(this),t.push(e);else if(!(e instanceof _g)){const i=new qb(e,e.options);i.setMap(this),t.push(i)}})),this.getImpl().addWMTS(t),this.fire(Uc,[t]),this.fire(Wc,[t])}return this}removeWMTS(t){if(!qB(t)){QB(uf.prototype.removeWMTS)&&Oc(Cu("exception").removewmts_method);const e=this.getWMTS(t);e.length>0&&this.getImpl().removeWMTS(e)}return this}getMVT(t){let e=t;QB(uf.prototype.getMVT)&&Oc("La implementación usada no posee el método getWFS"),GB(e)?e=[]:UB(e)||(e=[e]);let i=[];e.length>0&&(i=e.map((t=>fg(t,Gu))));return this.getImpl().getMVT(i).sort(wB.LAYER_SORT)}removeMVT(t){if(!qB(t)){QB(uf.prototype.removeMVT)&&Oc("La implementación usada no posee el método removeWFS");const e=this.getMVT(t);e.length>0&&(e.forEach((t=>{this.featuresHandler_.removeLayer(t)})),this.getImpl().removeMVT(e))}return this}addMVT(t){let e=t;if(!qB(e)){QB(uf.prototype.addMVT)&&Oc("La implementación usada no posee el método addWFS"),UB(e)||(e=[e]);const t=[];e.forEach((e=>{let i;if(zB(e)&&e instanceof yB)i=e;else if(!(e instanceof _g))try{i=new yB(e,e.options)}catch(t){throw AI(t.toString()),t}t.push(i)})),this.getImpl().addMVT(t),this.fire(Uc,[t]),this.fire(jc,[t])}return this}getControls(t){let e=t;QB(uf.prototype.getControls)&&Oc(Cu("exception").getcontrols_method),GB(e)?e=[]:UB(e)||(e=[e]);return this.getImpl().getControls(e)}addControls(t){let e=t;if(!qB(e)){QB(uf.prototype.addControls)&&Oc(Cu("exception").addcontrols_method),UB(e)||(e=[e]);const t=[];e.forEach((e=>{const i=(t=>{let e=null;if(YB(t)){const i=XB(t),n={[kv.NAME]:new kv("html"),[xI.NAME]:new xI,[VI.NAME]:new VI,[ME.NAME]:new ME,[VE.NAME]:new VE,[QE.NAME]:new QE({toggleDelay:400}),[XE.NAME]:new XE,[Mu.NAME]:new Mu,[sE.NAME]:new sE,[XI.NAME]:new XI,[`${XI.Name}*true`]:new XI({exactScale:!0}),[EE.NAME]:new EE,[mf.NAME]:new mf};if(!(i in n)){const t=aL([M.config.MAPEA_URL,"/api/actions/controls"]);AI(`El control ${i} no está definido. Consulte los controles disponibles aquí`)}e=n[i]}else t instanceof vu?e=t:Oc("El control añadido no es válido.");return e})(e),n=Zv(i,this);this.hasControl(i)||(qB(n)?i.addTo(this):(n.addControls(i),this.addPanels(n)),t.push(i))})),this.getImpl().addControls(t)}}hasControl(t){let e=t;t instanceof vu&&(e=t.name);const i=this.getControls().find((t=>t.name===e));return!qB(i)}removeControls(t){qB(t)&&Oc(Cu("exception").remove_control),QB(uf.prototype.removeControls)&&Oc(Cu("exception").removecontrol_method);let e=this.getControls(t);return e=[].concat(e),e.length>0&&(e.forEach((t=>{qB(t.getPanel())||t.getPanel().removeControls(t)})),this.getImpl().removeControls(e)),this}getMaxExtent(){let t=this.userMaxExtent;if(qB(t)){const e=this.getWMC().find((t=>t.selected));t=qB(e)?ML(this.getLayers().filter((t=>"__draw__"!==t.name)).map((t=>t.getMaxExtent()))):e.getMaxExtent(),qB(t)&&(t=this.getProjection().getExtent())}return t}calculateMaxExtent(){return new Promise((t=>{let e=this.userMaxExtent;if(qB(e)){const i=this.getWMC().find((t=>t.selected));if(qB(i)){const i=this.getLayers().filter((t=>"__draw__"!==t.name&&t.isVisible())).map((t=>t.calculateMaxExtent()));Promise.all(i).then((i=>{e=ML(i),qB(e)&&(e=this.getProjection().getExtent()),qB(this.userMaxExtent)||(e=this.userMaxExtent),t(e)}))}else i.calculateMaxExtent().then(t)}else t(e)}))}setMaxExtent(t,e=!0){qB(t)&&this.resetMaxExtent(),QB(uf.prototype.setMaxExtent)&&Oc(Cu("exception").setmaxextent_method);try{let i=lg(t);!UB(i)&&zB(i)&&(i=[i.x.min,i.y.min,i.x.max,i.y.max]),this.userMaxExtent=i,this.getImpl().setMaxExtent(i,e)}catch(t){throw AI(t.toString()),t}return this}resetMaxExtent(){return this.userMaxExtent=null,this.calculateMaxExtent().then((t=>{const e=lg(t);this.getImpl().setMaxExtent(e,!0)})),this}getBbox(){QB(uf.prototype.getBbox)&&Oc(Cu("exception").getbbox_method);return this.getImpl().getBbox()}setBbox(t,e){qB(t)&&Oc(Cu("exception").no_bbox),QB(uf.prototype.setBbox)&&Oc(Cu("exception").setbbox_method);try{const i=lg(t);this.getImpl().setBbox(i,e)}catch(t){throw AI(Cu("exception").incorrect_format_bbox),t}return this}getZoom(){QB(uf.prototype.getZoom)&&Oc(Cu("exception").getzoom_method);return this.getImpl().getZoom()}setZoom(t){qB(t)&&Oc(Cu("exception").no_zoom),QB(uf.prototype.setZoom)&&Oc(Cu("exception").setzoom_method);try{const e=ug(t);this._userZoom=e,this.getImpl().setZoom(e)}catch(t){throw AI(t.toString()),t}return this}getCenter(){QB(uf.prototype.getCenter)&&Oc(Cu("exception").getcenter_method);return this.getImpl().getCenter()}setCenter(t){qB(t)&&Oc(Cu("exception").no_center),QB(uf.prototype.setCenter)&&Oc(Cu("exception").setcenter_method);const e=ag(t);return this.getImpl().setCenter(e),this.userCenter_=e,!0===e.draw&&(this.drawLayer_.clear(),this.centerFeature_=new DL("__mapeacenter__",{type:"Feature",geometry:{type:"Point",coordinates:[e.x,e.y]},properties:{vendor:{mapea:{click:t=>{const e=this.getLabel();qB(e)||e.show(this)}}}}}),this.drawFeatures([this.centerFeature_])),this}getFeatureCenter(){return this.centerFeature_}removeCenter(){this.removeFeatures(this.centerFeature_),this.centerFeature_=null,this.zoomToMaxExtent()}getResolutions(){QB(uf.prototype.getResolutions)&&Oc(Cu("exception").getresolutions_method);return this.getImpl().getResolutions()}setResolutions(t){qB(t)&&Oc(Cu("exception").no_resolutions),QB(uf.prototype.setResolutions)&&Oc(Cu("exception").setresolutions_method);const e=cg(t);return this.getImpl().setResolutions(e),this}getScale(){QB(uf.prototype.getScale)&&Oc(Cu("exception").getscale_method);return this.getImpl().getScale()}getExactScale(){QB(uf.prototype.getExactScale)&&Oc("La implementación usada no posee el método getScale");return this.getImpl().getExactScale()}getProjection(){QB(uf.prototype.getProjection)&&Oc(Cu("exception").getprojection_method);return this.getImpl().getProjection()}setProjection(t,e){let i=t;qB(i)&&Oc(Cu("exception").no_projection),QB(uf.prototype.setProjection)&&Oc(Cu("exception").setprojection_method);try{const t=this.getProjection();i=hg(i),t.code!==i.code&&(this.getImpl().setProjection(i),this._defaultProj=this._defaultProj&&!0===e,this.fire(hu,[t,i]))}catch(t){AI(t.toString()),String(t).indexOf("El formato del parámetro projection no es correcto")>=0&&this.setProjection(M.config.DEFAULT_PROJ,!0)}return this}getPlugins(t){let e=t;GB(e)?e=[]:UB(e)||(e=[e]);let i=[];return 0===e.length?i=this._plugins:e.forEach((t=>{i=i.concat(this._plugins.filter((e=>t===e.name)))})),i}addPlugin(t){return qB(t)&&Oc(Cu("exception").no_plugins),QB(t.addTo)&&Oc(Cu("exception").no_add_plugin_to_map),this._plugins.push(t),t.addTo(this),this}addPlugins(t){qB(t)&&Oc(Cu("exception").no_plugins);let e=t;return UB(t)||(e=[t]),e.forEach((t=>{this.addPlugin(t)})),this}removePlugins(t){let e=t;return qB(e)&&Oc(Cu("exception").no_plugin_to_remove),UB(e)||(e=[e]),e=[].concat(e),e.length>0&&e.forEach((t=>{t.destroy(),this._plugins=this._plugins.filter((e=>t.name!==e.name))})),this}getEnvolvedExtent(){return new Promise((t=>{const e=this.getWMC().find((t=>t.selected));if(qB(e)){const e=this.getBaseLayers().find((t=>t.isVisible()));if(qB(e)){const e=this.getLayers().filter((t=>"__draw__"!==t.name));Promise.all(e.map((t=>t.calculateMaxExtent()))).then((e=>{const i=qB(e)?[this.getProjection().getExtent()]:e,n=ML(i);t(n)}))}else e.getMaxExtent(t)}else e.getMaxExtent(t)}))}zoomToMaxExtent(t){return this.calculateMaxExtent().then((e=>{(!0!==t||qB(this._userZoom))&&this.setBbox(e),this._finishedMaxExtent=!0,this._checkCompleted()})),this}setTicket(t){return this.ticket_=t,M.config.ticket=t,this}getTicket(){return this.ticket_}getInitCenter_(){return new Promise(((t,e)=>{this.calculateMaxExtent().then((e=>{let i;i=UB(e)?{x:(e[0]+e[2])/2,y:(e[1]+e[3])/2}:{x:(e.x.max+e.x.min)/2,y:(e.y.max+e.y.min)/2},t(i)}))}))}destroy(){return QB(uf.prototype.destroy)&&Oc(Cu("exception").destroy_method),this.getImpl().destroy(),this}addLabel(t,e,i=!0){qB(t)&&Oc(Cu("exception").no_projection),QB(uf.prototype.addLabel)&&Oc(Cu("exception").addlabel_method);let n=null,r=null,s=t,o=e;return UB(t)||(s=[t]),QB(e)||UB(e[0])?QB(e)&&(o=[]):o=[e],s.forEach(((e,s)=>{const a=void 0===e.panMapIfOutOfView||t.panMapIfOutOfView;if(zB(e)?(n=cL(e.text),r=e.coord):(n=cL(e),r=o[s]),r=qB(r)?this.getCenter():ag(r),qB(r))this.getInitCenter_().then((t=>{const e=new nx(n,t,a);this.getImpl().addLabel(e,i)}));else{const t=new nx(n,r,a);this.getImpl().addLabel(t,i)}})),this}getLabel(){return this.getImpl().getLabel()}getLabels(){return this.getImpl().getLabels()}removeLabel(t){return this.getImpl().removeLabel(t)}drawPoints(t){let e=t;qB(e)&&Oc(Cu("exception").no_point),UB(e)||(e=[e]);const i=e.map((t=>{const e={type:"Feature",geometry:{type:"Point",coordinates:[t.x,t.y]},properties:{}};return VB(t.click)&&(e.properties.vendor={mapea:{click:t.click}}),new DL(null,e)}));this.drawLayer_.addFeatures(i)}drawFeatures(t){return this.drawLayer_.addFeatures(t),this}removeFeatures(t){return this.drawLayer_.removeFeatures(t),this}addPanels(t){let e=t;return qB(e)||(UB(e)||(e=[e]),e.forEach((t=>{const e=this._panels.some((e=>e.equals(t)));if(t instanceof Hv&&!e){this._panels.push(t);const e="div.m-area".concat(t.position),i=this._areasContainer.querySelector(e);t.addTo(this,i)}}))),this}removePanel(t){return t.getControls().length>0&&Oc(Cu("exception").remove_control_from_panel),t instanceof Hv&&(t.destroy(),this._panels=this._panels.filter((e=>!e.equals(t)))),this}getPanels(t){let e=t,i=[];return qB(e)?i=this._panels:(UB(e)||(e=[e]),e.forEach((t=>{const e=this._panels.filter((e=>e.name===t));e.forEach((t=>{qB(t)||i.push(t)}))}))),i}createMainPanels_(){this._areasContainer=document.createElement("div"),this._areasContainer.classList.add("m-areas");const t=document.createElement("div");t.classList.add("m-area"),t.classList.add("m-top"),t.classList.add("m-left");const e=document.createElement("div");e.classList.add("m-area"),e.classList.add("m-top"),e.classList.add("m-right");const i=document.createElement("div");i.classList.add("m-area"),i.classList.add("m-bottom"),i.classList.add("m-left");const n=document.createElement("div");n.classList.add("m-area"),n.classList.add("m-bottom"),n.classList.add("m-right"),this._areasContainer.appendChild(t),this._areasContainer.appendChild(e),this._areasContainer.appendChild(i),this._areasContainer.appendChild(n),this.getContainer().appendChild(this._areasContainer)}getContainer(){return QB(uf.prototype.getContainer)&&Oc(Cu("exception").getcontainer_method),this.getImpl().getContainer()}getMapImpl(){return QB(uf.prototype.getMapImpl)&&Oc(Cu("exception").getmapimpl_method),this.getImpl().getMapImpl()}getPopup(){let t=null;return t=0===this.popup_.length?null:this.popup_[0],t}getPopups(){let t=null;return 0===this.popup_.length?t=null:this.popup_.length>=1&&(t=this.popup_),t}removePopup(t){return QB(uf.prototype.removePopup)&&Oc(Cu("exception").removepopup_method),qB(t)?(this.popup_.forEach((t=>{this.getImpl().removePopup(t),t.destroy()})),this.popup_=[]):UB(t)?t.forEach(((t,e)=>{const i=this.popup_.findIndex((e=>e.getId()===t.getId()));this.getImpl().removePopup(this.popup_[i]),this.popup_[i].destroy(),this.popup_.splice(i,1)})):(this.getImpl().removePopup(t),t.destroy(),this.popup_.forEach(((e,i)=>{e.getId()===t.getId()&&this.popup_.splice(i,1)}))),this}addPopup(t,e,i=!0){qB(t)&&Oc(Cu("exception").no_popup);let n=t,r=e;return UB(t)||(n=[t]),UB(e[0])||(r=[e]),n.forEach(((t,e)=>{i&&(this.removePopup(this.popup_),this.popup_=[]),this.popup_.push(t),t.addTo(this,r[e])})),this}addUpClass_(t){t.on(kc,(t=>{3===this.getControls(["wmcselector","scale","scaleline"]).length&&this.getControls(["scaleline"])[0].getElement().classList.add("ol-scale-line-up")}))}_checkCompleted(){this._finishedInitCenter&&this._finishedMaxExtent&&this._finishedMapImpl&&(this._finishedMap=!0,this.fire(ou))}on(t,e,i){const n=super.on(t,e,i);return t===ou&&!0===this._finishedMap&&this.fire(ou),n}refresh(){return!QB(this.getImpl().refresh)&&VB(this.getImpl().refresh)&&this.getImpl().refresh(),this.getLayers().forEach((t=>t.refresh())),this}get defaultProj(){return this._defaultProj}static LAYER_SORT(t,e){if(!qB(t)&&!qB(e)){return t.getZIndex()-e.getZIndex()}return 0}isFinished(){return this._finishedMap}get areasContainer(){return this._areasContainer}getRotation(){return QB(uf.prototype.getRotation)&&Oc(Cu("exception").no_get_rotation_method),this.getImpl().getRotation()*(180/Math.PI)}setRotation(t){QB(uf.prototype.setRotation)&&Oc(Cu("exception").no_set_rotation_method),this.getImpl().setRotation(t*(Math.PI/180)),this.fire(gu,[t])}setBGColorContainer(t){qB(t)||(document.querySelector(".m-mapea-container").style.backgroundColor=t,document.querySelector(".m-mapea-container").style.backgroundImage="unset")}enableMouseWheel(t){this.getImpl().enableMouseWheel(t)}enableDrag(t){this.getImpl().enableDrag(t)}setZoomLevels(t){QB(t)||qB(t)||this.calculateMaxExtent().then((e=>{const i=this.getZoom(),n=this.getMapImpl().getSize(),r=this.getProjection().units,s=iL(e,n,t,r);this.setResolutions(s,!0),M.config.ZOOM_LEVELS=t,i{throw t}))}getImageMap(){return this.getImpl().getImageMap()}setToClosestScale(t){const e=eL(t,this.getProjection().units);this.getImpl().setToClosestScale(e)}getOverlayLayers(){return this.getLayers().filter((t=>"__draw__"!==t.name&&!0===t.transparent))}removeOverlayLayers(){const t=this.getOverlayLayers();return this.removeLayers(t),this}}wB.DRAWLAYER_STYLE={fill:{color:"#009e00"},stroke:{color:"#fcfcfc",width:2},radius:7};const SB=wB;i(421);const bB=(t,e)=>{bB[t]=e};let BB=!0;const LB=[];const MB=class{constructor(t){this.text=null,this.xml=null,this.headers={},this.error=!1,this.code=0}parseXmlHttp(t){this.text=t.responseText,this.xml=t.responseXML,this.code=t.status,this.error=""!==t.statusText&&"OK"!==t.statusText;let e=t.getAllResponseHeaders();e=e.split("\n"),e.forEach((t=>{let e=t;e=e.trim();const i=e.replace(/^([^:]+):(.+)$/,"$1").trim(),n=e.replace(/^([^:]+):(.+)$/,"$2").trim();""!==i&&(this.headers[i]=n)}))}parseProxy(t){if(this.code=t.code,this.error=t.error,200===this.code&&!0!==this.error){this.text=t.content.trim();try{const e=t.headers["Content-Type"];"undefined"!=typeof DOMParser&&/text\/html/i.test(e)?this.xml=(new DOMParser).parseFromString(this.text,"text/html"):/xml/i.test(e)&&(this.xml=(new DOMParser).parseFromString(this.text,"text/xml"))}catch(t){this.xml=null,this.error=!0}}Object.keys(t.headers).forEach((e=>{this.headers[e]=t.headers[e]}))}},TB="GET",RB="POST",NB=(t,e)=>{let i=M.config.PROXY_URL;return e===RB&&(i=M.config.PROXY_POST_URL),i=KB(i,{url:t}),i},PB=(t,e,i)=>{let n=t;qB(e)||(n=KB(n,e)),BB&&(n=NB(n,TB));const r=JB("mapea_jsonphandler_");if(n=KB(n,{callback:r}),!qB(i)&&"ticket"in i&&!1===i.ticket){const t=n.indexOf("ticket="),e=n.indexOf("&",t);n=n.substring(n,t)+n.substring(e,n.length)}const s=new Promise(((t,e)=>{const i=t;new Promise((t=>{window[r]=t})).then((t=>{delete window[r],(t=>{const e=document.getElementById(t);e.parentNode.removeChild(e)})(r);const e=new MB;e.parseProxy(t),i(e)}))}));return((t,e)=>{const i=document.createElement("script");i.type="text/javascript",i.id=e,i.src=t,i.setAttribute("async",""),window.document.body.appendChild(i)})(n,r),s},FB=(t,e,i,n)=>{let r=t,s=e;return!1!==n&&!0===BB&&(r=NB(r,i)),zB(s)&&(s=JSON.stringify(s)),new Promise(((t,e)=>{let n;window.XMLHttpRequest?n=new XMLHttpRequest:window.ActiveXObject&&(n=new ActiveXObject("Microsoft.XMLHTTP")),n.onreadystatechange=()=>{if(4===n.readyState){const e=new MB;e.parseXmlHttp(n),t(e)}},n.open(i,r,!0),n.send(s)}))},DB=(t,e,i)=>{let n,r=(qB(i)||!1!==i.jsonp)&&!1!==BB;const s=new URL(t).origin;return r=r&&-1===LB.indexOf(s),n=!0===r?PB(t,e,i):FB(t,e,TB,!1),n},OB={inches:1,in:1,Inch:1,ft:12,mi:63360,m:39.3701,dd:4374754,yd:36,d:4374754,degrees:4374754,nmi:72913.4252,Meter:39.37,Foot:12,IFoot:11.999976,ClarkeFoot:11.999868327581488,SearsFoot:11.999955194477684,GoldCoastFoot:11.999964589846002,IInch:.9999979999999999,MicroInch:999998e-9,Mil:9.99998e-7,Centimeter:.3937,Kilometer:39370,Yard:36,SearsYard:35.99986558343306,IndianYard:35.99987015540864,IndianYd37:35.999740205100004,IndianYd62:35.999880755999996,IndianYd75:35.999868945,IndianFoot:11.9999567087,IndianFt37:11.9999134017,IndianFt62:11.999960252000001,IndianFt75:11.999956315,Mile:63360,IYard:35.999928,IMile:63359.87328,NautM:72913.24,"Lat-66":4367838.370169282,"Lat-83":4367954.152606599,Decimeter:3.9370000000000003,Millimeter:.03937,Dekameter:393.7,Decameter:393.7,Hectometer:3937,GermanMeter:39.370535294205006,CaGrid:39.359685060000004,ClarkeChain:791.991309620512,GunterChain:792.0000000000001,BenoitChain:791.9977268035781,SearsChain:791.9970428354235,ClarkeLink:7.91991309620512,GunterLink:7.920000000000001,BenoitLink:7.919977268035781,SearsLink:7.919970428354236,Rod:198.00000000000014,IntnlChain:791.998416,IntnlLink:7.91998416,Perch:198.00000000000014,Pole:198.00000000000014,Furlong:7919.999999999997,Rood:148.75036777426,CapeFoot:11.999868185255002,Brealey:14763.75,ModAmFt:12.000458400000001,Fathom:71.999856,"NautM-UK":72959.85408,"50kilometers":1968500,"150kilometers":5905500,mm:39.37/1e3,cm:.3937,dm:39.37*100,km:39370,kmi:72913.4252,fath:71.999856,ch:791.998416,link:7.91998416,"us-in":1,"us-ft":12,"us-yd":36,"us-ch":792.0000000000001,"us-mi":63360,"ind-yd":35.999740205100004,"ind-ft":11.9999134017,"ind-ch":791.9942845122},QB=t=>void 0===t,kB=t=>{let e=!1;return null===t||QB(t)||(e="boolean"==typeof t),e},GB=t=>{let e=!1;return kB(t)||"number"==typeof t||(QB(t)?e=!0:t?null===t&&(e=!0):e=!0),e},UB=t=>{let e=!1;return GB(t)||(e=Object.prototype.toString.call(t)===Object.prototype.toString.call([])),e},qB=t=>{let e=!1;return GB(t)?e=!0:UB(t)?(e=!0,t.length>0&&(e=!t.some((t=>!qB(t))))):"string"==typeof t&&0===t.trim().length&&(e=!0),e},VB=t=>{let e=!1;return GB(t)||(e="function"==typeof t&&!QB(t.call)),e},zB=t=>{let e=!1;return GB(t)||(e="object"==typeof t&&!QB(t.toString)),e},YB=t=>{let e=!1;return GB(t)||(e="string"==typeof t),e},jB=t=>{let e=!1;return!GB(t)&&YB(t)&&(e=/(https?:\/\/[^*]+)/.test(t)),e},HB=t=>"number"==typeof t,XB=(t,e)=>{let i=t;return!qB(i)&&YB(i)&&(i=i.trim(),i=e?i.toUpperCase():i.toLowerCase()),i},WB=(t,e)=>{let i=null;const n=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");let r=e;const s=r.indexOf("?");if(-1!==s){r=r.substring(s);i=new RegExp(`[\\?&]${n}=([^&#]*)`).exec(r),null!==i&&(i=decodeURIComponent(i[1].replace(/\+/g," ")))}return i},KB=(t,e)=>{let i=t;-1===i.indexOf("?")?i+="?":"?"!==i.charAt(i.length-1)&&(i+="&");let n="";if(zB(e)){Object.keys(e).forEach((t=>{const i=e[t];n+=t,n+="=",n+=encodeURIComponent(i),n+="&"})),n=n.substring(0,n.length-1)}else YB(e)&&(n=e);return i+=n,i},JB=(t,e)=>{let i="";return qB(t)||(i=t),i=i.concat(Math.random()).replace(/0\./,""),qB(e)||(i=i.concat(e)),i},ZB=(t,e,i)=>{let n=t;return n=KB(n,"request=GetCapabilities"),n=KB(n,"service=WMS"),YB(e)&&(n=KB(n,{version:e})),YB(i)&&(n=KB(n,{ticket:i})),n},$B=(t,e)=>{let i=t;return i=KB(i,"request=GetCapabilities"),i=KB(i,"service=WMTS"),qB(e)||(i=KB(i,{version:e})),i},tL=(t,e,i)=>{let n=t,r=e;const s=new Array(i);n=Number.parseFloat(n),r=Number.parseFloat(r);let o=2;Number.isNaN(n)||(o=(r/n)**(1/(i-1)));for(let t=0;te-t)),s},eL=(t,e)=>{let i,n=e;if(!qB(t)){GB(n)&&(n="degrees");i=1/((t>1?1/t:t)*OB[n]*72)}return i},iL=(t,e,i,n)=>{let r=t,[s,o]=[null,null];UB(r)?(s=r[2]-r[0],o=r[3]-r[1]):zB(r)?(s=r.x.max-r.x.min,o=r.y.max-r.y.min):YB(r)&&(r=r.split(","),s=r[2]-r[0],o=r[3]-r[1]);const a=s/e[0],l=o/e[1],h=Math.max(a,l);return tL(null,h,i)},nL=(t,e)=>{let i=e;qB(i)&&(i="degrees");return t*OB[i]*72},rL=t=>{let e;if(!qB(t)){const i=document.createElement("div");i.innerHTML=t,e=i.children[0]}return e},sL=t=>{let e=t;if(e&&(e=e.trim(),e.length>0)){let t=e.indexOf(":");-1!==t&&(t+=1,e=e.substring(t,e.length))}return e},oL=t=>{let e=XB(t);return e=e.replace(/_(\w)/g,((t,e)=>" ".concat(e.toUpperCase()))),e=e.replace(/^\w/,(t=>t.toUpperCase())),e},aL=t=>{let e=null;if(!qB(t)){e=t[0],e=e.replace(/\/+\s*$/,"");for(let i=1,n=t.length;i{const n=Object(t),r=parseInt(n.length,10)||0;if(0===r)return!1;const s=parseInt(i,10)||0;let o,a;for(s>=0?o=s:(o=r+s,o<0&&(o=0));o{const n=t;return Object.keys(e).forEach((t=>{QB(n[t])?n[t]=e[t]:Object.getPrototypeOf(n[t])===Object.prototype?hL(n[t],e[t],i):!0===i&&(n[t]=e[t])})),n},cL=t=>{let e;return e=t.replace(/(<\s*script[^>]*>)+[^<]*(<\s*\/\s*script[^>]*>)+/gi,""),e=e.replace(/(('|')\s*\+\s*)?\s*eval\s*\(.*\)\s*(\+\s*('|'))?/gi,""),e},uL=t=>{const e=t;if("ontouchstart"in document){let t=0;e.addEventListener("touchstart",(i=>{t=e.scrollTop+i.touches[0].pageY})),e.addEventListener("touchmove",(i=>{e.scrollTop=t-i.touches[0].pageY}))}},gL=(t,e)=>{const i=t.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1"),n=e.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1");return i.toLowerCase()===n.toLowerCase()},dL=t=>{const e=[ad.toLowerCase(),"GeometryPropertyType".toLowerCase(),Ad.toLowerCase(),ld.toLowerCase(),dd.toLowerCase(),hd.toLowerCase(),cd.toLowerCase(),ud.toLowerCase(),gd.toLowerCase(),pd.toLowerCase(),fd.toLowerCase(),"pointpropertytype","polygonpropertytype","linestringpropertytype","geometrypropertytype","multisurfacepropertytype","multilinestringpropertytype","surfacepropertytype","geometrypropertytype","geometryarraypropertytype","multigeometrypropertytype","multipolygonpropertytype","multipointpropertytype","abstractgeometricaggregatetype","pointarraypropertytype","curvearraypropertytype","solidpropertytype","solidarraypropertytype"],i=t.toLowerCase();return-1!==e.indexOf(i)},AL=t=>{const e=document.createElement("textarea");return e.innerHTML=t,e.value},pL=t=>{let e=t;!YB(t)&&t.outerHTML&&(e=t.outerHTML);const i=document.createElement("DIV");return i.innerHTML=e,i.textContent||i.innerText||""},fL=(t,e,i)=>a().scale([t,e]).colors(i),mL=t=>{let e;if(YB(t)){let i=a()(t).hex();i=i.replace(/^#/,"0x"),e=a()(16777215-i).hex()}return e},_L=(t={},e={})=>{const i=t;return qB(e)||Object.keys(e).forEach((t=>{let n=e[t];UB(n)?n=[...n]:zB(n)&&(n=_L({},n)),qB(i[t])?i[t]=n:zB(i[t])&&_L(i[t],n)})),i},yL=(t,e)=>{let i=[...t];if(t.lengtht.ORDER-e.ORDER,EL=t=>{const e=new Image;return new Promise(((i,n)=>{e.onload=()=>i(e),e.src=t}))},CL=t=>{let e;return UB(t)?(e=[...t],e=e.map(CL)):zB(t)?(e=_L({},t),Object.keys(e).forEach((t=>{const i=e[t];VB(i)?e[t]=`{{f}}${i.toString()}`:zB(i)&&(e[t]=CL(i))}))):e=VB(t)?`{{f}}${t.toString()}`:t,e},vL=t=>{let e=t;if(/^\{\{f\}\}/.test(t)){const i=t.replace(/^\{\{f\}\}(.+)/,"$1");e=new Function("f",`return ${i}`)()}else Object.keys(e).forEach((t=>{const i=e[t];if(/^\{\{f\}\}/.test(i)){const n=i.replace(/^\{\{f\}\}(.+)/,"$1");e[t]=new Function("f",`return ${n}`)()}else zB(i)&&vL(i)}));return e},xL=(t,e)=>{const i=t.classList;i.contains(e)?i.remove(e):i.add(e)},wL=(t,e)=>{const i=e.parentNode;i&&i.replaceChild(t,e)},SL=t=>{if(t){const e=t.parentElement;e&&e.removeChild(t)}},bL=t=>{let e=!1;return Array.isArray(t)||"object"!=typeof t||qB(t)?("function"==typeof t||"string"==typeof t&&/\{\{.*\}\}/.test(t))&&(e=!0):e=Object.values(t).some((t=>bL(t))),e};let BL="data:image/jpeg;base64,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";const LL=t=>BL,ML=t=>{let e=null;return qB(t)||(e=[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER],t.forEach((t=>{qB(t)||(e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[2]),e[3]=Math.max(e[3],t[3]))}))),e},TL=()=>{const t=window.navigator.userAgent||window.navigator.vendor||window.opera;let e="unknown";return/android/i.test(t)&&(e="android"),/iPad|iPhone|iPod/.test(t)&&!window.MSStream&&(e="ios"),e},RL=(t,e,i)=>xe(t,e,i);class NL{constructor(t,e,i){const n=e;this.facadeFeature_=null,this.formatter_=new BS,qB(e)?this.olFeature_=new _d:(qB(e.type)&&(n.type="Feature"),this.olFeature_=this.formatter_.readFeature(n)),qB(t)?qB(this.olFeature_.getId())&&this.olFeature_.setId(JB("mapea_feature_")):this.olFeature_.setId(t)}getOLFeature(){return this.olFeature_}setOLFeature(t,e){qB(t)||(this.olFeature_=t,!1!==e&&qB(this.olFeature_.getId())&&this.olFeature_.setId(JB("mapea_feature_")))}getAttributes(){const t=this.olFeature_.getProperties(),e=t.geometry;return!qB(e)&&e instanceof _a&&delete t.geometry,t}getId(){return this.olFeature_.getId()}setId(t){this.olFeature_.setId(t)}setAttributes(t){this.olFeature_.setProperties(t)}static olFeature2Facade(t,e){let i=null;return qB(t)||(i=new DL,i.getImpl().setOLFeature(t,e)),i}static olRenderFeature2Facade(t,e,i){const n=qd.olRenderFeature2olFeature(t,e,i);return NL.olFeature2Facade(n)}static facade2OLFeature(t){return t.getImpl().getOLFeature()}getAttribute(t){return this.olFeature_.get(t)}setAttribute(t,e){return this.olFeature_.set(t,e)}static getGeometry(t){let e;const i=t.geometry.type;return"circle"===i?e=new kd(t.geometry.coordinates):"geometry"===i?e=new _a(t.geometry.coordinates):"linestring"===i?e=new wd(t.geometry.coordinates):"multilinestring"===i?e=new bd(t.geometry.coordinates):"multipoint"===i?e=new Id(t.geometry.coordinates):"multipolygon"===i?e=new Md(t.geometry.coordinates):"point"===i?e=new qa(t.geometry.coordinates):"polygon"===i&&(e=new sl(t.geometry.coordinates)),e}setGeometry(t){const e=t.type.toLowerCase();"circle"===e?this.olFeature_.setGeometry(new kd(t.coordinates)):"geometry"===e?this.olFeature_.setGeometry(new _a(t.coordinates)):"linestring"===e?this.olFeature_.setGeometry(new wd(t.coordinates)):"multilinestring"===e?this.olFeature_.setGeometry(new bd(t.coordinates)):"multipoint"===e?this.olFeature_.setGeometry(new Id(t.coordinates)):"multipolygon"===e?this.olFeature_.setGeometry(new Md(t.coordinates)):"point"===e?this.olFeature_.setGeometry(new qa(t.coordinates)):"polygon"===e&&this.olFeature_.setGeometry(new sl(t.coordinates))}setFacadeObj(t){this.facadeFeature_=t}getCentroid(){let t;const e=this.getOLFeature().getGeometry(),i=qd.getCentroid(e);if(!qB(i)){const e=new qa(i);t=new _d({geometry:e,name:"centroid"})}return t=NL.olFeature2Facade(t),t}clearStyle(){this.olFeature_.setStyle(null)}}const PL=NL;class FL extends Qc{constructor(t,e,i){super(new PL(t,e,i)),this.style_=null,this.formatGeoJSON_=new LS,this.setStyle(i)}setId(t){this.getImpl().setId(t)}getId(){return this.getImpl().getId()}getGeometry(){return this.getGeoJSON().geometry}setGeometry(t){this.getImpl().setGeometry(t)}getGeoJSON(){return this.formatGeoJSON_.write(this)[0]}getAttributes(){return this.getImpl().getAttributes()}setAttributes(t){"object"==typeof t?this.getImpl().setAttributes(t):dI(Cu("feature").incorrect_attributes)}getAttribute(t){let e;if(e=this.getImpl().getAttribute(t),qB(e)){const i=t.split(".");i.length>1&&(e=i.reduce(((t,e)=>{let i;return qB(t)||(i=t instanceof FL?t.getAttribute(e):t[e]),i}),this))}return e}setAttribute(t,e){return this.getImpl().setAttribute(t,e)}setStyle(t){!qB(t)&&t instanceof Zm?(this.style_=t,this.style_.applyToFeature(this)):qB(t)&&(this.style_=null,this.getImpl().clearStyle()),this.fire(cu,[t,this])}equals(t){return this.getId()===t.getId()}getStyle(){return this.style_}clearStyle(){this.setStyle(null)}getCentroid(){const t=this.getId(),e=this.getAttributes(),i=new CI({stroke:{color:"#67af13",width:2},radius:8,fill:{color:"#67af13",opacity:.2}}),n=this.getImpl().getCentroid();return qB(n)||(n.setId(`${t} centroid}`),n.setAttributes(e),n.setStyle(i)),n}}const DL=FL;const OL=class extends DL{constructor(t,e){super(JB("_mapea_cluster_")),this.setAttributes(e),this.setAttribute("features",t)}};const QL=class extends Qc{addTo(t){qB(t)&&Oc(Cu("exception").no_map);const e=this.getImpl();QB(e.addTo)&&Oc(Cu("exception").addto_method);const i=this.createView(t);i instanceof Promise?i.then((i=>{e.addTo(t,i),this.fire(kc)})):(e.addTo(t,i),this.fire(kc))}createView(t){}getControls(){}};const kL=class extends fI{constructor(t,e={}){super(),this.filterFunction_=t,this.cqlFilter_="",qB(e.cqlFilter)||(this.cqlFilter_=e.cqlFilter)}setFunction(t){this.filterFunction_=t}getFunctionFilter(){return this.filterFunction_}execute(t){return t.filter(this.filterFunction_)}toCQL(){return this.cqlFilter_}};const GL=class extends kL{constructor(t,e){super(((e,i)=>{let n=null;return qB(e)||(n=e.getGeometry()),t(n,i)}),e)}};function UL(t){return"string"==typeof t?t:""}const qL=class extends WE{constructor(){super()}getType(){return"text"}readFeature(t,e){return this.readFeatureFromText(UL(t),this.adaptOptions(e))}readFeatureFromText(t,e){return js()}readFeatures(t,e){return this.readFeaturesFromText(UL(t),this.adaptOptions(e))}readFeaturesFromText(t,e){return js()}readGeometry(t,e){return this.readGeometryFromText(UL(t),this.adaptOptions(e))}readGeometryFromText(t,e){return js()}readProjection(t){return this.readProjectionFromText(UL(t))}readProjectionFromText(t){return this.dataProjection}writeFeature(t,e){return this.writeFeatureText(t,this.adaptOptions(e))}writeFeatureText(t,e){return js()}writeFeatures(t,e){return this.writeFeaturesText(t,this.adaptOptions(e))}writeFeaturesText(t,e){return js()}writeGeometry(t,e){return this.writeGeometryText(t,this.adaptOptions(e))}writeGeometryText(t,e){return js()}},VL={POINT:qa,LINESTRING:wd,POLYGON:sl,MULTIPOINT:Id,MULTILINESTRING:bd,MULTIPOLYGON:Md},zL="EMPTY",YL="Z",jL="M",HL=0,XL=1,WL=2,KL=3,JL=4,ZL=5,$L=6,tM={Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION",Circle:"CIRCLE"};class eM{constructor(t){this.wkt=t,this.index_=-1}isAlpha_(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}isNumeric_(t,e){return e=void 0!==e&&e,t>="0"&&t<="9"||"."==t&&!e}isWhiteSpace_(t){return" "==t||"\t"==t||"\r"==t||"\n"==t}nextChar_(){return this.wkt.charAt(++this.index_)}nextToken(){const t=this.nextChar_(),e=this.index_;let i,n=t;if("("==t)i=WL;else if(","==t)i=ZL;else if(")"==t)i=KL;else if(this.isNumeric_(t)||"-"==t)i=JL,n=this.readNumber_();else if(this.isAlpha_(t))i=XL,n=this.readText_();else{if(this.isWhiteSpace_(t))return this.nextToken();if(""!==t)throw new Error("Unexpected character: "+t);i=$L}return{position:e,value:n,type:i}}readNumber_(){let t;const e=this.index_;let i=!1,n=!1;do{"."==t?i=!0:"e"!=t&&"E"!=t||(n=!0),t=this.nextChar_()}while(this.isNumeric_(t,i)||!n&&("e"==t||"E"==t)||n&&("-"==t||"+"==t));return parseFloat(this.wkt.substring(e,this.index_--))}readText_(){let t;const e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()}}class iM{constructor(t){this.lexer_=t,this.token_={position:0,type:HL},this.layout_="XY"}consume_(){this.token_=this.lexer_.nextToken()}isTokenType(t){return this.token_.type==t}match(t){const e=this.isTokenType(t);return e&&this.consume_(),e}parse(){return this.consume_(),this.parseGeometry_()}parseGeometryLayout_(){let t="XY";const e=this.token_;if(this.isTokenType(XL)){const i=e.value;i===YL?t="XYZ":i===jL?t="XYM":"ZM"===i&&(t="XYZM"),"XY"!==t&&this.consume_()}return t}parseGeometryCollectionText_(){if(this.match(WL)){const t=[];do{t.push(this.parseGeometry_())}while(this.match(ZL));if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parsePointText_(){if(this.match(WL)){const t=this.parsePoint_();if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parseLineStringText_(){if(this.match(WL)){const t=this.parsePointList_();if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parsePolygonText_(){if(this.match(WL)){const t=this.parseLineStringTextList_();if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parseMultiPointText_(){if(this.match(WL)){let t;if(t=this.token_.type==WL?this.parsePointTextList_():this.parsePointList_(),this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parseMultiLineStringText_(){if(this.match(WL)){const t=this.parseLineStringTextList_();if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parseMultiPolygonText_(){if(this.match(WL)){const t=this.parsePolygonTextList_();if(this.match(KL))return t}throw new Error(this.formatErrorMessage_())}parsePoint_(){const t=[],e=this.layout_.length;for(let i=0;i0&&(n+=" "+e)}return 0===i.length?n+" "+zL:n+"("+i+")"}const lM=class extends qL{constructor(t){super(),t=t||{},this.splitCollection_=void 0!==t.splitCollection&&t.splitCollection}parse_(t){const e=new eM(t);return new iM(e).parse()}readFeatureFromText(t,e){const i=this.readGeometryFromText(t,e),n=new _d;return n.setGeometry(i),n}readFeaturesFromText(t,e){let i=[];const n=this.readGeometryFromText(t,e);i=this.splitCollection_&&"GeometryCollection"==n.getType()?n.getGeometriesArray():[n];const r=[];for(let t=0,e=i.length;tt.contains(e)))[0]),void 0===i&&(i=r.TileMatrixSetLink[0].TileMatrixSet))}return i}getMatrixIds(t,e){let i=[];const n=this.getMatrixSet(t,e),r=this.capabilities.Contents.TileMatrixSet.filter((t=>t.Identifier===n))[0];return null!=r&&r.length>0&&(i=r.TileMatrix.map((t=>t.Identifier))),i}getFormat(t){let e;const i=this.capabilities.Contents.Layer.filter((e=>e.Identifier===t))[0];return null!=i&&(e=i.Format[0]),e}getOptionsFromCapabilities(t,e){return ob(this.capabilities,{layer:t,matrixSet:e})}};class gM extends Vd{constructor(){super(),this.geojsonFormatter_=new BS,this.name="drawLayer",this.selectedFeatures_=[]}addTo(t){this.map=t,this.fire(kc),this.ol3Layer=new Sy({source:new kf({}),style:new Nm({fill:new wm({color:"rgba(0, 158, 0, 0.1)"}),stroke:new bm({color:"#fcfcfc",width:2}),image:new vm({radius:7,fill:new wm({color:"#009E00"}),stroke:new bm({color:"#fcfcfc",width:2})})}),zIndex:uf.Z_INDEX.WFS+999}),!1!==this.options.visibility&&this.setVisible(this.inRange());this.map.getMapImpl().addLayer(this.ol3Layer)}selectFeatures(t){this.selectedFeatures_=t,VB(this.selectedFeatures_[0].click)&&this.selectedFeatures_[0].click()}unselectFeatures(){this.selectedFeatures_.length>0&&(this.selectedFeatures_.length=0,this.map.removePopup())}drawPoints(t){let e=t;qB(e)&&Oc(Cu("exception").no_point),UB(e)||(e=[e]);const i=this.pointsToGeoJSON_(e);this.drawGeoJSON(i)}drawGeoJSON(t){let e=t;qB(e)&&Oc(Cu("exception").no_geojson),UB(e)||(e=[e]);const i=ee(this.map.getProjection().code);let n=[];e.forEach((t=>{const e=this.geojsonFormatter_.readFeatures(t,{dataProjection:i});n=n.concat(e)})),this.ol3Layer.getSource().addFeatures(n)}drawFeatures(t){let e=t;qB(e)||(UB(e)||(e=[e]),this.ol3Layer.getSource().addFeatures(e))}removeFeatures(t){let e=t;if(!qB(e)){UB(e)||(e=[e]);const t=this.ol3Layer.getSource();e.forEach((e=>{try{t.removeFeature(e)}catch(t){throw t}}))}}getPoints(t){let e=[];const i=this.ol3Layer.getSource();return e=qB(t)?i.getFeatures():i.getFeaturesAtCoordinate(t),this.featuresToPoints_(e)}destroy(){const t=this.map.getMapImpl();qB(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.options=null,this.map=null}equals(t){let e=!1;return t instanceof gM&&(e=e&&this.name===t.name),e}pointsToGeoJSON_(t){let e=[];const i=ee(this.map.getProjection().code);return e=t.map((t=>{const e=t.data,n=new qa([t.x,t.y]);return{type:"Feature",geometry:this.geojsonFormatter_.writeGeometryObject(n,{dataProjection:i}),properties:e,click:t.click,showPopup:t.showPopup}})),e}featuresToPoints_(t){return[]}}const dM=gM,AM=34962,pM=34963,fM=35044,mM=35048,_M=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function yM(t,e){e=Object.assign({preserveDrawingBuffer:!0,antialias:!ro},e);const i=_M.length;for(let n=0;n{this.uniforms_.push({value:t.uniforms[i],location:e.getUniformLocation(this.renderTargetProgram_,i)})}))}getGL(){return this.gl_}init(t){const e=this.getGL(),i=[e.drawingBufferWidth*this.scaleRatio_,e.drawingBufferHeight*this.scaleRatio_];if(e.bindFramebuffer(e.FRAMEBUFFER,this.getFrameBuffer()),e.bindRenderbuffer(e.RENDERBUFFER,this.getDepthBuffer()),e.viewport(0,0,i[0],i[1]),!this.renderTargetTextureSize_||this.renderTargetTextureSize_[0]!==i[0]||this.renderTargetTextureSize_[1]!==i[1]){this.renderTargetTextureSize_=i;const t=0,n=e.RGBA,r=0,s=e.RGBA,o=e.UNSIGNED_BYTE,a=null;e.bindTexture(e.TEXTURE_2D,this.renderTargetTexture_),e.texImage2D(e.TEXTURE_2D,t,n,i[0],i[1],r,s,o,a),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),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.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.renderTargetTexture_,0),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,i[0],i[1]),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,this.depthBuffer_)}}apply(t,e,i,n){const r=this.getGL(),s=t.size;if(r.bindFramebuffer(r.FRAMEBUFFER,e?e.getFrameBuffer():null),r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.renderTargetTexture_),!e){const e=Xs(r.canvas);if(!t.renderTargets[e]){const i=r.getContextAttributes();i&&i.preserveDrawingBuffer&&(r.clearColor(0,0,0,0),r.clearDepth(1),r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT)),t.renderTargets[e]=!0}}r.disable(r.DEPTH_TEST),r.enable(r.BLEND),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.viewport(0,0,r.drawingBufferWidth,r.drawingBufferHeight),r.bindBuffer(r.ARRAY_BUFFER,this.renderTargetVerticesBuffer_),r.useProgram(this.renderTargetProgram_),r.enableVertexAttribArray(this.renderTargetAttribLocation_),r.vertexAttribPointer(this.renderTargetAttribLocation_,2,r.FLOAT,!1,0,0),r.uniform2f(this.renderTargetUniformLocation_,s[0],s[1]),r.uniform1i(this.renderTargetTextureLocation_,0);const o=t.layerStatesArray[t.layerIndex].opacity;r.uniform1f(this.renderTargetOpacityLocation_,o),this.applyUniforms(t),i&&i(r,t),r.drawArrays(r.TRIANGLES,0,6),n&&n(r,t)}getFrameBuffer(){return this.frameBuffer_}getDepthBuffer(){return this.depthBuffer_}applyUniforms(t){const e=this.getGL();let i,n=1;this.uniforms_.forEach((function(r){if(i="function"==typeof r.value?r.value(t):r.value,i instanceof HTMLCanvasElement||i instanceof ImageData)r.texture||(r.texture=e.createTexture()),e.activeTexture(e[`TEXTURE${n}`]),e.bindTexture(e.TEXTURE_2D,r.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),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),i instanceof ImageData?e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,i.width,i.height,0,e.UNSIGNED_BYTE,new Uint8Array(i.data)):e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i),e.uniform1i(r.location,n++);else if(Array.isArray(i))switch(i.length){case 2:return void e.uniform2f(r.location,i[0],i[1]);case 3:return void e.uniform3f(r.location,i[0],i[1],i[2]);case 4:return void e.uniform4f(r.location,i[0],i[1],i[2],i[3]);default:return}else"number"==typeof i&&e.uniform1f(r.location,i)}))}};function SM(t,e){return t[0]=e[0],t[1]=e[1],t[4]=e[2],t[5]=e[3],t[12]=e[4],t[13]=e[5],t}const bM="u_projectionMatrix",BM="u_time",LM="u_zoom",MM="u_resolution",TM="u_rotation",RM="u_viewportSizePx",NM="u_pixelRatio",PM="u_hitDetection",FM={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125,FLOAT:5126},DM={};function OM(t){return"shared/"+t}let QM=0;function kM(t){switch(t){case FM.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case FM.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case FM.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case FM.FLOAT:default:return Float32Array.BYTES_PER_ELEMENT}}const GM=class extends ds{constructor(t){super(),t=t||{},this.boundHandleWebGLContextLost_=this.handleWebGLContextLost.bind(this),this.boundHandleWebGLContextRestored_=this.handleWebGLContextRestored.bind(this),this.canvasCacheKey_=t.canvasCacheKey?OM(t.canvasCacheKey):function(){const t="unique/"+QM;return QM+=1,t}(),this.gl_=function(t){let e=DM[t];if(!e){const i=document.createElement("canvas");i.width=1,i.height=1,i.style.position="absolute",i.style.left="0",e={users:0,context:yM(i)},DM[t]=e}return e.users+=1,e.context}(this.canvasCacheKey_),this.bufferCache_={},this.extensionCache_={},this.currentProgram_=null,this.needsToBeRecreated_=!1;const e=this.gl_.canvas;e.addEventListener(vM,this.boundHandleWebGLContextLost_),e.addEventListener(xM,this.boundHandleWebGLContextRestored_),this.offsetRotateMatrix_=[1,0,0,1,0,0],this.offsetScaleMatrix_=[1,0,0,1,0,0],this.tmpMat4_=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.uniformLocationsByProgram_={},this.attribLocationsByProgram_={},this.uniforms_=[],t.uniforms&&this.setUniforms(t.uniforms),this.postProcessPasses_=t.postProcesses?t.postProcesses.map((t=>new wM({webGlContext:this.gl_,scaleRatio:t.scaleRatio,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,uniforms:t.uniforms}))):[new wM({webGlContext:this.gl_})],this.shaderCompileErrors_=null,this.startTime_=Date.now()}setUniforms(t){this.uniforms_=[],this.addUniforms(t)}addUniforms(t){for(const e in t)this.uniforms_.push({name:e,value:t[e]})}canvasCacheKeyMatches(t){return this.canvasCacheKey_===OM(t)}getExtension(t){if(t in this.extensionCache_)return this.extensionCache_[t];const e=this.gl_.getExtension(t);return this.extensionCache_[t]=e,e}bindBuffer(t){const e=this.gl_,i=Xs(t);let n=this.bufferCache_[i];if(!n){n={buffer:t,webGlBuffer:e.createBuffer()},this.bufferCache_[i]=n}e.bindBuffer(t.getType(),n.webGlBuffer)}flushBufferData(t){const e=this.gl_;this.bindBuffer(t),e.bufferData(t.getType(),t.getArray(),t.getUsage())}deleteBuffer(t){const e=this.gl_,i=Xs(t),n=this.bufferCache_[i];n&&!e.isContextLost()&&e.deleteBuffer(n.webGlBuffer),delete this.bufferCache_[i]}disposeInternal(){const t=this.gl_.canvas;t.removeEventListener(vM,this.boundHandleWebGLContextLost_),t.removeEventListener(xM,this.boundHandleWebGLContextRestored_),function(t){const e=DM[t];if(!e)return;if(e.users-=1,e.users>0)return;const i=e.context,n=i.getExtension("WEBGL_lose_context");n&&n.loseContext();const r=i.canvas;r.width=1,r.height=1,delete DM[t]}(this.canvasCacheKey_),delete this.gl_}prepareDraw(t,e,i){const n=this.gl_,r=this.getCanvas(),s=t.size,o=t.pixelRatio;r.width===s[0]*o&&r.height===s[1]*o||(r.width=s[0]*o,r.height=s[1]*o,r.style.width=s[0]+"px",r.style.height=s[1]+"px");for(let e=this.postProcessPasses_.length-1;e>=0;e--)this.postProcessPasses_[e].init(t);n.bindTexture(n.TEXTURE_2D,null),n.clearColor(0,0,0,0),n.depthRange(0,1),n.clearDepth(1),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),n.enable(n.BLEND),n.blendFunc(n.ONE,e?n.ZERO:n.ONE_MINUS_SRC_ALPHA),i?(n.enable(n.DEPTH_TEST),n.depthFunc(n.LEQUAL)):n.disable(n.DEPTH_TEST)}bindTexture(t,e,i){const n=this.gl_;n.activeTexture(n.TEXTURE0+e),n.bindTexture(n.TEXTURE_2D,t),n.uniform1i(this.getUniformLocation(i),e)}prepareDrawToRenderTarget(t,e,i,n){const r=this.gl_,s=e.getSize();r.bindFramebuffer(r.FRAMEBUFFER,e.getFramebuffer()),r.bindRenderbuffer(r.RENDERBUFFER,e.getDepthbuffer()),r.viewport(0,0,s[0],s[1]),r.bindTexture(r.TEXTURE_2D,e.getTexture()),r.clearColor(0,0,0,0),r.depthRange(0,1),r.clearDepth(1),r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT),r.enable(r.BLEND),r.blendFunc(r.ONE,i?r.ZERO:r.ONE_MINUS_SRC_ALPHA),n?(r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL)):r.disable(r.DEPTH_TEST)}drawElements(t,e){const i=this.gl_;this.getExtension("OES_element_index_uint");const n=i.UNSIGNED_INT,r=e-t,s=4*t;i.drawElements(i.TRIANGLES,r,n,s)}finalizeDraw(t,e,i){for(let n=0,r=this.postProcessPasses_.length;n{if(i="function"==typeof r.value?r.value(t):r.value,i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof ImageData){r.texture||(r.prevValue=void 0,r.texture=e.createTexture()),this.bindTexture(r.texture,n,r.name),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),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);(!(i instanceof HTMLImageElement)||i.complete)&&r.prevValue!==i&&(r.prevValue=i,e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i)),n++}else if(Array.isArray(i)&&6===i.length)this.setUniformMatrixValue(r.name,SM(this.tmpMat4_,i));else if(Array.isArray(i)&&i.length<=4)switch(i.length){case 2:return void e.uniform2f(this.getUniformLocation(r.name),i[0],i[1]);case 3:return void e.uniform3f(this.getUniformLocation(r.name),i[0],i[1],i[2]);case 4:return void e.uniform4f(this.getUniformLocation(r.name),i[0],i[1],i[2],i[3]);default:return}else"number"==typeof i&&e.uniform1f(this.getUniformLocation(r.name),i)}))}useProgram(t,e){this.gl_.useProgram(t),this.currentProgram_=t,this.applyFrameState(e),this.applyUniforms(e)}compileShader(t,e){const i=this.gl_,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}getProgram(t,e){const i=this.gl_,n=this.compileShader(t,i.FRAGMENT_SHADER),r=this.compileShader(e,i.VERTEX_SHADER),s=i.createProgram();if(i.attachShader(s,n),i.attachShader(s,r),i.linkProgram(s),!i.getShaderParameter(n,i.COMPILE_STATUS)){const t=`Fragment shader compilation failed: ${i.getShaderInfoLog(n)}`;throw new Error(t)}if(i.deleteShader(n),!i.getShaderParameter(r,i.COMPILE_STATUS)){const t=`Vertex shader compilation failed: ${i.getShaderInfoLog(r)}`;throw new Error(t)}if(i.deleteShader(r),!i.getProgramParameter(s,i.LINK_STATUS)){const t=`GL program linking failed: ${i.getProgramInfoLog(s)}`;throw new Error(t)}return s}getUniformLocation(t){const e=Xs(this.currentProgram_);return void 0===this.uniformLocationsByProgram_[e]&&(this.uniformLocationsByProgram_[e]={}),void 0===this.uniformLocationsByProgram_[e][t]&&(this.uniformLocationsByProgram_[e][t]=this.gl_.getUniformLocation(this.currentProgram_,t)),this.uniformLocationsByProgram_[e][t]}getAttributeLocation(t){const e=Xs(this.currentProgram_);return void 0===this.attribLocationsByProgram_[e]&&(this.attribLocationsByProgram_[e]={}),void 0===this.attribLocationsByProgram_[e][t]&&(this.attribLocationsByProgram_[e][t]=this.gl_.getAttribLocation(this.currentProgram_,t)),this.attribLocationsByProgram_[e][t]}makeProjectionTransform(t,e){const i=t.size,n=t.viewState.rotation,r=t.viewState.resolution,s=t.viewState.center;return Eo(e,0,0,2/(r*i[0]),2/(r*i[1]),-n,-s[0],-s[1]),e}setUniformFloatValue(t,e){this.gl_.uniform1f(this.getUniformLocation(t),e)}setUniformFloatVec2(t,e){this.gl_.uniform2fv(this.getUniformLocation(t),e)}setUniformFloatVec4(t,e){this.gl_.uniform4fv(this.getUniformLocation(t),e)}setUniformMatrixValue(t,e){this.gl_.uniformMatrix4fv(this.getUniformLocation(t),!1,e)}enableAttributeArray_(t,e,i,n,r){const s=this.getAttributeLocation(t);s<0||(this.gl_.enableVertexAttribArray(s),this.gl_.vertexAttribPointer(s,e,i,!1,n,r))}enableAttributes(t){const e=function(t){let e=0;for(let i=0;ithis.size_[0]||e>=this.size_[1])return VM[0]=0,VM[1]=0,VM[2]=0,VM[3]=0,VM;this.readAll();const i=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return VM[0]=this.data_[4*i],VM[1]=this.data_[4*i+1],VM[2]=this.data_[4*i+2],VM[3]=this.data_[4*i+3],VM}getTexture(){return this.texture_}getFramebuffer(){return this.framebuffer_}getDepthbuffer(){return this.depthbuffer_}updateSize_(){const t=this.size_,e=this.helper_.getGL();this.texture_=this.helper_.createTexture(t,null,this.texture_),e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer_),e.viewport(0,0,t[0],t[1]),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture_,0),e.bindRenderbuffer(e.RENDERBUFFER,this.depthbuffer_),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t[0],t[1]),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,this.depthbuffer_),this.data_=new Uint8Array(t[0]*t[1]*4)}},YM="GENERATE_POINT_BUFFERS";i(187);function jM(t,e){const i=256,n=255;return(e=e||[])[0]=Math.floor(t/i/i/i)/n,e[1]=Math.floor(t/i/i)%i/n,e[2]=Math.floor(t/i)%i/n,e[3]=t%i/n,e}const HM=class extends qM{constructor(t,e){const i=e.uniforms||{},n=[1,0,0,1,0,0];i[bM]=n,super(t,{uniforms:i,postProcesses:e.postProcesses}),this.sourceRevision_=-1,this.verticesBuffer_=new CM(AM,mM),this.indicesBuffer_=new CM(pM,mM),this.vertexShader_=e.vertexShader,this.fragmentShader_=e.fragmentShader,this.program_,this.hitDetectionEnabled_=e.hitDetectionEnabled??!0;const r=e.attributes?e.attributes.map((function(t){return{name:"a_"+t.name,size:1,type:FM.FLOAT}})):[];this.attributes=[{name:"a_position",size:2,type:FM.FLOAT},{name:"a_index",size:1,type:FM.FLOAT}],this.hitDetectionEnabled_&&(this.attributes.push({name:"a_hitColor",size:4,type:FM.FLOAT}),this.attributes.push({name:"a_featureUid",size:1,type:FM.FLOAT})),this.attributes.push(...r),this.customAttributes=e.attributes?e.attributes:[],this.previousExtent_=[1/0,1/0,-1/0,-1/0],this.currentTransform_=n,this.renderTransform_=[1,0,0,1,0,0],this.invertRenderTransform_=[1,0,0,1,0,0],this.renderInstructions_=new Float32Array(0),this.hitRenderTarget_,this.lastSentId=0,this.worker_=function(){const t='const e="GENERATE_POLYGON_BUFFERS",t="GENERATE_POINT_BUFFERS",n="GENERATE_LINE_STRING_BUFFERS";function r(e,t){const n=t[0],r=t[1];return t[0]=e[0]*n+e[2]*r+e[4],t[1]=e[1]*n+e[3]*r+e[5],t}function x(e,t){const n=(r=t)[0]*r[3]-r[1]*r[2];var r;!function(e,t){if(!e)throw new Error(t)}(0!==n,"Transformation matrix cannot be inverted");const x=t[0],i=t[1],u=t[2],o=t[3],f=t[4],s=t[5];return e[0]=o/n,e[1]=-i/n,e[2]=-u/n,e[3]=x/n,e[4]=(u*s-o*f)/n,e[5]=-(x*s-i*f)/n,e}function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}new Array(6);var u={exports:{}};function o(e,t,n){n=n||2;var r,x,i,u,o,s,l,v=t&&t.length,c=v?t[0]*n:e.length,h=f(e,0,c,n,!0),g=[];if(!h||h.next===h.prev)return g;if(v&&(h=function(e,t,n,r){var x,i,u,o=[];for(x=0,i=t.length;x80*n){r=i=e[0],x=u=e[1];for(var b=n;bi&&(i=o),s>u&&(u=s);l=0!==(l=Math.max(i-r,u-x))?32767/l:0}return a(h,g,n,r,x,l,0),g}function f(e,t,n,r,x){var i,u;if(x===O(e,t,n,r)>0)for(i=t;i=t;i-=r)u=P(i,e[i],e[i+1],u);return u&&m(u,u.next)&&(B(u),u=u.next),u}function s(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!m(r,r.next)&&0!==M(r.prev,r,r.next))r=r.next;else{if(B(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function a(e,t,n,r,x,i,u){if(e){!u&&i&&function(e,t,n,r){var x=e;do{0===x.z&&(x.z=b(x.x,x.y,t,n,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,function(e){var t,n,r,x,i,u,o,f,s=1;do{for(n=e,e=null,i=null,u=0;n;){for(u++,r=n,o=0,t=0;t0||f>0&&r;)0!==o&&(0===f||!r||n.z<=r.z)?(x=n,n=n.nextZ,o--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;n=r}i.nextZ=null,s*=2}while(u>1)}(x)}(e,r,x,i);for(var o,f,p=e;e.prev!==e.next;)if(o=e.prev,f=e.next,i?v(e,r,x,i):l(e))t.push(o.i/n|0),t.push(e.i/n|0),t.push(f.i/n|0),B(e),e=f.next,p=f.next;else if((e=f)===p){u?1===u?a(e=c(s(e),t,n),t,n,r,x,i,2):2===u&&h(e,t,n,r,x,i):a(s(e),t,n,r,x,i,1);break}}}function l(e){var t=e.prev,n=e,r=e.next;if(M(t,n,r)>=0)return!1;for(var x=t.x,i=n.x,u=r.x,o=t.y,f=n.y,s=r.y,a=xi?x>u?x:u:i>u?i:u,c=o>f?o>s?o:s:f>s?f:s,h=r.next;h!==t;){if(h.x>=a&&h.x<=v&&h.y>=l&&h.y<=c&&Z(x,o,i,f,u,s,h.x,h.y)&&M(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function v(e,t,n,r){var x=e.prev,i=e,u=e.next;if(M(x,i,u)>=0)return!1;for(var o=x.x,f=i.x,s=u.x,a=x.y,l=i.y,v=u.y,c=of?o>s?o:s:f>s?f:s,y=a>l?a>v?a:v:l>v?l:v,g=b(c,h,t,n,r),d=b(p,y,t,n,r),w=e.prevZ,m=e.nextZ;w&&w.z>=g&&m&&m.z<=d;){if(w.x>=c&&w.x<=p&&w.y>=h&&w.y<=y&&w!==x&&w!==u&&Z(o,a,f,l,s,v,w.x,w.y)&&M(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,m.x>=c&&m.x<=p&&m.y>=h&&m.y<=y&&m!==x&&m!==u&&Z(o,a,f,l,s,v,m.x,m.y)&&M(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;w&&w.z>=g;){if(w.x>=c&&w.x<=p&&w.y>=h&&w.y<=y&&w!==x&&w!==u&&Z(o,a,f,l,s,v,w.x,w.y)&&M(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;m&&m.z<=d;){if(m.x>=c&&m.x<=p&&m.y>=h&&m.y<=y&&m!==x&&m!==u&&Z(o,a,f,l,s,v,m.x,m.y)&&M(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(e,t,n){var r=e;do{var x=r.prev,i=r.next.next;!m(x,i)&&A(x,r,r.next,i)&&F(x,i)&&F(i,x)&&(t.push(x.i/n|0),t.push(r.i/n|0),t.push(i.i/n|0),B(r),B(r.next),r=e=i),r=r.next}while(r!==e);return s(r)}function h(e,t,n,r,x,i){var u=e;do{for(var o=u.next.next;o!==u.prev;){if(u.i!==o.i&&w(u,o)){var f=I(u,o);return u=s(u,u.next),f=s(f,f.next),a(u,t,n,r,x,i,0),void a(f,t,n,r,x,i,0)}o=o.next}u=u.next}while(u!==e)}function p(e,t){return e.x-t.x}function y(e,t){var n=function(e,t){var n,r=t,x=e.x,i=e.y,u=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var o=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=x&&o>u&&(u=o,n=r.x=r.x&&r.x>=a&&x!==r.x&&Z(in.x||r.x===n.x&&g(n,r)))&&(n=r,v=f)),r=r.next}while(r!==s);return n}(e,t);if(!n)return t;var r=I(n,e);return s(r,r.next),s(n,n.next)}function g(e,t){return M(e.prev,e,t.prev)<0&&M(t.next,e,e.next)<0}function b(e,t,n,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*x|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*x|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function d(e){var t=e,n=e;do{(t.x=(e-u)*(i-o)&&(e-u)*(r-o)>=(n-u)*(t-o)&&(n-u)*(i-o)>=(x-u)*(r-o)}function w(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&A(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(F(e,t)&&F(t,e)&&function(e,t){var n=e,r=!1,x=(e.x+t.x)/2,i=(e.y+t.y)/2;do{n.y>i!=n.next.y>i&&n.next.y!==n.y&&x<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(M(e.prev,e,t.prev)||M(e,t.prev,t))||m(e,t)&&M(e.prev,e,e.next)>0&&M(t.prev,t,t.next)>0)}function M(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function m(e,t){return e.x===t.x&&e.y===t.y}function A(e,t,n,r){var x=z(M(e,t,n)),i=z(M(e,t,r)),u=z(M(n,r,e)),o=z(M(n,r,t));return x!==i&&u!==o||(!(0!==x||!E(e,n,t))||(!(0!==i||!E(e,r,t))||(!(0!==u||!E(n,e,r))||!(0!==o||!E(n,t,r)))))}function E(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function z(e){return e>0?1:e<0?-1:0}function F(e,t){return M(e.prev,e,e.next)<0?M(e,t,e.next)>=0&&M(e,e.prev,t)>=0:M(e,t,e.prev)<0||M(e,e.next,t)<0}function I(e,t){var n=new _(e.i,e.x,e.y),r=new _(t.i,t.x,t.y),x=e.next,i=t.prev;return e.next=t,t.prev=e,n.next=x,x.prev=n,r.next=n,n.prev=r,i.next=r,r.prev=i,r}function P(e,t,n,r){var x=new _(e,t,n);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function B(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 _(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function O(e,t,n,r){for(var x=0,i=t,u=n-r;i0&&(r+=e[x-1].length,n.holes.push(r))}return n};var N=i(u.exports);const R=[],S={vertexPosition:0,indexPosition:0};function T(e,t,n,r,x){e[t+0]=n,e[t+1]=r,e[t+2]=x}function U(e,t,n,r,x,i){const u=3+x,o=e[t+0],f=e[t+1],s=R;s.length=x;for(let n=0;n0?f:2*Math.PI-f}let b=-1,d=-1;const Z=null!==i;if(null!==x){b=g(p,y,r(s,[...[e[x],e[x+1]]]))}if(Z){d=g(y,p,r(s,[...[e[i],e[i+1]]]))}return u.push(c[0],c[1],h[0],h[1],b,d,a,0),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,1),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,2),u.push(...f),u.push(c[0],c[1],h[0],h[1],b,d,a,3),u.push(...f),o.push(v,v+1,v+2,v+1,v+3,v+2),a+Math.sqrt((y[0]-p[0])*(y[0]-p[0])+(y[1]-p[1])*(y[1]-p[1]))}function G(e,t,n,r,x){const i=2+x;let u=t;const o=e.slice(u,u+x);u+=x;const f=e[u++];let s=0;const a=new Array(f-1);for(let t=0;t{const i=r.data;switch(i.type){case t:{const e=3,t=2,n=i.customAttributesSize,r=t+n,x=new Float32Array(i.renderInstructions),u=x.length/r,o=4*u*(n+e),f=new Uint32Array(6*u),s=new Float32Array(o);let a;for(let e=0;e0?c=o+(n-1)*r:l&&(c=i-r);let h=null;n{const e=t.data;if(e.type===YM){const i=e.projectionTransform;this.verticesBuffer_.fromArrayBuffer(e.vertexBuffer),this.helper.flushBufferData(this.verticesBuffer_),this.indicesBuffer_.fromArrayBuffer(e.indexBuffer),this.helper.flushBufferData(this.indicesBuffer_),this.renderTransform_=i,Co(this.invertRenderTransform_,this.renderTransform_),this.renderInstructions_=new Float32Array(t.data.renderInstructions),e.id===this.lastSentId&&(this.ready=!0),this.getLayer().changed()}})),this.featureCache_={},this.featureCount_=0;const s=this.getLayer().getSource();this.sourceListenKeys_=[Gs(s,bf,this.handleSourceFeatureAdded_,this),Gs(s,Bf,this.handleSourceFeatureChanged_,this),Gs(s,Mf,this.handleSourceFeatureDelete_,this),Gs(s,Lf,this.handleSourceFeatureClear_,this)],s.forEachFeature((t=>{this.featureCache_[Xs(t)]={feature:t,properties:t.getProperties(),geometry:t.getGeometry()},this.featureCount_++}))}afterHelperCreated(){this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_),this.hitDetectionEnabled_&&(this.hitRenderTarget_=new zM(this.helper))}handleSourceFeatureAdded_(t){const e=t.feature;this.featureCache_[Xs(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++}handleSourceFeatureChanged_(t){const e=t.feature;this.featureCache_[Xs(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}}handleSourceFeatureDelete_(t){const e=t.feature;delete this.featureCache_[Xs(e)],this.featureCount_--}handleSourceFeatureClear_(){this.featureCache_={},this.featureCount_=0}renderFrame(t){const e=this.helper.getGL();this.preRender(e,t);const[i,n,r]=this.getWorldParameters_(t);this.renderWorlds(t,!1,i,n,r),this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent);const s=this.helper.getCanvas();return this.hitDetectionEnabled_&&(this.renderWorlds(t,!0,i,n,r),this.hitRenderTarget_.clearCachedData()),this.postRender(e,t),s}getWorldParameters_(t){const e=t.viewState.projection,i=this.getLayer().getSource().getWrapX()&&e.canWrapX(),n=e.getExtent(),r=t.extent,s=i?at(n):null,o=i?Math.ceil((r[2]-n[2])/s)+1:1;return[i?Math.floor((r[0]-n[0])/s):0,o,s]}prepareFrameInternal(t){const e=this.getLayer(),i=e.getSource(),n=t.viewState,r=!t.viewHints[Zo]&&!t.viewHints[$o],s=!z(this.previousExtent_,t.extent),o=this.sourceRevision_Promise.resolve(new Uint8Array(4)),interpolate:t.interpolate,transition:t.transition}),this.pixelRatio_=t.pixelRatio,this.gutter_=t.gutter,this.reprojData_=null,this.reprojError_=null,this.reprojSize_=void 0,this.sourceTileGrid_=t.sourceTileGrid,this.targetTileGrid_=t.targetTileGrid,this.wrappedTileCoord_=t.wrappedTileCoord||t.tileCoord,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const e=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_),i=this.targetTileGrid_.getExtent();let n=this.sourceTileGrid_.getExtent();const r=i?rt(e,i):e;if(0===K(r))return void(this.state=bh);const s=t.sourceProj,o=s.getExtent();o&&(n=n?rt(n,o):o);const a=this.targetTileGrid_.getResolution(this.wrappedTileCoord_[0]),l=t.targetProj,h=Vg(s,l,r,a);if(!isFinite(h)||h<=0)return void(this.state=bh);const c=void 0!==t.errorThreshold?t.errorThreshold:.5;if(this.triangulation_=new Og(s,l,r,n,h*c,a),0===this.triangulation_.getTriangles().length)return void(this.state=bh);this.sourceZ_=this.sourceTileGrid_.getZForResolution(h);let u=this.triangulation_.calculateSourceExtent();if(n&&(s.canWrapX()?(u[1]=dt(u[1],n[1],n[3]),u[3]=dt(u[3],n[1],n[3])):u=rt(u,n)),K(u)){const e=this.sourceTileGrid_.getTileRangeForExtentAndZ(u,this.sourceZ_),i=t.getTileFunction;for(let t=e.minX;t<=e.maxX;t++)for(let n=e.minY;n<=e.maxY;n++){const e=i(this.sourceZ_,t,n,this.pixelRatio_);e&&this.sourceTiles_.push(e)}0===this.sourceTiles_.length&&(this.state=bh)}else this.state=bh}getSize(){return this.reprojSize_}getData(){return this.reprojData_}getError(){return this.reprojError_}reproject_(){const t=[];if(this.sourceTiles_.forEach((e=>{if(!e||e.getState()!==wh)return;const i=e.getSize(),n=this.gutter_;let r;const s=KM(e.getData());r=s||function(t){JM||(JM=bl(t.width,t.height,void 0,{willReadFrequently:!0}));const e=JM.canvas,i=t.width;e.width!==i&&(e.width=i);const n=t.height;return e.height!==n&&(e.height=n),JM.clearRect(0,0,i,n),JM.drawImage(t,0,0),JM.getImageData(0,0,i,n).data}(WM(e.getData()));const o=[i[0]+2*n,i[1]+2*n],a=r instanceof Float32Array,l=o[0]*o[1],h=a?Float32Array:Uint8Array,c=new h(r.buffer),u=h.BYTES_PER_ELEMENT,g=u*c.length/l,d=c.byteLength/o[1],A=Math.floor(d/u/o[0]),p=l*A;let f=c;if(c.length!==p){f=new h(p);let t=0,e=0;const i=o[0]*A;for(let n=0;n=0;--e){const i=[];for(let n=0,r=t.length;n{const i=e.getState();if(i!==vh&&i!==xh)return;t++;const n=Gs(e,bs,(function(){const i=e.getState();i!=wh&&i!=Sh&&i!=bh||(qs(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))}),this);this.sourcesListenerKeys_.push(n)})),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function(t){t.getState()==vh&&t.load()}))}unlistenSources_(){this.sourcesListenerKeys_.forEach(qs),this.sourcesListenerKeys_=null}};const eT=class extends Ss{constructor(t){super(),this.tile,this.handleTileChange_=this.handleTileChange_.bind(this),this.gutter_=t.gutter||0,this.helper_=t.helper,this.loaded=!1,this.ready=!1}setTile(t){if(t!==this.tile)if(this.tile&&this.tile.removeEventListener(bs,this.handleTileChange_),this.tile=t,this.loaded=t.getState()===wh,this.loaded)this.uploadTile();else{if(t instanceof Dg){const e=t.getImage();e instanceof Image&&!e.crossOrigin&&(e.crossOrigin="anonymous")}t.addEventListener(bs,this.handleTileChange_)}}uploadTile(){js()}setReady(){this.ready=!0,this.dispatchEvent(bs)}handleTileChange_(){this.tile.getState()===wh&&(this.loaded=!0,this.uploadTile())}disposeInternal(){this.tile.removeEventListener(bs,this.handleTileChange_)}};function iT(t,e,i){const n=i?t.LINEAR:t.NEAREST;t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n)}function nT(t,e,i,n,r,s){const o=t.getGL();let a,l;if(i instanceof Float32Array){a=o.FLOAT,t.getExtension("OES_texture_float");l=null!==t.getExtension("OES_texture_float_linear")}else a=o.UNSIGNED_BYTE,l=!0;iT(o,e,s&&l);const h=i.byteLength/n[1];let c,u=1;switch(h%8==0?u=8:h%4==0?u=4:h%2==0&&(u=2),r){case 1:c=o.LUMINANCE;break;case 2:c=o.LUMINANCE_ALPHA;break;case 3:c=o.RGB;break;case 4:c=o.RGBA;break;default:throw new Error(`Unsupported number of bands: ${r}`)}const g=o.getParameter(o.UNPACK_ALIGNMENT);o.pixelStorei(o.UNPACK_ALIGNMENT,u),o.texImage2D(o.TEXTURE_2D,0,c,n[0],n[1],0,c,a,i),o.pixelStorei(o.UNPACK_ALIGNMENT,g)}let rT=null;const sT=class extends eT{constructor(t){super(t),this.textures=[],this.renderSize_=xc(t.grid.getTileSize(t.tile.tileCoord[0])),this.bandCount=NaN;const e=new CM(AM,fM);e.fromArray([0,1,1,1,1,0,0,0]),this.helper_.flushBufferData(e),this.coords=e,this.setTile(t.tile)}uploadTile(){const t=this.helper_,e=t.getGL(),i=this.tile;let n;this.textures.length=0,n=i instanceof Dg||i instanceof Yg?i.getImage():i.getData();const r=WM(n);if(r){const t=e.createTexture();return this.textures.push(t),this.bandCount=4,function(t,e,i,n){iT(t,e,n),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i)}(e,t,r,i.interpolate),void this.setReady()}n=KM(n);const s=i.getSize(),o=[s[0]+2*this.gutter_,s[1]+2*this.gutter_],a=n instanceof Float32Array,l=o[0]*o[1],h=a?Float32Array:Uint8Array,c=h.BYTES_PER_ELEMENT,u=n.byteLength/o[1];this.bandCount=Math.floor(u/c/o[0]);const g=Math.ceil(this.bandCount/4);if(1===g){const r=e.createTexture();return this.textures.push(r),nT(t,r,n,o,this.bandCount,i.interpolate),void this.setReady()}const d=new Array(g);for(let t=0;t=A;--r){const i=l.getTileRangeForExtentAndZ(e,r,this.tempTileRange_),o=l.getResolution(r);for(let e=i.minX;e<=i.maxX;++e)for(let d=i.minY;d<=i.maxY;++d){const i=td(r,e,d,this.tempTileCoord_),A=cT(a,i);let p,f;if(g.containsKey(A)&&(p=g.get(A),f=p.tile),p&&p.tile.key===a.getKey()||(f=a.getTile(r,e,d,t.pixelRatio,s.projection)),aT(n,f))continue;if(p)if(this.isDrawableTile_(f))p.setTile(f);else{const t=f.getInterimTile();p.setTile(t)}else p=this.createTileRepresentation({tile:f,grid:l,helper:this.helper,gutter:h}),g.set(A,p);lT(n,p,r);const m=f.getKey();u[m]=!0,f.getState()===vh&&(t.tileQueue.isKeyQueued(m)||t.tileQueue.enqueue([f,c,l.getTileCoordCenter(i),o]))}}}beforeTilesRender(t,e){this.helper.prepareDraw(this.frameState,!e,!0)}renderTile(t,e,i,n,r,s,o,a,l,h,c){}drawTile_(t,e,i,n,r,s,o){if(!e.loaded)return;const a=e.tile.tileCoord,l=id(a),h=l in s?s[l]:1,c=o.getResolution(i),u=xc(o.getTileSize(i),this.tempSize_),g=o.getOrigin(i),d=o.getTileCoordExtent(a),A=h<1?-1:1/(i+2);h<1&&(t.animate=!0);const p=t.viewState,f=p.center[0],m=p.center[1],_=u[0]+2*n,y=u[1]+2*n,I=_/y,E=(f-g[0])/(u[0]*c),C=(g[1]-m)/(u[1]*c),v=p.resolution/c,x=a[1],w=a[2];po(this.tileTransform_),yo(this.tileTransform_,2/(t.size[0]*v/_),-2/(t.size[1]*v/_)),function(t,e){const i=Math.cos(e),n=Math.sin(e);fo(t,mo(Ao,i,n,-n,i,0,0))}(this.tileTransform_,p.rotation),yo(this.tileTransform_,1,1/I),Io(this.tileTransform_,(u[0]*(x-E)-n)/_,(u[1]*(w-C)-n)/y),this.renderTile(e,this.tileTransform_,t,r,c,u,g,d,A,n,h)}renderFrame(t){this.frameState=t,this.renderComplete=!0;const e=this.helper.getGL();this.preRender(e,t);const i=t.viewState,n=this.getLayer(),r=n.getRenderSource(),s=r.getTileGridForProjection(i.projection),o=r.getGutterForProjection(i.projection),a=hT(t,t.extent),l=s.getZForResolution(i.resolution,r.zDirection),h={tileIds:new Set,representationsByZ:{}},c=n.getPreload();if(t.nextExtent){const e=s.getZForResolution(i.nextResolution,r.zDirection),n=hT(t,t.nextExtent);this.enqueueTiles(t,n,e,h,c)}this.enqueueTiles(t,a,l,h,0),c>0&&setTimeout((()=>{this.enqueueTiles(t,a,l-1,h,c-1)}),0);const u={},g=Xs(this),d=t.time;let A=!1;for(const t of h.representationsByZ[l]){const e=t.tile;if((e instanceof Yg||e instanceof tT)&&e.getState()===bh)continue;const i=e.tileCoord;if(t.loaded){const t=e.getAlpha(g,d);if(1===t){e.endTransition(g);continue}A=!0;u[id(i)]=t}this.renderComplete=!1;if(this.findAltTiles_(s,i,l+1,h))continue;const n=s.getMinZoom();for(let t=l-1;t>=n;--t){if(this.findAltTiles_(s,i,t,h))break}}this.beforeTilesRender(t,A);const p=h.representationsByZ,f=Object.keys(p).map(Number).sort(ps);for(let e=0,i=f.length;et.dispose())),t.clear()}removeHelper(){this.helper&&this.clearCache(),super.removeHelper()}disposeInternal(){super.disposeInternal(),delete this.frameState}},gT={TILE_TRANSFORM:"u_tileTransform",TRANSITION_ALPHA:"u_transitionAlpha",DEPTH:"u_depth",RENDER_EXTENT:"u_renderExtent",RESOLUTION:"u_resolution",ZOOM:"u_zoom",GLOBAL_ALPHA:"u_globalAlpha",PROJECTION_MATRIX:"u_projectionMatrix",SCREEN_TO_WORLD_MATRIX:"u_screenToWorldMatrix",TILE_TEXTURE_ARRAY:"u_tileTextures",TEXTURE_PIXEL_WIDTH:"u_texturePixelWidth",TEXTURE_PIXEL_HEIGHT:"u_texturePixelHeight",TEXTURE_RESOLUTION:"u_textureResolution",TEXTURE_ORIGIN_X:"u_textureOriginX",TEXTURE_ORIGIN_Y:"u_textureOriginY"},dT="a_textureCoord",AT=[{name:dT,size:2,type:FM.FLOAT}];const pT=class extends uT{constructor(t,e){super(t,e),this.program_,this.vertexShader_=e.vertexShader,this.fragmentShader_=e.fragmentShader,this.indices_=new CM(pM,fM),this.indices_.fromArray([0,1,3,1,2,3]),this.paletteTextures_=e.paletteTextures||[]}reset(t){super.reset(t),this.vertexShader_=t.vertexShader,this.fragmentShader_=t.fragmentShader,this.helper&&(this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_))}afterHelperCreated(){this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_),this.helper.flushBufferData(this.indices_)}createTileRepresentation(t){return new sT(t)}beforeTilesRender(t,e){super.beforeTilesRender(t,e),this.helper.useProgram(this.program_,t)}renderTile(t,e,i,n,r,s,o,a,l,h,c){const u=this.helper.getGL();this.helper.bindBuffer(t.coords),this.helper.bindBuffer(this.indices_),this.helper.enableAttributes(AT);let g=0;for(;g0&&(y=a,rt(y,n,y)),this.helper.setUniformFloatVec4(gT.RENDER_EXTENT,y),this.helper.setUniformFloatValue(gT.RESOLUTION,d.resolution),this.helper.setUniformFloatValue(gT.ZOOM,d.zoom),this.helper.setUniformFloatValue(gT.TEXTURE_PIXEL_WIDTH,A),this.helper.setUniformFloatValue(gT.TEXTURE_PIXEL_HEIGHT,p),this.helper.setUniformFloatValue(gT.TEXTURE_RESOLUTION,r),this.helper.setUniformFloatValue(gT.TEXTURE_ORIGIN_X,o[0]+m*s[0]*r-h*r),this.helper.setUniformFloatValue(gT.TEXTURE_ORIGIN_Y,o[1]-_*s[1]*r+h*r),this.helper.drawElements(0,this.indices_.getSize())}getData(t){if(!this.helper.getGL())return null;const e=this.frameState;if(!e)return null;const i=this.getLayer(),n=_o(e.pixelToCoordinateTransform,t.slice()),r=e.viewState,s=i.getExtent();if(s&&!F(_e(s,r.projection),n))return null;const o=i.getSources(T([n]),r.resolution);let a,l,h;for(a=o.length-1;a>=0;--a)if(l=o[a],"ready"===l.getState()){if(h=l.getTileGridForProjection(r.projection),l.getWrapX())break;const t=h.getExtent();if(!t||F(t,n))break}if(a<0)return null;const c=this.tileRepresentationCache;for(let t=h.getZForResolution(r.resolution);t>=h.getMinZoom();--t){const e=h.getTileCoordForCoordAndZ(n,t),i=cT(l,e);if(!c.containsKey(i))continue;const r=c.get(i),s=r.tile;if((s instanceof Yg||s instanceof tT)&&s.getState()===bh)return null;if(!r.loaded)continue;const o=h.getOrigin(t),a=xc(h.getTileSize(t)),u=h.getResolution(t),g=(n[0]-o[0])/u-e[1]*a[0],d=(o[1]-n[1])/u-e[2]*a[1];return r.getPixelData(g,d)}return null}disposeInternal(){const t=this.helper;if(t){t.getGL().deleteProgram(this.program_),delete this.program_,t.deleteBuffer(this.indices_)}super.disposeInternal(),delete this.indices_}},fT={NUMBER:1,STRING:2,COLOR:4,BOOLEAN:8,NUMBER_ARRAY:16,ANY:31,NONE:0};const mT={};function _T(t){if("number"==typeof t)return fT.NUMBER;if("boolean"==typeof t)return fT.BOOLEAN;if("string"==typeof t)return e=t,So.test(e)&&(e=Bo(e)),wo.test(e)||e.startsWith("rgba(")||e.startsWith("rgb(")?fT.COLOR|fT.STRING:fT.STRING;var e;if(!Array.isArray(t))throw new Error(`Unhandled value type: ${JSON.stringify(t)}`);const i=t;if(i.every((function(t){return"number"==typeof t})))return 3===i.length||4===i.length?fT.COLOR|fT.NUMBER_ARRAY:fT.NUMBER_ARRAY;if("string"!=typeof i[0])throw new Error(`Expected an expression operator but received: ${JSON.stringify(i)}`);const n=mT[i[0]];if(void 0===n)throw new Error(`Unrecognized expression operator: ${JSON.stringify(i)}`);return n.getReturnType(i.slice(1))}function yT(t){const e=[];return(t&fT.NUMBER)>0&&e.push("number"),(t&fT.COLOR)>0&&e.push("color"),(t&fT.BOOLEAN)>0&&e.push("boolean"),(t&fT.NUMBER_ARRAY)>0&&e.push("number[]"),(t&fT.STRING)>0&&e.push("string"),e.length>0?e.join(", "):"(no type)"}function IT(t){const e=t.toString();return e.includes(".")?e:e+".0"}function ET(t){if(t.length<2||t.length>4)throw new Error("`formatArray` can only output `vec2`, `vec3` or `vec4` arrays.");return`vec${t.length}(${t.map(IT).join(", ")})`}function CT(t){const e=Mo(t),i=e.length>3?e[3]:1;return ET([e[0]/255*i,e[1]/255*i,e[2]/255*i,i])}const vT={};let xT=0;function wT(t){return t in vT||(vT[t]=xT++),vT[t]}function ST(t){return IT(wT(t))}function bT(t,e,i){const n=void 0!==i?i:fT.NUMBER;if(Array.isArray(e)&&"string"==typeof e[0]){const i=mT[e[0]];if(void 0===i)throw new Error(`Unrecognized expression operator: ${JSON.stringify(e)}`);return i.toGlsl(t,e.slice(1),n)}const r=_T(e)&n;if(DT(e,r,""),(r&fT.NUMBER)>0)return IT(e);if((r&fT.BOOLEAN)>0)return e.toString();if((r&fT.STRING)>0)return ST(e.toString());if((r&fT.COLOR)>0)return CT(e);if((r&fT.NUMBER_ARRAY)>0)return ET(e);throw new Error(`Unexpected expression ${e} (expected type ${yT(n)})`)}function BT(t){if(0==(_T(t)&fT.NUMBER))throw new Error(`A numeric value was expected, got ${JSON.stringify(t)} instead`)}function LT(t){for(let e=0;ee)throw new Error(`At most ${e} arguments were expected, got ${t.length} instead`)}function FT(t){if(t.length%2!=0)throw new Error(`An even amount of arguments was expected, got ${JSON.stringify(t)} instead`)}function DT(t,e,i){if(e===fT.NONE)throw new Error(`No matching type was found for the following expression ${i}: ${JSON.stringify(t)}`)}function OT(t,e,i){if(DT(t,e,i),n=e,Math.log2(n)%1!=0)throw new Error(`Expected to have a unique type for the following expression ${i}: ${JSON.stringify(t)}\nGot the following types instead: ${yT(e)}`);var n}function QT(t,e,i,n){if((e&i)===fT.NONE)throw new Error(`Expected the ${n} type of the following expression: ${JSON.stringify(t)} to be of the following types: ${yT(i)}\nGot these types instead: ${yT(e)}`)}function kT(t){return"u_var_"+t}mT.get={getReturnType:function(t){if(2===t.length){return function(t){switch(t){case"string":return fT.STRING;case"color":return fT.COLOR;case"number":return fT.NUMBER;case"boolean":return fT.BOOLEAN;case"number[]":return fT.NUMBER_ARRAY;default:throw new Error(`Unrecognized type hint: ${t}`)}}(t[1])}return fT.ANY},toGlsl:function(t,e,i){NT(e,1),PT(e,2),MT(e[0]);const n=i&mT.get.getReturnType(e);OT(["get",...e],n,"");const r=e[0].toString(),s=t.attributes.find((t=>t.name===r));if(s){if(n!==s.type)throw new Error(`The following attribute was used in different places with incompatible types: ${r}\nTypes were: ${yT(s.type)} and ${yT(n)}`)}else t.attributes.push({name:r,type:n});return(t.inFragmentShader?"v_":"a_")+r}},mT.var={getReturnType:function(){return fT.ANY},toGlsl:function(t,e,i){RT(e,1),MT(e[0]);const n=e[0].toString();if(!t.style.variables||void 0===t.style.variables[n])throw new Error(`The following variable is missing from the style: ${n}`);const r=i&_T(t.style.variables[n]);OT(["var",...e],r,"");const s=t.variables.find((t=>t.name===n));if(s){if(r!==s.type)throw new Error(`The following variable was used in different places with incompatible types: ${n}\nTypes were: ${yT(s.type)} and ${yT(r)}`)}else t.variables.push({name:n,type:r});return kT(n)}};const GT="u_paletteTextures";mT.palette={getReturnType:function(){return fT.COLOR},toGlsl:function(t,e){RT(e,2),BT(e[0]);const i=bT(t,e[0]),n=e[1];if(!Array.isArray(n))throw new Error("The second argument of palette must be an array");const r=n.length,s=new Uint8Array(4*r);for(let t=0;tbT(e,t,fT.BOOLEAN))).join(` ${t} `);return n=`(${n})`,n}}}mT.band={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){NT(e,1),PT(e,3);const i=e[0];if(!(UT in t.functions)){let e="";const i=t.bandCount||1;for(let t=0;t{const e=t.getType();switch(e){case"Point":case"LineString":case"Polygon":return e;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return e.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return n(t.getGeometries()[0])}};t.attributes.find((t=>t.name===i))||t.attributes.push({name:i,type:fT.STRING,callback:t=>n(t.getGeometry())});return(t.inFragmentShader?"v_":"a_")+i}},mT["*"]={getReturnType:function(t){let e=fT.NUMBER|fT.COLOR;for(let i=0;ibT(t,e,n))).join(" * ")})`}},mT["/"]={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} / ${bT(t,e[1])})`}},mT["+"]={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return NT(e,2),LT(e),`(${e.map((e=>bT(t,e))).join(" + ")})`}},mT["-"]={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} - ${bT(t,e[1])})`}},mT.clamp={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){RT(e,3),LT(e);const i=bT(t,e[1]),n=bT(t,e[2]);return`clamp(${bT(t,e[0])}, ${i}, ${n})`}},mT["%"]={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,2),LT(e),`mod(${bT(t,e[0])}, ${bT(t,e[1])})`}},mT["^"]={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,2),LT(e),`pow(${bT(t,e[0])}, ${bT(t,e[1])})`}},mT.abs={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`abs(${bT(t,e[0])})`}},mT.floor={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`floor(${bT(t,e[0])})`}},mT.round={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`floor(${bT(t,e[0])} + 0.5)`}},mT.ceil={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`ceil(${bT(t,e[0])})`}},mT.sin={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`sin(${bT(t,e[0])})`}},mT.cos={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`cos(${bT(t,e[0])})`}},mT.atan={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return NT(e,1),PT(e,2),LT(e),2===e.length?`atan(${bT(t,e[0])}, ${bT(t,e[1])})`:`atan(${bT(t,e[0])})`}},mT.sqrt={getReturnType:function(){return fT.NUMBER},toGlsl:function(t,e){return RT(e,1),LT(e),`sqrt(${bT(t,e[0])})`}},mT[">"]={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} > ${bT(t,e[1])})`}},mT[">="]={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} >= ${bT(t,e[1])})`}},mT["<"]={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} < ${bT(t,e[1])})`}},mT["<="]={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){return RT(e,2),LT(e),`(${bT(t,e[0])} <= ${bT(t,e[1])})`}},mT["=="]=qT("=="),mT["!="]=qT("!="),mT["!"]={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){return RT(e,1),TT(e[0]),`(!${bT(t,e[0],fT.BOOLEAN)})`}},mT.all=VT("&&"),mT.any=VT("||"),mT.between={getReturnType:function(){return fT.BOOLEAN},toGlsl:function(t,e){RT(e,3),LT(e);const i=bT(t,e[1]),n=bT(t,e[2]),r=bT(t,e[0]);return`(${r} >= ${i} && ${r} <= ${n})`}},mT.array={getReturnType:function(){return fT.NUMBER_ARRAY},toGlsl:function(t,e){NT(e,2),PT(e,4),LT(e);const i=e.map((function(e){return bT(t,e)}));return`vec${e.length}(${i.join(", ")})`}},mT.color={getReturnType:function(){return fT.COLOR},toGlsl:function(t,e){NT(e,3),PT(e,4),LT(e);const i=e.slice(0,3).map((e=>`${bT(t,e)} / 255.0`));if(3===e.length)return`vec4(${i.join(", ")}, 1.0)`;return`(${bT(t,e[3])} * vec4(${i.join(", ")}, 1.0))`}},mT.interpolate={getReturnType:function(t){let e=fT.COLOR|fT.NUMBER;for(let i=3;i=1;i-=2){a=`(${s} == ${bT(t,e[i],n)} ? ${bT(t,e[i+1],r)} : ${a||o})`}return a}},mT.case={getReturnType:function(t){let e=fT.ANY;for(let i=1;i=0;i-=2){s=`(${bT(t,e[i],fT.BOOLEAN)} ? ${bT(t,e[i+1],n)} : ${s||r})`}return s}},mT.in={getReturnType:function(t){return fT.BOOLEAN},toGlsl:function(t,e){RT(e,2);const i=e[0];let n=e[1];if(!Array.isArray(n))throw new Error('The "in" operator expects an array literal as its second argument.');if("string"==typeof n[0]){if("literal"!==n[0])throw new Error('For the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions.');if(!Array.isArray(n[1]))throw new Error('The "in" operator was provided a literal value which was not an array as second argument.');n=n[1]}let r=_T(i);for(let t=0;t 0) {\n if (gl_FragColor.a < 0.05) { discard; };\n gl_FragColor = v_hitColor;\n }\n}`:null}getStrokeVertexShader(){return this.hasStroke_?`${zT}\n${this.uniforms_.map((function(t){return"uniform "+t+";"})).join("\n")}\nattribute vec2 a_position;\nattribute float a_index;\nattribute vec2 a_segmentStart;\nattribute vec2 a_segmentEnd;\nattribute float a_parameters;\nattribute float a_distance;\nattribute vec2 a_joinAngles;\nattribute vec4 a_hitColor;\n${this.attributes_.map((function(t){return"attribute "+t+";"})).join("\n")}\nvarying vec2 v_segmentStart;\nvarying vec2 v_segmentEnd;\nvarying float v_angleStart;\nvarying float v_angleEnd;\nvarying float v_width;\nvarying vec4 v_hitColor;\nvarying float v_distanceOffsetPx;\n${this.varyings_.map((function(t){return"varying "+t.type+" "+t.name+";"})).join("\n")}\n${this.vertexShaderFunctions_.join("\n")}\nvec2 worldToPx(vec2 worldPos) {\n vec4 screenPos = u_projectionMatrix * vec4(worldPos, 0.0, 1.0);\n return (0.5 * screenPos.xy + 0.5) * u_viewportSizePx;\n}\n\nvec4 pxToScreen(vec2 pxPos) {\n vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;\n return vec4(screenPos, 0.0, 1.0);\n}\n\nbool isCap(float joinAngle) {\n return joinAngle < -0.1;\n}\n\nvec2 getJoinOffsetDirection(vec2 normalPx, float joinAngle) {\n float halfAngle = joinAngle / 2.0;\n float c = cos(halfAngle);\n float s = sin(halfAngle);\n vec2 angleBisectorNormal = vec2(s * normalPx.x + c * normalPx.y, -c * normalPx.x + s * normalPx.y);\n float length = 1.0 / s;\n return angleBisectorNormal * length;\n}\n\nvec2 getOffsetPoint(vec2 point, vec2 normal, float joinAngle, float offsetPx) {\n // if on a cap or the join angle is too high, offset the line along the segment normal\n if (cos(joinAngle) > 0.998 || isCap(joinAngle)) {\n return point - normal * offsetPx;\n }\n // offset is applied along the inverted normal (positive offset goes "right" relative to line direction)\n return point - getJoinOffsetDirection(normal, joinAngle) * offsetPx;\n}\n\nvoid main(void) {\n v_angleStart = a_joinAngles.x;\n v_angleEnd = a_joinAngles.y;\n float vertexNumber = a_parameters;\n\n float lineWidth = ${this.strokeWidthExpression_};\n float lineOffsetPx = ${this.strokeOffsetExpression_};\n\n // compute segment start/end in px with offset\n vec2 segmentStartPx = worldToPx(a_segmentStart);\n vec2 segmentEndPx = worldToPx(a_segmentEnd);\n vec2 tangentPx = normalize(segmentEndPx - segmentStartPx);\n vec2 normalPx = vec2(-tangentPx.y, tangentPx.x);\n segmentStartPx = getOffsetPoint(segmentStartPx, normalPx, v_angleStart, lineOffsetPx),\n segmentEndPx = getOffsetPoint(segmentEndPx, normalPx, v_angleEnd, lineOffsetPx);\n \n // compute current vertex position\n float normalDir = vertexNumber < 0.5 || (vertexNumber > 1.5 && vertexNumber < 2.5) ? 1.0 : -1.0;\n float tangentDir = vertexNumber < 1.5 ? 1.0 : -1.0;\n float angle = vertexNumber < 1.5 ? v_angleStart : v_angleEnd;\n vec2 joinDirection;\n vec2 positionPx = vertexNumber < 1.5 ? segmentStartPx : segmentEndPx;\n // if angle is too high, do not make a proper join\n if (cos(angle) > 0.985 || isCap(angle)) {\n joinDirection = normalPx * normalDir - tangentPx * tangentDir;\n } else {\n joinDirection = getJoinOffsetDirection(normalPx * normalDir, angle);\n }\n positionPx = positionPx + joinDirection * lineWidth * 0.5;\n gl_Position = pxToScreen(positionPx);\n\n v_segmentStart = segmentStartPx;\n v_segmentEnd = segmentEndPx;\n v_width = lineWidth;\n v_hitColor = a_hitColor;\n v_distanceOffsetPx = a_distance / u_resolution;\n${this.varyings_.map((function(t){return" "+t.name+" = "+t.expression+";"})).join("\n")}\n}`:null}getStrokeFragmentShader(){return this.hasStroke_?`${zT}\n${this.uniforms_.map((function(t){return"uniform "+t+";"})).join("\n")}\nvarying vec2 v_segmentStart;\nvarying vec2 v_segmentEnd;\nvarying float v_angleStart;\nvarying float v_angleEnd;\nvarying float v_width;\nvarying vec4 v_hitColor;\nvarying float v_distanceOffsetPx;\n${this.varyings_.map((function(t){return"varying "+t.type+" "+t.name+";"})).join("\n")}\n${this.fragmentShaderFunctions_.join("\n")}\n\nvec2 pxToWorld(vec2 pxPos) {\n vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;\n return (u_screenToWorldMatrix * vec4(screenPos, 0.0, 1.0)).xy;\n}\n\nbool isCap(float joinAngle) {\n return joinAngle < -0.1;\n}\n\nfloat segmentDistanceField(vec2 point, vec2 start, vec2 end, float width) {\n vec2 tangent = normalize(end - start);\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 startToPoint = point - start;\n return abs(dot(startToPoint, normal)) - width * 0.5;\n}\n\nfloat buttCapDistanceField(vec2 point, vec2 start, vec2 end) {\n vec2 startToPoint = point - start;\n vec2 tangent = normalize(end - start);\n return dot(startToPoint, -tangent);\n}\n\nfloat squareCapDistanceField(vec2 point, vec2 start, vec2 end, float width) {\n return buttCapDistanceField(point, start, end) - width * 0.5;\n}\n\nfloat roundCapDistanceField(vec2 point, vec2 start, vec2 end, float width) {\n float onSegment = max(0., 1000. * dot(point - start, end - start)); // this is very high when inside the segment\n return length(point - start) - width * 0.5 - onSegment;\n}\n\nfloat roundJoinDistanceField(vec2 point, vec2 start, vec2 end, float width) {\n return roundCapDistanceField(point, start, end, width);\n}\n\nfloat bevelJoinField(vec2 point, vec2 start, vec2 end, float width, float joinAngle) {\n vec2 startToPoint = point - start;\n vec2 tangent = normalize(end - start);\n float c = cos(joinAngle * 0.5);\n float s = sin(joinAngle * 0.5);\n float direction = -sign(sin(joinAngle));\n vec2 bisector = vec2(c * tangent.x - s * tangent.y, s * tangent.x + c * tangent.y);\n float radius = width * 0.5 * s;\n return dot(startToPoint, bisector * direction) - radius;\n}\n\nfloat miterJoinDistanceField(vec2 point, vec2 start, vec2 end, float width, float joinAngle) {\n if (cos(joinAngle) > 0.985) { // avoid risking a division by zero\n return bevelJoinField(point, start, end, width, joinAngle);\n }\n float miterLength = 1. / sin(joinAngle * 0.5);\n float miterLimit = ${this.strokeMiterLimitExpression_};\n if (miterLength > miterLimit) {\n return bevelJoinField(point, start, end, width, joinAngle);\n }\n return -1000.;\n}\n\nfloat capDistanceField(vec2 point, vec2 start, vec2 end, float width, float capType) {\n if (capType == ${ST("butt")}) {\n return buttCapDistanceField(point, start, end);\n } else if (capType == ${ST("square")}) {\n return squareCapDistanceField(point, start, end, width);\n }\n return roundCapDistanceField(point, start, end, width);\n}\n\nfloat joinDistanceField(vec2 point, vec2 start, vec2 end, float width, float joinAngle, float joinType) {\n if (joinType == ${ST("bevel")}) {\n return bevelJoinField(point, start, end, width, joinAngle);\n } else if (joinType == ${ST("miter")}) {\n return miterJoinDistanceField(point, start, end, width, joinAngle);\n }\n return roundJoinDistanceField(point, start, end, width);\n}\n\nfloat computeSegmentPointDistance(vec2 point, vec2 start, vec2 end, float width, float joinAngle, float capType, float joinType) {\n if (isCap(joinAngle)) {\n return capDistanceField(point, start, end, width, capType);\n }\n return joinDistanceField(point, start, end, width, joinAngle, joinType);\n}\n\nvoid main(void) {\n vec2 currentPoint = gl_FragCoord.xy / u_pixelRatio;\n #ifdef GL_FRAGMENT_PRECISION_HIGH\n vec2 v_worldPos = pxToWorld(currentPoint);\n if (\n abs(u_renderExtent[0] - u_renderExtent[2]) > 0.0 && (\n v_worldPos[0] < u_renderExtent[0] ||\n v_worldPos[1] < u_renderExtent[1] ||\n v_worldPos[0] > u_renderExtent[2] ||\n v_worldPos[1] > u_renderExtent[3]\n )\n ) {\n discard;\n }\n #endif\n if (${this.discardExpression_}) { discard; }\n\n float segmentLength = length(v_segmentEnd - v_segmentStart);\n vec2 segmentTangent = (v_segmentEnd - v_segmentStart) / segmentLength;\n vec2 segmentNormal = vec2(-segmentTangent.y, segmentTangent.x);\n vec2 startToPoint = currentPoint - v_segmentStart;\n float currentLengthPx = max(0., min(dot(segmentTangent, startToPoint), segmentLength)) + v_distanceOffsetPx; \n float currentRadiusPx = abs(dot(segmentNormal, startToPoint));\n vec4 color = ${this.strokeColorExpression_} * u_globalAlpha;\n float capType = ${this.strokeCapExpression_};\n float joinType = ${this.strokeJoinExpression_};\n float segmentStartDistance = computeSegmentPointDistance(currentPoint, v_segmentStart, v_segmentEnd, v_width, v_angleStart, capType, joinType);\n float segmentEndDistance = computeSegmentPointDistance(currentPoint, v_segmentEnd, v_segmentStart, v_width, v_angleEnd, capType, joinType);\n float distance = max(\n segmentDistanceField(currentPoint, v_segmentStart, v_segmentEnd, v_width),\n max(segmentStartDistance, segmentEndDistance)\n );\n distance = max(distance, ${this.strokeDistanceFieldExpression_});\n gl_FragColor = color * smoothstep(0., -1., distance);\n if (u_hitDetection > 0) {\n if (gl_FragColor.a < 0.1) { discard; };\n gl_FragColor = v_hitColor;\n }\n}`:null}getFillVertexShader(){return this.hasFill_?`${zT}\n${this.uniforms_.map((function(t){return"uniform "+t+";"})).join("\n")}\nattribute vec2 a_position;\nattribute vec4 a_hitColor;\n${this.attributes_.map((function(t){return"attribute "+t+";"})).join("\n")}\nvarying vec4 v_hitColor;\n${this.varyings_.map((function(t){return"varying "+t.type+" "+t.name+";"})).join("\n")}\n${this.vertexShaderFunctions_.join("\n")}\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n${this.varyings_.map((function(t){return" "+t.name+" = "+t.expression+";"})).join("\n")}\n}`:null}getFillFragmentShader(){return this.hasFill_?`${zT}\n${this.uniforms_.map((function(t){return"uniform "+t+";"})).join("\n")}\nvarying vec4 v_hitColor;\n${this.varyings_.map((function(t){return"varying "+t.type+" "+t.name+";"})).join("\n")}\n${this.fragmentShaderFunctions_.join("\n")}\nvec2 pxToWorld(vec2 pxPos) {\n vec2 screenPos = 2.0 * pxPos / u_viewportSizePx - 1.0;\n return (u_screenToWorldMatrix * vec4(screenPos, 0.0, 1.0)).xy;\n}\n\nvoid main(void) {\n #ifdef GL_FRAGMENT_PRECISION_HIGH\n vec2 v_worldPos = pxToWorld(gl_FragCoord.xy / u_pixelRatio);\n if (\n abs(u_renderExtent[0] - u_renderExtent[2]) > 0.0 && (\n v_worldPos[0] < u_renderExtent[0] ||\n v_worldPos[1] < u_renderExtent[1] ||\n v_worldPos[0] > u_renderExtent[2] ||\n v_worldPos[1] > u_renderExtent[3]\n )\n ) {\n discard;\n }\n #endif\n if (${this.discardExpression_}) { discard; }\n gl_FragColor = ${this.fillColorExpression_} * u_globalAlpha;\n if (u_hitDetection > 0) {\n if (gl_FragColor.a < 0.1) { discard; };\n gl_FragColor = v_hitColor;\n }\n}`:null}}const HT="blur",XT="gradient",WT="radius",KT=["#00f","#0ff","#0f0","#ff0","#f00"];const JT=class extends Y_{constructor(t){t=t||{};const e=Object.assign({},t);delete e.gradient,delete e.radius,delete e.blur,delete e.weight,super(e),this.gradient_=null,this.addChangeListener(XT,this.handleGradientChanged_),this.setGradient(t.gradient?t.gradient:KT),this.setBlur(void 0!==t.blur?t.blur:15),this.setRadius(void 0!==t.radius?t.radius:8);const i=t.weight?t.weight:"weight";this.weightFunction_="string"==typeof i?function(t){return t.get(i)}:i,this.setRenderOrder(null)}getBlur(){return this.get(HT)}getGradient(){return this.get(XT)}getRadius(){return this.get(WT)}handleGradientChanged_(){this.gradient_=function(t){const e=1,i=256,n=bl(e,i),r=n.createLinearGradient(0,0,e,i),s=1/(t.length-1);for(let e=0,i=t.length;e{const e=this.weightFunction_(t);return void 0!==e?dt(e,0,1):1}}],uniforms:{u_size:()=>2*(this.get(WT)+this.get(HT)),u_blurSlope:()=>this.get(WT)/Math.max(1,this.get(HT))},hitDetectionEnabled:!0,vertexShader:t.getSymbolVertexShader(),fragmentShader:t.getSymbolFragmentShader(),postProcesses:[{fragmentShader:"\n precision mediump float;\n\n uniform sampler2D u_image;\n uniform sampler2D u_gradientTexture;\n uniform float u_opacity;\n\n varying vec2 v_texCoord;\n\n void main() {\n vec4 color = texture2D(u_image, v_texCoord);\n gl_FragColor.a = color.a * u_opacity;\n gl_FragColor.rgb = texture2D(u_gradientTexture, vec2(0.5, color.a)).rgb;\n gl_FragColor.rgb *= gl_FragColor.a;\n }",uniforms:{u_gradientTexture:()=>this.gradient_,u_opacity:()=>this.getOpacity()}}]})}renderDeclutter(){}};const ZT=class extends JT{constructor(t={}){super(t);const e=t.weight?t.weight:"weight";let i;if("string"==typeof e){let n=1;const r=this.getWeights(t);r.length>0?(n=r.reduce(((t,e)=>Math.max(t,e))),this.maxWeight_=n,this.minWeight_=r.reduce(((t,e)=>Math.min(t,e))),i=t=>{let i;return t instanceof _d?i=t.get(e):t instanceof DL&&(i=t.getAttribute(e)),parseFloat(i/n)}):dI(`La capa de nombre ${t.name} no tiene ninguna feature
    \n con el atributo especificado en simbología establecida.\n
    Se setea una ponderación por defecto`,"Mapa de calor")}else i=e;this.setStyle(((t,e)=>{const n=um.getValue(i,t),r=void 0!==n?dt(n,0,1):1,s=255*r||0;let o=this.styleCache_[s];return o||(o=[new Nm({image:new Hf({opacity:r,src:this.circleImage_})})],this.styleCache_[s]=o),o}))}getMinWeight(){return this.minWeight_}getMaxWeight(){return this.maxWeight_}getWeights(t){let e=[];const i=this.getSource();if(null!==i){const n=i.getFeatures();n.length>0&&(e=n.map((e=>e.get(t.weight))).filter((t=>null!=t)))}return e}};const $T=class{constructor(t={}){this.attributeName_=t.attribute||null,this.label_=t.label||null,this.fillColor_=t.fill||null,this.legend_=t.legend||null}get attribute(){return this.attributeName_}set attribute(t){this.attributeName_=t}get label(){return this.label_}set label(t){this.label_=t}get fillColor(){return this.fillColor_}set fillColor(t){this.fillColor_=t}get legend(){return this.legend_}set legend(t){this.legend_=t}},tR={DONUT:"donut",PIE_3D:"pie3D",PIE:"pie",BAR:"bar"},eR={Custom:"m.style.chart.types.custom_scheme",Classic:["#ffa500","blue","red","green","cyan","magenta","yellow","#0f0"],Dark:["#960","#003","#900","#060","#099","#909","#990","#090"],Pale:["#fd0","#369","#f64","#3b7","#880","#b5d","#666"],Pastel:["#fb4","#79c","#f66","#7d7","#acc","#fdd","#ff9","#b9b"],Neon:["#ff0","#0ff","#0f0","#f0f","#f00","#00f"]};class iR extends Zm{constructor(t={}){const e=t,i=e.variables||null;if(Object.values(tR).includes(e.type)||(e.type=iR.DEFAULT.type),qB(i)||(e.variables=i instanceof Array?i.filter((t=>null!=t)).map((t=>iR.formatVariable(t))):"string"==typeof i||"object"==typeof i?[iR.formatVariable(i)]:[]),qB(e.scheme))e.scheme=iR.DEFAULT.scheme;else if("string"==typeof e.scheme){const t=e.variables.some((t=>null!=t.fillColor));e.scheme===eR.Custom&&t?e.scheme=e.variables.map((t=>t.fillColor?t.fillColor:"")):e.scheme=eR[e.scheme]||iR.DEFAULT.scheme}else e.scheme instanceof Array&&e.scheme.every((t=>"string"==typeof t))||(e.scheme=iR.DEFAULT.scheme);super(e,new lR(e))}static formatVariable(t){if(null==t)return null;let e={};return t instanceof $T?t:(e="string"==typeof t?{attribute:t}:t,new $T(e))}updateCanvas(){qB(this.getImpl())&&qB(this.canvas_)||this.getImpl().updateCanvas(this.canvas_)}apply(t){this.layer_=t,t.getFeatures().forEach((t=>t.setStyle(this.clone()))),this.updateCanvas()}get ORDER(){return 1}toJSON(){const t=this.getOptions();return{parameters:[{type:t.type,radius:t.radius,donutRadio:t.donutRadio,offsetX:t.offsetX,offsetY:t.offsetY,stroke:qB(t.stroke)?void 0:_L({},t.stroke),fill3DColor:t.fill3DColor,scheme:UB(t.scheme)?[...t.scheme]:t.scheme,label:qB(t.label)?void 0:_L({},t.label),rotateWithView:t.rotateWithView,variables:t.variables.map((t=>{let e;return qB(t.label)||(e=_L({},t.label),e=CL(e)),{attribute:t.attribute,legend:t.legend,fill:t.fillColor,label:e}}))}],deserializedMethod:"M.style.Chart.deserialize"}}static deserialize([t]){const e=t;e.variables=t.variables.map((t=>new $T(vL(t))));return new Function(["options"],"return new M.style.Chart(options)")(e)}}iR.DEFAULT={shadow3dColor:"#369",type:tR.PIE,scheme:eR.Classic,radius:20,donutRatio:.5,offsetX:0,offsetY:0,animationStep:1};const nR=iR;class rR extends am{constructor(t={}){const e=qB(t.stroke)?0:t.stroke.getWidth();super({radius:("number"==typeof t.radius?t.radius:0)+e,fill:new wm({color:[0,0,0]}),rotation:"number"==typeof t.rotation?t.rotation:0,snapToPixel:"boolean"==typeof t.snapToPixel&&t.snapToPixel}),t.scale&&this.setScale(t.scale),this.variables_=t.variables||[],this.stroke_=t.stroke||null,this.radius_=t.radius||0,this.donutRatio_=t.donutRatio||0,this.type_=t.type||null,this.offset_=[t.offsetX?t.offsetX:0,t.offsetY?t.offsetY:0],this.animation_={animate:"number"==typeof t.animation,step:"number"==typeof t.animation?t.animation:nR.DEFAULT.animationStep},this.data_=t.data||null,this.colors_=t.scheme instanceof Array?t.scheme:[],this.fill3DColor_=t.fill3DColor||"#000",this.rotateWithView_=t.rotateWithView||!1,this.renderChart_()}clone(){const t=new rR({type:this.type_,radius:this.radius_,colors:this.colors_,rotation:this.getRotation(),scale:this.getScale(),donutRatio:this.donutRatio_,data:this.data_,stroke:this.stroke_,scheme:this.colors_,offsetX:this.offset_[0],offsetY:this.offset_[1],animation:this.animation_,fill3DColor:this.fill3DColor_,rotateWithView:this.rotateWithView_});return t.setScale(this.getScale()),t.setOpacity(this.getOpacity()),t}get data(){return this.data_}set data(t){this.data_=t,this.renderChart_()}get radius(){return this.radius_}set radius(t){this.radius_=t,this.renderChart_()}setRadius(t,e){this.donutRatio_=e||this.donutRatio_,this.radius=t}setAnimation(t){if(!1===t){if(!1===this.animation_.animate)return;this.animation_.animate=!1}else{if(this.animation_.step===t)return;this.animation_.animate=!0,this.animation_.step=t}this.renderChart_()}getChecksum(){let t;const e=null!==this.stroke_?this.stroke_.getChecksum():"-";if(null===this.checksums_||e!==this.checksums_[1]||t!==this.checksums_[2]||this.radius_!==this.checksums_[3]||this.data_.join("|")!==this.checksums_[4]){const i=`c${e}undefined${this.radius_?this.radius_.toString():"-"}${this.data_.join("|")}`;this.checksums_=[i,e,t,this.radius_,this.data_.join("|")]}return this.checksums_[0]}renderChart_(t){switch(this.type_){case tR.DONUT:case tR.PIE_3D:case tR.PIE:this.renderCircleChart();break;default:this.renderBarChart()}}renderBarChart(){const t=this.getImage(1),e=t.getContext("2d");let i,n=0;const r=this.animation_.animate?this.animation_.step:1;this.stroke_&&(i=bo(this.stroke_.getColor()),n=this.stroke_.getWidth());const s=Math.max.apply(null,this.data_)||0,o=Math.min(5,2*this.radius_/this.data_.length),a=t.width-(n||0);let l;const h=t.width/2;let c=h-this.data_.length*o/2;i&&(e.strokeStyle=i,e.lineWidth=n),this.data_.sort(((t,e)=>t-e)).forEach(((t,n)=>{e.beginPath(),e.fillStyle=this.colors_[n%this.colors_.length],l=c+o;const h=t/s*2*this.radius_*r;e.rect(c,a-h,o,h),e.closePath(),e.fill(),i&&e.stroke(),c=l}));const u=this.getAnchor();u[0]=h-this.offset_[0],u[1]=h-this.offset_[1]}renderCircleChart(){let t,e=0;this.stroke_&&(t=bo(this.stroke_.getColor()),e=this.stroke_.getWidth());const i=this.getImage(1),n=i.getContext("2d");n.clearRect(0,0,i.width,i.height),n.lineJoin="round";let r=0;!qB(this.data_)&&this.data_.length>0&&(r=this.data_.reduce(((t,e)=>t+e))),n.setTransform(1,0,0,1,0,0),n.translate(0,0);const s=this.animation_.animate?this.animation_.step:1,o=Math.PI*(s-1.5),a=i.width/2;t&&(n.strokeStyle=t,n.lineWidth=e),n.save(),this.type_===tR.PIE_3D?this.drawPie3D(n,o,a,s,t,r):this.type_===tR.DONUT?this.drawDonut(n,o,a,s,t,e,r):this.drawPie(n,o,a,s,t,r),n.restore();const l=this.getAnchor();l[0]=a-this.offset_[0],l[1]=a-this.offset_[1]}drawDonut(t,e,i,n,r,s,o){const a=t;a.save(),a.beginPath(),a.rect(0,0,2*i,2*i),a.arc(i,i,this.radius_*n*this.donutRatio_,0,2*Math.PI),a.clip("evenodd");const l=this.drawPie(a,e,i,n,r,o);a.restore(),a.beginPath(),a.strokeStyle=r,a.lineWidth=s;const h=this.radius_;a.arc(i,i,h*n*this.donutRatio_,Math.PI*(n-1.5),l),r&&a.stroke()}drawPie3D(t,e,i,n,r,s){const o=t;o.translate(0,.3*i),o.scale(1,.7),o.beginPath(),o.fillStyle=this.fill3DColor_,o.arc(i,1.4*i,this.radius_*n,0,2*Math.PI),o.fill(),r&&o.stroke(),this.drawPie(t,e,i,n,r,s)}drawPie(t,e,i,n,r,s){let o,a=e;const l=t;return this.data_.forEach(((t,e)=>{l.beginPath(),l.moveTo(i,i),l.fillStyle=this.colors_[e%this.colors_.length],o=a+2*Math.PI*t/(s*n),l.arc(i,i,this.radius_*n,a,o),l.closePath(),l.fill(),r&&l.stroke(),a=o})),a}}const sR=class extends cm{},oR=(t,e,i,n)=>{let r;return r="function"==typeof t.text?t.text(n,i.data,e):`${um.getValue(t.text,e)}`||"",r="0"===r?"":r,r};class aR extends sR{constructor(t={}){((t,...e)=>{const i=t;if(null==i)throw new TypeError("Cannot convert undefined or null to object");const n=Object(i);e.filter((t=>null!=t)).forEach((t=>Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(t,e)&&!Object.prototype.hasOwnProperty.call(i,e)&&(i[e]=t[e])}))))})(t,nR.DEFAULT),super(t),this.variables_=t.variables||[],this.colorsScheme_=t.scheme||[]}updateCanvas(t){if(!qB(t)){const e=t.getContext("2d");this.drawGeometryToCanvas(e)}}drawGeometryToCanvas(t){const e=t;if(!qB(e)&&!qB(e.canvas)){const t=aR.CANVAS_PROPS.fixedProps,i=aR.CANVAS_PROPS.width;e.canvas.setAttribute("width",i),e.width=i;const n=[],r={};Object.keys(aR.CANVAS_PROPS.percentages).forEach((t=>{r[t]=i*(aR.CANVAS_PROPS.percentages[t]/100)}));let[s,o]=[r.left_right_content,t.top_content];const a=(i,r,s,o,a)=>{const l=s.split(" ");let h="";const c=r[0];let u=r[1];return n.push((t=>{const e=t.context;e.font=`${t.fontSize}px ${t.fontFamily}`,e.strokeStyle=t.strokeColor,e.strokeWidth=t.strokeWidth,e.fillStyle=t.textColor}).bind(this,{context:e,fontSize:t.font_size,fontFamily:t.font_family,strokeColor:t.text_stroke_color,strokeWidth:t.text_stroke_width,textColor:t.text_color})),l.forEach(((t,i)=>{e.measureText(`${h+t}`).width>o&&i>0?(n.push(((t,e,i,n)=>{t.strokeText(e,i,n),t.fillText(e,i,n)}).bind(this,e,h,c,u)),h=`${t} `,u+=a):h=`${h+t} `})),n.push(((t,e,i,n)=>{t.strokeText(e,i,n),t.fillText(e,i,n)}).bind(this,e,h,c,u)),[c,u]},l=(i,s,o)=>{let[l,h]=i;h+=t.item_top_margin,n.push((t=>{const e=t.context;e.beginPath(),e.strokeStyle=t.strokeColor,e.lineWidth=t.width,e.fillStyle=t.color,e.rect(t.x,t.y,t.rectSize,t.rectSize),e.closePath(),e.stroke(),e.fill()}).bind(this,{context:e,strokeColor:"#000",width:t.rect_border_width,color:o,x:l,y:h,rectSize:t.rect_size})),l+=r.item_side_margin+t.rect_size,h+=t.rect_size/1.5;const c=h+t.item_top_margin,u=r.max_text_width,g=r.max_text_line_height,d=a(e,[l,h],s,u,g);return[d[0],d[1]>c?d[1]:c]};this.variables_.forEach(((t,e)=>{const i=qB(t.legend)?t.attribute:t.legend,n=qB(t.fillColor)?this.colorsScheme_[e%this.colorsScheme_.length]||this.colorsScheme_[0]:t.fillColor;[s,o]=l([s,o],i,n),s=r.left_right_content})),o+=t.top_content,e.canvas.setAttribute("height",o),e.save(),n.forEach((t=>t())),e.restore()}}updateFacadeOptions(t){const i=t;i.rotateWithView=!1,this.olStyleFn_=(t,r)=>{let s=t;s instanceof _d||(s=this);const o=this.formatDataRecursively_(i,s);let a=[];if(this.variables_.forEach((t=>{let e=s.get(t.attribute);e=parseFloat(e),a=a.concat(e instanceof Array?e:[e]).filter((t=>null!=t))})),0===a.length)throw new Error("cannot draw an empty data chart");o.data=a,qB(i.stroke)||(o.stroke=new bm(i.stroke));let l=[new Dy({geometry:t=>{const e=qd.getCentroid(t.getGeometry());return new qa(e)},image:new rR(o)})];return"bar"!==o.type?1!==i.variables.length&&i.variables.length!==a.length||(l=l.concat(((t,e,i)=>{let n=0;const r=e.data.reduce(((t,e)=>t+e)),s=e.variables,o=e.data,a=t.concat(e.data.map(((t,a)=>{const l=s.length===o.length?s[a]:s[0],h=l.label||{},c=h.radius?h.radius:e.radius,u=(2*n+t)/r*Math.PI-Math.PI/2;if(n+=t,!l.label)return null;const g="number"==typeof h.radiusIncrement?h.radiusIncrement:3;let d="function"==typeof h.textAlign?h.textAlign(u):null;qB(d)&&(d=h.textAlign||(unull!=t))})(l,o,s))):"bar"===o.type&&(l=l.concat(((t,e,i)=>{let n=0,r=null;const s=e.variables,o=e.data,a=t.concat(e.data.map(((a,l)=>{const h=s.length===o.length?s[l]:s[0],c=h.label||{};if(!h.label)return null;const u=oR(c,i,e,a),g=um.getValue(c.font,i);qB(r)?r=t[0].getImage().getImage().height/2-6:r-=15,n=n+9+6;const d=-t[0].getImage().getImage().width/2-(1+e.offsetX)||0;return new Dy({text:new Fm({text:"string"==typeof u?`${u}`:"",offsetY:r+e.offsetY||0,offsetX:d,textBaseline:"middle",rotateWithView:!1,textAlign:"center",stroke:c.stroke?new bm({}):void 0,font:`9px ${g}`,scale:"number"==typeof c.scale?um.getValue(c.scale,i):void 0,fill:new wm({color:e.scheme[l%e.scheme.length]})})})}))),l=a.filter((t=>null!=t));n=Math.max(n,1);const h=-t[0].getImage().getImage().width/2+10+e.offsetX,c=t[0].getImage().getImage().height/2+e.offsetY,u=new Hf({anchor:[h,c],anchorOrigin:"bottom-right",offsetOrigin:"bottom-left",anchorXUnits:"pixels",anchorYUnits:"pixels",rotateWithView:!1,src:`data:image/svg+xml;base64,${window.btoa(``)}`,size:[a[0].getImage().getImage().width/2,n]});return l.push(new Nm({image:u})),l})(l,o,s))),((t,i,r)=>{if(!qB(t.label)){const s=new Nm,o=um.getValue(t.label.text,r),a=um.getValue(t.label.align,r),l=um.getValue(t.label.baseline,r),h=t.label.offset?t.label.offset[0]:void 0,c=t.label.offset?t.label.offset[1]:void 0,u=new wm({color:um.getValue(t.label.color||"#000000",r)}),g=new Fm({font:um.getValue(t.label.font,r),rotateWithView:um.getValue(t.label.rotate,r),scale:um.getValue(t.label.scale,r),offsetX:um.getValue(h,r),offsetY:um.getValue(c,r),fill:u,textAlign:Object.values(e).includes(a)?a:"center",textBaseline:Object.values(n).includes(l)?l:"top",text:void 0===o?void 0:String(o),rotation:um.getValue(t.label.rotation,r)});qB(t.label.stroke)||g.setStroke(new bm({color:um.getValue(t.label.stroke.color,r),width:um.getValue(t.label.stroke.width,r),lineCap:um.getValue(t.label.stroke.linecap,r),lineJoin:um.getValue(t.label.stroke.linejoin,r),lineDash:um.getValue(t.label.stroke.linedash,r),lineDashOffset:um.getValue(t.label.stroke.linedashoffset,r),miterLimit:um.getValue(t.label.stroke.miterlimit,r)})),s.setText(g),i.push(s)}})(o,l,s),l}}applyToLayer(t){t.getFeatures().forEach(this.applyToFeature,this)}applyToFeature(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}formatDataRecursively_(t,e){return Object.keys(t).reduce(((i,n,r)=>{let s=i;return"object"!=typeof i&&(s={},"object"!=typeof t[i]&&this.setVal(s,t,i,e)),this.setVal(s,t,n),s}))}setVal(t,e,i,n){const r=t;r[i]=um.getValue(e[i],n),!zB(e[i])||e[i]instanceof Array||(r[i]=this.formatDataRecursively_(e[i],n))}}aR.CANVAS_PROPS={width:200,percentages:{left_right_content:5,item_side_margin:5,max_text_width:70},fixedProps:{rect_border_width:2,font_size:10,font_family:"sans-serif",text_stroke_color:"#fff",text_stroke_width:1,text_color:"#000",top_content:10,item_top_margin:10,text_line_height:15,rect_size:15}};const lR=aR;const hR=class extends cm{constructor(t,e,i){super({}),this.heatmapLayer_=null,this.attribute_=t,this.opt_options_=_L(e,i),this.opt_options_.zIndex=999999,this.oldOLLayer_=null}applyToLayer(t){if(this.layer_=t,!qB(t)){const t=this.layer_.getImpl().getOLLayer();t instanceof JT||(this.oldOLLayer_=t);const e=this.layer_.getFeatures().map((t=>t.getImpl().getOLFeature()));e.forEach((t=>t.setStyle(null))),this.createHeatmapLayer_(e),this.layer_.getImpl().setOLLayer(this.heatmapLayer_)}}unapply(t){qB(this.oldOLLayer_)||(this.layer_.getImpl().setOLLayer(this.oldOLLayer_),this.layer_.redraw(),this.layer_=null,this.oldOLLayer_=null,this.heatmapLayer_=null)}createHeatmapLayer_(t){this.opt_options_.source=new kf({features:t}),this.opt_options_.name=this.layer_.name,this.heatmapLayer_=new ZT(this.opt_options_)}setOptions(t,e){this.opt_options_=_L(t,e)}getMinWeight(){return this.heatmapLayer_.getMinWeight()}getMaxWeight(){return this.heatmapLayer_.getMaxWeight()}};const cR=class extends Hf{getImageSize(){return this.iconImage_.getSize()}};class uR extends $m{constructor(t){let e=t;qB(e)&&(e=uR.DEFAULT_NULL),e=_L({},e);super(e,new mR(e))}unapply(t){this.getImpl().unapply(t)}getDeserializedMethod_(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Line'))"}}uR.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};const gR=uR;class dR{static render(t,e){let i=t;const n=this;let r=0,s=0,o=2;const a=(t,e,i,n)=>{const[r,s]=[i-t,n-e];return Math.sqrt(r*r+s*s)},l=(t,e)=>{if(!r||s+re))&&(o+=2,!(o>=t.length));)s+=r;const i=e-s;o>=t.length&&(o=t.length-2);return[i?t[o-2]+(t[o]-t[o-2])*i/r:t[o-2],i?t[o-1]+(t[o+1]-t[o-1])*i/r:t[o-1],Math.atan2(t[o+1]-t[o-1],t[o]-t[o-2])]};let h=.25*n.measureText(" ").width,c=0,u=0;for(let t=2;t{n.push(t[0]*e[0]+t[1]*e[1]+t[4]),n.push(t[2]*e[0]+t[3]*e[1]+t[5])})),i&&n[0]>n[n.length-2]){const t=[];for(let e=n.length-2;e>=0;e-=2)t.push(n[e]),t.push(n[e+1]);return t}return n}static formatStyle(t){let e=t;if(null==e)return null;let i=null;return void 0===e&&(e=[new Nm({text:new Fm})]),i="function"==typeof e?e:()=>[e],i}static draw(t,e,i,n){const r=this.getPath_(e,n,i.getRotateWithView());t.font=i.getFont(),t.textBaseline=i.getTextBaseline(),t.textAlign=i.getTextAlign(),t.lineWidth=i.getStroke()&&i.getStroke().getWidth()||dR.DEFAULT.lineWidth,t.strokeStyle=i.getStroke()&&i.getStroke().getColor()||dR.DEFAULT.lineColor,t.fillStyle=i.getFill()&&i.getFill().getColor()||dR.DEFAULT.fillColor,t.textJustify="justify"===i.getTextAlign(),t.textOverflow=i.getTextOverflow?i.getTextOverflow():dR.DEFAULT.textOverflow,t.minWidth=i.getMinWidth?i.getMinWidth():dR.DEFAULT.minWidth,"function"==typeof t.textPath&&t.textPath(i.getText(),r),t.restore()}}dR.DEFAULT={lineWidth:0,lineColor:"#fff",fillColor:"#000",textOverflow:"",minWidth:0};const AR=function(t=null){if(QB(window.CanvasRenderingContext2D.prototype.textPath)&&(window.CanvasRenderingContext2D.prototype.textPath=dR.render),t.frameState.viewState.resolution>this.textPathMaxResolution_)return;const e=t.frameState.extent,i=t.context;i.save(),i.scale(t.frameState.pixelRatio,t.frameState.pixelRatio);null!=this.getSource()&&0===this.getSource().getFeatures().length||(this.getSource().getFeaturesInExtent(e).forEach((e=>{const n=null!=e.getStyle()?e.getStyle():this.getStyle();let r="function"==typeof n?n(e,t.frameState.viewState.resolution):n;r instanceof Array||(r=[r]),r.forEach((n=>{let r,s=(n instanceof gR?n.getOptions().geometry:n.getGeometry())||e.getGeometry();if("function"==typeof s&&(s=s(e)),"MultiLineString"===s.getType())r=s.getLineString(0).getCoordinates();else r=s.getCoordinates();const o=n instanceof gR?n.getOptions().text:n.textPath;null!=o&&o instanceof Dm&&dR.draw(i,t.frameState.coordinateToPixelTransform,o,r)}))})),i.restore())};_a.prototype.cspline=function(t){let e;return this.calcCSpline?this.csplineGeometryRevision===this.getRevision()&&this.csplineOption===JSON.stringify(t)||(this.csplineGeometry_=this.calcCSpline(t),this.csplineGeometryRevision=this.getRevision(),this.csplineOption=JSON.stringify(t),e=this.csplineGeometry_):e=this,e},Od.prototype.calcCSpline=function(t){const e=[];this.getGeometries().forEach((t=>e.push(t.cspline())));return new Od(e)},bd.prototype.calcCSpline=function(t){const e=[];this.getLineStrings().forEach((t=>e.push(t.cspline().getCoordinates())));return new bd(e)},sl.prototype.calcCSpline=function(t){const e=[];this.getLineStrings().forEach((t=>e.push(t.cspline().getCoordinates())));return new sl(e)},Md.prototype.calcCSpline=function(t){const e=[];this.getLineStrings().forEach((t=>e.push(t.cspline().getCoordinates())));return new Md(e)};const pR=(t,e,i,n)=>{const r=i-t,s=n-e;return Math.sqrt(r*r+s*s)};wd.prototype.calcCSpline=function(t={}){const e=this.getCoordinates(),i="number"==typeof t.tension?t.tension:.5,n=t.resolution||this.getLength()/e.length/(t.pointsPerSeg||10),r=[];let s,o,a,l,h,c,u,g,d,A,p,f,m;const _=e.slice(0);for(e.length>2&&e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]?(_.unshift(e[e.length-2]),_.push(e[1])):(_.unshift(e[0]),_.push(e[e.length-1])),m=1;m<_.length-2;m+=1){const e=pR(_[m][0],_[m][1],_[m+1][0],_[m+1][1]),y=Math.round(e/n);let I=1;if(t.normalize){const t=pR(_[m+1][0],_[m+1][1],_[m-1][0],_[m-1][1]),e=pR(_[m+2][0],_[m+2][1],_[m][0],_[m][1]);I=t{let i=e;i instanceof _d||i instanceof Pd||(i=this);const n=t.stroke,r=t.label,s=new Dy,o=new Dy,l=um.getValue;if(qB(n)||s.setStroke(new bm({color:l(n.color,i),width:l(n.width,i),lineDash:l(n.linedash,i),lineDashOffset:l(n.linedashoffset,i),lineCap:l(n.linecap,i),lineJoin:l(n.linejoin,i),miterLimit:l(n.miterlimit,i)})),!qB(r)){const e={text:void 0===l(r.text,i)?void 0:String(l(r.text,i)),font:l(r.font,i),fill:new wm({color:l(r.color||"#000000",i)}),textBaseline:(l(r.baseline,i)||"").toLowerCase(),textAlign:l(r.align,i),scale:l(r.scale,i),rotateWithView:l(r.rotate,i)||!1,textOverflow:l(r.textoverflow,i)||"",minWidth:l(r.minwidth,i)||0,geometry:l(r.geometry,i),offsetX:l(t.label.offset?t.label.offset[0]:void 0,i),offsetY:l(t.label.offset?t.label.offset[1]:void 0,i)},n=new Dm(e);qB(r.stroke)||n.setStroke(new bm({color:l(r.stroke.color,i),width:l(r.stroke.width,i),lineCap:l(r.stroke.linecap,i),lineJoin:l(r.stroke.linejoin,i),lineDash:l(r.stroke.linedash,i),lineDashOffset:l(r.stroke.linedashoffset,i),miterLimit:l(r.stroke.miterlimit,i)}));const o=l(r.path,i);"boolean"==typeof o&&o?(s.textPath=n,!qB(r.smooth)&&!0===r.smooth&&VB(i.getGeometry)&&s.setGeometry(i.getGeometry().cspline())):s.setText(n)}let h;if(!qB(t.fill)){const e=um.getValue(t.fill.color,i,this.layer_);let n=um.getValue(t.fill.opacity,i,this.layer_);n||0===n||(n=1);const r=um.getValue(t.fill.width,i,this.layer_);qB(e)||(h=new bm({color:a()(e).alpha(n).css(),width:r}))}return o.setStroke(h),[s,o]}}applyToLayer(t){super.applyToLayer(t);const e=t.getImpl().getOLLayer();qB(e)||(this.postComposeEvtKey_=e.on("postcompose",AR,e))}unapply(){zs(this.postComposeEvtKey_)}drawGeometryToCanvas(t,e,i,n){let r=fR.getCanvasSize()[0],s=fR.getCanvasSize()[1];if(t.drawGeometry(new wd([[0+n/2,0+n/2],[r/3,s/2-n/2],[2*r/3,0+n/2],[r-n/2,s/2-n/2]])),!qB(i)){const t=i.width,n=e.getContext("2d");n.lineWidth=i.width,r=e.width,s=e.height,n.strokeStyle=i.color,n.beginPath(),n.lineTo(0+t,0+t),n.lineTo(r/3,s/2-t),n.lineTo(2*r/3,0+t),n.lineTo(r-t,s/2-t),n.stroke()}}updateCanvas(t){this.updateFacadeOptions(this.options_);const e=fR.getCanvasSize(),i=rm(t.getContext("2d"),{size:e});let n;const r=this.olStyleFn_()[1];qB(r)||qB(r.getStroke())||(n={color:r.getStroke().getColor(),width:1});const s=this.olStyleFn_()[0];qB(s.getText())||s.setText(null);const o=s.getStroke();let a;qB(o)||(qB(o.getWidth())?a=1:(a=o.getWidth(),o.getWidth()>fR.DEFAULT_WIDTH_LINE&&(a=fR.DEFAULT_WIDTH_LINE)),n={color:s.getStroke().getColor(),width:a},s.getStroke().setWidth(a),i.setStyle(s)),this.drawGeometryToCanvas(i,t,n,a)}static getCanvasSize(){return[25,15]}}fR.DEFAULT_WIDTH_LINE=3;const mR=fR;class _R extends um{constructor(t){super(t),this.olStyleFn_=this.updateFacadeOptions(t)}updateFacadeOptions(t){return i=>{let r=i;r instanceof _d||i instanceof Pd||(r=this);const s=new Dy;if(qB(t.stroke)||s.setStroke(new bm({color:um.getValue(t.stroke.color,r,this.layer_),width:um.getValue(t.stroke.width,r,this.layer_),lineDash:um.getValue(t.stroke.linedash,r,this.layer_),lineDashOffset:um.getValue(t.stroke.linedashoffset,r,this.layer_),lineCap:um.getValue(t.stroke.linecap,r,this.layer_),lineJoin:um.getValue(t.stroke.linejoin,r,this.layer_),miterLimit:um.getValue(t.stroke.miterlimit,r,this.layer_)})),!qB(t.label)){const i=um.getValue(t.label.text,r,this.layer_),o=um.getValue(t.label.align,r,this.layer_),a=um.getValue(t.label.baseline,r,this.layer_),l=!!qB(t.label.overflow,this.layer_)||t.label.overflow;s.setText(new Fm({font:um.getValue(t.label.font,r,this.layer_),rotateWithView:um.getValue(t.label.rotate,r,this.layer_),scale:um.getValue(t.label.scale,r,this.layer_),offsetX:um.getValue(t.label.offset?t.label.offset[0]:void 0,r,this.layer_),offsetY:um.getValue(t.label.ofsset?t.label.offset[1]:void 0,r,this.layer_),fill:new wm({color:um.getValue(t.label.color||"#000000",r,this.layer_)}),textAlign:Object.values(e).includes(o)?o:"center",textBaseline:Object.values(n).includes(a)?a:"top",text:void 0===i?void 0:String(i),rotation:um.getValue(t.label.rotation,r,this.layer_),overflow:um.getValue(l,r,this.layer_)})),qB(t.label.stroke)||s.getText().setStroke(new bm({color:um.getValue(t.label.stroke.color,r,this.layer_),width:um.getValue(t.label.stroke.width,r,this.layer_),lineCap:um.getValue(t.label.stroke.linecap,r,this.layer_),lineJoin:um.getValue(t.label.stroke.linejoin,r,this.layer_),lineDash:um.getValue(t.label.stroke.linedash,r,this.layer_),lineDashOffset:um.getValue(t.label.stroke.linedashoffset,r,this.layer_),miterLimit:um.getValue(t.label.stroke.miterlimit,r,this.layer_)}))}if(!qB(t.fill)){const e=um.getValue(t.fill.color,r,this.layer_);let i,n=um.getValue(t.fill.opacity,r,this.layer_);if(n||0===n||(n=1),qB(e)||(i=new wm({color:a()(e).alpha(n).css()})),qB(t.fill.pattern))s.setFill(i);else{let e="rgba(0,0,0,1)";if(!qB(t.fill.pattern.color)){let i=um.getValue(t.fill.pattern.opacity,r,this.layer_)||1;i||0===i||(i=1),e=a()(t.fill.pattern.color).alpha(i).css()}s.setFill(new km({pattern:(um.getValue(t.fill.pattern.name,r,this.layer_)||"").toLowerCase(),color:e,size:um.getValue(t.fill.pattern.size,r,this.layer_),spacing:um.getValue(t.fill.pattern.spacing,r,this.layer_),image:"IMAGE"===um.getValue(t.fill.pattern.name,r,this.layer_)?new Hf({src:um.getValue(t.fill.pattern.src,r,this.layer_)}):void 0,angle:um.getValue(t.fill.pattern.rotation,r,this.layer_),scale:um.getValue(t.fill.pattern.scale,r,this.layer_),offset:um.getValue(t.fill.pattern.offset,r,this.layer_),fill:i}))}}return[s]}}updateCanvas(t){this.updateFacadeOptions(this.options_);const e=_R.getCanvasSize(),i=rm(t.getContext("2d"),{size:e}),n=this.olStyleFn_()[0];qB(n.getText())||n.setText(null);const r=n.getStroke();qB(r)||qB(r.getWidth())||r.getWidth()>_R.DEFAULT_WIDTH_POLYGON&&n.getStroke().setWidth(_R.DEFAULT_WIDTH_POLYGON),i.setStyle(n),this.drawGeometryToCanvas(i)}drawGeometryToCanvas(t){const e=_R.getCanvasSize(),i=Math.floor(e[0]),n=Math.floor(e[1]),r=e[0]-i,s=e[1]-n;t.drawGeometry(new sl([[[r+3,s+3],[i-3,s+3],[i-3,n-3],[r+3,n-3],[r+3,s+3]]]))}static getCanvasSize(){return[25,15]}}_R.DEFAULT_WIDTH_POLYGON=3;const yR=_R,IR=(t,e)=>{let[i,n]=[void 0,void 0];const r=t.filter((t=>![NaN,void 0,null].includes(t.getAttribute(e)))).map((t=>parseInt(t.getAttribute(e),10)));let s=1;if(!qB(r))for(i=r[0],n=r[0];s(t-e)*(r-n)/(i-e)+n;class CR extends Uy{constructor(t,e,i,n,r,s={}){super(s,{}),qB(t)&&Oc(Cu("exception").no_attr_name),this.attributeName_=t,this.minRadius_=parseInt(e,10)||5,this.maxRadius_=parseInt(i,10)||15,this.style_=n,this.proportionalFunction_=r||ER,this.maxRadius_this.applyToFeature(t,1)));const e=this.oldStyle_.clone();e instanceof $m&&(e.set("zindex",(t=>this.maxValue_-parseFloat(t.getAttribute(this.attributeName_)))),e.set(CR.getSizeAttribute(e),(t=>{const e=CR.SCALE_PROPORTION,i=t.getAttribute(this.attributeName_),n=[i,this.minValue_,this.maxValue_,this.minRadius_,this.maxRadius_];let r=this.proportionalFunction_(...n);if("icon.scale"===CR.getSizeAttribute(this.oldStyle_)){const t=this.minRadius_/e,n=this.maxRadius_/e,s=[i,this.minValue_,this.maxValue_,t,n];r=this.proportionalFunction_(...s)}return r})),this.updateCanvas())}}getAttributeName(){return this.attributeName_}setAttributeName(t){return this.attributeName_=t,this.update_(),this}getStyle(){return console.warn("Deprecated function: Use getStyles instead."),this.style_}setStyle(t){return this.style_=t,this.update_(),this}getMinRadius(){return this.minRadius_}setProportionalFunction(t){this.proportionalFunction_=t,this.update_()}getProportionalFunction(){return this.proportionalFunction_}setMinRadius(t){return this.minRadius_=parseInt(t,10),t>=this.maxRadius_&&Oc(Cu("exception").min_gt_max),this.update_(),this}getMaxRadius(){return this.maxRadius_}setMaxRadius(t){return this.maxRadius_=parseInt(t,10),t<=this.minRadius_&&Oc(Cu("exception").max_lt_min),this.update_(),this}updateCanvas(){this.updateCanvasPromise_=new Promise(((t,e)=>{if(!qB(this.layer_)){const e=this.styles_.filter((t=>t instanceof $m))[0];let i=qB(e)?this.layer_.getStyle():e;if(i=qB(i)?this.style_:i,i instanceof $m){let e=i.clone();e instanceof e_?e=new CI(e.getOptions().point):e instanceof CI||(e=new CI(e.getOptions()));const n=CR.getSizeAttribute(e),r=e.clone(),s=e.clone(),o=this.getMaxRadius(),a=this.getMinRadius();r.set(n,o),s.set(n,a),this.loadCanvasImage(o,r.toImage(),(e=>{this.loadCanvasImage(a,s.toImage(),(i=>{this.drawGeometryToCanvas(e,i,t)}))}))}else qB(i)||(this.canvas_=i.canvas,t())}}))}loadCanvasImage(t,e,i){const n=new Image;n.crossOrigin="Anonymous",n.onload=()=>{i({image:n,value:t})},n.onerror=()=>{i({value:t})},n.src=e}drawGeometryToCanvas(t,e,i){const n=t.image,r=e.image;this.canvas_.height=n.height+5+r.height+5;const s=this.canvas_.getContext("2d");s.textBaseline="middle";let o=0,a=0;if(qB(n)||(o=n.width+5,a=n.height/2,/^https?:\/\//i.test(n.src)?(this.canvas_.height=130,s.fillText(` max: ${this.maxValue_}`,85,40),s.drawImage(n,0,0,80,80)):(s.fillText(` max: ${this.maxValue_}`,o,a),s.drawImage(n,0,0))),!qB(r)){let t=0;qB(n)||(t=n.width/2-r.width/2);const e=n.height+5;a=e+r.height/2,/^https?:\/\//i.test(r.src)?(s.fillText(` min: ${this.minValue_}`,85,105),s.drawImage(r,20,85,40,40)):(s.fillText(` min: ${this.minValue_}`,o,a),s.drawImage(r,t,e))}i()}static getSizeAttribute(t){let e="radius";return qB(t.get("icon"))||(e=qB(t.get("icon.src"))?"icon.radius":"icon.scale"),e}calculateStyle_(t,e,i){const n=this.proportionalFunction_;let r=i;if(!qB(r)){r=r.clone();let[i,s]=[e.minRadius,e.maxRadius];qB(r.get("icon.src"))||(i=e.minRadius/CR.SCALE_PROPORTION,s=e.maxRadius/CR.SCALE_PROPORTION);const o=t.getAttribute(this.attributeName_);null==o&&console.warn(`Warning: ${this.attributeName_} value is null or empty.`);const a=n(o,e.minValue,e.maxValue,i,s),l=e.maxValue-parseFloat(t.getAttribute(this.attributeName_));r.set(`${CR.getSizeAttribute(r)}`,a),r.set("zindex",l)}return r}get ORDER(){return 3}toJSON(){const t=this.getAttributeName(),e=this.getMinRadius(),i=this.getMaxRadius(),n=this.getStyles().map((t=>t.serialize())),r=CL(this.getProportionalFunction());let s=_L({},this.getOptions());s=CL(s);return{parameters:[t,e,i,n,r,s],deserializedMethod:"M.style.Proportional.deserialize"}}static deserialize([t,e,i,n,r,s]){const o=t,a=e,l=i,h=vL(r),c=vL(s),u=new Function(["attributeName","minRadius","maxRadius","style","proportionalFunction","options"],"return new M.style.Proportional(attributeName,\n minRadius, maxRadius, style, proportionalFunction, options)")(o,a,l,void 0,h,c),g=n.map((t=>Jm.deserialize(t)));return u.add(g),u}}CR.SCALE_PROPORTION=20;const vR=CR;class xR extends $m{constructor(t={}){let e=t;super(e,new yR(e)),qB(e)&&(e=xR.DEFAULT_NULL),e=_L({},e)}getDeserializedMethod_(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Polygon'))"}}xR.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};const wR=xR,SR=t=>{const e=t.radius,i=a().random().hex(),n=t.strokeColor,r=t.strokeWidth;return new e_({point:{radius:e,fill:{color:i},stroke:{color:n,width:r}},line:{fill:{color:i},stroke:{color:n,width:r}},polygon:{fill:{color:i},stroke:{color:n,width:r}}})};class bR extends Uy{constructor(t,e,i={}){super(i,{}),qB(t)&&Oc(Cu("exception").no_attr_name),this.attributeName_=t,this.categoryStyles_=e}get ORDER(){return 2}applyInternal(t){this.layer_=t,this.update_()}getAttributeName(){return this.attributeName_}setAttributeName(t){return this.attributeName_=t,this.update_(),this.refresh(),this}getCategories(){return this.categoryStyles_}setCategories(t){return this.categoryStyles_=t,this.update_(),this.refresh(),this}getStyleForCategory(t){return this.categoryStyles_[t]}setStyleForCategory(t,e){return this.categoryStyles_[t]=e,this.update_(),this.refresh(),this}updateCanvas(){const t=[];this.updateCanvasPromise_=new Promise(((e,i)=>this.loadCanvasImages_(0,t,e)))}loadCanvasImages_(t,e,i){const n=this.getCategories(),r=Object.keys(n);if(t===r.length)this.drawGeometryToCanvas(e,i);else{const n=r[t],s=this.getStyleForCategory(n),o=new Image;o.crossOrigin="Anonymous",o.onload=()=>{e.push({image:o,categoryName:n}),this.loadCanvasImages_(t+1,e,i)},o.onerror=()=>{e.push({categoryName:n}),this.loadCanvasImages_(t+1,e,i)},s.updateCanvas(),s.get("icon.src")&&EL(s.get("icon.src")).then((t=>{o.width=s.get("icon.scale")?t.width*s.get("icon.scale"):t.width,o.height=s.get("icon.scale")?t.height*s.get("icon.scale"):t.height}));const a=s.toImage();a instanceof Promise?a.then((t=>{o.src=t})):o.src=a}}drawGeometryToCanvas(t,e){const i=t.map((t=>t.image.height)),n=t.map((t=>t.image.width)),r=this.canvas_.getContext("2d");r.canvas.height=i.reduce(((t,e)=>t+e+5)),r.textBaseline="middle";const s=Math.max.apply(n,n);t.forEach(((t,e)=>{const n=t.image,o=t.categoryName;let a=0;const l=i.slice(0,e);qB(l)||(a=l.reduce(((t,e)=>t+e+5)),a+=5);let h=0;if(!qB(n)){h=n.height;const t=(s-n.width)/2;r.drawImage(n,t,a,n.width,n.height)}r.fillText(o,s+5,a+h/2)})),e()}update_(){if(!qB(this.layer_)){(qB(this.categoryStyles_)||0===Object.keys(this.categoryStyles_).length)&&(this.categoryStyles_=this.generateRandomCategories_());const t=this.categoryStyles_.other;this.layer_.getFeatures().forEach((e=>{const i=e.getAttribute(this.attributeName_),n=this.categoryStyles_[i];qB(n)?qB(t)||e.setStyle(t):e.setStyle(n)})),this.updateCanvas()}}add(t){let e=t;return UB(e)||(e=[e]),e=e.filter((t=>t instanceof Vy||t instanceof vR)),super.add(e)}generateRandomCategories_(){const t={};return qB(this.layer_)||this.layer_.getFeatures().forEach((e=>{const i=e.getAttribute(this.attributeName_);Object.prototype.hasOwnProperty.call(t,i)||(t[i]=SR({radius:bR.RANDOM_RADIUS_OPTION,strokeColor:bR.RANDOM_STROKE_COLOR_OPTION,strokeWidth:bR.RANDOM_STROKE_WIDTH_OPTION}))})),t}toJSON(){const t=this.getAttributeName(),e=this.getCategories(),i={};Object.keys(e).forEach((t=>{i[t]=e[t].serialize()}));let n=_L({},this.getOptions());n=CL(n);const r=this.getStyles().map((t=>t.serialize()));return{parameters:[t,i,n,r],deserializedMethod:"M.style.Category.deserialize"}}static deserialize([t,e,i,n]){const r=t,s=e;Object.keys(e).forEach((t=>{s[t]=Jm.deserialize(e[t])}));const o=vL(i),a=new Function(["attributeName","categoryStyles","options"],"return new M.style.Category(attributeName, categoryStyles, options)")(r,s,o),l=n.map((t=>Jm.deserialize(t)));return a.add(l),a}}bR.RANDOM_RADIUS_OPTION=10,bR.RANDOM_STROKE_WIDTH_OPTION=1,bR.RANDOM_STROKE_COLOR_OPTION="black";const BR=bR,LR=t=>{const e=[];return t.forEach((t=>{-1===e.indexOf(t)&&e.push(t)})),e},MR=t=>{let e=t;e=e||5;const i=(t,i=e)=>{const n=LR(t),r=n.length<=i?n.length-1:i;t.sort(((t,e)=>t-e));const s=((t,e)=>{const i=[],n=[];let r=0;for(let r=0;r=r+n[h][t-1]&&(i[s][t]=u,n[s][t]=r+n[h][t-1])}i[s][1]=1,n[s][1]=r}return{lowerClassLimits:i,varianceCombinations:n}})(t,r),o=((t,e,i)=>{let n=t.length-1;const r=[];let s=i;for(r[i]=t[t.length-1],r[0]=t[0];s>1;)r[s-1]=t[e[n][s]-2],n=e[n][s]-1,s-=1;return r})(t,s.lowerClassLimits,r);return o.slice(1,o.length)};return Object.defineProperty(i,"name",{value:"jenks"}),i},TR=t=>{const e=t||5,i=(t,i=e)=>{const n=LR(t),r=n.length<=i?n.length-1:i,s=t.length;t.sort(((t,e)=>t-e));const o=Math.trunc(s/r),a=[];for(let e=0;enew kL((i=>null!=i.getAttribute(t)&&i.getAttribute(t)<=e),{cqlFilter:`${t} <= '${e}'`}),NR=t=>Math.round(100*t)/100;class PR extends Uy{constructor(t,e,i=MR(),n={}){super(n,{}),qB(t)&&Oc(Cu("exception").no_attr_name),this.attributeName_=t,this.choroplethStyles_=e,this.quantification_=i,this.dataValues_=[],this.breakPoints_=[]}applyInternal(t){this.layer_=t,this.update_()}getAttributeName(){return this.attributeName_}setAttributeName(t){return this.attributeName_=t,this.update_(),this.refresh(),this}getQuantification(){return this.quantification_}setQuantification(t){if(this.quantification_=t,!this.choroplethStyles_.some((t=>YB(t)))){if(this.choroplethStyles_.length0){const t=[];this.updateCanvasPromise_=new Promise(((e,i)=>this.loadCanvasImages_(0,t,e)))}}loadCanvasImages_(t,e,i){if(t===this.choroplethStyles_.length)this.drawGeometryToCanvas(e,i);else{let n=-1;t>0&&(n=this.breakPoints_[t-1]);const r=this.breakPoints_[t],s=new Image;s.crossOrigin="Anonymous",s.onload=()=>{e.push({image:s,startLimit:NR(n),endLimit:NR(r)}),this.loadCanvasImages_(t+1,e,i)},s.onerror=()=>{e.push({startLimit:NR(n),endLimit:NR(r)}),this.loadCanvasImages_(t+1,e,i)},this.choroplethStyles_[t].updateCanvas();const o=this.choroplethStyles_[t].toImage();YB(o)?s.src=o:o.then((t=>{s.src=t}))}}drawGeometryToCanvas(t,e){const i=t.map((t=>t.image.height)),n=t.map((t=>t.image.width)),r=this.canvas_.getContext("2d");r.canvas.height=i.reduce(((t,e)=>t+e+5)),r.textBaseline="middle";const s=Math.max.apply(n,n);t.forEach(((t,e)=>{const n=t.image,o=t.startLimit,a=t.endLimit;let l=0;const h=i.slice(0,e);qB(h)||(l=h.reduce(((t,e)=>t+e+5)),l+=5);let c=0;qB(n)||(c=n.height,r.drawImage(n,0,l)),o<0?r.fillText(` x <= ${a}`,s+5,l+c/2):r.fillText(`${o} < x <= ${a}`,s+5,l+c/2)}),this),e()}getValues(){const t=[];return qB(this.layer_)||this.layer_.getFeatures().forEach((e=>{try{const i=parseFloat(e.getAttribute(this.attributeName_));Number.isNaN(i)||t.push(i)}catch(t){}}),this),t}update_(){if(!qB(this.layer_)){const t=this.layer_.getFeatures();if(!qB(t))if(this.dataValues_=this.getValues(),qB(this.choroplethStyles_)||!qB(this.choroplethStyles_)&&(YB(this.choroplethStyles_[0])||YB(this.choroplethStyles_[1]))){this.breakPoints_=this.quantification_(this.dataValues_);const t=this.choroplethStyles_&&this.choroplethStyles_[0]?this.choroplethStyles_[0]:PR.START_COLOR_DEFAULT,e=this.choroplethStyles_&&this.choroplethStyles_[1]?this.choroplethStyles_[1]:PR.END_COLOR_DEFAULT,i=this.breakPoints_.length;let n=fL(t,e,i);UB(n)||(n=[n]);const r=(t,e)=>t.map((t=>e(t)));this.choroplethStyles_=r(n,PR.DEFAULT_STYLE)}else this.breakPoints_=this.quantification_(this.dataValues_,this.choroplethStyles_.length);for(let e=this.breakPoints_.length-1;e>-1;e-=1){RR(this.attributeName_,this.breakPoints_[e]).execute(t).forEach((t=>t.setStyle(this.choroplethStyles_[e])))}this.updateCanvas()}}static DEFAULT_STYLE(t){return new e_({point:{fill:{color:t,opacity:1},stroke:{color:"black",width:1},radius:5},line:{stroke:{color:t,width:1}},polygon:{fill:{color:t,opacity:1},stroke:{color:"black",width:1}}})}add(t){let e=t;return UB(e)||(e=[e]),e=e.filter((t=>t instanceof Vy||t instanceof vR)),super.add(e)}get ORDER(){return 2}toJSON(){const t=this.getAttributeName(),e=this.getChoroplethStyles().map((t=>t.serialize()));let i=this.getQuantification();i=qB(i.name)?CL(i):i.name;let n=_L({},this.getOptions());n=CL(n);return{parameters:[t,e,i,n,this.getStyles().map((t=>t.serialize()))],deserializedMethod:"M.style.Choropleth.deserialize"}}static deserialize([t,e,i,n,r]){const s=t,o=e.map((t=>Jm.deserialize(t)));let a;a="jenks"===i?MR():"quantile"===i?TR():vL(i);const l=vL(n),h=new Function(["attributeName","styles","quantification","options"],"return new M.style.Choropleth(attributeName, styles, quantification, options)")(s,o,a,l),c=r.map((t=>Jm.deserialize(t)));return h.add(c),h}}PR.START_COLOR_DEFAULT="red",PR.END_COLOR_DEFAULT="brown";const FR=PR;const DR=class{static addSymbol(t,e){return lm.addDefs(t,e)}};class OR extends Jm{constructor(t,e={},i={}){const n=e,r=i;if(YB(t)||VB(t)||Oc(Cu("exception").no_empty),_L(n,OR.DEFAULT_OPTIONS),qB(n.gradient)||UB(n.gradient)||(n.gradient=[n.gradient]),n.gradient=n.gradient||OR.DEFAULT_OPTIONS.gradient,n.gradient.length<2){const t=mL(n.gradient[0]);n.gradient.push(t)}n.blur=qB(n.blur)?OR.DEFAULT_OPTIONS.blur:parseFloat(n.blur),n.radius=qB(n.radius)?OR.DEFAULT_OPTIONS.radius:parseFloat(n.radius),n.weight=t,r.opacity=Number.isNaN(parseFloat(r.opacity))?1:parseFloat(r.opacity);super(n,new hR(t,n,r)),this.attribute_=t,this.options_=n,this.vendorOptions_=r}unapply(t){this.layer_=null,this.getImpl().unapply(t)}getAttributeName(){return this.attribute_}setAttributeName(t){this.attribute_=t,this.options_.weight=this.attribute_,this.update_()}getGradient(){return this.options_.gradient}setGradient(t){let e=t;if(UB(e)||(e=[e]),e.length<2){const t=mL(e[0]);e.push(t)}this.options_.gradient=e,this.update_()}getRadius(){return this.options_.radius}setRadius(t){this.options_.radius=t,this.update_()}getBlurSize(){return this.options_.blur}setBlurSize(t){this.options_.blur=t,this.update_()}update_(){const t=this.getImpl();t.unapply(this.layer_),t.setOptions(this.options_,this.vendorOptions_),t.applyToLayer(this.layer_)}drawGeometryToCanvas(){const[t,e]=[this.getImpl().getMinWeight(),this.getImpl().getMaxWeight()],i=this.canvas_.getContext("2d"),n=i.createLinearGradient(0,150,200,150),r=yL([0,1],this.options_.gradient.length);this.options_.gradient.forEach(((t,e)=>n.addColorStop(r[e],t))),i.fillStyle=n,i.fillRect(0,20,200,30),i.fillStyle="#000",i.font="10px sans-serif",i.fillText(t,0,60),i.fillText(e,199,60)}updateCanvas(){this.drawGeometryToCanvas()}toJSON(){const t=this.getAttributeName(),e=this.getOptions();return{parameters:[t,{gradient:[...e.gradient],blur:e.blur,radius:e.radius,weight:e.weight},this.vendorOptions_],deserializedMethod:"M.style.Heatmap.deserialize"}}static deserialize([t,e,i]){const n=t,r=vL(e),s=vL(i);return new Function(["attribute","options","vendorOptions"],"return new M.style.Heatmap(attribute, options, vendorOptions)")(n,r,s)}}OR.DEFAULT_OPTIONS={gradient:["#00f","#0ff","#0f0","#ff0","#f00"],blur:15,radius:10};const QR=OR;function kR(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}function GR(){}class UR{constructor(){UR.constructor_.apply(this,arguments)}setOrdinate(t,e,i){}size(){}getOrdinate(t,e){}getCoordinate(){if(1===arguments.length){}else if(2===arguments.length){}}getCoordinateCopy(t){}getDimension(){}getX(t){}expandEnvelope(t){}copy(){}getY(t){}toCoordinateArray(){}getClass(){return UR}get interfaces_(){return[GR]}}UR.constructor_=function(){},UR.X=0,UR.Y=1,UR.Z=2,UR.M=3;class qR{constructor(){qR.constructor_.apply(this,arguments)}create(){if(1===arguments.length){if(arguments[0]instanceof Array){}else if(kR(arguments[0],UR)){}}else if(2===arguments.length){}}getClass(){return qR}get interfaces_(){return[]}}function VR(t){this.message=t}qR.constructor_=function(){};class zR{constructor(){zR.constructor_.apply(this,arguments)}filter(t){}getClass(){return zR}get interfaces_(){return[]}}function YR(){}function jR(){}zR.constructor_=function(){};class HR{constructor(){HR.constructor_.apply(this,arguments)}static equalsWithTolerance(t,e,i){return Math.abs(t-e)<=i}getClass(){return HR}get interfaces_(){return[]}}function XR(t,e){this.low=0|e,this.high=0|t}function WR(){}var KR,JR,ZR;function $R(){}function tN(t){this.name="RuntimeException",this.message=t,this.stack=(new Error).stack,Error.call(this,t)}HR.constructor_=function(){},XR.toBinaryString=function(t){for(var e="",i=2147483648;i>0;i>>>=1)e+=(t.high&i)===i?"1":"0";for(i=2147483648;i>0;i>>>=1)e+=(t.low&i)===i?"1":"0";return e},WR.isNaN=t=>Number.isNaN(t),WR.isInfinite=t=>!Number.isFinite(t),WR.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(KR=2146435072,JR=new Float64Array(1),ZR=new Int32Array(JR.buffer),WR.doubleToLongBits=function(t){JR[0]=t;var e=0|ZR[0],i=0|ZR[1];return(i&KR)===KR&&0!=(1048575&i)&&0!==e&&(e=0,i=2146959360),new XR(i,e)},WR.longBitsToDouble=function(t){return ZR[0]=t.low,ZR[1]=t.high,JR[0]}):function(){var t=1023,e=Math.log2,i=Math.floor,n=Math.pow,r=function(){for(var t=53;t>0;t--){var r=n(2,t)-1;if(i(e(r))+1===t)return r}return 0}();WR.doubleToLongBits=function(s){var o,a,l,h,c,u,g,d,A;if(s<0||1/s===Number.NEGATIVE_INFINITY?(u=1<<31,s=-s):u=0,0===s)return new XR(d=u,A=0);if(s===1/0)return new XR(d=2146435072|u,A=0);if(s!=s)return new XR(d=2146959360,A=0);if(h=0,A=0,(o=i(s))>1)if(o<=r)(h=i(e(o)))<=20?(A=0,d=o<<20-h&1048575):(A=o%(a=n(2,l=h-20))<<32-l,d=o/a&1048575);else for(l=o,A=0;0!==(l=i(a=l/2));)h++,A>>>=1,A|=(1&d)<<31,d>>>=1,a!==l&&(d|=524288);if(g=h+t,c=0===o,o=s-o,h<52&&0!==o)for(l=0;;){if((a=2*o)>=1?(o=a-1,c?(g--,c=!1):(l<<=1,l|=1,h++)):(o=a,c?0==--g&&(h++,c=!1):(l<<=1,h++)),20===h)d|=l,l=0;else if(52===h){A|=l;break}if(1===a){h<20?d|=l<<20-h:h<52&&(A|=l<<52-h);break}}return d|=g<<20,new XR(d|=u,A)},WR.longBitsToDouble=function(e){var i,r,s,o,a=e.high,l=e.low;r=a&1<<31?-1:1,s=((2146435072&a)>>20)-t,o=0,i=1<<19;for(var h=1;h<=20;h++)a&i&&(o+=n(2,-h)),i>>>=1;i=1<<31;for(h=21;h<=52;h++)l&i&&(o+=n(2,-h)),i>>>=1;if(-1023===s){if(0===o)return 0*r;s=-1022}else{if(1024===s)return 0===o?r/0:NaN;o+=1}return r*o*n(2,s)}}(),tN.prototype=Object.create(Error.prototype),tN.prototype.constructor=Error;class eN extends tN{constructor(){super(),eN.constructor_.apply(this,arguments)}getClass(){return eN}get interfaces_(){return[]}}eN.constructor_=function(){if(0===arguments.length)tN.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];tN.constructor_.call(this,t)}};class iN{constructor(){iN.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)iN.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new eN("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];iN.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new eN:new eN(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];iN.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];if(!e.equals(t))throw new eN("Expected "+t+" but encountered "+e+(null!==i?": "+i:""))}}getClass(){return iN}get interfaces_(){return[]}}iN.constructor_=function(){};class nN{constructor(){nN.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=WR.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case nN.X:this.x=e;break;case nN.Y:this.y=e;break;case nN.Z:this.z=e;break;default:throw new VR("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],e=arguments[1];return!!HR.equalsWithTolerance(this.x,t.x,e)&&!!HR.equalsWithTolerance(this.y,t.y,e)}}getOrdinate(t){switch(t){case nN.X:return this.x;case nN.Y:return this.y;case nN.Z:return this.z}throw new VR("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||WR.isNaN(this.z)&&WR.isNaN(t.z))}equals(t){return t instanceof nN&&this.equals2D(t)}equalInZ(t,e){return HR.equalsWithTolerance(this.z,t.z,e)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return iN.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new nN(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)}distance(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)}hashCode(){var t=17;return t=37*(t=37*t+nN.hashCode(this.x))+nN.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return nN}get interfaces_(){return[YR,GR,jR]}}class rN{constructor(){rN.constructor_.apply(this,arguments)}static compare(t,e){return te?1:WR.isNaN(t)?WR.isNaN(e)?0:-1:WR.isNaN(e)?1:0}compare(t,e){var i=t,n=e,r=rN.compare(i.x,n.x);if(0!==r)return r;var s=rN.compare(i.y,n.y);return 0!==s?s:this._dimensionsToTest<=2?0:rN.compare(i.z,n.z)}getClass(){return rN}get interfaces_(){return[$R]}}rN.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)rN.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new VR("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},nN.DimensionalComparator=rN,nN.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)nN.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];nN.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];nN.constructor_.call(this,t,e,nN.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this.x=t,this.y=e,this.z=i}},nN.serialVersionUID=0x5cbf2c235c7e5800,nN.NULL_ORDINATE=WR.NaN,nN.X=0,nN.Y=1,nN.Z=2;class sN{constructor(){sN.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];return i.x>=(t.xe.x?t.x:e.x)&&i.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];var t=Math.min(o.x,a.x),e=Math.max(o.x,a.x),i=Math.min(r.x,s.x),n=Math.max(r.x,s.x);return!(i>e)&&(!(ne)&&!(nt._minx?this._minx:t._minx,i=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&(t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy)}}intersects(){if(1===arguments.length){if(arguments[0]instanceof sN){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx)&&(!((t.x>e.x?t.x:e.x)this._maxy)&&!((t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof sN){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof nN){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new nN((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof nN){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof sN){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var i=0;return this._maxyt._maxy&&(i=this._miny-t._maxy),0===e?i:0===i?e:Math.sqrt(e*e+i*i)}hashCode(){var t=17;return t=37*(t=37*(t=37*(t=37*t+nN.hashCode(this._minx))+nN.hashCode(this._maxx))+nN.hashCode(this._miny))+nN.hashCode(this._maxy)}getClass(){return sN}get interfaces_(){return[YR,jR]}}sN.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof nN){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof sN){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this.init(t,e,i,n)}},sN.serialVersionUID=0x51845cd552189800;class oN{constructor(){oN.constructor_.apply(this,arguments)}isGeometryCollection(){return this.getTypeCode()===oN.TYPECODE_GEOMETRYCOLLECTION}getFactory(){return this._factory}getGeometryN(t){return this}getArea(){return 0}isRectangle(){return!1}equals(){if(arguments[0]instanceof oN){let t=arguments[0];return null!==t&&this.equalsTopo(t)}if(arguments[0]instanceof Object){let e=arguments[0];if(!(e instanceof oN))return!1;var t=e;return this.equalsExact(t)}}equalsExact(t){return this===t||this.equalsExact(t,0)}geometryChanged(){this.apply(oN.geometryChangedFilter)}geometryChangedAction(){this._envelope=null}equalsNorm(t){return null!==t&&this.norm().equalsExact(t.norm())}getLength(){return 0}getNumGeometries(){return 1}compareTo(){if(1===arguments.length){let e=arguments[0];var t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}if(2===arguments.length){let e=arguments[0],i=arguments[1];t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e,i)}}getUserData(){return this._userData}getSRID(){return this._SRID}getEnvelope(){return this.getFactory().toGeometry(this.getEnvelopeInternal())}checkNotGeometryCollection(t){if(t.getTypeCode()===oN.TYPECODE_GEOMETRYCOLLECTION)throw new VR("This method does not support GeometryCollection arguments")}equal(t,e,i){return 0===i?t.equals(e):t.distance(e)<=i}norm(){var t=this.copy();return t.normalize(),t}getPrecisionModel(){return this._factory.getPrecisionModel()}getEnvelopeInternal(){return null===this._envelope&&(this._envelope=this.computeEnvelopeInternal()),new sN(this._envelope)}setSRID(t){this._SRID=t}setUserData(t){this._userData=t}compare(t,e){for(var i=t.iterator(),n=e.iterator();i.hasNext()&&n.hasNext();){var r=i.next(),s=n.next(),o=r.compareTo(s);if(0!==o)return o}return i.hasNext()?1:n.hasNext()?-1:0}hashCode(){return this.getEnvelopeInternal().hashCode()}isGeometryCollectionOrDerived(){return this.getTypeCode()===oN.TYPECODE_GEOMETRYCOLLECTION||this.getTypeCode()===oN.TYPECODE_MULTIPOINT||this.getTypeCode()===oN.TYPECODE_MULTILINESTRING||this.getTypeCode()===oN.TYPECODE_MULTIPOLYGON}get interfaces_(){return[GR,YR,jR]}getClass(){return oN}static hasNonEmptyElements(t){for(var e=0;e0}getClass(){return cN}get interfaces_(){return[lN]}}cN.constructor_=function(){};class uN{constructor(){uN.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return uN}get interfaces_(){return[lN]}}uN.constructor_=function(){};class gN{constructor(){gN.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return gN}get interfaces_(){return[lN]}}function dN(){}function AN(){}function pN(t){this.message=t||""}function fN(){}function mN(t){this.message=t||""}function _N(t){this.message=t||""}function yN(){this.array_=[],arguments[0]instanceof AN&&this.addAll(arguments[0])}gN.constructor_=function(){},lN.Mod2BoundaryNodeRule=hN,lN.EndPointBoundaryNodeRule=cN,lN.MultiValentEndPointBoundaryNodeRule=uN,lN.MonoValentEndPointBoundaryNodeRule=gN,lN.constructor_=function(){},lN.MOD2_BOUNDARY_RULE=new hN,lN.ENDPOINT_BOUNDARY_RULE=new cN,lN.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new uN,lN.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new gN,lN.OGC_SFS_BOUNDARY_RULE=lN.MOD2_BOUNDARY_RULE,dN.prototype.hasNext=function(){},dN.prototype.next=function(){},dN.prototype.remove=function(){},AN.prototype.add=function(){},AN.prototype.addAll=function(){},AN.prototype.isEmpty=function(){},AN.prototype.iterator=function(){},AN.prototype.size=function(){},AN.prototype.toArray=function(){},AN.prototype.remove=function(){},pN.prototype=new Error,pN.prototype.name="IndexOutOfBoundsException",fN.prototype=Object.create(AN.prototype),fN.prototype.constructor=fN,fN.prototype.get=function(){},fN.prototype.set=function(){},fN.prototype.isEmpty=function(){},mN.prototype=new Error,mN.prototype.name="NoSuchElementException",_N.prototype=new Error,_N.prototype.name="OperationNotSupported",yN.prototype=Object.create(fN.prototype),yN.prototype.constructor=yN,yN.prototype.ensureCapacity=function(){},yN.prototype.interfaces_=[fN,AN],yN.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},yN.prototype.clear=function(){this.array_=[]},yN.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},yN.prototype.set=function(t,e){var i=this.array_[t];return this.array_[t]=e,i},yN.prototype.iterator=function(){return new IN(this)},yN.prototype.get=function(t){if(t<0||t>=this.size())throw new pN;return this.array_[t]},yN.prototype.isEmpty=function(){return 0===this.array_.length},yN.prototype.size=function(){return this.array_.length},yN.prototype.toArray=function(){for(var t=[],e=0,i=this.array_.length;e=1)if(this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],i=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],i);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof nN){let t=arguments[0],i=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0)if(this.get(t-1).equals2D(i))return null;if(ts&&(i=-1);for(t=r;t!==s;t+=i)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new nN(this.get(0)),!1)}getClass(){return EN}get interfaces_(){return[]}}EN.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},EN.coordArrayType=new Array(0).fill(null);class CN{constructor(){CN.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return WR.isInfinite(e)||WR.isNaN(e)?e:e/CN.LOG_10}static min(t,e,i,n){var r=t;return ei?i:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],i=arguments[2];return ti?i:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],i=arguments[2];return e>(t=arguments[0])&&(t=e),i>t&&(t=i),t}if(4===arguments.length){let e=arguments[1],i=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),i>t&&(t=i),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return CN}get interfaces_(){return[]}}function vN(){}CN.constructor_=function(){},CN.LOG_10=Math.log(10),vN.arraycopy=(t,e,i,n,r)=>{let s=0;for(let o=e;o({"line.separator":"\n"}[t]);class xN{constructor(){xN.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])}static ptNotInList(t,e){for(var i=0;i=t?e:[]}static indexOf(t,e){for(var i=0;i0)&&(e=t[i]);return e}static extract(t,e,i){e=CN.clamp(e,0,t.length);var n=(i=CN.clamp(i,-1,t.length))-e+1;i<0&&(n=0),e>=t.length&&(n=0),in.length)return 1;if(0===i.length)return 0;var r=xN.compare(i,n);return xN.isEqualReversed(i,n)?0:r}OLDcompare(t,e){var i=t,n=e;if(i.lengthn.length)return 1;if(0===i.length)return 0;for(var r=xN.increasingDirection(i),s=xN.increasingDirection(n),o=r>0?0:i.length-1,a=s>0?0:i.length-1,l=0;l0))return e.value;e=e.right}}return null},ON.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var i,n,r=this.root_;do{if(i=r,(n=t.compareTo(r.key))<0)r=r.left;else{if(!(n>0)){var s=r.value;return r.value=e,s}r=r.right}}while(null!==r);var o={key:t,left:null,right:null,value:e,parent:i,color:0,getValue(){return this.value},getKey(){return this.key}};return n<0?i.left=o:i.right=o,this.fixAfterInsertion(o),this.size_++,null},ON.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;if(NN(t)==FN(NN(NN(t))))1==RN(e=DN(NN(NN(t))))?(PN(NN(t),0),PN(e,0),PN(NN(NN(t)),1),t=NN(NN(t))):(t==DN(NN(t))&&(t=NN(t),this.rotateLeft(t)),PN(NN(t),0),PN(NN(NN(t)),1),this.rotateRight(NN(NN(t))));else 1==RN(e=FN(NN(NN(t))))?(PN(NN(t),0),PN(e,0),PN(NN(NN(t)),1),t=NN(NN(t))):(t==FN(NN(t))&&(t=NN(t),this.rotateRight(t)),PN(NN(t),0),PN(NN(NN(t)),1),this.rotateLeft(NN(NN(t))))}this.root_.color=0},ON.prototype.values=function(){var t=new yN,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=ON.successor(e));)t.add(e.value);return t},ON.prototype.entrySet=function(){var t=new MN,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=ON.successor(e));)t.add(e);return t},ON.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},ON.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},ON.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},ON.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var i=t;null!==e&&i===e.right;)i=e,e=e.parent;return e},ON.prototype.size=function(){return this.size_},ON.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return!0;e=e.right}}return!1};class QN{constructor(){QN.constructor_.apply(this,arguments)}getClass(){return QN}get interfaces_(){return[]}}function kN(){}function GN(){this.array_=[],arguments[0]instanceof AN&&this.addAll(arguments[0])}QN.constructor_=function(){},kN.prototype=new LN,GN.prototype=new kN,GN.prototype.contains=function(t){for(var e=0,i=this.array_.length;et<=32&&t>=0||127==t,zN.toUpperCase=t=>t.toUpperCase();class YN{constructor(){YN.constructor_.apply(this,arguments)}static toDimensionSymbol(t){switch(t){case YN.FALSE:return YN.SYM_FALSE;case YN.TRUE:return YN.SYM_TRUE;case YN.DONTCARE:return YN.SYM_DONTCARE;case YN.P:return YN.SYM_P;case YN.L:return YN.SYM_L;case YN.A:return YN.SYM_A}throw new VR("Unknown dimension value: "+t)}static toDimensionValue(t){switch(zN.toUpperCase(t)){case YN.SYM_FALSE:return YN.FALSE;case YN.SYM_TRUE:return YN.TRUE;case YN.SYM_DONTCARE:return YN.DONTCARE;case YN.SYM_P:return YN.P;case YN.SYM_L:return YN.L;case YN.SYM_A:return YN.A}throw new VR("Unknown dimension symbol: "+t)}getClass(){return YN}get interfaces_(){return[]}}YN.constructor_=function(){},YN.P=0,YN.L=1,YN.A=2,YN.FALSE=-1,YN.TRUE=-2,YN.DONTCARE=-3,YN.SYM_FALSE="F",YN.SYM_TRUE="T",YN.SYM_DONTCARE="*",YN.SYM_P="0",YN.SYM_L="1",YN.SYM_A="2";class jN{constructor(){jN.constructor_.apply(this,arguments)}filter(t){}getClass(){return jN}get interfaces_(){return[]}}jN.constructor_=function(){};class HN{constructor(){HN.constructor_.apply(this,arguments)}filter(t,e){}isDone(){}isGeometryChanged(){}getClass(){return HN}get interfaces_(){return[]}}HN.constructor_=function(){};class XN extends oN{constructor(){super(),XN.constructor_.apply(this,arguments)}computeEnvelopeInternal(){for(var t=new sN,e=0;e=0;){var o=r.substring(0,s);n.add(o),s=(r=r.substring(s+i)).indexOf(e)}r.length>0&&n.add(r);for(var a=new Array(n.size()).fill(null),l=0;l0)for(var s=r;s0&&i.append(" ");for(var r=0;r0&&i.append(","),i.append(rP.toString(s.getOrdinate(n,r)))}return i.append(")"),i.toString()}}static ensureValidRing(t,e){var i=e.size();return 0===i?e:i<=3?oP.createClosedRing(t,e,4):e.getOrdinate(0,UR.X)===e.getOrdinate(i-1,UR.X)&&e.getOrdinate(0,UR.Y)===e.getOrdinate(i-1,UR.Y)?e:oP.createClosedRing(t,e,i+1)}static createClosedRing(t,e,i){var n=t.create(i,e.getDimension()),r=e.size();oP.copy(e,0,n,0,r);for(var s=r;s0){var i=this._points.copy();oP.reverse(i),this._points=i}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?YN.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return oN.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return ZN.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return oP.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,i=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;et?1:0},gP.isNaN=t=>Number.isNaN(t);class dP{constructor(){dP.constructor_.apply(this,arguments)}static sqr(t){return dP.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return dP.parse(t)}if("number"==typeof arguments[0]){return new dP(arguments[0])}}static sqrt(t){return dP.valueOf(t).sqrt()}static parse(t){for(var e=0,i=t.length;zN.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=i);){var h=t.charAt(e);if(e++,zN.isDigit(h)){var c=h-"0";s.selfMultiply(dP.TEN),s.selfAdd(c),o++}else{if("."!==h){if("e"===h||"E"===h){var u=t.substring(e);try{l=gP.parseInt(u)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+u+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+h+"' at position "+e+" in string "+t)}a=o}}var g=s,d=o-a-l;if(0===d)g=s;else if(d>0){var A=dP.TEN.pow(d);g=s.divide(A)}else if(d<0){A=dP.TEN.pow(-d);g=s.multiply(A)}return n?g.negate():g}static createNaN(){return new dP(WR.NaN,WR.NaN)}static copy(t){return new dP(t)}static magnitude(t){var e=Math.abs(t),i=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(i));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var i=new uP,n=0;n9?(c=!0,u="9"):u="0"+h,o.append(u),i=i.subtract(dP.valueOf(h)).multiply(dP.TEN),c&&i.selfAdd(dP.TEN);var g=!0,d=dP.magnitude(i._hi);if(d<0&&Math.abs(d)>=a-l&&(g=!1),!g)break}return e[0]=n,o.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof dP){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof dP){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof dP){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof dP){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],h=arguments[1];var t,e,i,n,r=null,s=null,o=null,a=null;return i=this._hi/l,a=(r=(o=dP.SPLIT*i)-(r=o-i))*(s=(a=dP.SPLIT*l)-(s=a-l))-(n=i*l)+r*(e=l-s)+(t=i-r)*s+t*e,a=i+(o=(this._hi-n-a+this._lo-i*h)/l),this._hi=a,this._lo=i-a+o,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof dP){let l=arguments[0];var t,e,i,n,r=null,s=null,o=null,a=null;return t=(i=this._hi/l._hi)-(r=(o=dP.SPLIT*i)-(r=o-i)),a=r*(s=(a=dP.SPLIT*l._hi)-(s=a-l._hi))-(n=i*l._hi)+r*(e=l._hi-s)+t*s+t*e,o=(this._hi-n-a+this._lo-i*l._lo)/l._hi,new dP(a=i+o,i-a+o)}if("number"==typeof arguments[0]){let t=arguments[0];return WR.isNaN(t)?dP.createNaN():dP.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return dP.valueOf(1);var e=new dP(this),i=dP.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&i.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else i=e;return t<0?i.reciprocal():i}ceil(){if(this.isNaN())return dP.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new dP(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof dP){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return dP.valueOf(0);if(this.isNegative())return dP.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,i=dP.valueOf(e),n=this.subtract(i.sqr())._hi*(.5*t);return i.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof dP){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let o=arguments[0];var t=null,e=null,i=null,n=null,r=null,s=null;return n=(i=this._hi+o)-(r=i-this._hi),e=(s=(n=o-r+(this._hi-n))+this._lo)+(i-(t=i+s)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],u=arguments[1];t=null,e=null;var o,a=null;i=null,n=null,r=null,s=null;i=this._hi+c,o=this._lo+u,n=i-(r=i-this._hi),a=o-(s=o-this._lo);var l=(t=i+(r=(n=c-r+(this._hi-n))+o))+(r=(a=u-s+(this._lo-a))+(e=r+(i-t))),h=r+(t-l);return this._hi=l,this._lo=h,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof dP){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],h=arguments[1];var t,e,i=null,n=null,r=null,s=null;i=(r=dP.SPLIT*this._hi)-this._hi,s=dP.SPLIT*l,i=r-i,t=this._hi-i,n=s-l;var o=(r=this._hi*l)+(s=i*(n=s-n)-r+i*(e=l-n)+t*n+t*e+(this._hi*h+this._lo*l)),a=s+(i=r-o);return this._hi=o,this._lo=a,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return dP.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new dP(t,e)}negate(){return this.isNaN()?this:new dP(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof dP){let t=arguments[0];return t.isNaN()?dP.createNaN():dP.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return WR.isNaN(t)?dP.createNaN():dP.copy(this).selfMultiply(t,0)}}isNaN(){return WR.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=dP.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),i=this.extractSignificantDigits(!0,e),n=e[0]+1,r=i;if("."===i.charAt(0))r="0"+i;else if(n<0)r="0."+dP.stringOfChar("0",-n)+i;else if(-1===i.indexOf(".")){var s=n-i.length;r=i+dP.stringOfChar("0",s)+".0"}return this.isNegative()?"-"+r:r}reciprocal(){var t,e,i,n,r=null,s=null,o=null,a=null;t=(i=1/this._hi)-(r=(o=dP.SPLIT*i)-(r=o-i)),s=(a=dP.SPLIT*this._hi)-this._hi;var l=i+(o=(1-(n=i*this._hi)-(a=r*(s=a-s)-n+r*(e=this._hi-s)+t*s+t*e)-i*this._lo)/this._hi);return new dP(l,i-l+o)}toSciNotation(){if(this.isZero())return dP.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),i=this.extractSignificantDigits(!1,e),n=dP.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===i.charAt(0))throw new IllegalStateException("Found leading zero: "+i);var r="";i.length>1&&(r=i.substring(1));var s=i.charAt(0)+"."+r;return this.isNegative()?"-"+s+n:s+n}abs(){return this.isNaN()?dP.NaN:this.isNegative()?this.negate():new dP(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?dP.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return dP}get interfaces_(){return[jR,YR,GR]}}dP.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof dP){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];dP.constructor_.call(this,dP.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},dP.PI=new dP(3.141592653589793,12246467991473532e-32),dP.TWO_PI=new dP(6.283185307179586,24492935982947064e-32),dP.PI_2=new dP(1.5707963267948966,6123233995736766e-32),dP.E=new dP(2.718281828459045,14456468917292502e-32),dP.NaN=new dP(WR.NaN,WR.NaN),dP.EPS=123259516440783e-46,dP.SPLIT=134217729,dP.MAX_PRINT_DIGITS=32,dP.TEN=dP.valueOf(10),dP.ONE=dP.valueOf(1),dP.SCI_NOT_EXPONENT_CHAR="E",dP.SCI_NOT_ZERO="0.0E0";class AP{constructor(){AP.constructor_.apply(this,arguments)}static orientationIndex(t,e,i){var n=AP.orientationIndexFilter(t,e,i);if(n<=1)return n;var r=dP.valueOf(e.x).selfAdd(-t.x),s=dP.valueOf(e.y).selfAdd(-t.y),o=dP.valueOf(i.x).selfAdd(-e.x),a=dP.valueOf(i.y).selfAdd(-e.y);return r.selfMultiply(a).selfSubtract(s.selfMultiply(o)).signum()}static signOfDet2x2(){if(arguments[0]instanceof dP){let t=arguments[1],e=arguments[2],i=arguments[3];return arguments[0].multiply(i).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];var t=dP.valueOf(r),e=dP.valueOf(s),i=dP.valueOf(o),n=dP.valueOf(a);return t.multiply(n).selfSubtract(e.multiply(i)).signum()}}static intersection(t,e,i,n){var r=dP.valueOf(n.y).selfSubtract(i.y).selfMultiply(dP.valueOf(e.x).selfSubtract(t.x)),s=dP.valueOf(n.x).selfSubtract(i.x).selfMultiply(dP.valueOf(e.y).selfSubtract(t.y)),o=r.subtract(s),a=dP.valueOf(n.x).selfSubtract(i.x).selfMultiply(dP.valueOf(t.y).selfSubtract(i.y)),l=dP.valueOf(n.y).selfSubtract(i.y).selfMultiply(dP.valueOf(t.x).selfSubtract(i.x)),h=a.subtract(l).selfDivide(o).doubleValue(),c=dP.valueOf(t.x).selfAdd(dP.valueOf(e.x).selfSubtract(t.x).selfMultiply(h)).doubleValue(),u=dP.valueOf(e.x).selfSubtract(t.x).selfMultiply(dP.valueOf(t.y).selfSubtract(i.y)),g=dP.valueOf(e.y).selfSubtract(t.y).selfMultiply(dP.valueOf(t.x).selfSubtract(i.x)),d=u.subtract(g).selfDivide(o).doubleValue(),A=dP.valueOf(i.y).selfAdd(dP.valueOf(n.y).selfSubtract(i.y).selfMultiply(d)).doubleValue();return new nN(c,A)}static orientationIndexFilter(t,e,i){var n=null,r=(t.x-i.x)*(e.y-i.y),s=(t.y-i.y)*(e.x-i.x),o=r-s;if(r>0){if(s<=0)return AP.signum(o);n=r+s}else{if(!(r<0))return AP.signum(o);if(s>=0)return AP.signum(o);n=-r-s}var a=AP.DP_SAFE_EPSILON*n;return o>=a||-o>=a?AP.signum(o):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return AP}get interfaces_(){return[]}}AP.constructor_=function(){},AP.DP_SAFE_EPSILON=1e-15;class pP{constructor(){pP.constructor_.apply(this,arguments)}static index(t,e,i){return AP.orientationIndex(t,e,i)}static isCCW(t){var e=t.length-1;if(e<3)throw new VR("Ring has fewer than 4 points, so orientation cannot be determined");for(var i=t[0],n=0,r=1;r<=e;r++){var s=t[r];s.y>i.y&&(i=s,n=r)}var o=n;do{(o-=1)<0&&(o=e)}while(t[o].equals2D(i)&&o!==n);var a=n;do{a=(a+1)%e}while(t[a].equals2D(i)&&a!==n);var l=t[o],h=t[a];if(l.equals2D(i)||h.equals2D(i)||l.equals2D(h))return!1;var c=pP.index(l,i,h);return 0===c?l.x>h.x:c>0}getClass(){return pP}get interfaces_(){return[]}}pP.constructor_=function(){},pP.CLOCKWISE=-1,pP.RIGHT=pP.CLOCKWISE,pP.COUNTERCLOCKWISE=1,pP.LEFT=pP.COUNTERCLOCKWISE,pP.COLLINEAR=0,pP.STRAIGHT=pP.COLLINEAR;class fP{constructor(){fP.constructor_.apply(this,arguments)}getClass(){return fP}get interfaces_(){return[]}}fP.constructor_=function(){};class mP extends oN{constructor(){super(),mP.constructor_.apply(this,arguments)}computeEnvelopeInternal(){return this._shell.getEnvelopeInternal()}getCoordinates(){if(this.isEmpty())return[];for(var t=new Array(this.getNumPoints()).fill(null),e=-1,i=this._shell.getCoordinates(),n=0;n=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return oN.TYPENAME_LINEARRING}copy(){return new yP(this._points.copy(),this._factory)}getClass(){return yP}get interfaces_(){return[]}}yP.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof QP){let t=arguments[0],e=arguments[1];yP.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(kR(arguments[0],UR)&&arguments[1]instanceof QP){let t=arguments[0],e=arguments[1];aP.constructor_.call(this,t,e),this.validateConstruction()}},yP.MINIMUM_VALID_SIZE=4,yP.serialVersionUID=-0x3b229e262367a600;class IP extends XN{constructor(){super(),IP.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof oN){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return oN.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),i=0;i0){var t=new sP(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new SP(t):new SP(t,e)}}getClass(){return bP}get interfaces_(){return[qR,jR]}}bP.constructor_=function(){},bP.serialVersionUID=-0x38e49fa6cf6f2e00,bP.instanceObject=new bP;var BP=Object.defineProperty;const LP=function(t,e){function i(t){if(!this||this.constructor!==i)return new i(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&MP.call(this,t)}e||BP(t,"size",{get:NP});return t.constructor=i,i.prototype=t,i}({delete:function(t){this.has(t)&&(this._keys.splice(UN,1),this._values.splice(UN,1),this._itp.forEach((function(t){UN-1},has:function(t){return TP.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[UN]:void 0},set:function(t,e){return this.has(t)?this._values[UN]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return RP(this._itp,this._keys)},values:function(){return RP(this._itp,this._values)},entries:function(){return RP(this._itp,this._keys,this._values)},forEach:function(t,e){for(var i=this.entries();;){var n=i.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function MP(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}function TP(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(UN=t.length;UN--&&((i=t[UN])!==(n=e)&&(i==i||n==n)););else UN=t.indexOf(e);var i,n;return UN>-1}function RP(t,e,i){var n=[0],r=!1;return t.push(n),{next:function(){var s,o=n[0];return!r&&ot.add(e))),t},FP.prototype.size=function(){return this.map_.size()};class DP{constructor(){DP.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof DP))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,i=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new gP(i).compareTo(new gP(n))}getScale(){return this._scale}isFloating(){return this._modelType===DP.FLOATING||this._modelType===DP.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===DP.FLOATING?t="Floating":this._modelType===DP.FLOATING_SINGLE?t="Floating-Single":this._modelType===DP.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return WR.isNaN(t)||this._modelType===DP.FLOATING_SINGLE?t:this._modelType===DP.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof nN){let t=arguments[0];if(this._modelType===DP.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===DP.FLOATING?t=16:this._modelType===DP.FLOATING_SINGLE?t=6:this._modelType===DP.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return DP}get interfaces_(){return[jR,YR]}}class OP{constructor(){OP.constructor_.apply(this,arguments)}readResolve(){return OP.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return OP}get interfaces_(){return[jR]}}OP.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,OP.nameToTypeMap.put(t,this)},OP.serialVersionUID=-552860263173159e4,OP.nameToTypeMap=new FP,DP.Type=OP,DP.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=DP.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof OP){let t=arguments[0];this._modelType=t,t===DP.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=DP.FIXED,this.setScale(t)}else if(arguments[0]instanceof DP){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},DP.serialVersionUID=0x6bee6404e9a25c00,DP.FIXED=new OP("FIXED"),DP.FLOATING=new OP("FLOATING"),DP.FLOATING_SINGLE=new OP("FLOATING SINGLE"),DP.maximumPreciseValue=9007199254740992;class QP{constructor(){QP.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return bP.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new nN(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new nN(t.getMinX(),t.getMinY()),new nN(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new nN(t.getMinX(),t.getMinY()),new nN(t.getMinX(),t.getMaxY()),new nN(t.getMaxX(),t.getMaxY()),new nN(t.getMaxX(),t.getMinY()),new nN(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(kR(arguments[0],UR)){return new aP(arguments[0],this)}}}createMultiLineString(){if(0===arguments.length)return new WN(null,this);if(1===arguments.length){return new WN(arguments[0],this)}}buildGeometry(t){for(var e=null,i=!1,n=!1,r=t.iterator();r.hasNext();){var s=r.next(),o=s.getClass();null===e&&(e=o),o!==e&&(i=!0),s instanceof XN&&(n=!0)}if(null===e)return this.createGeometryCollection();if(i||n)return this.createGeometryCollection(QP.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof mP)return this.createMultiPolygon(QP.toPolygonArray(t));if(a instanceof aP)return this.createMultiLineString(QP.toLineStringArray(t));if(a instanceof hP)return this.createMultiPoint(QP.toPointArray(t));iN.shouldNeverReachHere("Unhandled class: "+a.getClass().getName())}return a}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof nN){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(kR(arguments[0],UR)){return new hP(arguments[0],this)}}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(kR(arguments[0],UR)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof yP){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length){return new mP(arguments[0],arguments[1],this)}}getSRID(){return this._SRID}createGeometryCollection(){if(0===arguments.length)return new XN(null,this);if(1===arguments.length){return new XN(arguments[0],this)}}createGeometry(t){return new EP(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof oN&&kR(arguments[0],UR)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(kR(arguments[0],UR)){return new yP(arguments[0],this)}}}createMultiPolygon(){if(0===arguments.length)return new IP(null,this);if(1===arguments.length){return new IP(arguments[0],this)}}createMultiPoint(){if(0===arguments.length)return new _P(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){return new _P(arguments[0],this)}if(kR(arguments[0],UR)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return jP.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let i=0,n=t._geometries.length;i1||a<0||a>1)&&(r=!0)}}else r=!0;return r?CN.min($P.pointToSegment(t,i,n),$P.pointToSegment(e,i,n),$P.pointToSegment(i,t,e),$P.pointToSegment(n,t,e)):0}static pointToSegment(t,e,i){if(e.x===i.x&&e.y===i.y)return t.distance(e);var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/n;if(r<=0)return t.distance(e);if(r>=1)return t.distance(i);var s=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(s)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,i){var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(r)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new VR("Line array must contain at least one vertex");for(var i=t.distance(e[0]),n=0;nr?n:r;else{var o=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(s=n>r?o:a)||t.equals(e)||(s=Math.max(o,a))}return iN.isTrue(!(0===s&&!t.equals(e)),"Bad distance calculation"),s}static nonRobustComputeEdgeDistance(t,e,i){var n=t.x-e.x,r=t.y-e.y,s=Math.sqrt(n*n+r*r);return iN.isTrue(!(0===s&&!t.equals(e)),"Invalid distance calculation"),s}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new sP;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,i,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=i,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,i,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((()=>Array(2))),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2))),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new nN,this._intPt[1]=new nN,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},tF.DONT_INTERSECT=0,tF.DO_INTERSECT=1,tF.COLLINEAR=2,tF.NO_INTERSECTION=0,tF.POINT_INTERSECTION=1,tF.COLLINEAR_INTERSECTION=2;class eF extends tF{constructor(){super(),eF.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,i,n){var r=t,s=$P.pointToSegment(t,i,n),o=$P.pointToSegment(e,i,n);return o1e-4&&vN.out.println("Distance = "+r.distance(s))}intersectionWithNormalization(t,e,i,n){var r=new nN(t),s=new nN(e),o=new nN(i),a=new nN(n),l=new nN;this.normalizeToEnvCentre(r,s,o,a,l);var h=this.safeHCoordinateIntersection(r,s,o,a);return h.x+=l.x,h.y+=l.y,h}computeCollinearIntersection(t,e,i,n){var r=sN.intersects(t,e,i),s=sN.intersects(t,e,n),o=sN.intersects(i,n,t),a=sN.intersects(i,n,e);return r&&s?(this._intPt[0]=i,this._intPt[1]=n,tF.COLLINEAR_INTERSECTION):o&&a?(this._intPt[0]=t,this._intPt[1]=e,tF.COLLINEAR_INTERSECTION):r&&o?(this._intPt[0]=i,this._intPt[1]=t,!i.equals(t)||s||a?tF.COLLINEAR_INTERSECTION:tF.POINT_INTERSECTION):r&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||s||o?tF.COLLINEAR_INTERSECTION:tF.POINT_INTERSECTION):s&&o?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||r||a?tF.COLLINEAR_INTERSECTION:tF.POINT_INTERSECTION):s&&a?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||r||o?tF.COLLINEAR_INTERSECTION:tF.POINT_INTERSECTION):tF.NO_INTERSECTION}normalizeToEnvCentre(t,e,i,n,r){var s=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,h=i.xn.x?i.x:n.x,g=i.y>n.y?i.y:n.y,d=((s>h?s:h)+(ac?o:c)+(l0&&s>0||r<0&&s<0)return tF.NO_INTERSECTION;var o=pP.index(i,n,t),a=pP.index(i,n,e);return o>0&&a>0||o<0&&a<0?tF.NO_INTERSECTION:0===r&&0===s&&0===o&&0===a?this.computeCollinearIntersection(t,e,i,n):(0===r||0===s||0===o||0===a?(this._isProper=!1,t.equals2D(i)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(i)||e.equals2D(n)?this._intPt[0]=e:0===r?this._intPt[0]=new nN(i):0===s?this._intPt[0]=new nN(n):0===o?this._intPt[0]=new nN(t):0===a&&(this._intPt[0]=new nN(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,i,n)),tF.POINT_INTERSECTION)}getClass(){return eF}get interfaces_(){return[]}}eF.constructor_=function(){};class iF{constructor(){iF.constructor_.apply(this,arguments)}static locatePointInRing(){if(arguments[0]instanceof nN&&kR(arguments[1],UR)){let r=arguments[1];for(var t=new iF(arguments[0]),e=new nN,i=new nN,n=1;nn&&(i=e.x,n=t.x),this._p.x>=i&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=pP.index(t,e,this._p);if(r===pP.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new mN;var t=this._parent.getGeometryN(this._index++);return t instanceof XN?(this._subcollectionIterator=new rF(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return rF}get interfaces_(){return[dN]}}rF.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class sF{constructor(){sF.constructor_.apply(this,arguments)}locateInPolygonRing(t,e){return e.getEnvelopeInternal().intersects(t)?nF.locateInRing(t,e.getCoordinates()):WP.EXTERIOR}intersects(t,e){return this.locate(t,e)!==WP.EXTERIOR}updateLocationInfo(t){t===WP.INTERIOR&&(this._isIn=!0),t===WP.BOUNDARY&&this._numBoundaries++}computeLocation(t,e){if(e instanceof hP&&this.updateLocationInfo(this.locateOnPoint(t,e)),e instanceof aP)this.updateLocationInfo(this.locateOnLineString(t,e));else if(e instanceof mP)this.updateLocationInfo(this.locateInPolygon(t,e));else if(e instanceof WN)for(var i=e,n=0;n0||this._isIn?WP.INTERIOR:WP.EXTERIOR)}getClass(){return sF}get interfaces_(){return[]}}sF.constructor_=function(){if(this._boundaryRule=lN.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new VR("Rule must be non-null");this._boundaryRule=t}};class oF{constructor(){oF.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===YN.SYM_DONTCARE||(e===YN.SYM_TRUE&&(t>=0||t===YN.TRUE)||(e===YN.SYM_FALSE&&t===YN.FALSE||(e===YN.SYM_P&&t===YN.P||(e===YN.SYM_L&&t===YN.L||e===YN.SYM_A&&t===YN.A))))}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new oF(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===YN.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])||oF.isTrue(this._matrix[WP.INTERIOR][WP.BOUNDARY])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.INTERIOR])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.BOUNDARY]))&&this._matrix[WP.EXTERIOR][WP.INTERIOR]===YN.FALSE&&this._matrix[WP.EXTERIOR][WP.BOUNDARY]===YN.FALSE}isCoveredBy(){return(oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])||oF.isTrue(this._matrix[WP.INTERIOR][WP.BOUNDARY])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.INTERIOR])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.BOUNDARY]))&&this._matrix[WP.INTERIOR][WP.EXTERIOR]===YN.FALSE&&this._matrix[WP.BOUNDARY][WP.EXTERIOR]===YN.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,i)}isWithin(){return oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])&&this._matrix[WP.INTERIOR][WP.EXTERIOR]===YN.FALSE&&this._matrix[WP.BOUNDARY][WP.EXTERIOR]===YN.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===YN.A&&e===YN.A||t===YN.L&&e===YN.L||t===YN.L&&e===YN.A||t===YN.P&&e===YN.A||t===YN.P&&e===YN.L)&&(this._matrix[WP.INTERIOR][WP.INTERIOR]===YN.FALSE&&(oF.isTrue(this._matrix[WP.INTERIOR][WP.BOUNDARY])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.INTERIOR])||oF.isTrue(this._matrix[WP.BOUNDARY][WP.BOUNDARY])))}isOverlaps(t,e){return t===YN.P&&e===YN.P||t===YN.A&&e===YN.A?oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])&&oF.isTrue(this._matrix[WP.INTERIOR][WP.EXTERIOR])&&oF.isTrue(this._matrix[WP.EXTERIOR][WP.INTERIOR]):t===YN.L&&e===YN.L&&(1===this._matrix[WP.INTERIOR][WP.INTERIOR]&&oF.isTrue(this._matrix[WP.INTERIOR][WP.EXTERIOR])&&oF.isTrue(this._matrix[WP.EXTERIOR][WP.INTERIOR]))}isEquals(t,e){return t===e&&(oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])&&this._matrix[WP.INTERIOR][WP.EXTERIOR]===YN.FALSE&&this._matrix[WP.BOUNDARY][WP.EXTERIOR]===YN.FALSE&&this._matrix[WP.EXTERIOR][WP.INTERIOR]===YN.FALSE&&this._matrix[WP.EXTERIOR][WP.BOUNDARY]===YN.FALSE)}toString(){for(var t=new sP("123456789"),e=0;e<3;e++)for(var i=0;i<3;i++)t.setCharAt(3*e+i,YN.toDimensionSymbol(this._matrix[e][i]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this._matrix[e][i]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new VR("Should be length 9: "+t);for(var e=0;e<3;e++)for(var i=0;i<3;i++)if(!oF.matches(this._matrix[e][i],t.charAt(3*e+i)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this.setAtLeast(e,i,t.get(e,i))}isDisjoint(){return this._matrix[WP.INTERIOR][WP.INTERIOR]===YN.FALSE&&this._matrix[WP.INTERIOR][WP.BOUNDARY]===YN.FALSE&&this._matrix[WP.BOUNDARY][WP.INTERIOR]===YN.FALSE&&this._matrix[WP.BOUNDARY][WP.BOUNDARY]===YN.FALSE}isCrosses(t,e){return t===YN.P&&e===YN.L||t===YN.P&&e===YN.A||t===YN.L&&e===YN.A?oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])&&oF.isTrue(this._matrix[WP.INTERIOR][WP.EXTERIOR]):t===YN.L&&e===YN.P||t===YN.A&&e===YN.P||t===YN.A&&e===YN.L?oF.isTrue(this._matrix[WP.INTERIOR][WP.INTERIOR])&&oF.isTrue(this._matrix[WP.EXTERIOR][WP.INTERIOR]):t===YN.L&&e===YN.L&&0===this._matrix[WP.INTERIOR][WP.INTERIOR]}getClass(){return oF}get interfaces_(){return[GR]}}oF.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map((()=>Array(3))),this.setAll(YN.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];oF.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof oF){let t=arguments[0];oF.constructor_.call(this),this._matrix[WP.INTERIOR][WP.INTERIOR]=t._matrix[WP.INTERIOR][WP.INTERIOR],this._matrix[WP.INTERIOR][WP.BOUNDARY]=t._matrix[WP.INTERIOR][WP.BOUNDARY],this._matrix[WP.INTERIOR][WP.EXTERIOR]=t._matrix[WP.INTERIOR][WP.EXTERIOR],this._matrix[WP.BOUNDARY][WP.INTERIOR]=t._matrix[WP.BOUNDARY][WP.INTERIOR],this._matrix[WP.BOUNDARY][WP.BOUNDARY]=t._matrix[WP.BOUNDARY][WP.BOUNDARY],this._matrix[WP.BOUNDARY][WP.EXTERIOR]=t._matrix[WP.BOUNDARY][WP.EXTERIOR],this._matrix[WP.EXTERIOR][WP.INTERIOR]=t._matrix[WP.EXTERIOR][WP.INTERIOR],this._matrix[WP.EXTERIOR][WP.BOUNDARY]=t._matrix[WP.EXTERIOR][WP.BOUNDARY],this._matrix[WP.EXTERIOR][WP.EXTERIOR]=t._matrix[WP.EXTERIOR][WP.EXTERIOR]}};class aF{constructor(){aF.constructor_.apply(this,arguments)}static isNorthern(t){return t===aF.NE||t===aF.NW}static isOpposite(t,e){return t!==e&&2===(t-e+4)%4}static commonHalfPlane(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var i=te?t:e)?3:i}static isInHalfPlane(t,e){return e===aF.SE?t===aF.SE||t===aF.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new VR("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?aF.NE:aF.SE:e>=0?aF.NW:aF.SW}if(arguments[0]instanceof nN&&arguments[1]instanceof nN){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new VR("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?aF.NE:aF.SE:e.y>=t.y?aF.NW:aF.SW}}getClass(){return aF}get interfaces_(){return[]}}aF.constructor_=function(){},aF.NE=0,aF.NW=1,aF.SW=2,aF.SE=3;class lF{constructor(){lF.constructor_.apply(this,arguments)}compareDirection(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrantthis.location.length){var e=new Array(3).fill(null);e[hF.ON]=this.location[hF.ON],e[hF.LEFT]=WP.NONE,e[hF.RIGHT]=WP.NONE,this.location=e}for(var i=0;i1&&t.append(WP.toLocationSymbol(this.location[hF.LEFT])),t.append(WP.toLocationSymbol(this.location[hF.ON])),this.location.length>1&&t.append(WP.toLocationSymbol(this.location[hF.RIGHT])),t.toString()}setLocations(t,e,i){this.location[hF.ON]=t,this.location[hF.LEFT]=e,this.location[hF.RIGHT]=i}get(t){return t1}isAnyNull(){for(var t=0;t=t.getNumPoints()&&null===n)return null;var s=t.getCoordinate(r);null!==n&&n.segmentIndex===i.segmentIndex&&(s=n.coord);var o=new lF(t,i.coord,s,new uF(t.getLabel()));e.add(o)}createEdgeEndForPrev(t,e,i,n){var r=i.segmentIndex;if(0===i.dist){if(0===r)return null;r--}var s=t.getCoordinate(r);null!==n&&n.segmentIndex>=r&&(s=n.coord);var o=new uF(t.getLabel());o.flip();var a=new lF(t,i.coord,s,o);e.add(a)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new yN,e=n;e.hasNext();){var i=e.next();this.computeEdgeEnds(i,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var r=n.iterator(),s=null,o=null;if(!r.hasNext())return null;var a=r.next();do{s=o,o=a,a=null,r.hasNext()&&(a=r.next()),null!==o&&(this.createEdgeEndForPrev(t,e,o,s),this.createEdgeEndForNext(t,e,o,a))}while(null!==o)}}getClass(){return gF}get interfaces_(){return[]}}gF.constructor_=function(){};class dF{constructor(){dF.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){iN.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return dF}get interfaces_(){return[]}}dF.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class AF extends dF{constructor(){super(),AF.constructor_.apply(this,arguments)}isIncidentEdgeInResult(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1}isIsolated(){return 1===this._label.getGeometryCount()}getCoordinate(){return this._coord}print(t){t.println("node "+this._coord+" lbl: "+this._label)}computeIM(t){}computeMergedLocation(t,e){var i=WP.NONE;if(i=this._label.getLocation(e),!t.isNull(e)){var n=t.getLocation(e);i!==WP.BOUNDARY&&(i=n)}return i}setLabel(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return super.setLabel.apply(this,arguments);{let t=arguments[0],e=arguments[1];null===this._label?this._label=new uF(t,e):this._label.setLocation(t,e)}}getEdges(){return this._edges}mergeLabel(){if(arguments[0]instanceof AF){let t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof uF){let i=arguments[0];for(var t=0;t<2;t++){var e=this.computeMergedLocation(i,t);this._label.getLocation(t)===WP.NONE&&this._label.setLocation(t,e)}}}add(t){this._edges.insert(t),t.setNode(this)}setLabelBoundary(t){if(null===this._label)return null;var e=WP.NONE;null!==this._label&&(e=this._label.getLocation(t));var i=null;switch(e){case WP.BOUNDARY:i=WP.INTERIOR;break;case WP.INTERIOR:default:i=WP.BOUNDARY}this._label.setLocation(t,i)}getClass(){return AF}get interfaces_(){return[]}}AF.constructor_=function(){this._coord=null,this._edges=null;let t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new uF(0,WP.NONE)};class pF{constructor(){pF.constructor_.apply(this,arguments)}find(t){return this.nodeMap.get(t)}addNode(){if(arguments[0]instanceof nN){let e=arguments[0];return null===(t=this.nodeMap.get(e))&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}if(arguments[0]instanceof AF){let e=arguments[0];var t;return null===(t=this.nodeMap.get(e.getCoordinate()))?(this.nodeMap.put(e.getCoordinate(),e),e):(t.mergeLabel(e),t)}}print(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}}iterator(){return this.nodeMap.values().iterator()}values(){return this.nodeMap.values()}getBoundaryNodes(t){for(var e=new yN,i=this.iterator();i.hasNext();){var n=i.next();n.getLabel().getLocation(t)===WP.BOUNDARY&&e.add(n)}return e}add(t){var e=t.getCoordinate();this.addNode(e).add(t)}getClass(){return pF}get interfaces_(){return[]}}pF.constructor_=function(){this.nodeMap=new ON,this.nodeFact=null;let t=arguments[0];this.nodeFact=t};class fF extends tN{constructor(){if(1===arguments.length){let t=arguments[0];super(t),tN.call(this,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];super(fF.msgWithCoord(t,e)),this.name="TopologyException",this.pt=new nN(e)}}getCoordinate(){return this.pt}get interfaces_(){return[]}getClass(){return fF}static msgWithCoord(t,e){return null!==e?t+" [ "+e+" ]":t}}class mF{constructor(){mF.constructor_.apply(this,arguments)}locate(t){}getClass(){return mF}get interfaces_(){return[]}}mF.constructor_=function(){};class _F{constructor(){_F.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return WP.EXTERIOR;var i=e.getExteriorRing(),n=_F.locatePointInRing(t,i);if(n!==WP.INTERIOR)return n;for(var r=0;re._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===EF.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return EF}get interfaces_(){return[YR]}}EF.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=EF.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._eventType=EF.INSERT,this._label=t,this._xValue=e,this._obj=i}},EF.INSERT=1,EF.DELETE=2;class CF{constructor(){CF.constructor_.apply(this,arguments)}getClass(){return CF}get interfaces_(){return[]}}CF.constructor_=function(){};const vF={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return vF.sort(t),t.get(0)},sort:function(t,e){const i=t.toArray();e?VN.sort(i,e):VN.sort(i);const n=t.iterator();for(let t=0,e=i.length;te||this._maxs?1:0}getClass(){return LF}get interfaces_(){return[$R]}}LF.constructor_=function(){},BF.NodeComparator=LF,BF.constructor_=function(){this._min=WR.POSITIVE_INFINITY,this._max=WR.NEGATIVE_INFINITY};class MF extends BF{constructor(){super(),MF.constructor_.apply(this,arguments)}query(t,e,i){if(!this.intersects(t,e))return null;i.visitItem(this._item)}getClass(){return MF}get interfaces_(){return[]}}MF.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],i=arguments[2];this._min=t,this._max=e,this._item=i};class TF extends BF{constructor(){super(),TF.constructor_.apply(this,arguments)}buildExtent(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)}query(t,e,i){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,i),null!==this._node2&&this._node2.query(t,e,i)}getClass(){return TF}get interfaces_(){return[]}}TF.constructor_=function(){this._node1=null,this._node2=null;let t=arguments[0],e=arguments[1];this._node1=t,this._node2=e,this.buildExtent(this._node1,this._node2)};class RF{constructor(){RF.constructor_.apply(this,arguments)}buildTree(){xF.sort(this._leaves,new BF.NodeComparator);for(var t=this._leaves,e=null,i=new yN;;){if(this.buildLevel(t,i),1===i.size())return i.get(0);e=t,t=i,i=e}}insert(t,e,i){if(null!==this._root)throw new IllegalStateException("Index cannot be added to once it has been queried");this._leaves.add(new MF(t,e,i))}query(t,e,i){this.init(),this._root.query(t,e,i)}buildRoot(){if(null!==this._root)return null;this._root=this.buildTree()}printNode(t){vN.out.println(XP.toLineString(new nN(t._min,this._level),new nN(t._max,this._level)))}init(){if(null!==this._root)return null;this.buildRoot()}buildLevel(t,e){this._level++,e.clear();for(var i=0;i=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof nN){let t=arguments[0];return pP.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof NF))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new eF;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof nN){let i=arguments[0];if(i.equals(this.p0)||i.equals(this.p1))return new nN(i);var t=this.projectionFactor(i),e=new nN;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof NF){let t=arguments[0];var i=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(i>=1&&n>=1)return null;if(i<=0&&n<=0)return null;var r=this.project(t.p0);i<0&&(r=this.p0),i>1&&(r=this.p1);var s=this.project(t.p1);return n<0&&(s=this.p0),n>1&&(s=this.p1),new NF(r,s)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return $P.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return NF.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,n=e*e+i*i;return n<=0?WR.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*i)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var i=new Array(2).fill(null),n=WR.MAX_VALUE,r=null,s=this.closestPoint(t.p0);n=s.distance(t.p0),i[0]=s,i[1]=t.p0;var o=this.closestPoint(t.p1);(r=o.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||WR.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof NF){let t=arguments[0];return $P.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof nN){let t=arguments[0];return $P.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new nN;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),i=java.lang.Double.doubleToLongBits(this.p1.x);return i^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^(Math.trunc(i)^Math.trunc(i>>32))}getClass(){return NF}get interfaces_(){return[YR,jR]}}NF.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)NF.constructor_.call(this,new nN,new nN);else if(1===arguments.length){let t=arguments[0];NF.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];NF.constructor_.call(this,new nN(t,e),new nN(i,n))}},NF.serialVersionUID=0x2d2172135f411c00;class PF{constructor(){PF.constructor_.apply(this,arguments)}static getGeometry(){if(1===arguments.length){let t=arguments[0];return t.getFactory().buildGeometry(PF.getLines(t))}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t.getFactory().buildGeometry(PF.getLines(t,e))}}static getLines(){if(1===arguments.length){let t=arguments[0];return PF.getLines(t,!1)}if(2===arguments.length){if(kR(arguments[0],AN)&&kR(arguments[1],AN)){let i=arguments[1];for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();PF.getLines(e,i)}return i}if(arguments[0]instanceof oN&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];var i=new yN;return t.apply(new PF(i,e)),i}if(arguments[0]instanceof oN&&kR(arguments[1],AN)){let t=arguments[0],e=arguments[1];return t instanceof aP?e.add(t):t.apply(new PF(e)),e}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&kR(arguments[0],AN)&&kR(arguments[1],AN)){let i=arguments[1],n=arguments[2];for(t=arguments[0].iterator();t.hasNext();){e=t.next();PF.getLines(e,i,n)}return i}if("boolean"==typeof arguments[2]&&arguments[0]instanceof oN&&kR(arguments[1],AN)){let t=arguments[1],e=arguments[2];return arguments[0].apply(new PF(t,e)),t}}}filter(t){if(this._isForcedToLineString&&t instanceof yP){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof aP&&this._lines.add(t)}setForceToLineString(t){this._isForcedToLineString=t}getClass(){return PF}get interfaces_(){return[zR]}}PF.constructor_=function(){if(this._lines=null,this._isForcedToLineString=!1,1===arguments.length){let t=arguments[0];this._lines=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._lines=t,this._isForcedToLineString=e}};class FF{constructor(){FF.constructor_.apply(this,arguments)}visitItem(t){this._items.add(t)}getItems(){return this._items}getClass(){return FF}get interfaces_(){return[bF]}}FF.constructor_=function(){this._items=new yN};class DF{constructor(){DF.constructor_.apply(this,arguments)}locate(t){var e=new iF(t),i=new OF(e);return this._index.query(t.y,t.y,i),e.getLocation()}getClass(){return DF}get interfaces_(){return[mF]}}class OF{constructor(){OF.constructor_.apply(this,arguments)}visitItem(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))}getClass(){return OF}get interfaces_(){return[bF]}}OF.constructor_=function(){this._counter=null;let t=arguments[0];this._counter=t};class QF{constructor(){QF.constructor_.apply(this,arguments)}init(t){for(var e=PF.getLines(t).iterator();e.hasNext();){var i=e.next().getCoordinates();this.addLine(i)}}addLine(t){for(var e=1;e0||!e.coord.equals2D(n);r||i--;var s=new Array(i).fill(null),o=0;s[o++]=new nN(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)s[o++]=this.edge.pts[a];return r&&(s[o]=e.coord),new zF(s,new uF(this.edge._label))}add(t,e,i){var n=new kF(t,e,i),r=this._nodeMap.get(n);return null!==r?r:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1}getClass(){return GF}get interfaces_(){return[]}}GF.constructor_=function(){this._nodeMap=new ON,this.edge=null;let t=arguments[0];this.edge=t};class UF{constructor(){UF.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),i=0;ii?e:i}getMinX(t){var e=this.pts[this.startIndex[t]].x,i=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][i]=n}}}getDelta(t){return this._depth[t][hF.RIGHT]-this._depth[t][hF.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?WP.EXTERIOR:WP.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var i=n.getLocation(t,e);i!==WP.EXTERIOR&&i!==WP.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=VF.depthAtLocation(i):this._depth[t][e]+=VF.depthAtLocation(i))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===WP.INTERIOR&&this._depth[t][e]++}}getClass(){return VF}get interfaces_(){return[]}}VF.constructor_=function(){this._depth=Array(2).fill().map((()=>Array(3)));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=VF.NULL_VALUE},VF.NULL_VALUE=-1;class zF extends dF{constructor(){super(),zF.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof oF&&arguments[0]instanceof uF))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,hF.ON),t.getLocation(1,hF.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,hF.LEFT),t.getLocation(1,hF.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,hF.RIGHT),t.getLocation(1,hF.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new zF(t,uF.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof zF))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var i=!0,n=!0,r=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){zF.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new qF(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new sN;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;e=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),i=0,n=t.iterator();n.hasNext();){var r=n.next();e[i++]=r.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,i){if(this.isBoundaryNode(t,e))return null;i===WP.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,i)}addPolygonRing(t,e,i){if(t.isEmpty())return null;var n=xN.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var r=e,s=i;pP.isCCW(n)&&(r=i,s=e);var o=new zF(n,new uF(this._argIndex,WP.BOUNDARY,r,s));this._lineEdgeMap.put(t,o),this.insertEdge(o),this.insertPoint(this._argIndex,n[0],WP.BOUNDARY)}insertPoint(t,e,i){var n=this._nodes.addNode(e),r=n.getLabel();null===r?n._label=new uF(t,i):r.setLocation(t,i)}createEdgeSetIntersector(){return new SF}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.eiList.iterator();r.hasNext();){var s=r.next();this.addSelfIntersectionNode(t,s.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof oN))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof IP&&(this._useBoundaryDeterminationRule=!1),t instanceof mP)this.addPolygon(t);else if(t instanceof aP)this.addLineString(t);else if(t instanceof hP)this.addPoint(t);else if(t instanceof _P)this.addCollection(t);else if(t instanceof WN)this.addCollection(t);else if(t instanceof IP)this.addCollection(t);else{if(!(t instanceof XN))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new DF(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof aP){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return XF}get interfaces_(){return[]}}XF.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new FP,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new sF,2===arguments.length){let t=arguments[0],e=arguments[1];XF.constructor_.call(this,t,e,lN.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=i,null!==e&&this.add(e)}};class WF extends lF{constructor(){super(),WF.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();){e.next().print(t),t.println()}}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var i=0,n=!1,r=this.iterator();r.hasNext();){(s=r.next().getLabel().getLocation(t))===WP.BOUNDARY&&i++,s===WP.INTERIOR&&(n=!0)}var s=WP.NONE;n&&(s=WP.INTERIOR),i>0&&(s=XF.determineBoundary(e,i)),this._label.setLocation(t,s)}computeLabelSide(t,e){for(var i=this.iterator();i.hasNext();){var n=i.next();if(n.getLabel().isArea()){var r=n.getLabel().getLocation(t,e);if(r===WP.INTERIOR)return this._label.setLocation(t,e,WP.INTERIOR),null;r===WP.EXTERIOR&&this._label.setLocation(t,e,WP.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,hF.LEFT),this.computeLabelSide(t,hF.RIGHT)}updateIM(t){zF.updateIM(this._label,t)}computeLabel(t){for(var e=!1,i=this.iterator();i.hasNext();){i.next().getLabel().isArea()&&(e=!0)}this._label=e?new uF(WP.NONE,WP.NONE,WP.NONE):new uF(WP.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return WF}get interfaces_(){return[]}}WF.constructor_=function(){if(this._edgeEnds=new yN,1===arguments.length){let t=arguments[0];WF.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];lF.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new uF(t.getLabel())),this.insert(t)}};class KF extends yF{constructor(){super(),KF.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();){e.next().updateIM(t)}}insert(t){var e=this._edgeMap.get(t);null===e?(e=new WF(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return KF}get interfaces_(){return[]}}KF.constructor_=function(){};class JF extends AF{constructor(){super(),JF.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return JF}get interfaces_(){return[]}}JF.constructor_=function(){let t=arguments[0],e=arguments[1];AF.constructor_.call(this,t,e)};class ZF extends jF{constructor(){super(),ZF.constructor_.apply(this,arguments)}createNode(t){return new JF(t,new KF)}getClass(){return ZF}get interfaces_(){return[]}}ZF.constructor_=function(){};class $F{constructor(){$F.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var i=e.next();this._nodes.add(i)}}computeProperIntersectionIM(t,e){var i=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),r=t.hasProperIntersection(),s=t.hasProperInteriorIntersection();2===i&&2===n?r&&e.setAtLeast("212101212"):2===i&&1===n?(r&&e.setAtLeast("FFF0FFFF2"),s&&e.setAtLeast("1FFFFF1FF")):1===i&&2===n?(r&&e.setAtLeast("F0FFFFFF2"),s&&e.setAtLeast("1F1FFFFFF")):1===i&&1===n&&s&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var i=this._arg[t].getEdgeIterator();i.hasNext();){var n=i.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,i){if(i.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),i);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,WP.EXTERIOR)}computeIM(){var t=new oF;if(t.set(WP.EXTERIOR,WP.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var i=new gF,n=i.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var r=i.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(r),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();){t.next().getEdges().computeLabelling(this._arg)}}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var i=e.next();this._nodes.addNode(i.getCoordinate()).setLabel(t,i.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this._nodes.find(s.coord);o.getLabel().isNull(t)&&(n===WP.BOUNDARY?o.setLabelBoundary(t):o.setLabel(t,WP.INTERIOR))}}labelIsolatedNode(t,e){var i=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,i)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var i=e.next(),n=i.getLabel().getLocation(t),r=i.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this._nodes.addNode(s.coord);n===WP.BOUNDARY?o.setLabelBoundary(t):o.getLabel().isNull(t)&&o.setLabel(t,WP.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),i=e.getLabel();iN.isTrue(i.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(i.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();){e.next().updateIM(t)}for(var i=this._nodes.iterator();i.hasNext();){var n=i.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(WP.INTERIOR,WP.EXTERIOR,e.getDimension()),t.set(WP.BOUNDARY,WP.EXTERIOR,e.getBoundaryDimension()));var i=this._arg[1].getGeometry();i.isEmpty()||(t.set(WP.EXTERIOR,WP.INTERIOR,i.getDimension()),t.set(WP.EXTERIOR,WP.BOUNDARY,i.getBoundaryDimension()))}getClass(){return $F}get interfaces_(){return[]}}$F.constructor_=function(){this._li=new eF,this._ptLocator=new sF,this._arg=null,this._nodes=new pF(new ZF),this._im=null,this._isolatedEdges=new yN,this._invalidPoint=null;let t=arguments[0];this._arg=t};class tD{constructor(){tD.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return tD}get interfaces_(){return[]}}tD.constructor_=function(){if(this._li=new eF,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new XF(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];tD.constructor_.call(this,t,e,lN.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new XF(0,t,i),this._arg[1]=new XF(1,e,i)}};class eD{constructor(){eD.constructor_.apply(this,arguments)}static contains(t,e){return new eD(t).contains(e)}isContainedInBoundary(t){if(t instanceof mP)return!1;if(t instanceof hP)return this.isPointContainedInBoundary(t);if(t instanceof aP)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var r=!1;return e.y>t.y&&(r=!0),r?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return iD}get interfaces_(){return[]}}iD.constructor_=function(){this._li=new eF,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new nN(t.getMinX(),t.getMinY()),this._diagUp1=new nN(t.getMaxX(),t.getMaxY()),this._diagDown0=new nN(t.getMinX(),t.getMaxY()),this._diagDown1=new nN(t.getMaxX(),t.getMinY())};class nD{constructor(){nD.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return sD}get interfaces_(){return[]}}sD.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class oD extends nD{constructor(){super(),oD.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof mP))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var i=new nN,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,i),e.contains(i)&&_F.containsPointInPolygon(i,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return oD}get interfaces_(){return[]}}oD.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class aD extends nD{constructor(){super(),aD.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var i=PF.getLines(t);this.checkIntersectionWithLineStrings(i)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var i=e.next();if(this.checkIntersectionWithSegments(i),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),i=1;i0)&&(!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new lD(t,e).getIntersectionMatrix().isCovers())))}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return rD.intersects(t,e);if(e.isRectangle())return rD.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var i=0;i0)&&(!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?eD.contains(t,e):new lD(t,e).getIntersectionMatrix().isContains())))}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return lD}get interfaces_(){return[]}}lD.constructor_=function(){if(this._relate=null,2===arguments.length){let t=arguments[0],e=arguments[1];tD.constructor_.call(this,t,e),this._relate=new $F(this._arg)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],i=arguments[2];tD.constructor_.call(this,t,e,i),this._relate=new $F(this._arg)}};const hD=t=>{let e=t,i=[];return e instanceof _I?i=[...e.getFeatures().map((t=>t.getGeometry()))]:(UB(e)||(e=[e]),i=e.map((t=>{let e;return t instanceof DL?e=t.getGeometry():zB(t)&&(e=t),e}))),i},cD=(t,e)=>{let i="";const n=new cM;return e.forEach(((e,r)=>{0!==r&&(i+=" OR ");const s=e;"point"===s.type.toLowerCase()&&(s.coordinates.length=2);const o=n.write(s);i+=`${t}({{geometryName}}, ${o})`})),i},uD=["fullscreenchange","webkitfullscreenchange","MSFullscreenChange"],gD="enterfullscreen",dD="leavefullscreen";function AD(t){const e=t.body;return!!(e.webkitRequestFullscreen||e.requestFullscreen&&t.fullscreenEnabled)}function pD(t){return!(!t.webkitIsFullScreen&&!t.fullscreenElement)}function fD(t){t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen()}const mD=class extends Lh{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target}),this.on,this.once,this.un,this.keys_=void 0!==t.keys&&t.keys,this.source_=t.source,this.isInFullscreen_=!1,this.boundHandleMapTargetChange_=this.handleMapTargetChange_.bind(this),this.cssClassName_=void 0!==t.className?t.className:"ol-full-screen",this.documentListeners_=[],this.activeClassName_=void 0!==t.activeClassName?t.activeClassName.split(" "):[this.cssClassName_+"-true"],this.inactiveClassName_=void 0!==t.inactiveClassName?t.inactiveClassName.split(" "):[this.cssClassName_+"-false"];const e=void 0!==t.label?t.label:"⤢";this.labelNode_="string"==typeof e?document.createTextNode(e):e;const i=void 0!==t.labelActive?t.labelActive:"×";this.labelActiveNode_="string"==typeof i?document.createTextNode(i):i;const n=t.tipLabel?t.tipLabel:"Toggle full-screen";this.button_=document.createElement("button"),this.button_.title=n,this.button_.setAttribute("type","button"),this.button_.appendChild(this.labelNode_),this.button_.addEventListener(Ms,this.handleClick_.bind(this),!1),this.setClassName_(this.button_,this.isInFullscreen_),this.element.className=`${this.cssClassName_} ${Il} ${Cl}`,this.element.appendChild(this.button_)}handleClick_(t){t.preventDefault(),this.handleFullScreen_()}handleFullScreen_(){const t=this.getMap();if(!t)return;const e=t.getOwnerDocument();if(AD(e))if(pD(e))!function(t){t.exitFullscreen?t.exitFullscreen():t.webkitExitFullscreen&&t.webkitExitFullscreen()}(e);else{let i;i=this.source_?"string"==typeof this.source_?e.getElementById(this.source_):this.source_:t.getTargetElement(),this.keys_?function(t){t.webkitRequestFullscreen?t.webkitRequestFullscreen():fD(t)}(i):fD(i)}}handleFullScreenChange_(){const t=this.getMap();if(!t)return;const e=this.isInFullscreen_;this.isInFullscreen_=pD(t.getOwnerDocument()),e!==this.isInFullscreen_&&(this.setClassName_(this.button_,this.isInFullscreen_),this.isInFullscreen_?(Tl(this.labelActiveNode_,this.labelNode_),this.dispatchEvent(gD)):(Tl(this.labelNode_,this.labelActiveNode_),this.dispatchEvent(dD)),t.updateSize())}setClassName_(t,e){e?(t.classList.remove(...this.inactiveClassName_),t.classList.add(...this.activeClassName_)):(t.classList.remove(...this.activeClassName_),t.classList.add(...this.inactiveClassName_))}setMap(t){const e=this.getMap();e&&e.removeChangeListener(yh,this.boundHandleMapTargetChange_),super.setMap(t),this.handleMapTargetChange_(),t&&t.addChangeListener(yh,this.boundHandleMapTargetChange_)}handleMapTargetChange_(){const t=this.documentListeners_;for(let e=0,i=t.length;e=0;e--)r.push(n[t][e]);return{hasZ:i.hasZ,hasM:i.hasM,rings:r}}};function ED(t,e){if(!t)return null;let i;if("number"==typeof t.x&&"number"==typeof t.y)i="Point";else if(t.points)i="MultiPoint";else if(t.paths){i=1===t.paths.length?"LineString":"MultiLineString"}else if(t.rings){const e=t,n=CD(e),r=function(t,e){const i=[],n=[],r=[];let s,o;for(s=0,o=t.length;s=0;s--){const i=n[s][0];if(D(new Ga(i).getExtent(),new Ga(t).getExtent())){n[s].push(t),e=!0;break}}e||n.push([t.reverse()])}return n}(e.rings,n);1===r.length?(i="Polygon",t=Object.assign({},t,{rings:r[0]})):(i="MultiPolygon",t=Object.assign({},t,{rings:r}))}return KE((0,yD[i])(t),!1,e)}function CD(t){let e="XY";return!0===t.hasZ&&!0===t.hasM?e="XYZM":!0===t.hasZ?e="XYZ":!0===t.hasM&&(e="XYM"),e}function vD(t){const e=t.getLayout();return{hasZ:"XYZ"===e||"XYZM"===e,hasM:"XYM"===e||"XYZM"===e}}function xD(t,e){return(0,ID[t.getType()])(KE(t,!0,e),e)}const wD=class extends vS{constructor(t){t=t||{},super(),this.geometryName_=t.geometryName}readFeatureFromObject(t,e,i){const n=t,r=ED(n.geometry,e),s=new _d;if(this.geometryName_&&s.setGeometryName(this.geometryName_),s.setGeometry(r),n.attributes){s.setProperties(n.attributes,!0);const t=n.attributes[i];void 0!==t&&s.setId(t)}return s}readFeaturesFromObject(t,e){if(e=e||{},t.features){const i=[],n=t.features;for(let r=0,s=n.length;r1,n=i&&t.imageInfo.profile[1].supports?t.imageInfo.profile[1].supports:[],r=i&&t.imageInfo.profile[1].formats?t.imageInfo.profile[1].formats:[],s=i&&t.imageInfo.profile[1].qualities?t.imageInfo.profile[1].qualities:[];return{url:t.imageInfo["@id"].replace(/\/?(?:info\.json)?$/g,""),sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return void 0===t.height?t.width:t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:[...e.supports,...n],formats:[...e.formats,...r],qualities:[...e.qualities,...s]}},_O[dO]=function(t){const e=t.getComplianceLevelSupportedFeatures(),i=void 0===t.imageInfo.extraFormats?e.formats:[...e.formats,...t.imageInfo.extraFormats],n=void 0!==t.imageInfo.preferredFormats&&Array.isArray(t.imageInfo.preferredFormats)&&t.imageInfo.preferredFormats.length>0?t.imageInfo.preferredFormats.filter((function(t){return["jpg","png","gif"].includes(t)})).reduce((function(t,e){return void 0===t&&i.includes(e)?e:t}),void 0):void 0;return{url:t.imageInfo.id,sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:void 0===t.imageInfo.extraFeatures?e.supports:[...e.supports,...t.imageInfo.extraFeatures],formats:i,qualities:void 0===t.imageInfo.extraQualities?e.qualities:[...e.qualities,...t.imageInfo.extraQualities],preferredFormat:n}};const yO=class{constructor(t){this.setImageInfo(t)}setImageInfo(t){this.imageInfo="string"==typeof t?JSON.parse(t):t}getImageApiVersion(){if(void 0===this.imageInfo)return;let t=this.imageInfo["@context"]||"ol-no-context";"string"==typeof t&&(t=[t]);for(let e=0;e0&&"string"==typeof this.imageInfo.profile[0]&&fO.test(this.imageInfo.profile[0]))return this.imageInfo.profile[0]}}getComplianceLevelFromProfile(t){const e=this.getComplianceLevelEntryFromProfile(t);if(void 0===e)return;const i=e.match(/level[0-2](?:\.json)?$/g);return Array.isArray(i)?i[0].replace(".json",""):void 0}getComplianceLevelSupportedFeatures(){if(void 0===this.imageInfo)return;const t=this.getImageApiVersion(),e=this.getComplianceLevelFromProfile(t);return void 0===e?AO.none.none:AO[t][e]}getTileSourceOptions(t){const e=t||{},i=this.getImageApiVersion();if(void 0===i)return;const n=void 0===i?void 0:_O[i](this);return void 0!==n?{url:n.url,version:i,size:[this.imageInfo.width,this.imageInfo.height],sizes:n.sizes,format:void 0!==e.format&&n.formats.includes(e.format)?e.format:void 0!==n.preferredFormat?n.preferredFormat:"jpg",supports:n.supports,quality:e.quality&&n.qualities.includes(e.quality)?e.quality:n.qualities.includes("native")?"native":"default",resolutions:Array.isArray(n.resolutions)?n.resolutions.sort((function(t,e){return e-t})):void 0,tileSize:n.tileSize}:void 0}},IO=[null],EO=aA(IO,{nd:function(t,e){const i=e[e.length-1];i.ndrefs.push(t.getAttribute("ref")),t.hasAttribute("lon")&&t.hasAttribute("lat")&&(i.flatCoordinates.push(parseFloat(t.getAttribute("lon"))),i.flatCoordinates.push(parseFloat(t.getAttribute("lat"))))},tag:xO}),CO=aA(IO,{node:function(t,e){const i=e[0],n=e[e.length-1],r=t.getAttribute("id"),s=[parseFloat(t.getAttribute("lon")),parseFloat(t.getAttribute("lat"))];n.nodes[r]=s;const o=hA({tags:{}},vO,t,e);if(!ws(o.tags)){const t=new qa(s);KE(t,!1,i);const e=new _d(t);void 0!==r&&e.setId(r),e.setProperties(o.tags,!0),n.features.push(e)}},way:function(t,e){const i=t.getAttribute("id"),n=hA({id:i,ndrefs:[],flatCoordinates:[],tags:{}},EO,t,e);e[e.length-1].ways.push(n)}});const vO=aA(IO,{tag:xO});function xO(t,e){e[e.length-1].tags[t.getAttribute("k")]=t.getAttribute("v")}const wO=class extends ZE{constructor(){super(),this.dataProjection=ee("EPSG:4326")}readFeaturesFromNode(t,e){if(e=this.getReadOptions(t,e),"osm"==t.localName){const i=hA({nodes:{},ways:[],features:[]},CO,t,[e]);for(let t=0;t>1):i>>1}return e}(t);for(let t=0,n=i.length;t=32;)e=63+(32|31&t),i+=String.fromCharCode(e),t>>=5;return e=t+63,i+=String.fromCharCode(e),i}const RO=class extends qL{constructor(t){super(),t=t||{},this.dataProjection=ee("EPSG:4326"),this.factor_=t.factor?t.factor:1e5,this.geometryLayout_=t.geometryLayout?t.geometryLayout:"XY"}readFeatureFromText(t,e){const i=this.readGeometryFromText(t,e);return new _d(i)}readFeaturesFromText(t,e){return[this.readFeatureFromText(t,e)]}readGeometryFromText(t,e){const i=ya(this.geometryLayout_),n=BO(t,i,this.factor_);SO(n,0,n.length,i,n);const r=Pa(n,0,n.length,i);return KE(new wd(r,this.geometryLayout_),!1,this.adaptOptions(e))}writeFeatureText(t,e){const i=t.getGeometry();if(i)return this.writeGeometryText(i,e);throw new Error("Expected `feature` to have a geometry")}writeFeaturesText(t,e){return this.writeFeatureText(t[0],e)}writeGeometryText(t,e){const i=(t=KE(t,!0,this.adaptOptions(e))).getFlatCoordinates(),n=t.getStride();return SO(i,0,i.length,n,i),bO(i,n,this.factor_)}};const NO={Point:function(t,e,i){const n=t.coordinates;e&&i&&QO(n,e,i);return new qa(n)},LineString:function(t,e){const i=PO(t.arcs,e);return new wd(i)},Polygon:function(t,e){const i=[];for(let n=0,r=t.arcs.length;n0&&i.pop(),n>=0){const t=e[n];for(let e=0,n=t.length;e=0;--e)i.push(t[e].slice(0))}return i}function FO(t,e,i,n,r,s,o){const a=t.geometries,l=[];for(let t=0,h=a.length;t0,i=this.readUint32(e),n=Math.floor((268435455&i)/1e3),r=Boolean(2147483648&i)||1===n||3===n,s=Boolean(1073741824&i)||2===n||3===n,o=Boolean(536870912&i),a=(268435455&i)%1e3,l=["XY",r?"Z":"",s?"M":""].join(""),h=o?this.readUint32(e):null;if(void 0!==t&&t!==a)throw new Error("Unexpected WKB geometry type "+a);if(this.initialized_){if(this.isLittleEndian_!==e)throw new Error("Inconsistent endian");if(this.layout_!==l)throw new Error("Inconsistent geometry layout");if(h&&this.srid_!==h)throw new Error("Inconsistent coordinate system (SRID)")}else this.isLittleEndian_=e,this.hasZ_=r,this.hasM_=s,this.layout_=l,this.srid_=h,this.initialized_=!0;return a}readWkbPayload(t){switch(t){case GO:return this.readPoint();case UO:return this.readLineString();case qO:case WO:return this.readPolygon();case VO:return this.readMultiPoint();case zO:return this.readMultiLineString();case YO:case HO:case XO:return this.readMultiPolygon();case jO:return this.readGeometryCollection();default:throw new Error("Unsupported WKB geometry type "+t+" is found")}}readWkbBlock(t){return this.readWkbPayload(this.readWkbHeader(t))}readWkbCollection(t,e){const i=this.readUint32(),n=[];for(let r=0;r({[e]:t[i]}))));for(const t of this.layout_)this.writeDouble(t in i?i[t]:this.nodata_[t])}writeLineString(t,e){this.writeUint32(t.length);for(let i=0;it+e[0]),0),e=new ArrayBuffer(t),i=new DataView(e);let n=0;return this.writeQueue_.forEach((t=>{switch(t[0]){case 1:i.setUint8(n,t[1]);break;case 4:i.setUint32(n,t[1],this.isLittleEndian_);break;case 8:i.setFloat64(n,t[1],this.isLittleEndian_)}n+=t[0]})),e}}function ZO(t){return"string"==typeof t?function(t){const e=new Uint8Array(t.length/2);for(let i=0;inew _d({geometry:t})))}readGeometry(t,e){const i=ZO(t);if(!i)return null;const n=new KO(i).readGeometry();return this.viewCache_=i,e=this.getReadOptions(t,e),this.viewCache_=null,KE(n,!1,e)}readProjection(t){const e=this.viewCache_||ZO(t);if(!e)return;const i=new KO(e);return i.readWkbHeader(),i.getSrid()&&ee("EPSG:"+i.getSrid())||void 0}writeFeature(t,e){return this.writeGeometry(t.getGeometry(),e)}writeFeatures(t,e){return this.writeGeometry(new Od(t.map((t=>t.getGeometry()))),e)}writeGeometry(t,e){e=this.adaptOptions(e);const i=new JO({layout:this.layout_,littleEndian:this.littleEndian_,ewkb:this.ewkb_,nodata:{Z:this.nodataZ_,M:this.nodataM_}});let n=Number.isInteger(this.srid_)?Number(this.srid_):null;if(!1!==this.srid_&&!Number.isInteger(this.srid_)){const t=e.dataProjection&&ee(e.dataProjection);if(t){const e=t.getCode();e.startsWith("EPSG:")&&(n=Number(e.substring(5)))}}i.writeGeometry(KE(t,!0,e),n);const r=i.getBuffer();return this.hex_?function(t){const e=new Uint8Array(t);return Array.from(e.values()).map((t=>(t<16?"0":"")+Number(t).toString(16).toUpperCase())).join("")}(r):r}};const tQ=class extends ZE{constructor(t){super(),t=t||{},this.featureNS_="http://mapserver.gis.umn.edu/mapserver",this.gmlFormat_=new oC,this.layers_=t.layers?t.layers:null}getLayers(){return this.layers_}setLayers(t){this.layers_=t}readFeatures_(t,e){t.setAttribute("namespaceURI",this.featureNS_);const i=t.localName;let n=[];if(0===t.childNodes.length)return n;if("msGMLOutput"==i)for(let i=0,r=t.childNodes.length;i1?1:-1;return e.endInteraction(this.duration_,i),this.handlingDownUpSequence_=!1,this.handlingDoubleDownSequence_=!1,!1}return!0}stopDown(t){return t}updateTrackedPointers_(t){if(function(t){const e=t.type;return e===oh.POINTERDOWN||e===oh.POINTERDRAG||e===oh.POINTERUP}(t)){const e=t.originalEvent,i=e.pointerId.toString();t.type==oh.POINTERUP?delete this.trackedPointers_[i]:(t.type==oh.POINTERDOWN||i in this.trackedPointers_)&&(this.trackedPointers_[i]=e),this.targetPointers=Object.values(this.trackedPointers_)}}waitForDblTap_(){void 0!==this.doubleTapTimeoutId_?(clearTimeout(this.doubleTapTimeoutId_),this.doubleTapTimeoutId_=void 0):(this.handlingDoubleDownSequence_=!0,this.doubleTapTimeoutId_=setTimeout(this.endInteraction_.bind(this),250))}endInteraction_(){this.handlingDoubleDownSequence_=!1,this.doubleTapTimeoutId_=void 0}},iQ="addfeatures";class nQ extends us{constructor(t,e,i,n){super(t),this.features=i,this.file=e,this.projection=n}}const rQ=class extends Dh{constructor(t){t=t||{},super({handleEvent:Is}),this.on,this.once,this.un,this.readAsBuffer_=!1,this.formats_=[];const e=t.formatConstructors?t.formatConstructors:[];for(let t=0,i=e.length;t0){this.source_&&(this.source_.clear(),this.source_.addFeatures(l)),this.dispatchEvent(new nQ(iQ,t,l,s));break}}}registerListeners_(){const t=this.getMap();if(t){const e=this.target?this.target:t.getViewport();this.dropListenKeys_=[Gs(e,Ps,this.handleDrop,this),Gs(e,Rs,this.handleStop,this),Gs(e,Ns,this.handleStop,this),Gs(e,Ps,this.handleStop,this)]}}setActive(t){!this.getActive()&&t&&this.registerListeners_(),this.getActive()&&!t&&this.unregisterListeners_(),super.setActive(t)}setMap(t){this.unregisterListeners_(),super.setMap(t),this.getActive()&&this.registerListeners_()}tryReadFeatures_(t,e,i){try{return t.readFeatures(e,i)}catch(t){return null}}unregisterListeners_(){this.dropListenKeys_&&(this.dropListenKeys_.forEach(qs),this.dropListenKeys_=null)}handleDrop(t){const e=t.dataTransfer.files;for(let t=0,i=e.length;t1?1:-1;return e.endInteraction(this.duration_,i),this.lastScaleDelta_=0,!1}handleDownEvent(t){return!!$h(t)&&(!!this.condition_(t)&&(t.map.getView().beginInteraction(),this.lastAngle_=void 0,this.lastMagnitude_=void 0,!0))}},oQ="drawstart",aQ="drawend",lQ="drawabort";class hQ extends us{constructor(t,e){super(t),this.feature=e}}function cQ(t,e){return pt(t[0],t[1],e[0],e[1])}function uQ(t,e){const i=t.length;return e<0?t[e+i]:e>=i?t[e-i]:t[e]}function gQ(t,e,i){let n,r;eo){return cQ(_Q(t,n),_Q(t,r))}let a=0;if(n=i?n-=i:n<0&&(n+=i);let s=n+1;s>=i&&(s-=i);const o=t[n],a=o[0],l=o[1],h=t[s];return[a+(h[0]-a)*r,l+(h[1]-l)*r]}function yQ(){const t=Tm();return function(e,i){return t[e.getGeometry().getType()]}}const IQ=class extends kh{constructor(t){const e=t;e.stopDown||(e.stopDown=Es),super(e),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=t.source?t.source:null,this.features_=t.features?t.features:null,this.snapTolerance_=t.snapTolerance?t.snapTolerance:12,this.type_=t.type,this.mode_=function(t){switch(t){case"Point":case"MultiPoint":return"Point";case"LineString":case"MultiLineString":return"LineString";case"Polygon":case"MultiPolygon":return"Polygon";case"Circle":return"Circle";default:throw new Error("Invalid type: "+t)}}(this.type_),this.stopClick_=!!t.stopClick,this.minPoints_=t.minPoints?t.minPoints:"Polygon"===this.mode_?3:2,this.maxPoints_="Circle"===this.mode_?2:t.maxPoints?t.maxPoints:1/0,this.finishCondition_=t.finishCondition?t.finishCondition:Is,this.geometryLayout_=t.geometryLayout?t.geometryLayout:"XY";let i=t.geometryFunction;if(!i){const t=this.mode_;if("Circle"===t)i=function(t,e,i){const n=e||new kd([NaN,NaN]),r=fe(t[0],i),s=Ft(r,fe(t[t.length-1],i));n.setCenterAndRadius(r,Math.sqrt(s),this.geometryLayout_);const o=Ae();return o&&n.transform(i,o),n};else{let e;"Point"===t?e=qa:"LineString"===t?e=wd:"Polygon"===t&&(e=sl),i=function(i,n,r){return n?"Polygon"===t?i[0].length?n.setCoordinates([i[0].concat([i[0][0]])],this.geometryLayout_):n.setCoordinates([],this.geometryLayout_):n.setCoordinates(i,this.geometryLayout_):n=new e(i,this.geometryLayout_),n}}}this.geometryFunction_=i,this.dragVertexDelay_=void 0!==t.dragVertexDelay?t.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=t.clickTolerance?t.clickTolerance*t.clickTolerance:36,this.overlay_=new Sy({source:new kf({useSpatialIndex:!1,wrapX:!!t.wrapX&&t.wrapX}),style:t.style?t.style:yQ(),updateWhileInteracting:!0}),this.geometryName_=t.geometryName,this.condition_=t.condition?t.condition:Wh,this.freehandCondition_,t.freehand?this.freehandCondition_=Yh:this.freehandCondition_=t.freehandCondition?t.freehandCondition:Jh,this.traceCondition_,this.setTrace(t.trace||!1),this.traceState_={active:!1},this.traceSource_=t.traceSource||t.source||null,this.addChangeListener(Ph,this.updateState_)}setTrace(t){let e;e=t?!0===t?Yh:t:Hh,this.traceCondition_=e}setMap(t){super.setMap(t),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(t){t.originalEvent.type===Ls&&t.originalEvent.preventDefault(),this.freehand_="Point"!==this.mode_&&this.freehandCondition_(t);let e=t.type===oh.POINTERMOVE,i=!0;if(!this.freehand_&&this.lastDragTime_&&t.type===oh.POINTERDRAG){Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=t.pixel,this.shouldHandle_=!this.freehand_,e=!0):this.lastDragTime_=void 0,this.shouldHandle_&&void 0!==this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)}return this.freehand_&&t.type===oh.POINTERDRAG&&null!==this.sketchFeature_?(this.addToDrawing_(t.coordinate),i=!1):this.freehand_&&t.type===oh.POINTERDOWN?i=!1:e&&this.getPointerCount()<2?(i=t.type===oh.POINTERMOVE,i&&this.freehand_?(this.handlePointerMove_(t),this.shouldHandle_&&t.originalEvent.preventDefault()):("mouse"===t.originalEvent.pointerType||t.type===oh.POINTERDRAG&&void 0===this.downTimeout_)&&this.handlePointerMove_(t)):t.type===oh.DBLCLICK&&(i=!1),super.handleEvent(t)&&i}handleDownEvent(t){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=t.pixel,this.finishCoordinate_||this.startDrawing_(t.coordinate),!0):this.condition_(t)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout((()=>{this.handlePointerMove_(new sh(oh.POINTERMOVE,t.map,t.originalEvent,!1,t.frameState))}),this.dragVertexDelay_),this.downPx_=t.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(t){if(!this.traceSource_||!this.traceCondition_(t))return;if(this.traceState_.active)return void this.deactivateTrace_();const e=this.getMap(),i=T([e.getCoordinateFromPixel([t.pixel[0]-this.snapTolerance_,t.pixel[1]+this.snapTolerance_]),e.getCoordinateFromPixel([t.pixel[0]+this.snapTolerance_,t.pixel[1]-this.snapTolerance_])]),n=this.traceSource_.getFeaturesInExtent(i);if(0===n.length)return;const r=function(t,e){const i=[];for(let n=0;nt.endIndex||!i&&et.endIndex)&&this.removeTracedCoordinates_(e,t.endIndex):(this.removeTracedCoordinates_(t.startIndex,t.endIndex),this.addTracedCoordinates_(t,t.startIndex,e))}removeTracedCoordinates_(t,e){if(t===e)return;let i=0;if(t0&&this.removeLastPoints_(i)}addTracedCoordinates_(t,e,i){if(e===i)return;const n=[];if(e=s;--e)n.push(uQ(t.coordinates,e))}n.length&&this.appendCoordinates(n)}updateTrace_(t){const e=this.traceState_;if(!e.active)return;if(-1===e.targetIndex&&Dt(e.startPx,t.pixel)i.startIndex?hi.startIndex&&(h-=n.length)),l=h,a=t)}const h=e.targets[a];let c=h.ring;if(e.targetIndex===a&&c){const t=_Q(h.coordinates,l);Dt(i.getPixelFromCoordinate(t),e.startPx)>n&&(c=!1)}if(c){const t=h.coordinates,e=t.length,i=h.startIndex,n=l;if(ithis.squaredClickTolerance_:s<=this.squaredClickTolerance_,!this.shouldHandle_)return}this.finishCoordinate_?(this.updateTrace_(t),this.modifyDrawing_(t.coordinate)):this.createOrUpdateSketchPoint_(t.coordinate.slice())}atFinish_(t,e){let i=!1;if(this.sketchFeature_){let n=!1,r=[this.finishCoordinate_];const s=this.mode_;if("Point"===s)i=!0;else if("Circle"===s)i=2===this.sketchCoords_.length;else if("LineString"===s)n=!e&&this.sketchCoords_.length>this.minPoints_;else if("Polygon"===s){const t=this.sketchCoords_;n=t[0].length>this.minPoints_,r=[t[0][0],t[0][t[0].length-2]],r=e?[t[0][0]]:[t[0][0],t[0][t[0].length-2]]}if(n){const e=this.getMap();for(let n=0,s=r.length;n=this.maxPoints_&&(this.freehand_?r.pop():n=!0),r.push(t.slice()),this.geometryFunction_(r,e,i)):"Polygon"===s&&(r=this.sketchCoords_[0],r.length>=this.maxPoints_&&(this.freehand_?r.pop():n=!0),r.push(t.slice()),n&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,e,i)),this.createOrUpdateSketchPoint_(t.slice()),this.updateSketchFeatures_(),n&&this.finishDrawing()}removeLastPoints_(t){if(!this.sketchFeature_)return;const e=this.sketchFeature_.getGeometry(),i=this.getMap().getView().getProjection(),n=this.mode_;for(let r=0;r=2){this.finishCoordinate_=t[t.length-2].slice();const e=this.finishCoordinate_.slice();t[t.length-1]=e,this.createOrUpdateSketchPoint_(e)}this.geometryFunction_(t,e,i),"Polygon"===e.getType()&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(e)}else if("Polygon"===n){t=this.sketchCoords_[0],t.splice(-2,1);const n=this.sketchLine_.getGeometry();if(t.length>=2){const e=t[t.length-2].slice();t[t.length-1]=e,this.createOrUpdateSketchPoint_(e)}n.setCoordinates(t),this.geometryFunction_(this.sketchCoords_,e,i)}if(1===t.length){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const t=this.abortDrawing_();if(!t)return;let e=this.sketchCoords_;const i=t.getGeometry(),n=this.getMap().getView().getProjection();"LineString"===this.mode_?(e.pop(),this.geometryFunction_(e,i,n)):"Polygon"===this.mode_&&(e[0].pop(),this.geometryFunction_(e,i,n),e=i.getCoordinates()),"MultiPoint"===this.type_?t.setGeometry(new Id([e])):"MultiLineString"===this.type_?t.setGeometry(new bd([e])):"MultiPolygon"===this.type_&&t.setGeometry(new Md([e])),this.dispatchEvent(new hQ(aQ,t)),this.features_&&this.features_.push(t),this.source_&&this.source_.addFeature(t)}abortDrawing_(){this.finishCoordinate_=null;const t=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),t}abortDrawing(){const t=this.abortDrawing_();t&&this.dispatchEvent(new hQ(lQ,t))}appendCoordinates(t){const e=this.mode_,i=!this.sketchFeature_;let n;if(i&&this.startDrawing_(t[0]),"LineString"===e||"Circle"===e)n=this.sketchCoords_;else{if("Polygon"!==e)return;n=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[]}i&&n.shift(),n.pop();for(let e=0;er?o[1]:o[0]),a}}return null}handlePointerMove_(t){const e=t.pixel,i=t.map;let n=this.snapToVertex_(e,i);n||(n=i.getCoordinateFromPixelInternal(e)),this.createOrUpdatePointerFeature_(n)}createOrUpdateExtentFeature_(t){let e=this.extentFeature_;return e?t?e.setGeometry(al(t)):e.setGeometry(void 0):(e=new _d(t?al(t):{}),this.extentFeature_=e,this.extentOverlay_.getSource().addFeature(e)),e}createOrUpdatePointerFeature_(t){let e=this.vertexFeature_;if(e){e.getGeometry().setCoordinates(t)}else e=new _d(new qa(t)),this.vertexFeature_=e,this.vertexOverlay_.getSource().addFeature(e);return e}handleEvent(t){return!t.originalEvent||!this.condition_(t)||(t.type!=oh.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(t),super.handleEvent(t),!1)}handleDownEvent(t){const e=t.pixel,i=t.map,n=this.getExtentInternal();let r=this.snapToVertex_(e,i);const s=function(t){let e=null,i=null;return t[0]==n[0]?e=n[2]:t[0]==n[2]&&(e=n[0]),t[1]==n[1]?i=n[3]:t[1]==n[3]&&(i=n[1]),null!==e&&null!==i?[e,i]:null};if(r&&n){const t=r[0]==n[0]||r[0]==n[2]?r[0]:null,e=r[1]==n[1]||r[1]==n[3]?r[1]:null;null!==t&&null!==e?this.pointerHandler_=wQ(s(r)):null!==t?this.pointerHandler_=SQ(s([t,n[1]]),s([t,n[3]])):null!==e&&(this.pointerHandler_=SQ(s([n[0],e]),s([n[2],e])))}else r=i.getCoordinateFromPixelInternal(e),this.setExtent([r[0],r[1],r[0],r[1]]),this.pointerHandler_=wQ(r);return!0}handleDragEvent(t){if(this.pointerHandler_){const e=t.coordinate;this.setExtent(this.pointerHandler_(e)),this.createOrUpdatePointerFeature_(e)}}handleUpEvent(t){this.pointerHandler_=null;const e=this.getExtentInternal();return e&&0!==K(e)||this.setExtent(null),!1}setMap(t){this.extentOverlay_.setMap(t),this.vertexOverlay_.setMap(t),super.setMap(t)}getExtent(){return me(this.getExtentInternal(),this.getMap().getView().getProjection())}getExtentInternal(){return this.extent_}setExtent(t){this.extent_=t||null,this.createOrUpdateExtentFeature_(t),this.dispatchEvent(new CQ(this.extent_))}};function BQ(t){return parseFloat(t)}function LQ(t){return function(t){return It(t,5)}(t).toString()}function MQ(t,e){return!isNaN(t)&&t!==BQ(LQ(e))}const TQ=class extends Dh{constructor(t){let e;super(),e=!0===(t=Object.assign({animate:!0,params:["x","y","z","r","l"],replace:!1,prefix:""},t||{})).animate?{duration:250}:t.animate?t.animate:null,this.animationOptions_=e,this.params_=t.params.reduce(((t,e)=>(t[e]=!0,t)),{}),this.replace_=t.replace,this.prefix_=t.prefix,this.listenerKeys_=[],this.initial_=!0,this.updateState_=this.updateState_.bind(this)}getParamName_(t){return this.prefix_?this.prefix_+t:t}get_(t,e){return t.get(this.getParamName_(e))}set_(t,e,i){e in this.params_&&t.set(this.getParamName_(e),i)}delete_(t,e){e in this.params_&&t.delete(this.getParamName_(e))}setMap(t){const e=this.getMap();super.setMap(t),t!==e&&(e&&this.unregisterListeners_(e),t&&(this.initial_=!0,this.updateState_(),this.registerListeners_(t)))}registerListeners_(t){this.listenerKeys_.push(Gs(t,Ah,this.updateUrl_,this),Gs(t.getLayerGroup(),bs,this.updateUrl_,this),Gs(t,"change:layergroup",this.handleChangeLayerGroup_,this)),this.replace_||addEventListener("popstate",this.updateState_)}unregisterListeners_(t){for(let t=0,e=this.listenerKeys_.length;t=0;--t){const n=i[t];for(let t=this.dragSegments_.length-1;t>=0;--t)this.dragSegments_[t][0]===n&&this.dragSegments_.splice(t,1);e.remove(n)}}setActive(t){this.vertexFeature_&&!t&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),super.setActive(t)}setMap(t){this.overlay_.setMap(t),super.setMap(t)}getOverlay(){return this.overlay_}handleSourceAdd_(t){t.feature&&this.features_.push(t.feature)}handleSourceRemove_(t){t.feature&&this.features_.remove(t.feature)}handleFeatureAdd_(t){this.addFeature_(t.element)}handleFeatureChange_(t){if(!this.changingFeature_){const e=t.target;this.removeFeature_(e),this.addFeature_(e)}}handleFeatureRemove_(t){this.removeFeature_(t.element)}writePointGeometry_(t,e){const i=e.getCoordinates(),n={feature:t,geometry:e,segment:[i,i]};this.rBush_.insert(e.getExtent(),n)}writeMultiPointGeometry_(t,e){const i=e.getCoordinates();for(let n=0,r=i.length;n=0;--t)this.insertVertex_(r[t],s)}return!!this.vertexFeature_}handleUpEvent(t){for(let e=this.dragSegments_.length-1;e>=0;--e){const i=this.dragSegments_[e][0],n=i.geometry;if("Circle"===n.getType()){const e=n.getCenter(),r=i.featureSegments[0],s=i.featureSegments[1];r.segment[0]=e,r.segment[1]=e,s.segment[0]=e,s.segment[1]=e,this.rBush_.update(q(e),r);let o=n;const a=Ae();if(a){const e=t.map.getView().getProjection();o=o.clone().transform(a,e),o=ll(o).transform(e,a)}this.rBush_.update(o.getExtent(),s)}else this.rBush_.update(T(i.segment),i)}return this.featuresBeingModified_&&(this.dispatchEvent(new DQ(FQ,this.featuresBeingModified_,t)),this.featuresBeingModified_=null),!1}handlePointerMove_(t){this.lastPixel_=t.pixel,this.handlePointerAtPixel_(t.pixel,t.map,t.coordinate)}handlePointerAtPixel_(t,e,i){const n=i||e.getCoordinateFromPixel(t),r=e.getView().getProjection(),s=function(t,e){return QQ(n,t,r)-QQ(n,e,r)};let o,a;if(this.hitDetection_){const i="object"==typeof this.hitDetection_?t=>t===this.hitDetection_:void 0;e.forEachFeatureAtPixel(t,((t,e,i)=>{i&&(i=new qa(pe(i.getCoordinates(),r)));const n=i||t.getGeometry();if("Point"===n.getType()&&t instanceof _d&&this.features_.getArray().includes(t)){a=n;const e=t.getGeometry().getFlatCoordinates().slice(0,2);o=[{feature:t,geometry:a,segment:[e,e]}]}return!0}),{layerFilter:i})}if(!o){const t=me(R(_e(q(n,RQ),r),e.getView().getResolution()*this.pixelTolerance_,RQ),r);o=this.rBush_.getInExtent(t)}if(o&&o.length>0){const i=o.sort(s)[0],l=i.segment;let h=kQ(n,i,r);const c=e.getPixelFromCoordinate(h);let u=Dt(t,c);if(a||u<=this.pixelTolerance_){const t={};if(t[Xs(l)]=!0,this.snapToPointer_||(this.delta_[0]=h[0]-n[0],this.delta_[1]=h[1]-n[1]),"Circle"===i.geometry.getType()&&1===i.index)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(h,[i.feature],[i.geometry]);else{const n=e.getPixelFromCoordinate(l[0]),r=e.getPixelFromCoordinate(l[1]),s=Ft(c,n),a=Ft(c,r);u=Math.sqrt(Math.min(s,a)),this.snappedToVertex_=u<=this.pixelTolerance_,this.snappedToVertex_&&(h=s>a?l[1]:l[0]),this.createOrUpdateVertexFeature_(h,[i.feature],[i.geometry]);const g={};g[Xs(i.geometry)]=!0;for(let e=1,i=o.length;e=0;--o)r=t[o],u=r[0],g=Xs(u.feature),u.depth&&(g+="-"+u.depth.join("-")),g in e||(e[g]={}),0===r[1]?(e[g].right=u,e[g].index=u.index):1==r[1]&&(e[g].left=u,e[g].index=u.index+1);for(g in e){switch(c=e[g].right,l=e[g].left,a=e[g].index,h=a-1,u=void 0!==l?l:c,h<0&&(h=0),s=u.geometry,n=s.getCoordinates(),i=n,d=!1,s.getType()){case"MultiLineString":n[u.depth[0]].length>2&&(n[u.depth[0]].splice(a,1),d=!0);break;case"LineString":n.length>2&&(n.splice(a,1),d=!0);break;case"MultiPolygon":i=i[u.depth[1]];case"Polygon":i=i[u.depth[0]],i.length>4&&(a==i.length-1&&(a=0),i.splice(a,1),d=!0,0===a&&(i.pop(),i.push(i[0]),h=i.length-1))}if(d){this.setGeometryCoordinates_(s,n);const e=[];if(void 0!==l&&(this.rBush_.remove(l),e.push(l.segment[0])),void 0!==c&&(this.rBush_.remove(c),e.push(c.segment[1])),void 0!==l&&void 0!==c){const t={depth:u.depth,feature:u.feature,geometry:u.geometry,index:h,segment:e};this.rBush_.insert(T(t.segment),t)}this.updateSegmentIndices_(s,a,u.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),t.length=0}}return d}setGeometryCoordinates_(t,e){this.changingFeature_=!0,t.setCoordinates(e),this.changingFeature_=!1}updateSegmentIndices_(t,e,i,n){this.rBush_.forEachInExtent(t.getExtent(),(function(r){r.geometry===t&&(void 0===i||void 0===r.depth||ys(r.depth,i))&&r.index>e&&(r.index+=n)}))}},qQ="snap";class VQ extends us{constructor(t,e){super(t),this.vertex=e.vertex,this.vertexPixel=e.vertexPixel,this.feature=e.feature}}function zQ(t){return t.feature?t.feature:t.element?t.element:null}const YQ=[];const jQ=class extends kh{constructor(t){const e=t=t||{};e.handleDownEvent||(e.handleDownEvent=Is),e.stopDown||(e.stopDown=Es),super(e),this.on,this.once,this.un,this.source_=t.source?t.source:null,this.vertex_=void 0===t.vertex||t.vertex,this.edge_=void 0===t.edge||t.edge,this.features_=t.features?t.features:null,this.featuresListenerKeys_=[],this.featureChangeListenerKeys_={},this.indexedFeaturesExtents_={},this.pendingFeatures_={},this.pixelTolerance_=void 0!==t.pixelTolerance?t.pixelTolerance:10,this.rBush_=new Sf,this.GEOMETRY_SEGMENTERS_={Point:this.segmentPointGeometry_.bind(this),LineString:this.segmentLineStringGeometry_.bind(this),LinearRing:this.segmentLineStringGeometry_.bind(this),Polygon:this.segmentPolygonGeometry_.bind(this),MultiPoint:this.segmentMultiPointGeometry_.bind(this),MultiLineString:this.segmentMultiLineStringGeometry_.bind(this),MultiPolygon:this.segmentMultiPolygonGeometry_.bind(this),GeometryCollection:this.segmentGeometryCollectionGeometry_.bind(this),Circle:this.segmentCircleGeometry_.bind(this)}}addFeature(t,e){e=void 0===e||e;const i=Xs(t),n=t.getGeometry();if(n){const e=this.GEOMETRY_SEGMENTERS_[n.getType()];if(e){this.indexedFeaturesExtents_[i]=n.getExtent([1/0,1/0,-1/0,-1/0]);const r=[];if(e(r,n),1===r.length)this.rBush_.insert(T(r[0]),{feature:t,segment:r[0]});else if(r.length>1){const e=r.map((t=>T(t))),i=r.map((e=>({feature:t,segment:e})));this.rBush_.load(e,i)}}}e&&(this.featureChangeListenerKeys_[i]=Gs(t,bs,this.handleFeatureChange_,this))}getFeatures_(){let t;return this.features_?t=this.features_:this.source_&&(t=this.source_.getFeatures()),t}handleEvent(t){const e=this.snapTo(t.pixel,t.coordinate,t.map);return e&&(t.coordinate=e.vertex.slice(0,2),t.pixel=e.vertexPixel,this.dispatchEvent(new VQ(qQ,{vertex:t.coordinate,vertexPixel:t.pixel,feature:e.feature}))),super.handleEvent(t)}handleFeatureAdd_(t){const e=zQ(t);e&&this.addFeature(e)}handleFeatureRemove_(t){const e=zQ(t);e&&this.removeFeature(e)}handleFeatureChange_(t){const e=t.target;if(this.handlingDownUpSequence){const t=Xs(e);t in this.pendingFeatures_||(this.pendingFeatures_[t]=e)}else this.updateFeature_(e)}handleUpEvent(t){const e=Object.values(this.pendingFeatures_);return e.length&&(e.forEach(this.updateFeature_.bind(this)),this.pendingFeatures_={}),!1}removeFeature(t,e){const i=void 0===e||e,n=Xs(t),r=this.indexedFeaturesExtents_[n];if(r){const e=this.rBush_,i=[];e.forEachInExtent(r,(function(e){t===e.feature&&i.push(e)}));for(let t=i.length-1;t>=0;--t)e.remove(i[t])}i&&(qs(this.featureChangeListenerKeys_[n]),delete this.featureChangeListenerKeys_[n])}setMap(t){const e=this.getMap(),i=this.featuresListenerKeys_,n=this.getFeatures_();e&&(i.forEach(qs),i.length=0,this.rBush_.clear(),Object.values(this.featureChangeListenerKeys_).forEach(qs),this.featureChangeListenerKeys_={}),super.setMap(t),t&&(this.features_?i.push(Gs(this.features_,Js,this.handleFeatureAdd_,this),Gs(this.features_,Zs,this.handleFeatureRemove_,this)):this.source_&&i.push(Gs(this.source_,bf,this.handleFeatureAdd_,this),Gs(this.source_,Mf,this.handleFeatureRemove_,this)),n.forEach((t=>this.addFeature(t))))}snapTo(t,e,i){const n=i.getView().getProjection(),r=fe(e,n),s=me(R(T([r]),i.getView().getResolution()*this.pixelTolerance_),n),o=this.rBush_.getInExtent(s),a=o.length;if(0===a)return null;let l,h,c=1/0;const u=this.pixelTolerance_*this.pixelTolerance_,g=()=>{if(l){const e=i.getPixelFromCoordinate(l);if(Ft(t,e)<=u)return{vertex:l,vertexPixel:[Math.round(e[0]),Math.round(e[1])],feature:h}}return null};if(this.vertex_){for(let t=0;t{const i=fe(t,n),s=Ft(r,i);s{t.push([e])}))}segmentMultiPolygonGeometry_(t,e){const i=e.getCoordinates();for(let e=0,n=i.length;e{if(t instanceof _d&&this.filter_(t,e)&&(!this.features_||this.features_.getArray().includes(t)))return t}),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_})}getHitTolerance(){return this.hitTolerance_}setHitTolerance(t){this.hitTolerance_=t}setMap(t){const e=this.getMap();super.setMap(t),this.updateState_(e)}handleActiveChanged_(){this.updateState_(null)}updateState_(t){let e=this.getMap();const i=this.getActive();if((!e||!i)&&(e=e||t,e)){e.getViewport().classList.remove("ol-grab","ol-grabbing")}}};function ZQ(t,e,i){const n=[];let r=t(0),s=t(1),o=e(r),a=e(s);const l=[s,r],h=[a,o],c=[1,0],u={};let g,d,A,p,f,m,_=1e5;for(;--_>0&&c.length>0;)A=c.pop(),r=l.pop(),o=h.pop(),m=A.toString(),m in u||(n.push(o[0],o[1]),u[m]=!0),p=c.pop(),s=l.pop(),a=h.pop(),f=(A+p)/2,g=t(f),d=e(g),At(d[0],d[1],o[0],o[1],a[0],a[1]){const e=t.get("graticule_label");return this.lonLabelStyleBase_.getText().setText(e),this.lonLabelStyleBase_},this.latLabelStyleBase_=new Nm({text:void 0!==t.latLabelStyle?t.latLabelStyle.clone():new Fm({font:"12px Calibri,sans-serif",textAlign:"right",fill:new wm({color:"rgba(0,0,0,1)"}),stroke:new bm({color:"rgba(255,255,255,1)",width:3})})}),this.latLabelStyle_=t=>{const e=t.get("graticule_label");return this.latLabelStyleBase_.getText().setText(e),this.latLabelStyleBase_},this.meridiansLabels_=[],this.parallelsLabels_=[],this.addEventListener(Xo,this.drawLabels_.bind(this))),this.intervals_=void 0!==t.intervals?t.intervals:tk,this.setSource(new kf({loader:this.loaderFunction.bind(this),strategy:this.strategyFunction.bind(this),features:new eo,overlaps:!1,useSpatialIndex:!1,wrapX:t.wrapX})),this.featurePool_=[],this.lineStyle_=new Nm({stroke:this.strokeStyle_}),this.loadedExtent_=null,this.renderedExtent_=null,this.renderedResolution_=null,this.setRenderOrder(null)}strategyFunction(t,e){let i=t.slice();var n,r,s;return this.projection_&&this.getSource().getWrapX()&>(i,this.projection_),this.loadedExtent_&&(n=this.loadedExtent_,r=i,s=e,Math.abs(n[0]-r[0])this.featurePool_.length;)a=new _d,this.featurePool_.push(a);const h=n.getFeaturesCollection();h.clear();let c,u,g=0;for(c=0,u=this.meridians_.length;cMath.PI/2}const g=sm(t);for(let t=a;t<=l;++t){let i,n,c,d,A=this.meridians_.length+this.parallels_.length;if(this.meridiansLabels_)for(n=0,c=this.meridiansLabels_.length;n=a?(t[0]=o[0],t[2]=o[2]):s=!0);const l=[dt(e[0],this.minX_,this.maxX_),dt(e[1],this.minY_,this.maxY_)],h=this.toLonLatTransform_(l);isNaN(h[1])&&(h[1]=Math.abs(this.maxLat_)>=Math.abs(this.minLat_)?this.maxLat_:this.minLat_);let c=dt(h[0],this.minLon_,this.maxLon_),u=dt(h[1],this.minLat_,this.maxLat_);const g=this.maxLines_;let d,A,p,f,m=t;s||(m=[dt(t[0],this.minX_,this.maxX_),dt(t[1],this.minY_,this.maxY_),dt(t[2],this.minX_,this.maxX_),dt(t[3],this.minY_,this.maxY_)]);const _=ut(m,this.toLonLatTransform_,void 0,8);let y=_[3],I=_[2],E=_[1],C=_[0];if(s||(F(m,this.bottomLeft_)&&(C=this.minLon_,E=this.minLat_),F(m,this.bottomRight_)&&(I=this.maxLon_,E=this.minLat_),F(m,this.topLeft_)&&(C=this.minLon_,y=this.maxLat_),F(m,this.topRight_)&&(I=this.maxLon_,y=this.maxLat_),y=dt(y,u,this.maxLat_),I=dt(I,c,this.maxLon_),E=dt(E,this.minLat_,u),C=dt(C,this.minLon_,c)),c=Math.floor(c/r)*r,f=dt(c,this.minLon_,this.maxLon_),A=this.addMeridian_(f,E,y,n,t,0),d=0,s)for(;(f-=r)>=C&&d++n[s]&&(r=s,s=1);const o=Math.max(e[1],n[r]),a=Math.min(e[3],n[s]),l=dt(e[1]+Math.abs(e[1]-e[3])*this.lonLabelPosition_,o,a),h=[n[r-1]+(n[s-1]-n[r-1])*(l-n[r])/(n[s]-n[r]),l],c=this.meridiansLabels_[i].geom;return c.setCoordinates(h),c}getMeridians(){return this.meridians_}getParallel_(t,e,i,n,r){const s=function(t,e,i,n,r){return ZQ((function(n){return[e+(i-e)*n,t]}),he(ee("EPSG:4326"),n),r)}(t,e,i,this.projection_,n);let o=this.parallels_[r];return o?(o.setFlatCoordinates("XY",s),o.changed()):o=new wd(s,"XY"),o}getParallelPoint_(t,e,i){const n=t.getFlatCoordinates();let r=0,s=n.length-2;n[r]>n[s]&&(r=s,s=0);const o=Math.max(e[0],n[r]),a=Math.min(e[2],n[s]),l=dt(e[0]+Math.abs(e[0]-e[2])*this.latLabelPosition_,o,a),h=[l,n[r+1]+(n[s+1]-n[r+1])*(l-n[r])/(n[s]-n[r])],c=this.parallelsLabels_[i].geom;return c.setCoordinates(h),c}getParallels(){return this.parallels_}updateProjectionInfo_(t){const e=ee("EPSG:4326"),i=t.getWorldExtent();this.maxLat_=i[3],this.maxLon_=i[2],this.minLat_=i[1],this.minLon_=i[0];const n=he(t,e);if(this.minLon_=Math.abs(this.minLat_)?this.maxLat_:this.minLat_),this.projection_=t}};const ik=class extends Fg{constructor(t,e,i,n,r){super(t,e,i,void 0!==r?Cg:xg),this.loader_=void 0!==r?r:null,this.canvas_=n,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=wg):this.state=xg,this.changed()}load(){this.state==Cg&&(this.state=vg,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}};const nk=class extends Zg{constructor(t){super(t),this.vectorRenderer_=new wy(t),this.layerImageRatio_=t.getImageRatio(),this.coordinateToVectorPixelTransform_=[1,0,0,1,0,0],this.renderedPixelToCoordinateTransform_=null}disposeInternal(){this.vectorRenderer_.dispose(),super.disposeInternal()}getFeatures(t){if(!this.vectorRenderer_)return Promise.resolve([]);const e=_o(this.coordinateToVectorPixelTransform_,_o(this.renderedPixelToCoordinateTransform_,t.slice()));return this.vectorRenderer_.getFeatures(e)}handleFontsChanged(){this.vectorRenderer_.handleFontsChanged()}prepareFrame(t){const e=t.pixelRatio,i=t.viewState,n=i.resolution,r=t.viewHints,s=this.vectorRenderer_;let o=t.extent;1!==this.layerImageRatio_&&(o=o.slice(0),ct(o,this.layerImageRatio_));const a=at(o)/n,l=nt(o)/n;if(!r[Zo]&&!r[$o]&&!ht(o)){s.useContainer(null,null);const r=s.context,h=t.layerStatesArray[t.layerIndex],c=Object.assign({},h,{opacity:1}),u=Object.assign({},t,{declutterTree:new wf(9),extent:o,size:[a,l],viewState:Object.assign({},t.viewState,{rotation:0}),layerStatesArray:[c],layerIndex:0});let g=!0;const d=new ik(o,n,e,r.canvas,(function(t){s.prepareFrame(u)&&s.replayGroupChanged&&(s.clipping=!1,s.renderFrame(u,null)&&(s.renderDeclutter(u),g=!1),t())}));d.addEventListener(bs,(()=>{if(d.getState()!==xg)return;this.image_=g?null:d;const t=d.getPixelRatio(),n=Pp(d.getResolution())*e/t;this.renderedResolution=n,this.coordinateToVectorPixelTransform_=Eo(this.coordinateToVectorPixelTransform_,a/2,l/2,1/n,-1/n,0,-i.center[0],-i.center[1])})),d.load()}return this.image_&&(this.renderedPixelToCoordinateTransform_=t.pixelToCoordinateTransform.slice()),!!this.image_}preRender(){}postRender(){}renderDeclutter(){}forEachFeatureAtCoordinate(t,e,i,n,r){return this.vectorRenderer_?this.vectorRenderer_.forEachFeatureAtCoordinate(t,e,i,n,r):super.forEachFeatureAtCoordinate(t,e,i,n,r)}};const rk=class extends Y_{constructor(t){t=t||{};const e=Object.assign({},t);delete e.imageRatio,super(e),this.imageRatio_=void 0!==t.imageRatio?t.imageRatio:1}getImageRatio(){return this.imageRatio_}createRenderer(){return new nk(this)}};function sk(t,e){const i=`\n attribute vec2 ${dT};\n uniform mat4 ${gT.TILE_TRANSFORM};\n uniform float ${gT.TEXTURE_PIXEL_WIDTH};\n uniform float ${gT.TEXTURE_PIXEL_HEIGHT};\n uniform float ${gT.TEXTURE_RESOLUTION};\n uniform float ${gT.TEXTURE_ORIGIN_X};\n uniform float ${gT.TEXTURE_ORIGIN_Y};\n uniform float ${gT.DEPTH};\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ${dT};\n v_mapCoord = vec2(\n ${gT.TEXTURE_ORIGIN_X} + ${gT.TEXTURE_RESOLUTION} * ${gT.TEXTURE_PIXEL_WIDTH} * v_textureCoord[0],\n ${gT.TEXTURE_ORIGIN_Y} - ${gT.TEXTURE_RESOLUTION} * ${gT.TEXTURE_PIXEL_HEIGHT} * v_textureCoord[1]\n );\n gl_Position = ${gT.TILE_TRANSFORM} * vec4(${dT}, ${gT.DEPTH}, 1.0);\n }\n `,n={inFragmentShader:!0,variables:[],attributes:[],functions:{},bandCount:e,style:t},r=[];if(void 0!==t.color){const e=bT(n,t.color,fT.COLOR);r.push(`color = ${e};`)}if(void 0!==t.contrast){const e=bT(n,t.contrast,fT.NUMBER);r.push(`color.rgb = clamp((${e} + 1.0) * color.rgb - (${e} / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}if(void 0!==t.exposure){const e=bT(n,t.exposure,fT.NUMBER);r.push(`color.rgb = clamp((${e} + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}if(void 0!==t.saturation){const e=bT(n,t.saturation,fT.NUMBER);r.push(`\n float saturation = ${e} + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n `)}if(void 0!==t.gamma){const e=bT(n,t.gamma,fT.NUMBER);r.push(`color.rgb = pow(color.rgb, vec3(1.0 / ${e}));`)}if(void 0!==t.brightness){const e=bT(n,t.brightness,fT.NUMBER);r.push(`color.rgb = clamp(color.rgb + ${e}, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));`)}const s={},o=n.variables.length;if(o>1&&!t.variables)throw new Error(`Missing variables in style (expected ${n.variables})`);for(let e=0;e ${gT.RENDER_EXTENT}[2] ||\n v_mapCoord[1] > ${gT.RENDER_EXTENT}[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(${gT.TILE_TEXTURE_ARRAY}[0], v_textureCoord);\n\n ${r.join("\n")}\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ${gT.TRANSITION_ALPHA};\n }`,uniforms:s,paletteTextures:n.paletteTextures}}class ok extends Eg{constructor(t){const e=(t=t?Object.assign({},t):{}).style||{};delete t.style;const i=t.cacheSize;delete t.cacheSize,super(t),this.sources_=t.sources,this.renderedSource_=null,this.renderedResolution_=NaN,this.style_=e,this.cacheSize_=i,this.styleVariables_=this.style_.variables||{},this.addChangeListener(zo,this.handleSourceUpdate_)}getSources(t,e){const i=this.getSource();return this.sources_?"function"==typeof this.sources_?this.sources_(t,e):this.sources_:i?[i]:[]}getRenderSource(){return this.renderedSource_||this.getSource()}getSourceState(){const t=this.getRenderSource();return t?t.getState():"undefined"}handleSourceUpdate_(){this.hasRenderer()&&this.getRenderer().clearCache(),this.getSource()&&this.setStyle(this.style_)}getSourceBandCount_(){const t=Number.MAX_SAFE_INTEGER,e=this.getSources([-t,-t,t,t],t);return e&&e.length&&"bandCount"in e[0]?e[0].bandCount:4}createRenderer(){const t=sk(this.style_,this.getSourceBandCount_());return new pT(this,{vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,uniforms:t.uniforms,cacheSize:this.cacheSize_,paletteTextures:t.paletteTextures})}renderSources(t,e){const i=this.getRenderer();let n;for(let r=0,s=e.length;r{"ready"==e.getState()&&(e.removeEventListener("change",t),this.changed())};e.addEventListener("change",t)}r=r&&"ready"==i}const s=this.renderSources(t,n);if(this.getRenderer().renderComplete&&r)return this.renderedResolution_=i.resolution,s;if(this.renderedResolution_>.5*i.resolution){const e=this.getSources(t.extent,this.renderedResolution_).filter((t=>!n.includes(t)));if(e.length>0)return this.renderSources(t,e)}return s}setStyle(t){this.styleVariables_=t.variables||{},this.style_=t;const e=sk(this.style_,this.getSourceBandCount_());this.getRenderer().reset({vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,uniforms:e.uniforms}),this.changed()}updateStyleVariables(t){Object.assign(this.styleVariables_,t),this.changed()}}ok.prototype.dispose;const ak=ok;const lk=class extends Tp{constructor(t){const e=void 0!==t.hidpi&&t.hidpi;super({cacheSize:t.cacheSize,crossOrigin:"anonymous",interpolate:t.interpolate,opaque:!0,projection:ee("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,tilePixelRatio:e?2:1,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.hidpi_=e,this.culture_=void 0!==t.culture?t.culture:"en-us",this.maxZoom_=void 0!==t.maxZoom?t.maxZoom:-1,this.apiKey_=t.key,this.imagerySet_=t.imagerySet,this.placeholderTiles_=t.placeholderTiles;const i="https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+this.imagerySet_+"?uriScheme=https&include=ImageryProviders&key="+this.apiKey_+"&c="+this.culture_;fetch(i).then((t=>t.json())).then((t=>this.handleImageryMetadataResponse(t)))}getApiKey(){return this.apiKey_}getImagerySet(){return this.imagerySet_}handleImageryMetadataResponse(t){if(200!=t.statusCode||"OK"!=t.statusDescription||"ValidCredentials"!=t.authenticationResultCode||1!=t.resourceSets.length||1!=t.resourceSets[0].resources.length)return void this.setState("error");const e=t.resourceSets[0].resources[0],i=-1==this.maxZoom_?e.zoomMax:this.maxZoom_,n=Ip(this.getProjection()),r=this.hidpi_?2:1,s=e.imageWidth==e.imageHeight?e.imageWidth/r:[e.imageWidth/r,e.imageHeight/r],o=_p({extent:n,minZoom:e.zoomMin,maxZoom:i,tileSize:s});this.tileGrid=o;const a=this.culture_,l=this.hidpi_,h=this.placeholderTiles_;if(this.tileUrlFunction=wp(e.imageUrlSubdomains.map((function(t){const i=[0,0,0],n=e.imageUrl.replace("{subdomain}",t).replace("{culture}",a);return function(t,e,r){if(!t)return;td(t[0],t[1],t[2],i);const s=new URL(n.replace("{quadkey}",function(t){const e=t[0],i=new Array(e);let n,r,s=1<>=1;return i.join("")}(i))),o=s.searchParams;return l&&(o.set("dpi","d1"),o.set("device","mobile")),!0===h?o.delete("n"):!1===h&&o.set("n","z"),s.toString()}}))),e.imageryProviders){const t=le(ee("EPSG:4326"),this.getProjection());this.setAttributions((i=>{const n=[],r=i.viewState,s=this.getTileGrid(),o=s.getZForResolution(r.resolution,this.zDirection),a=s.getTileCoordForCoordAndZ(r.center,o)[0];return e.imageryProviders.map((function(e){let r=!1;const s=e.coverageAreas;for(let e=0,n=s.length;e=n.zoomMin&&a<=n.zoomMax){const e=n.bbox;if(lt(ut([e[1],e[0],e[3],e[2]],t),i.extent)){r=!0;break}}}r&&n.push(e.attribution)})),n.push('Terms of Use'),n}))}this.setState("ready")}};const hk=class extends Vb{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,maxZoom:void 0!==t.maxZoom?t.maxZoom:18,minZoom:t.minZoom,projection:t.projection,transition:t.transition,wrapX:t.wrapX,zDirection:t.zDirection}),this.account_=t.account,this.mapId_=t.map||"",this.config_=t.config||{},this.templateCache_={},this.initializeMap_()}getConfig(){return this.config_}updateConfig(t){Object.assign(this.config_,t),this.initializeMap_()}setConfig(t){this.config_=t||{},this.initializeMap_()}initializeMap_(){const t=JSON.stringify(this.config_);if(this.templateCache_[t])return void this.applyTemplate_(this.templateCache_[t]);let e="https://"+this.account_+".carto.com/api/v1/map";this.mapId_&&(e+="/named/"+this.mapId_);const i=new XMLHttpRequest;i.addEventListener("load",this.handleInitResponse_.bind(this,t)),i.addEventListener("error",this.handleInitError_.bind(this)),i.open("POST",e),i.setRequestHeader("Content-type","application/json"),i.send(JSON.stringify(this.config_))}handleInitResponse_(t,e){const i=e.target;if(!i.status||i.status>=200&&i.status<300){let e;try{e=JSON.parse(i.responseText)}catch(t){return void this.setState("error")}this.applyTemplate_(e),this.templateCache_[t]=e,this.setState("ready")}else this.setState("error")}handleInitError_(t){this.setState("error")}applyTemplate_(t){const e="https://"+t.cdn_url.https+"/"+this.account_+"/api/v1/map/"+t.layergroupid+"/{z}/{x}/{y}.png";this.setUrl(e)}};const ck=class extends Cp{constructor(t){const e=void 0===t.projection?"EPSG:3857":t.projection;let i=t.tileGrid;void 0===i&&e&&(i=_p({extent:Ip(e),maxResolution:t.maxResolution,maxZoom:t.maxZoom,minZoom:t.minZoom,tileSize:t.tileSize})),super({cacheSize:.1,attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,projection:e,tileGrid:i,opaque:t.opaque,state:t.state,wrapX:t.wrapX,transition:t.transition,interpolate:t.interpolate}),this.gutter_=void 0!==t.gutter?t.gutter:0,this.tileSize_=t.tileSize?xc(t.tileSize):null,this.tileSizes_=null,this.tileLoadingKeys_={},this.loader_=t.loader,this.handleTileChange_=this.handleTileChange_.bind(this),this.bandCount=void 0===t.bandCount?4:t.bandCount,this.tileGridForProjection_={},this.tileCacheForProjection_={}}setTileSizes(t){this.tileSizes_=t}getTileSize(t){if(this.tileSizes_)return this.tileSizes_[t];if(this.tileSize_)return this.tileSize_;const e=this.getTileGrid();return e?xc(e.getTileSize(t)):[256,256]}getGutterForProjection(t){const e=this.getProjection();return!e||ae(e,t)?this.gutter_:0}setLoader(t){this.loader_=t}getReprojTile_(t,e,i,n,r){const s=this.getTileCacheForProjection(n),o=ed(t,e,i);if(s.containsKey(o)){const t=s.get(o);if(t&&t.key==this.getKey())return t}const a=this.getTileGrid(),l=Math.max.apply(null,a.getResolutions().map(((t,e)=>{const i=xc(a.getTileSize(e)),n=this.getTileSize(e);return Math.max(n[0]/i[0],n[1]/i[1])}))),h=this.getTileGridForProjection(r),c=this.getTileGridForProjection(n),u=[t,e,i],g=this.getTileCoordForTileUrlFunction(u,n),d=Object.assign({sourceProj:r,sourceTileGrid:h,targetProj:n,targetTileGrid:c,tileCoord:u,wrappedTileCoord:g,pixelRatio:l,gutter:this.getGutterForProjection(r),getTileFunction:(t,e,i,n)=>this.getTile(t,e,i,n,r)},this.tileOptions),A=new tT(d);return A.key=this.getKey(),A}getTile(t,e,i,n,r){const s=this.getProjection();if(s&&r&&!ae(s,r))return this.getReprojTile_(t,e,i,r,s);const o=this.getTileSize(t),a=ed(t,e,i);if(this.tileCache.containsKey(a))return this.tileCache.get(a);const l=this.loader_;const h=Object.assign({tileCoord:[t,e,i],loader:function(){return vs((function(){return l(t,e,i)}))},size:o},this.tileOptions),c=new $M(h);return c.key=this.getKey(),c.addEventListener(bs,this.handleTileChange_),this.tileCache.set(a,c),c}handleTileChange_(t){const e=t.target,i=Xs(e),n=e.getState();let r;n==xh?(this.tileLoadingKeys_[i]=!0,r=gp):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],r=n==Sh?Ap:n==wh?dp:void 0),r&&this.dispatchEvent(new Ep(r,e))}getTileGridForProjection(t){const e=this.getProjection();if(this.tileGrid&&(!e||ae(e,t)))return this.tileGrid;const i=Xs(t);return i in this.tileGridForProjection_||(this.tileGridForProjection_[i]=mp(t)),this.tileGridForProjection_[i]}setTileGridForProjection(t,e){const i=ee(t);if(i){const t=Xs(i);t in this.tileGridForProjection_||(this.tileGridForProjection_[t]=e)}}getTileCacheForProjection(t){const e=this.getProjection();if(!e||ae(e,t))return this.tileCache;const i=Xs(t);return i in this.tileCacheForProjection_||(this.tileCacheForProjection_[i]=new up(.1)),this.tileCacheForProjection_[i]}expireCache(t,e){const i=this.getTileCacheForProjection(t);this.tileCache.expireCache(this.tileCache==i?e:{});for(const t in this.tileCacheForProjection_){const n=this.tileCacheForProjection_[t];n.expireCache(n==i?e:{})}}clear(){super.clear();for(const t in this.tileCacheForProjection_)this.tileCacheForProjection_[t].clear()}};var uk=i(499);const gk=new Map;function dk(t,e){Array.isArray(t)||(t=[t]),t.forEach((t=>gk.set(t,e)))}async function Ak(t){const e=gk.get(t.Compression);if(!e)throw new Error(`Unknown compression method identifier: ${t.Compression}`);return new(await e())(t)}dk([void 0,1],(()=>Promise.resolve().then(i.bind(i,321)).then((t=>t.default)))),dk(5,(()=>Promise.resolve().then(i.bind(i,672)).then((t=>t.default)))),dk(6,(()=>{throw new Error("old style JPEG compression is not supported.")})),dk(7,(()=>Promise.resolve().then(i.bind(i,347)).then((t=>t.default)))),dk([8,32946],(()=>Promise.resolve().then(i.bind(i,522)).then((t=>t.default)))),dk(32773,(()=>Promise.resolve().then(i.bind(i,411)).then((t=>t.default)))),dk(34887,(()=>Promise.resolve().then(i.bind(i,293)).then((async t=>(await t.zstd.init(),t))).then((t=>t.default)))),dk(50001,(()=>Promise.resolve().then(i.bind(i,588)).then((t=>t.default))));const pk="undefined"!=typeof navigator&&navigator.hardwareConcurrency||2;const fk=class{constructor(t=pk,e){this.workers=null,this._awaitingDecoder=null,this.size=t,this.messageId=0,t&&(this._awaitingDecoder=e?Promise.resolve(e):new Promise((t=>{Promise.resolve().then(i.bind(i,294)).then((e=>{t(e.create)}))})),this._awaitingDecoder.then((e=>{this._awaitingDecoder=null,this.workers=[];for(let i=0;ii.decode(t,e))):new Promise((i=>{const n=this.workers.find((t=>t.idle))||this.workers[Math.floor(Math.random()*this.size)];n.idle=!1;const r=this.messageId++,s=t=>{t.data.id===r&&(n.idle=!0,i(t.data.decoded),n.worker.removeEventListener("message",s))};n.worker.addEventListener("message",s),n.worker.postMessage({fileDirectory:t,buffer:e,id:r},[e])}))}destroy(){this.workers&&(this.workers.forEach((t=>{t.worker.terminate()})),this.workers=null)}};function mk(t){return(e,...i)=>yk(t,e,i)}function _k(t,e){return mk(vk(t,e).get)}const{apply:yk,construct:Ik,defineProperty:Ek,get:Ck,getOwnPropertyDescriptor:vk,getPrototypeOf:xk,has:wk,ownKeys:Sk,set:bk,setPrototypeOf:Bk}=Reflect,{EPSILON:Lk,MAX_SAFE_INTEGER:Mk,isFinite:Tk,isNaN:Rk}=Number,{iterator:Nk,species:Pk,toStringTag:Fk,for:Dk}=Symbol,Ok=Object,{create:Qk,defineProperty:kk,freeze:Gk,is:Uk}=Ok,qk=Ok.prototype,Vk=(qk.__lookupGetter__&&mk(qk.__lookupGetter__),Ok.hasOwn||mk(qk.hasOwnProperty)),zk=Array,Yk=(zk.isArray,zk.prototype),jk=(mk(Yk.join),mk(Yk.push),mk(Yk.toLocaleString),Yk[Nk]),Hk=mk(jk),{abs:Xk,trunc:Wk}=Math,Kk=ArrayBuffer,Jk=(Kk.isView,Kk.prototype),Zk=(mk(Jk.slice),_k(Jk,"byteLength"),"undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:null),$k=(Zk&&_k(Zk.prototype,"byteLength"),xk(Uint8Array)),tG=($k.from,$k.prototype),eG=(tG[Nk],mk(tG.keys),mk(tG.values),mk(tG.entries),mk(tG.set),mk(tG.reverse),mk(tG.fill),mk(tG.copyWithin),mk(tG.sort),mk(tG.slice),mk(tG.subarray),_k(tG,"buffer"),_k(tG,"byteOffset"),_k(tG,"length"),_k(tG,Fk),Uint8Array),iG=Uint16Array,nG=Uint32Array,rG=Float32Array,sG=xk([][Nk]()),oG=mk(sG.next),aG=mk(function*(){}().next),lG=xk(sG),hG=DataView.prototype,cG=mk(hG.getUint16),uG=(mk(hG.setUint16),TypeError),gG=WeakSet.prototype,dG=(mk(gG.add),mk(gG.has),WeakMap),AG=dG.prototype,pG=mk(AG.get),fG=(mk(AG.has),mk(AG.set)),mG=new dG,_G=Qk(null,{next:{value:function(){const t=pG(mG,this);return oG(t)}},[Nk]:{value:function(){return this}}});const yG=new dG,IG=Qk(lG,{next:{value:function(){const t=pG(yG,this);return aG(t)},writable:!0,configurable:!0}});for(const t of Sk(sG))"next"!==t&&kk(IG,t,vk(sG,t));const EG=new Kk(4),CG=new rG(EG),vG=new nG(EG),xG=new iG(512),wG=new eG(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(xG[t]=0,xG[256|t]=32768,wG[t]=24,wG[256|t]=24):e<-14?(xG[t]=1024>>-e-14,xG[256|t]=1024>>-e-14|32768,wG[t]=-e-1,wG[256|t]=-e-1):e<=15?(xG[t]=e+15<<10,xG[256|t]=e+15<<10|32768,wG[t]=13,wG[256|t]=13):e<128?(xG[t]=31744,xG[256|t]=64512,wG[t]=24,wG[256|t]=24):(xG[t]=31744,xG[256|t]=64512,wG[t]=13,wG[256|t]=13)}const SG=new nG(2048);for(let t=1;t<1024;++t){let e=t<<13,i=0;for(;0==(8388608&e);)e<<=1,i-=8388608;e&=-8388609,i+=947912704,SG[t]=e|i}for(let t=1024;t<2048;++t)SG[t]=939524096+(t-1024<<13);const bG=new nG(64);for(let t=1;t<31;++t)bG[t]=t<<23;bG[31]=1199570944,bG[32]=2147483648;for(let t=33;t<63;++t)bG[t]=2147483648+(t-32<<23);bG[63]=3347054592;const BG=new iG(64);for(let t=1;t<64;++t)32!==t&&(BG[t]=1024);function LG(t,e,...i){return function(t){const e=t>>10;return vG[0]=SG[BG[e]+(1023&t)]+bG[e],CG[0]}(cG(t,e,...function(t){if(t[Nk]===jk&&sG.next===oG)return t;const e=Qk(_G);return fG(mG,e,Hk(t)),e}(i)))}var MG=i(330),TG=i(602);function RG(t,e,i,n=1){return new(Object.getPrototypeOf(t).constructor)(e*i*n)}function NG(t,e,i){return(1-i)*t+i*e}function PG(t,e,i,n,r,s="nearest"){switch(s.toLowerCase()){case"nearest":return function(t,e,i,n,r){const s=e/n,o=i/r;return t.map((t=>{const a=RG(t,n,r);for(let l=0;l{const a=RG(t,n,r);for(let l=0;l=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){const e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(e){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(t,e){return LG(this,t,e)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,e){return OG(this.getSampleFormat(t),this.getBitsPerSample(t),e)}async getTileOrStrip(t,e,i,n,r){const s=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight());let a;const{tiles:l}=this;let h,c;1===this.planarConfiguration?a=e*s+t:2===this.planarConfiguration&&(a=i*s*o+e*s+t),this.isTiled?(h=this.fileDirectory.TileOffsets[a],c=this.fileDirectory.TileByteCounts[a]):(h=this.fileDirectory.StripOffsets[a],c=this.fileDirectory.StripByteCounts[a]);const u=(await this.source.fetch([{offset:h,length:c}],r))[0];let g;return null!==l&&l[a]?g=l[a]:(g=(async()=>{let t=await n.decode(this.fileDirectory,u);const i=this.getSampleFormat(),r=this.getBitsPerSample();return function(t,e){return(1!==t&&2!==t||!(e<=32)||e%8!=0)&&(3!==t||16!==e&&32!==e&&64!==e)}(i,r)&&(t=function(t,e,i,n,r,s,o){const a=new DataView(t),l=2===i?1:n,h=OG(e,r,2===i?o*s:o*s*n),c=parseInt("1".repeat(r),2);if(1===e){let t;t=1===i?n*r:r;let e=s*t;0!=(7&e)&&(e=e+7&-8);for(let t=0;t>8-r-d&c;else if(d+r<=16)h[u]=a.getUint16(g)>>16-r-d&c;else if(d+r<=24){const t=a.getUint16(g)<<8|a.getUint8(g+2);h[u]=t>>24-r-d&c}else h[u]=a.getUint32(g)>>32-r-d&c}}}}return h.buffer}(t,i,this.planarConfiguration,this.getSamplesPerPixel(),r,this.getTileWidth(),this.getBlockHeight(e))),t})(),null!==l&&(l[a]=g)),{x:t,y:e,sample:i,data:await g}}async _readRaster(t,e,i,n,r,s,o,a,l){const h=this.getTileWidth(),c=this.getTileHeight(),u=this.getWidth(),g=this.getHeight(),d=Math.max(Math.floor(t[0]/h),0),A=Math.min(Math.ceil(t[2]/h),Math.ceil(u/h)),p=Math.max(Math.floor(t[1]/c),0),f=Math.min(Math.ceil(t[3]/c),Math.ceil(g/c)),m=t[2]-t[0];let _=this.getBytesPerPixel();const y=[],I=[];for(let t=0;t{const s=r.data,o=new DataView(s),a=this.getBlockHeight(r.y),l=r.y*c,d=r.x*h,p=l+a,f=(r.x+1)*h,E=I[A],v=Math.min(a,a-(p-t[3]),g-l),x=Math.min(h,h-(f-t[2]),u-d);for(let r=Math.max(0,t[1]-l);rh[2]||h[1]>h[3])throw new Error("Invalid subsets");const c=(h[2]-h[0])*(h[3]-h[1]),u=this.getSamplesPerPixel();if(e&&e.length){for(let t=0;t=u)return Promise.reject(new RangeError(`Invalid sample index '${e[t]}'.`))}else for(let t=0;tl[2]||l[1]>l[3])throw new Error("Invalid subsets");const h=this.fileDirectory.PhotometricInterpretation;if(h===uk.Ie.RGB){let l=[0,1,2];if(this.fileDirectory.ExtraSamples!==uk.pd.Unspecified&&o){l=[];for(let t=0;t>24)/500+a,h=a-(t[e+2]<<24>>24)/200;l=.95047*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),a=1*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),h=1.08883*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),r=3.2406*l+-1.5372*a+-.4986*h,s=-.9689*l+1.8758*a+.0415*h,o=.0557*l+-.204*a+1.057*h,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,n[i]=255*Math.max(0,Math.min(1,r)),n[i+1]=255*Math.max(0,Math.min(1,s)),n[i+2]=255*Math.max(0,Math.min(1,o))}return n}(d);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){const t=new Uint8Array(p.length/3),e=new Uint8Array(p.length/3),i=new Uint8Array(p.length/3);for(let n=0,r=0;nvoid 0===MG(t,"sample"))):n.filter((e=>Number(MG(e,"sample"))===t));for(let t=0;t[s+t*e+n*i,h+o*e+a*i])),u=c.map((t=>t[0])),g=c.map((t=>t[1]));return[Math.min(...u),Math.min(...g),Math.max(...u),Math.max(...g)]}{const t=this.getOrigin(),n=this.getResolution(),r=t[0],s=t[1],o=r+n[0]*i,a=s+n[1]*e;return[Math.min(r,o),Math.min(s,a),Math.max(r,o),Math.max(s,a)]}}};class kG{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,e){const i=this.getUint32(t,e),n=this.getUint32(t+4,e);let r;if(e){if(r=i+2**32*n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*i+n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}getInt64(t,e){let i=0;const n=(128&this._dataView.getUint8(t+(e?7:0)))>0;let r=!0;for(let s=0;s<8;s++){let o=this._dataView.getUint8(t+(e?s:7-s));n&&(r?0!==o&&(o=255&~(o-1),r=!1):o=255&~o),i+=o*256**s}return n&&(i=-i),i}getUint8(t,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return LG(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}}class GG{constructor(t,e,i,n){this._dataView=new DataView(t),this._sliceOffset=e,this._littleEndian=i,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){const e=this.readUint32(t),i=this.readUint32(t+4);let n;if(this._littleEndian){if(n=e+2**32*i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*e+i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(t){let e=0;const i=(128&this._dataView.getUint8(t+(this._littleEndian?7:0)))>0;let n=!0;for(let r=0;r<8;r++){let s=this._dataView.getUint8(t+(this._littleEndian?r:7-r));i&&(n?0!==s&&(s=255&~(s-1),n=!1):s=255&~s),e+=s*256**r}return i&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}}const UG="\r\n\r\n";function qG(t){if(void 0!==Object.fromEntries)return Object.fromEntries(t);const e={};for(const[i,n]of t)e[i.toLowerCase()]=n;return e}function VG(t){const e=t.split("\r\n").map((t=>{const e=t.split(":").map((t=>t.trim()));return e[0]=e[0].toLowerCase(),e}));return qG(e)}function zG(t){let e,i,n;return t&&([,e,i,n]=t.match(/bytes (\d+)-(\d+)\/(\d+)/),e=parseInt(e,10),i=parseInt(i,10),n=parseInt(n,10)),{start:e,end:i,total:n}}class YG{async fetch(t,e=void 0){return Promise.all(t.map((t=>this.fetchSlice(t,e))))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}}class jG extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof t.maxAge&&0===t.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if("function"==typeof this.onEviction)for(const[e,i]of t)this.onEviction(e,i.value)}_deleteIfExpired(t,e){return"number"==typeof e.expiry&&e.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(t,e.value),this.delete(t))}_getOrDeleteIfExpired(t,e){if(!1===this._deleteIfExpired(t,e))return e.value}_getItemValue(t,e){return e.expiry?this._getOrDeleteIfExpired(t,e):e.value}_peek(t,e){const i=e.get(t);return this._getItemValue(t,i)}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,e){this.oldCache.delete(t),this._set(t,e)}*_entriesAscending(){for(const t of this.oldCache){const[e,i]=t;if(!this.cache.has(e)){!1===this._deleteIfExpired(e,i)&&(yield t)}}for(const t of this.cache){const[e,i]=t;!1===this._deleteIfExpired(e,i)&&(yield t)}}get(t){if(this.cache.has(t)){const e=this.cache.get(t);return this._getItemValue(t,e)}if(this.oldCache.has(t)){const e=this.oldCache.get(t);if(!1===this._deleteIfExpired(t,e))return this._moveToRecent(t,e),e.value}}set(t,e,{maxAge:i=this.maxAge}={}){const n="number"==typeof i&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:e,expiry:n}):this._set(t,{value:e,expiry:n}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):!!this.oldCache.has(t)&&!this._deleteIfExpired(t,this.oldCache.get(t))}peek(t){return this.cache.has(t)?this._peek(t,this.cache):this.oldCache.has(t)?this._peek(t,this.oldCache):void 0}delete(t){const e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");const e=[...this._entriesAscending()],i=e.length-t;i<0?(this.cache=new Map(e),this.oldCache=new Map,this._size=e.length):(i>0&&this._emitEvictions(e.slice(0,i)),this.oldCache=new Map(e.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(const[t]of this)yield t}*values(){for(const[,t]of this)yield t}*[Symbol.iterator](){for(const t of this.cache){const[e,i]=t;!1===this._deleteIfExpired(e,i)&&(yield[e,i.value])}for(const t of this.oldCache){const[e,i]=t;if(!this.cache.has(e)){!1===this._deleteIfExpired(e,i)&&(yield[e,i.value])}}}*entriesDescending(){let t=[...this.cache];for(let e=t.length-1;e>=0;--e){const i=t[e],[n,r]=i;!1===this._deleteIfExpired(n,r)&&(yield[n,r.value])}t=[...this.oldCache];for(let e=t.length-1;e>=0;--e){const i=t[e],[n,r]=i;if(!this.cache.has(n)){!1===this._deleteIfExpired(n,r)&&(yield[n,r.value])}}}*entriesAscending(){for(const[t,e]of this._entriesAscending())yield[t,e.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(const e of this.oldCache.keys())this.cache.has(e)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,e=this){for(const[i,n]of this.entriesAscending())t.call(e,n,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class HG extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,HG),this.name="AbortError"}}class XG extends Error{constructor(t,e){super(e),this.errors=t,this.message=e,this.name="AggregateError"}}const WG=XG;class KG{constructor(t,e,i=null){this.offset=t,this.length=e,this.data=i}get top(){return this.offset+this.length}}class JG{constructor(t,e,i){this.offset=t,this.length=e,this.blockIds=i}}class ZG extends YG{constructor(t,{blockSize:e=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=e,this.blockCache=new jG({maxSize:i,onEviction:(t,e)=>{this.evictedBlocks.set(t,e)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,e){const i=[],n=[],r=[];this.evictedBlocks.clear();for(const{offset:e,length:s}of t){let t=e+s;const{fileSize:o}=this;null!==o&&(t=Math.min(t,o));for(let s=Math.floor(e/this.blockSize)*this.blockSize;ssetTimeout(e,t)))}(),this.fetchBlocks(e);const s=[];for(const t of n)this.blockRequests.has(t)&&s.push(this.blockRequests.get(t));await Promise.allSettled(i),await Promise.allSettled(s);const o=[],a=r.filter((t=>this.abortedBlockIds.has(t)||!this.blockCache.has(t)));if(a.forEach((t=>this.blockIdsToFetch.add(t))),a.length>0&&e&&!e.aborted){this.fetchBlocks(null);for(const t of a){const e=this.blockRequests.get(t);if(!e)throw new Error(`Block ${t} is not in the block requests`);o.push(e)}await Promise.allSettled(o)}if(e&&e.aborted)throw new HG("Request was aborted");const l=r.map((t=>this.blockCache.get(t)||this.evictedBlocks.get(t))),h=l.filter((t=>!t));if(h.length)throw new WG(h,"Request failed");const c=new Map(function(t,e){const i=Array.isArray(t)?t:Array.from(t),n=Array.isArray(e)?e:Array.from(e);return i.map(((t,e)=>[t,n[e]]))}(r,l));return this.readSliceData(t,c)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){const e=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(e,t);for(let n=0;n{try{const t=(await i)[n],r=e*this.blockSize,s=r-t.offset,o=Math.min(s+this.blockSize,t.data.byteLength),a=t.data.slice(s,o),l=new KG(r,a.byteLength,a,e);this.blockCache.set(e,l),this.abortedBlockIds.delete(e)}catch(i){if("AbortError"!==i.name)throw i;i.signal=t,this.blockCache.delete(e),this.abortedBlockIds.add(e)}finally{this.blockRequests.delete(e)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){const e=Array.from(t).sort(((t,e)=>t-e));if(0===e.length)return[];let i=[],n=null;const r=[];for(const t of e)null===n||n+1===t?(i.push(t),n=t):(r.push(new JG(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[t],n=t);return r.push(new JG(i[0]*this.blockSize,i.length*this.blockSize,i)),r}readSliceData(t,e){return t.map((t=>{let i=t.offset+t.length;null!==this.fileSize&&(i=Math.min(this.fileSize,i));const n=Math.floor(t.offset/this.blockSize),r=Math.floor(i/this.blockSize),s=new ArrayBuffer(t.length),o=new Uint8Array(s);for(let s=n;s<=r;++s){const n=e.get(s),r=n.offset-t.offset;let a,l=0,h=0;r<0?l=-r:r>0&&(h=r),a=n.top-i<0?n.length-l:i-n.offset-l;const c=new Uint8Array(n.data,l,a);o.set(c,h)}return s}))}}class $G{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}}class tU{constructor(t){this.url=t}async request({headers:t,signal:e}={}){throw new Error("request is not implemented")}}class eU extends $G{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}}class iU extends tU{constructor(t,e){super(t),this.credentials=e}async request({headers:t,signal:e}={}){const i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:e});return new eU(i)}}class nU extends $G{constructor(t,e){super(),this.xhr=t,this.data=e}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}}class rU extends tU{constructRequest(t,e){return new Promise(((i,n)=>{const r=new XMLHttpRequest;r.open("GET",this.url),r.responseType="arraybuffer";for(const[e,i]of Object.entries(t))r.setRequestHeader(e,i);r.onload=()=>{const t=r.response;i(new nU(r,t))},r.onerror=n,r.onabort=()=>n(new HG("Request aborted")),r.send(),e&&(e.aborted&&r.abort(),e.addEventListener("abort",(()=>r.abort())))}))}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}var sU=i(752),oU=i(640),aU=i(630);class lU extends $G{constructor(t,e){super(),this.response=t,this.dataPromise=e}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}}class hU extends tU{constructor(t){super(t),this.parsedUrl=aU.parse(this.url),this.httpApi="http:"===this.parsedUrl.protocol?sU:oU}constructRequest(t,e){return new Promise(((i,n)=>{const r=this.httpApi.get({...this.parsedUrl,headers:t},(t=>{const e=new Promise((e=>{const i=[];t.on("data",(t=>{i.push(t)})),t.on("end",(()=>{const t=Buffer.concat(i).buffer;e(t)})),t.on("error",n)}));i(new lU(t,e))}));r.on("error",n),e&&(e.aborted&&r.destroy(new HG("Request aborted")),e.addEventListener("abort",(()=>r.destroy(new HG("Request aborted")))))}))}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}class cU extends YG{constructor(t,e,i,n){super(),this.client=t,this.headers=e,this.maxRanges=i,this.allowFullFile=n,this._fileSize=null}async fetch(t,e){return this.maxRanges>=t.length?this.fetchSlices(t,e):(this.maxRanges>0&&t.length,Promise.all(t.map((t=>this.fetchSlice(t,e)))))}async fetchSlices(t,e){const i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map((({offset:t,length:e})=>`${t}-${t+e}`)).join(",")}`},signal:e});if(i.ok){if(206===i.status){const{type:n,params:r}=function(t){const[e,...i]=t.split(";").map((t=>t.trim()));return{type:e,params:qG(i.map((t=>t.split("="))))}}(i.getHeader("content-type"));if("multipart/byteranges"===n){const t=function(t,e){let i=null;const n=new TextDecoder("ascii"),r=[],s=`--${e}`,o=`${s}--`;for(let e=0;e<10;++e)n.decode(new Uint8Array(t,e,s.length))===s&&(i=e);if(null===i)throw new Error("Could not find initial boundary");for(;i1){const i=await Promise.all(t.slice(1).map((t=>this.fetchSlice(t,e))));return h.concat(i)}return h}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await i.getData();return this._fileSize=t.byteLength,[{data:t,offset:0,length:t.byteLength}]}}throw new Error("Error fetching data.")}async fetchSlice(t,e){const{offset:i,length:n}=t,r=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+n}`},signal:e});if(r.ok){if(206===r.status){const t=await r.getData(),{total:e}=zG(r.getHeader("content-range"));return this._fileSize=e||null,{data:t,offset:i,length:n}}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await r.getData();return this._fileSize=t.byteLength,{data:t,offset:0,length:t.byteLength}}}throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}}function uU(t,{blockSize:e,cacheSize:i}){return null===e?t:new ZG(t,{blockSize:e,cacheSize:i})}function gU(t,{forceXHR:e=!1,...i}={}){return"function"!=typeof fetch||e?"undefined"!=typeof XMLHttpRequest?function(t,{headers:e={},maxRanges:i=0,allowFullFile:n=!1,...r}={}){const s=new rU(t);return uU(new cU(s,e,i,n),r)}(t,i):function(t,{headers:e={},maxRanges:i=0,allowFullFile:n=!1,...r}={}){const s=new hU(t);return uU(new cU(s,e,i,n),r)}(t,i):function(t,{headers:e={},credentials:i,maxRanges:n=0,allowFullFile:r=!1,...s}={}){const o=new iU(t,i);return uU(new cU(o,e,n,r),s)}(t,i)}class dU extends YG{constructor(t){super(),this.file=t}async fetchSlice(t,e){return new Promise(((i,n)=>{const r=this.file.slice(t.offset,t.offset+t.length),s=new FileReader;s.onload=t=>i(t.target.result),s.onerror=n,s.onabort=n,s.readAsArrayBuffer(r),e&&e.addEventListener("abort",(()=>s.abort()))}))}}function AU(t){switch(t){case uk.sf.BYTE:case uk.sf.ASCII:case uk.sf.SBYTE:case uk.sf.UNDEFINED:return 1;case uk.sf.SHORT:case uk.sf.SSHORT:return 2;case uk.sf.LONG:case uk.sf.SLONG:case uk.sf.FLOAT:case uk.sf.IFD:return 4;case uk.sf.RATIONAL:case uk.sf.SRATIONAL:case uk.sf.DOUBLE:case uk.sf.LONG8:case uk.sf.SLONG8:case uk.sf.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${t}`)}}function pU(t,e,i,n){let r=null,s=null;const o=AU(e);switch(e){case uk.sf.BYTE:case uk.sf.ASCII:case uk.sf.UNDEFINED:r=new Uint8Array(i),s=t.readUint8;break;case uk.sf.SBYTE:r=new Int8Array(i),s=t.readInt8;break;case uk.sf.SHORT:r=new Uint16Array(i),s=t.readUint16;break;case uk.sf.SSHORT:r=new Int16Array(i),s=t.readInt16;break;case uk.sf.LONG:case uk.sf.IFD:r=new Uint32Array(i),s=t.readUint32;break;case uk.sf.SLONG:r=new Int32Array(i),s=t.readInt32;break;case uk.sf.LONG8:case uk.sf.IFD8:r=new Array(i),s=t.readUint64;break;case uk.sf.SLONG8:r=new Array(i),s=t.readInt64;break;case uk.sf.RATIONAL:r=new Uint32Array(2*i),s=t.readUint32;break;case uk.sf.SRATIONAL:r=new Int32Array(2*i),s=t.readInt32;break;case uk.sf.FLOAT:r=new Float32Array(i),s=t.readFloat32;break;case uk.sf.DOUBLE:r=new Float64Array(i),s=t.readFloat64;break;default:throw new RangeError(`Invalid field type: ${e}`)}if(e!==uk.sf.RATIONAL&&e!==uk.sf.SRATIONAL)for(let e=0;et.getWidth()-e.getWidth()));for(let e=0;en||s&&s>o)break}}let u=e;if(o){const[t,e]=a.getOrigin(),[i,n]=l.getResolution(a);u=[Math.round((o[0]-t)/i),Math.round((o[1]-e)/n),Math.round((o[2]-t)/i),Math.round((o[3]-e)/n)],u=[Math.min(u[0],u[2]),Math.min(u[1],u[3]),Math.max(u[0],u[2]),Math.max(u[1],u[3])]}return l.readRasters({...t,window:u})}}class yU extends _U{constructor(t,e,i,n,r={}){super(),this.source=t,this.littleEndian=e,this.bigTiff=i,this.firstIFDOffset=n,this.cache=r.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,e){const i=this.bigTiff?4048:1024;return new GG((await this.source.fetch([{offset:t,length:void 0!==e?e:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){const e=this.bigTiff?20:12,i=this.bigTiff?8:2;let n=await this.getSlice(t);const r=this.bigTiff?n.readUint64(t):n.readUint16(t),s=r*e+(this.bigTiff?16:6);n.covers(t,s)||(n=await this.getSlice(t,s));const o={};let a=t+(this.bigTiff?8:2);for(let t=0;t{const e=await this.ifdRequests[t-1];if(0===e.nextIFDByteOffset)throw new mU(t);return this.parseFileDirectoryAt(e.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){const e=await this.requestIFD(t);return new QG(e.fileDirectory,e.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,e=!0;for(;e;)try{await this.requestIFD(t),++t}catch(t){if(!(t instanceof mU))throw t;e=!1}return t}async getGhostValues(){const t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const e="GDAL_STRUCTURAL_METADATA_SIZE=";let i=await this.getSlice(t,130);if(e===pU(i,uk.sf.ASCII,30,t)){const e=pU(i,uk.sf.ASCII,130,t).split("\n")[0],n=Number(e.split("=")[1].split(" ")[0])+e.length;n>130&&(i=await this.getSlice(t,n));const r=pU(i,uk.sf.ASCII,n,t);this.ghostValues={},r.split("\n").filter((t=>t.length>0)).map((t=>t.split("="))).forEach((([t,e])=>{this.ghostValues[t]=e}))}return this.ghostValues}static async fromSource(t,e,i){const n=(await t.fetch([{offset:0,length:1024}],i))[0],r=new kG(n),s=r.getUint16(0,0);let o;if(18761===s)o=!0;else{if(19789!==s)throw new TypeError("Invalid byte order value.");o=!1}const a=r.getUint16(2,o);let l;if(42===a)l=!1;else{if(43!==a)throw new TypeError("Invalid magic number.");l=!0;if(8!==r.getUint16(4,o))throw new Error("Unsupported offset byte-size.")}const h=l?r.getUint64(8,o):r.getUint32(4,o);return new yU(t,o,l,h,e)}close(){return"function"==typeof this.source.close&&this.source.close()}}class IU extends _U{constructor(t,e){super(),this.mainFile=t,this.overviewFiles=e,this.imageFiles=[t].concat(e),this.fileDirectoriesPerFile=null,this.fileDirectoriesPerFileParsing=null,this.imageCount=null}async parseFileDirectoriesPerFile(){const t=[this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map((t=>t.parseFileDirectoryAt(t.firstIFDOffset))));return this.fileDirectoriesPerFile=await Promise.all(t),this.fileDirectoriesPerFile}async getImage(t=0){await this.getImageCount(),await this.parseFileDirectoriesPerFile();let e=0,i=0;for(let n=0;nt.getImageCount())));return this.imageCounts=await Promise.all(t),this.imageCount=this.imageCounts.reduce(((t,e)=>t+e),0),this.imageCount}}async function EU(t,e){return yU.fromSource(new dU(t),e)}function CU(t,e){if(!t)return!1;if(!0===t)return!0;if(3!==e.getSamplesPerPixel())return!1;const i=e.fileDirectory.PhotometricInterpretation,n=uk.Ie;return i===n.CMYK||i===n.YCbCr||i===n.CIELab||i===n.ICCLab}const vU="STATISTICS_MAXIMUM",xU="STATISTICS_MINIMUM";let wU;function SU(){return wU||(wU=new fk),wU}function bU(t){try{return t.getBoundingBox()}catch(e){return[0,0,t.getWidth(),t.getHeight()]}}function BU(t){try{return t.getOrigin().slice(0,2)}catch(e){return[0,t.getHeight()]}}function LU(t,e){try{return t.getResolution(e)}catch(i){return[e.getWidth()/t.getWidth(),e.getHeight()/t.getHeight()]}}function MU(t){const e=t.geoKeys;if(!e)return null;if(e.ProjectedCSTypeGeoKey&&32767!==e.ProjectedCSTypeGeoKey){const t="EPSG:"+e.ProjectedCSTypeGeoKey;let i=ee(t);if(!i){const n=h(e.ProjLinearUnitsGeoKey);n&&(i=new u({code:t,units:n}))}return i}if(e.GeographicTypeGeoKey&&32767!==e.GeographicTypeGeoKey){const t="EPSG:"+e.GeographicTypeGeoKey;let i=ee(t);if(!i){const n=h(e.GeogAngularUnitsGeoKey);n&&(i=new u({code:t,units:n}))}return i}return null}function TU(t){return t.getImageCount().then((function(e){const i=new Array(e);for(let n=0;nyU.fromSource(gU(t,i)))));return new IU(r,s)}(t.url,t.overviews,e):async function(t,e={},i){return yU.fromSource(gU(t,e),i)}(t.url,e),i.then(TU)}function NU(t,e,i,n,r){if(Array.isArray(t)){const s=t.length;if(!Array.isArray(e)||s!=e.length){const t=new Error(n);throw r(t),t}for(let o=0;oi*t)throw new Error(n)}function PU(t){return t instanceof Int8Array?127:t instanceof Uint8Array||t instanceof Uint8ClampedArray?255:t instanceof Int16Array?32767:t instanceof Uint16Array?65535:t instanceof Int32Array?2147483647:t instanceof Uint32Array?4294967295:t instanceof Float32Array?34e37:255}class FU extends ck{constructor(t){super({state:"loading",tileGrid:null,projection:t.projection||null,opaque:t.opaque,transition:t.transition,interpolate:!1!==t.interpolate,wrapX:t.wrapX}),this.sourceInfo_=t.sources;const e=this.sourceInfo_.length;this.sourceOptions_=t.sourceOptions,this.sourceImagery_=new Array(e),this.sourceMasks_=new Array(e),this.resolutionFactors_=new Array(e),this.samplesPerPixel_,this.nodataValues_,this.metadata_,this.normalize_=!1!==t.normalize,this.addAlpha_=!1,this.error_=null,this.convertToRGB_=t.convertToRGB||!1,this.setKey(this.sourceInfo_.map((t=>t.url)).join(","));const i=this,n=new Array(e);for(let t=0;t=0;--t){const i=MU(e[t]);if(i){this.projection=i;break}}}configure_(t){let e,i,n,r,s;const o=new Array(t.length),a=new Array(t.length),l=new Array(t.length);let h=0;const c=t.length;for(let u=0;u{4==(4&(t.fileDirectory.NewSubfileType||0))?g.push(t):c.push(t)}));const d=c.length;if(g.length>0&&g.length!==d)throw new Error(`Expected one mask per image found ${g.length} masks and ${d} images`);let A,p;const f=new Array(d),m=new Array(d),_=new Array(d);a[u]=new Array(d),l[u]=new Array(d);for(let t=0;t_.length&&(h=s.length-_.length);const t=s[s.length-1]/_[_.length-1];this.resolutionFactors_[u]=t;const e=_.map((e=>e*t)),i=`Resolution mismatch for source ${u}, got [${e}] but expected [${s}]`;NU(s.slice(h,s.length),e,.02,i,this.viewRejector)}else s=_,this.resolutionFactors_[u]=1;n?NU(n.slice(h,n.length),m,.01,`Tile size mismatch for source ${u}`,this.viewRejector):n=m,r?NU(r.slice(h,r.length),f,0,`Tile size mismatch for source ${u}`,this.viewRejector):r=f,this.sourceImagery_[u]=c.reverse(),this.sourceMasks_[u]=g.reverse()}for(let t=0,e=this.sourceImagery_.length;tl||s>l;)o.push([Math.ceil(r/l),Math.ceil(s/l)]),l+=l;break;case"truncated":let t=r,e=s;for(;t>l||e>l;)o.push([Math.ceil(t/l),Math.ceil(e/l)]),t>>=1,e>>=1;break;default:throw new Error("Unknown `tierSizeCalculation` configured")}o.push([1,1]),o.reverse();const h=[n],c=[0];for(let t=1,e=o.length;t{A=a,this.changed()})),_.src=m}};function kU(t){return t.toLocaleString("en",{maximumFractionDigits:10})}const GU=class extends Tp{constructor(t){const e=t||{};let i=e.url||"";i+=i.lastIndexOf("/")===i.length-1||""===i?"":"/";const n=e.version||gO,r=e.sizes||[],s=e.size;go(null!=s&&Array.isArray(s)&&2==s.length&&!isNaN(s[0])&&s[0]>0&&!isNaN(s[1])&&s[1]>0,"Missing or invalid `size`");const o=s[0],a=s[1],l=e.tileSize,h=e.tilePixelRatio||1,c=e.format||"jpg",u=e.quality||(e.version==uO?"native":"default");let g=e.resolutions||[];const d=e.supports||[],A=e.extent||[0,-a,o,0],p=null!=r&&Array.isArray(r)&&r.length>0,f=void 0!==l&&("number"==typeof l&&Number.isInteger(l)&&l>0||Array.isArray(l)&&l.length>0),m=null!=d&&Array.isArray(d)&&(d.includes("regionByPx")||d.includes("regionByPct"))&&(d.includes("sizeByWh")||d.includes("sizeByH")||d.includes("sizeByW")||d.includes("sizeByPct"));let _,y,I;if(g.sort((function(t,e){return e-t})),f||m)if(null!=l&&("number"==typeof l&&Number.isInteger(l)&&l>0?(_=l,y=l):Array.isArray(l)&&l.length>0&&((1==l.length||null==l[1]&&Number.isInteger(l[0]))&&(_=l[0],y=l[0]),2==l.length&&(Number.isInteger(l[0])&&Number.isInteger(l[1])?(_=l[0],y=l[1]):null==l[0]&&Number.isInteger(l[1])&&(_=l[1],y=l[1])))),void 0!==_&&void 0!==y||(_=ia,y=ia),0==g.length){I=Math.max(Math.ceil(Math.log(o/_)/Math.LN2),Math.ceil(Math.log(a/y)/Math.LN2));for(let t=I;t>=0;t--)g.push(Math.pow(2,t))}else{const t=Math.max(...g);I=Math.round(Math.log(t)/Math.LN2)}else if(_=o,y=a,g=[],p){r.sort((function(t,e){return t[0]-e[0]})),I=-1;const t=[];for(let e=0;e0&&g[g.length-1]==i?t.push(e):(g.push(i),I++)}if(t.length>0)for(let e=0;eI)return;const E=t[1],C=t[2],v=g[A];if(!(void 0===E||void 0===C||void 0===v||E<0||Math.ceil(o/v/_)<=E||C<0||Math.ceil(a/v/y)<=C)){if(m||f){const t=E*_*v,e=C*y*v;let i=_*v,r=y*v,s=_,c=y;if(t+i>o&&(i=o-t),e+r>a&&(r=a-e),t+_*v>o&&(s=Math.floor((o-t+v-1)/v)),e+y*v>a&&(c=Math.floor((a-e+v-1)/v)),0==t&&i==o&&0==e&&r==a)l="full";else if(!m||d.includes("regionByPx"))l=t+","+e+","+i+","+r;else if(d.includes("regionByPct")){l="pct:"+kU(t/o*100)+","+kU(e/a*100)+","+kU(i/o*100)+","+kU(r/a*100)}n!=dO||m&&!d.includes("sizeByWh")?!m||d.includes("sizeByW")?h=s+",":d.includes("sizeByH")?h=","+c:d.includes("sizeByWh")?h=s+","+c:d.includes("sizeByPct")&&(h="pct:"+kU(100/v)):h=s+","+c}else if(l="full",p){const t=r[A][0],e=r[A][1];h=n==dO?t==o&&e==a?"max":t+","+e:t==o?"full":t+","}else h=n==dO?"max":"full";return i+l+"/"+h+"/0/"+u+"."+c}},transition:e.transition}),this.zDirection=e.zDirection}};function UU(t,e,i,n,r,s){const o=r.getCode().split(/:(?=\d+$)/).pop(),a=i/n,l=[Et(at(e)/a,Rp),Et(nt(e)/a,Rp)];s.SIZE=l[0]+","+l[1],s.BBOX=e.join(","),s.BBOXSR=o,s.IMAGESR=o,s.DPI=Math.round(s.DPI?s.DPI*n:90*n);const h=t.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage");if(h==t)throw new Error("`options.featureTypes` should be an Array");return Np(h,s)}function qU(t){const e=t.load?t.load:Pg,i=ee(t.projection||"EPSG:3857");return function(n,r,s){s=t.hidpi?s:1;const o={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Object.assign(o,t.params),n=Up(n,r,s,t.ratio);const a=UU(t.url,n,r,s,i,o),l=new Image;return null!==t.crossOrigin&&(l.crossOrigin=t.crossOrigin),e(l,a).then((t=>{const e=at(n)/t.width*s;return{image:t,extent:n,resolution:e,pixelRatio:s}}))}}const VU=class extends qp{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:t.interpolate,projection:t.projection,resolutions:t.resolutions}),this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null,this.hidpi_=void 0===t.hidpi||t.hidpi,this.url_=t.url,this.imageLoadFunction_=void 0!==t.imageLoadFunction?t.imageLoadFunction:Gp,this.params_=t.params||{},this.image_=null,this.imageSize_=[0,0],this.renderedRevision_=0,this.ratio_=void 0!==t.ratio?t.ratio:1.5}getParams(){return this.params_}getImageInternal(t,e,i,n){return void 0===this.url_?null:(this.loader||(this.loader=qU({crossOrigin:this.crossOrigin_,params:this.params_,projection:n,hidpi:this.hidpi_,url:this.url_,ratio:this.ratio_,load:(t,e)=>(this.image.setImage(t),this.imageLoadFunction_(this.image,e),Pg(t))})),super.getImageInternal(t,e,i,n))}getImageLoadFunction(){return this.imageLoadFunction_}getUrl(){return this.url_}setImageLoadFunction(t){this.image_=null,this.imageLoadFunction_=t,this.changed()}setUrl(t){t!=this.url_&&(this.url_=t,this.image_=null,this.changed())}updateParams(t){Object.assign(this.params_,t),this.image_=null,this.changed()}};const zU=class extends qp{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:t.interpolate,projection:t.projection,resolutions:t.resolutions,state:t.state}),this.canvasFunction_=t.canvasFunction,this.canvas_=null,this.renderedRevision_=0,this.ratio_=void 0!==t.ratio?t.ratio:1.5}getImageInternal(t,e,i,n){e=this.findNearestResolution(e);let r=this.canvas_;if(r&&this.renderedRevision_==this.getRevision()&&r.getResolution()==e&&r.getPixelRatio()==i&&D(r.getExtent(),t))return r;ct(t=t.slice(),this.ratio_);const s=[at(t)/e*i,nt(t)/e*i],o=this.canvasFunction_.call(this,t,e,i,s,n);return o&&(r=new ik(t,e,i,o)),this.canvas_=r,this.renderedRevision_=this.getRevision(),r}};function YU(t,e,i,n,r,s,o){const a=function(t,e,i,n){const r=at(t),s=nt(t),o=e[0],a=e[1],l=.0254/n;return a*r>o*s?r*i/(o*l):s*i/(a*l)}(i,n,s,o),l=$(i),h={OPERATION:r?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol/source/ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:o,SETDISPLAYWIDTH:Math.round(n[0]),SETDISPLAYHEIGHT:Math.round(n[1]),SETVIEWSCALE:a,SETVIEWCENTERX:l[0],SETVIEWCENTERY:l[1]};return Object.assign(h,e),Np(t,h)}function jU(t){const e=t.load||Pg;return function(i,n,r){const s=new Image;null!==t.crossOrigin&&(s.crossOrigin=t.crossOrigin);const o=at(i=Up(i,n,r,t.ratio))/n,a=nt(i)/n,l=[o*r,a*r],h=YU(t.url,t.params,i,l,t.useOverlay,t.metersPerUnit||1,t.displayDpi||96);return e(s,h).then((t=>({image:t,extent:i,pixelRatio:r})))}}const HU=class extends qp{constructor(t){super({interpolate:t.interpolate,projection:t.projection,resolutions:t.resolutions}),this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null,this.displayDpi_=void 0!==t.displayDpi?t.displayDpi:96,this.params_=t.params||{},this.url_=t.url,this.imageLoadFunction_=void 0!==t.imageLoadFunction?t.imageLoadFunction:Gp,this.hidpi_=void 0===t.hidpi||t.hidpi,this.metersPerUnit_=void 0!==t.metersPerUnit?t.metersPerUnit:1,this.ratio_=void 0!==t.ratio?t.ratio:1,this.useOverlay_=void 0!==t.useOverlay&&t.useOverlay,this.image_=null,this.renderedRevision_=0}getParams(){return this.params_}getImageInternal(t,e,i,n){return void 0===this.url_?null:(this.loader||(this.loader=jU({crossOrigin:this.crossOrigin_,params:this.params_,hidpi:this.hidpi_,metersPerUnit:this.metersPerUnit_,url:this.url_,useOverlay:this.useOverlay_,ratio:this.ratio_,load:(t,e)=>(this.image.setImage(t),this.imageLoadFunction_(this.image,e),Pg(t))})),super.getImageInternal(t,e,i,n))}getImageLoadFunction(){return this.imageLoadFunction_}updateParams(t){Object.assign(this.params_,t),this.changed()}setImageLoadFunction(t){this.image_=null,this.imageLoadFunction_=t,this.changed()}};function XU(t){const e=t.load||Pg,i=t.imageExtent,n=new Image;return null!==t.crossOrigin&&(n.crossOrigin=t.crossOrigin),()=>e(n,t.url).then((t=>{const e=at(i)/t.width,n=nt(i)/t.height;return{image:t,extent:i,resolution:e!==n?[e,n]:n,pixelRatio:1}}))}const WU=class extends qp{constructor(t){const e=void 0!==t.crossOrigin?t.crossOrigin:null,i=void 0!==t.imageLoadFunction?t.imageLoadFunction:Gp;super({attributions:t.attributions,interpolate:t.interpolate,projection:ee(t.projection)}),this.url_=t.url,this.imageExtent_=t.imageExtent,this.image=null,this.image=new Fg(this.imageExtent_,void 0,1,XU({url:t.url,imageExtent:t.imageExtent,crossOrigin:e,load:(t,e)=>(this.image.setImage(t),i(this.image,e),Pg(t))})),this.image.addEventListener(bs,this.handleImageChange.bind(this))}getImageExtent(){return this.imageExtent_}getImageInternal(t,e,i,n){return lt(t,this.image.getExtent())?this.image:null}getUrl(){return this.url_}};function KU(t,e,i,n){const r=document.createElement("script"),s="olc_"+Xs(e);function o(){delete window[s],r.parentNode.removeChild(r)}r.async=!0,r.src=t+(t.includes("?")?"&":"?")+(n||"callback")+"="+s;const a=setTimeout((function(){o(),i&&i()}),1e4);window[s]=function(t){clearTimeout(a),o(),e(t)},document.head.appendChild(r)}class JU extends Error{constructor(t){super("Unexpected response status: "+t.status),this.name="ResponseError",this.response=t}}class ZU extends Error{constructor(t){super("Failed to issue request"),this.name="ClientError",this.client=t}}function $U(t){return new Promise((function(e,i){const n=new XMLHttpRequest;n.addEventListener("load",(function(t){const n=t.target;if(!n.status||n.status>=200&&n.status<300){let t;try{t=JSON.parse(n.responseText)}catch(t){const e="Error parsing response text as JSON: "+t.message;return void i(new Error(e))}e(t)}else i(new JU(n))})),n.addEventListener("error",(function(t){i(new ZU(t.target))})),n.open("GET",t),n.setRequestHeader("Accept","application/json"),n.send()}))}function tq(t,e){return e.includes("://")?e:new URL(e,t).href}const eq={"image/png":!0,"image/jpeg":!0,"image/gif":!0,"image/webp":!0},iq={"application/vnd.mapbox-vector-tile":!0,"application/geo+json":!0};function nq(t,e,i,n){let r=t.projection;if(!r&&(r=ee(e.crs),!r))throw new Error(`Unsupported CRS: ${e.crs}`);const s="en"!==r.getAxisOrientation().substr(0,2),o=e.tileMatrices,a={};for(let t=0;tt.maxTileCol||u.tileRowt.maxTileRow)return}Object.assign(u,m);const g=i.replace(/\{(\w+?)\}/g,(function(t,e){return u[e]}));return tq(_,g)}}}function rq(t,e){const i=e.tileMatrixSetLimits;let n;if("map"===e.dataType)n=function(t,e){let i,n;for(let r=0;r"http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme"===t.rel));if(!r)throw new Error("Expected http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme link or tileMatrixSet");const s=r.href;return $U(tq(t.url,s)).then((function(e){return nq(t,e,n,i)}))}function sq(t){return $U(t.url).then((function(e){return rq(t,e)}))}const oq=class extends Tp{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:t.projection,reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition});sq({url:t.url,projection:this.getProjection(),mediaType:t.mediaType,context:t.context||null}).then(this.handleTileSetInfo_.bind(this)).catch(this.handleError_.bind(this))}handleTileSetInfo_(t){this.tileGrid=t.grid,this.setTileUrlFunction(t.urlFunction,t.urlTemplate),this.setState("ready")}handleError_(t){Wt(t),this.setState("error")}};const aq=class extends nB{constructor(t){super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,format:t.format,overlaps:t.overlaps,projection:t.projection,tileClass:t.tileClass,transition:t.transition,wrapX:t.wrapX,zDirection:t.zDirection,state:"loading"});sq({url:t.url,projection:this.getProjection(),mediaType:t.mediaType,supportedMediaTypes:t.format.supportedMediaTypes,context:t.context||null}).then(this.handleTileSetInfo_.bind(this)).catch(this.handleError_.bind(this))}handleTileSetInfo_(t){this.tileGrid=t.grid,this.setTileUrlFunction(t.urlFunction,t.urlTemplate),this.setState("ready")}handleError_(t){Wt(t),this.setState("error")}};let lq,hq=!0;try{new ImageData(10,10)}catch(t){hq=!1}function cq(t){let e=!0;try{new ImageData(10,10)}catch(t){e=!1}function i(t,i,n){return e?new ImageData(t,i,n):{data:t,width:i,height:n}}return function(e){const n=e.buffers,r=e.meta,s=e.imageOps,o=e.width,a=e.height,l=n.length,h=n[0].byteLength;if(s){const e=new Array(l);for(let t=0;tthis._maxQueueLength;)this._queue.shift().callback(null,null)}_dispatch(){if(this._running||0===this._queue.length)return;const t=this._queue.shift();this._job=t;const e=t.inputs[0].width,i=t.inputs[0].height,n=t.inputs.map((function(t){return t.data.buffer})),r=this._workers.length;if(this._running=r,1===r)return void this._workers[0].postMessage({buffers:n,meta:t.meta,imageOps:this._imageOps,width:e,height:i},n);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let s=0;sStadia Maps','© OpenMapTiles',Xb];t.layer.startsWith("stamen_")&&l.splice(1,0,'© Stamen Design'),super({attributions:l,cacheSize:t.cacheSize,crossOrigin:"anonymous",interpolate:t.interpolate,maxZoom:void 0!==t.maxZoom?t.maxZoom:n.maxZoom,minZoom:void 0!==t.minZoom?t.minZoom:n.minZoom,opaque:r.opaque,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,transition:t.transition,url:a,tilePixelRatio:o?2:1,wrapX:t.wrapX,zDirection:t.zDirection})}};const xq=class extends Tp{constructor(t){super({attributions:(t=t||{}).attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:t.projection,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileGrid:t.tileGrid,tileLoadFunction:t.tileLoadFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.params_=t.params||{},this.hidpi_=void 0===t.hidpi||t.hidpi,this.tmpExtent_=[1/0,1/0,-1/0,-1/0],this.setKey(this.getKeyForParams_())}getKeyForParams_(){let t=0;const e=[];for(const i in this.params_)e[t++]=i+"-"+this.params_[i];return e.join("/")}getParams(){return this.params_}getRequestUrl_(t,e,i,n,r,s){const o=this.urls;if(!o)return;let a;if(1==o.length)a=o[0];else{a=o[_t(rd(t),o.length)]}return UU(a,i,(this.tileGrid||this.getTileGridForProjection(r)).getResolution(t[0]),n,r,s)}getTilePixelRatio(t){return this.hidpi_?t:1}updateParams(t){Object.assign(this.params_,t),this.setKey(this.getKeyForParams_())}tileUrlFunction(t,e,i){let n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(i)),n.getResolutions().length<=t[0])return;1==e||this.hidpi_||(e=1);const r=n.getTileCoordExtent(t,this.tmpExtent_);let s=xc(n.getTileSize(t[0]),this.tmpSize);1!=e&&(s=vc(s,e,this.tmpSize));const o={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};return Object.assign(o,this.params_),this.getRequestUrl_(t,s,r,e,i,o)}};const wq=class extends Vb{constructor(t){super({opaque:!1,projection:(t=t||{}).projection,tileGrid:t.tileGrid,wrapX:void 0===t.wrapX||t.wrapX,zDirection:t.zDirection,url:t.template||"z:{z} x:{x} y:{y}",tileLoadFunction:(t,e)=>{const i=t.getTileCoord()[0],n=xc(this.tileGrid.getTileSize(i)),r=bl(n[0],n[1]);r.strokeStyle="grey",r.strokeRect(.5,.5,n[0]+.5,n[1]+.5),r.fillStyle="grey",r.strokeStyle="white",r.textAlign="center",r.textBaseline="middle",r.font="24px sans-serif",r.lineWidth=4,r.strokeText(e,n[0]/2,n[1]/2,n[0]),r.fillText(e,n[0]/2,n[1]/2,n[0]),t.setImage(r.canvas)}})}};const Sq=class extends Tp{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:ee("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)KU(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=ee("EPSG:4326"),i=this.getProjection();let n;if(void 0!==t.bounds){const r=le(e,i);n=ut(t.bounds,r)}const r=Ip(i),s=t.minzoom||0,o=_p({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=xp(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==n?n:r;this.setAttributions((function(i){return lt(e,i.extent)?[t.attribution]:null}))}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}};class bq extends Tg{constructor(t,e,i,n,r,s){super(t,e),this.src_=i,this.extent_=n,this.preemptive_=r,this.grid_=null,this.keys_=null,this.data_=null,this.jsonp_=s}getImage(){return null}getData(t){if(!this.grid_||!this.keys_)return null;const e=(t[0]-this.extent_[0])/(this.extent_[2]-this.extent_[0]),i=(t[1]-this.extent_[1])/(this.extent_[3]-this.extent_[1]),n=this.grid_[Math.floor((1-i)*this.grid_.length)];if("string"!=typeof n)return null;let r=n.charCodeAt(Math.floor(e*n.length));r>=93&&r--,r>=35&&r--,r-=32;let s=null;if(r in this.keys_){const t=this.keys_[r];s=this.data_&&t in this.data_?this.data_[t]:t}return s}forDataAtCoordinate(t,e,i){this.state==bh&&!0===i?(this.state=vh,Us(this,bs,(function(i){e(this.getData(t))}),this),this.loadInternal_()):!0===i?setTimeout((()=>{e(this.getData(t))}),0):e(this.getData(t))}getKey(){return this.src_}handleError_(){this.state=Sh,this.changed()}handleLoad_(t){this.grid_=t.grid,this.keys_=t.keys,this.data_=t.data,this.state=wh,this.changed()}loadInternal_(){if(this.state==vh)if(this.state=xh,this.jsonp_)KU(this.src_,this.handleLoad_.bind(this),this.handleError_.bind(this));else{const t=new XMLHttpRequest;t.addEventListener("load",this.onXHRLoad_.bind(this)),t.addEventListener("error",this.onXHRError_.bind(this)),t.open("GET",this.src_),t.send()}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch(t){return void this.handleError_()}this.handleLoad_(t)}else this.handleError_()}onXHRError_(t){this.handleError_()}load(){this.preemptive_?this.loadInternal_():this.setState(bh)}}const Bq=class extends Cp{constructor(t){if(super({projection:ee("EPSG:3857"),state:"loading",zDirection:t.zDirection}),this.preemptive_=void 0===t.preemptive||t.preemptive,this.tileUrlFunction_=Sp,this.template_=void 0,this.jsonp_=t.jsonp||!1,t.url)if(this.jsonp_)KU(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTemplate(){return this.template_}forDataAtCoordinateAndResolution(t,e,i,n){if(this.tileGrid){const r=this.tileGrid.getZForResolution(e,this.zDirection),s=this.tileGrid.getTileCoordForCoordAndZ(t,r);this.getTile(s[0],s[1],s[2],1,this.getProjection()).forDataAtCoordinate(t,i,n)}else!0===n?setTimeout((function(){i(null)}),0):i(null)}handleTileJSONError(){this.setState("error")}handleTileJSONResponse(t){const e=ee("EPSG:4326"),i=this.getProjection();let n;if(void 0!==t.bounds){const r=le(e,i);n=ut(t.bounds,r)}const r=Ip(i),s=t.minzoom||0,o=_p({extent:r,maxZoom:t.maxzoom||22,minZoom:s});this.tileGrid=o,this.template_=t.template;const a=t.grids;if(a){if(this.tileUrlFunction_=xp(a,o),void 0!==t.attribution){const e=void 0!==n?n:r;this.setAttributions((function(i){return lt(e,i.extent)?[t.attribution]:null}))}this.setState("ready")}else this.setState("error")}getTile(t,e,i,n,r){const s=ed(t,e,i);if(this.tileCache.containsKey(s))return this.tileCache.get(s);const o=[t,e,i],a=this.getTileCoordForTileUrlFunction(o,r),l=this.tileUrlFunction_(a,n,r),h=new bq(o,void 0!==l?vh:bh,void 0!==l?l:"",this.tileGrid.getTileCoordExtent(o),this.preemptive_,this.jsonp_);return this.tileCache.set(s,h),h}useTile(t,e,i){const n=ed(t,e,i);this.tileCache.containsKey(n)&&this.tileCache.get(n)}};const Lq=window.M={},Mq=window.ol={};Lq.ClusteredFeature=OL,Lq.Control=vu,Lq.Feature=DL,Lq.Filter=fI,Lq.Label=nx,Lq.Layer=_g,Lq.Map=SB,Lq.Object=Mc,Lq.Parameters=sx,Lq.Plugin=QL,Lq.Popup=sI,Lq.RenderFeature=ax,Lq.Style=Jm,Lq.addProxyException=t=>{const e=new URL(t).origin;-1===LB.indexOf(e)&&LB.push(e)},Lq.config=bB,Lq.control={},Lq.control.GetFeatureInfo=kv,Lq.control.LayerSwitcher=xI,Lq.control.Location=VI,Lq.control.Mouse=ME,Lq.control.Navtoolbar=VE,Lq.control.OverviewMap=QE,Lq.control.Panzoom=XE,Lq.control.Panzoombar=Mu,Lq.control.Rotate=sE,Lq.control.Rotate.onClick=iE,Lq.control.Rotate.onMouseDown=tE,Lq.control.Rotate.onMouseMove=nE,Lq.control.Rotate.onMouseUp=eE,Lq.control.Scale=XI,Lq.control.ScaleLine=EE,Lq.control.WMCSelector=mf,Lq.dialog={},Lq.dialog.error=AI,Lq.dialog.info=dI,Lq.dialog.show=gI,Lq.dialog.success=pI,Lq.evt={},Lq.evt.ACTIVATED=Kc,Lq.evt.ADDED_GEOPACKAGE="added:geopackage",Lq.evt.ADDED_GEOPACKAGE_TILE="added:geopackagetile",Lq.evt.ADDED_GEOPACKAGE_VECTOR="added:geopackagevector",Lq.evt.ADDED_KML=Vc,Lq.evt.ADDED_LAYER=Uc,Lq.evt.ADDED_MBTILES="added:mbtiles",Lq.evt.ADDED_MBTILES_VECTOR="added:mbtilesvector",Lq.evt.ADDED_TO_MAP=kc,Lq.evt.ADDED_TO_PANEL=Gc,Lq.evt.ADDED_VECTOR_TILE=jc,Lq.evt.ADDED_WFS=Yc,Lq.evt.ADDED_WMC=qc,Lq.evt.ADDED_WMS=zc,Lq.evt.ADDED_WMTS=Wc,Lq.evt.CHANGE=au,Lq.evt.CHANGE_PROJ=hu,Lq.evt.CHANGE_ROTATION=gu,Lq.evt.CHANGE_STYLE=cu,Lq.evt.CHANGE_WMC=lu,Lq.evt.CHANGE_ZOOM=uu,Lq.evt.CLICK=Au,Lq.evt.COMPLETED=ou,Lq.evt.DEACTIVATED=Jc,Lq.evt.DESTROY=tu,Lq.evt.DOUBLE_CLICK="doubleclick",Lq.evt.EventsManager=Lc,Lq.evt.HIDE=$c,Lq.evt.HOVER_FEATURES=nu,Lq.evt.LAYER_VISIBILITY_CHANGE=du,Lq.evt.LEAVE_FEATURES=ru,Lq.evt.LOAD=su,Lq.evt.LOAD_LAYERS="load:layers",Lq.evt.Listener=Bc,Lq.evt.MOVE=pu,Lq.evt.POPUP_ADDED=fu,Lq.evt.POPUP_ADDED_TAB=_u,Lq.evt.POPUP_REMOVED=mu,Lq.evt.POPUP_REMOVED_TAB=yu,Lq.evt.REMOVED_FROM_MAP=Xc,Lq.evt.REMOVED_LAYER=Hc,Lq.evt.SELECT_FEATURES=eu,Lq.evt.SHOW=Zc,Lq.evt.UNSELECT_FEATURES=iu,Lq.exception=Oc,Lq.facade={},Lq.facade.Base=Qc,Lq.filter=GL,Lq.filter.AND=t=>{let e="";const i=t.length;return t.forEach(((t,n)=>{e+=`(${t.toCQL()})`,nt.every((t=>t.getFunctionFilter()(e)))),{cqlFilter:e})},Lq.filter.EQUAL=(t,e)=>new kL((i=>Object.is(i.getAttribute(t),e)),{cqlFilter:`${t}='${e}'`}),Lq.filter.Function=kL,Lq.filter.GT=(t,e)=>new kL((i=>null!=i.getAttribute(t)&&i.getAttribute(t)>e),{cqlFilter:`${t} > '${e}'`}),Lq.filter.GTE=(t,e)=>new kL((i=>null!=i.getAttribute(t)&&i.getAttribute(t)>=e),{cqlFilter:`${t} >= '${e}'`}),Lq.filter.LIKE=(t,e)=>new kL((i=>i.getAttribute(t).toString().match(new RegExp(e))),{cqlFilter:`${t} LIKE '%${e}%'`}),Lq.filter.LT=(t,e)=>new kL((i=>null!=i.getAttribute(t)&&i.getAttribute(t)new kL((e=>!t.getFunctionFilter()(e)),{cqlFilter:`NOT ${t.toCQL()}`}),Lq.filter.OR=t=>{const e=t.length;let i="";return t.forEach(((t,n)=>{i+=`(${t.toCQL()})`,nt.some((t=>t.getFunctionFilter()(e)))),{cqlFilter:i})},Lq.filter.spatial={},Lq.filter.spatial.CONTAIN=t=>{const e=hD(t);return new GL(((t,i)=>{const n=new VP,r=n.read(t);return e.some((t=>{const e=n.read(t);return lD.contains(e,r)}))}),{cqlFilter:cD("CONTAINS",e)})},Lq.filter.spatial.DISJOINT=t=>{const e=hD(t);return new GL(((t,i)=>{const n=new VP,r=n.read(t);return e.some((t=>{const e=n.read(t);return!lD.intersects(r,e)}))}),{cqlFilter:cD("DISJOINT",e)})},Lq.filter.spatial.INTERSECT=t=>{const e=hD(t);return new GL(((t,i)=>{const n=new VP,r=n.read(t);return e.some((t=>{const e=n.read(t);return lD.intersects(r,e)}))}),{cqlFilter:cD("INTERSECTS",e)})},Lq.filter.spatial.WITHIN=t=>{const e=hD(t);return new GL(((t,i)=>{const n=new VP,r=n.read(t);return e.some((t=>{const e=n.read(t);return lD.contains(e,r)}))}),{cqlFilter:cD("WITHIN",e)})},Lq.filter.spatial.parseParamToGeometries=hD,Lq.format={},Lq.format.GeoJSON=LS,Lq.format.WKT=cM,Lq.geom={},Lq.geom.geojson={},Lq.geom.geojson.type={},Lq.geom.geojson.type.GEOMETRY_COLLECTION="GeometryCollection",Lq.geom.geojson.type.LINE_STRING="LineString",Lq.geom.geojson.type.MULTI_LINE_STRING="MultiLineString",Lq.geom.geojson.type.MULTI_POINT="MultiPoint",Lq.geom.geojson.type.MULTI_POLYGON="MultiPolygon",Lq.geom.geojson.type.POINT="Point",Lq.geom.geojson.type.POLYGON="Polygon",Lq.geom.parse=jS,Lq.geom.parseWFS=t=>{let e;return t===GS?e=Ad:t===US?e=ld:t===qS?e=hd:t===VS?e=cd:t===zS?e=ud:t===YS&&(e=gd),e},Lq.geom.wfs={},Lq.geom.wfs.type={},Lq.geom.wfs.type.LINE=US,Lq.geom.wfs.type.MLINE=zS,Lq.geom.wfs.type.MPOINT=VS,Lq.geom.wfs.type.MPOLYGON=YS,Lq.geom.wfs.type.POINT=GS,Lq.geom.wfs.type.POLYGON=qS,Lq.geom.wkt={},Lq.geom.wkt.type={},Lq.geom.wkt.type.CIRCLE=fd,Lq.geom.wkt.type.GEOMETRY=ad,Lq.geom.wkt.type.GEOMETRY_COLLECTION=pd,Lq.geom.wkt.type.LINEAR_RING=dd,Lq.geom.wkt.type.LINE_STRING=ld,Lq.geom.wkt.type.MULTI_LINE_STRING=ud,Lq.geom.wkt.type.MULTI_POINT=cd,Lq.geom.wkt.type.MULTI_POLYGON=gd,Lq.geom.wkt.type.POINT=Ad,Lq.geom.wkt.type.POLYGON=hd,Lq.handler={},Lq.handler.Feature=ux,Lq.impl={},Lq.impl.Control=Af,Lq.impl.Feature=PL,Lq.impl.GetCapabilities=zd,Lq.impl.Label=ex,Lq.impl.Layer=Vd,Lq.impl.Map=uf,Lq.impl.Popup=Zy,Lq.impl.RenderFeature=lx,Lq.impl.Style=cm,Lq.impl.View=sf,Lq.impl.control={},Lq.impl.control.GetFeatureInfo=Fv,Lq.impl.control.LayerSwitcher=xf,Lq.impl.control.Location=kI,Lq.impl.control.Mouse=BE,Lq.impl.control.Navtoolbar=kE,Lq.impl.control.OverviewMap=PE,Lq.impl.control.Panzoom=jE,Lq.impl.control.Panzoombar=Dc,Lq.impl.control.Rotate=KI,Lq.impl.control.Scale=jI,Lq.impl.control.ScaleLine=mE,Lq.impl.control.WMCSelector=pf,Lq.impl.format={},Lq.impl.format.DescribeFeatureType=RS,Lq.impl.format.DescribeFeatureTypeXML=TS,Lq.impl.format.GML=DS,Lq.impl.format.GeoJSON=BS,Lq.impl.format.KML=mS,Lq.impl.format.WKT=hM,Lq.impl.format.WMC=JS,Lq.impl.format.WMSCapabilities=hp,Lq.impl.format.WMTSCapabilities=uM,Lq.impl.format.XML=MS,Lq.impl.handler={},Lq.impl.handler.Feature=cx,Lq.impl.interaction={},Lq.impl.interaction.SelectCluster=Py,Lq.impl.layer={},Lq.impl.layer.AnimatedCluster=By,Lq.impl.layer.Draw=dM,Lq.impl.layer.GeoJSON=CB,Lq.impl.layer.Heatmap=ZT,Lq.impl.layer.KML=yS,Lq.impl.layer.MVT=fB,Lq.impl.layer.Mapbox=Yb,Lq.impl.layer.OSM=Jb,Lq.impl.layer.Vector=hI,Lq.impl.layer.WFS=kS,Lq.impl.layer.WMC=$S,Lq.impl.layer.WMS=ef,Lq.impl.layer.WMTS=Gb,Lq.impl.loader={},Lq.impl.loader.JSONP=IB,Lq.impl.loader.KML=Ax,Lq.impl.loader.WFS=OS,Lq.impl.service={},Lq.impl.service.WFS=NS,Lq.impl.source={},Lq.impl.source.ImageWMS=$p,Lq.impl.source.TileWMS=Kp,Lq.impl.style={},Lq.impl.style.Centroid=Dy,Lq.impl.style.Chart=lR,Lq.impl.style.Cluster=ky,Lq.impl.style.Generic=Wm,Lq.impl.style.Heatmap=hR,Lq.impl.style.Icon=cR,Lq.impl.style.Line=mR,Lq.impl.style.Path=Dm,Lq.impl.style.Point=II,Lq.impl.style.Polygon=yR,Lq.impl.style.Simple=um,Lq.impl.utils=qd,Lq.language={},Lq.language.addTranslation=(t,e)=>{Iu.translations[t]=e},Lq.language.getLang=()=>Iu.lang,Lq.language.getTranslation=Eu,Lq.language.getValue=Cu,Lq.language.setLang=t=>{Object.keys(Iu.translations).includes(t)||Oc(Cu("exception").unsupported_lang),Iu.lang=t},Lq.layer={},Lq.layer.GeoJSON=xB,Lq.layer.KML=ES,Lq.layer.LayerGroup=Cf,Lq.layer.MVT=yB,Lq.layer.MVT.mode=mB,Lq.layer.Mapbox=Hb,Lq.layer.OSM=$b,Lq.layer.Vector=_I,Lq.layer.WFS=XS,Lq.layer.WMC=eb,Lq.layer.WMS=rf,Lq.layer.WMTS=qb,Lq.layer.type={},Lq.layer.type.GeoJSON=Qu,Lq.layer.type.KML=Ru,Lq.layer.type.MVT=Gu,Lq.layer.type.Mapbox=Ou,Lq.layer.type.OSM=Du,Lq.layer.type.Vector=ku,Lq.layer.type.WFS=Pu,Lq.layer.type.WMC=Tu,Lq.layer.type.WMS=Nu,Lq.layer.type.WMTS=Fu,Lq.layer.type.registerLayerType=t=>{t in Uu||(Uu[t]=t)},Lq.map=(t,e)=>(qB(uf)&&Oc(Cu("exception").no_impl),new SB(t,e)),Lq.parameter={},Lq.parameter.center=ag,Lq.parameter.geojson=sg,Lq.parameter.kml=Ku,Lq.parameter.layer=fg,Lq.parameter.mapbox=$u,Lq.parameter.maxExtent=lg,Lq.parameter.mvt=dg,Lq.parameter.osm=ig,Lq.parameter.projection=hg,Lq.parameter.resolutions=cg,Lq.parameter.wfs=gg,Lq.parameter.wmc=og,Lq.parameter.wms=Hu,Lq.parameter.wmts=Ag,Lq.parameter.zoom=ug,Lq.projection=hs,Lq.proxy=t=>{"boolean"==typeof t&&(BB=t)},Lq.remote={},Lq.remote.Response=MB,Lq.remote.get=DB,Lq.remote.post=(t,e,i)=>FB(t,e,RB),Lq.removeProxyException=t=>{const e=new URL(t).origin,i=LB.indexOf(e);-1!==i&&LB.splice(i,1)},Lq.style={},Lq.style.Category=BR,Lq.style.Chart=nR,Lq.style.Choropleth=FR,Lq.style.Cluster=Vy,Lq.style.Composite=Uy,Lq.style.Feature=Zm,Lq.style.Font=DR,Lq.style.Generic=e_,Lq.style.Heatmap=QR,Lq.style.Line=gR,Lq.style.Point=CI,Lq.style.Polygon=wR,Lq.style.Proportional=vR,Lq.style.Proportional.getMinMaxValues=IR,Lq.style.Simple=$m,Lq.style.align={},Lq.style.align.CENTER=dm,Lq.style.align.JUSTIFY=pm,Lq.style.align.LEFT=gm,Lq.style.align.RIGHT=Am,Lq.style.baseline={},Lq.style.baseline.ALPHABETIC=ym,Lq.style.baseline.BOTTOM=_m,Lq.style.baseline.HANGING=Im,Lq.style.baseline.IDEOGRAPHIC=Em,Lq.style.baseline.MIDDLE=mm,Lq.style.baseline.TOP=fm,Lq.style.chart={},Lq.style.chart.Variable=$T,Lq.style.chart.schemes=eR,Lq.style.chart.types=tR,Lq.style.form={},Lq.style.form.BAN="BAN",Lq.style.form.BLAZON="BLAZON",Lq.style.form.BOOKMARK="BOOKMARK",Lq.style.form.BUBBLE="BUBBLE",Lq.style.form.CIRCLE="CIRCLE",Lq.style.form.COMA="COMA",Lq.style.form.DIAMOND="DIAMOND",Lq.style.form.HEXAGON="HEXAGON",Lq.style.form.LOZENGE="LOZENGE",Lq.style.form.MARKER="MARKER",Lq.style.form.NONE="none",Lq.style.form.POI="POI",Lq.style.form.SHIELD="SHIELD",Lq.style.form.SIGN="SIGN",Lq.style.form.SQUARE="SQUARE",Lq.style.form.TRIANGLE="TRIANGLE",Lq.style.pattern={},Lq.style.pattern.BRECCIA="BRECCIA",Lq.style.pattern.BRICK="BRICK",Lq.style.pattern.CAPS="CAPS",Lq.style.pattern.CEMETRY="CEMETRY",Lq.style.pattern.CHAOS="CHAOS",Lq.style.pattern.CHARACTER="CHARACTER",Lq.style.pattern.CIRCLE="CIRCLE",Lq.style.pattern.CLAY="CLAY",Lq.style.pattern.COAL="COAL",Lq.style.pattern.CONGLOMERATE="CONGLOMERATE",Lq.style.pattern.CROSS="CROSS",Lq.style.pattern.CROSSES="CROSSES",Lq.style.pattern.DOLOMITE="DOLOMITE",Lq.style.pattern.DOT="DOT",Lq.style.pattern.FLOODED="FLOODED",Lq.style.pattern.FOREST="FOREST",Lq.style.pattern.GRASS="GRASS",Lq.style.pattern.GRAVEL="GRAVEL",Lq.style.pattern.HATCH="HATCH",Lq.style.pattern.HEXAGON="HEXAGON",Lq.style.pattern.ICON="ICON",Lq.style.pattern.IMAGE="IMAGE",Lq.style.pattern.NYLON="NYLON",Lq.style.pattern.PINE="PINE",Lq.style.pattern.PINES="PINES",Lq.style.pattern.ROCK="ROCK",Lq.style.pattern.ROCKS="ROCKS",Lq.style.pattern.SAND="SAND",Lq.style.pattern.SCRUB="SCRUB",Lq.style.pattern.SQUARE="SQUARE",Lq.style.pattern.SWAMP="SWAMP",Lq.style.pattern.TILE="TILE",Lq.style.pattern.TREE="TREE",Lq.style.pattern.VINE="VINE",Lq.style.pattern.WAVE="WAVE",Lq.style.pattern.WOVEN="WOVEN",Lq.style.quantification={},Lq.style.quantification.JENKS=MR,Lq.style.quantification.QUANTILE=TR,Lq.style.state={},Lq.style.state.DEFAULT="default",Lq.style.state.NEW="new",Lq.style.state.SELECTED="selected",Lq.style.textoverflow={},Lq.style.textoverflow.ELLIPSIS="ellipsis",Lq.style.textoverflow.HIDDEN="",Lq.style.textoverflow.VISIBLE="visible",Lq.template={},Lq.template.add=(t,e)=>{QB(Su[t])&&(Su[t]=e)},Lq.template.compile=(t,e)=>{let i,n,r={};return QB(e)||(r=_L(r,e.vars),i=e.parseToHtml,n=e.scope),new Promise(((s,o)=>{Bu(t,e).then((t=>{const e=t.call(null,r);!1!==i?s.call(n,rL(e)):s.call(n,e)}))}))},Lq.template.compileSync=bu,Lq.template.get=Bu,Lq.ui={},Lq.ui.Panel=Hv,Lq.ui.position={},Lq.ui.position.BL=zv,Lq.ui.position.BR=Yv,Lq.ui.position.TL=qv,Lq.ui.position.TR=Vv,Lq.units={},Lq.units.DOTS_PER_INCH=72,Lq.units.INCHES_PER_UNIT=OB,Lq.utils={},Lq.utils.addParameters=KB,Lq.utils.beautifyAttribute=sL,Lq.utils.beautifyAttributeName=oL,Lq.utils.beautifyString=t=>{let e;return e=t.toLowerCase(),e=e.trim(e),e=e.charAt(0).toUpperCase()+e.slice(1),e=e.replace(/_/g," "),e=e.replace(/\s+/," "),e=e.replace(/(\s\w)+/g,(t=>t.toUpperCase())),e=e.replace(/\s+(de|del|las?|el|los?|un|unas?|unos?|y|a|al|en)\s+/gi,(t=>t.toLowerCase())),e},Lq.utils.concatUrlPaths=aL,Lq.utils.decodeHtml=AL,Lq.utils.defineFunctionFromString=vL,Lq.utils.drawDynamicStyle=LL,Lq.utils.enableTouchScroll=uL,Lq.utils.escapeJSCode=cL,Lq.utils.escapeXSS=t=>{let e;return e=t.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/'/g,"""),e=e.replace(/'/g,"'"),e=e.replace(/\//g,"/"),e},Lq.utils.extend=hL,Lq.utils.extendsObj=_L,Lq.utils.fillResolutions=tL,Lq.utils.generateColorScale=fL,Lq.utils.generateIntervals=yL,Lq.utils.generateRandom=JB,Lq.utils.generateResolutionsFromExtent=iL,Lq.utils.generateResolutionsFromScales=(t,e,i,n)=>{const r=eL(t,n),s=eL(e,n);return tL(r,s,i)},Lq.utils.getEnvolvedExtent=ML,Lq.utils.getImageSize=EL,Lq.utils.getOpacityFromRgba=t=>{let e;const i=/^rgba\s*\((\s*\d+\s*,){3}\s*([\d.]+)\s*\)$/;if(i.test(t)){e=t.replace(i,"$2");try{e=parseFloat(e)}catch(t){throw t}}return e},Lq.utils.getParameterValue=WB,Lq.utils.getResolutionFromScale=eL,Lq.utils.getRgba=(t,e)=>a()(t).alpha(e).css(),Lq.utils.getScaleFromResolution=nL,Lq.utils.getSystem=TL,Lq.utils.getTextFromHtml=pL,Lq.utils.getWMSGetCapabilitiesUrl=ZB,Lq.utils.getWMTSGetCapabilitiesUrl=$B,Lq.utils.htmlToString=t=>{let e;if(!qB(t)){const i=document.createElement("div");i.appendChild(t),e=i.innerHTML}return e},Lq.utils.includes=lL,Lq.utils.inverseColor=mL,Lq.utils.isArray=UB,Lq.utils.isBoolean=kB,Lq.utils.isDynamic=bL,Lq.utils.isFunction=VB,Lq.utils.isGeometryType=dL,Lq.utils.isNull=GB,Lq.utils.isNullOrEmpty=qB,Lq.utils.isNumber=HB,Lq.utils.isObject=zB,Lq.utils.isPositiveNumber=t=>HB(t)&&t>0,Lq.utils.isString=YB,Lq.utils.isUndefined=QB,Lq.utils.isUrl=jB,Lq.utils.normalize=XB,Lq.utils.rgbToHex=t=>{let e;try{e=a()(t).hex()}catch(t){throw t}return e},Lq.utils.rgbaToHex=t=>{let e;try{e=a()(t).hex()}catch(t){throw t}return e},Lq.utils.sameUrl=gL,Lq.utils.setDynamicLegend=t=>{BL=t},Lq.utils.setEquals=(t,e)=>{let i=!1;return t.length===e.length&&(i=t.every((t=>e.some((e=>e.equals(t)))))),i},Lq.utils.stringToHtml=rL,Lq.utils.stringifyFunctions=CL,Lq.utils.styleComparator=IL,Lq.version="6.5.0",Lq.window=Jy,Mq.Collection=eo,Mq.Feature=_d,Mq.Geolocation=OI,Mq.Image={},Mq.Image.decode=Pg,Mq.Image.load=Rg,Mq.Kinetic=mc,Mq.Map=bc,Mq.Object=Ks,Mq.Observable=Ys,Mq.Observable.unByKey=zs,Mq.Overlay=Wy,Mq.View=dl,Mq.array={},Mq.array.stableSort=function(t,e){const i=t.length,n=Array(t.length);let r;for(r=0;r{const i=t.results;if(i?.length>0){const t=i.filter((t=>"EPSG"===t.id?.authority&&t.id?.code===e))[0];if(t){const e=t.transformations;if(e?.length>0){const i=t.default_transformation;if(e.filter((t=>t.id?.authority===i?.authority&&t.id?.code===i?.code&&0===t.grids?.length)).length>0)return t.exports?.proj4;const n=e.filter((t=>0===t.grids?.length&&"EPSG"===t.target_crs?.authority&&4326===t.target_crs?.code&&!1===t.deprecated&&!0===t.usable)).sort(((t,e)=>t.accuracy-e.accuracy))[0]?.exports?.proj4;if(n)return n}return t.exports?.proj4}}}))}},Mq.proj.proj4.fromEPSGCode=async function(t){"string"==typeof t&&(t=parseInt(t.split(":").pop(),10));const e=ns;if(!e)throw new Error("Proj4 must be registered first with register(proj4)");const i="EPSG:"+t;return e.defs(i)||(e.defs(i,await ss(t)),rs(e)),ee(i)},Mq.proj.proj4.register=rs,Mq.proj.proj4.setEPSGLookup=function(t){ss=t},Mq.proj.setUserProjection=de,Mq.proj.toLonLat=function(t,e){const i=ce(t,void 0!==e?e:"EPSG:3857","EPSG:4326"),n=i[0];return(n<-180||n>180)&&(i[0]=_t(n+180,360)-180),i},Mq.proj.transform=ce,Mq.proj.transformExtent=ue,Mq.proj.useGeographic=function(){de("EPSG:4326")},Mq.render={},Mq.render.Feature={},Mq.render.Feature.toFeature=function(t,e){const i=t.getId(),n=Nd(t),r=t.getProperties(),s=new _d;return void 0!==e&&s.setGeometryName(e),s.setGeometry(n),void 0!==i&&s.setId(i),s.setProperties(r,!0),s},Mq.render.Feature.toGeometry=Nd,Mq.render.VectorContext=Xf,Mq.render.canvas={},Mq.render.canvas.checkedFonts=Vl,Mq.render.canvas.registerFont=Hl,Mq.render.getRenderPixel=function(t,e){return _o(t.inversePixelTransform,e.slice(0))},Mq.render.getVectorContext=sm,Mq.render.toContext=rm,Mq.renderer={},Mq.renderer.Composite=$l,Mq.renderer.canvas={},Mq.renderer.canvas.ImageLayer=Zg,Mq.renderer.canvas.TileLayer=Wg,Mq.renderer.canvas.VectorImageLayer=nk,Mq.renderer.canvas.VectorLayer=wy,Mq.renderer.canvas.VectorTileLayer=aB,Mq.renderer.webgl={},Mq.renderer.webgl.PointsLayer=HM,Mq.renderer.webgl.TileLayer=pT,Mq.size={},Mq.size.toSize=xc,Mq.source={},Mq.source.BingMaps=lk,Mq.source.CartoDB=hk,Mq.source.Cluster=Gf,Mq.source.DataTile=ck,Mq.source.GeoTIFF=DU,Mq.source.IIIF=GU,Mq.source.Image=qp,Mq.source.ImageArcGISRest=VU,Mq.source.ImageCanvas=zU,Mq.source.ImageMapGuide=HU,Mq.source.ImageStatic=WU,Mq.source.ImageWMS=Zp,Mq.source.OGCMapTile=oq,Mq.source.OGCVectorTile=aq,Mq.source.OSM=Wb,Mq.source.OSM.ATTRIBUTION=Xb,Mq.source.Raster=Iq,Mq.source.Source=fp,Mq.source.StadiaMaps=vq,Mq.source.Tile=Cp,Mq.source.TileArcGISRest=xq,Mq.source.TileDebug=wq,Mq.source.TileImage=Tp,Mq.source.TileJSON=Sq,Mq.source.TileWMS=Xp,Mq.source.UTFGrid=Bq,Mq.source.Vector=kf,Mq.source.VectorTile=nB,Mq.source.WMTS=sb,Mq.source.WMTS.optionsFromCapabilities=ob,Mq.source.XYZ=Vb,Mq.source.Zoomify=QU,Mq.source.arcgisRest={},Mq.source.arcgisRest.createLoader=qU,Mq.source.mapguide={},Mq.source.mapguide.createLoader=jU,Mq.source.sourcesFromTileGrid=function(t,e){const i=new cp(32),n=t.getExtent();return function(r,s){i.expireCache(),n&&(r=rt(n,r));const o=t.getZForResolution(s),a=[];return t.forEachTileCoord(r,o,(t=>{const n=t.toString();if(!i.containsKey(n)){const r=e(t);i.set(n,r)}a.push(i.get(n))})),a}},Mq.source.static={},Mq.source.static.createLoader=XU,Mq.source.wms={},Mq.source.wms.createLoader=Hp,Mq.sphere={},Mq.sphere.getArea=function t(e,i){const n=(i=i||{}).radius||Ut,r=i.projection||"EPSG:3857",s=e.getType();"GeometryCollection"!==s&&(e=e.clone().transform(r,"EPSG:4326"));let o,a,l,h,c,u,g=0;switch(s){case"Point":case"MultiPoint":case"LineString":case"MultiLineString":case"LinearRing":break;case"Polygon":for(o=e.getCoordinates(),g=Math.abs(zt(o[0],n)),l=1,h=o.length;l - - + +