@oiz/stzh-components 2.2.0-beta → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/cjs/{animation-utils-cfa35ce7.js → animation-utils-54d784c2.js} +3 -0
  2. package/dist/cjs/{app-globals-f4ad4e99.js → app-globals-b6d82414.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/stzh-accordion-item.cjs.entry.js +5 -2
  5. package/dist/cjs/stzh-badge_3.cjs.entry.js +2 -2
  6. package/dist/cjs/stzh-calendar.cjs.entry.js +1 -1
  7. package/dist/cjs/stzh-card_3.cjs.entry.js +40 -10
  8. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-chip.cjs.entry.js +6 -5
  11. package/dist/cjs/stzh-components.cjs.js +2 -2
  12. package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +3 -2
  14. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +2 -2
  15. package/dist/cjs/stzh-details.cjs.entry.js +4 -1
  16. package/dist/cjs/stzh-dialog.cjs.entry.js +4 -4
  17. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-flyingfocus.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-input.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-message.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +1 -1
  25. package/dist/cjs/stzh-olmap.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-popover.cjs.entry.js +19 -5
  27. package/dist/cjs/stzh-progressbar-item.cjs.entry.js +1 -1
  28. package/dist/cjs/stzh-textandimage.cjs.entry.js +3 -1
  29. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  30. package/dist/cjs/stzh-tooltip.cjs.entry.js +28 -7
  31. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +2 -1
  33. package/dist/collection/assets/i18n/de.json +9 -6
  34. package/dist/collection/assets/i18n/en.json +10 -7
  35. package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +12 -1
  36. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.css +1 -0
  37. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +3 -0
  38. package/dist/collection/components/stzh-button/stzh-button.css +1 -0
  39. package/dist/collection/components/stzh-button/stzh-button.stories.js +12 -12
  40. package/dist/collection/components/stzh-calendar/stzh-calendar.css +1 -0
  41. package/dist/collection/components/stzh-card/stzh-card.css +36 -0
  42. package/dist/collection/components/stzh-card/stzh-card.js +26 -4
  43. package/dist/collection/components/stzh-checkbox/stzh-checkbox.css +1 -0
  44. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.css +1 -0
  45. package/dist/collection/components/stzh-chip/stzh-chip.css +52 -4
  46. package/dist/collection/components/stzh-chip/stzh-chip.js +23 -5
  47. package/dist/collection/components/stzh-chip-select/stzh-chip-select.css +2 -0
  48. package/dist/collection/components/stzh-chip-select/stzh-chip-select.js +31 -4
  49. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +1 -0
  50. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.css +11 -0
  51. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.js +3 -2
  52. package/dist/collection/components/stzh-details/stzh-details.js +3 -0
  53. package/dist/collection/components/stzh-dialog/stzh-dialog.css +1 -0
  54. package/dist/collection/components/stzh-dialog/stzh-dialog.js +3 -3
  55. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +3 -0
  56. package/dist/collection/components/stzh-ghettobox/stzh-ghettobox.css +1 -0
  57. package/dist/collection/components/stzh-header/stzh-header.stories.js +1 -1
  58. package/dist/collection/components/stzh-icon/stzh-icon.js +1 -1
  59. package/dist/collection/components/stzh-input/stzh-input.css +1 -0
  60. package/dist/collection/components/stzh-link/stzh-link.css +1 -0
  61. package/dist/collection/components/stzh-menu-item/stzh-menu-item.css +1 -0
  62. package/dist/collection/components/stzh-message/stzh-message.css +1 -0
  63. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +1 -1
  64. package/dist/collection/components/stzh-olmap/stzh-olmap.js +1 -1
  65. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.stories.js +1 -1
  66. package/dist/collection/components/stzh-popover/stzh-popover.css +2 -0
  67. package/dist/collection/components/stzh-popover/stzh-popover.js +18 -4
  68. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.css +107 -6
  69. package/dist/collection/components/stzh-radio/stzh-radio.css +1 -0
  70. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.css +1 -0
  71. package/dist/collection/components/stzh-textandimage/stzh-textandimage.css +38 -2
  72. package/dist/collection/components/stzh-textandimage/stzh-textandimage.js +20 -0
  73. package/dist/collection/components/stzh-toggle/stzh-toggle.css +1 -0
  74. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +1 -0
  75. package/dist/collection/components/stzh-tooltip/stzh-tooltip.js +27 -6
  76. package/dist/collection/components/stzh-upload/stzh-upload.css +1 -0
  77. package/dist/collection/components/stzh-vbz-linechip/stzh-vbz-linechip.js +2 -1
  78. package/dist/collection/pages/egov.stories.js +9 -9
  79. package/dist/collection/pages/example.stories.js +1 -1
  80. package/dist/collection/pages/meinkonto.stories.js +3 -3
  81. package/dist/collection/patterns/contact.stories.js +56 -30
  82. package/dist/collection/patterns/subpages.stories.js +5 -5
  83. package/dist/collection/utils/animation-utils.js +3 -0
  84. package/dist/components/animation-utils.js +3 -0
  85. package/dist/components/index.js +1 -1
  86. package/dist/components/stzh-accordion-item.js +4 -1
  87. package/dist/components/stzh-button2.js +1 -1
  88. package/dist/components/stzh-calendar2.js +1 -1
  89. package/dist/components/stzh-card2.js +9 -5
  90. package/dist/components/stzh-checkbox.js +1 -1
  91. package/dist/components/stzh-checkboxgroup.js +1 -1
  92. package/dist/components/stzh-chip-select2.js +32 -5
  93. package/dist/components/stzh-chip2.js +7 -5
  94. package/dist/components/stzh-datalist-item2.js +1 -1
  95. package/dist/components/stzh-datamessagelist-item.js +3 -2
  96. package/dist/components/stzh-details.js +3 -0
  97. package/dist/components/stzh-dialog.js +4 -4
  98. package/dist/components/stzh-dropdown2.js +1 -1
  99. package/dist/components/stzh-ghettobox2.js +1 -1
  100. package/dist/components/stzh-icon2.js +1 -1
  101. package/dist/components/stzh-input2.js +1 -1
  102. package/dist/components/stzh-link2.js +1 -1
  103. package/dist/components/stzh-menu-item2.js +1 -1
  104. package/dist/components/stzh-message.js +1 -1
  105. package/dist/components/stzh-microsite-teaserlist.js +1 -1
  106. package/dist/components/stzh-olmap.js +1 -1
  107. package/dist/components/stzh-popover2.js +18 -4
  108. package/dist/components/stzh-progressbar-item2.js +1 -1
  109. package/dist/components/stzh-radio2.js +1 -1
  110. package/dist/components/stzh-radiogroup2.js +1 -1
  111. package/dist/components/stzh-textandimage.js +4 -1
  112. package/dist/components/stzh-toggle.js +1 -1
  113. package/dist/components/stzh-tooltip2.js +27 -6
  114. package/dist/components/stzh-upload.js +1 -1
  115. package/dist/components/stzh-vbz-linechip2.js +2 -1
  116. package/dist/esm/{animation-utils-25c74e5b.js → animation-utils-e234a5f8.js} +3 -0
  117. package/dist/esm/{app-globals-17c2ba8d.js → app-globals-ff581b69.js} +1 -1
  118. package/dist/esm/loader.js +2 -2
  119. package/dist/esm/stzh-accordion-item.entry.js +5 -2
  120. package/dist/esm/stzh-badge_3.entry.js +2 -2
  121. package/dist/esm/stzh-calendar.entry.js +1 -1
  122. package/dist/esm/stzh-card_3.entry.js +40 -10
  123. package/dist/esm/stzh-checkbox.entry.js +1 -1
  124. package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
  125. package/dist/esm/stzh-chip.entry.js +6 -5
  126. package/dist/esm/stzh-components.js +2 -2
  127. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  128. package/dist/esm/stzh-datamessagelist-item.entry.js +3 -2
  129. package/dist/esm/stzh-datepicker_3.entry.js +2 -2
  130. package/dist/esm/stzh-details.entry.js +4 -1
  131. package/dist/esm/stzh-dialog.entry.js +4 -4
  132. package/dist/esm/stzh-dropdown.entry.js +1 -1
  133. package/dist/esm/stzh-flyingfocus.entry.js +1 -1
  134. package/dist/esm/stzh-ghettobox_2.entry.js +1 -1
  135. package/dist/esm/stzh-input.entry.js +1 -1
  136. package/dist/esm/stzh-link.entry.js +1 -1
  137. package/dist/esm/stzh-menu_2.entry.js +1 -1
  138. package/dist/esm/stzh-message.entry.js +1 -1
  139. package/dist/esm/stzh-microsite-teaserlist.entry.js +1 -1
  140. package/dist/esm/stzh-olmap.entry.js +1 -1
  141. package/dist/esm/stzh-popover.entry.js +19 -5
  142. package/dist/esm/stzh-progressbar-item.entry.js +1 -1
  143. package/dist/esm/stzh-textandimage.entry.js +3 -1
  144. package/dist/esm/stzh-toggle.entry.js +1 -1
  145. package/dist/esm/stzh-tooltip.entry.js +28 -7
  146. package/dist/esm/stzh-upload.entry.js +1 -1
  147. package/dist/esm/stzh-vbz-linechip.entry.js +2 -1
  148. package/dist/esm-es5/animation-utils-e234a5f8.js +1 -0
  149. package/dist/esm-es5/app-globals-ff581b69.js +1 -0
  150. package/dist/esm-es5/loader.js +1 -1
  151. package/dist/esm-es5/stzh-accordion-item.entry.js +1 -1
  152. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  153. package/dist/esm-es5/stzh-calendar.entry.js +1 -1
  154. package/dist/esm-es5/stzh-card_3.entry.js +1 -1
  155. package/dist/esm-es5/stzh-checkbox.entry.js +1 -1
  156. package/dist/esm-es5/stzh-checkboxgroup.entry.js +1 -1
  157. package/dist/esm-es5/stzh-chip.entry.js +1 -1
  158. package/dist/esm-es5/stzh-components.js +1 -1
  159. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  160. package/dist/esm-es5/stzh-datamessagelist-item.entry.js +1 -1
  161. package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
  162. package/dist/esm-es5/stzh-details.entry.js +1 -1
  163. package/dist/esm-es5/stzh-dialog.entry.js +1 -1
  164. package/dist/esm-es5/stzh-dropdown.entry.js +1 -1
  165. package/dist/esm-es5/stzh-flyingfocus.entry.js +1 -1
  166. package/dist/esm-es5/stzh-ghettobox_2.entry.js +1 -1
  167. package/dist/esm-es5/stzh-input.entry.js +1 -1
  168. package/dist/esm-es5/stzh-link.entry.js +1 -1
  169. package/dist/esm-es5/stzh-menu_2.entry.js +1 -1
  170. package/dist/esm-es5/stzh-message.entry.js +1 -1
  171. package/dist/esm-es5/stzh-microsite-teaserlist.entry.js +1 -1
  172. package/dist/esm-es5/stzh-olmap.entry.js +1 -1
  173. package/dist/esm-es5/stzh-popover.entry.js +1 -1
  174. package/dist/esm-es5/stzh-progressbar-item.entry.js +1 -1
  175. package/dist/esm-es5/stzh-textandimage.entry.js +1 -1
  176. package/dist/esm-es5/stzh-toggle.entry.js +1 -1
  177. package/dist/esm-es5/stzh-tooltip.entry.js +1 -1
  178. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  179. package/dist/stzh-components/assets/i18n/de.json +9 -6
  180. package/dist/stzh-components/assets/i18n/en.json +10 -7
  181. package/dist/stzh-components/p-06d9b884.system.entry.js +1 -0
  182. package/dist/stzh-components/{p-1da26ca1.entry.js → p-0743d7fa.entry.js} +1 -1
  183. package/dist/stzh-components/p-0850a2e1.system.entry.js +1 -0
  184. package/dist/stzh-components/{p-2b5b1e4a.system.entry.js → p-0cc8bbd7.system.entry.js} +1 -1
  185. package/dist/stzh-components/p-12a2afe9.entry.js +1 -0
  186. package/dist/stzh-components/p-17645237.entry.js +1 -0
  187. package/dist/stzh-components/p-18cb06e2.entry.js +1 -0
  188. package/dist/stzh-components/p-1ae4d600.system.entry.js +1 -0
  189. package/dist/stzh-components/{p-037357fc.system.entry.js → p-21cad060.system.entry.js} +1 -1
  190. package/dist/stzh-components/{p-171c5795.system.entry.js → p-23829f75.system.entry.js} +1 -1
  191. package/dist/stzh-components/p-2bec3c77.entry.js +1 -0
  192. package/dist/stzh-components/p-2d340222.system.entry.js +1 -0
  193. package/dist/stzh-components/{p-2862cdd8.system.entry.js → p-3200f52a.system.entry.js} +1 -1
  194. package/dist/stzh-components/p-385dda6c.system.entry.js +1 -0
  195. package/dist/stzh-components/p-3ad67331.entry.js +1 -0
  196. package/dist/stzh-components/p-3e850dce.entry.js +1 -0
  197. package/dist/stzh-components/p-4704588f.system.entry.js +1 -0
  198. package/dist/stzh-components/{p-c26aec94.entry.js → p-4b369bac.entry.js} +1 -1
  199. package/dist/stzh-components/p-5011f10c.js +1 -0
  200. package/dist/stzh-components/{p-6267a327.system.js → p-5494f37d.system.js} +1 -1
  201. package/dist/stzh-components/p-557f07b5.system.entry.js +1 -0
  202. package/dist/stzh-components/p-5790eb4f.system.entry.js +1 -0
  203. package/dist/stzh-components/p-57a0f895.entry.js +1 -0
  204. package/dist/stzh-components/p-57f8596f.system.entry.js +1 -0
  205. package/dist/stzh-components/p-586a8b3f.entry.js +1 -0
  206. package/dist/stzh-components/p-63d94a57.system.entry.js +1 -0
  207. package/dist/stzh-components/{p-f37be5d7.entry.js → p-67c6f0f2.entry.js} +1 -1
  208. package/dist/stzh-components/{p-f59b3545.system.entry.js → p-6d009f56.system.entry.js} +1 -1
  209. package/dist/stzh-components/{p-213959b7.entry.js → p-76165227.entry.js} +1 -1
  210. package/dist/stzh-components/{p-3145cd2f.entry.js → p-7704b10b.entry.js} +1 -1
  211. package/dist/stzh-components/p-7941cf38.js +1 -0
  212. package/dist/stzh-components/{p-af63f1a4.entry.js → p-7b86c022.entry.js} +1 -1
  213. package/dist/stzh-components/p-7c26f80f.system.entry.js +1 -0
  214. package/dist/stzh-components/p-84b9f66f.system.entry.js +1 -0
  215. package/dist/stzh-components/p-853a1f92.entry.js +1 -0
  216. package/dist/stzh-components/p-8991d3bc.entry.js +1 -0
  217. package/dist/stzh-components/p-8fa2fb95.system.entry.js +1 -0
  218. package/dist/stzh-components/p-9072a490.system.entry.js +1 -0
  219. package/dist/stzh-components/p-912706bb.entry.js +1 -0
  220. package/dist/stzh-components/{p-68400ee7.entry.js → p-aae4655f.entry.js} +1 -1
  221. package/dist/stzh-components/p-ac1a6085.system.entry.js +1 -0
  222. package/dist/stzh-components/{p-a17754c7.system.entry.js → p-afedafa6.system.entry.js} +1 -1
  223. package/dist/stzh-components/{p-5c3c9ad4.entry.js → p-b3dc4913.entry.js} +1 -1
  224. package/dist/stzh-components/p-b937ae70.system.js +1 -0
  225. package/dist/stzh-components/p-c63aecaa.system.entry.js +1 -0
  226. package/dist/stzh-components/p-c87e12de.system.entry.js +1 -0
  227. package/dist/stzh-components/p-cfd22a5e.system.entry.js +1 -0
  228. package/dist/stzh-components/p-d240494d.entry.js +1 -0
  229. package/dist/stzh-components/p-d6ec20c8.system.entry.js +1 -0
  230. package/dist/stzh-components/{p-af0ab448.system.entry.js → p-d9bf09b1.system.entry.js} +1 -1
  231. package/dist/stzh-components/p-e016ceb9.entry.js +1 -0
  232. package/dist/stzh-components/{p-4c7e52aa.entry.js → p-e0f063ac.entry.js} +1 -1
  233. package/dist/stzh-components/{p-0b9dc96d.system.js → p-e32bc982.system.js} +1 -1
  234. package/dist/stzh-components/p-ea9ca52b.entry.js +1 -0
  235. package/dist/stzh-components/{p-34b45788.entry.js → p-ec7b6ce8.entry.js} +1 -1
  236. package/dist/stzh-components/p-ef3da23b.entry.js +1 -0
  237. package/dist/stzh-components/{p-3848d8ee.entry.js → p-f133eba2.entry.js} +1 -1
  238. package/dist/stzh-components/p-fdb906b9.system.entry.js +1 -0
  239. package/dist/stzh-components/{p-f5db6234.entry.js → p-fee6a938.entry.js} +1 -1
  240. package/dist/stzh-components/stzh-components.esm.js +1 -1
  241. package/dist/stzh-components/stzh-components.js +1 -1
  242. package/dist/types/components/stzh-datamessagelist-item/stzh-datamessagelist-item.localization.d.ts +1 -0
  243. package/dist/types/components/stzh-popover/stzh-popover.localization.d.ts +1 -0
  244. package/dist/types/components/stzh-tooltip/stzh-tooltip.localization.d.ts +1 -0
  245. package/dist/types/components.d.ts +26 -2
  246. package/dist/types/index.d.ts +5 -0
  247. package/dist/vscode-data.json +13 -1
  248. package/package.json +1 -1
  249. package/dist/esm-es5/animation-utils-25c74e5b.js +0 -1
  250. package/dist/esm-es5/app-globals-17c2ba8d.js +0 -1
  251. package/dist/stzh-components/p-02fd7470.entry.js +0 -1
  252. package/dist/stzh-components/p-04a45622.system.entry.js +0 -1
  253. package/dist/stzh-components/p-0b264a7a.entry.js +0 -1
  254. package/dist/stzh-components/p-1ca12032.system.entry.js +0 -1
  255. package/dist/stzh-components/p-1fe1169e.entry.js +0 -1
  256. package/dist/stzh-components/p-231e6e6a.system.entry.js +0 -1
  257. package/dist/stzh-components/p-2a5855f8.js +0 -1
  258. package/dist/stzh-components/p-31029226.entry.js +0 -1
  259. package/dist/stzh-components/p-311813bc.system.entry.js +0 -1
  260. package/dist/stzh-components/p-38f9cbf3.system.entry.js +0 -1
  261. package/dist/stzh-components/p-3905ca20.entry.js +0 -1
  262. package/dist/stzh-components/p-4228cd58.system.entry.js +0 -1
  263. package/dist/stzh-components/p-4bd7dafb.system.entry.js +0 -1
  264. package/dist/stzh-components/p-4cd9f5c7.system.entry.js +0 -1
  265. package/dist/stzh-components/p-55f6fa41.system.entry.js +0 -1
  266. package/dist/stzh-components/p-5b379647.system.entry.js +0 -1
  267. package/dist/stzh-components/p-65675e11.entry.js +0 -1
  268. package/dist/stzh-components/p-7684506e.system.entry.js +0 -1
  269. package/dist/stzh-components/p-7da446d5.js +0 -1
  270. package/dist/stzh-components/p-83830baa.system.entry.js +0 -1
  271. package/dist/stzh-components/p-84c86e4c.system.entry.js +0 -1
  272. package/dist/stzh-components/p-88cbd2c0.entry.js +0 -1
  273. package/dist/stzh-components/p-99f92c6d.system.entry.js +0 -1
  274. package/dist/stzh-components/p-a795868f.entry.js +0 -1
  275. package/dist/stzh-components/p-ab28e094.system.entry.js +0 -1
  276. package/dist/stzh-components/p-addc48e5.entry.js +0 -1
  277. package/dist/stzh-components/p-b0fe9349.entry.js +0 -1
  278. package/dist/stzh-components/p-c065387a.entry.js +0 -1
  279. package/dist/stzh-components/p-c42435be.entry.js +0 -1
  280. package/dist/stzh-components/p-cfc0bc2e.system.entry.js +0 -1
  281. package/dist/stzh-components/p-d1d5825d.entry.js +0 -1
  282. package/dist/stzh-components/p-d4405931.system.entry.js +0 -1
  283. package/dist/stzh-components/p-dce19efd.entry.js +0 -1
  284. package/dist/stzh-components/p-e2e54f09.system.js +0 -1
  285. package/dist/stzh-components/p-e71cd5cd.system.entry.js +0 -1
  286. package/dist/stzh-components/p-e72ca013.system.entry.js +0 -1
  287. package/dist/stzh-components/p-e812d35e.system.entry.js +0 -1
  288. package/dist/stzh-components/p-f792fc8f.entry.js +0 -1
@@ -4,4 +4,4 @@ var __awaiter=this&&this.__awaiter||function(e,t,i,r){function n(e){return e ins
4
4
  * Latitude/longitude spherical geodesy formulae taken from
5
5
  * http://www.movable-type.co.uk/scripts/latlong.html
6
6
  * Licensed under CC-BY-3.0.
7
- */var _ol_Sphere_=function(e){this.radius=e};_ol_Sphere_.prototype.geodesicArea=function(e){return _ol_Sphere_.getArea_(e,this.radius)};_ol_Sphere_.prototype.haversineDistance=function(e,t){return _ol_Sphere_.getDistance_(e,t,this.radius)};_ol_Sphere_.prototype.offset=function(e,t,i){var r=_ol_math_.toRadians(e[1]);var n=_ol_math_.toRadians(e[0]);var o=t/this.radius;var _=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(i));var a=n+Math.atan2(Math.sin(i)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(_));return[_ol_math_.toDegrees(a),_ol_math_.toDegrees(_)]};_ol_Sphere_.DEFAULT_RADIUS=6371008.8;_ol_Sphere_.getLength=function(e,t){var i=t||{};var r=i.radius||_ol_Sphere_.DEFAULT_RADIUS;var n=i.projection||"EPSG:3857";e=e.clone().transform(n,"EPSG:4326");var o=e.getType();var _=0;var a,s,l,h,u,c;switch(o){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:{break}case _ol_geom_GeometryType_.LINE_STRING:case _ol_geom_GeometryType_.LINEAR_RING:{a=e.getCoordinates();_=_ol_Sphere_.getLength_(a,r);break}case _ol_geom_GeometryType_.MULTI_LINE_STRING:case _ol_geom_GeometryType_.POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){_+=_ol_Sphere_.getLength_(a[l],r)}break}case _ol_geom_GeometryType_.MULTI_POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){s=a[l];for(u=0,c=s.length;u<c;++u){_+=_ol_Sphere_.getLength_(s[u],r)}}break}case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:{var f=e.getGeometries();for(l=0,h=f.length;l<h;++l){_+=_ol_Sphere_.getLength(f[l],t)}break}default:{throw new Error("Unsupported geometry type: "+o)}}return _};_ol_Sphere_.getLength_=function(e,t){var i=0;for(var r=0,n=e.length;r<n-1;++r){i+=_ol_Sphere_.getDistance_(e[r],e[r+1],t)}return i};_ol_Sphere_.getDistance_=function(e,t,i){var r=_ol_math_.toRadians(e[1]);var n=_ol_math_.toRadians(t[1]);var o=(n-r)/2;var _=_ol_math_.toRadians(t[0]-e[0])/2;var a=Math.sin(o)*Math.sin(o)+Math.sin(_)*Math.sin(_)*Math.cos(r)*Math.cos(n);return 2*i*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))};_ol_Sphere_.getArea=function(e,t){var i=t||{};var r=i.radius||_ol_Sphere_.DEFAULT_RADIUS;var n=i.projection||"EPSG:3857";e=e.clone().transform(n,"EPSG:4326");var o=e.getType();var _=0;var a,s,l,h,u,c;switch(o){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:case _ol_geom_GeometryType_.LINE_STRING:case _ol_geom_GeometryType_.MULTI_LINE_STRING:case _ol_geom_GeometryType_.LINEAR_RING:{break}case _ol_geom_GeometryType_.POLYGON:{a=e.getCoordinates();_=Math.abs(_ol_Sphere_.getArea_(a[0],r));for(l=1,h=a.length;l<h;++l){_-=Math.abs(_ol_Sphere_.getArea_(a[l],r))}break}case _ol_geom_GeometryType_.MULTI_POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){s=a[l];_+=Math.abs(_ol_Sphere_.getArea_(s[0],r));for(u=1,c=s.length;u<c;++u){_-=Math.abs(_ol_Sphere_.getArea_(s[u],r))}}break}case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:{var f=e.getGeometries();for(l=0,h=f.length;l<h;++l){_+=_ol_Sphere_.getArea(f[l],t)}break}default:{throw new Error("Unsupported geometry type: "+o)}}return _};_ol_Sphere_.getArea_=function(e,t){var i=0,r=e.length;var n=e[r-1][0];var o=e[r-1][1];for(var _=0;_<r;_++){var a=e[_][0],s=e[_][1];i+=_ol_math_.toRadians(a-n)*(2+Math.sin(_ol_math_.toRadians(o))+Math.sin(_ol_math_.toRadians(s)));n=a;o=s}return i*t*t/2};var _ol_array_={};_ol_array_.binarySearch=function(e,t,i){var r,n;var o=i||_ol_array_.numberSafeCompareFunction;var _=0;var a=e.length;var s=false;while(_<a){r=_+(a-_>>1);n=+o(e[r],t);if(n<0){_=r+1}else{a=r;s=!n}}return s?_:~_};_ol_array_.numberSafeCompareFunction=function(e,t){return e>t?1:e<t?-1:0};_ol_array_.includes=function(e,t){return e.indexOf(t)>=0};_ol_array_.linearFindNearest=function(e,t,i){var r=e.length;if(e[0]<=t){return 0}else if(t<=e[r-1]){return r-1}else{var n;if(i>0){for(n=1;n<r;++n){if(e[n]<t){return n-1}}}else if(i<0){for(n=1;n<r;++n){if(e[n]<=t){return n}}}else{for(n=1;n<r;++n){if(e[n]==t){return n}else if(e[n]<t){if(e[n-1]-t<t-e[n]){return n-1}else{return n}}}}return r-1}};_ol_array_.reverseSubArray=function(e,t,i){while(t<i){var r=e[t];e[t]=e[i];e[i]=r;++t;--i}};_ol_array_.extend=function(e,t){var i;var r=Array.isArray(t)?t:[t];var n=r.length;for(i=0;i<n;i++){e[e.length]=r[i]}};_ol_array_.remove=function(e,t){var i=e.indexOf(t);var r=i>-1;if(r){e.splice(i,1)}return r};_ol_array_.find=function(e,t){var i=e.length>>>0;var r;for(var n=0;n<i;n++){r=e[n];if(t(r,n,e)){return r}}return null};_ol_array_.equals=function(e,t){var i=e.length;if(i!==t.length){return false}for(var r=0;r<i;r++){if(e[r]!==t[r]){return false}}return true};_ol_array_.stableSort=function(e,t){var i=e.length;var r=Array(e.length);var n;for(n=0;n<i;n++){r[n]={index:n,value:e[n]}}r.sort((function(e,i){return t(e.value,i.value)||e.index-i.index}));for(n=0;n<e.length;n++){e[n]=r[n].value}};_ol_array_.findIndex=function(e,t){var i;var r=!e.every((function(r,n){i=n;return!t(r,n,e)}));return r?i:-1};_ol_array_.isSorted=function(e,t,i){var r=t||_ol_array_.numberSafeCompareFunction;return e.every((function(t,n){if(n===0){return true}var o=r(e[n-1],t);return!(o>0||i&&o===0)}))};var _ol_extent_Corner_={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};var _ol_extent_Relationship_={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};var _ol_extent_={};_ol_extent_.boundingExtent=function(e){var t=_ol_extent_.createEmpty();for(var i=0,r=e.length;i<r;++i){_ol_extent_.extendCoordinate(t,e[i])}return t};_ol_extent_.boundingExtentXYs_=function(e,t,i){var r=Math.min.apply(null,e);var n=Math.min.apply(null,t);var o=Math.max.apply(null,e);var _=Math.max.apply(null,t);return _ol_extent_.createOrUpdate(r,n,o,_,i)};_ol_extent_.buffer=function(e,t,i){if(i){i[0]=e[0]-t;i[1]=e[1]-t;i[2]=e[2]+t;i[3]=e[3]+t;return i}else{return[e[0]-t,e[1]-t,e[2]+t,e[3]+t]}};_ol_extent_.clone=function(e,t){if(t){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];return t}else{return e.slice()}};_ol_extent_.closestSquaredDistanceXY=function(e,t,i){var r,n;if(t<e[0]){r=e[0]-t}else if(e[2]<t){r=t-e[2]}else{r=0}if(i<e[1]){n=e[1]-i}else if(e[3]<i){n=i-e[3]}else{n=0}return r*r+n*n};_ol_extent_.containsCoordinate=function(e,t){return _ol_extent_.containsXY(e,t[0],t[1])};_ol_extent_.containsExtent=function(e,t){return e[0]<=t[0]&&t[2]<=e[2]&&e[1]<=t[1]&&t[3]<=e[3]};_ol_extent_.containsXY=function(e,t,i){return e[0]<=t&&t<=e[2]&&e[1]<=i&&i<=e[3]};_ol_extent_.coordinateRelationship=function(e,t){var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=t[0];var a=t[1];var s=_ol_extent_Relationship_.UNKNOWN;if(_<i){s=s|_ol_extent_Relationship_.LEFT}else if(_>n){s=s|_ol_extent_Relationship_.RIGHT}if(a<r){s=s|_ol_extent_Relationship_.BELOW}else if(a>o){s=s|_ol_extent_Relationship_.ABOVE}if(s===_ol_extent_Relationship_.UNKNOWN){s=_ol_extent_Relationship_.INTERSECTING}return s};_ol_extent_.createEmpty=function(){return[Infinity,Infinity,-Infinity,-Infinity]};_ol_extent_.createOrUpdate=function(e,t,i,r,n){if(n){n[0]=e;n[1]=t;n[2]=i;n[3]=r;return n}else{return[e,t,i,r]}};_ol_extent_.createOrUpdateEmpty=function(e){return _ol_extent_.createOrUpdate(Infinity,Infinity,-Infinity,-Infinity,e)};_ol_extent_.createOrUpdateFromCoordinate=function(e,t){var i=e[0];var r=e[1];return _ol_extent_.createOrUpdate(i,r,i,r,t)};_ol_extent_.createOrUpdateFromCoordinates=function(e,t){var i=_ol_extent_.createOrUpdateEmpty(t);return _ol_extent_.extendCoordinates(i,e)};_ol_extent_.createOrUpdateFromFlatCoordinates=function(e,t,i,r,n){var o=_ol_extent_.createOrUpdateEmpty(n);return _ol_extent_.extendFlatCoordinates(o,e,t,i,r)};_ol_extent_.createOrUpdateFromRings=function(e,t){var i=_ol_extent_.createOrUpdateEmpty(t);return _ol_extent_.extendRings(i,e)};_ol_extent_.equals=function(e,t){return e[0]==t[0]&&e[2]==t[2]&&e[1]==t[1]&&e[3]==t[3]};_ol_extent_.extend=function(e,t){if(t[0]<e[0]){e[0]=t[0]}if(t[2]>e[2]){e[2]=t[2]}if(t[1]<e[1]){e[1]=t[1]}if(t[3]>e[3]){e[3]=t[3]}return e};_ol_extent_.extendCoordinate=function(e,t){if(t[0]<e[0]){e[0]=t[0]}if(t[0]>e[2]){e[2]=t[0]}if(t[1]<e[1]){e[1]=t[1]}if(t[1]>e[3]){e[3]=t[1]}};_ol_extent_.extendCoordinates=function(e,t){var i,r;for(i=0,r=t.length;i<r;++i){_ol_extent_.extendCoordinate(e,t[i])}return e};_ol_extent_.extendFlatCoordinates=function(e,t,i,r,n){for(;i<r;i+=n){_ol_extent_.extendXY(e,t[i],t[i+1])}return e};_ol_extent_.extendRings=function(e,t){var i,r;for(i=0,r=t.length;i<r;++i){_ol_extent_.extendCoordinates(e,t[i])}return e};_ol_extent_.extendXY=function(e,t,i){e[0]=Math.min(e[0],t);e[1]=Math.min(e[1],i);e[2]=Math.max(e[2],t);e[3]=Math.max(e[3],i)};_ol_extent_.forEachCorner=function(e,t,i){var r;r=t.call(i,_ol_extent_.getBottomLeft(e));if(r){return r}r=t.call(i,_ol_extent_.getBottomRight(e));if(r){return r}r=t.call(i,_ol_extent_.getTopRight(e));if(r){return r}r=t.call(i,_ol_extent_.getTopLeft(e));if(r){return r}return false};_ol_extent_.getArea=function(e){var t=0;if(!_ol_extent_.isEmpty(e)){t=_ol_extent_.getWidth(e)*_ol_extent_.getHeight(e)}return t};_ol_extent_.getBottomLeft=function(e){return[e[0],e[1]]};_ol_extent_.getBottomRight=function(e){return[e[2],e[1]]};_ol_extent_.getCenter=function(e){return[(e[0]+e[2])/2,(e[1]+e[3])/2]};_ol_extent_.getCorner=function(e,t){var i;if(t===_ol_extent_Corner_.BOTTOM_LEFT){i=_ol_extent_.getBottomLeft(e)}else if(t===_ol_extent_Corner_.BOTTOM_RIGHT){i=_ol_extent_.getBottomRight(e)}else if(t===_ol_extent_Corner_.TOP_LEFT){i=_ol_extent_.getTopLeft(e)}else if(t===_ol_extent_Corner_.TOP_RIGHT){i=_ol_extent_.getTopRight(e)}else{_ol_asserts_.assert(false,13)}return i};_ol_extent_.getEnlargedArea=function(e,t){var i=Math.min(e[0],t[0]);var r=Math.min(e[1],t[1]);var n=Math.max(e[2],t[2]);var o=Math.max(e[3],t[3]);return(n-i)*(o-r)};_ol_extent_.getForViewAndSize=function(e,t,i,r,n){var o=t*r[0]/2;var _=t*r[1]/2;var a=Math.cos(i);var s=Math.sin(i);var l=o*a;var h=o*s;var u=_*a;var c=_*s;var f=e[0];var d=e[1];var p=f-l+c;var v=f-l-c;var g=f+l-c;var y=f+l+c;var m=d-h-u;var E=d-h+u;var x=d+h+u;var T=d+h-u;return _ol_extent_.createOrUpdate(Math.min(p,v,g,y),Math.min(m,E,x,T),Math.max(p,v,g,y),Math.max(m,E,x,T),n)};_ol_extent_.getHeight=function(e){return e[3]-e[1]};_ol_extent_.getIntersectionArea=function(e,t){var i=_ol_extent_.getIntersection(e,t);return _ol_extent_.getArea(i)};_ol_extent_.getIntersection=function(e,t,i){var r=i?i:_ol_extent_.createEmpty();if(_ol_extent_.intersects(e,t)){if(e[0]>t[0]){r[0]=e[0]}else{r[0]=t[0]}if(e[1]>t[1]){r[1]=e[1]}else{r[1]=t[1]}if(e[2]<t[2]){r[2]=e[2]}else{r[2]=t[2]}if(e[3]<t[3]){r[3]=e[3]}else{r[3]=t[3]}}return r};_ol_extent_.getMargin=function(e){return _ol_extent_.getWidth(e)+_ol_extent_.getHeight(e)};_ol_extent_.getSize=function(e){return[e[2]-e[0],e[3]-e[1]]};_ol_extent_.getTopLeft=function(e){return[e[0],e[3]]};_ol_extent_.getTopRight=function(e){return[e[2],e[3]]};_ol_extent_.getWidth=function(e){return e[2]-e[0]};_ol_extent_.intersects=function(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]};_ol_extent_.isEmpty=function(e){return e[2]<e[0]||e[3]<e[1]};_ol_extent_.returnOrUpdate=function(e,t){if(t){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];return t}else{return e}};_ol_extent_.scaleFromCenter=function(e,t){var i=(e[2]-e[0])/2*(t-1);var r=(e[3]-e[1])/2*(t-1);e[0]-=i;e[2]+=i;e[1]-=r;e[3]+=r};_ol_extent_.intersectsSegment=function(e,t,i){var r=false;var n=_ol_extent_.coordinateRelationship(e,t);var o=_ol_extent_.coordinateRelationship(e,i);if(n===_ol_extent_Relationship_.INTERSECTING||o===_ol_extent_Relationship_.INTERSECTING){r=true}else{var _=e[0];var a=e[1];var s=e[2];var l=e[3];var h=t[0];var u=t[1];var c=i[0];var f=i[1];var d=(f-u)/(c-h);var p,v;if(!!(o&_ol_extent_Relationship_.ABOVE)&&!(n&_ol_extent_Relationship_.ABOVE)){p=c-(f-l)/d;r=p>=_&&p<=s}if(!r&&!!(o&_ol_extent_Relationship_.RIGHT)&&!(n&_ol_extent_Relationship_.RIGHT)){v=f-(c-s)*d;r=v>=a&&v<=l}if(!r&&!!(o&_ol_extent_Relationship_.BELOW)&&!(n&_ol_extent_Relationship_.BELOW)){p=c-(f-a)/d;r=p>=_&&p<=s}if(!r&&!!(o&_ol_extent_Relationship_.LEFT)&&!(n&_ol_extent_Relationship_.LEFT)){v=f-(c-_)*d;r=v>=a&&v<=l}}return r};_ol_extent_.applyTransform=function(e,t,i){var r=[e[0],e[1],e[0],e[3],e[2],e[1],e[2],e[3]];t(r,r,2);var n=[r[0],r[2],r[4],r[6]];var o=[r[1],r[3],r[5],r[7]];return _ol_extent_.boundingExtentXYs_(n,o,i)};var _ol_geom_GeometryLayout_={XY:"XY",XYZ:"XYZ",XYM:"XYM",XYZM:"XYZM"};var _ol_functions_={};_ol_functions_.TRUE=function(){return true};_ol_functions_.FALSE=function(){return false};var _ol_geom_flat_transform_={};_ol_geom_flat_transform_.transform2D=function(e,t,i,r,n,o){var _=o?o:[];var a=0;var s;for(s=t;s<i;s+=r){var l=e[s];var h=e[s+1];_[a++]=n[0]*l+n[2]*h+n[4];_[a++]=n[1]*l+n[3]*h+n[5]}if(o&&_.length!=a){_.length=a}return _};_ol_geom_flat_transform_.rotate=function(e,t,i,r,n,o,_){var a=_?_:[];var s=Math.cos(n);var l=Math.sin(n);var h=o[0];var u=o[1];var c=0;for(var f=t;f<i;f+=r){var d=e[f]-h;var p=e[f+1]-u;a[c++]=h+d*s-p*l;a[c++]=u+d*l+p*s;for(var v=f+2;v<f+r;++v){a[c++]=e[v]}}if(_&&a.length!=c){a.length=c}return a};_ol_geom_flat_transform_.scale=function(e,t,i,r,n,o,_,a){var s=a?a:[];var l=_[0];var h=_[1];var u=0;for(var c=t;c<i;c+=r){var f=e[c]-l;var d=e[c+1]-h;s[u++]=l+n*f;s[u++]=h+o*d;for(var p=c+2;p<c+r;++p){s[u++]=e[p]}}if(a&&s.length!=u){s.length=u}return s};_ol_geom_flat_transform_.translate=function(e,t,i,r,n,o,_){var a=_?_:[];var s=0;var l,h;for(l=t;l<i;l+=r){a[s++]=e[l]+n;a[s++]=e[l+1]+o;for(h=l+2;h<l+r;++h){a[s++]=e[h]}}if(_&&a.length!=s){a.length=s}return a};var _ol_proj_Units_={DEGREES:"degrees",FEET:"ft",METERS:"m",PIXELS:"pixels",TILE_PIXELS:"tile-pixels",USFEET:"us-ft"};_ol_proj_Units_.METERS_PER_UNIT={};_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]=2*Math.PI*6370997/360;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.FEET]=.3048;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.METERS]=1;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.USFEET]=1200/3937;var _ol_proj_proj4_={};_ol_proj_proj4_.cache_=null;_ol_proj_proj4_.set=function(e){_ol_proj_proj4_.cache_=e};_ol_proj_proj4_.get=function(){return _ol_proj_proj4_.cache_||window["proj4"]};var _ol_proj_Projection_=function(e){this.code_=e.code;this.units_=e.units;this.extent_=e.extent!==undefined?e.extent:null;this.worldExtent_=e.worldExtent!==undefined?e.worldExtent:null;this.axisOrientation_=e.axisOrientation!==undefined?e.axisOrientation:"enu";this.global_=e.global!==undefined?e.global:false;this.canWrapX_=!!(this.global_&&this.extent_);this.getPointResolutionFunc_=e.getPointResolution;this.defaultTileGrid_=null;this.metersPerUnit_=e.metersPerUnit;var t=e.code;if(_ol_.ENABLE_PROJ4JS){var i=_ol_proj_proj4_.get();if(typeof i=="function"){var r=i.defs(t);if(r!==undefined){if(r.axis!==undefined&&e.axisOrientation===undefined){this.axisOrientation_=r.axis}if(e.metersPerUnit===undefined){this.metersPerUnit_=r.to_meter}if(e.units===undefined){this.units_=r.units}}}}};_ol_proj_Projection_.prototype.canWrapX=function(){return this.canWrapX_};_ol_proj_Projection_.prototype.getCode=function(){return this.code_};_ol_proj_Projection_.prototype.getExtent=function(){return this.extent_};_ol_proj_Projection_.prototype.getUnits=function(){return this.units_};_ol_proj_Projection_.prototype.getMetersPerUnit=function(){return this.metersPerUnit_||_ol_proj_Units_.METERS_PER_UNIT[this.units_]};_ol_proj_Projection_.prototype.getWorldExtent=function(){return this.worldExtent_};_ol_proj_Projection_.prototype.getAxisOrientation=function(){return this.axisOrientation_};_ol_proj_Projection_.prototype.isGlobal=function(){return this.global_};_ol_proj_Projection_.prototype.setGlobal=function(e){this.global_=e;this.canWrapX_=!!(e&&this.extent_)};_ol_proj_Projection_.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_};_ol_proj_Projection_.prototype.setDefaultTileGrid=function(e){this.defaultTileGrid_=e};_ol_proj_Projection_.prototype.setExtent=function(e){this.extent_=e;this.canWrapX_=!!(this.global_&&e)};_ol_proj_Projection_.prototype.setWorldExtent=function(e){this.worldExtent_=e};_ol_proj_Projection_.prototype.setGetPointResolution=function(e){this.getPointResolutionFunc_=e};_ol_proj_Projection_.prototype.getPointResolutionFunc=function(){return this.getPointResolutionFunc_};var _ol_proj_EPSG3857_={};_ol_proj_EPSG3857_.Projection_=function(e){_ol_proj_Projection_.call(this,{code:e,units:_ol_proj_Units_.METERS,extent:_ol_proj_EPSG3857_.EXTENT,global:true,worldExtent:_ol_proj_EPSG3857_.WORLD_EXTENT,getPointResolution:function(e,t){return e/_ol_math_.cosh(t[1]/_ol_proj_EPSG3857_.RADIUS)}})};_ol_.inherits(_ol_proj_EPSG3857_.Projection_,_ol_proj_Projection_);_ol_proj_EPSG3857_.RADIUS=6378137;_ol_proj_EPSG3857_.HALF_SIZE=Math.PI*_ol_proj_EPSG3857_.RADIUS;_ol_proj_EPSG3857_.EXTENT=[-_ol_proj_EPSG3857_.HALF_SIZE,-_ol_proj_EPSG3857_.HALF_SIZE,_ol_proj_EPSG3857_.HALF_SIZE,_ol_proj_EPSG3857_.HALF_SIZE];_ol_proj_EPSG3857_.WORLD_EXTENT=[-180,-85,180,85];_ol_proj_EPSG3857_.PROJECTIONS=[new _ol_proj_EPSG3857_.Projection_("EPSG:3857"),new _ol_proj_EPSG3857_.Projection_("EPSG:102100"),new _ol_proj_EPSG3857_.Projection_("EPSG:102113"),new _ol_proj_EPSG3857_.Projection_("EPSG:900913"),new _ol_proj_EPSG3857_.Projection_("urn:ogc:def:crs:EPSG:6.18:3:3857"),new _ol_proj_EPSG3857_.Projection_("urn:ogc:def:crs:EPSG::3857"),new _ol_proj_EPSG3857_.Projection_("http://www.opengis.net/gml/srs/epsg.xml#3857")];_ol_proj_EPSG3857_.fromEPSG4326=function(e,t,i){var r=e.length,n=i>1?i:2,o=t;if(o===undefined){if(n>2){o=e.slice()}else{o=new Array(r)}}var _=_ol_proj_EPSG3857_.HALF_SIZE;for(var a=0;a<r;a+=n){o[a]=_*e[a]/180;var s=_ol_proj_EPSG3857_.RADIUS*Math.log(Math.tan(Math.PI*(e[a+1]+90)/360));if(s>_){s=_}else if(s<-_){s=-_}o[a+1]=s}return o};_ol_proj_EPSG3857_.toEPSG4326=function(e,t,i){var r=e.length,n=i>1?i:2,o=t;if(o===undefined){if(n>2){o=e.slice()}else{o=new Array(r)}}for(var _=0;_<r;_+=n){o[_]=180*e[_]/_ol_proj_EPSG3857_.HALF_SIZE;o[_+1]=360*Math.atan(Math.exp(e[_+1]/_ol_proj_EPSG3857_.RADIUS))/Math.PI-90}return o};var _ol_proj_EPSG4326_={};_ol_proj_EPSG4326_.Projection_=function(e,t){_ol_proj_Projection_.call(this,{code:e,units:_ol_proj_Units_.DEGREES,extent:_ol_proj_EPSG4326_.EXTENT,axisOrientation:t,global:true,metersPerUnit:_ol_proj_EPSG4326_.METERS_PER_UNIT,worldExtent:_ol_proj_EPSG4326_.EXTENT})};_ol_.inherits(_ol_proj_EPSG4326_.Projection_,_ol_proj_Projection_);_ol_proj_EPSG4326_.RADIUS=6378137;_ol_proj_EPSG4326_.EXTENT=[-180,-90,180,90];_ol_proj_EPSG4326_.METERS_PER_UNIT=Math.PI*_ol_proj_EPSG4326_.RADIUS/180;_ol_proj_EPSG4326_.PROJECTIONS=[new _ol_proj_EPSG4326_.Projection_("CRS:84"),new _ol_proj_EPSG4326_.Projection_("EPSG:4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:EPSG::4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:OGC:1.3:CRS84"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:OGC:2:84"),new _ol_proj_EPSG4326_.Projection_("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:x-ogc:def:crs:EPSG:4326","neu")];var _ol_proj_projections_={};_ol_proj_projections_.cache_={};_ol_proj_projections_.clear=function(){_ol_proj_projections_.cache_={}};_ol_proj_projections_.get=function(e){var t=_ol_proj_projections_.cache_;return t[e]||null};_ol_proj_projections_.add=function(e,t){var i=_ol_proj_projections_.cache_;i[e]=t};var _ol_proj_transforms_={};_ol_proj_transforms_.cache_={};_ol_proj_transforms_.clear=function(){_ol_proj_transforms_.cache_={}};_ol_proj_transforms_.add=function(e,t,i){var r=e.getCode();var n=t.getCode();var o=_ol_proj_transforms_.cache_;if(!(r in o)){o[r]={}}o[r][n]=i};_ol_proj_transforms_.remove=function(e,t){var i=e.getCode();var r=t.getCode();var n=_ol_proj_transforms_.cache_;var o=n[i][r];delete n[i][r];if(_ol_obj_.isEmpty(n[i])){delete n[i]}return o};_ol_proj_transforms_.get=function(e,t){var i;var r=_ol_proj_transforms_.cache_;if(e in r&&t in r[e]){i=r[e][t]}return i};var _ol_proj_={};_ol_proj_.METERS_PER_UNIT=_ol_proj_Units_.METERS_PER_UNIT;_ol_proj_.SPHERE_=new _ol_Sphere_(_ol_Sphere_.DEFAULT_RADIUS);if(_ol_.ENABLE_PROJ4JS){_ol_proj_.setProj4=function(e){_ol_proj_proj4_.set(e)}}_ol_proj_.getPointResolution=function(e,t,i,r){e=_ol_proj_.get(e);var n;var o=e.getPointResolutionFunc();if(o){n=o(t,i)}else{var _=e.getUnits();if(_==_ol_proj_Units_.DEGREES&&!r||r==_ol_proj_Units_.DEGREES){n=t}else{var a=_ol_proj_.getTransformFromProjections(e,_ol_proj_.get("EPSG:4326"));var s=[i[0]-t/2,i[1],i[0]+t/2,i[1],i[0],i[1]-t/2,i[0],i[1]+t/2];s=a(s,s,2);var l=_ol_proj_.SPHERE_.haversineDistance(s.slice(0,2),s.slice(2,4));var h=_ol_proj_.SPHERE_.haversineDistance(s.slice(4,6),s.slice(6,8));n=(l+h)/2;var u=r?_ol_proj_Units_.METERS_PER_UNIT[r]:e.getMetersPerUnit();if(u!==undefined){n/=u}}}return n};_ol_proj_.addEquivalentProjections=function(e){_ol_proj_.addProjections(e);e.forEach((function(t){e.forEach((function(e){if(t!==e){_ol_proj_transforms_.add(t,e,_ol_proj_.cloneTransform)}}))}))};_ol_proj_.addEquivalentTransforms=function(e,t,i,r){e.forEach((function(e){t.forEach((function(t){_ol_proj_transforms_.add(e,t,i);_ol_proj_transforms_.add(t,e,r)}))}))};_ol_proj_.addProjection=function(e){_ol_proj_projections_.add(e.getCode(),e);_ol_proj_transforms_.add(e,e,_ol_proj_.cloneTransform)};_ol_proj_.addProjections=function(e){e.forEach(_ol_proj_.addProjection)};_ol_proj_.clearAllProjections=function(){_ol_proj_projections_.clear();_ol_proj_transforms_.clear()};_ol_proj_.createProjection=function(e,t){if(!e){return _ol_proj_.get(t)}else if(typeof e==="string"){return _ol_proj_.get(e)}else{return e}};_ol_proj_.addCoordinateTransforms=function(e,t,i,r){var n=_ol_proj_.get(e);var o=_ol_proj_.get(t);_ol_proj_transforms_.add(n,o,_ol_proj_.createTransformFromCoordinateTransform(i));_ol_proj_transforms_.add(o,n,_ol_proj_.createTransformFromCoordinateTransform(r))};_ol_proj_.createTransformFromCoordinateTransform=function(e){return function(t,i,r){var n=t.length;var o=r!==undefined?r:2;var _=i!==undefined?i:new Array(n);var a,s,l;for(s=0;s<n;s+=o){a=e([t[s],t[s+1]]);_[s]=a[0];_[s+1]=a[1];for(l=o-1;l>=2;--l){_[s+l]=t[s+l]}}return _}};_ol_proj_.fromLonLat=function(e,t){return _ol_proj_.transform(e,"EPSG:4326",t!==undefined?t:"EPSG:3857")};_ol_proj_.toLonLat=function(e,t){var i=_ol_proj_.transform(e,t!==undefined?t:"EPSG:3857","EPSG:4326");var r=i[0];if(r<-180||r>180){i[0]=_ol_math_.modulo(r+180,360)-180}return i};_ol_proj_.get=function(e){var t=null;if(e instanceof _ol_proj_Projection_){t=e}else if(typeof e==="string"){var i=e;t=_ol_proj_projections_.get(i);if(_ol_.ENABLE_PROJ4JS&&!t){var r=_ol_proj_proj4_.get();if(typeof r=="function"&&r.defs(i)!==undefined){t=new _ol_proj_Projection_({code:i});_ol_proj_.addProjection(t)}}}return t};_ol_proj_.equivalent=function(e,t){if(e===t){return true}var i=e.getUnits()===t.getUnits();if(e.getCode()===t.getCode()){return i}else{var r=_ol_proj_.getTransformFromProjections(e,t);return r===_ol_proj_.cloneTransform&&i}};_ol_proj_.getTransform=function(e,t){var i=_ol_proj_.get(e);var r=_ol_proj_.get(t);return _ol_proj_.getTransformFromProjections(i,r)};_ol_proj_.getTransformFromProjections=function(e,t){var i=e.getCode();var r=t.getCode();var n=_ol_proj_transforms_.get(i,r);if(_ol_.ENABLE_PROJ4JS&&!n){var o=_ol_proj_proj4_.get();if(typeof o=="function"){var _=o.defs(i);var a=o.defs(r);if(_!==undefined&&a!==undefined){if(_===a){_ol_proj_.addEquivalentProjections([t,e])}else{var s=o(r,i);_ol_proj_.addCoordinateTransforms(t,e,s.forward,s.inverse)}n=_ol_proj_transforms_.get(i,r)}}}if(!n){n=_ol_proj_.identityTransform}return n};_ol_proj_.identityTransform=function(e,t,i){if(t!==undefined&&e!==t){for(var r=0,n=e.length;r<n;++r){t[r]=e[r]}e=t}return e};_ol_proj_.cloneTransform=function(e,t,i){var r;if(t!==undefined){for(var n=0,o=e.length;n<o;++n){t[n]=e[n]}r=t}else{r=e.slice()}return r};_ol_proj_.transform=function(e,t,i){var r=_ol_proj_.getTransform(t,i);return r(e,undefined,e.length)};_ol_proj_.transformExtent=function(e,t,i){var r=_ol_proj_.getTransform(t,i);return _ol_extent_.applyTransform(e,r)};_ol_proj_.transformWithProjections=function(e,t,i){var r=_ol_proj_.getTransformFromProjections(t,i);return r(e)};_ol_proj_.addCommon=function(){_ol_proj_.addEquivalentProjections(_ol_proj_EPSG3857_.PROJECTIONS);_ol_proj_.addEquivalentProjections(_ol_proj_EPSG4326_.PROJECTIONS);_ol_proj_.addEquivalentTransforms(_ol_proj_EPSG4326_.PROJECTIONS,_ol_proj_EPSG3857_.PROJECTIONS,_ol_proj_EPSG3857_.fromEPSG4326,_ol_proj_EPSG3857_.toEPSG4326)};_ol_proj_.addCommon();var _ol_transform_={};_ol_transform_.tmp_=new Array(6);_ol_transform_.create=function(){return[1,0,0,1,0,0]};_ol_transform_.reset=function(e){return _ol_transform_.set(e,1,0,0,1,0,0)};_ol_transform_.multiply=function(e,t){var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=e[4];var a=e[5];var s=t[0];var l=t[1];var h=t[2];var u=t[3];var c=t[4];var f=t[5];e[0]=i*s+n*l;e[1]=r*s+o*l;e[2]=i*h+n*u;e[3]=r*h+o*u;e[4]=i*c+n*f+_;e[5]=r*c+o*f+a;return e};_ol_transform_.set=function(e,t,i,r,n,o,_){e[0]=t;e[1]=i;e[2]=r;e[3]=n;e[4]=o;e[5]=_;return e};_ol_transform_.setFromArray=function(e,t){e[0]=t[0];e[1]=t[1];e[2]=t[2];e[3]=t[3];e[4]=t[4];e[5]=t[5];return e};_ol_transform_.apply=function(e,t){var i=t[0],r=t[1];t[0]=e[0]*i+e[2]*r+e[4];t[1]=e[1]*i+e[3]*r+e[5];return t};_ol_transform_.rotate=function(e,t){var i=Math.cos(t);var r=Math.sin(t);return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,i,r,-r,i,0,0))};_ol_transform_.scale=function(e,t,i){return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,t,0,0,i,0,0))};_ol_transform_.translate=function(e,t,i){return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,1,0,0,1,t,i))};_ol_transform_.compose=function(e,t,i,r,n,o,_,a){var s=Math.sin(o);var l=Math.cos(o);e[0]=r*l;e[1]=n*s;e[2]=-r*s;e[3]=n*l;e[4]=_*r*l-a*r*s+t;e[5]=_*n*s+a*n*l+i;return e};_ol_transform_.invert=function(e){var t=_ol_transform_.determinant(e);_ol_asserts_.assert(t!==0,32);var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=e[4];var a=e[5];e[0]=o/t;e[1]=-r/t;e[2]=-n/t;e[3]=i/t;e[4]=(n*a-o*_)/t;e[5]=-(i*a-r*_)/t;return e};_ol_transform_.determinant=function(e){return e[0]*e[3]-e[1]*e[2]};var _ol_geom_Geometry_=function(){_ol_Object_.call(this);this.extent_=_ol_extent_.createEmpty();this.extentRevision_=-1;this.simplifiedGeometryCache={};this.simplifiedGeometryMaxMinSquaredTolerance=0;this.simplifiedGeometryRevision=0;this.tmpTransform_=_ol_transform_.create()};_ol_.inherits(_ol_geom_Geometry_,_ol_Object_);_ol_geom_Geometry_.prototype.clone=function(){};_ol_geom_Geometry_.prototype.closestPointXY=function(e,t,i,r){};_ol_geom_Geometry_.prototype.getClosestPoint=function(e,t){var i=t?t:[NaN,NaN];this.closestPointXY(e[0],e[1],i,Infinity);return i};_ol_geom_Geometry_.prototype.intersectsCoordinate=function(e){return this.containsXY(e[0],e[1])};_ol_geom_Geometry_.prototype.computeExtent=function(e){};_ol_geom_Geometry_.prototype.containsXY=_ol_functions_.FALSE;_ol_geom_Geometry_.prototype.getExtent=function(e){if(this.extentRevision_!=this.getRevision()){this.extent_=this.computeExtent(this.extent_);this.extentRevision_=this.getRevision()}return _ol_extent_.returnOrUpdate(this.extent_,e)};_ol_geom_Geometry_.prototype.rotate=function(e,t){};_ol_geom_Geometry_.prototype.scale=function(e,t,i){};_ol_geom_Geometry_.prototype.simplify=function(e){return this.getSimplifiedGeometry(e*e)};_ol_geom_Geometry_.prototype.getSimplifiedGeometry=function(e){};_ol_geom_Geometry_.prototype.getType=function(){};_ol_geom_Geometry_.prototype.applyTransform=function(e){};_ol_geom_Geometry_.prototype.intersectsExtent=function(e){};_ol_geom_Geometry_.prototype.translate=function(e,t){};_ol_geom_Geometry_.prototype.transform=function(e,t){var i=this.tmpTransform_;e=_ol_proj_.get(e);var r=e.getUnits()==_ol_proj_Units_.TILE_PIXELS?function(r,n,o){var _=e.getExtent();var a=e.getWorldExtent();var s=_ol_extent_.getHeight(a)/_ol_extent_.getHeight(_);_ol_transform_.compose(i,a[0],a[3],s,-s,0,0,0);_ol_geom_flat_transform_.transform2D(r,0,r.length,o,i,n);return _ol_proj_.getTransform(e,t)(r,n,o)}:_ol_proj_.getTransform(e,t);this.applyTransform(r);return this};var _ol_geom_SimpleGeometry_=function(){_ol_geom_Geometry_.call(this);this.layout=_ol_geom_GeometryLayout_.XY;this.stride=2;this.flatCoordinates=null};_ol_.inherits(_ol_geom_SimpleGeometry_,_ol_geom_Geometry_);_ol_geom_SimpleGeometry_.getLayoutForStride_=function(e){var t;if(e==2){t=_ol_geom_GeometryLayout_.XY}else if(e==3){t=_ol_geom_GeometryLayout_.XYZ}else if(e==4){t=_ol_geom_GeometryLayout_.XYZM}return t};_ol_geom_SimpleGeometry_.getStrideForLayout=function(e){var t;if(e==_ol_geom_GeometryLayout_.XY){t=2}else if(e==_ol_geom_GeometryLayout_.XYZ||e==_ol_geom_GeometryLayout_.XYM){t=3}else if(e==_ol_geom_GeometryLayout_.XYZM){t=4}return t};_ol_geom_SimpleGeometry_.prototype.containsXY=_ol_functions_.FALSE;_ol_geom_SimpleGeometry_.prototype.computeExtent=function(e){return _ol_extent_.createOrUpdateFromFlatCoordinates(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)};_ol_geom_SimpleGeometry_.prototype.getCoordinates=function(){};_ol_geom_SimpleGeometry_.prototype.getFirstCoordinate=function(){return this.flatCoordinates.slice(0,this.stride)};_ol_geom_SimpleGeometry_.prototype.getFlatCoordinates=function(){return this.flatCoordinates};_ol_geom_SimpleGeometry_.prototype.getLastCoordinate=function(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)};_ol_geom_SimpleGeometry_.prototype.getLayout=function(){return this.layout};_ol_geom_SimpleGeometry_.prototype.getSimplifiedGeometry=function(e){if(this.simplifiedGeometryRevision!=this.getRevision()){_ol_obj_.clear(this.simplifiedGeometryCache);this.simplifiedGeometryMaxMinSquaredTolerance=0;this.simplifiedGeometryRevision=this.getRevision()}if(e<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&e<=this.simplifiedGeometryMaxMinSquaredTolerance){return this}var t=e.toString();if(this.simplifiedGeometryCache.hasOwnProperty(t)){return this.simplifiedGeometryCache[t]}else{var i=this.getSimplifiedGeometryInternal(e);var r=i.getFlatCoordinates();if(r.length<this.flatCoordinates.length){this.simplifiedGeometryCache[t]=i;return i}else{this.simplifiedGeometryMaxMinSquaredTolerance=e;return this}}};_ol_geom_SimpleGeometry_.prototype.getSimplifiedGeometryInternal=function(e){return this};_ol_geom_SimpleGeometry_.prototype.getStride=function(){return this.stride};_ol_geom_SimpleGeometry_.prototype.setFlatCoordinatesInternal=function(e,t){this.stride=_ol_geom_SimpleGeometry_.getStrideForLayout(e);this.layout=e;this.flatCoordinates=t};_ol_geom_SimpleGeometry_.prototype.setCoordinates=function(e,t){};_ol_geom_SimpleGeometry_.prototype.setLayout=function(e,t,i){var r;if(e){r=_ol_geom_SimpleGeometry_.getStrideForLayout(e)}else{var n;for(n=0;n<i;++n){if(t.length===0){this.layout=_ol_geom_GeometryLayout_.XY;this.stride=2;return}else{t=t[0]}}r=t.length;e=_ol_geom_SimpleGeometry_.getLayoutForStride_(r)}this.layout=e;this.stride=r};_ol_geom_SimpleGeometry_.prototype.applyTransform=function(e){if(this.flatCoordinates){e(this.flatCoordinates,this.flatCoordinates,this.stride);this.changed()}};_ol_geom_SimpleGeometry_.prototype.rotate=function(e,t){var i=this.getFlatCoordinates();if(i){var r=this.getStride();_ol_geom_flat_transform_.rotate(i,0,i.length,r,e,t,i);this.changed()}};_ol_geom_SimpleGeometry_.prototype.scale=function(e,t,i){var r=t;if(r===undefined){r=e}var n=i;if(!n){n=_ol_extent_.getCenter(this.getExtent())}var o=this.getFlatCoordinates();if(o){var _=this.getStride();_ol_geom_flat_transform_.scale(o,0,o.length,_,e,r,n,o);this.changed()}};_ol_geom_SimpleGeometry_.prototype.translate=function(e,t){var i=this.getFlatCoordinates();if(i){var r=this.getStride();_ol_geom_flat_transform_.translate(i,0,i.length,r,e,t,i);this.changed()}};_ol_geom_SimpleGeometry_.transform2D=function(e,t,i){var r=e.getFlatCoordinates();if(!r){return null}else{var n=e.getStride();return _ol_geom_flat_transform_.transform2D(r,0,r.length,n,t,i)}};var _ol_geom_flat_area_={};_ol_geom_flat_area_.linearRing=function(e,t,i,r){var n=0;var o=e[i-r];var _=e[i-r+1];for(;t<i;t+=r){var a=e[t];var s=e[t+1];n+=_*a-o*s;o=a;_=s}return n/2};_ol_geom_flat_area_.linearRings=function(e,t,i,r){var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n+=_ol_geom_flat_area_.linearRing(e,t,a,r);t=a}return n};_ol_geom_flat_area_.linearRingss=function(e,t,i,r){var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n+=_ol_geom_flat_area_.linearRings(e,t,a,r);t=a[a.length-1]}return n};var _ol_geom_flat_closest_={};_ol_geom_flat_closest_.point=function(e,t,i,r,n,o,_){var a=e[t];var s=e[t+1];var l=e[i]-a;var h=e[i+1]-s;var u,c;if(l===0&&h===0){c=t}else{var f=((n-a)*l+(o-s)*h)/(l*l+h*h);if(f>1){c=i}else if(f>0){for(u=0;u<r;++u){_[u]=_ol_math_.lerp(e[t+u],e[i+u],f)}_.length=r;return}else{c=t}}for(u=0;u<r;++u){_[u]=e[c+u]}_.length=r};_ol_geom_flat_closest_.getMaxSquaredDelta=function(e,t,i,r,n){var o=e[t];var _=e[t+1];for(t+=r;t<i;t+=r){var a=e[t];var s=e[t+1];var l=_ol_math_.squaredDistance(o,_,a,s);if(l>n){n=l}o=a;_=s}return n};_ol_geom_flat_closest_.getsMaxSquaredDelta=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n=_ol_geom_flat_closest_.getMaxSquaredDelta(e,t,a,r,n);t=a}return n};_ol_geom_flat_closest_.getssMaxSquaredDelta=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n=_ol_geom_flat_closest_.getsMaxSquaredDelta(e,t,a,r,n);t=a[a.length-1]}return n};_ol_geom_flat_closest_.getClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){if(t==i){return l}var u,c;if(n===0){c=_ol_math_.squaredDistance(_,a,e[t],e[t+1]);if(c<l){for(u=0;u<r;++u){s[u]=e[t+u]}s.length=r;return c}else{return l}}var f=h?h:[NaN,NaN];var d=t+r;while(d<i){_ol_geom_flat_closest_.point(e,d-r,d,r,_,a,f);c=_ol_math_.squaredDistance(_,a,f[0],f[1]);if(c<l){l=c;for(u=0;u<r;++u){s[u]=f[u]}s.length=r;d+=r}else{d+=r*Math.max((Math.sqrt(c)-Math.sqrt(l))/n|0,1)}}if(o){_ol_geom_flat_closest_.point(e,i-r,t,r,_,a,f);c=_ol_math_.squaredDistance(_,a,f[0],f[1]);if(c<l){l=c;for(u=0;u<r;++u){s[u]=f[u]}s.length=r}}return l};_ol_geom_flat_closest_.getsClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){var u=h?h:[NaN,NaN];var c,f;for(c=0,f=i.length;c<f;++c){var d=i[c];l=_ol_geom_flat_closest_.getClosestPoint(e,t,d,r,n,o,_,a,s,l,u);t=d}return l};_ol_geom_flat_closest_.getssClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){var u=h?h:[NaN,NaN];var c,f;for(c=0,f=i.length;c<f;++c){var d=i[c];l=_ol_geom_flat_closest_.getsClosestPoint(e,t,d,r,n,o,_,a,s,l,u);t=d[d.length-1]}return l};var _ol_geom_flat_deflate_={};_ol_geom_flat_deflate_.coordinate=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){e[t++]=i[n]}return t};_ol_geom_flat_deflate_.coordinates=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){var _=i[n];var a;for(a=0;a<r;++a){e[t++]=_[a]}}return t};_ol_geom_flat_deflate_.coordinatess=function(e,t,i,r,n){var o=n?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=_ol_geom_flat_deflate_.coordinates(e,t,i[a],r);o[_++]=l;t=l}o.length=_;return o};_ol_geom_flat_deflate_.coordinatesss=function(e,t,i,r,n){var o=n?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=_ol_geom_flat_deflate_.coordinatess(e,t,i[a],r,o[_]);o[_++]=l;t=l[l.length-1]}o.length=_;return o};var _ol_geom_flat_inflate_={};_ol_geom_flat_inflate_.coordinates=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a;for(a=t;a<i;a+=r){o[_++]=e.slice(a,a+r)}o.length=_;return o};_ol_geom_flat_inflate_.coordinatess=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=i[a];o[_++]=_ol_geom_flat_inflate_.coordinates(e,t,l,r,o[_]);t=l}o.length=_;return o};_ol_geom_flat_inflate_.coordinatesss=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=i[a];o[_++]=_ol_geom_flat_inflate_.coordinatess(e,t,l,r,o[_]);t=l[l.length-1]}o.length=_;return o};var _ol_geom_flat_simplify_={};_ol_geom_flat_simplify_.lineString=function(e,t,i,r,n,o,_){var a=_!==undefined?_:[];if(!o){i=_ol_geom_flat_simplify_.radialDistance(e,t,i,r,n,a,0);e=a;t=0;r=2}a.length=_ol_geom_flat_simplify_.douglasPeucker(e,t,i,r,n,a,0);return a};_ol_geom_flat_simplify_.douglasPeucker=function(e,t,i,r,n,o,_){var a=(i-t)/r;if(a<3){for(;t<i;t+=r){o[_++]=e[t];o[_++]=e[t+1]}return _}var s=new Array(a);s[0]=1;s[a-1]=1;var l=[t,i-r];var h=0;var u;while(l.length>0){var c=l.pop();var f=l.pop();var d=0;var p=e[f];var v=e[f+1];var g=e[c];var y=e[c+1];for(u=f+r;u<c;u+=r){var m=e[u];var E=e[u+1];var x=_ol_math_.squaredSegmentDistance(m,E,p,v,g,y);if(x>d){h=u;d=x}}if(d>n){s[(h-t)/r]=1;if(f+r<h){l.push(f,h)}if(h+r<c){l.push(h,c)}}}for(u=0;u<a;++u){if(s[u]){o[_++]=e[t+u*r];o[_++]=e[t+u*r+1]}}return _};_ol_geom_flat_simplify_.douglasPeuckers=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];_=_ol_geom_flat_simplify_.douglasPeucker(e,t,h,r,n,o,_);a.push(_);t=h}return _};_ol_geom_flat_simplify_.douglasPeuckerss=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];var u=[];_=_ol_geom_flat_simplify_.douglasPeuckers(e,t,h,r,n,o,_,u);a.push(u);t=h[h.length-1]}return _};_ol_geom_flat_simplify_.radialDistance=function(e,t,i,r,n,o,_){if(i<=t+r){for(;t<i;t+=r){o[_++]=e[t];o[_++]=e[t+1]}return _}var a=e[t];var s=e[t+1];o[_++]=a;o[_++]=s;var l=a;var h=s;for(t+=r;t<i;t+=r){l=e[t];h=e[t+1];if(_ol_math_.squaredDistance(a,s,l,h)>n){o[_++]=l;o[_++]=h;a=l;s=h}}if(l!=a||h!=s){o[_++]=l;o[_++]=h}return _};_ol_geom_flat_simplify_.snap=function(e,t){return t*Math.round(e/t)};_ol_geom_flat_simplify_.quantize=function(e,t,i,r,n,o,_){if(t==i){return _}var a=_ol_geom_flat_simplify_.snap(e[t],n);var s=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;o[_++]=a;o[_++]=s;var l,h;do{l=_ol_geom_flat_simplify_.snap(e[t],n);h=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;if(t==i){o[_++]=l;o[_++]=h;return _}}while(l==a&&h==s);while(t<i){var u,c;u=_ol_geom_flat_simplify_.snap(e[t],n);c=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;if(u==l&&c==h){continue}var f=l-a;var d=h-s;var p=u-a;var v=c-s;if(f*v==d*p&&(f<0&&p<f||f==p||f>0&&p>f)&&(d<0&&v<d||d==v||d>0&&v>d)){l=u;h=c;continue}o[_++]=l;o[_++]=h;a=l;s=h;l=u;h=c}o[_++]=l;o[_++]=h;return _};_ol_geom_flat_simplify_.quantizes=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];_=_ol_geom_flat_simplify_.quantize(e,t,h,r,n,o,_);a.push(_);t=h}return _};_ol_geom_flat_simplify_.quantizess=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];var u=[];_=_ol_geom_flat_simplify_.quantizes(e,t,h,r,n,o,_,u);a.push(u);t=h[h.length-1]}return _};var _ol_geom_LinearRing_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.maxDelta_=-1;this.maxDeltaRevision_=-1;this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_LinearRing_,_ol_geom_SimpleGeometry_);_ol_geom_LinearRing_.prototype.clone=function(){var e=new _ol_geom_LinearRing_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice());return e};_ol_geom_LinearRing_.prototype.closestPointXY=function(e,t,i,r){if(r<_ol_extent_.closestSquaredDistanceXY(this.getExtent(),e,t)){return r}if(this.maxDeltaRevision_!=this.getRevision()){this.maxDelta_=Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0));this.maxDeltaRevision_=this.getRevision()}return _ol_geom_flat_closest_.getClosestPoint(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,true,e,t,i,r)};_ol_geom_LinearRing_.prototype.getArea=function(){return _ol_geom_flat_area_.linearRing(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)};_ol_geom_LinearRing_.prototype.getCoordinates=function(){return _ol_geom_flat_inflate_.coordinates(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)};_ol_geom_LinearRing_.prototype.getSimplifiedGeometryInternal=function(e){var t=[];t.length=_ol_geom_flat_simplify_.douglasPeucker(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0);var i=new _ol_geom_LinearRing_(null);i.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,t);return i};_ol_geom_LinearRing_.prototype.getType=function(){return _ol_geom_GeometryType_.LINEAR_RING};_ol_geom_LinearRing_.prototype.intersectsExtent=function(e){};_ol_geom_LinearRing_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null)}else{this.setLayout(t,e,1);if(!this.flatCoordinates){this.flatCoordinates=[]}this.flatCoordinates.length=_ol_geom_flat_deflate_.coordinates(this.flatCoordinates,0,e,this.stride);this.changed()}};_ol_geom_LinearRing_.prototype.setFlatCoordinates=function(e,t){this.setFlatCoordinatesInternal(e,t);this.changed()};var _ol_geom_Point_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_Point_,_ol_geom_SimpleGeometry_);_ol_geom_Point_.prototype.clone=function(){var e=new _ol_geom_Point_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice());return e};_ol_geom_Point_.prototype.closestPointXY=function(e,t,i,r){var n=this.flatCoordinates;var o=_ol_math_.squaredDistance(e,t,n[0],n[1]);if(o<r){var _=this.stride;var a;for(a=0;a<_;++a){i[a]=n[a]}i.length=_;return o}else{return r}};_ol_geom_Point_.prototype.getCoordinates=function(){return!this.flatCoordinates?[]:this.flatCoordinates.slice()};_ol_geom_Point_.prototype.computeExtent=function(e){return _ol_extent_.createOrUpdateFromCoordinate(this.flatCoordinates,e)};_ol_geom_Point_.prototype.getType=function(){return _ol_geom_GeometryType_.POINT};_ol_geom_Point_.prototype.intersectsExtent=function(e){return _ol_extent_.containsXY(e,this.flatCoordinates[0],this.flatCoordinates[1])};_ol_geom_Point_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null)}else{this.setLayout(t,e,0);if(!this.flatCoordinates){this.flatCoordinates=[]}this.flatCoordinates.length=_ol_geom_flat_deflate_.coordinate(this.flatCoordinates,0,e,this.stride);this.changed()}};_ol_geom_Point_.prototype.setFlatCoordinates=function(e,t){this.setFlatCoordinatesInternal(e,t);this.changed()};var _ol_geom_flat_contains_={};_ol_geom_flat_contains_.linearRingContainsExtent=function(e,t,i,r,n){var o=_ol_extent_.forEachCorner(n,(function(n){return!_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[1])}));return!o};_ol_geom_flat_contains_.linearRingContainsXY=function(e,t,i,r,n,o){var _=0;var a=e[i-r];var s=e[i-r+1];for(;t<i;t+=r){var l=e[t];var h=e[t+1];if(s<=o){if(h>o&&(l-a)*(o-s)-(n-a)*(h-s)>0){_++}}else if(h<=o&&(l-a)*(o-s)-(n-a)*(h-s)<0){_--}a=l;s=h}return _!==0};_ol_geom_flat_contains_.linearRingsContainsXY=function(e,t,i,r,n,o){if(i.length===0){return false}if(!_ol_geom_flat_contains_.linearRingContainsXY(e,t,i[0],r,n,o)){return false}var _,a;for(_=1,a=i.length;_<a;++_){if(_ol_geom_flat_contains_.linearRingContainsXY(e,i[_-1],i[_],r,n,o)){return false}}return true};_ol_geom_flat_contains_.linearRingssContainsXY=function(e,t,i,r,n,o){if(i.length===0){return false}var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];if(_ol_geom_flat_contains_.linearRingsContainsXY(e,t,s,r,n,o)){return true}t=s[s.length-1]}return false};var _ol_geom_flat_interiorpoint_={};_ol_geom_flat_interiorpoint_.linearRings=function(e,t,i,r,n,o,_){var a,s,l,h,u,c,f;var d=n[o+1];var p=[];for(var v=0,g=i.length;v<g;++v){var y=i[v];h=e[y-r];c=e[y-r+1];for(a=t;a<y;a+=r){u=e[a];f=e[a+1];if(d<=c&&f<=d||c<=d&&d<=f){l=(d-c)/(f-c)*(u-h)+h;p.push(l)}h=u;c=f}}var m=NaN;var E=-Infinity;p.sort(_ol_array_.numberSafeCompareFunction);h=p[0];for(a=1,s=p.length;a<s;++a){u=p[a];var x=Math.abs(u-h);if(x>E){l=(h+u)/2;if(_ol_geom_flat_contains_.linearRingsContainsXY(e,t,i,r,l,d)){m=l;E=x}}h=u}if(isNaN(m)){m=n[o]}if(_){_.push(m,d,E);return _}else{return[m,d,E]}};_ol_geom_flat_interiorpoint_.linearRingss=function(e,t,i,r,n){var o=[];var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];o=_ol_geom_flat_interiorpoint_.linearRings(e,t,s,r,n,2*_,o);t=s[s.length-1]}return o};var _ol_geom_flat_segments_={};_ol_geom_flat_segments_.forEach=function(e,t,i,r,n,o){var _=[e[t],e[t+1]];var a=[];var s;for(;t+r<i;t+=r){a[0]=e[t+r];a[1]=e[t+r+1];s=n.call(o,_,a);if(s){return s}_[0]=a[0];_[1]=a[1]}return false};var _ol_geom_flat_intersectsextent_={};_ol_geom_flat_intersectsextent_.lineString=function(e,t,i,r,n){var o=_ol_extent_.extendFlatCoordinates(_ol_extent_.createEmpty(),e,t,i,r);if(!_ol_extent_.intersects(n,o)){return false}if(_ol_extent_.containsExtent(n,o)){return true}if(o[0]>=n[0]&&o[2]<=n[2]){return true}if(o[1]>=n[1]&&o[3]<=n[3]){return true}return _ol_geom_flat_segments_.forEach(e,t,i,r,(function(e,t){return _ol_extent_.intersectsSegment(n,e,t)}))};_ol_geom_flat_intersectsextent_.lineStrings=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){if(_ol_geom_flat_intersectsextent_.lineString(e,t,i[o],r,n)){return true}t=i[o]}return false};_ol_geom_flat_intersectsextent_.linearRing=function(e,t,i,r,n){if(_ol_geom_flat_intersectsextent_.lineString(e,t,i,r,n)){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[1])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[3])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[2],n[1])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[2],n[3])){return true}return false};_ol_geom_flat_intersectsextent_.linearRings=function(e,t,i,r,n){if(!_ol_geom_flat_intersectsextent_.linearRing(e,t,i[0],r,n)){return false}if(i.length===1){return true}var o,_;for(o=1,_=i.length;o<_;++o){if(_ol_geom_flat_contains_.linearRingContainsExtent(e,i[o-1],i[o],r,n)){return false}}return true};_ol_geom_flat_intersectsextent_.linearRingss=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];if(_ol_geom_flat_intersectsextent_.linearRings(e,t,a,r,n)){return true}t=a[a.length-1]}return false};var _ol_geom_flat_reverse_={};_ol_geom_flat_reverse_.coordinates=function(e,t,i,r){while(t<i-r){var n;for(n=0;n<r;++n){var o=e[t+n];e[t+n]=e[i-r+n];e[i-r+n]=o}t+=r;i-=r}};var _ol_geom_flat_orient_={};_ol_geom_flat_orient_.linearRingIsClockwise=function(e,t,i,r){var n=0;var o=e[i-r];var _=e[i-r+1];for(;t<i;t+=r){var a=e[t];var s=e[t+1];n+=(a-o)*(s+_);o=a;_=s}return n>0};_ol_geom_flat_orient_.linearRingsAreOriented=function(e,t,i,r,n){var o=n!==undefined?n:false;var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];var l=_ol_geom_flat_orient_.linearRingIsClockwise(e,t,s,r);if(_===0){if(o&&l||!o&&!l){return false}}else{if(o&&!l||!o&&l){return false}}t=s}return true};_ol_geom_flat_orient_.linearRingssAreOriented=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){if(!_ol_geom_flat_orient_.linearRingsAreOriented(e,t,i[o],r,n)){return false}}return true};_ol_geom_flat_orient_.orientLinearRings=function(e,t,i,r,n){var o=n!==undefined?n:false;var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];var l=_ol_geom_flat_orient_.linearRingIsClockwise(e,t,s,r);var h=_===0?o&&l||!o&&!l:o&&!l||!o&&l;if(h){_ol_geom_flat_reverse_.coordinates(e,t,s,r)}t=s}return t};_ol_geom_flat_orient_.orientLinearRingss=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){t=_ol_geom_flat_orient_.orientLinearRings(e,t,i[o],r,n)}return t};var _ol_geom_Polygon_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.ends_=[];this.flatInteriorPointRevision_=-1;this.flatInteriorPoint_=null;this.maxDelta_=-1;this.maxDeltaRevision_=-1;this.orientedRevision_=-1;this.orientedFlatCoordinates_=null;this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_Polygon_,_ol_geom_SimpleGeometry_);_ol_geom_Polygon_.prototype.appendLinearRing=function(e){if(!this.flatCoordinates){this.flatCoordinates=e.getFlatCoordinates().slice()}else{_ol_array_.extend(this.flatCoordinates,e.getFlatCoordinates())}this.ends_.push(this.flatCoordinates.length);this.changed()};_ol_geom_Polygon_.prototype.clone=function(){var e=new _ol_geom_Polygon_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice(),this.ends_.slice());return e};_ol_geom_Polygon_.prototype.closestPointXY=function(e,t,i,r){if(r<_ol_extent_.closestSquaredDistanceXY(this.getExtent(),e,t)){return r}if(this.maxDeltaRevision_!=this.getRevision()){this.maxDelta_=Math.sqrt(_ol_geom_flat_closest_.getsMaxSquaredDelta(this.flatCoordinates,0,this.ends_,this.stride,0));this.maxDeltaRevision_=this.getRevision()}return _ol_geom_flat_closest_.getsClosestPoint(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,true,e,t,i,r)};_ol_geom_Polygon_.prototype.containsXY=function(e,t){return _ol_geom_flat_contains_.linearRingsContainsXY(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,t)};_ol_geom_Polygon_.prototype.getArea=function(){return _ol_geom_flat_area_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)};_ol_geom_Polygon_.prototype.getCoordinates=function(e){var t;if(e!==undefined){t=this.getOrientedFlatCoordinates().slice();_ol_geom_flat_orient_.orientLinearRings(t,0,this.ends_,this.stride,e)}else{t=this.flatCoordinates}return _ol_geom_flat_inflate_.coordinatess(t,0,this.ends_,this.stride)};_ol_geom_Polygon_.prototype.getEnds=function(){return this.ends_};_ol_geom_Polygon_.prototype.getFlatInteriorPoint=function(){if(this.flatInteriorPointRevision_!=this.getRevision()){var e=_ol_extent_.getCenter(this.getExtent());this.flatInteriorPoint_=_ol_geom_flat_interiorpoint_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,0);this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_};_ol_geom_Polygon_.prototype.getInteriorPoint=function(){return new _ol_geom_Point_(this.getFlatInteriorPoint(),_ol_geom_GeometryLayout_.XYM)};_ol_geom_Polygon_.prototype.getLinearRingCount=function(){return this.ends_.length};_ol_geom_Polygon_.prototype.getLinearRing=function(e){if(e<0||this.ends_.length<=e){return null}var t=new _ol_geom_LinearRing_(null);t.setFlatCoordinates(this.layout,this.flatCoordinates.slice(e===0?0:this.ends_[e-1],this.ends_[e]));return t};_ol_geom_Polygon_.prototype.getLinearRings=function(){var e=this.layout;var t=this.flatCoordinates;var i=this.ends_;var r=[];var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];var s=new _ol_geom_LinearRing_(null);s.setFlatCoordinates(e,t.slice(n,a));r.push(s);n=a}return r};_ol_geom_Polygon_.prototype.getOrientedFlatCoordinates=function(){if(this.orientedRevision_!=this.getRevision()){var e=this.flatCoordinates;if(_ol_geom_flat_orient_.linearRingsAreOriented(e,0,this.ends_,this.stride)){this.orientedFlatCoordinates_=e}else{this.orientedFlatCoordinates_=e.slice();this.orientedFlatCoordinates_.length=_ol_geom_flat_orient_.orientLinearRings(this.orientedFlatCoordinates_,0,this.ends_,this.stride)}this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_};_ol_geom_Polygon_.prototype.getSimplifiedGeometryInternal=function(e){var t=[];var i=[];t.length=_ol_geom_flat_simplify_.quantizes(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(e),t,0,i);var r=new _ol_geom_Polygon_(null);r.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,t,i);return r};_ol_geom_Polygon_.prototype.getType=function(){return _ol_geom_GeometryType_.POLYGON};_ol_geom_Polygon_.prototype.intersectsExtent=function(e){return _ol_geom_flat_intersectsextent_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e)};_ol_geom_Polygon_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null,this.ends_)}else{this.setLayout(t,e,2);if(!this.flatCoordinates){this.flatCoordinates=[]}var i=_ol_geom_flat_deflate_.coordinatess(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1];this.changed()}};_ol_geom_Polygon_.prototype.setFlatCoordinates=function(e,t,i){this.setFlatCoordinatesInternal(e,t);this.ends_=i;this.changed()};_ol_geom_Polygon_.circular=function(e,t,i,r){var n=r?r:32;var o=[];var _;for(_=0;_<n;++_){_ol_array_.extend(o,e.offset(t,i,2*Math.PI*_/n))}o.push(o[0],o[1]);var a=new _ol_geom_Polygon_(null);a.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,o,[o.length]);return a};_ol_geom_Polygon_.fromExtent=function(e){var t=e[0];var i=e[1];var r=e[2];var n=e[3];var o=[t,i,t,n,r,n,r,i,t,i];var _=new _ol_geom_Polygon_(null);_.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,o,[o.length]);return _};_ol_geom_Polygon_.fromCircle=function(e,t,i){var r=t?t:32;var n=e.getStride();var o=e.getLayout();var _=new _ol_geom_Polygon_(null,o);var a=n*(r+1);var s=new Array(a);for(var l=0;l<a;l++){s[l]=0}var h=[s.length];_.setFlatCoordinates(o,s,h);_ol_geom_Polygon_.makeRegular(_,e.getCenter(),e.getRadius(),i);return _};_ol_geom_Polygon_.makeRegular=function(e,t,i,r){var n=e.getFlatCoordinates();var o=e.getLayout();var _=e.getStride();var a=e.getEnds();var s=n.length/_-1;var l=r?r:0;var h,u;for(var c=0;c<=s;++c){u=c*_;h=l+_ol_math_.modulo(c,s)*2*Math.PI/s;n[u]=t[0]+i*Math.cos(h);n[u+1]=t[1]+i*Math.sin(h)}e.setFlatCoordinates(o,n,a)};var _ol_webgl_={};_ol_webgl_.ONE=1;_ol_webgl_.SRC_ALPHA=770;_ol_webgl_.COLOR_ATTACHMENT0=36064;_ol_webgl_.COLOR_BUFFER_BIT=16384;_ol_webgl_.TRIANGLES=4;_ol_webgl_.TRIANGLE_STRIP=5;_ol_webgl_.ONE_MINUS_SRC_ALPHA=771;_ol_webgl_.ARRAY_BUFFER=34962;_ol_webgl_.ELEMENT_ARRAY_BUFFER=34963;_ol_webgl_.STREAM_DRAW=35040;_ol_webgl_.STATIC_DRAW=35044;_ol_webgl_.DYNAMIC_DRAW=35048;_ol_webgl_.CULL_FACE=2884;_ol_webgl_.BLEND=3042;_ol_webgl_.STENCIL_TEST=2960;_ol_webgl_.DEPTH_TEST=2929;_ol_webgl_.SCISSOR_TEST=3089;_ol_webgl_.UNSIGNED_BYTE=5121;_ol_webgl_.UNSIGNED_SHORT=5123;_ol_webgl_.UNSIGNED_INT=5125;_ol_webgl_.FLOAT=5126;_ol_webgl_.RGBA=6408;_ol_webgl_.FRAGMENT_SHADER=35632;_ol_webgl_.VERTEX_SHADER=35633;_ol_webgl_.LINK_STATUS=35714;_ol_webgl_.LINEAR=9729;_ol_webgl_.TEXTURE_MAG_FILTER=10240;_ol_webgl_.TEXTURE_MIN_FILTER=10241;_ol_webgl_.TEXTURE_WRAP_S=10242;_ol_webgl_.TEXTURE_WRAP_T=10243;_ol_webgl_.TEXTURE_2D=3553;_ol_webgl_.TEXTURE0=33984;_ol_webgl_.CLAMP_TO_EDGE=33071;_ol_webgl_.COMPILE_STATUS=35713;_ol_webgl_.FRAMEBUFFER=36160;_ol_webgl_.CONTEXT_IDS_=["experimental-webgl","webgl","webkit-3d","moz-webgl"];_ol_webgl_.getContext=function(e,t){var i,r,n=_ol_webgl_.CONTEXT_IDS_.length;for(r=0;r<n;++r){try{i=e.getContext(_ol_webgl_.CONTEXT_IDS_[r],t);if(i){return i}}catch(o){}}return null};var _ol_has_={};var ua=typeof navigator!=="undefined"?navigator.userAgent.toLowerCase():"";_ol_has_.FIREFOX=ua.indexOf("firefox")!==-1;_ol_has_.SAFARI=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")==-1;_ol_has_.WEBKIT=ua.indexOf("webkit")!==-1&&ua.indexOf("edge")==-1;_ol_has_.MAC=ua.indexOf("macintosh")!==-1;_ol_has_.DEVICE_PIXEL_RATIO=window.devicePixelRatio||1;_ol_has_.CANVAS_LINE_DASH=false;_ol_has_.CANVAS=_ol_.ENABLE_CANVAS&&function(){if(!("HTMLCanvasElement"in window)){return false}try{var e=document.createElement("CANVAS").getContext("2d");if(!e){return false}else{if(e.setLineDash!==undefined){_ol_has_.CANVAS_LINE_DASH=true}return true}}catch(t){return false}}();_ol_has_.DEVICE_ORIENTATION="DeviceOrientationEvent"in window;_ol_has_.GEOLOCATION="geolocation"in navigator;_ol_has_.TOUCH=_ol_.ASSUME_TOUCH||"ontouchstart"in window;_ol_has_.POINTER="PointerEvent"in window;_ol_has_.MSPOINTER=!!navigator.msPointerEnabled;(function(){if(_ol_.ENABLE_WEBGL){var e=false;var t;var i=[];if("WebGLRenderingContext"in window){try{var r=document.createElement("CANVAS");var n=_ol_webgl_.getContext(r,{failIfMajorPerformanceCaveat:true});if(n){e=true;t=n.getParameter(n.MAX_TEXTURE_SIZE);i=n.getSupportedExtensions()}}catch(o){}}_ol_has_.WEBGL=e;_ol_.WEBGL_EXTENSIONS=i;_ol_.WEBGL_MAX_TEXTURE_SIZE=t}})();var _ol_Geolocation_=function(e){_ol_Object_.call(this);var t=e||{};this.position_=null;this.transform_=_ol_proj_.identityTransform;this.sphere_=new _ol_Sphere_(_ol_proj_EPSG4326_.RADIUS);this.watchId_=undefined;_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_GeolocationProperty_.PROJECTION),this.handleProjectionChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_GeolocationProperty_.TRACKING),this.handleTrackingChanged_,this);if(t.projection!==undefined){this.setProjection(t.projection)}if(t.trackingOptions!==undefined){this.setTrackingOptions(t.trackingOptions)}this.setTracking(t.tracking!==undefined?t.tracking:false)};_ol_.inherits(_ol_Geolocation_,_ol_Object_);_ol_Geolocation_.prototype.disposeInternal=function(){this.setTracking(false);_ol_Object_.prototype.disposeInternal.call(this)};_ol_Geolocation_.prototype.handleProjectionChanged_=function(){var e=this.getProjection();if(e){this.transform_=_ol_proj_.getTransformFromProjections(_ol_proj_.get("EPSG:4326"),e);if(this.position_){this.set(_ol_GeolocationProperty_.POSITION,this.transform_(this.position_))}}};_ol_Geolocation_.prototype.handleTrackingChanged_=function(){if(_ol_has_.GEOLOCATION){var e=this.getTracking();if(e&&this.watchId_===undefined){this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions())}else if(!e&&this.watchId_!==undefined){navigator.geolocation.clearWatch(this.watchId_);this.watchId_=undefined}}};_ol_Geolocation_.prototype.positionChange_=function(e){var t=e.coords;this.set(_ol_GeolocationProperty_.ACCURACY,t.accuracy);this.set(_ol_GeolocationProperty_.ALTITUDE,t.altitude===null?undefined:t.altitude);this.set(_ol_GeolocationProperty_.ALTITUDE_ACCURACY,t.altitudeAccuracy===null?undefined:t.altitudeAccuracy);this.set(_ol_GeolocationProperty_.HEADING,t.heading===null?undefined:_ol_math_.toRadians(t.heading));if(!this.position_){this.position_=[t.longitude,t.latitude]}else{this.position_[0]=t.longitude;this.position_[1]=t.latitude}var i=this.transform_(this.position_);this.set(_ol_GeolocationProperty_.POSITION,i);this.set(_ol_GeolocationProperty_.SPEED,t.speed===null?undefined:t.speed);var r=_ol_geom_Polygon_.circular(this.sphere_,this.position_,t.accuracy);r.applyTransform(this.transform_);this.set(_ol_GeolocationProperty_.ACCURACY_GEOMETRY,r);this.changed()};_ol_Geolocation_.prototype.positionError_=function(e){e.type=_ol_events_EventType_.ERROR;this.setTracking(false);this.dispatchEvent(e)};_ol_Geolocation_.prototype.getAccuracy=function(){return this.get(_ol_GeolocationProperty_.ACCURACY)};_ol_Geolocation_.prototype.getAccuracyGeometry=function(){return this.get(_ol_GeolocationProperty_.ACCURACY_GEOMETRY)||null};_ol_Geolocation_.prototype.getAltitude=function(){return this.get(_ol_GeolocationProperty_.ALTITUDE)};_ol_Geolocation_.prototype.getAltitudeAccuracy=function(){return this.get(_ol_GeolocationProperty_.ALTITUDE_ACCURACY)};_ol_Geolocation_.prototype.getHeading=function(){return this.get(_ol_GeolocationProperty_.HEADING)};_ol_Geolocation_.prototype.getPosition=function(){return this.get(_ol_GeolocationProperty_.POSITION)};_ol_Geolocation_.prototype.getProjection=function(){return this.get(_ol_GeolocationProperty_.PROJECTION)};_ol_Geolocation_.prototype.getSpeed=function(){return this.get(_ol_GeolocationProperty_.SPEED)};_ol_Geolocation_.prototype.getTracking=function(){return this.get(_ol_GeolocationProperty_.TRACKING)};_ol_Geolocation_.prototype.getTrackingOptions=function(){return this.get(_ol_GeolocationProperty_.TRACKING_OPTIONS)};_ol_Geolocation_.prototype.setProjection=function(e){this.set(_ol_GeolocationProperty_.PROJECTION,_ol_proj_.get(e))};_ol_Geolocation_.prototype.setTracking=function(e){this.set(_ol_GeolocationProperty_.TRACKING,e)};_ol_Geolocation_.prototype.setTrackingOptions=function(e){this.set(_ol_GeolocationProperty_.TRACKING_OPTIONS,e)};var _ol_CollectionEventType_={ADD:"add",REMOVE:"remove"};var _ol_Collection_=function(e,t){_ol_Object_.call(this);var i=t||{};this.unique_=!!i.unique;this.array_=e?e:[];if(this.unique_){for(var r=0,n=this.array_.length;r<n;++r){this.assertUnique_(this.array_[r],r)}}this.updateLength_()};_ol_.inherits(_ol_Collection_,_ol_Object_);_ol_Collection_.prototype.clear=function(){while(this.getLength()>0){this.pop()}};_ol_Collection_.prototype.extend=function(e){var t,i;for(t=0,i=e.length;t<i;++t){this.push(e[t])}return this};_ol_Collection_.prototype.forEach=function(e,t){var i=t?e.bind(t):e;var r=this.array_;for(var n=0,o=r.length;n<o;++n){i(r[n],n,r)}};_ol_Collection_.prototype.getArray=function(){return this.array_};_ol_Collection_.prototype.item=function(e){return this.array_[e]};_ol_Collection_.prototype.getLength=function(){return this.get(_ol_Collection_.Property_.LENGTH)};_ol_Collection_.prototype.insertAt=function(e,t){if(this.unique_){this.assertUnique_(t)}this.array_.splice(e,0,t);this.updateLength_();this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.ADD,t))};_ol_Collection_.prototype.pop=function(){return this.removeAt(this.getLength()-1)};_ol_Collection_.prototype.push=function(e){if(this.unique_){this.assertUnique_(e)}var t=this.getLength();this.insertAt(t,e);return this.getLength()};_ol_Collection_.prototype.remove=function(e){var t=this.array_;var i,r;for(i=0,r=t.length;i<r;++i){if(t[i]===e){return this.removeAt(i)}}return undefined};_ol_Collection_.prototype.removeAt=function(e){var t=this.array_[e];this.array_.splice(e,1);this.updateLength_();this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.REMOVE,t));return t};_ol_Collection_.prototype.setAt=function(e,t){var i=this.getLength();if(e<i){if(this.unique_){this.assertUnique_(t,e)}var r=this.array_[e];this.array_[e]=t;this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.REMOVE,r));this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.ADD,t))}else{var n;for(n=i;n<e;++n){this.insertAt(n,undefined)}this.insertAt(e,t)}};_ol_Collection_.prototype.updateLength_=function(){this.set(_ol_Collection_.Property_.LENGTH,this.array_.length)};_ol_Collection_.prototype.assertUnique_=function(e,t){for(var i=0,r=this.array_.length;i<r;++i){if(this.array_[i]===e&&i!==t){throw new _ol_AssertionError_(58)}}};_ol_Collection_.Property_={LENGTH:"length"};_ol_Collection_.Event=function(e,t){_ol_events_Event_.call(this,e);this.element=t};_ol_.inherits(_ol_Collection_.Event,_ol_events_Event_);var _ol_MapEvent_=function(e,t,i){_ol_events_Event_.call(this,e);this.map=t;this.frameState=i!==undefined?i:null};_ol_.inherits(_ol_MapEvent_,_ol_events_Event_);var _ol_MapBrowserEvent_=function(e,t,i,r,n){_ol_MapEvent_.call(this,e,t,n);this.originalEvent=i;this.pixel=t.getEventPixel(i);this.coordinate=t.getCoordinateFromPixel(this.pixel);this.dragging=r!==undefined?r:false};_ol_.inherits(_ol_MapBrowserEvent_,_ol_MapEvent_);_ol_MapBrowserEvent_.prototype.preventDefault=function(){_ol_MapEvent_.prototype.preventDefault.call(this);this.originalEvent.preventDefault()};_ol_MapBrowserEvent_.prototype.stopPropagation=function(){_ol_MapEvent_.prototype.stopPropagation.call(this);this.originalEvent.stopPropagation()};var _ol_MapBrowserEventType_={SINGLECLICK:"singleclick",CLICK:_ol_events_EventType_.CLICK,DBLCLICK:_ol_events_EventType_.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var _ol_MapBrowserPointerEvent_=function(e,t,i,r,n){_ol_MapBrowserEvent_.call(this,e,t,i.originalEvent,r,n);this.pointerEvent=i};_ol_.inherits(_ol_MapBrowserPointerEvent_,_ol_MapBrowserEvent_);var _ol_pointer_EventType_={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var _ol_pointer_EventSource_=function(e,t){this.dispatcher=e;this.mapping_=t};_ol_pointer_EventSource_.prototype.getEvents=function(){return Object.keys(this.mapping_)};_ol_pointer_EventSource_.prototype.getHandlerForEvent=function(e){return this.mapping_[e]};var _ol_pointer_MouseSource_=function(e){var t={mousedown:this.mousedown,mousemove:this.mousemove,mouseup:this.mouseup,mouseover:this.mouseover,mouseout:this.mouseout};_ol_pointer_EventSource_.call(this,e,t);this.pointerMap=e.pointerMap;this.lastTouches=[]};_ol_.inherits(_ol_pointer_MouseSource_,_ol_pointer_EventSource_);_ol_pointer_MouseSource_.POINTER_ID=1;_ol_pointer_MouseSource_.POINTER_TYPE="mouse";_ol_pointer_MouseSource_.DEDUP_DIST=25;_ol_pointer_MouseSource_.prototype.isEventSimulatedFromTouch_=function(e){var t=this.lastTouches;var i=e.clientX,r=e.clientY;for(var n=0,o=t.length,_;n<o&&(_=t[n]);n++){var a=Math.abs(i-_[0]),s=Math.abs(r-_[1]);if(a<=_ol_pointer_MouseSource_.DEDUP_DIST&&s<=_ol_pointer_MouseSource_.DEDUP_DIST){return true}}return false};_ol_pointer_MouseSource_.prepareEvent=function(e,t){var i=t.cloneEvent(e,e);var r=i.preventDefault;i.preventDefault=function(){e.preventDefault();r()};i.pointerId=_ol_pointer_MouseSource_.POINTER_ID;i.isPrimary=true;i.pointerType=_ol_pointer_MouseSource_.POINTER_TYPE;return i};_ol_pointer_MouseSource_.prototype.mousedown=function(e){if(!this.isEventSimulatedFromTouch_(e)){if(_ol_pointer_MouseSource_.POINTER_ID.toString()in this.pointerMap){this.cancel(e)}var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()]=e;this.dispatcher.down(t,e)}};_ol_pointer_MouseSource_.prototype.mousemove=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.move(t,e)}};_ol_pointer_MouseSource_.prototype.mouseup=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()];if(t&&t.button===e.button){var i=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.up(i,e);this.cleanupMouse()}}};_ol_pointer_MouseSource_.prototype.mouseover=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.enterOver(t,e)}};_ol_pointer_MouseSource_.prototype.mouseout=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.leaveOut(t,e)}};_ol_pointer_MouseSource_.prototype.cancel=function(e){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.cancel(t,e);this.cleanupMouse()};_ol_pointer_MouseSource_.prototype.cleanupMouse=function(){delete this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()]};var _ol_pointer_MsSource_=function(e){var t={MSPointerDown:this.msPointerDown,MSPointerMove:this.msPointerMove,MSPointerUp:this.msPointerUp,MSPointerOut:this.msPointerOut,MSPointerOver:this.msPointerOver,MSPointerCancel:this.msPointerCancel,MSGotPointerCapture:this.msGotPointerCapture,MSLostPointerCapture:this.msLostPointerCapture};_ol_pointer_EventSource_.call(this,e,t);this.pointerMap=e.pointerMap;this.POINTER_TYPES=["","unavailable","touch","pen","mouse"]};_ol_.inherits(_ol_pointer_MsSource_,_ol_pointer_EventSource_);_ol_pointer_MsSource_.prototype.prepareEvent_=function(e){var t=e;if(typeof e.pointerType==="number"){t=this.dispatcher.cloneEvent(e,e);t.pointerType=this.POINTER_TYPES[e.pointerType]}return t};_ol_pointer_MsSource_.prototype.cleanup=function(e){delete this.pointerMap[e.toString()]};_ol_pointer_MsSource_.prototype.msPointerDown=function(e){this.pointerMap[e.pointerId.toString()]=e;var t=this.prepareEvent_(e);this.dispatcher.down(t,e)};_ol_pointer_MsSource_.prototype.msPointerMove=function(e){var t=this.prepareEvent_(e);this.dispatcher.move(t,e)};_ol_pointer_MsSource_.prototype.msPointerUp=function(e){var t=this.prepareEvent_(e);this.dispatcher.up(t,e);this.cleanup(e.pointerId)};_ol_pointer_MsSource_.prototype.msPointerOut=function(e){var t=this.prepareEvent_(e);this.dispatcher.leaveOut(t,e)};_ol_pointer_MsSource_.prototype.msPointerOver=function(e){var t=this.prepareEvent_(e);this.dispatcher.enterOver(t,e)};_ol_pointer_MsSource_.prototype.msPointerCancel=function(e){var t=this.prepareEvent_(e);this.dispatcher.cancel(t,e);this.cleanup(e.pointerId)};_ol_pointer_MsSource_.prototype.msLostPointerCapture=function(e){var t=this.dispatcher.makeEvent("lostpointercapture",e,e);this.dispatcher.dispatchEvent(t)};_ol_pointer_MsSource_.prototype.msGotPointerCapture=function(e){var t=this.dispatcher.makeEvent("gotpointercapture",e,e);this.dispatcher.dispatchEvent(t)};var _ol_pointer_NativeSource_=function(e){var t={pointerdown:this.pointerDown,pointermove:this.pointerMove,pointerup:this.pointerUp,pointerout:this.pointerOut,pointerover:this.pointerOver,pointercancel:this.pointerCancel,gotpointercapture:this.gotPointerCapture,lostpointercapture:this.lostPointerCapture};_ol_pointer_EventSource_.call(this,e,t)};_ol_.inherits(_ol_pointer_NativeSource_,_ol_pointer_EventSource_);_ol_pointer_NativeSource_.prototype.pointerDown=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerMove=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerUp=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerOut=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerOver=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerCancel=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.lostPointerCapture=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.gotPointerCapture=function(e){this.dispatcher.fireNativeEvent(e)};var _ol_pointer_PointerEvent_=function(e,t,i){_ol_events_Event_.call(this,e);this.originalEvent=t;var r=i?i:{};this.buttons=this.getButtons_(r);this.pressure=this.getPressure_(r,this.buttons);this.bubbles="bubbles"in r?r["bubbles"]:false;this.cancelable="cancelable"in r?r["cancelable"]:false;this.view="view"in r?r["view"]:null;this.detail="detail"in r?r["detail"]:null;this.screenX="screenX"in r?r["screenX"]:0;this.screenY="screenY"in r?r["screenY"]:0;this.clientX="clientX"in r?r["clientX"]:0;this.clientY="clientY"in r?r["clientY"]:0;this.ctrlKey="ctrlKey"in r?r["ctrlKey"]:false;this.altKey="altKey"in r?r["altKey"]:false;this.shiftKey="shiftKey"in r?r["shiftKey"]:false;this.metaKey="metaKey"in r?r["metaKey"]:false;this.button="button"in r?r["button"]:0;this.relatedTarget="relatedTarget"in r?r["relatedTarget"]:null;this.pointerId="pointerId"in r?r["pointerId"]:0;this.width="width"in r?r["width"]:0;this.height="height"in r?r["height"]:0;this.tiltX="tiltX"in r?r["tiltX"]:0;this.tiltY="tiltY"in r?r["tiltY"]:0;this.pointerType="pointerType"in r?r["pointerType"]:"";this.hwTimestamp="hwTimestamp"in r?r["hwTimestamp"]:0;this.isPrimary="isPrimary"in r?r["isPrimary"]:false;if(t.preventDefault){this.preventDefault=function(){t.preventDefault()}}};_ol_.inherits(_ol_pointer_PointerEvent_,_ol_events_Event_);_ol_pointer_PointerEvent_.prototype.getButtons_=function(e){var t;if(e.buttons||_ol_pointer_PointerEvent_.HAS_BUTTONS){t=e.buttons}else{switch(e.which){case 1:t=1;break;case 2:t=4;break;case 3:t=2;break;default:t=0}}return t};_ol_pointer_PointerEvent_.prototype.getPressure_=function(e,t){var i=0;if(e.pressure){i=e.pressure}else{i=t?.5:0}return i};_ol_pointer_PointerEvent_.HAS_BUTTONS=false;(function(){try{var e=new MouseEvent("click",{buttons:1});_ol_pointer_PointerEvent_.HAS_BUTTONS=e.buttons===1}catch(t){}})();var _ol_pointer_TouchSource_=function(e,t){var i={touchstart:this.touchstart,touchmove:this.touchmove,touchend:this.touchend,touchcancel:this.touchcancel};_ol_pointer_EventSource_.call(this,e,i);this.pointerMap=e.pointerMap;this.mouseSource=t;this.firstTouchId_=undefined;this.clickCount_=0;this.resetId_=undefined};_ol_.inherits(_ol_pointer_TouchSource_,_ol_pointer_EventSource_);_ol_pointer_TouchSource_.DEDUP_TIMEOUT=2500;_ol_pointer_TouchSource_.CLICK_COUNT_TIMEOUT=200;_ol_pointer_TouchSource_.POINTER_TYPE="touch";_ol_pointer_TouchSource_.prototype.isPrimaryTouch_=function(e){return this.firstTouchId_===e.identifier};_ol_pointer_TouchSource_.prototype.setPrimaryTouch_=function(e){var t=Object.keys(this.pointerMap).length;if(t===0||t===1&&_ol_pointer_MouseSource_.POINTER_ID.toString()in this.pointerMap){this.firstTouchId_=e.identifier;this.cancelResetClickCount_()}};_ol_pointer_TouchSource_.prototype.removePrimaryPointer_=function(e){if(e.isPrimary){this.firstTouchId_=undefined;this.resetClickCount_()}};_ol_pointer_TouchSource_.prototype.resetClickCount_=function(){this.resetId_=setTimeout(this.resetClickCountHandler_.bind(this),_ol_pointer_TouchSource_.CLICK_COUNT_TIMEOUT)};_ol_pointer_TouchSource_.prototype.resetClickCountHandler_=function(){this.clickCount_=0;this.resetId_=undefined};_ol_pointer_TouchSource_.prototype.cancelResetClickCount_=function(){if(this.resetId_!==undefined){clearTimeout(this.resetId_)}};_ol_pointer_TouchSource_.prototype.touchToPointer_=function(e,t){var i=this.dispatcher.cloneEvent(e,t);i.pointerId=t.identifier+2;i.bubbles=true;i.cancelable=true;i.detail=this.clickCount_;i.button=0;i.buttons=1;i.width=t.webkitRadiusX||t.radiusX||0;i.height=t.webkitRadiusY||t.radiusY||0;i.pressure=t.webkitForce||t.force||.5;i.isPrimary=this.isPrimaryTouch_(t);i.pointerType=_ol_pointer_TouchSource_.POINTER_TYPE;i.clientX=t.clientX;i.clientY=t.clientY;i.screenX=t.screenX;i.screenY=t.screenY;return i};_ol_pointer_TouchSource_.prototype.processTouches_=function(e,t){var i=Array.prototype.slice.call(e.changedTouches);var r=i.length;function n(){e.preventDefault()}var o,_;for(o=0;o<r;++o){_=this.touchToPointer_(e,i[o]);_.preventDefault=n;t.call(this,e,_)}};_ol_pointer_TouchSource_.prototype.findTouch_=function(e,t){var i=e.length;var r;for(var n=0;n<i;n++){r=e[n];if(r.identifier===t){return true}}return false};_ol_pointer_TouchSource_.prototype.vacuumTouches_=function(e){var t=e.touches;var i=Object.keys(this.pointerMap);var r=i.length;if(r>=t.length){var n=[];var o,_,a;for(o=0;o<r;++o){_=i[o];a=this.pointerMap[_];if(_!=_ol_pointer_MouseSource_.POINTER_ID&&!this.findTouch_(t,_-2)){n.push(a.out)}}for(o=0;o<n.length;++o){this.cancelOut_(e,n[o])}}};_ol_pointer_TouchSource_.prototype.touchstart=function(e){this.vacuumTouches_(e);this.setPrimaryTouch_(e.changedTouches[0]);this.dedupSynthMouse_(e);this.clickCount_++;this.processTouches_(e,this.overDown_)};_ol_pointer_TouchSource_.prototype.overDown_=function(e,t){this.pointerMap[t.pointerId]={target:t.target,out:t,outTarget:t.target};this.dispatcher.over(t,e);this.dispatcher.enter(t,e);this.dispatcher.down(t,e)};_ol_pointer_TouchSource_.prototype.touchmove=function(e){e.preventDefault();this.processTouches_(e,this.moveOverOut_)};_ol_pointer_TouchSource_.prototype.moveOverOut_=function(e,t){var i=t;var r=this.pointerMap[i.pointerId];if(!r){return}var n=r.out;var o=r.outTarget;this.dispatcher.move(i,e);if(n&&o!==i.target){n.relatedTarget=i.target;i.relatedTarget=o;n.target=o;if(i.target){this.dispatcher.leaveOut(n,e);this.dispatcher.enterOver(i,e)}else{i.target=o;i.relatedTarget=null;this.cancelOut_(e,i)}}r.out=i;r.outTarget=i.target};_ol_pointer_TouchSource_.prototype.touchend=function(e){this.dedupSynthMouse_(e);this.processTouches_(e,this.upOut_)};_ol_pointer_TouchSource_.prototype.upOut_=function(e,t){this.dispatcher.up(t,e);this.dispatcher.out(t,e);this.dispatcher.leave(t,e);this.cleanUpPointer_(t)};_ol_pointer_TouchSource_.prototype.touchcancel=function(e){this.processTouches_(e,this.cancelOut_)};_ol_pointer_TouchSource_.prototype.cancelOut_=function(e,t){this.dispatcher.cancel(t,e);this.dispatcher.out(t,e);this.dispatcher.leave(t,e);this.cleanUpPointer_(t)};_ol_pointer_TouchSource_.prototype.cleanUpPointer_=function(e){delete this.pointerMap[e.pointerId];this.removePrimaryPointer_(e)};_ol_pointer_TouchSource_.prototype.dedupSynthMouse_=function(e){var t=this.mouseSource.lastTouches;var i=e.changedTouches[0];if(this.isPrimaryTouch_(i)){var r=[i.clientX,i.clientY];t.push(r);setTimeout((function(){_ol_array_.remove(t,r)}),_ol_pointer_TouchSource_.DEDUP_TIMEOUT)}};var _ol_pointer_PointerEventHandler_=function(e){_ol_events_EventTarget_.call(this);this.element_=e;this.pointerMap={};this.eventMap_={};this.eventSourceList_=[];this.registerSources()};_ol_.inherits(_ol_pointer_PointerEventHandler_,_ol_events_EventTarget_);_ol_pointer_PointerEventHandler_.prototype.registerSources=function(){if(_ol_has_.POINTER){this.registerSource("native",new _ol_pointer_NativeSource_(this))}else if(_ol_has_.MSPOINTER){this.registerSource("ms",new _ol_pointer_MsSource_(this))}else{var e=new _ol_pointer_MouseSource_(this);this.registerSource("mouse",e);if(_ol_has_.TOUCH){this.registerSource("touch",new _ol_pointer_TouchSource_(this,e))}}this.register_()};_ol_pointer_PointerEventHandler_.prototype.registerSource=function(e,t){var i=t;var r=i.getEvents();if(r){r.forEach((function(e){var t=i.getHandlerForEvent(e);if(t){this.eventMap_[e]=t.bind(i)}}),this);this.eventSourceList_.push(i)}};_ol_pointer_PointerEventHandler_.prototype.register_=function(){var e=this.eventSourceList_.length;var t;for(var i=0;i<e;i++){t=this.eventSourceList_[i];this.addEvents_(t.getEvents())}};_ol_pointer_PointerEventHandler_.prototype.unregister_=function(){var e=this.eventSourceList_.length;var t;for(var i=0;i<e;i++){t=this.eventSourceList_[i];this.removeEvents_(t.getEvents())}};_ol_pointer_PointerEventHandler_.prototype.eventHandler_=function(e){var t=e.type;var i=this.eventMap_[t];if(i){i(e)}};_ol_pointer_PointerEventHandler_.prototype.addEvents_=function(e){e.forEach((function(e){_ol_events_.listen(this.element_,e,this.eventHandler_,this)}),this)};_ol_pointer_PointerEventHandler_.prototype.removeEvents_=function(e){e.forEach((function(e){_ol_events_.unlisten(this.element_,e,this.eventHandler_,this)}),this)};_ol_pointer_PointerEventHandler_.prototype.cloneEvent=function(e,t){var i={},r;for(var n=0,o=_ol_pointer_PointerEventHandler_.CLONE_PROPS.length;n<o;n++){r=_ol_pointer_PointerEventHandler_.CLONE_PROPS[n][0];i[r]=e[r]||t[r]||_ol_pointer_PointerEventHandler_.CLONE_PROPS[n][1]}return i};_ol_pointer_PointerEventHandler_.prototype.down=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERDOWN,e,t)};_ol_pointer_PointerEventHandler_.prototype.move=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERMOVE,e,t)};_ol_pointer_PointerEventHandler_.prototype.up=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERUP,e,t)};_ol_pointer_PointerEventHandler_.prototype.enter=function(e,t){e.bubbles=false;this.fireEvent(_ol_pointer_EventType_.POINTERENTER,e,t)};_ol_pointer_PointerEventHandler_.prototype.leave=function(e,t){e.bubbles=false;this.fireEvent(_ol_pointer_EventType_.POINTERLEAVE,e,t)};_ol_pointer_PointerEventHandler_.prototype.over=function(e,t){e.bubbles=true;this.fireEvent(_ol_pointer_EventType_.POINTEROVER,e,t)};_ol_pointer_PointerEventHandler_.prototype.out=function(e,t){e.bubbles=true;this.fireEvent(_ol_pointer_EventType_.POINTEROUT,e,t)};_ol_pointer_PointerEventHandler_.prototype.cancel=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERCANCEL,e,t)};_ol_pointer_PointerEventHandler_.prototype.leaveOut=function(e,t){this.out(e,t);if(!this.contains_(e.target,e.relatedTarget)){this.leave(e,t)}};_ol_pointer_PointerEventHandler_.prototype.enterOver=function(e,t){this.over(e,t);if(!this.contains_(e.target,e.relatedTarget)){this.enter(e,t)}};_ol_pointer_PointerEventHandler_.prototype.contains_=function(e,t){if(!e||!t){return false}return e.contains(t)};_ol_pointer_PointerEventHandler_.prototype.makeEvent=function(e,t,i){return new _ol_pointer_PointerEvent_(e,i,t)};_ol_pointer_PointerEventHandler_.prototype.fireEvent=function(e,t,i){var r=this.makeEvent(e,t,i);this.dispatchEvent(r)};_ol_pointer_PointerEventHandler_.prototype.fireNativeEvent=function(e){var t=this.makeEvent(e.type,e,e);this.dispatchEvent(t)};_ol_pointer_PointerEventHandler_.prototype.wrapMouseEvent=function(e,t){var i=this.makeEvent(e,_ol_pointer_MouseSource_.prepareEvent(t,this),t);return i};_ol_pointer_PointerEventHandler_.prototype.disposeInternal=function(){this.unregister_();_ol_events_EventTarget_.prototype.disposeInternal.call(this)};_ol_pointer_PointerEventHandler_.CLONE_PROPS=[["bubbles",false],["cancelable",false],["view",null],["detail",null],["screenX",0],["screenY",0],["clientX",0],["clientY",0],["ctrlKey",false],["altKey",false],["shiftKey",false],["metaKey",false],["button",0],["relatedTarget",null],["buttons",0],["pointerId",0],["width",0],["height",0],["pressure",0],["tiltX",0],["tiltY",0],["pointerType",""],["hwTimestamp",0],["isPrimary",false],["type",""],["target",null],["currentTarget",null],["which",0]];var _ol_MapBrowserEventHandler_=function(e,t){_ol_events_EventTarget_.call(this);this.map_=e;this.clickTimeoutId_=0;this.dragging_=false;this.dragListenerKeys_=[];this.moveTolerance_=t?t*_ol_has_.DEVICE_PIXEL_RATIO:_ol_has_.DEVICE_PIXEL_RATIO;this.down_=null;var i=this.map_.getViewport();this.activePointers_=0;this.trackedTouches_={};this.pointerEventHandler_=new _ol_pointer_PointerEventHandler_(i);this.documentPointerEventHandler_=null;this.pointerdownListenerKey_=_ol_events_.listen(this.pointerEventHandler_,_ol_pointer_EventType_.POINTERDOWN,this.handlePointerDown_,this);this.relayedListenerKey_=_ol_events_.listen(this.pointerEventHandler_,_ol_pointer_EventType_.POINTERMOVE,this.relayEvent_,this)};_ol_.inherits(_ol_MapBrowserEventHandler_,_ol_events_EventTarget_);_ol_MapBrowserEventHandler_.prototype.emulateClick_=function(e){var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.CLICK,this.map_,e);this.dispatchEvent(t);if(this.clickTimeoutId_!==0){clearTimeout(this.clickTimeoutId_);this.clickTimeoutId_=0;t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.DBLCLICK,this.map_,e);this.dispatchEvent(t)}else{this.clickTimeoutId_=setTimeout(function(){this.clickTimeoutId_=0;var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.SINGLECLICK,this.map_,e);this.dispatchEvent(t)}.bind(this),250)}};_ol_MapBrowserEventHandler_.prototype.updateActivePointers_=function(e){var t=e;if(t.type==_ol_MapBrowserEventType_.POINTERUP||t.type==_ol_MapBrowserEventType_.POINTERCANCEL){delete this.trackedTouches_[t.pointerId]}else if(t.type==_ol_MapBrowserEventType_.POINTERDOWN){this.trackedTouches_[t.pointerId]=true}this.activePointers_=Object.keys(this.trackedTouches_).length};_ol_MapBrowserEventHandler_.prototype.handlePointerUp_=function(e){this.updateActivePointers_(e);var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERUP,this.map_,e);this.dispatchEvent(t);if(!t.propagationStopped&&!this.dragging_&&this.isMouseActionButton_(e)){this.emulateClick_(this.down_)}if(this.activePointers_===0){this.dragListenerKeys_.forEach(_ol_events_.unlistenByKey);this.dragListenerKeys_.length=0;this.dragging_=false;this.down_=null;this.documentPointerEventHandler_.dispose();this.documentPointerEventHandler_=null}};_ol_MapBrowserEventHandler_.prototype.isMouseActionButton_=function(e){return e.button===0};_ol_MapBrowserEventHandler_.prototype.handlePointerDown_=function(e){this.updateActivePointers_(e);var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERDOWN,this.map_,e);this.dispatchEvent(t);this.down_=e;if(this.dragListenerKeys_.length===0){this.documentPointerEventHandler_=new _ol_pointer_PointerEventHandler_(document);this.dragListenerKeys_.push(_ol_events_.listen(this.documentPointerEventHandler_,_ol_MapBrowserEventType_.POINTERMOVE,this.handlePointerMove_,this),_ol_events_.listen(this.documentPointerEventHandler_,_ol_MapBrowserEventType_.POINTERUP,this.handlePointerUp_,this),_ol_events_.listen(this.pointerEventHandler_,_ol_MapBrowserEventType_.POINTERCANCEL,this.handlePointerUp_,this))}};_ol_MapBrowserEventHandler_.prototype.handlePointerMove_=function(e){if(this.isMoving_(e)){this.dragging_=true;var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERDRAG,this.map_,e,this.dragging_);this.dispatchEvent(t)}e.preventDefault()};_ol_MapBrowserEventHandler_.prototype.relayEvent_=function(e){var t=!!(this.down_&&this.isMoving_(e));this.dispatchEvent(new _ol_MapBrowserPointerEvent_(e.type,this.map_,e,t))};_ol_MapBrowserEventHandler_.prototype.isMoving_=function(e){return Math.abs(e.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(e.clientY-this.down_.clientY)>this.moveTolerance_};_ol_MapBrowserEventHandler_.prototype.disposeInternal=function(){if(this.relayedListenerKey_){_ol_events_.unlistenByKey(this.relayedListenerKey_);this.relayedListenerKey_=null}if(this.pointerdownListenerKey_){_ol_events_.unlistenByKey(this.pointerdownListenerKey_);this.pointerdownListenerKey_=null}this.dragListenerKeys_.forEach(_ol_events_.unlistenByKey);this.dragListenerKeys_.length=0;if(this.documentPointerEventHandler_){this.documentPointerEventHandler_.dispose();this.documentPointerEventHandler_=null}if(this.pointerEventHandler_){this.pointerEventHandler_.dispose();this.pointerEventHandler_=null}_ol_events_EventTarget_.prototype.disposeInternal.call(this)};var _ol_MapEventType_={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend"};var _ol_MapProperty_={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};var _ol_TileState_={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4,ABORT:5};var _ol_structs_PriorityQueue_=function(e,t){this.priorityFunction_=e;this.keyFunction_=t;this.elements_=[];this.priorities_=[];this.queuedElements_={}};_ol_structs_PriorityQueue_.DROP=Infinity;_ol_structs_PriorityQueue_.prototype.clear=function(){this.elements_.length=0;this.priorities_.length=0;_ol_obj_.clear(this.queuedElements_)};_ol_structs_PriorityQueue_.prototype.dequeue=function(){var e=this.elements_;var t=this.priorities_;var i=e[0];if(e.length==1){e.length=0;t.length=0}else{e[0]=e.pop();t[0]=t.pop();this.siftUp_(0)}var r=this.keyFunction_(i);delete this.queuedElements_[r];return i};_ol_structs_PriorityQueue_.prototype.enqueue=function(e){_ol_asserts_.assert(!(this.keyFunction_(e)in this.queuedElements_),31);var t=this.priorityFunction_(e);if(t!=_ol_structs_PriorityQueue_.DROP){this.elements_.push(e);this.priorities_.push(t);this.queuedElements_[this.keyFunction_(e)]=true;this.siftDown_(0,this.elements_.length-1);return true}return false};_ol_structs_PriorityQueue_.prototype.getCount=function(){return this.elements_.length};_ol_structs_PriorityQueue_.prototype.getLeftChildIndex_=function(e){return e*2+1};_ol_structs_PriorityQueue_.prototype.getRightChildIndex_=function(e){return e*2+2};_ol_structs_PriorityQueue_.prototype.getParentIndex_=function(e){return e-1>>1};_ol_structs_PriorityQueue_.prototype.heapify_=function(){var e;for(e=(this.elements_.length>>1)-1;e>=0;e--){this.siftUp_(e)}};_ol_structs_PriorityQueue_.prototype.isEmpty=function(){return this.elements_.length===0};_ol_structs_PriorityQueue_.prototype.isKeyQueued=function(e){return e in this.queuedElements_};_ol_structs_PriorityQueue_.prototype.isQueued=function(e){return this.isKeyQueued(this.keyFunction_(e))};_ol_structs_PriorityQueue_.prototype.siftUp_=function(e){var t=this.elements_;var i=this.priorities_;var r=t.length;var n=t[e];var o=i[e];var _=e;while(e<r>>1){var a=this.getLeftChildIndex_(e);var s=this.getRightChildIndex_(e);var l=s<r&&i[s]<i[a]?s:a;t[e]=t[l];i[e]=i[l];e=l}t[e]=n;i[e]=o;this.siftDown_(_,e)};_ol_structs_PriorityQueue_.prototype.siftDown_=function(e,t){var i=this.elements_;var r=this.priorities_;var n=i[t];var o=r[t];while(t>e){var _=this.getParentIndex_(t);if(r[_]>o){i[t]=i[_];r[t]=r[_];t=_}else{break}}i[t]=n;r[t]=o};_ol_structs_PriorityQueue_.prototype.reprioritize=function(){var e=this.priorityFunction_;var t=this.elements_;var i=this.priorities_;var r=0;var n=t.length;var o,_,a;for(_=0;_<n;++_){o=t[_];a=e(o);if(a==_ol_structs_PriorityQueue_.DROP){delete this.queuedElements_[this.keyFunction_(o)]}else{i[r]=a;t[r++]=o}}t.length=r;i.length=r;this.heapify_()};var _ol_TileQueue_=function(e,t){_ol_structs_PriorityQueue_.call(this,(function(t){return e.apply(null,t)}),(function(e){return e[0].getKey()}));this.tileChangeCallback_=t;this.tilesLoading_=0;this.tilesLoadingKeys_={}};_ol_.inherits(_ol_TileQueue_,_ol_structs_PriorityQueue_);_ol_TileQueue_.prototype.enqueue=function(e){var t=_ol_structs_PriorityQueue_.prototype.enqueue.call(this,e);if(t){var i=e[0];_ol_events_.listen(i,_ol_events_EventType_.CHANGE,this.handleTileChange,this)}return t};_ol_TileQueue_.prototype.getTilesLoading=function(){return this.tilesLoading_};_ol_TileQueue_.prototype.handleTileChange=function(e){var t=e.target;var i=t.getState();if(i===_ol_TileState_.LOADED||i===_ol_TileState_.ERROR||i===_ol_TileState_.EMPTY||i===_ol_TileState_.ABORT){_ol_events_.unlisten(t,_ol_events_EventType_.CHANGE,this.handleTileChange,this);var r=t.getKey();if(r in this.tilesLoadingKeys_){delete this.tilesLoadingKeys_[r];--this.tilesLoading_}this.tileChangeCallback_()}};_ol_TileQueue_.prototype.loadMoreTiles=function(e,t){var i=0;var r=false;var n,o,_;while(this.tilesLoading_<e&&i<t&&this.getCount()>0){o=this.dequeue()[0];_=o.getKey();n=o.getState();if(n===_ol_TileState_.ABORT){r=true}else if(n===_ol_TileState_.IDLE&&!(_ in this.tilesLoadingKeys_)){this.tilesLoadingKeys_[_]=true;++this.tilesLoading_;++i;o.load()}}if(i===0&&r){this.tileChangeCallback_()}};var _ol_CenterConstraint_={};_ol_CenterConstraint_.createExtent=function(e){return function(t){if(t){return[_ol_math_.clamp(t[0],e[0],e[2]),_ol_math_.clamp(t[1],e[1],e[3])]}else{return undefined}}};_ol_CenterConstraint_.none=function(e){return e};var _ol_ResolutionConstraint_={};_ol_ResolutionConstraint_.createSnapToResolutions=function(e){return function(t,i,r){if(t!==undefined){var n=_ol_array_.linearFindNearest(e,t,r);n=_ol_math_.clamp(n+i,0,e.length-1);var o=Math.floor(n);if(n!=o&&o<e.length-1){var _=e[o]/e[o+1];return e[o]/Math.pow(_,n-o)}else{return e[o]}}else{return undefined}}};_ol_ResolutionConstraint_.createSnapToPower=function(e,t,i){return function(r,n,o){if(r!==undefined){var _=-o/2+.5;var a=Math.floor(Math.log(t/r)/Math.log(e)+_);var s=Math.max(a+n,0);if(i!==undefined){s=Math.min(s,i)}return t/Math.pow(e,s)}else{return undefined}}};var _ol_RotationConstraint_={};_ol_RotationConstraint_.disable=function(e,t){if(e!==undefined){return 0}else{return undefined}};_ol_RotationConstraint_.none=function(e,t){if(e!==undefined){return e+t}else{return undefined}};_ol_RotationConstraint_.createSnapToN=function(e){var t=2*Math.PI/e;return function(e,i){if(e!==undefined){e=Math.floor((e+i)/t+.5)*t;return e}else{return undefined}}};_ol_RotationConstraint_.createSnapToZero=function(e){var t=e||_ol_math_.toRadians(5);return function(e,i){if(e!==undefined){if(Math.abs(e+i)<=t){return 0}else{return e+i}}else{return undefined}}};var _ol_ViewHint_={ANIMATING:0,INTERACTING:1};var _ol_ViewProperty_={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};var _ol_string_={};_ol_string_.padNumber=function(e,t,i){var r=i!==undefined?e.toFixed(i):""+e;var n=r.indexOf(".");n=n===-1?r.length:n;return n>t?r:new Array(1+t-n).join("0")+r};_ol_string_.compareVersions=function(e,t){var i=(""+e).split(".");var r=(""+t).split(".");for(var n=0;n<Math.max(i.length,r.length);n++){var o=parseInt(i[n]||"0",10);var _=parseInt(r[n]||"0",10);if(o>_){return 1}if(_>o){return-1}}return 0};var _ol_coordinate_={};_ol_coordinate_.add=function(e,t){e[0]+=t[0];e[1]+=t[1];return e};_ol_coordinate_.closestOnCircle=function(e,t){var i=t.getRadius();var r=t.getCenter();var n=r[0];var o=r[1];var _=e[0];var a=e[1];var s=_-n;var l=a-o;if(s===0&&l===0){s=1}var h=Math.sqrt(s*s+l*l);var u,c;u=n+i*s/h;c=o+i*l/h;return[u,c]};_ol_coordinate_.closestOnSegment=function(e,t){var i=e[0];var r=e[1];var n=t[0];var o=t[1];var _=n[0];var a=n[1];var s=o[0];var l=o[1];var h=s-_;var u=l-a;var c=h===0&&u===0?0:(h*(i-_)+u*(r-a))/(h*h+u*u||0);var f,d;if(c<=0){f=_;d=a}else if(c>=1){f=s;d=l}else{f=_+c*h;d=a+c*u}return[f,d]};_ol_coordinate_.createStringXY=function(e){return function(t){return _ol_coordinate_.toStringXY(t,e)}};_ol_coordinate_.degreesToStringHDMS=function(e,t,i){var r=_ol_math_.modulo(t+180,360)-180;var n=Math.abs(3600*r);var o=i||0;var _=Math.pow(10,o);var a=Math.floor(n/3600);var s=Math.floor((n-a*3600)/60);var l=n-a*3600-s*60;l=Math.ceil(l*_)/_;if(l>=60){l=0;s+=1}if(s>=60){s=0;a+=1}return a+"° "+_ol_string_.padNumber(s,2)+"′ "+_ol_string_.padNumber(l,2,o)+"″"+(r==0?"":" "+e.charAt(r<0?1:0))};_ol_coordinate_.format=function(e,t,i){if(e){return t.replace("{x}",e[0].toFixed(i)).replace("{y}",e[1].toFixed(i))}else{return""}};_ol_coordinate_.equals=function(e,t){var i=true;for(var r=e.length-1;r>=0;--r){if(e[r]!=t[r]){i=false;break}}return i};_ol_coordinate_.rotate=function(e,t){var i=Math.cos(t);var r=Math.sin(t);var n=e[0]*i-e[1]*r;var o=e[1]*i+e[0]*r;e[0]=n;e[1]=o;return e};_ol_coordinate_.scale=function(e,t){e[0]*=t;e[1]*=t;return e};_ol_coordinate_.sub=function(e,t){e[0]-=t[0];e[1]-=t[1];return e};_ol_coordinate_.squaredDistance=function(e,t){var i=e[0]-t[0];var r=e[1]-t[1];return i*i+r*r};_ol_coordinate_.distance=function(e,t){return Math.sqrt(_ol_coordinate_.squaredDistance(e,t))};_ol_coordinate_.squaredDistanceToSegment=function(e,t){return _ol_coordinate_.squaredDistance(e,_ol_coordinate_.closestOnSegment(e,t))};_ol_coordinate_.toStringHDMS=function(e,t){if(e){return _ol_coordinate_.degreesToStringHDMS("NS",e[1],t)+" "+_ol_coordinate_.degreesToStringHDMS("EW",e[0],t)}else{return""}};_ol_coordinate_.toStringXY=function(e,t){return _ol_coordinate_.format(e,"{x}, {y}",t)};var _ol_easing_={};_ol_easing_.easeIn=function(e){return Math.pow(e,3)};_ol_easing_.easeOut=function(e){return 1-_ol_easing_.easeIn(1-e)};_ol_easing_.inAndOut=function(e){return 3*e*e-2*e*e*e};_ol_easing_.linear=function(e){return e};_ol_easing_.upAndDown=function(e){if(e<.5){return _ol_easing_.inAndOut(2*e)}else{return 1-_ol_easing_.inAndOut(2*(e-.5))}};var _ol_View_=function(e){_ol_Object_.call(this);var t=_ol_obj_.assign({},e);this.hints_=[0,0];this.animations_=[];this.updateAnimations_=this.updateAnimations_.bind(this);this.projection_=_ol_proj_.createProjection(t.projection,"EPSG:3857");this.applyOptions_(t)};_ol_.inherits(_ol_View_,_ol_Object_);_ol_View_.prototype.applyOptions_=function(e){var t={};t[_ol_ViewProperty_.CENTER]=e.center!==undefined?e.center:null;var i=_ol_View_.createResolutionConstraint_(e);this.maxResolution_=i.maxResolution;this.minResolution_=i.minResolution;this.zoomFactor_=i.zoomFactor;this.resolutions_=e.resolutions;this.minZoom_=i.minZoom;var r=_ol_View_.createCenterConstraint_(e);var n=i.constraint;var o=_ol_View_.createRotationConstraint_(e);this.constraints_={center:r,resolution:n,rotation:o};if(e.resolution!==undefined){t[_ol_ViewProperty_.RESOLUTION]=e.resolution}else if(e.zoom!==undefined){t[_ol_ViewProperty_.RESOLUTION]=this.constrainResolution(this.maxResolution_,e.zoom-this.minZoom_);if(this.resolutions_){t[_ol_ViewProperty_.RESOLUTION]=_ol_math_.clamp(Number(this.getResolution()||t[_ol_ViewProperty_.RESOLUTION]),this.minResolution_,this.maxResolution_)}}t[_ol_ViewProperty_.ROTATION]=e.rotation!==undefined?e.rotation:0;this.setProperties(t);this.options_=e};_ol_View_.prototype.getUpdatedOptions_=function(e){var t=_ol_obj_.assign({},this.options_);if(t.resolution!==undefined){t.resolution=this.getResolution()}else{t.zoom=this.getZoom()}t.center=this.getCenter();t.rotation=this.getRotation();return _ol_obj_.assign({},t,e)};_ol_View_.prototype.animate=function(e){var t=arguments.length;var i;if(t>1&&typeof arguments[t-1]==="function"){i=arguments[t-1];--t}if(!this.isDef()){var r=arguments[t-1];if(r.center){this.setCenter(r.center)}if(r.zoom!==undefined){this.setZoom(r.zoom)}if(r.rotation!==undefined){this.setRotation(r.rotation)}if(i){i(true)}return}var n=Date.now();var o=this.getCenter().slice();var _=this.getResolution();var a=this.getRotation();var s=[];for(var l=0;l<t;++l){var h=arguments[l];var u={start:n,complete:false,anchor:h.anchor,duration:h.duration!==undefined?h.duration:1e3,easing:h.easing||_ol_easing_.inAndOut};if(h.center){u.sourceCenter=o;u.targetCenter=h.center;o=u.targetCenter}if(h.zoom!==undefined){u.sourceResolution=_;u.targetResolution=this.constrainResolution(this.maxResolution_,h.zoom-this.minZoom_,0);_=u.targetResolution}else if(h.resolution){u.sourceResolution=_;u.targetResolution=h.resolution;_=u.targetResolution}if(h.rotation!==undefined){u.sourceRotation=a;var c=_ol_math_.modulo(h.rotation-a+Math.PI,2*Math.PI)-Math.PI;u.targetRotation=a+c;a=u.targetRotation}u.callback=i;if(_ol_View_.isNoopAnimation(u)){u.complete=true}else{n+=u.duration}s.push(u)}this.animations_.push(s);this.setHint(_ol_ViewHint_.ANIMATING,1);this.updateAnimations_()};_ol_View_.prototype.getAnimating=function(){return this.hints_[_ol_ViewHint_.ANIMATING]>0};_ol_View_.prototype.getInteracting=function(){return this.hints_[_ol_ViewHint_.INTERACTING]>0};_ol_View_.prototype.cancelAnimations=function(){this.setHint(_ol_ViewHint_.ANIMATING,-this.hints_[_ol_ViewHint_.ANIMATING]);for(var e=0,t=this.animations_.length;e<t;++e){var i=this.animations_[e];if(i[0].callback){i[0].callback(false)}}this.animations_.length=0};_ol_View_.prototype.updateAnimations_=function(){if(this.updateAnimationKey_!==undefined){cancelAnimationFrame(this.updateAnimationKey_);this.updateAnimationKey_=undefined}if(!this.getAnimating()){return}var e=Date.now();var t=false;for(var i=this.animations_.length-1;i>=0;--i){var r=this.animations_[i];var n=true;for(var o=0,_=r.length;o<_;++o){var a=r[o];if(a.complete){continue}var s=e-a.start;var l=a.duration>0?s/a.duration:1;if(l>=1){a.complete=true;l=1}else{n=false}var h=a.easing(l);if(a.sourceCenter){var u=a.sourceCenter[0];var c=a.sourceCenter[1];var f=a.targetCenter[0];var d=a.targetCenter[1];var p=u+h*(f-u);var v=c+h*(d-c);this.set(_ol_ViewProperty_.CENTER,[p,v])}if(a.sourceResolution&&a.targetResolution){var g=h===1?a.targetResolution:a.sourceResolution+h*(a.targetResolution-a.sourceResolution);if(a.anchor){this.set(_ol_ViewProperty_.CENTER,this.calculateCenterZoom(g,a.anchor))}this.set(_ol_ViewProperty_.RESOLUTION,g)}if(a.sourceRotation!==undefined&&a.targetRotation!==undefined){var y=h===1?_ol_math_.modulo(a.targetRotation+Math.PI,2*Math.PI)-Math.PI:a.sourceRotation+h*(a.targetRotation-a.sourceRotation);if(a.anchor){this.set(_ol_ViewProperty_.CENTER,this.calculateCenterRotate(y,a.anchor))}this.set(_ol_ViewProperty_.ROTATION,y)}t=true;if(!a.complete){break}}if(n){this.animations_[i]=null;this.setHint(_ol_ViewHint_.ANIMATING,-1);var m=r[0].callback;if(m){m(true)}}}this.animations_=this.animations_.filter(Boolean);if(t&&this.updateAnimationKey_===undefined){this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_)}};_ol_View_.prototype.calculateCenterRotate=function(e,t){var i;var r=this.getCenter();if(r!==undefined){i=[r[0]-t[0],r[1]-t[1]];_ol_coordinate_.rotate(i,e-this.getRotation());_ol_coordinate_.add(i,t)}return i};_ol_View_.prototype.calculateCenterZoom=function(e,t){var i;var r=this.getCenter();var n=this.getResolution();if(r!==undefined&&n!==undefined){var o=t[0]-e*(t[0]-r[0])/n;var _=t[1]-e*(t[1]-r[1])/n;i=[o,_]}return i};_ol_View_.prototype.getSizeFromViewport_=function(){var e=[100,100];var t='.ol-viewport[data-view="'+_ol_.getUid(this)+'"]';var i=document.querySelector(t);if(i){var r=getComputedStyle(i);e[0]=parseInt(r.width,10);e[1]=parseInt(r.height,10)}return e};_ol_View_.prototype.constrainCenter=function(e){return this.constraints_.center(e)};_ol_View_.prototype.constrainResolution=function(e,t,i){var r=t||0;var n=i||0;return this.constraints_.resolution(e,r,n)};_ol_View_.prototype.constrainRotation=function(e,t){var i=t||0;return this.constraints_.rotation(e,i)};_ol_View_.prototype.getCenter=function(){return this.get(_ol_ViewProperty_.CENTER)};_ol_View_.prototype.getConstraints=function(){return this.constraints_};_ol_View_.prototype.getHints=function(e){if(e!==undefined){e[0]=this.hints_[0];e[1]=this.hints_[1];return e}else{return this.hints_.slice()}};_ol_View_.prototype.calculateExtent=function(e){var t=e||this.getSizeFromViewport_();var i=this.getCenter();_ol_asserts_.assert(i,1);var r=this.getResolution();_ol_asserts_.assert(r!==undefined,2);var n=this.getRotation();_ol_asserts_.assert(n!==undefined,3);return _ol_extent_.getForViewAndSize(i,r,n,t)};_ol_View_.prototype.getMaxResolution=function(){return this.maxResolution_};_ol_View_.prototype.getMinResolution=function(){return this.minResolution_};_ol_View_.prototype.getMaxZoom=function(){return this.getZoomForResolution(this.minResolution_)};_ol_View_.prototype.setMaxZoom=function(e){this.applyOptions_(this.getUpdatedOptions_({maxZoom:e}))};_ol_View_.prototype.getMinZoom=function(){return this.getZoomForResolution(this.maxResolution_)};_ol_View_.prototype.setMinZoom=function(e){this.applyOptions_(this.getUpdatedOptions_({minZoom:e}))};_ol_View_.prototype.getProjection=function(){return this.projection_};_ol_View_.prototype.getResolution=function(){return this.get(_ol_ViewProperty_.RESOLUTION)};_ol_View_.prototype.getResolutions=function(){return this.resolutions_};_ol_View_.prototype.getResolutionForExtent=function(e,t){var i=t||this.getSizeFromViewport_();var r=_ol_extent_.getWidth(e)/i[0];var n=_ol_extent_.getHeight(e)/i[1];return Math.max(r,n)};_ol_View_.prototype.getResolutionForValueFunction=function(e){var t=e||2;var i=this.maxResolution_;var r=this.minResolution_;var n=Math.log(i/r)/Math.log(t);return function(e){var r=i/Math.pow(t,e*n);return r}};_ol_View_.prototype.getRotation=function(){return this.get(_ol_ViewProperty_.ROTATION)};_ol_View_.prototype.getValueForResolutionFunction=function(e){var t=e||2;var i=this.maxResolution_;var r=this.minResolution_;var n=Math.log(i/r)/Math.log(t);return function(e){var r=Math.log(i/e)/Math.log(t)/n;return r}};_ol_View_.prototype.getState=function(){var e=this.getCenter();var t=this.getProjection();var i=this.getResolution();var r=this.getRotation();return{center:e.slice(),projection:t!==undefined?t:null,resolution:i,rotation:r,zoom:this.getZoom()}};_ol_View_.prototype.getZoom=function(){var e;var t=this.getResolution();if(t!==undefined){e=this.getZoomForResolution(t)}return e};_ol_View_.prototype.getZoomForResolution=function(e){var t=this.minZoom_||0;var i,r;if(this.resolutions_){var n=_ol_array_.linearFindNearest(this.resolutions_,e,1);t=n;i=this.resolutions_[n];if(n==this.resolutions_.length-1){r=2}else{r=i/this.resolutions_[n+1]}}else{i=this.maxResolution_;r=this.zoomFactor_}return t+Math.log(i/e)/Math.log(r)};_ol_View_.prototype.getResolutionForZoom=function(e){return this.constrainResolution(this.maxResolution_,e-this.minZoom_,0)};_ol_View_.prototype.fit=function(e,t){var i=t||{};var r=i.size;if(!r){r=this.getSizeFromViewport_()}var n;if(!(e instanceof _ol_geom_SimpleGeometry_)){_ol_asserts_.assert(Array.isArray(e),24);_ol_asserts_.assert(!_ol_extent_.isEmpty(e),25);n=_ol_geom_Polygon_.fromExtent(e)}else if(e.getType()===_ol_geom_GeometryType_.CIRCLE){e=e.getExtent();n=_ol_geom_Polygon_.fromExtent(e);n.rotate(this.getRotation(),_ol_extent_.getCenter(e))}else{n=e}var o=i.padding!==undefined?i.padding:[0,0,0,0];var _=i.constrainResolution!==undefined?i.constrainResolution:true;var a=i.nearest!==undefined?i.nearest:false;var s;if(i.minResolution!==undefined){s=i.minResolution}else if(i.maxZoom!==undefined){s=this.constrainResolution(this.maxResolution_,i.maxZoom-this.minZoom_,0)}else{s=0}var l=n.getFlatCoordinates();var h=this.getRotation();var u=Math.cos(-h);var c=Math.sin(-h);var f=+Infinity;var d=+Infinity;var p=-Infinity;var v=-Infinity;var g=n.getStride();for(var y=0,m=l.length;y<m;y+=g){var E=l[y]*u-l[y+1]*c;var x=l[y]*c+l[y+1]*u;f=Math.min(f,E);d=Math.min(d,x);p=Math.max(p,E);v=Math.max(v,x)}var T=this.getResolutionForExtent([f,d,p,v],[r[0]-o[1]-o[3],r[1]-o[0]-o[2]]);T=isNaN(T)?s:Math.max(T,s);if(_){var R=this.constrainResolution(T,0,0);if(!a&&R<T){R=this.constrainResolution(R,-1,0)}T=R}c=-c;var S=(f+p)/2;var C=(d+v)/2;S+=(o[1]-o[3])/2*T;C+=(o[0]-o[2])/2*T;var I=S*u-C*c;var M=C*u+S*c;var w=[I,M];var b=i.callback?i.callback:_ol_.nullFunction;if(i.duration!==undefined){this.animate({resolution:T,center:w,duration:i.duration,easing:i.easing},b)}else{this.setResolution(T);this.setCenter(w);setTimeout(b.bind(undefined,true),0)}};_ol_View_.prototype.centerOn=function(e,t,i){var r=this.getRotation();var n=Math.cos(-r);var o=Math.sin(-r);var _=e[0]*n-e[1]*o;var a=e[1]*n+e[0]*o;var s=this.getResolution();_+=(t[0]/2-i[0])*s;a+=(i[1]-t[1]/2)*s;o=-o;var l=_*n-a*o;var h=a*n+_*o;this.setCenter([l,h])};_ol_View_.prototype.isDef=function(){return!!this.getCenter()&&this.getResolution()!==undefined};_ol_View_.prototype.rotate=function(e,t){if(t!==undefined){var i=this.calculateCenterRotate(e,t);this.setCenter(i)}this.setRotation(e)};_ol_View_.prototype.setCenter=function(e){this.set(_ol_ViewProperty_.CENTER,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setHint=function(e,t){this.hints_[e]+=t;this.changed();return this.hints_[e]};_ol_View_.prototype.setResolution=function(e){this.set(_ol_ViewProperty_.RESOLUTION,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setRotation=function(e){this.set(_ol_ViewProperty_.ROTATION,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setZoom=function(e){this.setResolution(this.getResolutionForZoom(e))};_ol_View_.createCenterConstraint_=function(e){if(e.extent!==undefined){return _ol_CenterConstraint_.createExtent(e.extent)}else{return _ol_CenterConstraint_.none}};_ol_View_.createResolutionConstraint_=function(e){var t;var i;var r;var n=28;var o=2;var _=e.minZoom!==undefined?e.minZoom:_ol_.DEFAULT_MIN_ZOOM;var a=e.maxZoom!==undefined?e.maxZoom:n;var s=e.zoomFactor!==undefined?e.zoomFactor:o;if(e.resolutions!==undefined){var l=e.resolutions;i=l[_];r=l[a]!==undefined?l[a]:l[l.length-1];t=_ol_ResolutionConstraint_.createSnapToResolutions(l)}else{var h=_ol_proj_.createProjection(e.projection,"EPSG:3857");var u=h.getExtent();var c=!u?360*_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]/h.getMetersPerUnit():Math.max(_ol_extent_.getWidth(u),_ol_extent_.getHeight(u));var f=c/_ol_.DEFAULT_TILE_SIZE/Math.pow(o,_ol_.DEFAULT_MIN_ZOOM);var d=f/Math.pow(o,n-_ol_.DEFAULT_MIN_ZOOM);i=e.maxResolution;if(i!==undefined){_=0}else{i=f/Math.pow(s,_)}r=e.minResolution;if(r===undefined){if(e.maxZoom!==undefined){if(e.maxResolution!==undefined){r=i/Math.pow(s,a)}else{r=f/Math.pow(s,a)}}else{r=d}}a=_+Math.floor(Math.log(i/r)/Math.log(s));r=i/Math.pow(s,a-_);t=_ol_ResolutionConstraint_.createSnapToPower(s,i,a-_)}return{constraint:t,maxResolution:i,minResolution:r,minZoom:_,zoomFactor:s}};_ol_View_.createRotationConstraint_=function(e){var t=e.enableRotation!==undefined?e.enableRotation:true;if(t){var i=e.constrainRotation;if(i===undefined||i===true){return _ol_RotationConstraint_.createSnapToZero()}else if(i===false){return _ol_RotationConstraint_.none}else if(typeof i==="number"){return _ol_RotationConstraint_.createSnapToN(i)}else{return _ol_RotationConstraint_.none}}else{return _ol_RotationConstraint_.disable}};_ol_View_.isNoopAnimation=function(e){if(e.sourceCenter&&e.targetCenter){if(!_ol_coordinate_.equals(e.sourceCenter,e.targetCenter)){return false}}if(e.sourceResolution!==e.targetResolution){return false}if(e.sourceRotation!==e.targetRotation){return false}return true};var _ol_dom_={};_ol_dom_.createCanvasContext2D=function(e,t){var i=document.createElement("CANVAS");if(e){i.width=e}if(t){i.height=t}return i.getContext("2d")};_ol_dom_.outerWidth=function(e){var t=e.offsetWidth;var i=getComputedStyle(e);t+=parseInt(i.marginLeft,10)+parseInt(i.marginRight,10);return t};_ol_dom_.outerHeight=function(e){var t=e.offsetHeight;var i=getComputedStyle(e);t+=parseInt(i.marginTop,10)+parseInt(i.marginBottom,10);return t};_ol_dom_.replaceNode=function(e,t){var i=t.parentNode;if(i){i.replaceChild(e,t)}};_ol_dom_.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null};_ol_dom_.removeChildren=function(e){while(e.lastChild){e.removeChild(e.lastChild)}};var _ol_layer_Property_={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",SOURCE:"source"};var _ol_layer_Base_=function(e){_ol_Object_.call(this);var t=_ol_obj_.assign({},e);t[_ol_layer_Property_.OPACITY]=e.opacity!==undefined?e.opacity:1;t[_ol_layer_Property_.VISIBLE]=e.visible!==undefined?e.visible:true;t[_ol_layer_Property_.Z_INDEX]=e.zIndex!==undefined?e.zIndex:0;t[_ol_layer_Property_.MAX_RESOLUTION]=e.maxResolution!==undefined?e.maxResolution:Infinity;t[_ol_layer_Property_.MIN_RESOLUTION]=e.minResolution!==undefined?e.minResolution:0;this.setProperties(t);this.state_={layer:this,managed:true}};_ol_.inherits(_ol_layer_Base_,_ol_Object_);_ol_layer_Base_.prototype.getType=function(){return this.type};_ol_layer_Base_.prototype.getLayerState=function(){this.state_.opacity=_ol_math_.clamp(this.getOpacity(),0,1);this.state_.sourceState=this.getSourceState();this.state_.visible=this.getVisible();this.state_.extent=this.getExtent();this.state_.zIndex=this.getZIndex();this.state_.maxResolution=this.getMaxResolution();this.state_.minResolution=Math.max(this.getMinResolution(),0);return this.state_};_ol_layer_Base_.prototype.getLayersArray=function(e){};_ol_layer_Base_.prototype.getLayerStatesArray=function(e){};_ol_layer_Base_.prototype.getExtent=function(){return this.get(_ol_layer_Property_.EXTENT)};_ol_layer_Base_.prototype.getMaxResolution=function(){return this.get(_ol_layer_Property_.MAX_RESOLUTION)};_ol_layer_Base_.prototype.getMinResolution=function(){return this.get(_ol_layer_Property_.MIN_RESOLUTION)};_ol_layer_Base_.prototype.getOpacity=function(){return this.get(_ol_layer_Property_.OPACITY)};_ol_layer_Base_.prototype.getSourceState=function(){};_ol_layer_Base_.prototype.getVisible=function(){return this.get(_ol_layer_Property_.VISIBLE)};_ol_layer_Base_.prototype.getZIndex=function(){return this.get(_ol_layer_Property_.Z_INDEX)};_ol_layer_Base_.prototype.setExtent=function(e){this.set(_ol_layer_Property_.EXTENT,e)};_ol_layer_Base_.prototype.setMaxResolution=function(e){this.set(_ol_layer_Property_.MAX_RESOLUTION,e)};_ol_layer_Base_.prototype.setMinResolution=function(e){this.set(_ol_layer_Property_.MIN_RESOLUTION,e)};_ol_layer_Base_.prototype.setOpacity=function(e){this.set(_ol_layer_Property_.OPACITY,e)};_ol_layer_Base_.prototype.setVisible=function(e){this.set(_ol_layer_Property_.VISIBLE,e)};_ol_layer_Base_.prototype.setZIndex=function(e){this.set(_ol_layer_Property_.Z_INDEX,e)};var _ol_source_State_={UNDEFINED:"undefined",LOADING:"loading",READY:"ready",ERROR:"error"};var _ol_layer_Group_=function(e){var t=e||{};var i=_ol_obj_.assign({},t);delete i.layers;var r=t.layers;_ol_layer_Base_.call(this,i);this.layersListenerKeys_=[];this.listenerKeys_={};_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_layer_Group_.Property_.LAYERS),this.handleLayersChanged_,this);if(r){if(Array.isArray(r)){r=new _ol_Collection_(r.slice(),{unique:true})}else{_ol_asserts_.assert(r instanceof _ol_Collection_,43);r=r}}else{r=new _ol_Collection_(undefined,{unique:true})}this.setLayers(r)};_ol_.inherits(_ol_layer_Group_,_ol_layer_Base_);_ol_layer_Group_.prototype.handleLayerChange_=function(){this.changed()};_ol_layer_Group_.prototype.handleLayersChanged_=function(e){this.layersListenerKeys_.forEach(_ol_events_.unlistenByKey);this.layersListenerKeys_.length=0;var t=this.getLayers();this.layersListenerKeys_.push(_ol_events_.listen(t,_ol_CollectionEventType_.ADD,this.handleLayersAdd_,this),_ol_events_.listen(t,_ol_CollectionEventType_.REMOVE,this.handleLayersRemove_,this));for(var i in this.listenerKeys_){this.listenerKeys_[i].forEach(_ol_events_.unlistenByKey)}_ol_obj_.clear(this.listenerKeys_);var r=t.getArray();var n,o,_;for(n=0,o=r.length;n<o;n++){_=r[n];this.listenerKeys_[_ol_.getUid(_).toString()]=[_ol_events_.listen(_,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleLayerChange_,this),_ol_events_.listen(_,_ol_events_EventType_.CHANGE,this.handleLayerChange_,this)]}this.changed()};_ol_layer_Group_.prototype.handleLayersAdd_=function(e){var t=e.element;var i=_ol_.getUid(t).toString();this.listenerKeys_[i]=[_ol_events_.listen(t,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleLayerChange_,this),_ol_events_.listen(t,_ol_events_EventType_.CHANGE,this.handleLayerChange_,this)];this.changed()};_ol_layer_Group_.prototype.handleLayersRemove_=function(e){var t=e.element;var i=_ol_.getUid(t).toString();this.listenerKeys_[i].forEach(_ol_events_.unlistenByKey);delete this.listenerKeys_[i];this.changed()};_ol_layer_Group_.prototype.getLayers=function(){return this.get(_ol_layer_Group_.Property_.LAYERS)};_ol_layer_Group_.prototype.setLayers=function(e){this.set(_ol_layer_Group_.Property_.LAYERS,e)};_ol_layer_Group_.prototype.getLayersArray=function(e){var t=e!==undefined?e:[];this.getLayers().forEach((function(e){e.getLayersArray(t)}));return t};_ol_layer_Group_.prototype.getLayerStatesArray=function(e){var t=e!==undefined?e:[];var i=t.length;this.getLayers().forEach((function(e){e.getLayerStatesArray(t)}));var r=this.getLayerState();var n,o,_;for(n=i,o=t.length;n<o;n++){_=t[n];_.opacity*=r.opacity;_.visible=_.visible&&r.visible;_.maxResolution=Math.min(_.maxResolution,r.maxResolution);_.minResolution=Math.max(_.minResolution,r.minResolution);if(r.extent!==undefined){if(_.extent!==undefined){_.extent=_ol_extent_.getIntersection(_.extent,r.extent)}else{_.extent=r.extent}}}return t};_ol_layer_Group_.prototype.getSourceState=function(){return _ol_source_State_.READY};_ol_layer_Group_.Property_={LAYERS:"layers"};var _ol_PluginType_={MAP_RENDERER:"MAP_RENDERER",LAYER_RENDERER:"LAYER_RENDERER"};var _ol_plugins_={};_ol_plugins_.mapRendererPlugins_=[];_ol_plugins_.getMapRendererPlugins=function(){return _ol_plugins_.mapRendererPlugins_};_ol_plugins_.layerRendererPlugins_=[];_ol_plugins_.getLayerRendererPlugins=function(){return _ol_plugins_.layerRendererPlugins_};_ol_plugins_.register=function(e,t){var i;switch(e){case _ol_PluginType_.MAP_RENDERER:{i=_ol_plugins_.mapRendererPlugins_;i.push(t);break}case _ol_PluginType_.LAYER_RENDERER:{i=_ol_plugins_.layerRendererPlugins_;i.push(t);break}default:{throw new Error("Unsupported plugin type: "+e)}}};_ol_plugins_.registerMultiple=function(e,t){for(var i=0,r=t.length;i<r;++i){_ol_plugins_.register(e,t[i])}};var _ol_renderer_Type_={CANVAS:"canvas",WEBGL:"webgl"};var _ol_size_={};_ol_size_.buffer=function(e,t,i){if(i===undefined){i=[0,0]}i[0]=e[0]+2*t;i[1]=e[1]+2*t;return i};_ol_size_.hasArea=function(e){return e[0]>0&&e[1]>0};_ol_size_.scale=function(e,t,i){if(i===undefined){i=[0,0]}i[0]=e[0]*t+.5|0;i[1]=e[1]*t+.5|0;return i};_ol_size_.toSize=function(e,t){if(Array.isArray(e)){return e}else{if(t===undefined){t=[e,e]}else{t[0]=t[1]=e}return t}};var _ol_PluggableMap_=function(e){_ol_Object_.call(this);var t=_ol_PluggableMap_.createOptionsInternal(e);this.loadTilesWhileAnimating_=e.loadTilesWhileAnimating!==undefined?e.loadTilesWhileAnimating:false;this.loadTilesWhileInteracting_=e.loadTilesWhileInteracting!==undefined?e.loadTilesWhileInteracting:false;this.pixelRatio_=e.pixelRatio!==undefined?e.pixelRatio:_ol_has_.DEVICE_PIXEL_RATIO;this.logos_=t.logos;this.animationDelay_=function(){this.animationDelayKey_=undefined;this.renderFrame_.call(this,Date.now())}.bind(this);this.coordinateToPixelTransform_=_ol_transform_.create();this.pixelToCoordinateTransform_=_ol_transform_.create();this.frameIndex_=0;this.frameState_=null;this.previousExtent_=null;this.viewPropertyListenerKey_=null;this.viewChangeListenerKey_=null;this.layerGroupPropertyListenerKeys_=null;this.viewport_=document.createElement("DIV");this.viewport_.className="ol-viewport"+(_ol_has_.TOUCH?" ol-touch":"");this.viewport_.style.position="relative";this.viewport_.style.overflow="hidden";this.viewport_.style.width="100%";this.viewport_.style.height="100%";this.viewport_.style.msTouchAction="none";this.viewport_.style.touchAction="none";this.overlayContainer_=document.createElement("DIV");this.overlayContainer_.className="ol-overlaycontainer";this.viewport_.appendChild(this.overlayContainer_);this.overlayContainerStopEvent_=document.createElement("DIV");this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent";var i=[_ol_events_EventType_.CLICK,_ol_events_EventType_.DBLCLICK,_ol_events_EventType_.MOUSEDOWN,_ol_events_EventType_.TOUCHSTART,_ol_events_EventType_.MSPOINTERDOWN,_ol_MapBrowserEventType_.POINTERDOWN,_ol_events_EventType_.MOUSEWHEEL,_ol_events_EventType_.WHEEL];for(var r=0,n=i.length;r<n;++r){_ol_events_.listen(this.overlayContainerStopEvent_,i[r],_ol_events_Event_.stopPropagation)}this.viewport_.appendChild(this.overlayContainerStopEvent_);this.mapBrowserEventHandler_=new _ol_MapBrowserEventHandler_(this,e.moveTolerance);for(var o in _ol_MapBrowserEventType_){_ol_events_.listen(this.mapBrowserEventHandler_,_ol_MapBrowserEventType_[o],this.handleMapBrowserEvent,this)}this.keyboardEventTarget_=t.keyboardEventTarget;this.keyHandlerKeys_=null;_ol_events_.listen(this.viewport_,_ol_events_EventType_.WHEEL,this.handleBrowserEvent,this);_ol_events_.listen(this.viewport_,_ol_events_EventType_.MOUSEWHEEL,this.handleBrowserEvent,this);this.controls=t.controls||new _ol_Collection_;this.interactions=t.interactions||new _ol_Collection_;this.overlays_=t.overlays;this.overlayIdIndex_={};this.renderer_=t.mapRendererPlugin["create"](this.viewport_,this);this.focus_=null;this.postRenderFunctions_=[];this.tileQueue_=new _ol_TileQueue_(this.getTilePriority.bind(this),this.handleTileChange_.bind(this));this.skippedFeatureUids_={};_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.LAYERGROUP),this.handleLayerGroupChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.VIEW),this.handleViewChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.SIZE),this.handleSizeChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.TARGET),this.handleTargetChanged_,this);this.setProperties(t.values);this.controls.forEach((function(e){e.setMap(this)}),this);_ol_events_.listen(this.controls,_ol_CollectionEventType_.ADD,(function(e){e.element.setMap(this)}),this);_ol_events_.listen(this.controls,_ol_CollectionEventType_.REMOVE,(function(e){e.element.setMap(null)}),this);this.interactions.forEach((function(e){e.setMap(this)}),this);_ol_events_.listen(this.interactions,_ol_CollectionEventType_.ADD,(function(e){e.element.setMap(this)}),this);_ol_events_.listen(this.interactions,_ol_CollectionEventType_.REMOVE,(function(e){e.element.setMap(null)}),this);this.overlays_.forEach(this.addOverlayInternal_,this);_ol_events_.listen(this.overlays_,_ol_CollectionEventType_.ADD,(function(e){this.addOverlayInternal_(e.element)}),this);_ol_events_.listen(this.overlays_,_ol_CollectionEventType_.REMOVE,(function(e){var t=e.element;var i=t.getId();if(i!==undefined){delete this.overlayIdIndex_[i.toString()]}e.element.setMap(null)}),this)};_ol_.inherits(_ol_PluggableMap_,_ol_Object_);_ol_PluggableMap_.prototype.addControl=function(e){this.getControls().push(e)};_ol_PluggableMap_.prototype.addInteraction=function(e){this.getInteractions().push(e)};_ol_PluggableMap_.prototype.addLayer=function(e){var t=this.getLayerGroup().getLayers();t.push(e)};_ol_PluggableMap_.prototype.addOverlay=function(e){this.getOverlays().push(e)};_ol_PluggableMap_.prototype.addOverlayInternal_=function(e){var t=e.getId();if(t!==undefined){this.overlayIdIndex_[t.toString()]=e}e.setMap(this)};_ol_PluggableMap_.prototype.disposeInternal=function(){this.mapBrowserEventHandler_.dispose();_ol_events_.unlisten(this.viewport_,_ol_events_EventType_.WHEEL,this.handleBrowserEvent,this);_ol_events_.unlisten(this.viewport_,_ol_events_EventType_.MOUSEWHEEL,this.handleBrowserEvent,this);if(this.handleResize_!==undefined){window.removeEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false);this.handleResize_=undefined}if(this.animationDelayKey_){cancelAnimationFrame(this.animationDelayKey_);this.animationDelayKey_=undefined}this.setTarget(null);_ol_Object_.prototype.disposeInternal.call(this)};_ol_PluggableMap_.prototype.forEachFeatureAtPixel=function(e,t,i){if(!this.frameState_){return}var r=this.getCoordinateFromPixel(e);i=i!==undefined?i:{};var n=i.hitTolerance!==undefined?i.hitTolerance*this.frameState_.pixelRatio:0;var o=i.layerFilter!==undefined?i.layerFilter:_ol_functions_.TRUE;return this.renderer_.forEachFeatureAtCoordinate(r,this.frameState_,n,t,null,o,null)};_ol_PluggableMap_.prototype.getFeaturesAtPixel=function(e,t){var i=null;this.forEachFeatureAtPixel(e,(function(e){if(!i){i=[]}i.push(e)}),t);return i};_ol_PluggableMap_.prototype.forEachLayerAtPixel=function(e,t,i,r,n){if(!this.frameState_){return}var o=i!==undefined?i:null;var _=r!==undefined?r:_ol_functions_.TRUE;var a=n!==undefined?n:null;return this.renderer_.forEachLayerAtPixel(e,this.frameState_,t,o,_,a)};_ol_PluggableMap_.prototype.hasFeatureAtPixel=function(e,t){if(!this.frameState_){return false}var i=this.getCoordinateFromPixel(e);t=t!==undefined?t:{};var r=t.layerFilter!==undefined?t.layerFilter:_ol_functions_.TRUE;var n=t.hitTolerance!==undefined?t.hitTolerance*this.frameState_.pixelRatio:0;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,n,r,null)};_ol_PluggableMap_.prototype.getEventCoordinate=function(e){return this.getCoordinateFromPixel(this.getEventPixel(e))};_ol_PluggableMap_.prototype.getEventPixel=function(e){var t=this.viewport_.getBoundingClientRect();var i=e.changedTouches?e.changedTouches[0]:e;return[i.clientX-t.left,i.clientY-t.top]};_ol_PluggableMap_.prototype.getTarget=function(){return this.get(_ol_MapProperty_.TARGET)};_ol_PluggableMap_.prototype.getTargetElement=function(){var e=this.getTarget();if(e!==undefined){return typeof e==="string"?document.getElementById(e):e}else{return null}};_ol_PluggableMap_.prototype.getCoordinateFromPixel=function(e){var t=this.frameState_;if(!t){return null}else{return _ol_transform_.apply(t.pixelToCoordinateTransform,e.slice())}};_ol_PluggableMap_.prototype.getControls=function(){return this.controls};_ol_PluggableMap_.prototype.getOverlays=function(){return this.overlays_};_ol_PluggableMap_.prototype.getOverlayById=function(e){var t=this.overlayIdIndex_[e.toString()];return t!==undefined?t:null};_ol_PluggableMap_.prototype.getInteractions=function(){return this.interactions};_ol_PluggableMap_.prototype.getLayerGroup=function(){return this.get(_ol_MapProperty_.LAYERGROUP)};_ol_PluggableMap_.prototype.getLayers=function(){var e=this.getLayerGroup().getLayers();return e};_ol_PluggableMap_.prototype.getPixelFromCoordinate=function(e){var t=this.frameState_;if(!t){return null}else{return _ol_transform_.apply(t.coordinateToPixelTransform,e.slice(0,2))}};_ol_PluggableMap_.prototype.getRenderer=function(){return this.renderer_};_ol_PluggableMap_.prototype.getSize=function(){return this.get(_ol_MapProperty_.SIZE)};_ol_PluggableMap_.prototype.getView=function(){return this.get(_ol_MapProperty_.VIEW)};_ol_PluggableMap_.prototype.getViewport=function(){return this.viewport_};_ol_PluggableMap_.prototype.getOverlayContainer=function(){return this.overlayContainer_};_ol_PluggableMap_.prototype.getOverlayContainerStopEvent=function(){return this.overlayContainerStopEvent_};_ol_PluggableMap_.prototype.getTilePriority=function(e,t,i,r){var n=this.frameState_;if(!n||!(t in n.wantedTiles)){return _ol_structs_PriorityQueue_.DROP}if(!n.wantedTiles[t][e.getKey()]){return _ol_structs_PriorityQueue_.DROP}var o=i[0]-n.focus[0];var _=i[1]-n.focus[1];return 65536*Math.log(r)+Math.sqrt(o*o+_*_)/r};_ol_PluggableMap_.prototype.handleBrowserEvent=function(e,t){var i=t||e.type;var r=new _ol_MapBrowserEvent_(i,this,e);this.handleMapBrowserEvent(r)};_ol_PluggableMap_.prototype.handleMapBrowserEvent=function(e){if(!this.frameState_){return}this.focus_=e.coordinate;e.frameState=this.frameState_;var t=this.getInteractions().getArray();var i;if(this.dispatchEvent(e)!==false){for(i=t.length-1;i>=0;i--){var r=t[i];if(!r.getActive()){continue}var n=r.handleEvent(e);if(!n){break}}}};_ol_PluggableMap_.prototype.handlePostRender=function(){var e=this.frameState_;var t=this.tileQueue_;if(!t.isEmpty()){var i=16;var r=i;if(e){var n=e.viewHints;if(n[_ol_ViewHint_.ANIMATING]){i=this.loadTilesWhileAnimating_?8:0;r=2}if(n[_ol_ViewHint_.INTERACTING]){i=this.loadTilesWhileInteracting_?8:0;r=2}}if(t.getTilesLoading()<i){t.reprioritize();t.loadMoreTiles(i,r)}}var o=this.postRenderFunctions_;var _,a;for(_=0,a=o.length;_<a;++_){o[_](this,e)}o.length=0};_ol_PluggableMap_.prototype.handleSizeChanged_=function(){this.render()};_ol_PluggableMap_.prototype.handleTargetChanged_=function(){var e;if(this.getTarget()){e=this.getTargetElement()}if(this.keyHandlerKeys_){for(var t=0,i=this.keyHandlerKeys_.length;t<i;++t){_ol_events_.unlistenByKey(this.keyHandlerKeys_[t])}this.keyHandlerKeys_=null}if(!e){this.renderer_.removeLayerRenderers();_ol_dom_.removeNode(this.viewport_);if(this.handleResize_!==undefined){window.removeEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false);this.handleResize_=undefined}}else{e.appendChild(this.viewport_);var r=!this.keyboardEventTarget_?e:this.keyboardEventTarget_;this.keyHandlerKeys_=[_ol_events_.listen(r,_ol_events_EventType_.KEYDOWN,this.handleBrowserEvent,this),_ol_events_.listen(r,_ol_events_EventType_.KEYPRESS,this.handleBrowserEvent,this)];if(!this.handleResize_){this.handleResize_=this.updateSize.bind(this);window.addEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false)}}this.updateSize()};_ol_PluggableMap_.prototype.handleTileChange_=function(){this.render()};_ol_PluggableMap_.prototype.handleViewPropertyChanged_=function(){this.render()};_ol_PluggableMap_.prototype.handleViewChanged_=function(){if(this.viewPropertyListenerKey_){_ol_events_.unlistenByKey(this.viewPropertyListenerKey_);this.viewPropertyListenerKey_=null}if(this.viewChangeListenerKey_){_ol_events_.unlistenByKey(this.viewChangeListenerKey_);this.viewChangeListenerKey_=null}var e=this.getView();if(e){this.viewport_.setAttribute("data-view",_ol_.getUid(e));this.viewPropertyListenerKey_=_ol_events_.listen(e,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleViewPropertyChanged_,this);this.viewChangeListenerKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleViewPropertyChanged_,this)}this.render()};_ol_PluggableMap_.prototype.handleLayerGroupChanged_=function(){if(this.layerGroupPropertyListenerKeys_){this.layerGroupPropertyListenerKeys_.forEach(_ol_events_.unlistenByKey);this.layerGroupPropertyListenerKeys_=null}var e=this.getLayerGroup();if(e){this.layerGroupPropertyListenerKeys_=[_ol_events_.listen(e,_ol_ObjectEventType_.PROPERTYCHANGE,this.render,this),_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.render,this)]}this.render()};_ol_PluggableMap_.prototype.isRendered=function(){return!!this.frameState_};_ol_PluggableMap_.prototype.renderSync=function(){if(this.animationDelayKey_){cancelAnimationFrame(this.animationDelayKey_)}this.animationDelay_()};_ol_PluggableMap_.prototype.render=function(){if(this.animationDelayKey_===undefined){this.animationDelayKey_=requestAnimationFrame(this.animationDelay_)}};_ol_PluggableMap_.prototype.removeControl=function(e){return this.getControls().remove(e)};_ol_PluggableMap_.prototype.removeInteraction=function(e){return this.getInteractions().remove(e)};_ol_PluggableMap_.prototype.removeLayer=function(e){var t=this.getLayerGroup().getLayers();return t.remove(e)};_ol_PluggableMap_.prototype.removeOverlay=function(e){return this.getOverlays().remove(e)};_ol_PluggableMap_.prototype.renderFrame_=function(e){var t,i,r;var n=this.getSize();var o=this.getView();var _=_ol_extent_.createEmpty();var a=this.frameState_;var s=null;if(n!==undefined&&_ol_size_.hasArea(n)&&o&&o.isDef()){var l=o.getHints(this.frameState_?this.frameState_.viewHints:undefined);var h=this.getLayerGroup().getLayerStatesArray();var u={};for(t=0,i=h.length;t<i;++t){u[_ol_.getUid(h[t].layer)]=h[t]}r=o.getState();var c=r.center;var f=r.resolution/this.pixelRatio_;c[0]=Math.round(c[0]/f)*f;c[1]=Math.round(c[1]/f)*f;s={animate:false,coordinateToPixelTransform:this.coordinateToPixelTransform_,extent:_,focus:!this.focus_?c:this.focus_,index:this.frameIndex_++,layerStates:u,layerStatesArray:h,logos:_ol_obj_.assign({},this.logos_),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:n,skippedFeatureUids:this.skippedFeatureUids_,tileQueue:this.tileQueue_,time:e,usedTiles:{},viewState:r,viewHints:l,wantedTiles:{}}}if(s){s.extent=_ol_extent_.getForViewAndSize(r.center,r.resolution,r.rotation,s.size,_)}this.frameState_=s;this.renderer_.renderFrame(s);if(s){if(s.animate){this.render()}Array.prototype.push.apply(this.postRenderFunctions_,s.postRenderFunctions);if(a){var d=!this.previousExtent_||!_ol_extent_.isEmpty(this.previousExtent_)&&!_ol_extent_.equals(s.extent,this.previousExtent_);if(d){this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.MOVESTART,this,a));this.previousExtent_=_ol_extent_.createOrUpdateEmpty(this.previousExtent_)}}var p=this.previousExtent_&&!s.viewHints[_ol_ViewHint_.ANIMATING]&&!s.viewHints[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.equals(s.extent,this.previousExtent_);if(p){this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.MOVEEND,this,s));_ol_extent_.clone(s.extent,this.previousExtent_)}}this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.POSTRENDER,this,s));setTimeout(this.handlePostRender.bind(this),0)};_ol_PluggableMap_.prototype.setLayerGroup=function(e){this.set(_ol_MapProperty_.LAYERGROUP,e)};_ol_PluggableMap_.prototype.setSize=function(e){this.set(_ol_MapProperty_.SIZE,e)};_ol_PluggableMap_.prototype.setTarget=function(e){this.set(_ol_MapProperty_.TARGET,e)};_ol_PluggableMap_.prototype.setView=function(e){this.set(_ol_MapProperty_.VIEW,e)};_ol_PluggableMap_.prototype.skipFeature=function(e){var t=_ol_.getUid(e).toString();this.skippedFeatureUids_[t]=true;this.render()};_ol_PluggableMap_.prototype.updateSize=function(){var e=this.getTargetElement();if(!e){this.setSize(undefined)}else{var t=getComputedStyle(e);this.setSize([e.offsetWidth-parseFloat(t["borderLeftWidth"])-parseFloat(t["paddingLeft"])-parseFloat(t["paddingRight"])-parseFloat(t["borderRightWidth"]),e.offsetHeight-parseFloat(t["borderTopWidth"])-parseFloat(t["paddingTop"])-parseFloat(t["paddingBottom"])-parseFloat(t["borderBottomWidth"])])}};_ol_PluggableMap_.prototype.unskipFeature=function(e){var t=_ol_.getUid(e).toString();delete this.skippedFeatureUids_[t];this.render()};_ol_PluggableMap_.DEFAULT_RENDERER_TYPES=[_ol_renderer_Type_.CANVAS,_ol_renderer_Type_.WEBGL];_ol_PluggableMap_.LOGO_URL="data:image/png;base64,"+"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBI"+"WXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAA"+"AhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszW"+"WMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvY"+"asvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvX"+"H1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1Vk"+"bMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW"+"2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLP"+"VcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqT"+"acrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaar"+"ldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+Hi"+"zeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDn"+"BAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSF"+"hYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJ"+"REFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxC"+"Brb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe"+"0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8"+"a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7a"+"hgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCn"+"B3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDg"+"q82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC";_ol_PluggableMap_.createOptionsInternal=function(e){var t=null;if(e.keyboardEventTarget!==undefined){t=typeof e.keyboardEventTarget==="string"?document.getElementById(e.keyboardEventTarget):e.keyboardEventTarget}var i={};var r={};if(e.logo===undefined||typeof e.logo==="boolean"&&e.logo){r[_ol_PluggableMap_.LOGO_URL]="https://openlayers.org/"}else{var n=e.logo;if(typeof n==="string"){r[n]=""}else if(n instanceof HTMLElement){r[_ol_.getUid(n).toString()]=n}else if(n){_ol_asserts_.assert(typeof n.href=="string",44);_ol_asserts_.assert(typeof n.src=="string",45);r[n.src]=n.href}}var o=e.layers instanceof _ol_layer_Group_?e.layers:new _ol_layer_Group_({layers:e.layers});i[_ol_MapProperty_.LAYERGROUP]=o;i[_ol_MapProperty_.TARGET]=e.target;i[_ol_MapProperty_.VIEW]=e.view!==undefined?e.view:new _ol_View_;var _;if(e.renderer!==undefined){if(Array.isArray(e.renderer)){_=e.renderer}else if(typeof e.renderer==="string"){_=[e.renderer]}else{_ol_asserts_.assert(false,46)}if(_.indexOf("dom")>=0){_=_.concat(_ol_PluggableMap_.DEFAULT_RENDERER_TYPES)}}else{_=_ol_PluggableMap_.DEFAULT_RENDERER_TYPES}var a;var s=_ol_plugins_.getMapRendererPlugins();e:for(var l=0,h=_.length;l<h;++l){var u=_[l];for(var c=0,f=s.length;c<f;++c){var d=s[c];if(d["handles"](u)){a=d;break e}}}if(!a){throw new Error("Unable to create a map renderer for types: "+_.join(", "))}var p;if(e.controls!==undefined){if(Array.isArray(e.controls)){p=new _ol_Collection_(e.controls.slice())}else{_ol_asserts_.assert(e.controls instanceof _ol_Collection_,47);p=e.controls}}var v;if(e.interactions!==undefined){if(Array.isArray(e.interactions)){v=new _ol_Collection_(e.interactions.slice())}else{_ol_asserts_.assert(e.interactions instanceof _ol_Collection_,48);v=e.interactions}}var g;if(e.overlays!==undefined){if(Array.isArray(e.overlays)){g=new _ol_Collection_(e.overlays.slice())}else{_ol_asserts_.assert(e.overlays instanceof _ol_Collection_,49);g=e.overlays}}else{g=new _ol_Collection_}return{controls:p,interactions:v,keyboardEventTarget:t,logos:r,overlays:g,mapRendererPlugin:a,values:i}};var _ol_control_Control_=function(e){_ol_Object_.call(this);this.element=e.element?e.element:null;this.target_=null;this.map_=null;this.listenerKeys=[];this.render=e.render?e.render:_ol_.nullFunction;if(e.target){this.setTarget(e.target)}};_ol_.inherits(_ol_control_Control_,_ol_Object_);_ol_control_Control_.prototype.disposeInternal=function(){_ol_dom_.removeNode(this.element);_ol_Object_.prototype.disposeInternal.call(this)};_ol_control_Control_.prototype.getMap=function(){return this.map_};_ol_control_Control_.prototype.setMap=function(e){if(this.map_){_ol_dom_.removeNode(this.element)}for(var t=0,i=this.listenerKeys.length;t<i;++t){_ol_events_.unlistenByKey(this.listenerKeys[t])}this.listenerKeys.length=0;this.map_=e;if(this.map_){var r=this.target_?this.target_:e.getOverlayContainerStopEvent();r.appendChild(this.element);if(this.render!==_ol_.nullFunction){this.listenerKeys.push(_ol_events_.listen(e,_ol_MapEventType_.POSTRENDER,this.render,this))}e.render()}};_ol_control_Control_.prototype.setTarget=function(e){this.target_=typeof e==="string"?document.getElementById(e):e};var _ol_css_={};_ol_css_.CLASS_HIDDEN="ol-hidden";_ol_css_.CLASS_SELECTABLE="ol-selectable";_ol_css_.CLASS_UNSELECTABLE="ol-unselectable";_ol_css_.CLASS_UNSUPPORTED="ol-unsupported";_ol_css_.CLASS_CONTROL="ol-control";_ol_css_.getFontFamilies=function(){var e;var t={};return function(i){if(!e){e=document.createElement("div").style}if(!(i in t)){e.font=i;var r=e.fontFamily;e.font="";if(!r){return null}t[i]=r.split(/,\s?/)}return t[i]}}();var _ol_render_EventType_={POSTCOMPOSE:"postcompose",PRECOMPOSE:"precompose",RENDER:"render"};var _ol_layer_Layer_=function(e){var t=_ol_obj_.assign({},e);delete t.source;_ol_layer_Base_.call(this,t);this.mapPrecomposeKey_=null;this.mapRenderKey_=null;this.sourceChangeKey_=null;if(e.map){this.setMap(e.map)}_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_layer_Property_.SOURCE),this.handleSourcePropertyChange_,this);var i=e.source?e.source:null;this.setSource(i)};_ol_.inherits(_ol_layer_Layer_,_ol_layer_Base_);_ol_layer_Layer_.visibleAtResolution=function(e,t){return e.visible&&t>=e.minResolution&&t<e.maxResolution};_ol_layer_Layer_.prototype.getLayersArray=function(e){var t=e?e:[];t.push(this);return t};_ol_layer_Layer_.prototype.getLayerStatesArray=function(e){var t=e?e:[];t.push(this.getLayerState());return t};_ol_layer_Layer_.prototype.getSource=function(){var e=this.get(_ol_layer_Property_.SOURCE);return e||null};_ol_layer_Layer_.prototype.getSourceState=function(){var e=this.getSource();return!e?_ol_source_State_.UNDEFINED:e.getState()};_ol_layer_Layer_.prototype.handleSourceChange_=function(){this.changed()};_ol_layer_Layer_.prototype.handleSourcePropertyChange_=function(){if(this.sourceChangeKey_){_ol_events_.unlistenByKey(this.sourceChangeKey_);this.sourceChangeKey_=null}var e=this.getSource();if(e){this.sourceChangeKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleSourceChange_,this)}this.changed()};_ol_layer_Layer_.prototype.setMap=function(e){if(this.mapPrecomposeKey_){_ol_events_.unlistenByKey(this.mapPrecomposeKey_);this.mapPrecomposeKey_=null}if(!e){this.changed()}if(this.mapRenderKey_){_ol_events_.unlistenByKey(this.mapRenderKey_);this.mapRenderKey_=null}if(e){this.mapPrecomposeKey_=_ol_events_.listen(e,_ol_render_EventType_.PRECOMPOSE,(function(e){var t=this.getLayerState();t.managed=false;t.zIndex=Infinity;e.frameState.layerStatesArray.push(t);e.frameState.layerStates[_ol_.getUid(this)]=t}),this);this.mapRenderKey_=_ol_events_.listen(this,_ol_events_EventType_.CHANGE,e.render,e);this.changed()}};_ol_layer_Layer_.prototype.setSource=function(e){this.set(_ol_layer_Property_.SOURCE,e)};var _ol_control_Attribution_=function(e){var t=e?e:{};this.ulElement_=document.createElement("UL");this.logoLi_=document.createElement("LI");this.ulElement_.appendChild(this.logoLi_);this.logoLi_.style.display="none";this.collapsed_=t.collapsed!==undefined?t.collapsed:true;this.collapsible_=t.collapsible!==undefined?t.collapsible:true;if(!this.collapsible_){this.collapsed_=false}var i=t.className!==undefined?t.className:"ol-attribution";var r=t.tipLabel!==undefined?t.tipLabel:"Attributions";var n=t.collapseLabel!==undefined?t.collapseLabel:"»";if(typeof n==="string"){this.collapseLabel_=document.createElement("span");this.collapseLabel_.textContent=n}else{this.collapseLabel_=n}var o=t.label!==undefined?t.label:"i";if(typeof o==="string"){this.label_=document.createElement("span");this.label_.textContent=o}else{this.label_=o}var _=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;var a=document.createElement("button");a.setAttribute("type","button");a.title=r;a.appendChild(_);_ol_events_.listen(a,_ol_events_EventType_.CLICK,this.handleClick_,this);var s=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL+(this.collapsed_&&this.collapsible_?" ol-collapsed":"")+(this.collapsible_?"":" ol-uncollapsible");var l=document.createElement("div");l.className=s;l.appendChild(this.ulElement_);l.appendChild(a);var h=t.render?t.render:_ol_control_Attribution_.render;_ol_control_Control_.call(this,{element:l,render:h,target:t.target});this.renderedAttributions_=[];this.renderedVisible_=true;this.logoElements_={}};_ol_.inherits(_ol_control_Attribution_,_ol_control_Control_);_ol_control_Attribution_.prototype.getSourceAttributions_=function(e){var t={};var i=[];var r=e.layerStatesArray;var n=e.viewState.resolution;for(var o=0,_=r.length;o<_;++o){var a=r[o];if(!_ol_layer_Layer_.visibleAtResolution(a,n)){continue}var s=a.layer.getSource();if(!s){continue}var l=s.getAttributions2();if(!l){continue}var h=l(e);if(!h){continue}if(Array.isArray(h)){for(var u=0,c=h.length;u<c;++u){if(!(h[u]in t)){i.push(h[u]);t[h[u]]=true}}}else{if(!(h in t)){i.push(h);t[h]=true}}}return i};_ol_control_Attribution_.render=function(e){this.updateElement_(e.frameState)};_ol_control_Attribution_.prototype.updateElement_=function(e){if(!e){if(this.renderedVisible_){this.element.style.display="none";this.renderedVisible_=false}return}var t=this.getSourceAttributions_(e);if(_ol_array_.equals(t,this.renderedAttributions_)){return}while(this.ulElement_.lastChild!==this.logoLi_){this.ulElement_.removeChild(this.ulElement_.lastChild)}for(var i=0,r=t.length;i<r;++i){var n=document.createElement("LI");n.innerHTML=t[i];this.ulElement_.appendChild(n)}if(t.length===0&&this.renderedAttributions_.length>0){this.element.classList.add("ol-logo-only")}else if(this.renderedAttributions_.length===0&&t.length>0){this.element.classList.remove("ol-logo-only")}var o=t.length>0||!_ol_obj_.isEmpty(e.logos);if(this.renderedVisible_!=o){this.element.style.display=o?"":"none";this.renderedVisible_=o}this.renderedAttributions_=t;this.insertLogos_(e)};_ol_control_Attribution_.prototype.insertLogos_=function(e){var t;var i=e.logos;var r=this.logoElements_;for(t in r){if(!(t in i)){_ol_dom_.removeNode(r[t]);delete r[t]}}var n,o,_;for(_ in i){var a=i[_];if(a instanceof HTMLElement){this.logoLi_.appendChild(a);r[_]=a}if(!(_ in r)){n=new Image;n.src=_;if(a===""){o=n}else{o=document.createElement("a");o.href=a;o.appendChild(n)}this.logoLi_.appendChild(o);r[_]=o}}this.logoLi_.style.display=!_ol_obj_.isEmpty(i)?"":"none"};_ol_control_Attribution_.prototype.handleClick_=function(e){e.preventDefault();this.handleToggle_()};_ol_control_Attribution_.prototype.handleToggle_=function(){this.element.classList.toggle("ol-collapsed");if(this.collapsed_){_ol_dom_.replaceNode(this.collapseLabel_,this.label_)}else{_ol_dom_.replaceNode(this.label_,this.collapseLabel_)}this.collapsed_=!this.collapsed_};_ol_control_Attribution_.prototype.getCollapsible=function(){return this.collapsible_};_ol_control_Attribution_.prototype.setCollapsible=function(e){if(this.collapsible_===e){return}this.collapsible_=e;this.element.classList.toggle("ol-uncollapsible");if(!e&&this.collapsed_){this.handleToggle_()}};_ol_control_Attribution_.prototype.setCollapsed=function(e){if(!this.collapsible_||this.collapsed_===e){return}this.handleToggle_()};_ol_control_Attribution_.prototype.getCollapsed=function(){return this.collapsed_};var _ol_control_Rotate_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-rotate";var r=t.label!==undefined?t.label:"⇧";this.label_=null;if(typeof r==="string"){this.label_=document.createElement("span");this.label_.className="ol-compass";this.label_.textContent=r}else{this.label_=r;this.label_.classList.add("ol-compass")}var n=t.tipLabel?t.tipLabel:"Reset rotation";var o=document.createElement("button");o.className=i+"-reset";o.setAttribute("type","button");o.title=n;o.appendChild(this.label_);_ol_events_.listen(o,_ol_events_EventType_.CLICK,_ol_control_Rotate_.prototype.handleClick_,this);var _=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL;var a=document.createElement("div");a.className=_;a.appendChild(o);var s=t.render?t.render:_ol_control_Rotate_.render;this.callResetNorth_=t.resetNorth?t.resetNorth:undefined;_ol_control_Control_.call(this,{element:a,render:s,target:t.target});this.duration_=t.duration!==undefined?t.duration:250;this.autoHide_=t.autoHide!==undefined?t.autoHide:true;this.rotation_=undefined;if(this.autoHide_){this.element.classList.add(_ol_css_.CLASS_HIDDEN)}};_ol_.inherits(_ol_control_Rotate_,_ol_control_Control_);_ol_control_Rotate_.prototype.handleClick_=function(e){e.preventDefault();if(this.callResetNorth_!==undefined){this.callResetNorth_()}else{this.resetNorth_()}};_ol_control_Rotate_.prototype.resetNorth_=function(){var e=this.getMap();var t=e.getView();if(!t){return}if(t.getRotation()!==undefined){if(this.duration_>0){t.animate({rotation:0,duration:this.duration_,easing:_ol_easing_.easeOut})}else{t.setRotation(0)}}};_ol_control_Rotate_.render=function(e){var t=e.frameState;if(!t){return}var i=t.viewState.rotation;if(i!=this.rotation_){var r="rotate("+i+"rad)";if(this.autoHide_){var n=this.element.classList.contains(_ol_css_.CLASS_HIDDEN);if(!n&&i===0){this.element.classList.add(_ol_css_.CLASS_HIDDEN)}else if(n&&i!==0){this.element.classList.remove(_ol_css_.CLASS_HIDDEN)}}this.label_.style.msTransform=r;this.label_.style.webkitTransform=r;this.label_.style.transform=r}this.rotation_=i};var _ol_control_Zoom_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-zoom";var r=t.delta!==undefined?t.delta:1;var n=t.zoomInLabel!==undefined?t.zoomInLabel:"+";var o=t.zoomOutLabel!==undefined?t.zoomOutLabel:"−";var _=t.zoomInTipLabel!==undefined?t.zoomInTipLabel:"Zoom in";var a=t.zoomOutTipLabel!==undefined?t.zoomOutTipLabel:"Zoom out";var s=document.createElement("button");s.className=i+"-in";s.setAttribute("type","button");s.title=_;s.appendChild(typeof n==="string"?document.createTextNode(n):n);_ol_events_.listen(s,_ol_events_EventType_.CLICK,_ol_control_Zoom_.prototype.handleClick_.bind(this,r));var l=document.createElement("button");l.className=i+"-out";l.setAttribute("type","button");l.title=a;l.appendChild(typeof o==="string"?document.createTextNode(o):o);_ol_events_.listen(l,_ol_events_EventType_.CLICK,_ol_control_Zoom_.prototype.handleClick_.bind(this,-r));var h=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL;var u=document.createElement("div");u.className=h;u.appendChild(s);u.appendChild(l);_ol_control_Control_.call(this,{element:u,target:t.target});this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_control_Zoom_,_ol_control_Control_);_ol_control_Zoom_.prototype.handleClick_=function(e,t){t.preventDefault();this.zoomByDelta_(e)};_ol_control_Zoom_.prototype.zoomByDelta_=function(e){var t=this.getMap();var i=t.getView();if(!i){return}var r=i.getResolution();if(r){var n=i.constrainResolution(r,e);if(this.duration_>0){if(i.getAnimating()){i.cancelAnimations()}i.animate({resolution:n,duration:this.duration_,easing:_ol_easing_.easeOut})}else{i.setResolution(n)}}};var _ol_control_={};_ol_control_.defaults=function(e){var t=e?e:{};var i=new _ol_Collection_;var r=t.zoom!==undefined?t.zoom:true;if(r){i.push(new _ol_control_Zoom_(t.zoomOptions))}var n=t.rotate!==undefined?t.rotate:true;if(n){i.push(new _ol_control_Rotate_(t.rotateOptions))}var o=t.attribution!==undefined?t.attribution:true;if(o){i.push(new _ol_control_Attribution_(t.attributionOptions))}return i};var _ol_Kinetic_=function(e,t,i){this.decay_=e;this.minVelocity_=t;this.delay_=i;this.points_=[];this.angle_=0;this.initialVelocity_=0};_ol_Kinetic_.prototype.begin=function(){this.points_.length=0;this.angle_=0;this.initialVelocity_=0};_ol_Kinetic_.prototype.update=function(e,t){this.points_.push(e,t,Date.now())};_ol_Kinetic_.prototype.end=function(){if(this.points_.length<6){return false}var e=Date.now()-this.delay_;var t=this.points_.length-3;if(this.points_[t+2]<e){return false}var i=t-3;while(i>0&&this.points_[i+2]>e){i-=3}var r=this.points_[t+2]-this.points_[i+2];if(r<1e3/60){return false}var n=this.points_[t]-this.points_[i];var o=this.points_[t+1]-this.points_[i+1];this.angle_=Math.atan2(o,n);this.initialVelocity_=Math.sqrt(n*n+o*o)/r;return this.initialVelocity_>this.minVelocity_};_ol_Kinetic_.prototype.getDistance=function(){return(this.minVelocity_-this.initialVelocity_)/this.decay_};_ol_Kinetic_.prototype.getAngle=function(){return this.angle_};var _ol_interaction_Property_={ACTIVE:"active"};var _ol_interaction_Interaction_=function(e){_ol_Object_.call(this);this.map_=null;this.setActive(true);this.handleEvent=e.handleEvent};_ol_.inherits(_ol_interaction_Interaction_,_ol_Object_);_ol_interaction_Interaction_.prototype.getActive=function(){return this.get(_ol_interaction_Property_.ACTIVE)};_ol_interaction_Interaction_.prototype.getMap=function(){return this.map_};_ol_interaction_Interaction_.prototype.setActive=function(e){this.set(_ol_interaction_Property_.ACTIVE,e)};_ol_interaction_Interaction_.prototype.setMap=function(e){this.map_=e};_ol_interaction_Interaction_.pan=function(e,t,i){var r=e.getCenter();if(r){var n=e.constrainCenter([r[0]+t[0],r[1]+t[1]]);if(i){e.animate({duration:i,easing:_ol_easing_.linear,center:n})}else{e.setCenter(n)}}};_ol_interaction_Interaction_.rotate=function(e,t,i,r){t=e.constrainRotation(t,0);_ol_interaction_Interaction_.rotateWithoutConstraints(e,t,i,r)};_ol_interaction_Interaction_.rotateWithoutConstraints=function(e,t,i,r){if(t!==undefined){var n=e.getRotation();var o=e.getCenter();if(n!==undefined&&o&&r>0){e.animate({rotation:t,anchor:i,duration:r,easing:_ol_easing_.easeOut})}else{e.rotate(t,i)}}};_ol_interaction_Interaction_.zoom=function(e,t,i,r,n){t=e.constrainResolution(t,0,n);_ol_interaction_Interaction_.zoomWithoutConstraints(e,t,i,r)};_ol_interaction_Interaction_.zoomByDelta=function(e,t,i,r){var n=e.getResolution();var o=e.constrainResolution(n,t,0);if(o!==undefined){var _=e.getResolutions();o=_ol_math_.clamp(o,e.getMinResolution()||_[_.length-1],e.getMaxResolution()||_[0])}if(i&&o!==undefined&&o!==n){var a=e.getCenter();var s=e.calculateCenterZoom(o,i);s=e.constrainCenter(s);i=[(o*a[0]-n*s[0])/(o-n),(o*a[1]-n*s[1])/(o-n)]}_ol_interaction_Interaction_.zoomWithoutConstraints(e,o,i,r)};_ol_interaction_Interaction_.zoomWithoutConstraints=function(e,t,i,r){if(t){var n=e.getResolution();var o=e.getCenter();if(n!==undefined&&o&&t!==n&&r){e.animate({resolution:t,anchor:i,duration:r,easing:_ol_easing_.easeOut})}else{if(i){var _=e.calculateCenterZoom(t,i);e.setCenter(_)}e.setResolution(t)}}};var _ol_interaction_DoubleClickZoom_=function(e){var t=e?e:{};this.delta_=t.delta?t.delta:1;_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_DoubleClickZoom_.handleEvent});this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_DoubleClickZoom_,_ol_interaction_Interaction_);_ol_interaction_DoubleClickZoom_.handleEvent=function(e){var t=false;var i=e.originalEvent;if(e.type==_ol_MapBrowserEventType_.DBLCLICK){var r=e.map;var n=e.coordinate;var o=i.shiftKey?-this.delta_:this.delta_;var _=r.getView();_ol_interaction_Interaction_.zoomByDelta(_,o,n,this.duration_);e.preventDefault();t=true}return!t};var _ol_events_condition_={};_ol_events_condition_.altKeyOnly=function(e){var t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.altShiftKeysOnly=function(e){var t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey};_ol_events_condition_.always=_ol_functions_.TRUE;_ol_events_condition_.click=function(e){return e.type==_ol_MapBrowserEventType_.CLICK};_ol_events_condition_.mouseActionButton=function(e){var t=e.originalEvent;return t.button==0&&!(_ol_has_.WEBKIT&&_ol_has_.MAC&&t.ctrlKey)};_ol_events_condition_.never=_ol_functions_.FALSE;_ol_events_condition_.pointerMove=function(e){return e.type=="pointermove"};_ol_events_condition_.singleClick=function(e){return e.type==_ol_MapBrowserEventType_.SINGLECLICK};_ol_events_condition_.doubleClick=function(e){return e.type==_ol_MapBrowserEventType_.DBLCLICK};_ol_events_condition_.noModifierKeys=function(e){var t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.platformModifierKeyOnly=function(e){var t=e.originalEvent;return!t.altKey&&(_ol_has_.MAC?t.metaKey:t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.shiftKeyOnly=function(e){var t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey};_ol_events_condition_.targetNotEditable=function(e){var t=e.originalEvent.target;var i=t.tagName;return i!=="INPUT"&&i!=="SELECT"&&i!=="TEXTAREA"};_ol_events_condition_.mouseOnly=function(e){_ol_asserts_.assert(e.pointerEvent,56);return e.pointerEvent.pointerType=="mouse"};_ol_events_condition_.primaryAction=function(e){var t=e.pointerEvent;return t.isPrimary&&t.button===0};var _ol_interaction_Pointer_=function(e){var t=e?e:{};var i=t.handleEvent?t.handleEvent:_ol_interaction_Pointer_.handleEvent;_ol_interaction_Interaction_.call(this,{handleEvent:i});this.handleDownEvent_=t.handleDownEvent?t.handleDownEvent:_ol_interaction_Pointer_.handleDownEvent;this.handleDragEvent_=t.handleDragEvent?t.handleDragEvent:_ol_interaction_Pointer_.handleDragEvent;this.handleMoveEvent_=t.handleMoveEvent?t.handleMoveEvent:_ol_interaction_Pointer_.handleMoveEvent;this.handleUpEvent_=t.handleUpEvent?t.handleUpEvent:_ol_interaction_Pointer_.handleUpEvent;this.handlingDownUpSequence=false;this.trackedPointers_={};this.targetPointers=[]};_ol_.inherits(_ol_interaction_Pointer_,_ol_interaction_Interaction_);_ol_interaction_Pointer_.centroid=function(e){var t=e.length;var i=0;var r=0;for(var n=0;n<t;n++){i+=e[n].clientX;r+=e[n].clientY}return[i/t,r/t]};_ol_interaction_Pointer_.prototype.isPointerDraggingEvent_=function(e){var t=e.type;return t===_ol_MapBrowserEventType_.POINTERDOWN||t===_ol_MapBrowserEventType_.POINTERDRAG||t===_ol_MapBrowserEventType_.POINTERUP};_ol_interaction_Pointer_.prototype.updateTrackedPointers_=function(e){if(this.isPointerDraggingEvent_(e)){var t=e.pointerEvent;var i=t.pointerId.toString();if(e.type==_ol_MapBrowserEventType_.POINTERUP){delete this.trackedPointers_[i]}else if(e.type==_ol_MapBrowserEventType_.POINTERDOWN){this.trackedPointers_[i]=t}else if(i in this.trackedPointers_){this.trackedPointers_[i]=t}this.targetPointers=_ol_obj_.getValues(this.trackedPointers_)}};_ol_interaction_Pointer_.handleDragEvent=_ol_.nullFunction;_ol_interaction_Pointer_.handleUpEvent=_ol_functions_.FALSE;_ol_interaction_Pointer_.handleDownEvent=_ol_functions_.FALSE;_ol_interaction_Pointer_.handleMoveEvent=_ol_.nullFunction;_ol_interaction_Pointer_.handleEvent=function(e){if(!(e instanceof _ol_MapBrowserPointerEvent_)){return true}var t=false;this.updateTrackedPointers_(e);if(this.handlingDownUpSequence){if(e.type==_ol_MapBrowserEventType_.POINTERDRAG){this.handleDragEvent_(e)}else if(e.type==_ol_MapBrowserEventType_.POINTERUP){var i=this.handleUpEvent_(e);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else{if(e.type==_ol_MapBrowserEventType_.POINTERDOWN){var r=this.handleDownEvent_(e);this.handlingDownUpSequence=r;t=this.shouldStopEvent(r)}else if(e.type==_ol_MapBrowserEventType_.POINTERMOVE){this.handleMoveEvent_(e)}}return!t};_ol_interaction_Pointer_.prototype.shouldStopEvent=function(e){return e};var _ol_interaction_DragPan_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragPan_.handleDownEvent_,handleDragEvent:_ol_interaction_DragPan_.handleDragEvent_,handleUpEvent:_ol_interaction_DragPan_.handleUpEvent_});var t=e?e:{};this.kinetic_=t.kinetic;this.lastCentroid=null;this.condition_=t.condition?t.condition:_ol_events_condition_.noModifierKeys;this.noKinetic_=false};_ol_.inherits(_ol_interaction_DragPan_,_ol_interaction_Pointer_);_ol_interaction_DragPan_.handleDragEvent_=function(e){var t=this.targetPointers;var i=_ol_interaction_Pointer_.centroid(t);if(t.length==this.lastPointersCount_){if(this.kinetic_){this.kinetic_.update(i[0],i[1])}if(this.lastCentroid){var r=this.lastCentroid[0]-i[0];var n=i[1]-this.lastCentroid[1];var o=e.map;var _=o.getView();var a=_.getState();var s=[r,n];_ol_coordinate_.scale(s,a.resolution);_ol_coordinate_.rotate(s,a.rotation);_ol_coordinate_.add(s,a.center);s=_.constrainCenter(s);_.setCenter(s)}}else if(this.kinetic_){this.kinetic_.begin()}this.lastCentroid=i;this.lastPointersCount_=t.length};_ol_interaction_DragPan_.handleUpEvent_=function(e){var t=e.map;var i=t.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){var r=this.kinetic_.getDistance();var n=this.kinetic_.getAngle();var o=i.getCenter();var _=t.getPixelFromCoordinate(o);var a=t.getCoordinateFromPixel([_[0]-r*Math.cos(n),_[1]-r*Math.sin(n)]);i.animate({center:i.constrainCenter(a),duration:500,easing:_ol_easing_.easeOut})}i.setHint(_ol_ViewHint_.INTERACTING,-1);return false}else{if(this.kinetic_){this.kinetic_.begin()}this.lastCentroid=null;return true}};_ol_interaction_DragPan_.handleDownEvent_=function(e){if(this.targetPointers.length>0&&this.condition_(e)){var t=e.map;var i=t.getView();this.lastCentroid=null;if(!this.handlingDownUpSequence){i.setHint(_ol_ViewHint_.INTERACTING,1)}if(i.getAnimating()){i.setCenter(e.frameState.viewState.center)}if(this.kinetic_){this.kinetic_.begin()}this.noKinetic_=this.targetPointers.length>1;return true}else{return false}};_ol_interaction_DragPan_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_DragRotate_=function(e){var t=e?e:{};_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragRotate_.handleDownEvent_,handleDragEvent:_ol_interaction_DragRotate_.handleDragEvent_,handleUpEvent:_ol_interaction_DragRotate_.handleUpEvent_});this.condition_=t.condition?t.condition:_ol_events_condition_.altShiftKeysOnly;this.lastAngle_=undefined;this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_DragRotate_,_ol_interaction_Pointer_);_ol_interaction_DragRotate_.handleDragEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return}var t=e.map;var i=t.getView();if(i.getConstraints().rotation===_ol_RotationConstraint_.disable){return}var r=t.getSize();var n=e.pixel;var o=Math.atan2(r[1]/2-n[1],n[0]-r[0]/2);if(this.lastAngle_!==undefined){var _=o-this.lastAngle_;var a=i.getRotation();_ol_interaction_Interaction_.rotateWithoutConstraints(i,a-_)}this.lastAngle_=o};_ol_interaction_DragRotate_.handleUpEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return true}var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);var r=i.getRotation();_ol_interaction_Interaction_.rotate(i,r,undefined,this.duration_);return false};_ol_interaction_DragRotate_.handleDownEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return false}if(_ol_events_condition_.mouseActionButton(e)&&this.condition_(e)){var t=e.map;t.getView().setHint(_ol_ViewHint_.INTERACTING,1);this.lastAngle_=undefined;return true}else{return false}};_ol_interaction_DragRotate_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_render_Box_=function(e){this.geometry_=null;this.element_=document.createElement("div");this.element_.style.position="absolute";this.element_.className="ol-box "+e;this.map_=null;this.startPixel_=null;this.endPixel_=null};_ol_.inherits(_ol_render_Box_,_ol_Disposable_);_ol_render_Box_.prototype.disposeInternal=function(){this.setMap(null)};_ol_render_Box_.prototype.render_=function(){var e=this.startPixel_;var t=this.endPixel_;var i="px";var r=this.element_.style;r.left=Math.min(e[0],t[0])+i;r.top=Math.min(e[1],t[1])+i;r.width=Math.abs(t[0]-e[0])+i;r.height=Math.abs(t[1]-e[1])+i};_ol_render_Box_.prototype.setMap=function(e){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);var t=this.element_.style;t.left=t.top=t.width=t.height="inherit"}this.map_=e;if(this.map_){this.map_.getOverlayContainer().appendChild(this.element_)}};_ol_render_Box_.prototype.setPixels=function(e,t){this.startPixel_=e;this.endPixel_=t;this.createOrUpdateGeometry();this.render_()};_ol_render_Box_.prototype.createOrUpdateGeometry=function(){var e=this.startPixel_;var t=this.endPixel_;var i=[e,[e[0],t[1]],t,[t[0],e[1]]];var r=i.map(this.map_.getCoordinateFromPixel,this.map_);r[4]=r[0].slice();if(!this.geometry_){this.geometry_=new _ol_geom_Polygon_([r])}else{this.geometry_.setCoordinates([r])}};_ol_render_Box_.prototype.getGeometry=function(){return this.geometry_};var _ol_interaction_DragBox_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragBox_.handleDownEvent_,handleDragEvent:_ol_interaction_DragBox_.handleDragEvent_,handleUpEvent:_ol_interaction_DragBox_.handleUpEvent_});var t=e?e:{};this.box_=new _ol_render_Box_(t.className||"ol-dragbox");this.minArea_=t.minArea!==undefined?t.minArea:64;this.startPixel_=null;this.condition_=t.condition?t.condition:_ol_events_condition_.always;this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:_ol_interaction_DragBox_.defaultBoxEndCondition};_ol_.inherits(_ol_interaction_DragBox_,_ol_interaction_Pointer_);_ol_interaction_DragBox_.defaultBoxEndCondition=function(e,t,i){var r=i[0]-t[0];var n=i[1]-t[1];return r*r+n*n>=this.minArea_};_ol_interaction_DragBox_.handleDragEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return}this.box_.setPixels(this.startPixel_,e.pixel);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXDRAG,e.coordinate,e))};_ol_interaction_DragBox_.prototype.getGeometry=function(){return this.box_.getGeometry()};_ol_interaction_DragBox_.prototype.onBoxEnd=_ol_.nullFunction;_ol_interaction_DragBox_.handleUpEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return true}this.box_.setMap(null);if(this.boxEndCondition_(e,this.startPixel_,e.pixel)){this.onBoxEnd(e);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXEND,e.coordinate,e))}return false};_ol_interaction_DragBox_.handleDownEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return false}if(_ol_events_condition_.mouseActionButton(e)&&this.condition_(e)){this.startPixel_=e.pixel;this.box_.setMap(e.map);this.box_.setPixels(this.startPixel_,this.startPixel_);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXSTART,e.coordinate,e));return true}else{return false}};_ol_interaction_DragBox_.EventType_={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend"};_ol_interaction_DragBox_.Event=function(e,t,i){_ol_events_Event_.call(this,e);this.coordinate=t;this.mapBrowserEvent=i};_ol_.inherits(_ol_interaction_DragBox_.Event,_ol_events_Event_);var _ol_interaction_DragZoom_=function(e){var t=e?e:{};var i=t.condition?t.condition:_ol_events_condition_.shiftKeyOnly;this.duration_=t.duration!==undefined?t.duration:200;this.out_=t.out!==undefined?t.out:false;_ol_interaction_DragBox_.call(this,{condition:i,className:t.className||"ol-dragzoom"})};_ol_.inherits(_ol_interaction_DragZoom_,_ol_interaction_DragBox_);_ol_interaction_DragZoom_.prototype.onBoxEnd=function(){var e=this.getMap();var t=e.getView();var i=e.getSize();var r=this.getGeometry().getExtent();if(this.out_){var n=t.calculateExtent(i);var o=_ol_extent_.createOrUpdateFromCoordinates([e.getPixelFromCoordinate(_ol_extent_.getBottomLeft(r)),e.getPixelFromCoordinate(_ol_extent_.getTopRight(r))]);var _=t.getResolutionForExtent(o,i);_ol_extent_.scaleFromCenter(n,1/_);r=n}var a=t.constrainResolution(t.getResolutionForExtent(r,i));var s=_ol_extent_.getCenter(r);s=t.constrainCenter(s);t.animate({resolution:a,center:s,duration:this.duration_,easing:_ol_easing_.easeOut})};var _ol_events_KeyCode_={LEFT:37,UP:38,RIGHT:39,DOWN:40};var _ol_interaction_KeyboardPan_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_KeyboardPan_.handleEvent});var t=e||{};this.defaultCondition_=function(e){return _ol_events_condition_.noModifierKeys(e)&&_ol_events_condition_.targetNotEditable(e)};this.condition_=t.condition!==undefined?t.condition:this.defaultCondition_;this.duration_=t.duration!==undefined?t.duration:100;this.pixelDelta_=t.pixelDelta!==undefined?t.pixelDelta:128};_ol_.inherits(_ol_interaction_KeyboardPan_,_ol_interaction_Interaction_);_ol_interaction_KeyboardPan_.handleEvent=function(e){var t=false;if(e.type==_ol_events_EventType_.KEYDOWN){var i=e.originalEvent;var r=i.keyCode;if(this.condition_(e)&&(r==_ol_events_KeyCode_.DOWN||r==_ol_events_KeyCode_.LEFT||r==_ol_events_KeyCode_.RIGHT||r==_ol_events_KeyCode_.UP)){var n=e.map;var o=n.getView();var _=o.getResolution()*this.pixelDelta_;var a=0,s=0;if(r==_ol_events_KeyCode_.DOWN){s=-_}else if(r==_ol_events_KeyCode_.LEFT){a=-_}else if(r==_ol_events_KeyCode_.RIGHT){a=_}else{s=_}var l=[a,s];_ol_coordinate_.rotate(l,o.getRotation());_ol_interaction_Interaction_.pan(o,l,this.duration_);e.preventDefault();t=true}}return!t};var _ol_interaction_KeyboardZoom_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_KeyboardZoom_.handleEvent});var t=e?e:{};this.condition_=t.condition?t.condition:_ol_events_condition_.targetNotEditable;this.delta_=t.delta?t.delta:1;this.duration_=t.duration!==undefined?t.duration:100};_ol_.inherits(_ol_interaction_KeyboardZoom_,_ol_interaction_Interaction_);_ol_interaction_KeyboardZoom_.handleEvent=function(e){var t=false;if(e.type==_ol_events_EventType_.KEYDOWN||e.type==_ol_events_EventType_.KEYPRESS){var i=e.originalEvent;var r=i.charCode;if(this.condition_(e)&&(r=="+".charCodeAt(0)||r=="-".charCodeAt(0))){var n=e.map;var o=r=="+".charCodeAt(0)?this.delta_:-this.delta_;var _=n.getView();_ol_interaction_Interaction_.zoomByDelta(_,o,undefined,this.duration_);e.preventDefault();t=true}}return!t};var _ol_interaction_MouseWheelZoom_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_MouseWheelZoom_.handleEvent});var t=e||{};this.delta_=0;this.duration_=t.duration!==undefined?t.duration:250;this.timeout_=t.timeout!==undefined?t.timeout:80;this.useAnchor_=t.useAnchor!==undefined?t.useAnchor:true;this.constrainResolution_=t.constrainResolution||false;this.lastAnchor_=null;this.startTime_=undefined;this.timeoutId_=undefined;this.mode_=undefined;this.trackpadEventGap_=400;this.trackpadTimeoutId_=undefined;this.trackpadDeltaPerZoom_=300;this.trackpadZoomBuffer_=1.5};_ol_.inherits(_ol_interaction_MouseWheelZoom_,_ol_interaction_Interaction_);_ol_interaction_MouseWheelZoom_.handleEvent=function(e){var t=e.type;if(t!==_ol_events_EventType_.WHEEL&&t!==_ol_events_EventType_.MOUSEWHEEL){return true}e.preventDefault();var i=e.map;var r=e.originalEvent;if(this.useAnchor_){this.lastAnchor_=e.coordinate}var n;if(e.type==_ol_events_EventType_.WHEEL){n=r.deltaY;if(_ol_has_.FIREFOX&&r.deltaMode===WheelEvent.DOM_DELTA_PIXEL){n/=_ol_has_.DEVICE_PIXEL_RATIO}if(r.deltaMode===WheelEvent.DOM_DELTA_LINE){n*=40}}else if(e.type==_ol_events_EventType_.MOUSEWHEEL){n=-r.wheelDeltaY;if(_ol_has_.SAFARI){n/=3}}if(n===0){return false}var o=Date.now();if(this.startTime_===undefined){this.startTime_=o}if(!this.mode_||o-this.startTime_>this.trackpadEventGap_){this.mode_=Math.abs(n)<4?_ol_interaction_MouseWheelZoom_.Mode_.TRACKPAD:_ol_interaction_MouseWheelZoom_.Mode_.WHEEL}if(this.mode_===_ol_interaction_MouseWheelZoom_.Mode_.TRACKPAD){var _=i.getView();if(this.trackpadTimeoutId_){clearTimeout(this.trackpadTimeoutId_)}else{_.setHint(_ol_ViewHint_.INTERACTING,1)}this.trackpadTimeoutId_=setTimeout(this.decrementInteractingHint_.bind(this),this.trackpadEventGap_);var a=_.getResolution()*Math.pow(2,n/this.trackpadDeltaPerZoom_);var s=_.getMinResolution();var l=_.getMaxResolution();var h=0;if(a<s){a=Math.max(a,s/this.trackpadZoomBuffer_);h=1}else if(a>l){a=Math.min(a,l*this.trackpadZoomBuffer_);h=-1}if(this.lastAnchor_){var u=_.calculateCenterZoom(a,this.lastAnchor_);_.setCenter(_.constrainCenter(u))}_.setResolution(a);if(h===0&&this.constrainResolution_){_.animate({resolution:_.constrainResolution(a,n>0?-1:1),easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:this.duration_})}if(h>0){_.animate({resolution:s,easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:500})}else if(h<0){_.animate({resolution:l,easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:500})}this.startTime_=o;return false}this.delta_+=n;var c=Math.max(this.timeout_-(o-this.startTime_),0);clearTimeout(this.timeoutId_);this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),c);return false};_ol_interaction_MouseWheelZoom_.prototype.decrementInteractingHint_=function(){this.trackpadTimeoutId_=undefined;var e=this.getMap().getView();e.setHint(_ol_ViewHint_.INTERACTING,-1)};_ol_interaction_MouseWheelZoom_.prototype.handleWheelZoom_=function(e){var t=e.getView();if(t.getAnimating()){t.cancelAnimations()}var i=_ol_.MOUSEWHEELZOOM_MAXDELTA;var r=_ol_math_.clamp(this.delta_,-i,i);_ol_interaction_Interaction_.zoomByDelta(t,-r,this.lastAnchor_,this.duration_);this.mode_=undefined;this.delta_=0;this.lastAnchor_=null;this.startTime_=undefined;this.timeoutId_=undefined};_ol_interaction_MouseWheelZoom_.prototype.setMouseAnchor=function(e){this.useAnchor_=e;if(!e){this.lastAnchor_=null}};_ol_interaction_MouseWheelZoom_.Mode_={TRACKPAD:"trackpad",WHEEL:"wheel"};var _ol_interaction_PinchRotate_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_PinchRotate_.handleDownEvent_,handleDragEvent:_ol_interaction_PinchRotate_.handleDragEvent_,handleUpEvent:_ol_interaction_PinchRotate_.handleUpEvent_});var t=e||{};this.anchor_=null;this.lastAngle_=undefined;this.rotating_=false;this.rotationDelta_=0;this.threshold_=t.threshold!==undefined?t.threshold:.3;this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_PinchRotate_,_ol_interaction_Pointer_);_ol_interaction_PinchRotate_.handleDragEvent_=function(e){var t=0;var i=this.targetPointers[0];var r=this.targetPointers[1];var n=Math.atan2(r.clientY-i.clientY,r.clientX-i.clientX);if(this.lastAngle_!==undefined){var o=n-this.lastAngle_;this.rotationDelta_+=o;if(!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_){this.rotating_=true}t=o}this.lastAngle_=n;var _=e.map;var a=_.getView();if(a.getConstraints().rotation===_ol_RotationConstraint_.disable){return}var s=_.getViewport().getBoundingClientRect();var l=_ol_interaction_Pointer_.centroid(this.targetPointers);l[0]-=s.left;l[1]-=s.top;this.anchor_=_.getCoordinateFromPixel(l);if(this.rotating_){var h=a.getRotation();_.render();_ol_interaction_Interaction_.rotateWithoutConstraints(a,h+t,this.anchor_)}};_ol_interaction_PinchRotate_.handleUpEvent_=function(e){if(this.targetPointers.length<2){var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);if(this.rotating_){var r=i.getRotation();_ol_interaction_Interaction_.rotate(i,r,this.anchor_,this.duration_)}return false}else{return true}};_ol_interaction_PinchRotate_.handleDownEvent_=function(e){if(this.targetPointers.length>=2){var t=e.map;this.anchor_=null;this.lastAngle_=undefined;this.rotating_=false;this.rotationDelta_=0;if(!this.handlingDownUpSequence){t.getView().setHint(_ol_ViewHint_.INTERACTING,1)}return true}else{return false}};_ol_interaction_PinchRotate_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_PinchZoom_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_PinchZoom_.handleDownEvent_,handleDragEvent:_ol_interaction_PinchZoom_.handleDragEvent_,handleUpEvent:_ol_interaction_PinchZoom_.handleUpEvent_});var t=e?e:{};this.constrainResolution_=t.constrainResolution||false;this.anchor_=null;this.duration_=t.duration!==undefined?t.duration:400;this.lastDistance_=undefined;this.lastScaleDelta_=1};_ol_.inherits(_ol_interaction_PinchZoom_,_ol_interaction_Pointer_);_ol_interaction_PinchZoom_.handleDragEvent_=function(e){var t=1;var i=this.targetPointers[0];var r=this.targetPointers[1];var n=i.clientX-r.clientX;var o=i.clientY-r.clientY;var _=Math.sqrt(n*n+o*o);if(this.lastDistance_!==undefined){t=this.lastDistance_/_}this.lastDistance_=_;var a=e.map;var s=a.getView();var l=s.getResolution();var h=s.getMaxResolution();var u=s.getMinResolution();var c=l*t;if(c>h){t=h/l;c=h}else if(c<u){t=u/l;c=u}if(t!=1){this.lastScaleDelta_=t}var f=a.getViewport().getBoundingClientRect();var d=_ol_interaction_Pointer_.centroid(this.targetPointers);d[0]-=f.left;d[1]-=f.top;this.anchor_=a.getCoordinateFromPixel(d);a.render();_ol_interaction_Interaction_.zoomWithoutConstraints(s,c,this.anchor_)};_ol_interaction_PinchZoom_.handleUpEvent_=function(e){if(this.targetPointers.length<2){var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);var r=i.getResolution();if(this.constrainResolution_||r<i.getMinResolution()||r>i.getMaxResolution()){var n=this.lastScaleDelta_-1;_ol_interaction_Interaction_.zoom(i,r,this.anchor_,this.duration_,n)}return false}else{return true}};_ol_interaction_PinchZoom_.handleDownEvent_=function(e){if(this.targetPointers.length>=2){var t=e.map;this.anchor_=null;this.lastDistance_=undefined;this.lastScaleDelta_=1;if(!this.handlingDownUpSequence){t.getView().setHint(_ol_ViewHint_.INTERACTING,1)}return true}else{return false}};_ol_interaction_PinchZoom_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_={};_ol_interaction_.defaults=function(e){var t=e?e:{};var i=new _ol_Collection_;var r=new _ol_Kinetic_(-.005,.05,100);var n=t.altShiftDragRotate!==undefined?t.altShiftDragRotate:true;if(n){i.push(new _ol_interaction_DragRotate_)}var o=t.doubleClickZoom!==undefined?t.doubleClickZoom:true;if(o){i.push(new _ol_interaction_DoubleClickZoom_({delta:t.zoomDelta,duration:t.zoomDuration}))}var _=t.dragPan!==undefined?t.dragPan:true;if(_){i.push(new _ol_interaction_DragPan_({kinetic:r}))}var a=t.pinchRotate!==undefined?t.pinchRotate:true;if(a){i.push(new _ol_interaction_PinchRotate_)}var s=t.pinchZoom!==undefined?t.pinchZoom:true;if(s){i.push(new _ol_interaction_PinchZoom_({constrainResolution:t.constrainResolution,duration:t.zoomDuration}))}var l=t.keyboard!==undefined?t.keyboard:true;if(l){i.push(new _ol_interaction_KeyboardPan_);i.push(new _ol_interaction_KeyboardZoom_({delta:t.zoomDelta,duration:t.zoomDuration}))}var h=t.mouseWheelZoom!==undefined?t.mouseWheelZoom:true;if(h){i.push(new _ol_interaction_MouseWheelZoom_({constrainResolution:t.constrainResolution,duration:t.zoomDuration}))}var u=t.shiftDragZoom!==undefined?t.shiftDragZoom:true;if(u){i.push(new _ol_interaction_DragZoom_({duration:t.zoomDuration}))}return i};var _ol_ImageBase_=function(e,t,i,r){_ol_events_EventTarget_.call(this);this.extent=e;this.pixelRatio_=i;this.resolution=t;this.state=r};_ol_.inherits(_ol_ImageBase_,_ol_events_EventTarget_);_ol_ImageBase_.prototype.changed=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_ImageBase_.prototype.getExtent=function(){return this.extent};_ol_ImageBase_.prototype.getImage=function(){};_ol_ImageBase_.prototype.getPixelRatio=function(){return this.pixelRatio_};_ol_ImageBase_.prototype.getResolution=function(){return this.resolution};_ol_ImageBase_.prototype.getState=function(){return this.state};_ol_ImageBase_.prototype.load=function(){};var _ol_ImageState_={IDLE:0,LOADING:1,LOADED:2,ERROR:3};var _ol_ImageCanvas_=function(e,t,i,r,n){this.loader_=n!==undefined?n:null;var o=n!==undefined?_ol_ImageState_.IDLE:_ol_ImageState_.LOADED;_ol_ImageBase_.call(this,e,t,i,o);this.canvas_=r;this.error_=null};_ol_.inherits(_ol_ImageCanvas_,_ol_ImageBase_);_ol_ImageCanvas_.prototype.getError=function(){return this.error_};_ol_ImageCanvas_.prototype.handleLoad_=function(e){if(e){this.error_=e;this.state=_ol_ImageState_.ERROR}else{this.state=_ol_ImageState_.LOADED}this.changed()};_ol_ImageCanvas_.prototype.load=function(){if(this.state==_ol_ImageState_.IDLE){this.state=_ol_ImageState_.LOADING;this.changed();this.loader_(this.handleLoad_.bind(this))}};_ol_ImageCanvas_.prototype.getImage=function(){return this.canvas_};var _ol_LayerType_={IMAGE:"IMAGE",TILE:"TILE",VECTOR_TILE:"VECTOR_TILE",VECTOR:"VECTOR"};var _ol_layer_VectorRenderType_={IMAGE:"image",VECTOR:"vector"};var _ol_render_Event_=function(e,t,i,r,n){_ol_events_Event_.call(this,e);this.vectorContext=t;this.frameState=i;this.context=r;this.glContext=n};_ol_.inherits(_ol_render_Event_,_ol_events_Event_);var _ol_structs_LRUCache_=function(e){_ol_events_EventTarget_.call(this);this.highWaterMark=e!==undefined?e:2048;this.count_=0;this.entries_={};this.oldest_=null;this.newest_=null};_ol_.inherits(_ol_structs_LRUCache_,_ol_events_EventTarget_);_ol_structs_LRUCache_.prototype.canExpireCache=function(){return this.getCount()>this.highWaterMark};_ol_structs_LRUCache_.prototype.clear=function(){this.count_=0;this.entries_={};this.oldest_=null;this.newest_=null;this.dispatchEvent(_ol_events_EventType_.CLEAR)};_ol_structs_LRUCache_.prototype.containsKey=function(e){return this.entries_.hasOwnProperty(e)};_ol_structs_LRUCache_.prototype.forEach=function(e,t){var i=this.oldest_;while(i){e.call(t,i.value_,i.key_,this);i=i.newer}};_ol_structs_LRUCache_.prototype.get=function(e){var t=this.entries_[e];_ol_asserts_.assert(t!==undefined,15);if(t===this.newest_){return t.value_}else if(t===this.oldest_){this.oldest_=this.oldest_.newer;this.oldest_.older=null}else{t.newer.older=t.older;t.older.newer=t.newer}t.newer=null;t.older=this.newest_;this.newest_.newer=t;this.newest_=t;return t.value_};_ol_structs_LRUCache_.prototype.remove=function(e){var t=this.entries_[e];_ol_asserts_.assert(t!==undefined,15);if(t===this.newest_){this.newest_=t.older;if(this.newest_){this.newest_.newer=null}}else if(t===this.oldest_){this.oldest_=t.newer;if(this.oldest_){this.oldest_.older=null}}else{t.newer.older=t.older;t.older.newer=t.newer}delete this.entries_[e];--this.count_;return t.value_};_ol_structs_LRUCache_.prototype.getCount=function(){return this.count_};_ol_structs_LRUCache_.prototype.getKeys=function(){var e=new Array(this.count_);var t=0;var i;for(i=this.newest_;i;i=i.older){e[t++]=i.key_}return e};_ol_structs_LRUCache_.prototype.getValues=function(){var e=new Array(this.count_);var t=0;var i;for(i=this.newest_;i;i=i.older){e[t++]=i.value_}return e};_ol_structs_LRUCache_.prototype.peekLast=function(){return this.oldest_.value_};_ol_structs_LRUCache_.prototype.peekLastKey=function(){return this.oldest_.key_};_ol_structs_LRUCache_.prototype.peekFirstKey=function(){return this.newest_.key_};_ol_structs_LRUCache_.prototype.pop=function(){var e=this.oldest_;delete this.entries_[e.key_];if(e.newer){e.newer.older=null}this.oldest_=e.newer;if(!this.oldest_){this.newest_=null}--this.count_;return e.value_};_ol_structs_LRUCache_.prototype.replace=function(e,t){this.get(e);this.entries_[e].value_=t};_ol_structs_LRUCache_.prototype.set=function(e,t){_ol_asserts_.assert(!(e in this.entries_),16);var i={key_:e,newer:null,older:this.newest_,value_:t};if(!this.newest_){this.oldest_=i}else{this.newest_.newer=i}this.newest_=i;this.entries_[e]=i;++this.count_};_ol_structs_LRUCache_.prototype.prune=function(){while(this.canExpireCache()){this.pop()}};var _ol_render_canvas_={};_ol_render_canvas_.defaultFont="10px sans-serif";_ol_render_canvas_.defaultFillStyle=[0,0,0,1];_ol_render_canvas_.defaultLineCap="round";_ol_render_canvas_.defaultLineDash=[];_ol_render_canvas_.defaultLineDashOffset=0;_ol_render_canvas_.defaultLineJoin="round";_ol_render_canvas_.defaultMiterLimit=10;_ol_render_canvas_.defaultStrokeStyle=[0,0,0,1];_ol_render_canvas_.defaultTextAlign="center";_ol_render_canvas_.defaultTextBaseline="middle";_ol_render_canvas_.defaultPadding=[0,0,0,0];_ol_render_canvas_.defaultLineWidth=1;_ol_render_canvas_.labelCache=new _ol_structs_LRUCache_;_ol_render_canvas_.checkedFonts_={};_ol_render_canvas_.measureContext_=null;_ol_render_canvas_.textHeights_={};_ol_render_canvas_.checkFont=function(){var e=60;var t=_ol_render_canvas_.checkedFonts_;var i=_ol_render_canvas_.labelCache;var r="32px monospace";var n="wmytzilWMYTZIL@#/&?$%10";var o,_;function a(e){var t=_ol_render_canvas_.getMeasureContext();t.font=r;_=t.measureText(n).width;var i=true;if(e!="monospace"){t.font="32px "+e+",monospace";var o=t.measureText(n).width;i=o!=_}return i}function s(){var r=true;for(var n in t){if(t[n]<e){if(a(n)){t[n]=e;_ol_obj_.clear(_ol_render_canvas_.textHeights_);_ol_render_canvas_.measureContext_=null;i.clear()}else{++t[n];r=false}}}if(r){window.clearInterval(o);o=undefined}}return function(i){var r=_ol_css_.getFontFamilies(i);if(!r){return}for(var n=0,_=r.length;n<_;++n){var l=r[n];if(!(l in t)){t[l]=e;if(!a(l)){t[l]=0;if(o===undefined){o=window.setInterval(s,32)}}}}}}();_ol_render_canvas_.getMeasureContext=function(){var e=_ol_render_canvas_.measureContext_;if(!e){e=_ol_render_canvas_.measureContext_=_ol_dom_.createCanvasContext2D(1,1)}return e};_ol_render_canvas_.measureTextHeight=function(){var e;var t=_ol_render_canvas_.textHeights_;return function(i){var r=t[i];if(r==undefined){if(!e){e=document.createElement("span");e.textContent="M";e.style.margin=e.style.padding="0 !important";e.style.position="absolute !important";e.style.left="-99999px !important"}e.style.font=i;document.body.appendChild(e);r=t[i]=e.offsetHeight;document.body.removeChild(e)}return r}}();_ol_render_canvas_.measureTextWidth=function(e,t){var i=_ol_render_canvas_.getMeasureContext();if(e!=i.font){i.font=e}return i.measureText(t).width};_ol_render_canvas_.rotateAtOffset=function(e,t,i,r){if(t!==0){e.translate(i,r);e.rotate(t);e.translate(-i,-r)}};_ol_render_canvas_.resetTransform_=_ol_transform_.create();_ol_render_canvas_.drawImage=function(e,t,i,r,n,o,_,a,s,l,h){var u;if(i!=1){u=e.globalAlpha;e.globalAlpha=u*i}if(t){e.setTransform.apply(e,t)}e.drawImage(r,n,o,_,a,s,l,_*h,a*h);if(u){e.globalAlpha=u}if(t){e.setTransform.apply(e,_ol_render_canvas_.resetTransform_)}};var _ol_color_={};_ol_color_.HEX_COLOR_RE_=/^#(?:[0-9a-f]{3,4}){1,2}$/i;_ol_color_.NAMED_COLOR_RE_=/^([a-z]*)$/i;_ol_color_.asArray=function(e){if(Array.isArray(e)){return e}else{return _ol_color_.fromString(e)}};_ol_color_.asString=function(e){if(typeof e==="string"){return e}else{return _ol_color_.toString(e)}};_ol_color_.fromNamed=function(e){var t=document.createElement("div");t.style.color=e;document.body.appendChild(t);var i=getComputedStyle(t).color;document.body.removeChild(t);return i};_ol_color_.fromString=function(){var e=1024;var t={};var i=0;return function(r){var n;if(t.hasOwnProperty(r)){n=t[r]}else{if(i>=e){var o=0;var _;for(_ in t){if((o++&3)===0){delete t[_];--i}}}n=_ol_color_.fromStringInternal_(r);t[r]=n;++i}return n}}();_ol_color_.fromStringInternal_=function(e){var t,i,r,n,o,_;if(_ol_color_.NAMED_COLOR_RE_.exec(e)){e=_ol_color_.fromNamed(e)}if(_ol_color_.HEX_COLOR_RE_.exec(e)){var a=e.length-1;var s;if(a<=4){s=1}else{s=2}var l=a===4||a===8;t=parseInt(e.substr(1+0*s,s),16);i=parseInt(e.substr(1+1*s,s),16);r=parseInt(e.substr(1+2*s,s),16);if(l){n=parseInt(e.substr(1+3*s,s),16)}else{n=255}if(s==1){t=(t<<4)+t;i=(i<<4)+i;r=(r<<4)+r;if(l){n=(n<<4)+n}}o=[t,i,r,n/255]}else if(e.indexOf("rgba(")==0){_=e.slice(5,-1).split(",").map(Number);o=_ol_color_.normalize(_)}else if(e.indexOf("rgb(")==0){_=e.slice(4,-1).split(",").map(Number);_.push(1);o=_ol_color_.normalize(_)}else{_ol_asserts_.assert(false,14)}return o};_ol_color_.normalize=function(e,t){var i=t||[];i[0]=_ol_math_.clamp(e[0]+.5|0,0,255);i[1]=_ol_math_.clamp(e[1]+.5|0,0,255);i[2]=_ol_math_.clamp(e[2]+.5|0,0,255);i[3]=_ol_math_.clamp(e[3],0,1);return i};_ol_color_.toString=function(e){var t=e[0];if(t!=(t|0)){t=t+.5|0}var i=e[1];if(i!=(i|0)){i=i+.5|0}var r=e[2];if(r!=(r|0)){r=r+.5|0}var n=e[3]===undefined?1:e[3];return"rgba("+t+","+i+","+r+","+n+")"};var _ol_colorlike_={};_ol_colorlike_.asColorLike=function(e){if(_ol_colorlike_.isColorLike(e)){return e}else{return _ol_color_.asString(e)}};_ol_colorlike_.isColorLike=function(e){return typeof e==="string"||e instanceof CanvasPattern||e instanceof CanvasGradient};var _ol_render_VectorContext_=function(){};_ol_render_VectorContext_.prototype.drawCustom=function(e,t,i){};_ol_render_VectorContext_.prototype.drawGeometry=function(e){};_ol_render_VectorContext_.prototype.setStyle=function(e){};_ol_render_VectorContext_.prototype.drawCircle=function(e,t){};_ol_render_VectorContext_.prototype.drawFeature=function(e,t){};_ol_render_VectorContext_.prototype.drawGeometryCollection=function(e,t){};_ol_render_VectorContext_.prototype.drawLineString=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiLineString=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiPoint=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiPolygon=function(e,t){};_ol_render_VectorContext_.prototype.drawPoint=function(e,t){};_ol_render_VectorContext_.prototype.drawPolygon=function(e,t){};_ol_render_VectorContext_.prototype.drawText=function(e,t){};_ol_render_VectorContext_.prototype.setFillStrokeStyle=function(e,t){};_ol_render_VectorContext_.prototype.setImageStyle=function(e,t){};_ol_render_VectorContext_.prototype.setTextStyle=function(e,t){};var _ol_render_canvas_Immediate_=function(e,t,i,r,n){_ol_render_VectorContext_.call(this);this.context_=e;this.pixelRatio_=t;this.extent_=i;this.transform_=r;this.viewRotation_=n;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_=false;this.imageRotation_=0;this.imageScale_=0;this.imageSnapToPixel_=false;this.imageWidth_=0;this.text_="";this.textOffsetX_=0;this.textOffsetY_=0;this.textRotateWithView_=false;this.textRotation_=0;this.textScale_=0;this.textFillState_=null;this.textStrokeState_=null;this.textState_=null;this.pixelCoordinates_=[];this.tmpLocalTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_Immediate_,_ol_render_VectorContext_);_ol_render_canvas_Immediate_.prototype.drawImages_=function(e,t,i,r){if(!this.image_){return}var n=_ol_geom_flat_transform_.transform2D(e,t,i,2,this.transform_,this.pixelCoordinates_);var o=this.context_;var _=this.tmpLocalTransform_;var a=o.globalAlpha;if(this.imageOpacity_!=1){o.globalAlpha=a*this.imageOpacity_}var s=this.imageRotation_;if(this.imageRotateWithView_){s+=this.viewRotation_}var l,h;for(l=0,h=n.length;l<h;l+=2){var u=n[l]-this.imageAnchorX_;var c=n[l+1]-this.imageAnchorY_;if(this.imageSnapToPixel_){u=Math.round(u);c=Math.round(c)}if(s!==0||this.imageScale_!=1){var f=u+this.imageAnchorX_;var d=c+this.imageAnchorY_;_ol_transform_.compose(_,f,d,this.imageScale_,this.imageScale_,s,-f,-d);o.setTransform.apply(o,_)}o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,u,c,this.imageWidth_,this.imageHeight_)}if(s!==0||this.imageScale_!=1){o.setTransform(1,0,0,1,0,0)}if(this.imageOpacity_!=1){o.globalAlpha=a}};_ol_render_canvas_Immediate_.prototype.drawText_=function(e,t,i,r){if(!this.textState_||this.text_===""){return}if(this.textFillState_){this.setContextFillState_(this.textFillState_)}if(this.textStrokeState_){this.setContextStrokeState_(this.textStrokeState_)}this.setContextTextState_(this.textState_);var n=_ol_geom_flat_transform_.transform2D(e,t,i,r,this.transform_,this.pixelCoordinates_);var o=this.context_;var _=this.textRotation_;if(this.textRotateWithView_){_+=this.viewRotation_}for(;t<i;t+=r){var a=n[t]+this.textOffsetX_;var s=n[t+1]+this.textOffsetY_;if(_!==0||this.textScale_!=1){var l=_ol_transform_.compose(this.tmpLocalTransform_,a,s,this.textScale_,this.textScale_,_,-a,-s);o.setTransform.apply(o,l)}if(this.textStrokeState_){o.strokeText(this.text_,a,s)}if(this.textFillState_){o.fillText(this.text_,a,s)}}if(_!==0||this.textScale_!=1){o.setTransform(1,0,0,1,0,0)}};_ol_render_canvas_Immediate_.prototype.moveToLineTo_=function(e,t,i,r,n){var o=this.context_;var _=_ol_geom_flat_transform_.transform2D(e,t,i,r,this.transform_,this.pixelCoordinates_);o.moveTo(_[0],_[1]);var a=_.length;if(n){a-=2}for(var s=2;s<a;s+=2){o.lineTo(_[s],_[s+1])}if(n){o.closePath()}return i};_ol_render_canvas_Immediate_.prototype.drawRings_=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){t=this.moveToLineTo_(e,t,i[n],r,true)}return t};_ol_render_canvas_Immediate_.prototype.drawCircle=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.fillState_||this.strokeState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=_ol_geom_SimpleGeometry_.transform2D(e,this.transform_,this.pixelCoordinates_);var i=t[2]-t[0];var r=t[3]-t[1];var n=Math.sqrt(i*i+r*r);var o=this.context_;o.beginPath();o.arc(t[0],t[1],n,0,2*Math.PI);if(this.fillState_){o.fill()}if(this.strokeState_){o.stroke()}}if(this.text_!==""){this.drawText_(e.getCenter(),0,2,2)}};_ol_render_canvas_Immediate_.prototype.setStyle=function(e){this.setFillStrokeStyle(e.getFill(),e.getStroke());this.setImageStyle(e.getImage());this.setTextStyle(e.getText())};_ol_render_canvas_Immediate_.prototype.drawGeometry=function(e){var t=e.getType();switch(t){case _ol_geom_GeometryType_.POINT:this.drawPoint(e);break;case _ol_geom_GeometryType_.LINE_STRING:this.drawLineString(e);break;case _ol_geom_GeometryType_.POLYGON:this.drawPolygon(e);break;case _ol_geom_GeometryType_.MULTI_POINT:this.drawMultiPoint(e);break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:this.drawMultiLineString(e);break;case _ol_geom_GeometryType_.MULTI_POLYGON:this.drawMultiPolygon(e);break;case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:this.drawGeometryCollection(e);break;case _ol_geom_GeometryType_.CIRCLE:this.drawCircle(e);break}};_ol_render_canvas_Immediate_.prototype.drawFeature=function(e,t){var i=t.getGeometryFunction()(e);if(!i||!_ol_extent_.intersects(this.extent_,i.getExtent())){return}this.setStyle(t);this.drawGeometry(i)};_ol_render_canvas_Immediate_.prototype.drawGeometryCollection=function(e){var t=e.getGeometriesArray();var i,r;for(i=0,r=t.length;i<r;++i){this.drawGeometry(t[i])}};_ol_render_canvas_Immediate_.prototype.drawPoint=function(e){var t=e.getFlatCoordinates();var i=e.getStride();if(this.image_){this.drawImages_(t,0,t.length,i)}if(this.text_!==""){this.drawText_(t,0,t.length,i)}};_ol_render_canvas_Immediate_.prototype.drawMultiPoint=function(e){var t=e.getFlatCoordinates();var i=e.getStride();if(this.image_){this.drawImages_(t,0,t.length,i)}if(this.text_!==""){this.drawText_(t,0,t.length,i)}};_ol_render_canvas_Immediate_.prototype.drawLineString=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);var t=this.context_;var i=e.getFlatCoordinates();t.beginPath();this.moveToLineTo_(i,0,i.length,e.getStride(),false);t.stroke()}if(this.text_!==""){var r=e.getFlatMidpoint();this.drawText_(r,0,2,2)}};_ol_render_canvas_Immediate_.prototype.drawMultiLineString=function(e){var t=e.getExtent();if(!_ol_extent_.intersects(this.extent_,t)){return}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);var i=this.context_;var r=e.getFlatCoordinates();var n=0;var o=e.getEnds();var _=e.getStride();i.beginPath();var a,s;for(a=0,s=o.length;a<s;++a){n=this.moveToLineTo_(r,n,o[a],_,false)}i.stroke()}if(this.text_!==""){var l=e.getFlatMidpoints();this.drawText_(l,0,l.length,2)}};_ol_render_canvas_Immediate_.prototype.drawPolygon=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_||this.fillState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=this.context_;t.beginPath();this.drawRings_(e.getOrientedFlatCoordinates(),0,e.getEnds(),e.getStride());if(this.fillState_){t.fill()}if(this.strokeState_){t.stroke()}}if(this.text_!==""){var i=e.getFlatInteriorPoint();this.drawText_(i,0,2,2)}};_ol_render_canvas_Immediate_.prototype.drawMultiPolygon=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_||this.fillState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=this.context_;var i=e.getOrientedFlatCoordinates();var r=0;var n=e.getEndss();var o=e.getStride();var _,a;t.beginPath();for(_=0,a=n.length;_<a;++_){var s=n[_];r=this.drawRings_(i,r,s,o)}if(this.fillState_){t.fill()}if(this.strokeState_){t.stroke()}}if(this.text_!==""){var l=e.getFlatInteriorPoints();this.drawText_(l,0,l.length,2)}};_ol_render_canvas_Immediate_.prototype.setContextFillState_=function(e){var t=this.context_;var i=this.contextFillState_;if(!i){t.fillStyle=e.fillStyle;this.contextFillState_={fillStyle:e.fillStyle}}else{if(i.fillStyle!=e.fillStyle){i.fillStyle=t.fillStyle=e.fillStyle}}};_ol_render_canvas_Immediate_.prototype.setContextStrokeState_=function(e){var t=this.context_;var i=this.contextStrokeState_;if(!i){t.lineCap=e.lineCap;if(_ol_has_.CANVAS_LINE_DASH){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.lineJoin=e.lineJoin;t.lineWidth=e.lineWidth;t.miterLimit=e.miterLimit;t.strokeStyle=e.strokeStyle;this.contextStrokeState_={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}}else{if(i.lineCap!=e.lineCap){i.lineCap=t.lineCap=e.lineCap}if(_ol_has_.CANVAS_LINE_DASH){if(!_ol_array_.equals(i.lineDash,e.lineDash)){t.setLineDash(i.lineDash=e.lineDash)}if(i.lineDashOffset!=e.lineDashOffset){i.lineDashOffset=t.lineDashOffset=e.lineDashOffset}}if(i.lineJoin!=e.lineJoin){i.lineJoin=t.lineJoin=e.lineJoin}if(i.lineWidth!=e.lineWidth){i.lineWidth=t.lineWidth=e.lineWidth}if(i.miterLimit!=e.miterLimit){i.miterLimit=t.miterLimit=e.miterLimit}if(i.strokeStyle!=e.strokeStyle){i.strokeStyle=t.strokeStyle=e.strokeStyle}}};_ol_render_canvas_Immediate_.prototype.setContextTextState_=function(e){var t=this.context_;var i=this.contextTextState_;var r=e.textAlign?e.textAlign:_ol_render_canvas_.defaultTextAlign;if(!i){t.font=e.font;t.textAlign=r;t.textBaseline=e.textBaseline;this.contextTextState_={font:e.font,textAlign:r,textBaseline:e.textBaseline}}else{if(i.font!=e.font){i.font=t.font=e.font}if(i.textAlign!=r){i.textAlign=r}if(i.textBaseline!=e.textBaseline){i.textBaseline=t.textBaseline=e.textBaseline}}};_ol_render_canvas_Immediate_.prototype.setFillStrokeStyle=function(e,t){if(!e){this.fillState_=null}else{var i=e.getColor();this.fillState_={fillStyle:_ol_colorlike_.asColorLike(i?i:_ol_render_canvas_.defaultFillStyle)}}if(!t){this.strokeState_=null}else{var r=t.getColor();var n=t.getLineCap();var o=t.getLineDash();var _=t.getLineDashOffset();var a=t.getLineJoin();var s=t.getWidth();var l=t.getMiterLimit();this.strokeState_={lineCap:n!==undefined?n:_ol_render_canvas_.defaultLineCap,lineDash:o?o:_ol_render_canvas_.defaultLineDash,lineDashOffset:_?_:_ol_render_canvas_.defaultLineDashOffset,lineJoin:a!==undefined?a:_ol_render_canvas_.defaultLineJoin,lineWidth:this.pixelRatio_*(s!==undefined?s:_ol_render_canvas_.defaultLineWidth),miterLimit:l!==undefined?l:_ol_render_canvas_.defaultMiterLimit,strokeStyle:_ol_colorlike_.asColorLike(r?r:_ol_render_canvas_.defaultStrokeStyle)}}};_ol_render_canvas_Immediate_.prototype.setImageStyle=function(e){if(!e){this.image_=null}else{var t=e.getAnchor();var i=e.getImage(1);var r=e.getOrigin();var n=e.getSize();this.imageAnchorX_=t[0];this.imageAnchorY_=t[1];this.imageHeight_=n[1];this.image_=i;this.imageOpacity_=e.getOpacity();this.imageOriginX_=r[0];this.imageOriginY_=r[1];this.imageRotateWithView_=e.getRotateWithView();this.imageRotation_=e.getRotation();this.imageScale_=e.getScale()*this.pixelRatio_;this.imageSnapToPixel_=e.getSnapToPixel();this.imageWidth_=n[0]}};_ol_render_canvas_Immediate_.prototype.setTextStyle=function(e){if(!e){this.text_=""}else{var t=e.getFill();if(!t){this.textFillState_=null}else{var i=t.getColor();this.textFillState_={fillStyle:_ol_colorlike_.asColorLike(i?i:_ol_render_canvas_.defaultFillStyle)}}var r=e.getStroke();if(!r){this.textStrokeState_=null}else{var n=r.getColor();var o=r.getLineCap();var _=r.getLineDash();var a=r.getLineDashOffset();var s=r.getLineJoin();var l=r.getWidth();var h=r.getMiterLimit();this.textStrokeState_={lineCap:o!==undefined?o:_ol_render_canvas_.defaultLineCap,lineDash:_?_:_ol_render_canvas_.defaultLineDash,lineDashOffset:a?a:_ol_render_canvas_.defaultLineDashOffset,lineJoin:s!==undefined?s:_ol_render_canvas_.defaultLineJoin,lineWidth:l!==undefined?l:_ol_render_canvas_.defaultLineWidth,miterLimit:h!==undefined?h:_ol_render_canvas_.defaultMiterLimit,strokeStyle:_ol_colorlike_.asColorLike(n?n:_ol_render_canvas_.defaultStrokeStyle)}}var u=e.getFont();var c=e.getOffsetX();var f=e.getOffsetY();var d=e.getRotateWithView();var p=e.getRotation();var v=e.getScale();var g=e.getText();var y=e.getTextAlign();var m=e.getTextBaseline();this.textState_={font:u!==undefined?u:_ol_render_canvas_.defaultFont,textAlign:y!==undefined?y:_ol_render_canvas_.defaultTextAlign,textBaseline:m!==undefined?m:_ol_render_canvas_.defaultTextBaseline};this.text_=g!==undefined?g:"";this.textOffsetX_=c!==undefined?this.pixelRatio_*c:0;this.textOffsetY_=f!==undefined?this.pixelRatio_*f:0;this.textRotateWithView_=d!==undefined?d:false;this.textRotation_=p!==undefined?p:0;this.textScale_=this.pixelRatio_*(v!==undefined?v:1)}};var _ol_renderer_Layer_=function(e){_ol_Observable_.call(this);this.layer_=e};_ol_.inherits(_ol_renderer_Layer_,_ol_Observable_);_ol_renderer_Layer_.prototype.forEachFeatureAtCoordinate=_ol_.nullFunction;_ol_renderer_Layer_.prototype.hasFeatureAtCoordinate=_ol_functions_.FALSE;_ol_renderer_Layer_.prototype.createLoadedTileFinder=function(e,t,i){return function(r,n){function o(e){if(!i[r]){i[r]={}}i[r][e.tileCoord.toString()]=e}return e.forEachLoadedTile(t,r,n,o)}};_ol_renderer_Layer_.prototype.getLayer=function(){return this.layer_};_ol_renderer_Layer_.prototype.handleImageChange_=function(e){var t=e.target;if(t.getState()===_ol_ImageState_.LOADED){this.renderIfReadyAndVisible()}};_ol_renderer_Layer_.prototype.loadImage=function(e){var t=e.getState();if(t!=_ol_ImageState_.LOADED&&t!=_ol_ImageState_.ERROR){_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleImageChange_,this)}if(t==_ol_ImageState_.IDLE){e.load();t=e.getState()}return t==_ol_ImageState_.LOADED};_ol_renderer_Layer_.prototype.renderIfReadyAndVisible=function(){var e=this.getLayer();if(e.getVisible()&&e.getSourceState()==_ol_source_State_.READY){this.changed()}};_ol_renderer_Layer_.prototype.scheduleExpireCache=function(e,t){if(t.canExpireCache()){var i=function(e,t,i){var r=_ol_.getUid(e).toString();if(r in i.usedTiles){e.expireCache(i.viewState.projection,i.usedTiles[r])}}.bind(null,t);e.postRenderFunctions.push(i)}};_ol_renderer_Layer_.prototype.updateLogos=function(e,t){var i=t.getLogo();if(i!==undefined){if(typeof i==="string"){e.logos[i]=""}else if(i){_ol_asserts_.assert(typeof i.href=="string",44);_ol_asserts_.assert(typeof i.src=="string",45);e.logos[i.src]=i.href}}};_ol_renderer_Layer_.prototype.updateUsedTiles=function(e,t,i,r){var n=_ol_.getUid(t).toString();var o=i.toString();if(n in e){if(o in e[n]){e[n][o].extend(r)}else{e[n][o]=r}}else{e[n]={};e[n][o]=r}};_ol_renderer_Layer_.prototype.manageTilePyramid=function(e,t,i,r,n,o,_,a,s,l){var h=_ol_.getUid(t).toString();if(!(h in e.wantedTiles)){e.wantedTiles[h]={}}var u=e.wantedTiles[h];var c=e.tileQueue;var f=i.getMinZoom();var d,p,v,g,y,m;for(m=f;m<=_;++m){p=i.getTileRangeForExtentAndZ(o,m,p);v=i.getResolution(m);for(g=p.minX;g<=p.maxX;++g){for(y=p.minY;y<=p.maxY;++y){if(_-m<=a){d=t.getTile(m,g,y,r,n);if(d.getState()==_ol_TileState_.IDLE){u[d.getKey()]=true;if(!c.isKeyQueued(d.getKey())){c.enqueue([d,h,i.getTileCoordCenter(d.tileCoord),v])}}if(s!==undefined){s.call(l,d)}}else{t.useTile(m,g,y,n)}}}}};var _ol_renderer_canvas_Layer_=function(e){_ol_renderer_Layer_.call(this,e);this.transform_=_ol_transform_.create()};_ol_.inherits(_ol_renderer_canvas_Layer_,_ol_renderer_Layer_);_ol_renderer_canvas_Layer_.prototype.clip=function(e,t,i){var r=t.pixelRatio;var n=t.size[0]*r;var o=t.size[1]*r;var _=t.viewState.rotation;var a=_ol_extent_.getTopLeft(i);var s=_ol_extent_.getTopRight(i);var l=_ol_extent_.getBottomRight(i);var h=_ol_extent_.getBottomLeft(i);_ol_transform_.apply(t.coordinateToPixelTransform,a);_ol_transform_.apply(t.coordinateToPixelTransform,s);_ol_transform_.apply(t.coordinateToPixelTransform,l);_ol_transform_.apply(t.coordinateToPixelTransform,h);e.save();_ol_render_canvas_.rotateAtOffset(e,-_,n/2,o/2);e.beginPath();e.moveTo(a[0]*r,a[1]*r);e.lineTo(s[0]*r,s[1]*r);e.lineTo(l[0]*r,l[1]*r);e.lineTo(h[0]*r,h[1]*r);e.clip();_ol_render_canvas_.rotateAtOffset(e,_,n/2,o/2)};_ol_renderer_canvas_Layer_.prototype.dispatchComposeEvent_=function(e,t,i,r){var n=this.getLayer();if(n.hasListener(e)){var o=i.size[0]*i.pixelRatio;var _=i.size[1]*i.pixelRatio;var a=i.viewState.rotation;_ol_render_canvas_.rotateAtOffset(t,-a,o/2,_/2);var s=r!==undefined?r:this.getTransform(i,0);var l=new _ol_render_canvas_Immediate_(t,i.pixelRatio,i.extent,s,i.viewState.rotation);var h=new _ol_render_Event_(e,l,i,t,null);n.dispatchEvent(h);_ol_render_canvas_.rotateAtOffset(t,a,o/2,_/2)}};_ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate=function(e,t,i,r){var n=this.forEachFeatureAtCoordinate(e,t,0,_ol_functions_.TRUE,this);if(n){return i.call(r,this.getLayer(),null)}else{return undefined}};_ol_renderer_canvas_Layer_.prototype.postCompose=function(e,t,i,r){this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e,t,r)};_ol_renderer_canvas_Layer_.prototype.preCompose=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e,t,i)};_ol_renderer_canvas_Layer_.prototype.dispatchRenderEvent=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.RENDER,e,t,i)};_ol_renderer_canvas_Layer_.prototype.getTransform=function(e,t){var i=e.viewState;var r=e.pixelRatio;var n=r*e.size[0]/2;var o=r*e.size[1]/2;var _=r/i.resolution;var a=-_;var s=-i.rotation;var l=-i.center[0]+t;var h=-i.center[1];return _ol_transform_.compose(this.transform_,n,o,_,a,s,l,h)};_ol_renderer_canvas_Layer_.prototype.composeFrame=function(e,t,i){};_ol_renderer_canvas_Layer_.prototype.prepareFrame=function(e,t){};var _ol_renderer_canvas_IntermediateCanvas_=function(e){_ol_renderer_canvas_Layer_.call(this,e);this.coordinateToCanvasPixelTransform=_ol_transform_.create();this.hitCanvasContext_=null};_ol_.inherits(_ol_renderer_canvas_IntermediateCanvas_,_ol_renderer_canvas_Layer_);_ol_renderer_canvas_IntermediateCanvas_.prototype.composeFrame=function(e,t,i){this.preCompose(i,e);var r=this.getImage();if(r){var n=t.extent;var o=n!==undefined&&!_ol_extent_.containsExtent(n,e.extent)&&_ol_extent_.intersects(n,e.extent);if(o){this.clip(i,e,n)}var _=this.getImageTransform();var a=i.globalAlpha;i.globalAlpha=t.opacity;var s=_[4];var l=_[5];var h=r.width*_[0];var u=r.height*_[3];i.drawImage(r,0,0,+r.width,+r.height,Math.round(s),Math.round(l),Math.round(h),Math.round(u));i.globalAlpha=a;if(o){i.restore()}}this.postCompose(i,e,t)};_ol_renderer_canvas_IntermediateCanvas_.prototype.getImage=function(){};_ol_renderer_canvas_IntermediateCanvas_.prototype.getImageTransform=function(){};_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=this.getLayer();var _=o.getSource();var a=t.viewState.resolution;var s=t.viewState.rotation;var l=t.skippedFeatureUids;return _.forEachFeatureAtCoordinate(e,a,s,i,l,(function(e){return r.call(n,e,o)}))};_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachLayerAtCoordinate=function(e,t,i,r){if(!this.getImage()){return undefined}if(this.getLayer().getSource().forEachFeatureAtCoordinate!==_ol_.nullFunction){return _ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate.apply(this,arguments)}else{var n=_ol_transform_.apply(this.coordinateToCanvasPixelTransform,e.slice());_ol_coordinate_.scale(n,t.viewState.resolution/this.renderedResolution);if(!this.hitCanvasContext_){this.hitCanvasContext_=_ol_dom_.createCanvasContext2D(1,1)}this.hitCanvasContext_.clearRect(0,0,1,1);this.hitCanvasContext_.drawImage(this.getImage(),n[0],n[1],1,1,0,0,1,1);var o=this.hitCanvasContext_.getImageData(0,0,1,1).data;if(o[3]>0){return i.call(r,this.getLayer(),o)}else{return undefined}}};var _ol_renderer_canvas_ImageLayer_=function(e){_ol_renderer_canvas_IntermediateCanvas_.call(this,e);this.image_=null;this.imageTransform_=_ol_transform_.create();this.skippedFeatures_=[];this.vectorRenderer_=null};_ol_.inherits(_ol_renderer_canvas_ImageLayer_,_ol_renderer_canvas_IntermediateCanvas_);_ol_renderer_canvas_ImageLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&(t.getType()===_ol_LayerType_.IMAGE||t.getType()===_ol_LayerType_.VECTOR&&t.getRenderMode()===_ol_layer_VectorRenderType_.IMAGE)};_ol_renderer_canvas_ImageLayer_["create"]=function(e,t){var i=new _ol_renderer_canvas_ImageLayer_(t);if(t.getType()===_ol_LayerType_.VECTOR){var r=_ol_plugins_.getLayerRendererPlugins();for(var n=0,o=r.length;n<o;++n){var _=r[n];if(_!==_ol_renderer_canvas_ImageLayer_&&_["handles"](_ol_renderer_Type_.CANVAS,t)){i.setVectorRenderer(_["create"](e,t))}}}return i};_ol_renderer_canvas_ImageLayer_.prototype.getImage=function(){return!this.image_?null:this.image_.getImage()};_ol_renderer_canvas_ImageLayer_.prototype.getImageTransform=function(){return this.imageTransform_};_ol_renderer_canvas_ImageLayer_.prototype.prepareFrame=function(e,t){var i=e.pixelRatio;var r=e.size;var n=e.viewState;var o=n.center;var _=n.resolution;var a;var s=this.getLayer();var l=s.getSource();var h=e.viewHints;var u=e.extent;if(t.extent!==undefined){u=_ol_extent_.getIntersection(u,t.extent)}if(!h[_ol_ViewHint_.ANIMATING]&&!h[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.isEmpty(u)){var c=n.projection;if(!_ol_.ENABLE_RASTER_REPROJECTION){var f=l.getProjection();if(f){c=f}}var d=this.vectorRenderer_;if(d){var p=d.context;var v=_ol_obj_.assign({},e,{size:[_ol_extent_.getWidth(u)/_,_ol_extent_.getHeight(u)/_],viewState:_ol_obj_.assign({},e.viewState,{rotation:0})});var g=Object.keys(v.skippedFeatureUids).sort();if(d.prepareFrame(v,t)&&(d.replayGroupChanged||!_ol_array_.equals(g,this.skippedFeatures_))){p.canvas.width=v.size[0]*i;p.canvas.height=v.size[1]*i;d.composeFrame(v,t,p);this.image_=new _ol_ImageCanvas_(u,_,i,p.canvas);this.skippedFeatures_=g}}else{a=l.getImage(u,_,i,c);if(a){var y=this.loadImage(a);if(y){this.image_=a}}}}if(this.image_){a=this.image_;var m=a.getExtent();var E=a.getResolution();var x=a.getPixelRatio();var T=i*E/(_*x);var R=_ol_transform_.compose(this.imageTransform_,i*r[0]/2,i*r[1]/2,T,T,0,x*(m[0]-o[0])/E,x*(o[1]-m[3])/E);_ol_transform_.compose(this.coordinateToCanvasPixelTransform,i*r[0]/2-R[4],i*r[1]/2-R[5],i/_,-i/_,0,-o[0],-o[1]);this.updateLogos(e,l);this.renderedResolution=E*i/x}return!!this.image_};_ol_renderer_canvas_ImageLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(this.vectorRenderer_){return this.vectorRenderer_.forEachFeatureAtCoordinate(e,t,i,r,n)}else{return _ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate.call(this,e,t,i,r,n)}};_ol_renderer_canvas_ImageLayer_.prototype.setVectorRenderer=function(e){this.vectorRenderer_=e};var _ol_style_IconImageCache_=function(){this.cache_={};this.cacheSize_=0;this.maxCacheSize_=32};_ol_style_IconImageCache_.getKey=function(e,t,i){var r=i?_ol_color_.asString(i):"null";return t+":"+e+":"+r};_ol_style_IconImageCache_.prototype.clear=function(){this.cache_={};this.cacheSize_=0};_ol_style_IconImageCache_.prototype.expire=function(){if(this.cacheSize_>this.maxCacheSize_){var e=0;var t,i;for(t in this.cache_){i=this.cache_[t];if((e++&3)===0&&!i.hasListener()){delete this.cache_[t];--this.cacheSize_}}}};_ol_style_IconImageCache_.prototype.get=function(e,t,i){var r=_ol_style_IconImageCache_.getKey(e,t,i);return r in this.cache_?this.cache_[r]:null};_ol_style_IconImageCache_.prototype.set=function(e,t,i,r){var n=_ol_style_IconImageCache_.getKey(e,t,i);this.cache_[n]=r;++this.cacheSize_};_ol_style_IconImageCache_.prototype.setSize=function(e){this.maxCacheSize_=e;this.expire()};var _ol_style_={};_ol_style_.iconImageCache=new _ol_style_IconImageCache_;var _ol_renderer_Map_=function(e,t){_ol_Disposable_.call(this);this.map_=t;this.layerRenderers_={};this.layerRendererListeners_={}};_ol_.inherits(_ol_renderer_Map_,_ol_Disposable_);_ol_renderer_Map_.prototype.calculateMatrices2D=function(e){var t=e.viewState;var i=e.coordinateToPixelTransform;var r=e.pixelToCoordinateTransform;_ol_transform_.compose(i,e.size[0]/2,e.size[1]/2,1/t.resolution,-1/t.resolution,-t.rotation,-t.center[0],-t.center[1]);_ol_transform_.invert(_ol_transform_.setFromArray(r,i))};_ol_renderer_Map_.prototype.removeLayerRenderers=function(){for(var e in this.layerRenderers_){this.removeLayerRendererByKey_(e).dispose()}};_ol_renderer_Map_.expireIconCache_=function(e,t){var i=_ol_style_.iconImageCache;i.expire()};_ol_renderer_Map_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){var a;var s=t.viewState;var l=s.resolution;function h(e,i){var o=_ol_.getUid(e).toString();var _=t.layerStates[_ol_.getUid(i)].managed;if(!(o in t.skippedFeatureUids&&!_)){return r.call(n,e,_?i:null)}}var u=s.projection;var c=e;if(u.canWrapX()){var f=u.getExtent();var d=_ol_extent_.getWidth(f);var p=e[0];if(p<f[0]||p>f[2]){var v=Math.ceil((f[0]-p)/d);c=[p+d*v,e[1]]}}var g=t.layerStatesArray;var y=g.length;var m;for(m=y-1;m>=0;--m){var E=g[m];var x=E.layer;if(_ol_layer_Layer_.visibleAtResolution(E,l)&&o.call(_,x)){var T=this.getLayerRenderer(x);if(x.getSource()){a=T.forEachFeatureAtCoordinate(x.getSource().getWrapX()?c:e,t,i,h,n)}if(a){return a}}}return undefined};_ol_renderer_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){};_ol_renderer_Map_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n){var o=this.forEachFeatureAtCoordinate(e,t,i,_ol_functions_.TRUE,this,r,n);return o!==undefined};_ol_renderer_Map_.prototype.getLayerRenderer=function(e){var t=_ol_.getUid(e).toString();if(t in this.layerRenderers_){return this.layerRenderers_[t]}else{var i=_ol_plugins_.getLayerRendererPlugins();var r;var n=this.getType();for(var o=0,_=i.length;o<_;++o){var a=i[o];if(a["handles"](n,e)){r=a["create"](this,e);break}}if(r){this.layerRenderers_[t]=r;this.layerRendererListeners_[t]=_ol_events_.listen(r,_ol_events_EventType_.CHANGE,this.handleLayerRendererChange_,this)}else{throw new Error("Unable to create renderer for layer: "+e.getType())}return r}};_ol_renderer_Map_.prototype.getLayerRendererByKey=function(e){return this.layerRenderers_[e]};_ol_renderer_Map_.prototype.getLayerRenderers=function(){return this.layerRenderers_};_ol_renderer_Map_.prototype.getMap=function(){return this.map_};_ol_renderer_Map_.prototype.getType=function(){};_ol_renderer_Map_.prototype.handleLayerRendererChange_=function(){this.map_.render()};_ol_renderer_Map_.prototype.removeLayerRendererByKey_=function(e){var t=this.layerRenderers_[e];delete this.layerRenderers_[e];_ol_events_.unlistenByKey(this.layerRendererListeners_[e]);delete this.layerRendererListeners_[e];return t};_ol_renderer_Map_.prototype.renderFrame=_ol_.nullFunction;_ol_renderer_Map_.prototype.removeUnusedLayerRenderers_=function(e,t){var i;for(i in this.layerRenderers_){if(!t||!(i in t.layerStates)){this.removeLayerRendererByKey_(i).dispose()}}};_ol_renderer_Map_.prototype.scheduleExpireIconCache=function(e){e.postRenderFunctions.push(_ol_renderer_Map_.expireIconCache_)};_ol_renderer_Map_.prototype.scheduleRemoveUnusedLayerRenderers=function(e){var t;for(t in this.layerRenderers_){if(!(t in e.layerStates)){e.postRenderFunctions.push(this.removeUnusedLayerRenderers_.bind(this));return}}};_ol_renderer_Map_.sortByZIndex=function(e,t){return e.zIndex-t.zIndex};var _ol_renderer_canvas_Map_=function(e,t){_ol_renderer_Map_.call(this,e,t);this.context_=_ol_dom_.createCanvasContext2D();this.canvas_=this.context_.canvas;this.canvas_.style.width="100%";this.canvas_.style.height="100%";this.canvas_.style.display="block";this.canvas_.className=_ol_css_.CLASS_UNSELECTABLE;e.insertBefore(this.canvas_,e.childNodes[0]||null);this.renderedVisible_=true;this.transform_=_ol_transform_.create()};_ol_.inherits(_ol_renderer_canvas_Map_,_ol_renderer_Map_);_ol_renderer_canvas_Map_["handles"]=function(e){return e===_ol_renderer_Type_.CANVAS};_ol_renderer_canvas_Map_["create"]=function(e,t){return new _ol_renderer_canvas_Map_(e,t)};_ol_renderer_canvas_Map_.prototype.dispatchComposeEvent_=function(e,t){var i=this.getMap();var r=this.context_;if(i.hasListener(e)){var n=t.extent;var o=t.pixelRatio;var _=t.viewState;var a=_.rotation;var s=this.getTransform(t);var l=new _ol_render_canvas_Immediate_(r,o,n,s,a);var h=new _ol_render_Event_(e,l,t,r,null);i.dispatchEvent(h)}};_ol_renderer_canvas_Map_.prototype.getTransform=function(e){var t=e.viewState;var i=this.canvas_.width/2;var r=this.canvas_.height/2;var n=e.pixelRatio/t.resolution;var o=-n;var _=-t.rotation;var a=-t.center[0];var s=-t.center[1];return _ol_transform_.compose(this.transform_,i,r,n,o,_,a,s)};_ol_renderer_canvas_Map_.prototype.getType=function(){return _ol_renderer_Type_.CANVAS};_ol_renderer_canvas_Map_.prototype.renderFrame=function(e){if(!e){if(this.renderedVisible_){this.canvas_.style.display="none";this.renderedVisible_=false}return}var t=this.context_;var i=e.pixelRatio;var r=Math.round(e.size[0]*i);var n=Math.round(e.size[1]*i);if(this.canvas_.width!=r||this.canvas_.height!=n){this.canvas_.width=r;this.canvas_.height=n}else{t.clearRect(0,0,r,n)}var o=e.viewState.rotation;this.calculateMatrices2D(e);this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e);var _=e.layerStatesArray;_ol_array_.stableSort(_,_ol_renderer_Map_.sortByZIndex);if(o){t.save();_ol_render_canvas_.rotateAtOffset(t,o,r/2,n/2)}var a=e.viewState.resolution;var s,l,h,u,c;for(s=0,l=_.length;s<l;++s){c=_[s];h=c.layer;u=this.getLayerRenderer(h);if(!_ol_layer_Layer_.visibleAtResolution(c,a)||c.sourceState!=_ol_source_State_.READY){continue}if(u.prepareFrame(e,c)){u.composeFrame(e,c,t)}}if(o){t.restore()}this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e);if(!this.renderedVisible_){this.canvas_.style.display="";this.renderedVisible_=true}this.scheduleRemoveUnusedLayerRenderers(e);this.scheduleExpireIconCache(e)};_ol_renderer_canvas_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){var _;var a=t.viewState;var s=a.resolution;var l=t.layerStatesArray;var h=l.length;var u=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var c;for(c=h-1;c>=0;--c){var f=l[c];var d=f.layer;if(_ol_layer_Layer_.visibleAtResolution(f,s)&&n.call(o,d)){var p=this.getLayerRenderer(d);_=p.forEachLayerAtCoordinate(u,t,i,r);if(_){return _}}}return undefined};var _ol_TileRange_=function(e,t,i,r){this.minX=e;this.maxX=t;this.minY=i;this.maxY=r};_ol_TileRange_.createOrUpdate=function(e,t,i,r,n){if(n!==undefined){n.minX=e;n.maxX=t;n.minY=i;n.maxY=r;return n}else{return new _ol_TileRange_(e,t,i,r)}};_ol_TileRange_.prototype.contains=function(e){return this.containsXY(e[1],e[2])};_ol_TileRange_.prototype.containsTileRange=function(e){return this.minX<=e.minX&&e.maxX<=this.maxX&&this.minY<=e.minY&&e.maxY<=this.maxY};_ol_TileRange_.prototype.containsXY=function(e,t){return this.minX<=e&&e<=this.maxX&&this.minY<=t&&t<=this.maxY};_ol_TileRange_.prototype.equals=function(e){return this.minX==e.minX&&this.minY==e.minY&&this.maxX==e.maxX&&this.maxY==e.maxY};_ol_TileRange_.prototype.extend=function(e){if(e.minX<this.minX){this.minX=e.minX}if(e.maxX>this.maxX){this.maxX=e.maxX}if(e.minY<this.minY){this.minY=e.minY}if(e.maxY>this.maxY){this.maxY=e.maxY}};_ol_TileRange_.prototype.getHeight=function(){return this.maxY-this.minY+1};_ol_TileRange_.prototype.getSize=function(){return[this.getWidth(),this.getHeight()]};_ol_TileRange_.prototype.getWidth=function(){return this.maxX-this.minX+1};_ol_TileRange_.prototype.intersects=function(e){return this.minX<=e.maxX&&this.maxX>=e.minX&&this.minY<=e.maxY&&this.maxY>=e.minY};var _ol_renderer_canvas_TileLayer_=function(e){_ol_renderer_canvas_IntermediateCanvas_.call(this,e);this.context=this.context===null?null:_ol_dom_.createCanvasContext2D();this.renderedExtent_=null;this.renderedTiles=[];this.tmpExtent=_ol_extent_.createEmpty();this.tmpTileRange_=new _ol_TileRange_(0,0,0,0);this.imageTransform_=_ol_transform_.create();this.zDirection=0};_ol_.inherits(_ol_renderer_canvas_TileLayer_,_ol_renderer_canvas_IntermediateCanvas_);_ol_renderer_canvas_TileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.TILE};_ol_renderer_canvas_TileLayer_["create"]=function(e,t){return new _ol_renderer_canvas_TileLayer_(t)};_ol_renderer_canvas_TileLayer_.prototype.isDrawableTile_=function(e){var t=e.getState();var i=this.getLayer().getUseInterimTilesOnError();return t==_ol_TileState_.LOADED||t==_ol_TileState_.EMPTY||t==_ol_TileState_.ERROR&&!i};_ol_renderer_canvas_TileLayer_.prototype.prepareFrame=function(e,t){var i=e.pixelRatio;var r=e.size;var n=e.viewState;var o=n.projection;var _=n.resolution;var a=n.center;var s=this.getLayer();var l=s.getSource();var h=l.getRevision();var u=l.getTileGridForProjection(o);var c=u.getZForResolution(_,this.zDirection);var f=u.getResolution(c);var d=Math.round(_/f)||1;var p=e.extent;if(t.extent!==undefined){p=_ol_extent_.getIntersection(p,t.extent)}if(_ol_extent_.isEmpty(p)){return false}var v=u.getTileRangeForExtentAndZ(p,c);var g=u.getTileRangeExtent(c,v);var y=l.getTilePixelRatio(i);var m={};m[c]={};var E=this.createLoadedTileFinder(l,o,m);var x=this.tmpExtent;var T=this.tmpTileRange_;var R=false;var S,C,I;for(C=v.minX;C<=v.maxX;++C){for(I=v.minY;I<=v.maxY;++I){S=l.getTile(c,C,I,i,o);if(S.getState()==_ol_TileState_.ERROR){if(!s.getUseInterimTilesOnError()){S.setState(_ol_TileState_.LOADED)}else if(s.getPreload()>0){R=true}}if(!this.isDrawableTile_(S)){S=S.getInterimTile()}if(this.isDrawableTile_(S)){var M=_ol_.getUid(this);if(S.getState()==_ol_TileState_.LOADED){m[c][S.tileCoord.toString()]=S;var w=S.inTransition(M);if(!R&&(w||this.renderedTiles.indexOf(S)===-1)){R=true}}if(S.getAlpha(M,e.time)===1){continue}}var b=u.getTileCoordChildTileRange(S.tileCoord,T,x);var L=false;if(b){L=E(c+1,b)}if(!L){u.forEachTileCoordParentTileRange(S.tileCoord,E,null,T,x)}}}var P=f*i/y*d;var A=e.viewHints;var O=A[_ol_ViewHint_.ANIMATING]||A[_ol_ViewHint_.INTERACTING];if(!(this.renderedResolution&&Date.now()-e.time>16&&O)&&(R||!(this.renderedExtent_&&_ol_extent_.containsExtent(this.renderedExtent_,p))||this.renderedRevision!=h||d!=this.oversampling_||!O&&P!=this.renderedResolution)){var F=this.context;if(F){var D=l.getTilePixelSize(c,i,o);var N=Math.round(v.getWidth()*D[0]/d);var G=Math.round(v.getHeight()*D[1]/d);var k=F.canvas;if(k.width!=N||k.height!=G){this.oversampling_=d;k.width=N;k.height=G}else{if(this.renderedExtent_&&!_ol_extent_.equals(g,this.renderedExtent_)){F.clearRect(0,0,N,G)}d=this.oversampling_}}this.renderedTiles.length=0;var U=Object.keys(m).map(Number);U.sort((function(e,t){if(e===c){return 1}else if(t===c){return-1}else{return e>t?1:e<t?-1:0}}));var j,B,z,V,W,H;var X,Y,K,q,$;for(W=0,H=U.length;W<H;++W){V=U[W];z=l.getTilePixelSize(V,i,o);j=u.getResolution(V);B=j/f;Y=y*l.getGutter(o);K=m[V];for(var Z in K){S=K[Z];X=u.getTileCoordExtent(S.getTileCoord(),x);C=(X[0]-g[0])/f*y/d;I=(g[3]-X[3])/f*y/d;q=z[0]*B/d;$=z[1]*B/d;this.drawTileImage(S,e,t,C,I,q,$,Y,c===V);this.renderedTiles.push(S)}}this.renderedRevision=h;this.renderedResolution=f*i/y*d;this.renderedExtent_=g}var J=this.renderedResolution/_;var Q=_ol_transform_.compose(this.imageTransform_,i*r[0]/2,i*r[1]/2,J,J,0,(this.renderedExtent_[0]-a[0])/this.renderedResolution*i,(a[1]-this.renderedExtent_[3])/this.renderedResolution*i);_ol_transform_.compose(this.coordinateToCanvasPixelTransform,i*r[0]/2-Q[4],i*r[1]/2-Q[5],i/_,-i/_,0,-a[0],-a[1]);this.updateUsedTiles(e.usedTiles,l,c,v);this.manageTilePyramid(e,l,u,i,o,p,c,s.getPreload());this.scheduleExpireCache(e,l);this.updateLogos(e,l);return this.renderedTiles.length>0};_ol_renderer_canvas_TileLayer_.prototype.drawTileImage=function(e,t,i,r,n,o,_,a,s){var l=e.getImage(this.getLayer());if(!l){return}var h=_ol_.getUid(this);var u=s?e.getAlpha(h,t.time):1;if(u===1&&!this.getLayer().getSource().getOpaque(t.viewState.projection)){this.context.clearRect(r,n,o,_)}var c=u!==this.context.globalAlpha;if(c){this.context.save();this.context.globalAlpha=u}this.context.drawImage(l,a,a,l.width-2*a,l.height-2*a,r,n,o,_);if(c){this.context.restore()}if(u!==1){t.animate=true}else if(s){e.endTransition(h)}};_ol_renderer_canvas_TileLayer_.prototype.getImage=function(){var e=this.context;return e?e.canvas:null};_ol_renderer_canvas_TileLayer_.prototype.getImageTransform=function(){return this.imageTransform_};var quickselect=createCommonjsModule((function(e,t){(function(t,i){e.exports=i()})(commonjsGlobal,(function(){function e(e,i,n,o,_){t(e,i,n||0,o||e.length-1,_||r)}function t(e,r,n,o,_){while(o>n){if(o-n>600){var a=o-n+1;var s=r-n+1;var l=Math.log(a);var h=.5*Math.exp(2*l/3);var u=.5*Math.sqrt(l*h*(a-h)/a)*(s-a/2<0?-1:1);var c=Math.max(n,Math.floor(r-s*h/a+u));var f=Math.min(o,Math.floor(r+(a-s)*h/a+u));t(e,r,c,f,_)}var d=e[r];var p=n;var v=o;i(e,n,r);if(_(e[o],d)>0)i(e,n,o);while(p<v){i(e,p,v);p++;v--;while(_(e[p],d)<0)p++;while(_(e[v],d)>0)v--}if(_(e[n],d)===0)i(e,n,v);else{v++;i(e,v,o)}if(v<=r)n=v+1;if(r<=v)o=v-1}}function i(e,t,i){var r=e[t];e[t]=e[i];e[i]=r}function r(e,t){return e<t?-1:e>t?1:0}return e}))}));var rbush_1=rbush;function rbush(e,t){if(!(this instanceof rbush))return new rbush(e,t);this._maxEntries=Math.max(4,e||9);this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4));if(t){this._initFormat(t)}this.clear()}rbush.prototype={all:function(){return this._all(this.data,[])},search:function(e){var t=this.data,i=[],r=this.toBBox;if(!intersects(e,t))return i;var n=[],o,_,a,s;while(t){for(o=0,_=t.children.length;o<_;o++){a=t.children[o];s=t.leaf?r(a):a;if(intersects(e,s)){if(t.leaf)i.push(a);else if(contains(e,s))this._all(a,i);else n.push(a)}}t=n.pop()}return i},collides:function(e){var t=this.data,i=this.toBBox;if(!intersects(e,t))return false;var r=[],n,o,_,a;while(t){for(n=0,o=t.children.length;n<o;n++){_=t.children[n];a=t.leaf?i(_):_;if(intersects(e,a)){if(t.leaf||contains(e,a))return true;r.push(_)}}t=r.pop()}return false},load:function(e){if(!(e&&e.length))return this;if(e.length<this._minEntries){for(var t=0,i=e.length;t<i;t++){this.insert(e[t])}return this}var r=this._build(e.slice(),0,e.length-1,0);if(!this.data.children.length){this.data=r}else if(this.data.height===r.height){this._splitRoot(this.data,r)}else{if(this.data.height<r.height){var n=this.data;this.data=r;r=n}this._insert(r,this.data.height-r.height-1,true)}return this},insert:function(e){if(e)this._insert(e,this.data.height-1);return this},clear:function(){this.data=createNode([]);return this},remove:function(e,t){if(!e)return this;var i=this.data,r=this.toBBox(e),n=[],o=[],_,a,s,l;while(i||n.length){if(!i){i=n.pop();a=n[n.length-1];_=o.pop();l=true}if(i.leaf){s=findItem(e,i.children,t);if(s!==-1){i.children.splice(s,1);n.push(i);this._condense(n);return this}}if(!l&&!i.leaf&&contains(i,r)){n.push(i);o.push(_);_=0;a=i;i=i.children[0]}else if(a){_++;i=a.children[_];l=false}else i=null}return this},toBBox:function(e){return e},compareMinX:compareNodeMinX,compareMinY:compareNodeMinY,toJSON:function(){return this.data},fromJSON:function(e){this.data=e;return this},_all:function(e,t){var i=[];while(e){if(e.leaf)t.push.apply(t,e.children);else i.push.apply(i,e.children);e=i.pop()}return t},_build:function(e,t,i,r){var n=i-t+1,o=this._maxEntries,_;if(n<=o){_=createNode(e.slice(t,i+1));calcBBox(_,this.toBBox);return _}if(!r){r=Math.ceil(Math.log(n)/Math.log(o));o=Math.ceil(n/Math.pow(o,r-1))}_=createNode([]);_.leaf=false;_.height=r;var a=Math.ceil(n/o),s=a*Math.ceil(Math.sqrt(o)),l,h,u,c;multiSelect(e,t,i,s,this.compareMinX);for(l=t;l<=i;l+=s){u=Math.min(l+s-1,i);multiSelect(e,l,u,a,this.compareMinY);for(h=l;h<=u;h+=a){c=Math.min(h+a-1,u);_.children.push(this._build(e,h,c,r-1))}}calcBBox(_,this.toBBox);return _},_chooseSubtree:function(e,t,i,r){var n,o,_,a,s,l,h,u;while(true){r.push(t);if(t.leaf||r.length-1===i)break;h=u=Infinity;for(n=0,o=t.children.length;n<o;n++){_=t.children[n];s=bboxArea(_);l=enlargedArea(e,_)-s;if(l<u){u=l;h=s<h?s:h;a=_}else if(l===u){if(s<h){h=s;a=_}}}t=a||t.children[0]}return t},_insert:function(e,t,i){var r=this.toBBox,n=i?e:r(e),o=[];var _=this._chooseSubtree(n,this.data,t,o);_.children.push(e);extend(_,n);while(t>=0){if(o[t].children.length>this._maxEntries){this._split(o,t);t--}else break}this._adjustParentBBoxes(n,o,t)},_split:function(e,t){var i=e[t],r=i.children.length,n=this._minEntries;this._chooseSplitAxis(i,n,r);var o=this._chooseSplitIndex(i,n,r);var _=createNode(i.children.splice(o,i.children.length-o));_.height=i.height;_.leaf=i.leaf;calcBBox(i,this.toBBox);calcBBox(_,this.toBBox);if(t)e[t-1].children.push(_);else this._splitRoot(i,_)},_splitRoot:function(e,t){this.data=createNode([e,t]);this.data.height=e.height+1;this.data.leaf=false;calcBBox(this.data,this.toBBox)},_chooseSplitIndex:function(e,t,i){var r,n,o,_,a,s,l,h;s=l=Infinity;for(r=t;r<=i-t;r++){n=distBBox(e,0,r,this.toBBox);o=distBBox(e,r,i,this.toBBox);_=intersectionArea(n,o);a=bboxArea(n)+bboxArea(o);if(_<s){s=_;h=r;l=a<l?a:l}else if(_===s){if(a<l){l=a;h=r}}}return h},_chooseSplitAxis:function(e,t,i){var r=e.leaf?this.compareMinX:compareNodeMinX,n=e.leaf?this.compareMinY:compareNodeMinY,o=this._allDistMargin(e,t,i,r),_=this._allDistMargin(e,t,i,n);if(o<_)e.children.sort(r)},_allDistMargin:function(e,t,i,r){e.children.sort(r);var n=this.toBBox,o=distBBox(e,0,t,n),_=distBBox(e,i-t,i,n),a=bboxMargin(o)+bboxMargin(_),s,l;for(s=t;s<i-t;s++){l=e.children[s];extend(o,e.leaf?n(l):l);a+=bboxMargin(o)}for(s=i-t-1;s>=t;s--){l=e.children[s];extend(_,e.leaf?n(l):l);a+=bboxMargin(_)}return a},_adjustParentBBoxes:function(e,t,i){for(var r=i;r>=0;r--){extend(t[r],e)}},_condense:function(e){for(var t=e.length-1,i;t>=0;t--){if(e[t].children.length===0){if(t>0){i=e[t-1].children;i.splice(i.indexOf(e[t]),1)}else this.clear()}else calcBBox(e[t],this.toBBox)}},_initFormat:function(e){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(e[0]));this.compareMinY=new Function("a","b",t.join(e[1]));this.toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}};function findItem(e,t,i){if(!i)return t.indexOf(e);for(var r=0;r<t.length;r++){if(i(e,t[r]))return r}return-1}function calcBBox(e,t){distBBox(e,0,e.children.length,t,e)}function distBBox(e,t,i,r,n){if(!n)n=createNode(null);n.minX=Infinity;n.minY=Infinity;n.maxX=-Infinity;n.maxY=-Infinity;for(var o=t,_;o<i;o++){_=e.children[o];extend(n,e.leaf?r(_):_)}return n}function extend(e,t){e.minX=Math.min(e.minX,t.minX);e.minY=Math.min(e.minY,t.minY);e.maxX=Math.max(e.maxX,t.maxX);e.maxY=Math.max(e.maxY,t.maxY);return e}function compareNodeMinX(e,t){return e.minX-t.minX}function compareNodeMinY(e,t){return e.minY-t.minY}function bboxArea(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function bboxMargin(e){return e.maxX-e.minX+(e.maxY-e.minY)}function enlargedArea(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function intersectionArea(e,t){var i=Math.max(e.minX,t.minX),r=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),o=Math.min(e.maxY,t.maxY);return Math.max(0,n-i)*Math.max(0,o-r)}function contains(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function intersects(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function createNode(e){return{children:e,height:1,leaf:true,minX:Infinity,minY:Infinity,maxX:-Infinity,maxY:-Infinity}}function multiSelect(e,t,i,r,n){var o=[t,i],_;while(o.length){i=o.pop();t=o.pop();if(i-t<=r)continue;_=t+Math.ceil((i-t)/r/2)*r;quickselect(e,_,t,i,n);o.push(t,_,_,i)}}var _ol_render_ReplayGroup_=function(){};_ol_render_ReplayGroup_.prototype.getReplay=function(e,t){};_ol_render_ReplayGroup_.prototype.isEmpty=function(){};var _ol_render_ReplayType_={CIRCLE:"Circle",DEFAULT:"Default",IMAGE:"Image",LINE_STRING:"LineString",POLYGON:"Polygon",TEXT:"Text"};var _ol_geom_flat_length_={};_ol_geom_flat_length_.lineString=function(e,t,i,r){var n=e[t];var o=e[t+1];var _=0;var a;for(a=t+r;a<i;a+=r){var s=e[a];var l=e[a+1];_+=Math.sqrt((s-n)*(s-n)+(l-o)*(l-o));n=s;o=l}return _};_ol_geom_flat_length_.linearRing=function(e,t,i,r){var n=_ol_geom_flat_length_.lineString(e,t,i,r);var o=e[i-r]-e[t];var _=e[i-r+1]-e[t+1];n+=Math.sqrt(o*o+_*_);return n};var _ol_geom_flat_textpath_={};_ol_geom_flat_textpath_.lineString=function(e,t,i,r,n,o,_,a){var s=[];var l=e[t]>e[i-r];var h=n.length;var u=e[t];var c=e[t+1];t+=r;var f=e[t];var d=e[t+1];var p=0;var v=Math.sqrt(Math.pow(f-u,2)+Math.pow(d-c,2));var g="";var y=0;var m,E,x;for(var T=0;T<h;++T){E=l?h-T-1:T;var R=n.charAt(E);g=l?R+g:g+R;var S=o(g)-y;y+=S;var C=_+S/2;while(t<i-r&&p+v<C){u=f;c=d;t+=r;f=e[t];d=e[t+1];p+=v;v=Math.sqrt(Math.pow(f-u,2)+Math.pow(d-c,2))}var I=C-p;var M=Math.atan2(d-c,f-u);if(l){M+=M>0?-Math.PI:Math.PI}if(x!==undefined){var w=M-x;w+=w>Math.PI?-2*Math.PI:w<-Math.PI?2*Math.PI:0;if(Math.abs(w)>a){return null}}var b=I/v;var L=_ol_math_.lerp(u,f,b);var P=_ol_math_.lerp(c,d,b);if(x==M){if(l){m[0]=L;m[1]=P;m[2]=S/2}m[4]=g}else{g=R;y=S;m=[L,P,S/2,M,g];if(l){s.unshift(m)}else{s.push(m)}x=M}_+=S}return s};var _ol_render_canvas_Instruction_={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};var _ol_render_replay_={};_ol_render_replay_.ORDER=[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.CIRCLE,_ol_render_ReplayType_.LINE_STRING,_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT,_ol_render_ReplayType_.DEFAULT];_ol_render_replay_.TEXT_ALIGN={};_ol_render_replay_.TEXT_ALIGN["left"]=0;_ol_render_replay_.TEXT_ALIGN["end"]=0;_ol_render_replay_.TEXT_ALIGN["center"]=.5;_ol_render_replay_.TEXT_ALIGN["right"]=1;_ol_render_replay_.TEXT_ALIGN["start"]=1;_ol_render_replay_.TEXT_ALIGN["top"]=0;_ol_render_replay_.TEXT_ALIGN["middle"]=.5;_ol_render_replay_.TEXT_ALIGN["hanging"]=.2;_ol_render_replay_.TEXT_ALIGN["alphabetic"]=.8;_ol_render_replay_.TEXT_ALIGN["ideographic"]=.8;_ol_render_replay_.TEXT_ALIGN["bottom"]=1;var _ol_render_canvas_Replay_=function(e,t,i,r,n,o){_ol_render_VectorContext_.call(this);this.declutterTree=o;this.tmpExtent_=_ol_extent_.createEmpty();this.tolerance=e;this.maxExtent=t;this.overlaps=n;this.pixelRatio=r;this.maxLineWidth=0;this.resolution=i;this.beginGeometryInstruction1_=null;this.beginGeometryInstruction2_=null;this.bufferedMaxExtent_=null;this.instructions=[];this.coordinates=[];this.coordinateCache_={};this.renderedTransform_=_ol_transform_.create();this.hitDetectionInstructions=[];this.pixelCoordinates_=null;this.state={};this.viewRotation_=0;this.tmpLocalTransform_=_ol_transform_.create();this.resetTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_Replay_,_ol_render_VectorContext_);_ol_render_canvas_Replay_.prototype.replayTextBackground_=function(e,t,i,r,n,o,_){e.beginPath();e.moveTo.apply(e,t);e.lineTo.apply(e,i);e.lineTo.apply(e,r);e.lineTo.apply(e,n);e.lineTo.apply(e,t);if(o){this.fillOrigin_=o[2];this.fill_(e)}if(_){this.setStrokeStyle_(e,_);e.stroke()}};_ol_render_canvas_Replay_.prototype.replayImage_=function(e,t,i,r,n,o,_,a,s,l,h,u,c,f,d,p,v,g){var y=v||g;var m=this.tmpLocalTransform_;n*=c;o*=c;t-=n;i-=o;if(f){t=Math.round(t);i=Math.round(i)}var E=d+l>r.width?r.width-l:d;var x=a+h>r.height?r.height-h:a;var T=this.tmpExtent_;var R=p[3]+E*c+p[1];var S=p[0]+x*c+p[2];var C=t-p[3];var I=i-p[0];var M;var w;var b;var L;if(y||u!==0){M=[C,I];w=[C+R,I];b=[C+R,I+S];L=[C,I+S]}var P=null;if(u!==0){var A=t+n;var O=i+o;P=_ol_transform_.compose(m,A,O,1,1,u,-A,-O);_ol_extent_.createOrUpdateEmpty(T);_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,M));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,w));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,b));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,L))}else{_ol_extent_.createOrUpdate(C,I,C+R,I+S,T)}var F=e.canvas;var D=T[0]<=F.width&&T[2]>=0&&T[1]<=F.height&&T[3]>=0;if(_){if(!D&&_[4]==1){return}_ol_extent_.extend(_,T);var N=D?[e,P?P.slice(0):null,s,r,l,h,E,x,t,i,c]:null;if(N&&y){N.push(v,g,M,w,b,L)}_.push(N)}else if(D){if(y){this.replayTextBackground_(e,M,w,b,L,v,g)}_ol_render_canvas_.drawImage(e,P,s,r,l,h,E,x,t,i,c)}};_ol_render_canvas_Replay_.prototype.applyPixelRatio=function(e){var t=this.pixelRatio;return t==1?e:e.map((function(e){return e*t}))};_ol_render_canvas_Replay_.prototype.appendFlatCoordinates=function(e,t,i,r,n,o){var _=this.coordinates.length;var a=this.getBufferedMaxExtent();if(o){t+=r}var s=[e[t],e[t+1]];var l=[NaN,NaN];var h=true;var u,c,f;for(u=t+r;u<i;u+=r){l[0]=e[u];l[1]=e[u+1];f=_ol_extent_.coordinateRelationship(a,l);if(f!==c){if(h){this.coordinates[_++]=s[0];this.coordinates[_++]=s[1]}this.coordinates[_++]=l[0];this.coordinates[_++]=l[1];h=false}else if(f===_ol_extent_Relationship_.INTERSECTING){this.coordinates[_++]=l[0];this.coordinates[_++]=l[1];h=false}else{h=true}s[0]=l[0];s[1]=l[1];c=f}if(n&&h||u===t+r){this.coordinates[_++]=s[0];this.coordinates[_++]=s[1]}return _};_ol_render_canvas_Replay_.prototype.drawCustomCoordinates_=function(e,t,i,r,n){for(var o=0,_=i.length;o<_;++o){var a=i[o];var s=this.appendFlatCoordinates(e,t,a,r,false,false);n.push(s);t=a}return t};_ol_render_canvas_Replay_.prototype.drawCustom=function(e,t,i){this.beginGeometry(e,t);var r=e.getType();var n=e.getStride();var o=this.coordinates.length;var _,a,s,l;var h;if(r==_ol_geom_GeometryType_.MULTI_POLYGON){e=e;_=e.getOrientedFlatCoordinates();l=[];var u=e.getEndss();h=0;for(var c=0,f=u.length;c<f;++c){var d=[];h=this.drawCustomCoordinates_(_,h,u[c],n,d);l.push(d)}this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,l,e,i,_ol_geom_flat_inflate_.coordinatesss])}else if(r==_ol_geom_GeometryType_.POLYGON||r==_ol_geom_GeometryType_.MULTI_LINE_STRING){s=[];_=r==_ol_geom_GeometryType_.POLYGON?e.getOrientedFlatCoordinates():e.getFlatCoordinates();h=this.drawCustomCoordinates_(_,0,e.getEnds(),n,s);this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,s,e,i,_ol_geom_flat_inflate_.coordinatess])}else if(r==_ol_geom_GeometryType_.LINE_STRING||r==_ol_geom_GeometryType_.MULTI_POINT){_=e.getFlatCoordinates();a=this.appendFlatCoordinates(_,0,_.length,n,false,false);this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,a,e,i,_ol_geom_flat_inflate_.coordinates])}else if(r==_ol_geom_GeometryType_.POINT){_=e.getFlatCoordinates();this.coordinates.push(_[0],_[1]);a=this.coordinates.length;this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,a,e,i])}this.endGeometry(e,t)};_ol_render_canvas_Replay_.prototype.beginGeometry=function(e,t){this.beginGeometryInstruction1_=[_ol_render_canvas_Instruction_.BEGIN_GEOMETRY,t,0];this.instructions.push(this.beginGeometryInstruction1_);this.beginGeometryInstruction2_=[_ol_render_canvas_Instruction_.BEGIN_GEOMETRY,t,0];this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)};_ol_render_canvas_Replay_.prototype.fill_=function(e){if(this.fillOrigin_){var t=_ol_transform_.apply(this.renderedTransform_,this.fillOrigin_.slice());e.translate(t[0],t[1]);e.rotate(this.viewRotation_)}e.fill();if(this.fillOrigin_){e.setTransform.apply(e,_ol_render_canvas_.resetTransform_)}};_ol_render_canvas_Replay_.prototype.setStrokeStyle_=function(e,t){e.strokeStyle=t[1];e.lineWidth=t[2];e.lineCap=t[3];e.lineJoin=t[4];e.miterLimit=t[5];if(_ol_has_.CANVAS_LINE_DASH){e.lineDashOffset=t[7];e.setLineDash(t[6])}};_ol_render_canvas_Replay_.prototype.renderDeclutter_=function(e,t){if(e&&e.length>5){var i=e[4];if(i==1||i==e.length-5){var r={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};if(!this.declutterTree.collides(r)){this.declutterTree.insert(r);var n=_ol_render_canvas_.drawImage;for(var o=5,_=e.length;o<_;++o){var a=e[o];if(a){if(a.length>11){this.replayTextBackground_(a[0],a[13],a[14],a[15],a[16],a[11],a[12])}n.apply(undefined,a)}}}e.length=5;_ol_extent_.createOrUpdateEmpty(e)}}};_ol_render_canvas_Replay_.prototype.replay_=function(e,t,i,r,n,o){var _;if(this.pixelCoordinates_&&_ol_array_.equals(t,this.renderedTransform_)){_=this.pixelCoordinates_}else{if(!this.pixelCoordinates_){this.pixelCoordinates_=[]}_=_ol_geom_flat_transform_.transform2D(this.coordinates,0,this.coordinates.length,2,t,this.pixelCoordinates_);_ol_transform_.setFromArray(this.renderedTransform_,t)}var a=!_ol_obj_.isEmpty(i);var s=0;var l=r.length;var h=0;var u;var c,f,d,p,v,g,y,m;var E=0;var x=0;var T=null;var R=null;var S=this.coordinateCache_;var C=this.viewRotation_;var I={context:e,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:C};var M=this.instructions!=r||this.overlaps?0:200;while(s<l){var w=r[s];var b=w[0];var L,P,A;switch(b){case _ol_render_canvas_Instruction_.BEGIN_GEOMETRY:L=w[1];if(a&&i[_ol_.getUid(L).toString()]||!L.getGeometry()){s=w[2]}else if(o!==undefined&&!_ol_extent_.intersects(o,L.getGeometry().getExtent())){s=w[2]+1}else{++s}break;case _ol_render_canvas_Instruction_.BEGIN_PATH:if(E>M){this.fill_(e);E=0}if(x>M){e.stroke();x=0}if(!E&&!x){e.beginPath();d=p=NaN}++s;break;case _ol_render_canvas_Instruction_.CIRCLE:h=w[1];var O=_[h];var F=_[h+1];var D=_[h+2];var N=_[h+3];var G=D-O;var k=N-F;var U=Math.sqrt(G*G+k*k);e.moveTo(O+U,F);e.arc(O,F,U,0,2*Math.PI,true);++s;break;case _ol_render_canvas_Instruction_.CLOSE_PATH:e.closePath();++s;break;case _ol_render_canvas_Instruction_.CUSTOM:h=w[1];u=w[2];var j=w[3];var B=w[4];var z=w.length==6?w[5]:undefined;I.geometry=j;I.feature=L;if(!(s in S)){S[s]=[]}var V=S[s];if(z){z(_,h,u,2,V)}else{V[0]=_[h];V[1]=_[h+1];V.length=2}B(V,I);++s;break;case _ol_render_canvas_Instruction_.DRAW_IMAGE:h=w[1];u=w[2];m=w[3];c=w[4];f=w[5];y=n?null:w[6];var W=w[7];var H=w[8];var X=w[9];var Y=w[10];var K=w[11];var q=w[12];var $=w[13];var Z=w[14];var J=w[15];var Q,ee,te;if(w.length>16){Q=w[16];ee=w[17];te=w[18]}else{Q=_ol_render_canvas_.defaultPadding;ee=te=false}if(K){q+=C}for(;h<u;h+=2){this.replayImage_(e,_[h],_[h+1],m,c,f,y,W,H,X,Y,q,$,Z,J,Q,ee?T:null,te?R:null)}this.renderDeclutter_(y,L);++s;break;case _ol_render_canvas_Instruction_.DRAW_CHARS:var ie=w[1];var re=w[2];var ne=w[3];y=n?null:w[4];var oe=w[5];var _e=w[6];var ae=w[7];var se=w[8];var le=w[9];var he=w[10];var ue=w[11];var ce=w[12];var fe=w[13];var de=w[14];var pe=_ol_geom_flat_length_.lineString(_,ie,re,2);var ve=se(ce);if(oe||ve<=pe){var ge=this.textStates[fe].textAlign;var ye=(pe-ve)*_ol_render_replay_.TEXT_ALIGN[ge];var me=_ol_geom_flat_textpath_.lineString(_,ie,re,2,ce,se,ye,ae);if(me){var Ee,xe,Te,Re,Se;if(he){for(Ee=0,xe=me.length;Ee<xe;++Ee){Se=me[Ee];Te=Se[4];Re=this.getImage(Te,fe,"",he);c=Se[2]+ue;f=ne*Re.height+(.5-ne)*2*ue-le;this.replayImage_(e,Se[0],Se[1],Re,c,f,y,Re.height,1,0,0,Se[3],de,false,Re.width,_ol_render_canvas_.defaultPadding,null,null)}}if(_e){for(Ee=0,xe=me.length;Ee<xe;++Ee){Se=me[Ee];Te=Se[4];Re=this.getImage(Te,fe,_e,"");c=Se[2];f=ne*Re.height-le;this.replayImage_(e,Se[0],Se[1],Re,c,f,y,Re.height,1,0,0,Se[3],de,false,Re.width,_ol_render_canvas_.defaultPadding,null,null)}}}}this.renderDeclutter_(y,L);++s;break;case _ol_render_canvas_Instruction_.END_GEOMETRY:if(n!==undefined){L=w[1];var Ce=n(L);if(Ce){return Ce}}++s;break;case _ol_render_canvas_Instruction_.FILL:if(M){E++}else{this.fill_(e)}++s;break;case _ol_render_canvas_Instruction_.MOVE_TO_LINE_TO:h=w[1];u=w[2];P=_[h];A=_[h+1];v=P+.5|0;g=A+.5|0;if(v!==d||g!==p){e.moveTo(P,A);d=v;p=g}for(h+=2;h<u;h+=2){P=_[h];A=_[h+1];v=P+.5|0;g=A+.5|0;if(h==u-2||v!==d||g!==p){e.lineTo(P,A);d=v;p=g}}++s;break;case _ol_render_canvas_Instruction_.SET_FILL_STYLE:T=w;this.fillOrigin_=w[2];if(E){this.fill_(e);E=0;if(x){e.stroke();x=0}}e.fillStyle=w[1];++s;break;case _ol_render_canvas_Instruction_.SET_STROKE_STYLE:R=w;if(x){e.stroke();x=0}this.setStrokeStyle_(e,w);++s;break;case _ol_render_canvas_Instruction_.STROKE:if(M){x++}else{e.stroke()}++s;break;default:++s;break}}if(E){this.fill_(e)}if(x){e.stroke()}return undefined};_ol_render_canvas_Replay_.prototype.replay=function(e,t,i,r){this.viewRotation_=i;this.replay_(e,t,r,this.instructions,undefined,undefined)};_ol_render_canvas_Replay_.prototype.replayHitDetection=function(e,t,i,r,n,o){this.viewRotation_=i;return this.replay_(e,t,r,this.hitDetectionInstructions,n,o)};_ol_render_canvas_Replay_.prototype.reverseHitDetectionInstructions=function(){var e=this.hitDetectionInstructions;e.reverse();var t;var i=e.length;var r;var n;var o=-1;for(t=0;t<i;++t){r=e[t];n=r[0];if(n==_ol_render_canvas_Instruction_.END_GEOMETRY){o=t}else if(n==_ol_render_canvas_Instruction_.BEGIN_GEOMETRY){r[2]=t;_ol_array_.reverseSubArray(this.hitDetectionInstructions,o,t);o=-1}}};_ol_render_canvas_Replay_.prototype.setFillStrokeStyle=function(e,t){var i=this.state;if(e){var r=e.getColor();i.fillStyle=_ol_colorlike_.asColorLike(r?r:_ol_render_canvas_.defaultFillStyle)}else{i.fillStyle=undefined}if(t){var n=t.getColor();i.strokeStyle=_ol_colorlike_.asColorLike(n?n:_ol_render_canvas_.defaultStrokeStyle);var o=t.getLineCap();i.lineCap=o!==undefined?o:_ol_render_canvas_.defaultLineCap;var _=t.getLineDash();i.lineDash=_?_.slice():_ol_render_canvas_.defaultLineDash;var a=t.getLineDashOffset();i.lineDashOffset=a?a:_ol_render_canvas_.defaultLineDashOffset;var s=t.getLineJoin();i.lineJoin=s!==undefined?s:_ol_render_canvas_.defaultLineJoin;var l=t.getWidth();i.lineWidth=l!==undefined?l:_ol_render_canvas_.defaultLineWidth;var h=t.getMiterLimit();i.miterLimit=h!==undefined?h:_ol_render_canvas_.defaultMiterLimit;if(i.lineWidth>this.maxLineWidth){this.maxLineWidth=i.lineWidth;this.bufferedMaxExtent_=null}}else{i.strokeStyle=undefined;i.lineCap=undefined;i.lineDash=null;i.lineDashOffset=undefined;i.lineJoin=undefined;i.lineWidth=undefined;i.miterLimit=undefined}};_ol_render_canvas_Replay_.prototype.applyFill=function(e,t){var i=e.fillStyle;var r=[_ol_render_canvas_Instruction_.SET_FILL_STYLE,i];if(typeof i!=="string"){var n=t.getExtent();r.push([n[0],n[3]])}this.instructions.push(r)};_ol_render_canvas_Replay_.prototype.applyStroke=function(e){this.instructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,e.strokeStyle,e.lineWidth*this.pixelRatio,e.lineCap,e.lineJoin,e.miterLimit,this.applyPixelRatio(e.lineDash),e.lineDashOffset*this.pixelRatio])};_ol_render_canvas_Replay_.prototype.updateFillStyle=function(e,t,i){var r=e.fillStyle;if(typeof r!=="string"||e.currentFillStyle!=r){t.call(this,e,i);e.currentFillStyle=r}};_ol_render_canvas_Replay_.prototype.updateStrokeStyle=function(e,t){var i=e.strokeStyle;var r=e.lineCap;var n=e.lineDash;var o=e.lineDashOffset;var _=e.lineJoin;var a=e.lineWidth;var s=e.miterLimit;if(e.currentStrokeStyle!=i||e.currentLineCap!=r||n!=e.currentLineDash&&!_ol_array_.equals(e.currentLineDash,n)||e.currentLineDashOffset!=o||e.currentLineJoin!=_||e.currentLineWidth!=a||e.currentMiterLimit!=s){t.call(this,e);e.currentStrokeStyle=i;e.currentLineCap=r;e.currentLineDash=n;e.currentLineDashOffset=o;e.currentLineJoin=_;e.currentLineWidth=a;e.currentMiterLimit=s}};_ol_render_canvas_Replay_.prototype.endGeometry=function(e,t){this.beginGeometryInstruction1_[2]=this.instructions.length;this.beginGeometryInstruction1_=null;this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length;this.beginGeometryInstruction2_=null;var i=[_ol_render_canvas_Instruction_.END_GEOMETRY,t];this.instructions.push(i);this.hitDetectionInstructions.push(i)};_ol_render_canvas_Replay_.prototype.finish=_ol_.nullFunction;_ol_render_canvas_Replay_.prototype.getBufferedMaxExtent=function(){if(!this.bufferedMaxExtent_){this.bufferedMaxExtent_=_ol_extent_.clone(this.maxExtent);if(this.maxLineWidth>0){var e=this.resolution*(this.maxLineWidth+1)/2;_ol_extent_.buffer(this.bufferedMaxExtent_,e,this.bufferedMaxExtent_)}}return this.bufferedMaxExtent_};var _ol_render_canvas_ImageReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o);this.declutterGroup_=null;this.hitDetectionImage_=null;this.image_=null;this.anchorX_=undefined;this.anchorY_=undefined;this.height_=undefined;this.opacity_=undefined;this.originX_=undefined;this.originY_=undefined;this.rotateWithView_=undefined;this.rotation_=undefined;this.scale_=undefined;this.snapToPixel_=undefined;this.width_=undefined};_ol_.inherits(_ol_render_canvas_ImageReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_ImageReplay_.prototype.drawCoordinates_=function(e,t,i,r){return this.appendFlatCoordinates(e,t,i,r,false,false)};_ol_render_canvas_ImageReplay_.prototype.drawPoint=function(e,t){if(!this.image_){return}this.beginGeometry(e,t);var i=e.getFlatCoordinates();var r=e.getStride();var n=this.coordinates.length;var o=this.drawCoordinates_(i,0,i.length,r);this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.image_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_*this.pixelRatio,this.snapToPixel_,this.width_]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.snapToPixel_,this.width_]);this.endGeometry(e,t)};_ol_render_canvas_ImageReplay_.prototype.drawMultiPoint=function(e,t){if(!this.image_){return}this.beginGeometry(e,t);var i=e.getFlatCoordinates();var r=e.getStride();var n=this.coordinates.length;var o=this.drawCoordinates_(i,0,i.length,r);this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.image_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_*this.pixelRatio,this.snapToPixel_,this.width_]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.snapToPixel_,this.width_]);this.endGeometry(e,t)};_ol_render_canvas_ImageReplay_.prototype.finish=function(){this.reverseHitDetectionInstructions();this.anchorX_=undefined;this.anchorY_=undefined;this.hitDetectionImage_=null;this.image_=null;this.height_=undefined;this.scale_=undefined;this.opacity_=undefined;this.originX_=undefined;this.originY_=undefined;this.rotateWithView_=undefined;this.rotation_=undefined;this.snapToPixel_=undefined;this.width_=undefined};_ol_render_canvas_ImageReplay_.prototype.setImageStyle=function(e,t){var i=e.getAnchor();var r=e.getSize();var n=e.getHitDetectionImage(1);var o=e.getImage(1);var _=e.getOrigin();this.anchorX_=i[0];this.anchorY_=i[1];this.declutterGroup_=t;this.hitDetectionImage_=n;this.image_=o;this.height_=r[1];this.opacity_=e.getOpacity();this.originX_=_[0];this.originY_=_[1];this.rotateWithView_=e.getRotateWithView();this.rotation_=e.getRotation();this.scale_=e.getScale();this.snapToPixel_=e.getSnapToPixel();this.width_=r[0]};var _ol_render_canvas_LineStringReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o)};_ol_.inherits(_ol_render_canvas_LineStringReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_LineStringReplay_.prototype.drawFlatCoordinates_=function(e,t,i,r){var n=this.coordinates.length;var o=this.appendFlatCoordinates(e,t,i,r,false,false);var _=[_ol_render_canvas_Instruction_.MOVE_TO_LINE_TO,n,o];this.instructions.push(_);this.hitDetectionInstructions.push(_);return i};_ol_render_canvas_LineStringReplay_.prototype.drawLineString=function(e,t){var i=this.state;var r=i.strokeStyle;var n=i.lineWidth;if(r===undefined||n===undefined){return}this.updateStrokeStyle(i,this.applyStroke);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset],[_ol_render_canvas_Instruction_.BEGIN_PATH]);var o=e.getFlatCoordinates();var _=e.getStride();this.drawFlatCoordinates_(o,0,o.length,_);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.STROKE]);this.endGeometry(e,t)};_ol_render_canvas_LineStringReplay_.prototype.drawMultiLineString=function(e,t){var i=this.state;var r=i.strokeStyle;var n=i.lineWidth;if(r===undefined||n===undefined){return}this.updateStrokeStyle(i,this.applyStroke);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset],[_ol_render_canvas_Instruction_.BEGIN_PATH]);var o=e.getEnds();var _=e.getFlatCoordinates();var a=e.getStride();var s=0;var l,h;for(l=0,h=o.length;l<h;++l){s=this.drawFlatCoordinates_(_,s,o[l],a)}this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.STROKE]);this.endGeometry(e,t)};_ol_render_canvas_LineStringReplay_.prototype.finish=function(){var e=this.state;if(e.lastStroke!=undefined&&e.lastStroke!=this.coordinates.length){this.instructions.push([_ol_render_canvas_Instruction_.STROKE])}this.reverseHitDetectionInstructions();this.state=null};_ol_render_canvas_LineStringReplay_.prototype.applyStroke=function(e){if(e.lastStroke!=undefined&&e.lastStroke!=this.coordinates.length){this.instructions.push([_ol_render_canvas_Instruction_.STROKE]);e.lastStroke=this.coordinates.length}e.lastStroke=0;_ol_render_canvas_Replay_.prototype.applyStroke.call(this,e);this.instructions.push([_ol_render_canvas_Instruction_.BEGIN_PATH])};var _ol_render_canvas_PolygonReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o)};_ol_.inherits(_ol_render_canvas_PolygonReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_PolygonReplay_.prototype.drawFlatCoordinatess_=function(e,t,i,r){var n=this.state;var o=n.fillStyle!==undefined;var _=n.strokeStyle!=undefined;var a=i.length;var s=[_ol_render_canvas_Instruction_.BEGIN_PATH];this.instructions.push(s);this.hitDetectionInstructions.push(s);for(var l=0;l<a;++l){var h=i[l];var u=this.coordinates.length;var c=this.appendFlatCoordinates(e,t,h,r,true,!_);var f=[_ol_render_canvas_Instruction_.MOVE_TO_LINE_TO,u,c];this.instructions.push(f);this.hitDetectionInstructions.push(f);if(_){var d=[_ol_render_canvas_Instruction_.CLOSE_PATH];this.instructions.push(d);this.hitDetectionInstructions.push(d)}t=h}var p=[_ol_render_canvas_Instruction_.FILL];this.hitDetectionInstructions.push(p);if(o){this.instructions.push(p)}if(_){var v=[_ol_render_canvas_Instruction_.STROKE];this.instructions.push(v);this.hitDetectionInstructions.push(v)}return t};_ol_render_canvas_PolygonReplay_.prototype.drawCircle=function(e,t){var i=this.state;var r=i.fillStyle;var n=i.strokeStyle;if(r===undefined&&n===undefined){return}this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var o=e.getFlatCoordinates();var _=e.getStride();var a=this.coordinates.length;this.appendFlatCoordinates(o,0,o.length,_,false,false);var s=[_ol_render_canvas_Instruction_.BEGIN_PATH];var l=[_ol_render_canvas_Instruction_.CIRCLE,a];this.instructions.push(s,l);this.hitDetectionInstructions.push(s,l);var h=[_ol_render_canvas_Instruction_.FILL];this.hitDetectionInstructions.push(h);if(i.fillStyle!==undefined){this.instructions.push(h)}if(i.strokeStyle!==undefined){var u=[_ol_render_canvas_Instruction_.STROKE];this.instructions.push(u);this.hitDetectionInstructions.push(u)}this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.drawPolygon=function(e,t){var i=this.state;this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var r=e.getEnds();var n=e.getOrientedFlatCoordinates();var o=e.getStride();this.drawFlatCoordinatess_(n,0,r,o);this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.drawMultiPolygon=function(e,t){var i=this.state;var r=i.fillStyle;var n=i.strokeStyle;if(r===undefined&&n===undefined){return}this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var o=e.getEndss();var _=e.getOrientedFlatCoordinates();var a=e.getStride();var s=0;var l,h;for(l=0,h=o.length;l<h;++l){s=this.drawFlatCoordinatess_(_,s,o[l],a)}this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.finish=function(){this.reverseHitDetectionInstructions();this.state=null;var e=this.tolerance;if(e!==0){var t=this.coordinates;var i,r;for(i=0,r=t.length;i<r;++i){t[i]=_ol_geom_flat_simplify_.snap(t[i],e)}}};_ol_render_canvas_PolygonReplay_.prototype.setFillStrokeStyles_=function(e){var t=this.state;var i=t.fillStyle;if(i!==undefined){this.updateFillStyle(t,this.applyFill,e)}if(t.strokeStyle!==undefined){this.updateStrokeStyle(t,this.applyStroke)}};var _ol_geom_flat_straightchunk_={};_ol_geom_flat_straightchunk_.lineString=function(e,t,i,r,n){var o=i;var _=i;var a=0;var s=0;var l=i;var h,u,c,f,d,p,v,g,y,m;for(u=i;u<r;u+=n){var E=t[u];var x=t[u+1];if(d!==undefined){y=E-d;m=x-p;f=Math.sqrt(y*y+m*m);if(v!==undefined){s+=c;h=Math.acos((v*y+g*m)/(c*f));if(h>e){if(s>a){a=s;o=l;_=u}s=0;l=u-n}}c=f;v=y;g=m}d=E;p=x}s+=f;return s>a?[l,u]:[o,_]};var _ol_style_TextPlacement_={POINT:"point",LINE:"line"};var _ol_render_canvas_TextReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o);this.labels_=null;this.text_="";this.textOffsetX_=0;this.textOffsetY_=0;this.textRotateWithView_=undefined;this.textRotation_=0;this.textFillState_=null;this.fillStates={};this.textStrokeState_=null;this.strokeStates={};this.textState_={};this.textStates={};this.textKey_="";this.fillKey_="";this.strokeKey_="";this.widths_={};var _=_ol_render_canvas_.labelCache;_.prune()};_ol_.inherits(_ol_render_canvas_TextReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_TextReplay_.measureTextWidths=function(e,t,i){var r=t.length;var n=0;var o,_;for(_=0;_<r;++_){o=_ol_render_canvas_.measureTextWidth(e,t[_]);n=Math.max(n,o);i.push(o)}return n};_ol_render_canvas_TextReplay_.prototype.drawText=function(e,t){var i=this.textFillState_;var r=this.textStrokeState_;var n=this.textState_;if(this.text_===""||!n||!i&&!r){return}var o=this.coordinates.length;var _=e.getType();var a=null;var s=2;var l=2;var h,u;if(n.placement===_ol_style_TextPlacement_.LINE){if(!_ol_extent_.intersects(this.getBufferedMaxExtent(),e.getExtent())){return}var c;a=e.getFlatCoordinates();l=e.getStride();if(_==_ol_geom_GeometryType_.LINE_STRING){c=[a.length]}else if(_==_ol_geom_GeometryType_.MULTI_LINE_STRING){c=e.getEnds()}else if(_==_ol_geom_GeometryType_.POLYGON){c=e.getEnds().slice(0,1)}else if(_==_ol_geom_GeometryType_.MULTI_POLYGON){var f=e.getEndss();c=[];for(h=0,u=f.length;h<u;++h){c.push(f[h][0])}}this.beginGeometry(e,t);var d=n.textAlign;var p=0;var v;for(var g=0,y=c.length;g<y;++g){if(d==undefined){var m=_ol_geom_flat_straightchunk_.lineString(n.maxAngle,a,p,c[g],l);p=m[0];v=m[1]}else{v=c[g]}for(h=p;h<v;h+=l){this.coordinates.push(a[h],a[h+1])}s=this.coordinates.length;p=c[g];this.drawChars_(o,s,this.declutterGroup_);o=s}this.endGeometry(e,t)}else{var E=this.getImage(this.text_,this.textKey_,this.fillKey_,this.strokeKey_);var x=E.width/this.pixelRatio;switch(_){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:a=e.getFlatCoordinates();s=a.length;break;case _ol_geom_GeometryType_.LINE_STRING:a=e.getFlatMidpoint();break;case _ol_geom_GeometryType_.CIRCLE:a=e.getCenter();break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:a=e.getFlatMidpoints();s=a.length;break;case _ol_geom_GeometryType_.POLYGON:a=e.getFlatInteriorPoint();if(!n.overflow&&a[2]/this.resolution<x){return}l=3;break;case _ol_geom_GeometryType_.MULTI_POLYGON:var T=e.getFlatInteriorPoints();a=[];for(h=0,u=T.length;h<u;h+=3){if(n.overflow||T[h+2]/this.resolution>=x){a.push(T[h],T[h+1])}}s=a.length;if(s==0){return}break}s=this.appendFlatCoordinates(a,0,s,l,false,false);this.beginGeometry(e,t);if(n.backgroundFill||n.backgroundStroke){this.setFillStrokeStyle(n.backgroundFill,n.backgroundStroke);this.updateFillStyle(this.state,this.applyFill,e);this.updateStrokeStyle(this.state,this.applyStroke)}this.drawTextImage_(E,o,s);this.endGeometry(e,t)}};_ol_render_canvas_TextReplay_.prototype.getImage=function(e,t,i,r){var n;var o=r+t+e+i+this.pixelRatio;var _=_ol_render_canvas_.labelCache;if(!_.containsKey(o)){var a=r?this.strokeStates[r]||this.textStrokeState_:null;var s=i?this.fillStates[i]||this.textFillState_:null;var l=this.textStates[t]||this.textState_;var h=this.pixelRatio;var u=l.scale*h;var c=_ol_render_replay_.TEXT_ALIGN[l.textAlign||_ol_render_canvas_.defaultTextAlign];var f=r&&a.lineWidth?a.lineWidth:0;var d=e.split("\n");var p=d.length;var v=[];var g=_ol_render_canvas_TextReplay_.measureTextWidths(l.font,d,v);var y=_ol_render_canvas_.measureTextHeight(l.font);var m=y*p;var E=g+f;var x=_ol_dom_.createCanvasContext2D(Math.ceil(E*u),Math.ceil((m+f)*u));n=x.canvas;_.set(o,n);if(u!=1){x.scale(u,u)}x.font=l.font;if(r){x.strokeStyle=a.strokeStyle;x.lineWidth=f*(_ol_has_.SAFARI?u:1);x.lineCap=a.lineCap;x.lineJoin=a.lineJoin;x.miterLimit=a.miterLimit;if(_ol_has_.CANVAS_LINE_DASH&&a.lineDash.length){x.setLineDash(a.lineDash);x.lineDashOffset=a.lineDashOffset}}if(i){x.fillStyle=s.fillStyle}x.textBaseline="middle";x.textAlign="center";var T=.5-c;var R=c*n.width/u+T*f;var S;if(r){for(S=0;S<p;++S){x.strokeText(d[S],R+T*v[S],.5*(f+y)+S*y)}}if(i){for(S=0;S<p;++S){x.fillText(d[S],R+T*v[S],.5*(f+y)+S*y)}}}return _.get(o)};_ol_render_canvas_TextReplay_.prototype.drawTextImage_=function(e,t,i){var r=this.textState_;var n=this.textStrokeState_;var o=this.pixelRatio;var _=_ol_render_replay_.TEXT_ALIGN[r.textAlign||_ol_render_canvas_.defaultTextAlign];var a=_ol_render_replay_.TEXT_ALIGN[r.textBaseline];var s=n&&n.lineWidth?n.lineWidth:0;var l=_*e.width/o+2*(.5-_)*s;var h=a*e.height/o+2*(.5-a)*s;this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,t,i,e,(l-this.textOffsetX_)*o,(h-this.textOffsetY_)*o,this.declutterGroup_,e.height,1,0,0,this.textRotateWithView_,this.textRotation_,1,true,e.width,r.padding==_ol_render_canvas_.defaultPadding?_ol_render_canvas_.defaultPadding:r.padding.map((function(e){return e*o})),!!r.backgroundFill,!!r.backgroundStroke]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,t,i,e,(l-this.textOffsetX_)*o,(h-this.textOffsetY_)*o,this.declutterGroup_,e.height,1,0,0,this.textRotateWithView_,this.textRotation_,1/o,true,e.width,r.padding,!!r.backgroundFill,!!r.backgroundStroke])};_ol_render_canvas_TextReplay_.prototype.drawChars_=function(e,t,i){var r=this.textStrokeState_;var n=this.textState_;var o=this.textFillState_;var _=this.strokeKey_;if(r){if(!(_ in this.strokeStates)){this.strokeStates[_]={strokeStyle:r.strokeStyle,lineCap:r.lineCap,lineDashOffset:r.lineDashOffset,lineWidth:r.lineWidth,lineJoin:r.lineJoin,miterLimit:r.miterLimit,lineDash:r.lineDash}}}var a=this.textKey_;if(!(this.textKey_ in this.textStates)){this.textStates[this.textKey_]={font:n.font,textAlign:n.textAlign||_ol_render_canvas_.defaultTextAlign,scale:n.scale}}var s=this.fillKey_;if(o){if(!(s in this.fillStates)){this.fillStates[s]={fillStyle:o.fillStyle}}}var l=this.pixelRatio;var h=_ol_render_replay_.TEXT_ALIGN[n.textBaseline];var u=this.textOffsetY_*l;var c=this.text_;var f=n.font;var d=n.scale;var p=r?r.lineWidth*d/2:0;var v=this.widths_[f];if(!v){this.widths_[f]=v={}}this.instructions.push([_ol_render_canvas_Instruction_.DRAW_CHARS,e,t,h,i,n.overflow,s,n.maxAngle,function(e){var t=v[e];if(!t){t=v[e]=_ol_render_canvas_.measureTextWidth(f,e)}return t*d*l},u,_,p*l,c,a,1]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_CHARS,e,t,h,i,n.overflow,s,n.maxAngle,function(e){var t=v[e];if(!t){t=v[e]=_ol_render_canvas_.measureTextWidth(f,e)}return t*d},u,_,p,c,a,1/l])};_ol_render_canvas_TextReplay_.prototype.setTextStyle=function(e,t){var i,r,n;if(!e){this.text_=""}else{this.declutterGroup_=t;var o=e.getFill();if(!o){r=this.textFillState_=null}else{r=this.textFillState_;if(!r){r=this.textFillState_={}}r.fillStyle=_ol_colorlike_.asColorLike(o.getColor()||_ol_render_canvas_.defaultFillStyle)}var _=e.getStroke();if(!_){n=this.textStrokeState_=null}else{n=this.textStrokeState_;if(!n){n=this.textStrokeState_={}}var a=_.getLineDash();var s=_.getLineDashOffset();var l=_.getWidth();var h=_.getMiterLimit();n.lineCap=_.getLineCap()||_ol_render_canvas_.defaultLineCap;n.lineDash=a?a.slice():_ol_render_canvas_.defaultLineDash;n.lineDashOffset=s===undefined?_ol_render_canvas_.defaultLineDashOffset:s;n.lineJoin=_.getLineJoin()||_ol_render_canvas_.defaultLineJoin;n.lineWidth=l===undefined?_ol_render_canvas_.defaultLineWidth:l;n.miterLimit=h===undefined?_ol_render_canvas_.defaultMiterLimit:h;n.strokeStyle=_ol_colorlike_.asColorLike(_.getColor()||_ol_render_canvas_.defaultStrokeStyle)}i=this.textState_;var u=e.getFont()||_ol_render_canvas_.defaultFont;_ol_render_canvas_.checkFont(u);var c=e.getScale();i.overflow=e.getOverflow();i.font=u;i.maxAngle=e.getMaxAngle();i.placement=e.getPlacement();i.textAlign=e.getTextAlign();i.textBaseline=e.getTextBaseline()||_ol_render_canvas_.defaultTextBaseline;i.backgroundFill=e.getBackgroundFill();i.backgroundStroke=e.getBackgroundStroke();i.padding=e.getPadding()||_ol_render_canvas_.defaultPadding;i.scale=c===undefined?1:c;var f=e.getOffsetX();var d=e.getOffsetY();var p=e.getRotateWithView();var v=e.getRotation();this.text_=e.getText()||"";this.textOffsetX_=f===undefined?0:f;this.textOffsetY_=d===undefined?0:d;this.textRotateWithView_=p===undefined?false:p;this.textRotation_=v===undefined?0:v;this.strokeKey_=n?(typeof n.strokeStyle=="string"?n.strokeStyle:_ol_.getUid(n.strokeStyle))+n.lineCap+n.lineDashOffset+"|"+n.lineWidth+n.lineJoin+n.miterLimit+"["+n.lineDash.join()+"]":"";this.textKey_=i.font+i.scale+(i.textAlign||"?");this.fillKey_=r?typeof r.fillStyle=="string"?r.fillStyle:"|"+_ol_.getUid(r.fillStyle):""}};var _ol_render_canvas_ReplayGroup_=function(e,t,i,r,n,o,_){_ol_render_ReplayGroup_.call(this);this.declutterTree_=o;this.declutterGroup_=null;this.tolerance_=e;this.maxExtent_=t;this.overlaps_=n;this.pixelRatio_=r;this.resolution_=i;this.renderBuffer_=_;this.replaysByZIndex_={};this.hitDetectionContext_=_ol_dom_.createCanvasContext2D(1,1);this.hitDetectionTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_ReplayGroup_,_ol_render_ReplayGroup_);_ol_render_canvas_ReplayGroup_.circleArrayCache_={0:[[true]]};_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_=function(e,t,i){var r;var n=Math.floor(e.length/2);if(t>=n){for(r=n;r<t;r++){e[r][i]=true}}else if(t<n){for(r=t+1;r<n;r++){e[r][i]=true}}};_ol_render_canvas_ReplayGroup_.getCircleArray_=function(e){if(_ol_render_canvas_ReplayGroup_.circleArrayCache_[e]!==undefined){return _ol_render_canvas_ReplayGroup_.circleArrayCache_[e]}var t=e*2+1;var i=new Array(t);for(var r=0;r<t;r++){i[r]=new Array(t)}var n=e;var o=0;var _=0;while(n>=o){_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+n,e+o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+o,e+n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-o,e+n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-n,e+o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-n,e-o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-o,e-n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+o,e-n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+n,e-o);o++;_+=1+2*o;if(2*(_-n)+1>0){n-=1;_+=1-2*n}}_ol_render_canvas_ReplayGroup_.circleArrayCache_[e]=i;return i};_ol_render_canvas_ReplayGroup_.replayDeclutter=function(e,t,i){var r=Object.keys(e).map(Number).sort(_ol_array_.numberSafeCompareFunction);var n={};for(var o=0,_=r.length;o<_;++o){var a=e[r[o].toString()];for(var s=0,l=a.length;s<l;){var h=a[s++];var u=a[s++];h.replay(t,u,i,n)}}};_ol_render_canvas_ReplayGroup_.prototype.addDeclutter=function(e){var t=null;if(this.declutterTree_){if(e){t=this.declutterGroup_;t[4]++}else{t=this.declutterGroup_=_ol_extent_.createEmpty();t.push(1)}}return t};_ol_render_canvas_ReplayGroup_.prototype.clip=function(e,t){var i=this.getClipCoords(t);e.beginPath();e.moveTo(i[0],i[1]);e.lineTo(i[2],i[3]);e.lineTo(i[4],i[5]);e.lineTo(i[6],i[7]);e.clip()};_ol_render_canvas_ReplayGroup_.prototype.hasReplays=function(e){for(var t in this.replaysByZIndex_){var i=this.replaysByZIndex_[t];for(var r=0,n=e.length;r<n;++r){if(e[r]in i){return true}}}return false};_ol_render_canvas_ReplayGroup_.prototype.finish=function(){var e;for(e in this.replaysByZIndex_){var t=this.replaysByZIndex_[e];var i;for(i in t){t[i].finish()}}};_ol_render_canvas_ReplayGroup_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){r=Math.round(r);var a=r*2+1;var s=_ol_transform_.compose(this.hitDetectionTransform_,r+.5,r+.5,1/t,-1/t,-i,-e[0],-e[1]);var l=this.hitDetectionContext_;if(l.canvas.width!==a||l.canvas.height!==a){l.canvas.width=a;l.canvas.height=a}else{l.clearRect(0,0,a,a)}var h;if(this.renderBuffer_!==undefined){h=_ol_extent_.createEmpty();_ol_extent_.extendCoordinate(h,e);_ol_extent_.buffer(h,t*(this.renderBuffer_+r),h)}var u=_ol_render_canvas_ReplayGroup_.getCircleArray_(r);var c;if(this.declutterTree_){c=this.declutterTree_.all().map((function(e){return e.value}))}var f;function d(e){var t=l.getImageData(0,0,a,a).data;for(var i=0;i<a;i++){for(var r=0;r<a;r++){if(u[i][r]){if(t[(r*a+i)*4+3]>0){var n;if(!(c&&(f==_ol_render_ReplayType_.IMAGE||f==_ol_render_ReplayType_.TEXT))||c.indexOf(e)!==-1){n=o(e)}if(n){return n}else{l.clearRect(0,0,a,a);return undefined}}}}}}var p=Object.keys(this.replaysByZIndex_).map(Number);p.sort(_ol_array_.numberSafeCompareFunction);var v,g,y,m,E;for(v=p.length-1;v>=0;--v){var x=p[v].toString();y=this.replaysByZIndex_[x];for(g=_ol_render_replay_.ORDER.length-1;g>=0;--g){f=_ol_render_replay_.ORDER[g];m=y[f];if(m!==undefined){if(_&&(f==_ol_render_ReplayType_.IMAGE||f==_ol_render_ReplayType_.TEXT)){var T=_[x];if(!T){_[x]=[m,s.slice(0)]}else{T.push(m,s.slice(0))}}else{E=m.replayHitDetection(l,s,i,n,d,h);if(E){return E}}}}}return undefined};_ol_render_canvas_ReplayGroup_.prototype.getClipCoords=function(e){var t=this.maxExtent_;var i=t[0];var r=t[1];var n=t[2];var o=t[3];var _=[i,r,i,o,n,o,n,r];_ol_geom_flat_transform_.transform2D(_,0,8,2,e,_);return _};_ol_render_canvas_ReplayGroup_.prototype.getReplay=function(e,t){var i=e!==undefined?e.toString():"0";var r=this.replaysByZIndex_[i];if(r===undefined){r={};this.replaysByZIndex_[i]=r}var n=r[t];if(n===undefined){var o=_ol_render_canvas_ReplayGroup_.BATCH_CONSTRUCTORS_[t];n=new o(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_,this.overlaps_,this.declutterTree_);r[t]=n}return n};_ol_render_canvas_ReplayGroup_.prototype.getReplays=function(){return this.replaysByZIndex_};_ol_render_canvas_ReplayGroup_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.replaysByZIndex_)};_ol_render_canvas_ReplayGroup_.prototype.replay=function(e,t,i,r,n,o){var _=Object.keys(this.replaysByZIndex_).map(Number);_.sort(_ol_array_.numberSafeCompareFunction);e.save();this.clip(e,t);var a=n?n:_ol_render_replay_.ORDER;var s,l,h,u,c,f;for(s=0,l=_.length;s<l;++s){var d=_[s].toString();c=this.replaysByZIndex_[d];for(h=0,u=a.length;h<u;++h){var p=a[h];f=c[p];if(f!==undefined){if(o&&(p==_ol_render_ReplayType_.IMAGE||p==_ol_render_ReplayType_.TEXT)){var v=o[d];if(!v){o[d]=[f,t.slice(0)]}else{v.push(f,t.slice(0))}}else{f.replay(e,t,i,r)}}}}e.restore()};_ol_render_canvas_ReplayGroup_.BATCH_CONSTRUCTORS_={Circle:_ol_render_canvas_PolygonReplay_,Default:_ol_render_canvas_Replay_,Image:_ol_render_canvas_ImageReplay_,LineString:_ol_render_canvas_LineStringReplay_,Polygon:_ol_render_canvas_PolygonReplay_,Text:_ol_render_canvas_TextReplay_};var _ol_renderer_vector_={};_ol_renderer_vector_.defaultOrder=function(e,t){return _ol_.getUid(e)-_ol_.getUid(t)};_ol_renderer_vector_.getSquaredTolerance=function(e,t){var i=_ol_renderer_vector_.getTolerance(e,t);return i*i};_ol_renderer_vector_.getTolerance=function(e,t){return _ol_.SIMPLIFY_TOLERANCE*e/t};_ol_renderer_vector_.renderCircleGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(n||o){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.CIRCLE);_.setFillStrokeStyle(n,o);_.drawCircle(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.renderFeature=function(e,t,i,r,n,o){var _=false;var a,s;a=i.getImage();if(a){s=a.getImageState();if(s==_ol_ImageState_.LOADED||s==_ol_ImageState_.ERROR){a.unlistenImageChange(n,o)}else{if(s==_ol_ImageState_.IDLE){a.load()}s=a.getImageState();a.listenImageChange(n,o);_=true}}_ol_renderer_vector_.renderFeature_(e,t,i,r);return _};_ol_renderer_vector_.renderFeature_=function(e,t,i,r){var n=i.getGeometryFunction()(t);if(!n){return}var o=n.getSimplifiedGeometry(r);var _=i.getRenderer();if(_){_ol_renderer_vector_.renderGeometry_(e,o,i,t)}else{var a=_ol_renderer_vector_.GEOMETRY_RENDERERS_[o.getType()];a(e,o,i,t)}};_ol_renderer_vector_.renderGeometry_=function(e,t,i,r){if(t.getType()==_ol_geom_GeometryType_.GEOMETRY_COLLECTION){var n=t.getGeometries();for(var o=0,_=n.length;o<_;++o){_ol_renderer_vector_.renderGeometry_(e,n[o],i,r)}return}var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.DEFAULT);a.drawCustom(t,r,i.getRenderer())};_ol_renderer_vector_.renderGeometryCollectionGeometry_=function(e,t,i,r){var n=t.getGeometriesArray();var o,_;for(o=0,_=n.length;o<_;++o){var a=_ol_renderer_vector_.GEOMETRY_RENDERERS_[n[o].getType()];a(e,n[o],i,r)}};_ol_renderer_vector_.renderLineStringGeometry_=function(e,t,i,r){var n=i.getStroke();if(n){var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.LINE_STRING);o.setFillStrokeStyle(null,n);o.drawLineString(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(false));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiLineStringGeometry_=function(e,t,i,r){var n=i.getStroke();if(n){var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.LINE_STRING);o.setFillStrokeStyle(null,n);o.drawMultiLineString(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(false));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiPolygonGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(o||n){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.POLYGON);_.setFillStrokeStyle(n,o);_.drawMultiPolygon(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.renderPointGeometry_=function(e,t,i,r){var n=i.getImage();if(n){if(n.getImageState()!=_ol_ImageState_.LOADED){return}var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.IMAGE);o.setImageStyle(n,e.addDeclutter(false));o.drawPoint(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(!!n));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiPointGeometry_=function(e,t,i,r){var n=i.getImage();if(n){if(n.getImageState()!=_ol_ImageState_.LOADED){return}var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.IMAGE);o.setImageStyle(n,e.addDeclutter(false));o.drawMultiPoint(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(!!n));a.drawText(t,r)}};_ol_renderer_vector_.renderPolygonGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(n||o){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.POLYGON);_.setFillStrokeStyle(n,o);_.drawPolygon(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.GEOMETRY_RENDERERS_={Point:_ol_renderer_vector_.renderPointGeometry_,LineString:_ol_renderer_vector_.renderLineStringGeometry_,Polygon:_ol_renderer_vector_.renderPolygonGeometry_,MultiPoint:_ol_renderer_vector_.renderMultiPointGeometry_,MultiLineString:_ol_renderer_vector_.renderMultiLineStringGeometry_,MultiPolygon:_ol_renderer_vector_.renderMultiPolygonGeometry_,GeometryCollection:_ol_renderer_vector_.renderGeometryCollectionGeometry_,Circle:_ol_renderer_vector_.renderCircleGeometry_};var _ol_renderer_canvas_VectorLayer_=function(e){_ol_renderer_canvas_Layer_.call(this,e);this.declutterTree_=e.getDeclutter()?rbush_1(9):null;this.dirty_=false;this.renderedRevision_=-1;this.renderedResolution_=NaN;this.renderedExtent_=_ol_extent_.createEmpty();this.renderedRenderOrder_=null;this.replayGroup_=null;this.replayGroupChanged=true;this.context=_ol_dom_.createCanvasContext2D();_ol_events_.listen(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this)};_ol_.inherits(_ol_renderer_canvas_VectorLayer_,_ol_renderer_canvas_Layer_);_ol_renderer_canvas_VectorLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.VECTOR};_ol_renderer_canvas_VectorLayer_["create"]=function(e,t){return new _ol_renderer_canvas_VectorLayer_(t)};_ol_renderer_canvas_VectorLayer_.prototype.disposeInternal=function(){_ol_events_.unlisten(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this);_ol_renderer_canvas_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_canvas_VectorLayer_.prototype.composeFrame=function(e,t,i){var r=e.extent;var n=e.pixelRatio;var o=t.managed?e.skippedFeatureUids:{};var _=e.viewState;var a=_.projection;var s=_.rotation;var l=a.getExtent();var h=this.getLayer().getSource();var u=this.getTransform(e,0);this.preCompose(i,e,u);var c=t.extent;var f=c!==undefined;if(f){this.clip(i,e,c)}var d=this.replayGroup_;if(d&&!d.isEmpty()){if(this.declutterTree_){this.declutterTree_.clear()}var p=this.getLayer();var v=0;var g=0;var y;var m=t.opacity!==1;var E=p.hasListener(_ol_render_EventType_.RENDER);if(m||E){var x=i.canvas.width;var T=i.canvas.height;if(s){var R=Math.round(Math.sqrt(x*x+T*T));v=(R-x)/2;g=(R-T)/2;x=T=R}this.context.canvas.width=x;this.context.canvas.height=T;y=this.context}else{y=i}var S=y.globalAlpha;if(!m){y.globalAlpha=t.opacity}if(y!=i){y.translate(v,g)}var C=e.size[0]*n;var I=e.size[1]*n;_ol_render_canvas_.rotateAtOffset(y,-s,C/2,I/2);d.replay(y,u,s,o);if(h.getWrapX()&&a.canWrapX()&&!_ol_extent_.containsExtent(l,r)){var M=r[0];var w=_ol_extent_.getWidth(l);var b=0;var L;while(M<l[0]){--b;L=w*b;u=this.getTransform(e,L);d.replay(y,u,s,o);M+=w}b=0;M=r[2];while(M>l[2]){++b;L=w*b;u=this.getTransform(e,L);d.replay(y,u,s,o);M-=w}u=this.getTransform(e,0)}_ol_render_canvas_.rotateAtOffset(y,s,C/2,I/2);if(y!=i){if(E){this.dispatchRenderEvent(y,e,u)}if(m){var P=i.globalAlpha;i.globalAlpha=t.opacity;i.drawImage(y.canvas,-v,-g);i.globalAlpha=P}else{i.drawImage(y.canvas,-v,-g)}y.translate(-v,-g)}if(!m){y.globalAlpha=S}}if(f){i.restore()}this.postCompose(i,e,t,u)};_ol_renderer_canvas_VectorLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(!this.replayGroup_){return undefined}else{var o=t.viewState.resolution;var _=t.viewState.rotation;var a=this.getLayer();var s={};var l=this.replayGroup_.forEachFeatureAtCoordinate(e,o,_,i,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in s)){s[t]=true;return r.call(n,e,a)}}),null);return l}};_ol_renderer_canvas_VectorLayer_.prototype.handleFontsChanged_=function(e){var t=this.getLayer();if(t.getVisible()&&this.replayGroup_){t.changed()}};_ol_renderer_canvas_VectorLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_canvas_VectorLayer_.prototype.prepareFrame=function(e,t){var i=this.getLayer();var r=i.getSource();this.updateLogos(e,r);var n=e.viewHints[_ol_ViewHint_.ANIMATING];var o=e.viewHints[_ol_ViewHint_.INTERACTING];var _=i.getUpdateWhileAnimating();var a=i.getUpdateWhileInteracting();if(!this.dirty_&&(!_&&n)||!a&&o){return true}var s=e.extent;var l=e.viewState;var h=l.projection;var u=l.resolution;var c=e.pixelRatio;var f=i.getRevision();var d=i.getRenderBuffer();var p=i.getRenderOrder();if(p===undefined){p=_ol_renderer_vector_.defaultOrder}var v=_ol_extent_.buffer(s,d*u);var g=l.projection.getExtent();if(r.getWrapX()&&l.projection.canWrapX()&&!_ol_extent_.containsExtent(g,e.extent)){var y=_ol_extent_.getWidth(g);var m=Math.max(_ol_extent_.getWidth(v)/2,y);v[0]=g[0]-m;v[2]=g[2]+m}if(!this.dirty_&&this.renderedResolution_==u&&this.renderedRevision_==f&&this.renderedRenderOrder_==p&&_ol_extent_.containsExtent(this.renderedExtent_,v)){this.replayGroupChanged=false;return true}this.replayGroup_=null;this.dirty_=false;var E=new _ol_render_canvas_ReplayGroup_(_ol_renderer_vector_.getTolerance(u,c),v,u,c,r.getOverlaps(),this.declutterTree_,i.getRenderBuffer());r.loadFeatures(v,u,h);var x=function(e){var t;var r=e.getStyleFunction();if(r){t=r.call(e,u)}else{r=i.getStyleFunction();if(r){t=r(e,u)}}if(t){var n=this.renderFeature(e,u,c,t,E);this.dirty_=this.dirty_||n}}.bind(this);if(p){var T=[];r.forEachFeatureInExtent(v,(function(e){T.push(e)}),this);T.sort(p);for(var R=0,S=T.length;R<S;++R){x(T[R])}}else{r.forEachFeatureInExtent(v,x,this)}E.finish();this.renderedResolution_=u;this.renderedRevision_=f;this.renderedRenderOrder_=p;this.renderedExtent_=v;this.replayGroup_=E;this.replayGroupChanged=true;return true};_ol_renderer_canvas_VectorLayer_.prototype.renderFeature=function(e,t,i,r,n){if(!r){return false}var o=false;if(Array.isArray(r)){for(var _=0,a=r.length;_<a;++_){o=_ol_renderer_vector_.renderFeature(n,e,r[_],_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}}else{o=_ol_renderer_vector_.renderFeature(n,e,r,_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)}return o};var _ol_layer_VectorTileRenderType_={IMAGE:"image",HYBRID:"hybrid",VECTOR:"vector"};var _ol_renderer_canvas_VectorTileLayer_=function(e){this.context=null;_ol_renderer_canvas_TileLayer_.call(this,e);this.declutterTree_=e.getDeclutter()?rbush_1(9):null;this.dirty_=false;this.tmpTransform_=_ol_transform_.create();this.zDirection=e.getRenderMode()==_ol_layer_VectorTileRenderType_.VECTOR?1:0;_ol_events_.listen(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this)};_ol_.inherits(_ol_renderer_canvas_VectorTileLayer_,_ol_renderer_canvas_TileLayer_);_ol_renderer_canvas_VectorTileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.VECTOR_TILE};_ol_renderer_canvas_VectorTileLayer_["create"]=function(e,t){return new _ol_renderer_canvas_VectorTileLayer_(t)};_ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS={image:[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.CIRCLE,_ol_render_ReplayType_.LINE_STRING,_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT],hybrid:[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.LINE_STRING]};_ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS={image:[_ol_render_ReplayType_.DEFAULT],hybrid:[_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT,_ol_render_ReplayType_.DEFAULT],vector:_ol_render_replay_.ORDER};_ol_renderer_canvas_VectorTileLayer_.prototype.disposeInternal=function(){_ol_events_.unlisten(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this);_ol_renderer_canvas_TileLayer_.prototype.disposeInternal.call(this)};_ol_renderer_canvas_VectorTileLayer_.prototype.prepareFrame=function(e,t){var i=this.getLayer();var r=i.getRevision();if(this.renderedLayerRevision_!=r){this.renderedTiles.length=0;var n=i.getRenderMode();if(!this.context&&n!=_ol_layer_VectorTileRenderType_.VECTOR){this.context=_ol_dom_.createCanvasContext2D()}if(this.context&&n==_ol_layer_VectorTileRenderType_.VECTOR){this.context=null}}this.renderedLayerRevision_=r;return _ol_renderer_canvas_TileLayer_.prototype.prepareFrame.apply(this,arguments)};_ol_renderer_canvas_VectorTileLayer_.prototype.createReplayGroup_=function(e,t){var i=this.getLayer();var r=t.pixelRatio;var n=t.viewState.projection;var o=i.getRevision();var _=i.getRenderOrder()||null;var a=e.getReplayState(i);if(!a.dirty&&a.renderedRevision==o&&a.renderedRenderOrder==_){return}var s=i.getSource();var l=s.getTileGrid();var h=s.getTileGridForProjection(n);var u=h.getResolution(e.tileCoord[0]);var c=h.getTileCoordExtent(e.wrappedTileCoord);for(var f=0,d=e.tileKeys.length;f<d;++f){var p=e.getTile(e.tileKeys[f]);if(p.getState()==_ol_TileState_.ERROR){continue}var v=p.tileCoord;var g=l.getTileCoordExtent(v);var y=_ol_extent_.getIntersection(c,g);var m=_ol_extent_.equals(g,y)?null:_ol_extent_.buffer(y,i.getRenderBuffer()*u);var E=p.getProjection();var x=false;if(!_ol_proj_.equivalent(n,E)){x=true;p.setProjection(n)}a.dirty=false;var T=new _ol_render_canvas_ReplayGroup_(0,y,u,r,s.getOverlaps(),this.declutterTree_,i.getRenderBuffer());var R=_ol_renderer_vector_.getSquaredTolerance(u,r);var S=function(e){var t;var r=e.getStyleFunction();if(r){t=r.call(e,u)}else{r=i.getStyleFunction();if(r){t=r(e,u)}}if(t){var n=this.renderFeature(e,R,t,T);this.dirty_=this.dirty_||n;a.dirty=a.dirty||n}};var C=p.getFeatures();if(_&&_!==a.renderedRenderOrder){C.sort(_)}var I;for(var M=0,w=C.length;M<w;++M){I=C[M];if(x){if(E.getUnits()==_ol_proj_Units_.TILE_PIXELS){E.setWorldExtent(g);E.setExtent(p.getExtent())}I.getGeometry().transform(E,n)}if(!m||_ol_extent_.intersects(m,I.getGeometry().getExtent())){S.call(this,I)}}T.finish();for(var b in T.getReplays()){}p.setReplayGroup(i,e.tileCoord.toString(),T)}a.renderedRevision=o;a.renderedRenderOrder=_};_ol_renderer_canvas_VectorTileLayer_.prototype.drawTileImage=function(e,t,i,r,n,o,_,a,s){var l=e;this.createReplayGroup_(l,t);if(this.context){this.renderTileImage_(l,t,i);_ol_renderer_canvas_TileLayer_.prototype.drawTileImage.apply(this,arguments)}};_ol_renderer_canvas_VectorTileLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=t.viewState.resolution;var _=t.viewState.rotation;i=i==undefined?0:i;var a=this.getLayer();var s={};var l=this.renderedTiles;var h=a.getSource();var u=h.getTileGridForProjection(t.viewState.projection);var c,f;var d,p,v;var g,y,m;for(d=0,p=l.length;d<p;++d){g=l[d];y=g.wrappedTileCoord;m=u.getTileCoordExtent(y,this.tmpExtent);c=_ol_extent_.buffer(m,i*o,c);if(!_ol_extent_.containsCoordinate(c,e)){continue}for(var E=0,x=g.tileKeys.length;E<x;++E){var T=g.getTile(g.tileKeys[E]);if(T.getState()==_ol_TileState_.ERROR){continue}v=T.getReplayGroup(a,g.tileCoord.toString());f=f||v.forEachFeatureAtCoordinate(e,o,_,i,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in s)){s[t]=true;return r.call(n,e,a)}}),null)}}return f};_ol_renderer_canvas_VectorTileLayer_.prototype.getReplayTransform_=function(e,t){var i=this.getLayer();var r=i.getSource();var n=r.getTileGrid();var o=e.tileCoord;var _=n.getResolution(o[0]);var a=t.viewState;var s=t.pixelRatio;var l=a.resolution/s;var h=n.getTileCoordExtent(o,this.tmpExtent);var u=a.center;var c=_ol_extent_.getTopLeft(h);var f=t.size;var d=Math.round(s*f[0]/2);var p=Math.round(s*f[1]/2);return _ol_transform_.compose(this.tmpTransform_,d,p,_/l,_/l,a.rotation,(c[0]-u[0])/_,(u[1]-c[1])/_)};_ol_renderer_canvas_VectorTileLayer_.prototype.handleFontsChanged_=function(e){var t=this.getLayer();if(t.getVisible()&&this.renderedLayerRevision_!==undefined){t.changed()}};_ol_renderer_canvas_VectorTileLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_canvas_VectorTileLayer_.prototype.postCompose=function(e,t,i){var r=this.getLayer();var n=r.getDeclutter()?{}:null;var o=r.getSource();var _=r.getRenderMode();var a=_ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS[_];var s=t.pixelRatio;var l=t.viewState.rotation;var h=t.size;var u,c;if(l){u=Math.round(s*h[0]/2);c=Math.round(s*h[1]/2);_ol_render_canvas_.rotateAtOffset(e,-l,u,c)}if(n){this.declutterTree_.clear()}var f=this.renderedTiles;var d=o.getTileGridForProjection(t.viewState.projection);var p=[];var v=[];for(var g=f.length-1;g>=0;--g){var y=f[g];if(y.getState()==_ol_TileState_.ABORT){continue}var m=y.tileCoord;var E=d.getTileCoordExtent(m)[0]-d.getTileCoordExtent(y.wrappedTileCoord)[0];var x=undefined;for(var T=0,R=y.tileKeys.length;T<R;++T){var S=y.getTile(y.tileKeys[T]);if(S.getState()==_ol_TileState_.ERROR){continue}var C=S.getReplayGroup(r,m.toString());if(_!=_ol_layer_VectorTileRenderType_.VECTOR&&!C.hasReplays(a)){continue}if(!x){x=this.getTransform(t,E)}var I=S.tileCoord[0];var M=C.getClipCoords(x);e.save();e.globalAlpha=i.opacity;for(var w=0,b=p.length;w<b;++w){var L=p[w];if(I<v[w]){e.beginPath();e.moveTo(M[0],M[1]);e.lineTo(M[2],M[3]);e.lineTo(M[4],M[5]);e.lineTo(M[6],M[7]);e.moveTo(L[6],L[7]);e.lineTo(L[4],L[5]);e.lineTo(L[2],L[3]);e.lineTo(L[0],L[1]);e.clip()}}C.replay(e,x,l,{},a,n);e.restore();p.push(M);v.push(I)}}if(n){_ol_render_canvas_ReplayGroup_.replayDeclutter(n,e,l)}if(l){_ol_render_canvas_.rotateAtOffset(e,l,u,c)}_ol_renderer_canvas_TileLayer_.prototype.postCompose.apply(this,arguments)};_ol_renderer_canvas_VectorTileLayer_.prototype.renderFeature=function(e,t,i,r){if(!i){return false}var n=false;if(Array.isArray(i)){for(var o=0,_=i.length;o<_;++o){n=_ol_renderer_vector_.renderFeature(r,e,i[o],t,this.handleStyleImageChange_,this)||n}}else{n=_ol_renderer_vector_.renderFeature(r,e,i,t,this.handleStyleImageChange_,this)}return n};_ol_renderer_canvas_VectorTileLayer_.prototype.renderTileImage_=function(e,t,i){var r=this.getLayer();var n=e.getReplayState(r);var o=r.getRevision();var _=_ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS[r.getRenderMode()];if(_&&n.renderedTileRevision!==o){n.renderedTileRevision=o;var a=e.wrappedTileCoord;var s=a[0];var l=t.pixelRatio;var h=r.getSource();var u=h.getTileGridForProjection(t.viewState.projection);var c=u.getResolution(s);var f=e.getContext(r);var d=h.getTilePixelSize(s,l,t.viewState.projection);f.canvas.width=d[0];f.canvas.height=d[1];var p=u.getTileCoordExtent(a);for(var v=0,g=e.tileKeys.length;v<g;++v){var y=e.getTile(e.tileKeys[v]);if(y.getState()==_ol_TileState_.ERROR){continue}var m=l/c;var E=_ol_transform_.reset(this.tmpTransform_);_ol_transform_.scale(E,m,-m);_ol_transform_.translate(E,-p[0],-p[3]);var x=y.getReplayGroup(r,e.tileCoord.toString());x.replay(f,E,0,{},_)}}};var _ol_webgl_Shader_=function(e){this.source_=e};_ol_webgl_Shader_.prototype.getType=function(){};_ol_webgl_Shader_.prototype.getSource=function(){return this.source_};_ol_webgl_Shader_.prototype.isAnimated=_ol_functions_.FALSE;var _ol_webgl_Fragment_=function(e){_ol_webgl_Shader_.call(this,e)};_ol_.inherits(_ol_webgl_Fragment_,_ol_webgl_Shader_);_ol_webgl_Fragment_.prototype.getType=function(){return _ol_webgl_.FRAGMENT_SHADER};var _ol_webgl_Vertex_=function(e){_ol_webgl_Shader_.call(this,e)};_ol_.inherits(_ol_webgl_Vertex_,_ol_webgl_Shader_);_ol_webgl_Vertex_.prototype.getType=function(){return _ol_webgl_.VERTEX_SHADER};var _ol_render_webgl_circlereplay_defaultshader_={};_ol_render_webgl_circlereplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_fillColor;\nuniform vec4 u_strokeColor;\nuniform vec2 u_size;\n\nvoid main(void) {\n vec2 windowCenter = vec2((v_center.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_center.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n vec2 windowOffset = vec2((v_offset.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_offset.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n float radius = length(windowCenter - windowOffset);\n float dist = length(windowCenter - gl_FragCoord.xy);\n if (dist > radius + v_halfWidth) {\n if (u_strokeColor.a == 0.0) {\n gl_FragColor = u_fillColor;\n } else {\n gl_FragColor = u_strokeColor;\n }\n gl_FragColor.a = gl_FragColor.a - (dist - (radius + v_halfWidth));\n } else if (u_fillColor.a == 0.0) {\n // Hooray, no fill, just stroke. We can use real antialiasing.\n gl_FragColor = u_strokeColor;\n if (dist < radius - v_halfWidth) {\n gl_FragColor.a = gl_FragColor.a - (radius - v_halfWidth - dist);\n }\n } else {\n gl_FragColor = u_fillColor;\n float strokeDist = radius - v_halfWidth;\n float antialias = 2.0 * v_pixelRatio;\n if (dist > strokeDist) {\n gl_FragColor = u_strokeColor;\n } else if (dist >= strokeDist - antialias) {\n float step = smoothstep(strokeDist - antialias, strokeDist, dist);\n gl_FragColor = mix(u_fillColor, u_strokeColor, step);\n }\n }\n gl_FragColor.a = gl_FragColor.a * u_opacity;\n if (gl_FragColor.a <= 0.0) {\n discard;\n }\n}\n":"precision mediump float;varying vec2 a;varying vec2 b;varying float c;varying float d;uniform float m;uniform vec4 n;uniform vec4 o;uniform vec2 p;void main(void){vec2 windowCenter=vec2((a.x+1.0)/2.0*p.x*d,(a.y+1.0)/2.0*p.y*d);vec2 windowOffset=vec2((b.x+1.0)/2.0*p.x*d,(b.y+1.0)/2.0*p.y*d);float radius=length(windowCenter-windowOffset);float dist=length(windowCenter-gl_FragCoord.xy);if(dist>radius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(dist<radius-c){gl_FragColor.a=gl_FragColor.a-(radius-c-dist);}} else{gl_FragColor=n;float strokeDist=radius-c;float antialias=2.0*d;if(dist>strokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}");_ol_render_webgl_circlereplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\nattribute vec2 a_position;\nattribute float a_instruction;\nattribute float a_radius;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n v_center = vec4(u_projectionMatrix * vec4(a_position, 0.0, 1.0)).xy;\n v_pixelRatio = u_pixelRatio;\n float lineWidth = u_lineWidth * u_pixelRatio;\n v_halfWidth = lineWidth / 2.0;\n if (lineWidth == 0.0) {\n lineWidth = 2.0 * u_pixelRatio;\n }\n vec2 offset;\n // Radius with anitaliasing (roughly).\n float radius = a_radius + 3.0 * u_pixelRatio;\n // Until we get gl_VertexID in WebGL, we store an instruction.\n if (a_instruction == 0.0) {\n // Offsetting the edges of the triangle by lineWidth / 2 is necessary, however\n // we should also leave some space for the antialiasing, thus we offset by lineWidth.\n offset = vec2(-1.0, 1.0);\n } else if (a_instruction == 1.0) {\n offset = vec2(-1.0, -1.0);\n } else if (a_instruction == 2.0) {\n offset = vec2(1.0, -1.0);\n } else {\n offset = vec2(1.0, 1.0);\n }\n\n gl_Position = u_projectionMatrix * vec4(a_position + offset * radius, 0.0, 1.0) +\n offsetMatrix * vec4(offset * lineWidth, 0.0, 0.0);\n v_offset = vec4(u_projectionMatrix * vec4(a_position.x + a_radius, a_position.y,\n 0.0, 1.0)).xy;\n\n if (distance(v_center, v_offset) > 20000.0) {\n gl_Position = vec4(v_center, 0.0, 1.0);\n }\n}\n\n\n":"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;//Until we get gl_VertexID in WebGL,we store an instruction.if(f==0.0){//Offsetting the edges of the triangle by lineWidth/2 is necessary,however//we should also leave some space for the antialiasing,thus we offset by lineWidth.offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}");var _ol_render_webgl_circlereplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_lineWidth=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_lineWidth":"k");this.u_pixelRatio=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_pixelRatio":"l");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"m");this.u_fillColor=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_fillColor":"n");this.u_strokeColor=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_strokeColor":"o");this.u_size=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_size":"p");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"e");this.a_instruction=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_instruction":"f");this.a_radius=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_radius":"g")};var _ol_vec_Mat4_={};_ol_vec_Mat4_.create=function(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};_ol_vec_Mat4_.fromTransform=function(e,t){e[0]=t[0];e[1]=t[1];e[4]=t[2];e[5]=t[3];e[12]=t[4];e[13]=t[5];return e};var _ol_render_webgl_Replay_=function(e,t){_ol_render_VectorContext_.call(this);this.tolerance=e;this.maxExtent=t;this.origin=_ol_extent_.getCenter(t);this.projectionMatrix_=_ol_transform_.create();this.offsetRotateMatrix_=_ol_transform_.create();this.offsetScaleMatrix_=_ol_transform_.create();this.tmpMat4_=_ol_vec_Mat4_.create();this.indices=[];this.indicesBuffer=null;this.startIndices=[];this.startIndicesFeature=[];this.vertices=[];this.verticesBuffer=null;this.lineStringReplay=undefined};_ol_.inherits(_ol_render_webgl_Replay_,_ol_render_VectorContext_);_ol_render_webgl_Replay_.prototype.getDeleteResourcesFunction=function(e){};_ol_render_webgl_Replay_.prototype.finish=function(e){};_ol_render_webgl_Replay_.prototype.setUpProgram=function(e,t,i,r){};_ol_render_webgl_Replay_.prototype.shutDownProgram=function(e,t){};_ol_render_webgl_Replay_.prototype.drawReplay=function(e,t,i,r){};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplay=function(e,t,i,r,n,o){if(!n){return this.drawHitDetectionReplayAll(e,t,i,r)}else{return this.drawHitDetectionReplayOneByOne(e,t,i,r,o)}};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplayAll=function(e,t,i,r){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawReplay(e,t,i,true);var n=r(null);if(n){return n}else{return undefined}};_ol_render_webgl_Replay_.prototype.replay=function(e,t,i,r,n,o,_,a,s,l,h){var u=e.getGL();var c,f,d,p,v,g,y,m;if(this.lineStringReplay){c=u.isEnabled(u.STENCIL_TEST);f=u.getParameter(u.STENCIL_FUNC);d=u.getParameter(u.STENCIL_VALUE_MASK);p=u.getParameter(u.STENCIL_REF);v=u.getParameter(u.STENCIL_WRITEMASK);g=u.getParameter(u.STENCIL_FAIL);y=u.getParameter(u.STENCIL_PASS_DEPTH_PASS);m=u.getParameter(u.STENCIL_PASS_DEPTH_FAIL);u.enable(u.STENCIL_TEST);u.clear(u.STENCIL_BUFFER_BIT);u.stencilMask(255);u.stencilFunc(u.ALWAYS,1,255);u.stencilOp(u.KEEP,u.KEEP,u.REPLACE);this.lineStringReplay.replay(e,t,i,r,n,o,_,a,s,l,h);u.stencilMask(0);u.stencilFunc(u.NOTEQUAL,1,255)}e.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.verticesBuffer);e.bindBuffer(_ol_webgl_.ELEMENT_ARRAY_BUFFER,this.indicesBuffer);var E=this.setUpProgram(u,e,n,o);var x=_ol_transform_.reset(this.projectionMatrix_);_ol_transform_.scale(x,2/(i*n[0]),2/(i*n[1]));_ol_transform_.rotate(x,-r);_ol_transform_.translate(x,-(t[0]-this.origin[0]),-(t[1]-this.origin[1]));var T=_ol_transform_.reset(this.offsetScaleMatrix_);_ol_transform_.scale(T,2/n[0],2/n[1]);var R=_ol_transform_.reset(this.offsetRotateMatrix_);if(r!==0){_ol_transform_.rotate(R,-r)}u.uniformMatrix4fv(E.u_projectionMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,x));u.uniformMatrix4fv(E.u_offsetScaleMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,T));u.uniformMatrix4fv(E.u_offsetRotateMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,R));u.uniform1f(E.u_opacity,_);var S;if(s===undefined){this.drawReplay(u,e,a,false)}else{S=this.drawHitDetectionReplay(u,e,a,s,l,h)}this.shutDownProgram(u,E);if(this.lineStringReplay){if(!c){u.disable(u.STENCIL_TEST)}u.clear(u.STENCIL_BUFFER_BIT);u.stencilFunc(f,p,d);u.stencilMask(v);u.stencilOp(g,m,y)}return S};_ol_render_webgl_Replay_.prototype.drawElements=function(e,t,i,r){var n=t.hasOESElementIndexUint?_ol_webgl_.UNSIGNED_INT:_ol_webgl_.UNSIGNED_SHORT;var o=t.hasOESElementIndexUint?4:2;var _=r-i;var a=i*o;e.drawElements(_ol_webgl_.TRIANGLES,_,n,a)};var _ol_render_webgl_={};_ol_render_webgl_.defaultFont="10px sans-serif";_ol_render_webgl_.defaultFillStyle=[0,0,0,1];_ol_render_webgl_.defaultLineCap="round";_ol_render_webgl_.defaultLineDash=[];_ol_render_webgl_.defaultLineDashOffset=0;_ol_render_webgl_.defaultLineJoin="round";_ol_render_webgl_.defaultMiterLimit=10;_ol_render_webgl_.defaultStrokeStyle=[0,0,0,1];_ol_render_webgl_.defaultTextAlign=.5;_ol_render_webgl_.defaultTextBaseline=.5;_ol_render_webgl_.defaultLineWidth=1;_ol_render_webgl_.triangleIsCounterClockwise=function(e,t,i,r,n,o){var _=(i-e)*(o-t)-(n-e)*(r-t);return _<=_ol_render_webgl_.EPSILON&&_>=-_ol_render_webgl_.EPSILON?undefined:_>0};_ol_render_webgl_.EPSILON=Number.EPSILON||2220446049250313e-31;var _ol_webgl_Buffer_=function(e,t){this.arr_=e!==undefined?e:[];this.usage_=t!==undefined?t:_ol_webgl_Buffer_.Usage_.STATIC_DRAW};_ol_webgl_Buffer_.prototype.getArray=function(){return this.arr_};_ol_webgl_Buffer_.prototype.getUsage=function(){return this.usage_};_ol_webgl_Buffer_.Usage_={STATIC_DRAW:_ol_webgl_.STATIC_DRAW,STREAM_DRAW:_ol_webgl_.STREAM_DRAW,DYNAMIC_DRAW:_ol_webgl_.DYNAMIC_DRAW};var _ol_render_webgl_CircleReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.radius_=0;this.state_={fillColor:null,strokeColor:null,lineDash:null,lineDashOffset:undefined,lineWidth:undefined,changed:false}};_ol_.inherits(_ol_render_webgl_CircleReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_CircleReplay_.prototype.drawCoordinates_=function(e,t,i,r){var n=this.vertices.length;var o=this.indices.length;var _=n/4;var a,s;for(a=t,s=i;a<s;a+=r){this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=0;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=1;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=2;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=3;this.vertices[n++]=this.radius_;this.indices[o++]=_;this.indices[o++]=_+1;this.indices[o++]=_+2;this.indices[o++]=_+2;this.indices[o++]=_+3;this.indices[o++]=_;_+=4}};_ol_render_webgl_CircleReplay_.prototype.drawCircle=function(e,t){var i=e.getRadius();var r=e.getStride();if(i){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.radius_=i;var n=e.getFlatCoordinates();n=_ol_geom_flat_transform_.translate(n,0,2,r,-this.origin[0],-this.origin[1]);this.drawCoordinates_(n,0,2,r)}else{if(this.state_.changed){this.styles_.pop();if(this.styles_.length){var o=this.styles_[this.styles_.length-1];this.state_.fillColor=o[0];this.state_.strokeColor=o[1];this.state_.lineWidth=o[2];this.state_.changed=false}}}};_ol_render_webgl_CircleReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_CircleReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;return function(){e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_CircleReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_circlereplay_defaultshader_.fragment;o=_ol_render_webgl_circlereplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_circlereplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,16,0);e.enableVertexAttribArray(a.a_instruction);e.vertexAttribPointer(a.a_instruction,1,_ol_webgl_.FLOAT,false,16,8);e.enableVertexAttribArray(a.a_radius);e.vertexAttribPointer(a.a_radius,1,_ol_webgl_.FLOAT,false,16,12);e.uniform2fv(a.u_size,i);e.uniform1f(a.u_pixelRatio,r);return a};_ol_render_webgl_CircleReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_instruction);e.disableVertexAttribArray(t.a_radius)};_ol_render_webgl_CircleReplay_.prototype.drawReplay=function(e,t,i,r){if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var n,o,_,a;_=this.startIndices[this.startIndices.length-1];for(n=this.styleIndices_.length-1;n>=0;--n){o=this.styleIndices_[n];a=this.styles_[n];this.setFillStyle_(e,a[0]);this.setStrokeStyle_(e,a[1],a[2]);this.drawElements(e,t,o,_);_=o}}};_ol_render_webgl_CircleReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setFillStyle_(e,s[0]);this.setStrokeStyle_(e,s[1],s[2]);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_CircleReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setFillStyle_(e,_[0]);this.setStrokeStyle_(e,_[1],_[2]);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o)}n=o=a}};_ol_render_webgl_CircleReplay_.prototype.setFillStyle_=function(e,t){e.uniform4fv(this.defaultLocations_.u_fillColor,t)};_ol_render_webgl_CircleReplay_.prototype.setStrokeStyle_=function(e,t,i){e.uniform4fv(this.defaultLocations_.u_strokeColor,t);e.uniform1f(this.defaultLocations_.u_lineWidth,i)};_ol_render_webgl_CircleReplay_.prototype.setFillStrokeStyle=function(e,t){var i,r;if(t){var n=t.getLineDash();this.state_.lineDash=n?n:_ol_render_webgl_.defaultLineDash;var o=t.getLineDashOffset();this.state_.lineDashOffset=o?o:_ol_render_webgl_.defaultLineDashOffset;i=t.getColor();if(!(i instanceof CanvasGradient)&&!(i instanceof CanvasPattern)){i=_ol_color_.asArray(i).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultStrokeStyle}else{i=_ol_render_webgl_.defaultStrokeStyle}r=t.getWidth();r=r!==undefined?r:_ol_render_webgl_.defaultLineWidth}else{i=[0,0,0,0];r=0}var _=e?e.getColor():[0,0,0,0];if(!(_ instanceof CanvasGradient)&&!(_ instanceof CanvasPattern)){_=_ol_color_.asArray(_).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultFillStyle}else{_=_ol_render_webgl_.defaultFillStyle}if(!this.state_.strokeColor||!_ol_array_.equals(this.state_.strokeColor,i)||!this.state_.fillColor||!_ol_array_.equals(this.state_.fillColor,_)||this.state_.lineWidth!==r){this.state_.changed=true;this.state_.fillColor=_;this.state_.strokeColor=i;this.state_.lineWidth=r;this.styles_.push([_,i,r])}};var _ol_render_webgl_texturereplay_defaultshader_={};_ol_render_webgl_texturereplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\nvarying float v_opacity;\n\nuniform float u_opacity;\nuniform sampler2D u_image;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_image, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n float alpha = texColor.a * v_opacity * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_texturereplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\nvarying float v_opacity;\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nattribute vec2 a_offsets;\nattribute float a_opacity;\nattribute float a_rotateWithView;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix;\n if (a_rotateWithView == 1.0) {\n offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n }\n vec4 offsets = offsetMatrix * vec4(a_offsets, 0.0, 0.0);\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n v_texCoord = a_texCoord;\n v_opacity = a_opacity;\n}\n\n\n":"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}");var _ol_render_webgl_texturereplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"k");this.u_image=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_image":"l");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"c");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"d");this.a_offsets=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_offsets":"e");this.a_opacity=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_opacity":"f");this.a_rotateWithView=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_rotateWithView":"g")};var _ol_webgl_ContextEventType_={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"};var _ol_webgl_Context_=function(e,t){this.canvas_=e;this.gl_=t;this.bufferCache_={};this.shaderCache_={};this.programCache_={};this.currentProgram_=null;this.hitDetectionFramebuffer_=null;this.hitDetectionTexture_=null;this.hitDetectionRenderbuffer_=null;this.hasOESElementIndexUint=_ol_array_.includes(_ol_.WEBGL_EXTENSIONS,"OES_element_index_uint");if(this.hasOESElementIndexUint){t.getExtension("OES_element_index_uint")}_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.LOST,this.handleWebGLContextLost,this);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.RESTORED,this.handleWebGLContextRestored,this)};_ol_.inherits(_ol_webgl_Context_,_ol_Disposable_);_ol_webgl_Context_.prototype.bindBuffer=function(e,t){var i=this.getGL();var r=t.getArray();var n=String(_ol_.getUid(t));if(n in this.bufferCache_){var o=this.bufferCache_[n];i.bindBuffer(e,o.buffer)}else{var _=i.createBuffer();i.bindBuffer(e,_);var a;if(e==_ol_webgl_.ARRAY_BUFFER){a=new Float32Array(r)}else if(e==_ol_webgl_.ELEMENT_ARRAY_BUFFER){a=this.hasOESElementIndexUint?new Uint32Array(r):new Uint16Array(r)}i.bufferData(e,a,t.getUsage());this.bufferCache_[n]={buf:t,buffer:_}}};_ol_webgl_Context_.prototype.deleteBuffer=function(e){var t=this.getGL();var i=String(_ol_.getUid(e));var r=this.bufferCache_[i];if(!t.isContextLost()){t.deleteBuffer(r.buffer)}delete this.bufferCache_[i]};_ol_webgl_Context_.prototype.disposeInternal=function(){_ol_events_.unlistenAll(this.canvas_);var e=this.getGL();if(!e.isContextLost()){var t;for(t in this.bufferCache_){e.deleteBuffer(this.bufferCache_[t].buffer)}for(t in this.programCache_){e.deleteProgram(this.programCache_[t])}for(t in this.shaderCache_){e.deleteShader(this.shaderCache_[t])}e.deleteFramebuffer(this.hitDetectionFramebuffer_);e.deleteRenderbuffer(this.hitDetectionRenderbuffer_);e.deleteTexture(this.hitDetectionTexture_)}};_ol_webgl_Context_.prototype.getCanvas=function(){return this.canvas_};_ol_webgl_Context_.prototype.getGL=function(){return this.gl_};_ol_webgl_Context_.prototype.getHitDetectionFramebuffer=function(){if(!this.hitDetectionFramebuffer_){this.initHitDetectionFramebuffer_()}return this.hitDetectionFramebuffer_};_ol_webgl_Context_.prototype.getShader=function(e){var t=String(_ol_.getUid(e));if(t in this.shaderCache_){return this.shaderCache_[t]}else{var i=this.getGL();var r=i.createShader(e.getType());i.shaderSource(r,e.getSource());i.compileShader(r);this.shaderCache_[t]=r;return r}};_ol_webgl_Context_.prototype.getProgram=function(e,t){var i=_ol_.getUid(e)+"/"+_ol_.getUid(t);if(i in this.programCache_){return this.programCache_[i]}else{var r=this.getGL();var n=r.createProgram();r.attachShader(n,this.getShader(e));r.attachShader(n,this.getShader(t));r.linkProgram(n);this.programCache_[i]=n;return n}};_ol_webgl_Context_.prototype.handleWebGLContextLost=function(){_ol_obj_.clear(this.bufferCache_);_ol_obj_.clear(this.shaderCache_);_ol_obj_.clear(this.programCache_);this.currentProgram_=null;this.hitDetectionFramebuffer_=null;this.hitDetectionTexture_=null;this.hitDetectionRenderbuffer_=null};_ol_webgl_Context_.prototype.handleWebGLContextRestored=function(){};_ol_webgl_Context_.prototype.initHitDetectionFramebuffer_=function(){var e=this.gl_;var t=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,t);var i=_ol_webgl_Context_.createEmptyTexture(e,1,1);var r=e.createRenderbuffer();e.bindRenderbuffer(e.RENDERBUFFER,r);e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,1,1);e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,r);e.bindTexture(e.TEXTURE_2D,null);e.bindRenderbuffer(e.RENDERBUFFER,null);e.bindFramebuffer(e.FRAMEBUFFER,null);this.hitDetectionFramebuffer_=t;this.hitDetectionTexture_=i;this.hitDetectionRenderbuffer_=r};_ol_webgl_Context_.prototype.useProgram=function(e){if(e==this.currentProgram_){return false}else{var t=this.getGL();t.useProgram(e);this.currentProgram_=e;return true}};_ol_webgl_Context_.createTexture_=function(e,t,i){var r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR);if(t!==undefined){e.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_S,t)}if(i!==undefined){e.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_T,i)}return r};_ol_webgl_Context_.createEmptyTexture=function(e,t,i,r,n){var o=_ol_webgl_Context_.createTexture_(e,r,n);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,i,0,e.RGBA,e.UNSIGNED_BYTE,null);return o};_ol_webgl_Context_.createTexture=function(e,t,i,r){var n=_ol_webgl_Context_.createTexture_(e,i,r);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t);return n};var _ol_render_webgl_TextureReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.anchorX=undefined;this.anchorY=undefined;this.groupIndices=[];this.hitDetectionGroupIndices=[];this.height=undefined;this.imageHeight=undefined;this.imageWidth=undefined;this.defaultLocations=null;this.opacity=undefined;this.originX=undefined;this.originY=undefined;this.rotateWithView=undefined;this.rotation=undefined;this.scale=undefined;this.width=undefined};_ol_.inherits(_ol_render_webgl_TextureReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_TextureReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;var r=this.getTextures(true);var n=e.getGL();return function(){if(!n.isContextLost()){var o,_;for(o=0,_=r.length;o<_;++o){n.deleteTexture(r[o])}}e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_TextureReplay_.prototype.drawCoordinates=function(e,t,i,r){var n=this.anchorX;var o=this.anchorY;var _=this.height;var a=this.imageHeight;var s=this.imageWidth;var l=this.opacity;var h=this.originX;var u=this.originY;var c=this.rotateWithView?1:0;var f=-this.rotation;var d=this.scale;var p=this.width;var v=Math.cos(f);var g=Math.sin(f);var y=this.indices.length;var m=this.vertices.length;var E,x,T,R,S,C;for(E=t;E<i;E+=r){S=e[E]-this.origin[0];C=e[E+1]-this.origin[1];x=m/8;T=-d*n;R=-d*(_-o);this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=h/s;this.vertices[m++]=(u+_)/a;this.vertices[m++]=l;this.vertices[m++]=c;T=d*(p-n);R=-d*(_-o);this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=(h+p)/s;this.vertices[m++]=(u+_)/a;this.vertices[m++]=l;this.vertices[m++]=c;T=d*(p-n);R=d*o;this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=(h+p)/s;this.vertices[m++]=u/a;this.vertices[m++]=l;this.vertices[m++]=c;T=-d*n;R=d*o;this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=h/s;this.vertices[m++]=u/a;this.vertices[m++]=l;this.vertices[m++]=c;this.indices[y++]=x;this.indices[y++]=x+1;this.indices[y++]=x+2;this.indices[y++]=x;this.indices[y++]=x+2;this.indices[y++]=x+3}return m};_ol_render_webgl_TextureReplay_.prototype.createTextures=function(e,t,i,r){var n,o,_,a;var s=t.length;for(a=0;a<s;++a){o=t[a];_=_ol_.getUid(o).toString();if(_ in i){n=i[_]}else{n=_ol_webgl_Context_.createTexture(r,o,_ol_webgl_.CLAMP_TO_EDGE,_ol_webgl_.CLAMP_TO_EDGE);i[_]=n}e[a]=n}};_ol_render_webgl_TextureReplay_.prototype.setUpProgram=function(e,t,i,r){var n=_ol_render_webgl_texturereplay_defaultshader_.fragment;var o=_ol_render_webgl_texturereplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations){a=new _ol_render_webgl_texturereplay_defaultshader_Locations_(e,_);this.defaultLocations=a}else{a=this.defaultLocations}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,32,0);e.enableVertexAttribArray(a.a_offsets);e.vertexAttribPointer(a.a_offsets,2,_ol_webgl_.FLOAT,false,32,8);e.enableVertexAttribArray(a.a_texCoord);e.vertexAttribPointer(a.a_texCoord,2,_ol_webgl_.FLOAT,false,32,16);e.enableVertexAttribArray(a.a_opacity);e.vertexAttribPointer(a.a_opacity,1,_ol_webgl_.FLOAT,false,32,24);e.enableVertexAttribArray(a.a_rotateWithView);e.vertexAttribPointer(a.a_rotateWithView,1,_ol_webgl_.FLOAT,false,32,28);return a};_ol_render_webgl_TextureReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_offsets);e.disableVertexAttribArray(t.a_texCoord);e.disableVertexAttribArray(t.a_opacity);e.disableVertexAttribArray(t.a_rotateWithView)};_ol_render_webgl_TextureReplay_.prototype.drawReplay=function(e,t,i,r){var n=r?this.getHitDetectionTextures():this.getTextures();var o=r?this.hitDetectionGroupIndices:this.groupIndices;if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping(e,t,i,n,o)}else{var _,a,s;for(_=0,a=n.length,s=0;_<a;++_){e.bindTexture(_ol_webgl_.TEXTURE_2D,n[_]);var l=o[_];this.drawElements(e,t,s,l);s=l}}};_ol_render_webgl_TextureReplay_.prototype.drawReplaySkipping=function(e,t,i,r,n){var o=0;var _,a;for(_=0,a=r.length;_<a;++_){e.bindTexture(_ol_webgl_.TEXTURE_2D,r[_]);var s=_>0?n[_-1]:0;var l=n[_];var h=s;var u=s;while(o<this.startIndices.length&&this.startIndices[o]<=l){var c=this.startIndicesFeature[o];var f=_ol_.getUid(c).toString();if(i[f]!==undefined){if(h!==u){this.drawElements(e,t,h,u)}h=o===this.startIndices.length-1?l:this.startIndices[o+1];u=h}else{u=o===this.startIndices.length-1?l:this.startIndices[o+1]}o++}if(h!==u){this.drawElements(e,t,h,u)}}};_ol_render_webgl_TextureReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h;var u=this.startIndices.length-1;var c=this.getHitDetectionTextures();for(o=c.length-1;o>=0;--o){e.bindTexture(_ol_webgl_.TEXTURE_2D,c[o]);_=o>0?this.hitDetectionGroupIndices[o-1]:0;s=this.hitDetectionGroupIndices[o];while(u>=0&&this.startIndices[u]>=_){a=this.startIndices[u];l=this.startIndicesFeature[u];h=_ol_.getUid(l).toString();if(i[h]===undefined&&l.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,l.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,a,s);var f=r(l);if(f){return f}}s=a;u--}}return undefined};_ol_render_webgl_TextureReplay_.prototype.finish=function(e){this.anchorX=undefined;this.anchorY=undefined;this.height=undefined;this.imageHeight=undefined;this.imageWidth=undefined;this.indices=null;this.opacity=undefined;this.originX=undefined;this.originY=undefined;this.rotateWithView=undefined;this.rotation=undefined;this.scale=undefined;this.vertices=null;this.width=undefined};_ol_render_webgl_TextureReplay_.prototype.getTextures=function(e){};_ol_render_webgl_TextureReplay_.prototype.getHitDetectionTextures=function(){};var _ol_render_webgl_ImageReplay_=function(e,t){_ol_render_webgl_TextureReplay_.call(this,e,t);this.images_=[];this.hitDetectionImages_=[];this.textures_=[];this.hitDetectionTextures_=[]};_ol_.inherits(_ol_render_webgl_ImageReplay_,_ol_render_webgl_TextureReplay_);_ol_render_webgl_ImageReplay_.prototype.drawMultiPoint=function(e,t){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var i=e.getFlatCoordinates();var r=e.getStride();this.drawCoordinates(i,0,i.length,r)};_ol_render_webgl_ImageReplay_.prototype.drawPoint=function(e,t){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var i=e.getFlatCoordinates();var r=e.getStride();this.drawCoordinates(i,0,i.length,r)};_ol_render_webgl_ImageReplay_.prototype.finish=function(e){var t=e.getGL();this.groupIndices.push(this.indices.length);this.hitDetectionGroupIndices.push(this.indices.length);this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);var i=this.indices;this.indicesBuffer=new _ol_webgl_Buffer_(i);var r={};this.createTextures(this.textures_,this.images_,r,t);this.createTextures(this.hitDetectionTextures_,this.hitDetectionImages_,r,t);this.images_=null;this.hitDetectionImages_=null;_ol_render_webgl_TextureReplay_.prototype.finish.call(this,e)};_ol_render_webgl_ImageReplay_.prototype.setImageStyle=function(e){var t=e.getAnchor();var i=e.getImage(1);var r=e.getImageSize();var n=e.getHitDetectionImage(1);var o=e.getOpacity();var _=e.getOrigin();var a=e.getRotateWithView();var s=e.getRotation();var l=e.getSize();var h=e.getScale();var u;if(this.images_.length===0){this.images_.push(i)}else{u=this.images_[this.images_.length-1];if(_ol_.getUid(u)!=_ol_.getUid(i)){this.groupIndices.push(this.indices.length);this.images_.push(i)}}if(this.hitDetectionImages_.length===0){this.hitDetectionImages_.push(n)}else{u=this.hitDetectionImages_[this.hitDetectionImages_.length-1];if(_ol_.getUid(u)!=_ol_.getUid(n)){this.hitDetectionGroupIndices.push(this.indices.length);this.hitDetectionImages_.push(n)}}this.anchorX=t[0];this.anchorY=t[1];this.height=l[1];this.imageHeight=r[1];this.imageWidth=r[0];this.opacity=o;this.originX=_[0];this.originY=_[1];this.rotation=s;this.rotateWithView=a;this.scale=h;this.width=l[0]};_ol_render_webgl_ImageReplay_.prototype.getTextures=function(e){return e?this.textures_.concat(this.hitDetectionTextures_):this.textures_};_ol_render_webgl_ImageReplay_.prototype.getHitDetectionTextures=function(){return this.hitDetectionTextures_};var _ol_geom_flat_topology_={};_ol_geom_flat_topology_.lineStringIsClosed=function(e,t,i,r){var n=i-r;if(e[t]===e[n]&&e[t+1]===e[n+1]&&(i-t)/r>3){return!!_ol_geom_flat_area_.linearRing(e,t,i,r)}return false};var _ol_render_webgl_linestringreplay_defaultshader_={};_ol_render_webgl_linestringreplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_color;\nuniform vec2 u_size;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n if (v_round > 0.0) {\n vec2 windowCoords = vec2((v_roundVertex.x + 1.0) / 2.0 * u_size.x * u_pixelRatio,\n (v_roundVertex.y + 1.0) / 2.0 * u_size.y * u_pixelRatio);\n if (length(windowCoords - gl_FragCoord.xy) > v_halfWidth * u_pixelRatio) {\n discard;\n }\n }\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;varying float a;varying vec2 aVertex;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((aVertex.x+1.0)/2.0*o.x*p,(aVertex.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_linestringreplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\nattribute vec2 a_lastPos;\nattribute vec2 a_position;\nattribute vec2 a_nextPos;\nattribute float a_direction;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_miterLimit;\n\nbool nearlyEquals(in float value, in float ref) {\n float epsilon = 0.000000000001;\n return value >= ref - epsilon && value <= ref + epsilon;\n}\n\nvoid alongNormal(out vec2 offset, in vec2 nextP, in float turnDir, in float direction) {\n vec2 dirVect = nextP - a_position;\n vec2 normal = normalize(vec2(-turnDir * dirVect.y, turnDir * dirVect.x));\n offset = u_lineWidth / 2.0 * normal * direction;\n}\n\nvoid miterUp(out vec2 offset, out float round, in bool isRound, in float direction) {\n float halfWidth = u_lineWidth / 2.0;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_nextPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n round = 0.0;\n if (isRound) {\n round = 1.0;\n } else if (miterLength > u_miterLimit + u_lineWidth) {\n offset = halfWidth * tmpNormal * direction;\n }\n}\n\nbool miterDown(out vec2 offset, in vec4 projPos, in mat4 offsetMatrix, in float direction) {\n bool degenerate = false;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_lastPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n vec2 longOffset, shortOffset, longVertex;\n vec4 shortProjVertex;\n float halfWidth = u_lineWidth / 2.0;\n if (length(a_nextPos - a_position) > length(a_lastPos - a_position)) {\n longOffset = tmpNormal * direction * halfWidth;\n shortOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_nextPos;\n shortProjVertex = u_projectionMatrix * vec4(a_lastPos, 0.0, 1.0);\n } else {\n shortOffset = tmpNormal * direction * halfWidth;\n longOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_lastPos;\n shortProjVertex = u_projectionMatrix * vec4(a_nextPos, 0.0, 1.0);\n }\n //Intersection algorithm based on theory by Paul Bourke (http://paulbourke.net/geometry/pointlineplane/).\n vec4 p1 = u_projectionMatrix * vec4(longVertex, 0.0, 1.0) + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p2 = projPos + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p3 = shortProjVertex + offsetMatrix * vec4(-shortOffset, 0.0, 0.0);\n vec4 p4 = shortProjVertex + offsetMatrix * vec4(shortOffset, 0.0, 0.0);\n float denom = (p4.y - p3.y) * (p2.x - p1.x) - (p4.x - p3.x) * (p2.y - p1.y);\n float firstU = ((p4.x - p3.x) * (p1.y - p3.y) - (p4.y - p3.y) * (p1.x - p3.x)) / denom;\n float secondU = ((p2.x - p1.x) * (p1.y - p3.y) - (p2.y - p1.y) * (p1.x - p3.x)) / denom;\n float epsilon = 0.000000000001;\n if (firstU > epsilon && firstU < 1.0 - epsilon && secondU > epsilon && secondU < 1.0 - epsilon) {\n shortProjVertex.x = p1.x + firstU * (p2.x - p1.x);\n shortProjVertex.y = p1.y + firstU * (p2.y - p1.y);\n offset = shortProjVertex.xy;\n degenerate = true;\n } else {\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n }\n return degenerate;\n}\n\nvoid squareCap(out vec2 offset, out float round, in bool isRound, in vec2 nextP,\n in float turnDir, in float direction) {\n round = 0.0;\n vec2 dirVect = a_position - nextP;\n vec2 firstNormal = normalize(dirVect);\n vec2 secondNormal = vec2(turnDir * firstNormal.y * direction, -turnDir * firstNormal.x * direction);\n vec2 hypotenuse = normalize(firstNormal - secondNormal);\n vec2 normal = vec2(turnDir * hypotenuse.y * direction, -turnDir * hypotenuse.x * direction);\n float length = sqrt(v_halfWidth * v_halfWidth * 2.0);\n offset = normal * length;\n if (isRound) {\n round = 1.0;\n }\n}\n\nvoid main(void) {\n bool degenerate = false;\n float direction = float(sign(a_direction));\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n vec2 offset;\n vec4 projPos = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n bool round = nearlyEquals(mod(a_direction, 2.0), 0.0);\n\n v_round = 0.0;\n v_halfWidth = u_lineWidth / 2.0;\n v_roundVertex = projPos.xy;\n\n if (nearlyEquals(mod(a_direction, 3.0), 0.0) || nearlyEquals(mod(a_direction, 17.0), 0.0)) {\n alongNormal(offset, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 5.0), 0.0) || nearlyEquals(mod(a_direction, 13.0), 0.0)) {\n alongNormal(offset, a_lastPos, -1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 23.0), 0.0)) {\n miterUp(offset, v_round, round, direction);\n } else if (nearlyEquals(mod(a_direction, 19.0), 0.0)) {\n degenerate = miterDown(offset, projPos, offsetMatrix, direction);\n } else if (nearlyEquals(mod(a_direction, 7.0), 0.0)) {\n squareCap(offset, v_round, round, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 11.0), 0.0)) {\n squareCap(offset, v_round, round, a_lastPos, -1.0, direction);\n }\n if (!degenerate) {\n vec4 offsets = offsetMatrix * vec4(offset, 0.0, 0.0);\n gl_Position = projPos + offsets;\n } else {\n gl_Position = vec4(offset, 0.0, 1.0);\n }\n}\n\n\n":"varying float a;varying vec2 aVertex;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;aVertex=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}");var _ol_render_webgl_linestringreplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_lineWidth=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_lineWidth":"k");this.u_miterLimit=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_miterLimit":"l");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"m");this.u_color=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_color":"n");this.u_size=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_size":"o");this.u_pixelRatio=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_pixelRatio":"p");this.a_lastPos=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_lastPos":"d");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"e");this.a_nextPos=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_nextPos":"f");this.a_direction=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_direction":"g")};var _ol_render_webgl_LineStringReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:undefined,miterLimit:undefined,changed:false}};_ol_.inherits(_ol_render_webgl_LineStringReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_LineStringReplay_.prototype.drawCoordinates_=function(e,t,i,r){var n,o;var _=this.vertices.length;var a=this.indices.length;var s=this.state_.lineJoin==="bevel"?0:this.state_.lineJoin==="miter"?1:2;var l=this.state_.lineCap==="butt"?0:this.state_.lineCap==="square"?1:2;var h=_ol_geom_flat_topology_.lineStringIsClosed(e,t,i,r);var u,c,f;var d=a;var p=1;var v,g,y;for(n=t,o=i;n<o;n+=r){f=_/7;v=g;g=y||[e[n],e[n+1]];if(n===t){y=[e[n+r],e[n+r+1]];if(i-t===r*2&&_ol_array_.equals(g,y)){break}if(h){v=[e[i-r*2],e[i-r*2+1]];u=y}else{if(l){_=this.addVertices_([0,0],g,y,p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE_CAP*l,_);_=this.addVertices_([0,0],g,y,-p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE_CAP*l,_);this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=f+1;this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f+2}_=this.addVertices_([0,0],g,y,p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE*(l||1),_);_=this.addVertices_([0,0],g,y,-p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE*(l||1),_);d=_/7-1;continue}}else if(n===i-r){if(h){y=u;break}else{v=v||[0,0];_=this.addVertices_(v,g,[0,0],p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE*(l||1),_);_=this.addVertices_(v,g,[0,0],-p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE*(l||1),_);this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=d;this.indices[a++]=f+1;this.indices[a++]=f;if(l){_=this.addVertices_(v,g,[0,0],p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE_CAP*l,_);_=this.addVertices_(v,g,[0,0],-p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE_CAP*l,_);this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=f+1;this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f+2}break}}else{y=[e[n+r],e[n+r+1]]}c=_ol_render_webgl_.triangleIsCounterClockwise(v[0],v[1],g[0],g[1],y[0],y[1])?-1:1;_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_FIRST*(s||1),_);_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_SECOND*(s||1),_);_=this.addVertices_(v,g,y,-c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_BOTTOM*(s||1),_);if(n>t){this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=p*c>0?d:d-1}this.indices[a++]=f;this.indices[a++]=f+2;this.indices[a++]=f+1;d=f+2;p=c;if(s){_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_TOP*s,_);this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f}}if(h){f=f||_/7;c=_ol_geom_flat_orient_.linearRingIsClockwise([v[0],v[1],g[0],g[1],y[0],y[1]],0,6,2)?1:-1;_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_FIRST*(s||1),_);_=this.addVertices_(v,g,y,-c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_BOTTOM*(s||1),_);this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=f+1;this.indices[a++]=f;this.indices[a++]=p*c>0?d:d-1}};_ol_render_webgl_LineStringReplay_.prototype.addVertices_=function(e,t,i,r,n){this.vertices[n++]=e[0];this.vertices[n++]=e[1];this.vertices[n++]=t[0];this.vertices[n++]=t[1];this.vertices[n++]=i[0];this.vertices[n++]=i[1];this.vertices[n++]=r;return n};_ol_render_webgl_LineStringReplay_.prototype.isValid_=function(e,t,i,r){var n=i-t;if(n<r*2){return false}else if(n===r*2){var o=[e[t],e[t+1]];var _=[e[t+r],e[t+r+1]];return!_ol_array_.equals(o,_)}return true};_ol_render_webgl_LineStringReplay_.prototype.drawLineString=function(e,t){var i=e.getFlatCoordinates();var r=e.getStride();if(this.isValid_(i,0,i.length,r)){i=_ol_geom_flat_transform_.translate(i,0,i.length,r,-this.origin[0],-this.origin[1]);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);this.drawCoordinates_(i,0,i.length,r)}};_ol_render_webgl_LineStringReplay_.prototype.drawMultiLineString=function(e,t){var i=this.indices.length;var r=e.getEnds();r.unshift(0);var n=e.getFlatCoordinates();var o=e.getStride();var _,a;if(r.length>1){for(_=1,a=r.length;_<a;++_){if(this.isValid_(n,r[_-1],r[_],o)){var s=_ol_geom_flat_transform_.translate(n,r[_-1],r[_],o,-this.origin[0],-this.origin[1]);this.drawCoordinates_(s,0,s.length,o)}}}if(this.indices.length>i){this.startIndices.push(i);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(i);this.state_.changed=false}}};_ol_render_webgl_LineStringReplay_.prototype.drawPolygonCoordinates=function(e,t,i){if(!_ol_geom_flat_topology_.lineStringIsClosed(e,0,e.length,i)){e.push(e[0]);e.push(e[1])}this.drawCoordinates_(e,0,e.length,i);if(t.length){var r,n;for(r=0,n=t.length;r<n;++r){if(!_ol_geom_flat_topology_.lineStringIsClosed(t[r],0,t[r].length,i)){t[r].push(t[r][0]);t[r].push(t[r][1])}this.drawCoordinates_(t[r],0,t[r].length,i)}}};_ol_render_webgl_LineStringReplay_.prototype.setPolygonStyle=function(e,t){var i=t===undefined?this.indices.length:t;this.startIndices.push(i);this.startIndicesFeature.push(e);if(this.state_.changed){this.styleIndices_.push(i);this.state_.changed=false}};_ol_render_webgl_LineStringReplay_.prototype.getCurrentIndex=function(){return this.indices.length};_ol_render_webgl_LineStringReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_LineStringReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;return function(){e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_LineStringReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_linestringreplay_defaultshader_.fragment;o=_ol_render_webgl_linestringreplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_linestringreplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_lastPos);e.vertexAttribPointer(a.a_lastPos,2,_ol_webgl_.FLOAT,false,28,0);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,28,8);e.enableVertexAttribArray(a.a_nextPos);e.vertexAttribPointer(a.a_nextPos,2,_ol_webgl_.FLOAT,false,28,16);e.enableVertexAttribArray(a.a_direction);e.vertexAttribPointer(a.a_direction,1,_ol_webgl_.FLOAT,false,28,24);e.uniform2fv(a.u_size,i);e.uniform1f(a.u_pixelRatio,r);return a};_ol_render_webgl_LineStringReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_lastPos);e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_nextPos);e.disableVertexAttribArray(t.a_direction)};_ol_render_webgl_LineStringReplay_.prototype.drawReplay=function(e,t,i,r){var n=e.getParameter(e.DEPTH_FUNC);var o=e.getParameter(e.DEPTH_WRITEMASK);if(!r){e.enable(e.DEPTH_TEST);e.depthMask(true);e.depthFunc(e.NOTEQUAL)}if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var _,a,s,l;s=this.startIndices[this.startIndices.length-1];for(_=this.styleIndices_.length-1;_>=0;--_){a=this.styleIndices_[_];l=this.styles_[_];this.setStrokeStyle_(e,l[0],l[1],l[2]);this.drawElements(e,t,a,s);e.clear(e.DEPTH_BUFFER_BIT);s=a}}if(!r){e.disable(e.DEPTH_TEST);e.clear(e.DEPTH_BUFFER_BIT);e.depthMask(o);e.depthFunc(n)}};_ol_render_webgl_LineStringReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setStrokeStyle_(e,_[0],_[1],_[2]);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}n=o=a}};_ol_render_webgl_LineStringReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setStrokeStyle_(e,s[0],s[1],s[2]);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_LineStringReplay_.prototype.setStrokeStyle_=function(e,t,i,r){e.uniform4fv(this.defaultLocations_.u_color,t);e.uniform1f(this.defaultLocations_.u_lineWidth,i);e.uniform1f(this.defaultLocations_.u_miterLimit,r)};_ol_render_webgl_LineStringReplay_.prototype.setFillStrokeStyle=function(e,t){var i=t.getLineCap();this.state_.lineCap=i!==undefined?i:_ol_render_webgl_.defaultLineCap;var r=t.getLineDash();this.state_.lineDash=r?r:_ol_render_webgl_.defaultLineDash;var n=t.getLineDashOffset();this.state_.lineDashOffset=n?n:_ol_render_webgl_.defaultLineDashOffset;var o=t.getLineJoin();this.state_.lineJoin=o!==undefined?o:_ol_render_webgl_.defaultLineJoin;var _=t.getColor();if(!(_ instanceof CanvasGradient)&&!(_ instanceof CanvasPattern)){_=_ol_color_.asArray(_).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultStrokeStyle}else{_=_ol_render_webgl_.defaultStrokeStyle}var a=t.getWidth();a=a!==undefined?a:_ol_render_webgl_.defaultLineWidth;var s=t.getMiterLimit();s=s!==undefined?s:_ol_render_webgl_.defaultMiterLimit;if(!this.state_.strokeColor||!_ol_array_.equals(this.state_.strokeColor,_)||this.state_.lineWidth!==a||this.state_.miterLimit!==s){this.state_.changed=true;this.state_.strokeColor=_;this.state_.lineWidth=a;this.state_.miterLimit=s;this.styles_.push([_,a,s])}};_ol_render_webgl_LineStringReplay_.Instruction_={ROUND:2,BEGIN_LINE:3,END_LINE:5,BEGIN_LINE_CAP:7,END_LINE_CAP:11,BEVEL_FIRST:13,BEVEL_SECOND:17,MITER_BOTTOM:19,MITER_TOP:23};var _ol_render_webgl_polygonreplay_defaultshader_={};_ol_render_webgl_polygonreplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\n\n\n\nuniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main(void) {\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_polygonreplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"\n\nattribute vec2 a_position;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n}\n\n\n":"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}");var _ol_render_webgl_polygonreplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"b");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"c");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"d");this.u_color=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_color":"e");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"f");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"a")};var _ol_style_Stroke_=function(e){var t=e||{};this.color_=t.color!==undefined?t.color:null;this.lineCap_=t.lineCap;this.lineDash_=t.lineDash!==undefined?t.lineDash:null;this.lineDashOffset_=t.lineDashOffset;this.lineJoin_=t.lineJoin;this.miterLimit_=t.miterLimit;this.width_=t.width;this.checksum_=undefined};_ol_style_Stroke_.prototype.clone=function(){var e=this.getColor();return new _ol_style_Stroke_({color:e&&e.slice?e.slice():e||undefined,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():undefined,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})};_ol_style_Stroke_.prototype.getColor=function(){return this.color_};_ol_style_Stroke_.prototype.getLineCap=function(){return this.lineCap_};_ol_style_Stroke_.prototype.getLineDash=function(){return this.lineDash_};_ol_style_Stroke_.prototype.getLineDashOffset=function(){return this.lineDashOffset_};_ol_style_Stroke_.prototype.getLineJoin=function(){return this.lineJoin_};_ol_style_Stroke_.prototype.getMiterLimit=function(){return this.miterLimit_};_ol_style_Stroke_.prototype.getWidth=function(){return this.width_};_ol_style_Stroke_.prototype.setColor=function(e){this.color_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineCap=function(e){this.lineCap_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineDash=function(e){this.lineDash_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineDashOffset=function(e){this.lineDashOffset_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineJoin=function(e){this.lineJoin_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setMiterLimit=function(e){this.miterLimit_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setWidth=function(e){this.width_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.getChecksum=function(){if(this.checksum_===undefined){this.checksum_="s";if(this.color_){if(typeof this.color_==="string"){this.checksum_+=this.color_}else{this.checksum_+=_ol_.getUid(this.color_).toString()}}else{this.checksum_+="-"}this.checksum_+=","+(this.lineCap_!==undefined?this.lineCap_.toString():"-")+","+(this.lineDash_?this.lineDash_.toString():"-")+","+(this.lineDashOffset_!==undefined?this.lineDashOffset_:"-")+","+(this.lineJoin_!==undefined?this.lineJoin_:"-")+","+(this.miterLimit_!==undefined?this.miterLimit_.toString():"-")+","+(this.width_!==undefined?this.width_.toString():"-")}return this.checksum_};var _ol_structs_LinkedList_=function(e){this.first_=undefined;this.last_=undefined;this.head_=undefined;this.circular_=e===undefined?true:e;this.length_=0};_ol_structs_LinkedList_.prototype.insertItem=function(e){var t={prev:undefined,next:undefined,data:e};var i=this.head_;if(!i){this.first_=t;this.last_=t;if(this.circular_){t.next=t;t.prev=t}}else{var r=i.next;t.prev=i;t.next=r;i.next=t;if(r){r.prev=t}if(i===this.last_){this.last_=t}}this.head_=t;this.length_++};_ol_structs_LinkedList_.prototype.removeItem=function(){var e=this.head_;if(e){var t=e.next;var i=e.prev;if(t){t.prev=i}if(i){i.next=t}this.head_=t||i;if(this.first_===this.last_){this.head_=undefined;this.first_=undefined;this.last_=undefined}else if(this.first_===e){this.first_=this.head_}else if(this.last_===e){this.last_=i?this.head_.prev:this.head_}this.length_--}};_ol_structs_LinkedList_.prototype.firstItem=function(){this.head_=this.first_;if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.lastItem=function(){this.head_=this.last_;if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.nextItem=function(){if(this.head_&&this.head_.next){this.head_=this.head_.next;return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.getNextItem=function(){if(this.head_&&this.head_.next){return this.head_.next.data}return undefined};_ol_structs_LinkedList_.prototype.prevItem=function(){if(this.head_&&this.head_.prev){this.head_=this.head_.prev;return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.getPrevItem=function(){if(this.head_&&this.head_.prev){return this.head_.prev.data}return undefined};_ol_structs_LinkedList_.prototype.getCurrItem=function(){if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.setFirstItem=function(){if(this.circular_&&this.head_){this.first_=this.head_;this.last_=this.head_.prev}};_ol_structs_LinkedList_.prototype.concat=function(e){if(e.head_){if(this.head_){var t=this.head_.next;this.head_.next=e.first_;e.first_.prev=this.head_;t.prev=e.last_;e.last_.next=t;this.length_+=e.length_}else{this.head_=e.head_;this.first_=e.first_;this.last_=e.last_;this.length_=e.length_}e.head_=undefined;e.first_=undefined;e.last_=undefined;e.length_=0}};_ol_structs_LinkedList_.prototype.getLength=function(){return this.length_};var _ol_structs_RBush_=function(e){this.rbush_=rbush_1(e);this.items_={}};_ol_structs_RBush_.prototype.insert=function(e,t){var i={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};this.rbush_.insert(i);this.items_[_ol_.getUid(t)]=i};_ol_structs_RBush_.prototype.load=function(e,t){var i=new Array(t.length);for(var r=0,n=t.length;r<n;r++){var o=e[r];var _=t[r];var a={minX:o[0],minY:o[1],maxX:o[2],maxY:o[3],value:_};i[r]=a;this.items_[_ol_.getUid(_)]=a}this.rbush_.load(i)};_ol_structs_RBush_.prototype.remove=function(e){var t=_ol_.getUid(e);var i=this.items_[t];delete this.items_[t];return this.rbush_.remove(i)!==null};_ol_structs_RBush_.prototype.update=function(e,t){var i=this.items_[_ol_.getUid(t)];var r=[i.minX,i.minY,i.maxX,i.maxY];if(!_ol_extent_.equals(r,e)){this.remove(t);this.insert(e,t)}};_ol_structs_RBush_.prototype.getAll=function(){var e=this.rbush_.all();return e.map((function(e){return e.value}))};_ol_structs_RBush_.prototype.getInExtent=function(e){var t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};var i=this.rbush_.search(t);return i.map((function(e){return e.value}))};_ol_structs_RBush_.prototype.forEach=function(e,t){return this.forEach_(this.getAll(),e,t)};_ol_structs_RBush_.prototype.forEachInExtent=function(e,t,i){return this.forEach_(this.getInExtent(e),t,i)};_ol_structs_RBush_.prototype.forEach_=function(e,t,i){var r;for(var n=0,o=e.length;n<o;n++){r=t.call(i,e[n]);if(r){return r}}return r};_ol_structs_RBush_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.items_)};_ol_structs_RBush_.prototype.clear=function(){this.rbush_.clear();this.items_={}};_ol_structs_RBush_.prototype.getExtent=function(e){var t=this.rbush_.data;return _ol_extent_.createOrUpdate(t.minX,t.minY,t.maxX,t.maxY,e)};_ol_structs_RBush_.prototype.concat=function(e){this.rbush_.load(e.rbush_.all());for(var t in e.items_){this.items_[t|0]=e.items_[t|0]}};var _ol_render_webgl_PolygonReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.lineStringReplay=new _ol_render_webgl_LineStringReplay_(e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.state_={fillColor:null,changed:false}};_ol_.inherits(_ol_render_webgl_PolygonReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_PolygonReplay_.prototype.drawCoordinates_=function(e,t,i){var r=new _ol_structs_LinkedList_;var n=new _ol_structs_RBush_;this.processFlatCoordinates_(e,i,r,n,true);var o=this.getMaxCoords_(r);if(t.length){var _,a;var s=[];for(_=0,a=t.length;_<a;++_){var l={list:new _ol_structs_LinkedList_,maxCoords:undefined,rtree:new _ol_structs_RBush_};s.push(l);this.processFlatCoordinates_(t[_],i,l.list,l.rtree,false);this.classifyPoints_(l.list,l.rtree,true);l.maxCoords=this.getMaxCoords_(l.list)}s.sort((function(e,t){return t.maxCoords[0]===e.maxCoords[0]?e.maxCoords[1]-t.maxCoords[1]:t.maxCoords[0]-e.maxCoords[0]}));for(_=0;_<s.length;++_){var h=s[_].list;var u=h.firstItem();var c=u;var f;do{if(this.getIntersections_(c,n).length){f=true;break}c=h.nextItem()}while(u!==c);if(!f){if(this.bridgeHole_(h,s[_].maxCoords[0],r,o[0],n)){n.concat(s[_].rtree);this.classifyPoints_(r,n,false)}}}}else{this.classifyPoints_(r,n,false)}this.triangulate_(r,n)};_ol_render_webgl_PolygonReplay_.prototype.processFlatCoordinates_=function(e,t,i,r,n){var o=_ol_geom_flat_orient_.linearRingIsClockwise(e,0,e.length,t);var _,a;var s=this.vertices.length/2;var l;var h;var u;var c=[];var f=[];if(n===o){l=this.createPoint_(e[0],e[1],s++);h=l;for(_=t,a=e.length;_<a;_+=t){u=this.createPoint_(e[_],e[_+1],s++);f.push(this.insertItem_(h,u,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)]);h=u}f.push(this.insertItem_(u,l,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)])}else{var d=e.length-t;l=this.createPoint_(e[d],e[d+1],s++);h=l;for(_=d-t,a=0;_>=a;_-=t){u=this.createPoint_(e[_],e[_+1],s++);f.push(this.insertItem_(h,u,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)]);h=u}f.push(this.insertItem_(u,l,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)])}r.load(c,f)};_ol_render_webgl_PolygonReplay_.prototype.getMaxCoords_=function(e){var t=e.firstItem();var i=t;var r=[i.p0.x,i.p0.y];do{i=e.nextItem();if(i.p0.x>r[0]){r=[i.p0.x,i.p0.y]}}while(i!==t);return r};_ol_render_webgl_PolygonReplay_.prototype.classifyPoints_=function(e,t,i){var r=e.firstItem();var n=r;var o=e.nextItem();var _=false;do{var a=i?_ol_render_webgl_.triangleIsCounterClockwise(o.p1.x,o.p1.y,n.p1.x,n.p1.y,n.p0.x,n.p0.y):_ol_render_webgl_.triangleIsCounterClockwise(n.p0.x,n.p0.y,n.p1.x,n.p1.y,o.p1.x,o.p1.y);if(a===undefined){this.removeItem_(n,o,e,t);_=true;if(o===r){r=e.getNextItem()}o=n;e.prevItem()}else if(n.p1.reflex!==a){n.p1.reflex=a;_=true}n=o;o=e.nextItem()}while(n!==r);return _};_ol_render_webgl_PolygonReplay_.prototype.bridgeHole_=function(e,t,i,r,n){var o=e.firstItem();while(o.p1.x!==t){o=e.nextItem()}var _=o.p1;var a={x:r,y:_.y,i:-1};var s=Infinity;var l,h,u;var c;var f=this.getIntersections_({p0:_,p1:a},n,true);for(l=0,h=f.length;l<h;++l){var d=f[l];var p=this.calculateIntersection_(_,a,d.p0,d.p1,true);var v=Math.abs(_.x-p[0]);if(v<s&&_ol_render_webgl_.triangleIsCounterClockwise(_.x,_.y,d.p0.x,d.p0.y,d.p1.x,d.p1.y)!==undefined){s=v;c={x:p[0],y:p[1],i:-1};o=d}}if(s===Infinity){return false}u=o.p1;if(s>0){var g=this.getPointsInTriangle_(_,c,o.p1,n);if(g.length){var y=Infinity;for(l=0,h=g.length;l<h;++l){var m=g[l];var E=Math.atan2(_.y-m.y,a.x-m.x);if(E<y||E===y&&m.x<u.x){y=E;u=m}}}}o=i.firstItem();while(o.p1.x!==u.x||o.p1.y!==u.y){o=i.nextItem()}var x={x:_.x,y:_.y,i:_.i,reflex:undefined};var T={x:o.p1.x,y:o.p1.y,i:o.p1.i,reflex:undefined};e.getNextItem().p0=x;this.insertItem_(_,o.p1,e,n);this.insertItem_(T,x,e,n);o.p1=T;e.setFirstItem();i.concat(e);return true};_ol_render_webgl_PolygonReplay_.prototype.triangulate_=function(e,t){var i=false;var r=this.isSimple_(e,t);while(e.getLength()>3){if(r){if(!this.clipEars_(e,t,r,i)){if(!this.classifyPoints_(e,t,i)){if(!this.resolveSelfIntersections_(e,t,true)){break}}}}else{if(!this.clipEars_(e,t,r,i)){if(!this.classifyPoints_(e,t,i)){if(!this.resolveSelfIntersections_(e,t)){r=this.isSimple_(e,t);if(!r){this.splitPolygon_(e,t);break}else{i=!this.isClockwise_(e);this.classifyPoints_(e,t,i)}}}}}}if(e.getLength()===3){var n=this.indices.length;this.indices[n++]=e.getPrevItem().p0.i;this.indices[n++]=e.getCurrItem().p0.i;this.indices[n++]=e.getNextItem().p0.i}};_ol_render_webgl_PolygonReplay_.prototype.clipEars_=function(e,t,i,r){var n=this.indices.length;var o=e.firstItem();var _=e.getPrevItem();var a=o;var s=e.nextItem();var l=e.getNextItem();var h,u,c;var f=false;do{h=a.p0;u=a.p1;c=s.p1;if(u.reflex===false){var d;if(i){d=this.getPointsInTriangle_(h,u,c,t,true).length===0}else{d=r?this.diagonalIsInside_(l.p1,c,u,h,_.p0):this.diagonalIsInside_(_.p0,h,u,c,l.p1)}if((i||this.getIntersections_({p0:h,p1:c},t).length===0)&&d){if(i||h.reflex===false||c.reflex===false||_ol_geom_flat_orient_.linearRingIsClockwise([_.p0.x,_.p0.y,h.x,h.y,u.x,u.y,c.x,c.y,l.p1.x,l.p1.y],0,10,2)===!r){this.indices[n++]=h.i;this.indices[n++]=u.i;this.indices[n++]=c.i;this.removeItem_(a,s,e,t);if(s===o){o=l}f=true}}}_=e.getPrevItem();a=e.getCurrItem();s=e.nextItem();l=e.getNextItem()}while(a!==o&&e.getLength()>3);return f};_ol_render_webgl_PolygonReplay_.prototype.resolveSelfIntersections_=function(e,t,i){var r=e.firstItem();e.nextItem();var n=r;var o=e.nextItem();var _=false;do{var a=this.calculateIntersection_(n.p0,n.p1,o.p0,o.p1,i);if(a){var s=false;var l=this.vertices.length;var h=this.indices.length;var u=l/2;var c=e.prevItem();e.removeItem();t.remove(c);s=c===r;var f;if(i){if(a[0]===n.p0.x&&a[1]===n.p0.y){e.prevItem();f=n.p0;o.p0=f;t.remove(n);s=s||n===r}else{f=o.p1;n.p1=f;t.remove(o);s=s||o===r}e.removeItem()}else{f=this.createPoint_(a[0],a[1],u);n.p1=f;o.p0=f;t.update([Math.min(n.p0.x,n.p1.x),Math.min(n.p0.y,n.p1.y),Math.max(n.p0.x,n.p1.x),Math.max(n.p0.y,n.p1.y)],n);t.update([Math.min(o.p0.x,o.p1.x),Math.min(o.p0.y,o.p1.y),Math.max(o.p0.x,o.p1.x),Math.max(o.p0.y,o.p1.y)],o)}this.indices[h++]=c.p0.i;this.indices[h++]=c.p1.i;this.indices[h++]=f.i;_=true;if(s){break}}n=e.getPrevItem();o=e.nextItem()}while(n!==r);return _};_ol_render_webgl_PolygonReplay_.prototype.isSimple_=function(e,t){var i=e.firstItem();var r=i;do{if(this.getIntersections_(r,t).length){return false}r=e.nextItem()}while(r!==i);return true};_ol_render_webgl_PolygonReplay_.prototype.isClockwise_=function(e){var t=e.getLength()*2;var i=new Array(t);var r=e.firstItem();var n=r;var o=0;do{i[o++]=n.p0.x;i[o++]=n.p0.y;n=e.nextItem()}while(n!==r);return _ol_geom_flat_orient_.linearRingIsClockwise(i,0,t,2)};_ol_render_webgl_PolygonReplay_.prototype.splitPolygon_=function(e,t){var i=e.firstItem();var r=i;do{var n=this.getIntersections_(r,t);if(n.length){var o=n[0];var _=this.vertices.length/2;var a=this.calculateIntersection_(r.p0,r.p1,o.p0,o.p1);var s=this.createPoint_(a[0],a[1],_);var l=new _ol_structs_LinkedList_;var h=new _ol_structs_RBush_;this.insertItem_(s,r.p1,l,h);r.p1=s;t.update([Math.min(r.p0.x,s.x),Math.min(r.p0.y,s.y),Math.max(r.p0.x,s.x),Math.max(r.p0.y,s.y)],r);var u=e.nextItem();while(u!==o){this.insertItem_(u.p0,u.p1,l,h);t.remove(u);e.removeItem();u=e.getCurrItem()}this.insertItem_(o.p0,s,l,h);o.p0=s;t.update([Math.min(o.p1.x,s.x),Math.min(o.p1.y,s.y),Math.max(o.p1.x,s.x),Math.max(o.p1.y,s.y)],o);this.classifyPoints_(e,t,false);this.triangulate_(e,t);this.classifyPoints_(l,h,false);this.triangulate_(l,h);break}r=e.nextItem()}while(r!==i)};_ol_render_webgl_PolygonReplay_.prototype.createPoint_=function(e,t,i){var r=this.vertices.length;this.vertices[r++]=e;this.vertices[r++]=t;var n={x:e,y:t,i:i,reflex:undefined};return n};_ol_render_webgl_PolygonReplay_.prototype.insertItem_=function(e,t,i,r){var n={p0:e,p1:t};i.insertItem(n);if(r){r.insert([Math.min(e.x,t.x),Math.min(e.y,t.y),Math.max(e.x,t.x),Math.max(e.y,t.y)],n)}return n};_ol_render_webgl_PolygonReplay_.prototype.removeItem_=function(e,t,i,r){if(i.getCurrItem()===t){i.removeItem();e.p1=t.p1;r.remove(t);r.update([Math.min(e.p0.x,e.p1.x),Math.min(e.p0.y,e.p1.y),Math.max(e.p0.x,e.p1.x),Math.max(e.p0.y,e.p1.y)],e)}};_ol_render_webgl_PolygonReplay_.prototype.getPointsInTriangle_=function(e,t,i,r,n){var o,_,a,s;var l=[];var h=r.getInExtent([Math.min(e.x,t.x,i.x),Math.min(e.y,t.y,i.y),Math.max(e.x,t.x,i.x),Math.max(e.y,t.y,i.y)]);for(o=0,_=h.length;o<_;++o){for(a in h[o]){s=h[o][a];if(typeof s==="object"&&(!n||s.reflex)){if((s.x!==e.x||s.y!==e.y)&&(s.x!==t.x||s.y!==t.y)&&(s.x!==i.x||s.y!==i.y)&&l.indexOf(s)===-1&&_ol_geom_flat_contains_.linearRingContainsXY([e.x,e.y,t.x,t.y,i.x,i.y],0,6,2,s.x,s.y)){l.push(s)}}}}return l};_ol_render_webgl_PolygonReplay_.prototype.getIntersections_=function(e,t,i){var r=e.p0;var n=e.p1;var o=t.getInExtent([Math.min(r.x,n.x),Math.min(r.y,n.y),Math.max(r.x,n.x),Math.max(r.y,n.y)]);var _=[];var a,s;for(a=0,s=o.length;a<s;++a){var l=o[a];if(e!==l&&(i||l.p0!==n||l.p1!==r)&&this.calculateIntersection_(r,n,l.p0,l.p1,i)){_.push(l)}}return _};_ol_render_webgl_PolygonReplay_.prototype.calculateIntersection_=function(e,t,i,r,n){var o=(r.y-i.y)*(t.x-e.x)-(r.x-i.x)*(t.y-e.y);if(o!==0){var _=((r.x-i.x)*(e.y-i.y)-(r.y-i.y)*(e.x-i.x))/o;var a=((t.x-e.x)*(e.y-i.y)-(t.y-e.y)*(e.x-i.x))/o;if(!n&&_>_ol_render_webgl_.EPSILON&&_<1-_ol_render_webgl_.EPSILON&&a>_ol_render_webgl_.EPSILON&&a<1-_ol_render_webgl_.EPSILON||n&&_>=0&&_<=1&&a>=0&&a<=1){return[e.x+_*(t.x-e.x),e.y+_*(t.y-e.y)]}}return undefined};_ol_render_webgl_PolygonReplay_.prototype.diagonalIsInside_=function(e,t,i,r,n){if(t.reflex===undefined||r.reflex===undefined){return false}var o=(i.x-r.x)*(t.y-r.y)>(i.y-r.y)*(t.x-r.x);var _=(n.x-r.x)*(t.y-r.y)<(n.y-r.y)*(t.x-r.x);var a=(e.x-t.x)*(r.y-t.y)>(e.y-t.y)*(r.x-t.x);var s=(i.x-t.x)*(r.y-t.y)<(i.y-t.y)*(r.x-t.x);var l=r.reflex?_||o:_&&o;var h=t.reflex?s||a:s&&a;return l&&h};_ol_render_webgl_PolygonReplay_.prototype.drawMultiPolygon=function(e,t){var i=e.getEndss();var r=e.getStride();var n=this.indices.length;var o=this.lineStringReplay.getCurrentIndex();var _=e.getFlatCoordinates();var a,s,l,h;var u=0;for(a=0,s=i.length;a<s;++a){var c=i[a];if(c.length>0){var f=_ol_geom_flat_transform_.translate(_,u,c[0],r,-this.origin[0],-this.origin[1]);if(f.length){var d=[];var p;for(l=1,h=c.length;l<h;++l){if(c[l]!==c[l-1]){p=_ol_geom_flat_transform_.translate(_,c[l-1],c[l],r,-this.origin[0],-this.origin[1]);d.push(p)}}this.lineStringReplay.drawPolygonCoordinates(f,d,r);this.drawCoordinates_(f,d,r)}}u=c[c.length-1]}if(this.indices.length>n){this.startIndices.push(n);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(n);this.state_.changed=false}}if(this.lineStringReplay.getCurrentIndex()>o){this.lineStringReplay.setPolygonStyle(t,o)}};_ol_render_webgl_PolygonReplay_.prototype.drawPolygon=function(e,t){var i=e.getEnds();var r=e.getStride();if(i.length>0){var n=e.getFlatCoordinates().map(Number);var o=_ol_geom_flat_transform_.translate(n,0,i[0],r,-this.origin[0],-this.origin[1]);if(o.length){var _=[];var a,s,l;for(a=1,s=i.length;a<s;++a){if(i[a]!==i[a-1]){l=_ol_geom_flat_transform_.translate(n,i[a-1],i[a],r,-this.origin[0],-this.origin[1]);_.push(l)}}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.lineStringReplay.setPolygonStyle(t);this.lineStringReplay.drawPolygonCoordinates(o,_,r);this.drawCoordinates_(o,_,r)}}};_ol_render_webgl_PolygonReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);this.lineStringReplay.finish(e);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_PolygonReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;var r=this.lineStringReplay.getDeleteResourcesFunction(e);return function(){e.deleteBuffer(t);e.deleteBuffer(i);r()}};_ol_render_webgl_PolygonReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_polygonreplay_defaultshader_.fragment;o=_ol_render_webgl_polygonreplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_polygonreplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,8,0);return a};_ol_render_webgl_PolygonReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position)};_ol_render_webgl_PolygonReplay_.prototype.drawReplay=function(e,t,i,r){var n=e.getParameter(e.DEPTH_FUNC);var o=e.getParameter(e.DEPTH_WRITEMASK);if(!r){e.enable(e.DEPTH_TEST);e.depthMask(true);e.depthFunc(e.NOTEQUAL)}if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var _,a,s,l;s=this.startIndices[this.startIndices.length-1];for(_=this.styleIndices_.length-1;_>=0;--_){a=this.styleIndices_[_];l=this.styles_[_];this.setFillStyle_(e,l);this.drawElements(e,t,a,s);s=a}}if(!r){e.disable(e.DEPTH_TEST);e.clear(e.DEPTH_BUFFER_BIT);e.depthMask(o);e.depthFunc(n)}};_ol_render_webgl_PolygonReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setFillStyle_(e,s);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_PolygonReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setFillStyle_(e,_);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}n=o=a}};_ol_render_webgl_PolygonReplay_.prototype.setFillStyle_=function(e,t){e.uniform4fv(this.defaultLocations_.u_color,t)};_ol_render_webgl_PolygonReplay_.prototype.setFillStrokeStyle=function(e,t){var i=e?e.getColor():[0,0,0,0];if(!(i instanceof CanvasGradient)&&!(i instanceof CanvasPattern)){i=_ol_color_.asArray(i).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultFillStyle}else{i=_ol_render_webgl_.defaultFillStyle}if(!this.state_.fillColor||!_ol_array_.equals(i,this.state_.fillColor)){this.state_.fillColor=i;this.state_.changed=true;this.styles_.push(i)}if(t){this.lineStringReplay.setFillStrokeStyle(null,t)}else{var r=new _ol_style_Stroke_({color:[0,0,0,0],lineWidth:0});this.lineStringReplay.setFillStrokeStyle(null,r)}};var _ol_style_Atlas_=function(e,t){this.space_=t;this.emptyBlocks_=[{x:0,y:0,width:e,height:e}];this.entries_={};this.context_=_ol_dom_.createCanvasContext2D(e,e);this.canvas_=this.context_.canvas};_ol_style_Atlas_.prototype.get=function(e){return this.entries_[e]||null};_ol_style_Atlas_.prototype.add=function(e,t,i,r,n){var o,_,a;for(_=0,a=this.emptyBlocks_.length;_<a;++_){o=this.emptyBlocks_[_];if(o.width>=t+this.space_&&o.height>=i+this.space_){var s={offsetX:o.x+this.space_,offsetY:o.y+this.space_,image:this.canvas_};this.entries_[e]=s;r.call(n,this.context_,o.x+this.space_,o.y+this.space_);this.split_(_,o,t+this.space_,i+this.space_);return s}}return null};_ol_style_Atlas_.prototype.split_=function(e,t,i,r){var n=t.width-i;var o=t.height-r;var _;var a;if(n>o){_={x:t.x+i,y:t.y,width:t.width-i,height:t.height};a={x:t.x,y:t.y+r,width:i,height:t.height-r};this.updateBlocks_(e,_,a)}else{_={x:t.x+i,y:t.y,width:t.width-i,height:r};a={x:t.x,y:t.y+r,width:t.width,height:t.height-r};this.updateBlocks_(e,_,a)}};_ol_style_Atlas_.prototype.updateBlocks_=function(e,t,i){var r=[e,1];if(t.width>0&&t.height>0){r.push(t)}if(i.width>0&&i.height>0){r.push(i)}this.emptyBlocks_.splice.apply(this.emptyBlocks_,r)};var _ol_style_AtlasManager_=function(e){var t=e||{};this.currentSize_=t.initialSize!==undefined?t.initialSize:_ol_.INITIAL_ATLAS_SIZE;this.maxSize_=t.maxSize!==undefined?t.maxSize:_ol_.MAX_ATLAS_SIZE!=-1?_ol_.MAX_ATLAS_SIZE:_ol_.WEBGL_MAX_TEXTURE_SIZE!==undefined?_ol_.WEBGL_MAX_TEXTURE_SIZE:2048;this.space_=t.space!==undefined?t.space:1;this.atlases_=[new _ol_style_Atlas_(this.currentSize_,this.space_)];this.currentHitSize_=this.currentSize_;this.hitAtlases_=[new _ol_style_Atlas_(this.currentHitSize_,this.space_)]};_ol_style_AtlasManager_.prototype.getInfo=function(e){var t=this.getInfo_(this.atlases_,e);if(!t){return null}var i=this.getInfo_(this.hitAtlases_,e);return this.mergeInfos_(t,i)};_ol_style_AtlasManager_.prototype.getInfo_=function(e,t){var i,r,n,o;for(n=0,o=e.length;n<o;++n){i=e[n];r=i.get(t);if(r){return r}}return null};_ol_style_AtlasManager_.prototype.mergeInfos_=function(e,t){return{offsetX:e.offsetX,offsetY:e.offsetY,image:e.image,hitImage:t.image}};_ol_style_AtlasManager_.prototype.add=function(e,t,i,r,n,o){if(t+this.space_>this.maxSize_||i+this.space_>this.maxSize_){return null}var _=this.add_(false,e,t,i,r,o);if(!_){return null}var a=n!==undefined?n:_ol_.nullFunction;var s=this.add_(true,e,t,i,a,o);return this.mergeInfos_(_,s)};_ol_style_AtlasManager_.prototype.add_=function(e,t,i,r,n,o){var _=e?this.hitAtlases_:this.atlases_;var a,s,l,h;for(l=0,h=_.length;l<h;++l){a=_[l];s=a.add(t,i,r,n,o);if(s){return s}else if(!s&&l===h-1){var u;if(e){u=Math.min(this.currentHitSize_*2,this.maxSize_);this.currentHitSize_=u}else{u=Math.min(this.currentSize_*2,this.maxSize_);this.currentSize_=u}a=new _ol_style_Atlas_(u,this.space_);_.push(a);++h}}return null};var _ol_render_webgl_TextReplay_=function(e,t){_ol_render_webgl_TextureReplay_.call(this,e,t);this.images_=[];this.textures_=[];this.measureCanvas_=_ol_dom_.createCanvasContext2D(0,0).canvas;this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:0,miterLimit:undefined,fillColor:null,font:undefined,scale:undefined};this.text_="";this.textAlign_=undefined;this.textBaseline_=undefined;this.offsetX_=undefined;this.offsetY_=undefined;this.atlases_={};this.currAtlas_=undefined;this.scale=1;this.opacity=1};_ol_.inherits(_ol_render_webgl_TextReplay_,_ol_render_webgl_TextureReplay_);_ol_render_webgl_TextReplay_.prototype.drawText=function(e,t){if(this.text_){var i=null;var r=0;var n=2;var o=2;switch(e.getType()){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:i=e.getFlatCoordinates();n=i.length;o=e.getStride();break;case _ol_geom_GeometryType_.CIRCLE:i=e.getCenter();break;case _ol_geom_GeometryType_.LINE_STRING:i=e.getFlatMidpoint();break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:i=e.getFlatMidpoints();n=i.length;break;case _ol_geom_GeometryType_.POLYGON:i=e.getFlatInteriorPoint();break;case _ol_geom_GeometryType_.MULTI_POLYGON:i=e.getFlatInteriorPoints();n=i.length;break}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var _=this.currAtlas_;var a=this.text_.split("\n");var s=this.getTextSize_(a);var l,h,u,c,f,d,p,v;var g=Math.round(s[0]*this.textAlign_-this.offsetX_);var y=Math.round(s[1]*this.textBaseline_-this.offsetY_);var m=this.state_.lineWidth/2*this.state_.scale;for(l=0,h=a.length;l<h;++l){f=0;d=_.height*l;p=a[l].split("");for(u=0,c=p.length;u<c;++u){v=_.atlas.getInfo(p[u]);if(v){var E=v.image;this.anchorX=g-f;this.anchorY=y-d;this.originX=u===0?v.offsetX-m:v.offsetX;this.originY=v.offsetY;this.height=_.height;this.width=u===0||u===p.length-1?_.width[p[u]]+m:_.width[p[u]];this.imageHeight=E.height;this.imageWidth=E.width;var x;if(this.images_.length===0){this.images_.push(E)}else{x=this.images_[this.images_.length-1];if(_ol_.getUid(x)!=_ol_.getUid(E)){this.groupIndices.push(this.indices.length);this.images_.push(E)}}this.drawText_(i,r,n,o)}f+=this.width}}}};_ol_render_webgl_TextReplay_.prototype.getTextSize_=function(e){var t=this;var i=this.currAtlas_;var r=e.length*i.height;var n=e.map((function(e){var r=0;var n,o;for(n=0,o=e.length;n<o;++n){var _=e[n];if(!i.width[_]){t.addCharToAtlas_(_)}r+=i.width[_]?i.width[_]:0}return r})).reduce((function(e,t){return Math.max(e,t)}));return[n,r]};_ol_render_webgl_TextReplay_.prototype.drawText_=function(e,t,i,r){var n,o;for(n=t,o=i;n<o;n+=r){this.drawCoordinates(e,t,i,r)}};_ol_render_webgl_TextReplay_.prototype.addCharToAtlas_=function(e){if(e.length===1){var t=this.currAtlas_;var i=this.state_;var r=this.measureCanvas_.getContext("2d");r.font=i.font;var n=Math.ceil(r.measureText(e).width*i.scale);var o=t.atlas.add(e,n,t.height,(function(t,r,n){t.font=i.font;t.fillStyle=i.fillColor;t.strokeStyle=i.strokeColor;t.lineWidth=i.lineWidth;t.lineCap=i.lineCap;t.lineJoin=i.lineJoin;t.miterLimit=i.miterLimit;t.textAlign="left";t.textBaseline="top";if(_ol_has_.CANVAS_LINE_DASH&&i.lineDash){t.setLineDash(i.lineDash);t.lineDashOffset=i.lineDashOffset}if(i.scale!==1){t.setTransform(i.scale,0,0,i.scale,0,0)}if(i.strokeColor){t.strokeText(e,r,n)}if(i.fillColor){t.fillText(e,r,n)}}));if(o){t.width[e]=n}}};_ol_render_webgl_TextReplay_.prototype.finish=function(e){var t=e.getGL();this.groupIndices.push(this.indices.length);this.hitDetectionGroupIndices=this.groupIndices;this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);var i={};this.createTextures(this.textures_,this.images_,i,t);this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:0,miterLimit:undefined,fillColor:null,font:undefined,scale:undefined};this.text_="";this.textAlign_=undefined;this.textBaseline_=undefined;this.offsetX_=undefined;this.offsetY_=undefined;this.images_=null;this.atlases_={};this.currAtlas_=undefined;_ol_render_webgl_TextureReplay_.prototype.finish.call(this,e)};_ol_render_webgl_TextReplay_.prototype.setTextStyle=function(e){var t=this.state_;var i=e.getFill();var r=e.getStroke();if(!e||!e.getText()||!i&&!r){this.text_=""}else{if(!i){t.fillColor=null}else{var n=i.getColor();t.fillColor=_ol_colorlike_.asColorLike(n?n:_ol_render_webgl_.defaultFillStyle)}if(!r){t.strokeColor=null;t.lineWidth=0}else{var o=r.getColor();t.strokeColor=_ol_colorlike_.asColorLike(o?o:_ol_render_webgl_.defaultStrokeStyle);t.lineWidth=r.getWidth()||_ol_render_webgl_.defaultLineWidth;t.lineCap=r.getLineCap()||_ol_render_webgl_.defaultLineCap;t.lineDashOffset=r.getLineDashOffset()||_ol_render_webgl_.defaultLineDashOffset;t.lineJoin=r.getLineJoin()||_ol_render_webgl_.defaultLineJoin;t.miterLimit=r.getMiterLimit()||_ol_render_webgl_.defaultMiterLimit;var _=r.getLineDash();t.lineDash=_?_.slice():_ol_render_webgl_.defaultLineDash}t.font=e.getFont()||_ol_render_webgl_.defaultFont;t.scale=e.getScale()||1;this.text_=e.getText();var a=_ol_render_replay_.TEXT_ALIGN[e.getTextAlign()];var s=_ol_render_replay_.TEXT_ALIGN[e.getTextBaseline()];this.textAlign_=a===undefined?_ol_render_webgl_.defaultTextAlign:a;this.textBaseline_=s===undefined?_ol_render_webgl_.defaultTextBaseline:s;this.offsetX_=e.getOffsetX()||0;this.offsetY_=e.getOffsetY()||0;this.rotateWithView=!!e.getRotateWithView();this.rotation=e.getRotation()||0;this.currAtlas_=this.getAtlas_(t)}};_ol_render_webgl_TextReplay_.prototype.getAtlas_=function(e){var t=[];var i;for(i in e){if(e[i]||e[i]===0){if(Array.isArray(e[i])){t=t.concat(e[i])}else{t.push(e[i])}}}var r=this.calculateHash_(t);if(!this.atlases_[r]){var n=this.measureCanvas_.getContext("2d");n.font=e.font;var o=Math.ceil((n.measureText("M").width*1.5+e.lineWidth/2)*e.scale);this.atlases_[r]={atlas:new _ol_style_AtlasManager_({space:e.lineWidth+1}),width:{},height:o}}return this.atlases_[r]};_ol_render_webgl_TextReplay_.prototype.calculateHash_=function(e){var t,i;var r="";for(t=0,i=e.length;t<i;++t){r+=e[t]}return r};_ol_render_webgl_TextReplay_.prototype.getTextures=function(e){return this.textures_};_ol_render_webgl_TextReplay_.prototype.getHitDetectionTextures=function(){return this.textures_};var _ol_render_webgl_ReplayGroup_=function(e,t,i){_ol_render_ReplayGroup_.call(this);this.maxExtent_=t;this.tolerance_=e;this.renderBuffer_=i;this.replaysByZIndex_={}};_ol_.inherits(_ol_render_webgl_ReplayGroup_,_ol_render_ReplayGroup_);_ol_render_webgl_ReplayGroup_.prototype.addDeclutter=function(e,t){};_ol_render_webgl_ReplayGroup_.prototype.getDeleteResourcesFunction=function(e){var t=[];var i;for(i in this.replaysByZIndex_){var r=this.replaysByZIndex_[i];var n;for(n in r){t.push(r[n].getDeleteResourcesFunction(e))}}return function(){var e=t.length;var i;for(var r=0;r<e;r++){i=t[r].apply(this,arguments)}return i}};_ol_render_webgl_ReplayGroup_.prototype.finish=function(e){var t;for(t in this.replaysByZIndex_){var i=this.replaysByZIndex_[t];var r;for(r in i){i[r].finish(e)}}};_ol_render_webgl_ReplayGroup_.prototype.getReplay=function(e,t){var i=e!==undefined?e.toString():"0";var r=this.replaysByZIndex_[i];if(r===undefined){r={};this.replaysByZIndex_[i]=r}var n=r[t];if(n===undefined){var o=_ol_render_webgl_ReplayGroup_.BATCH_CONSTRUCTORS_[t];n=new o(this.tolerance_,this.maxExtent_);r[t]=n}return n};_ol_render_webgl_ReplayGroup_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.replaysByZIndex_)};_ol_render_webgl_ReplayGroup_.prototype.replay=function(e,t,i,r,n,o,_,a){var s=Object.keys(this.replaysByZIndex_).map(Number);s.sort(_ol_array_.numberSafeCompareFunction);var l,h,u,c,f,d;for(l=0,h=s.length;l<h;++l){f=this.replaysByZIndex_[s[l].toString()];for(u=0,c=_ol_render_replay_.ORDER.length;u<c;++u){d=f[_ol_render_replay_.ORDER[u]];if(d!==undefined){d.replay(e,t,i,r,n,o,_,a,undefined,false)}}}};_ol_render_webgl_ReplayGroup_.prototype.replayHitDetection_=function(e,t,i,r,n,o,_,a,s,l,h){var u=Object.keys(this.replaysByZIndex_).map(Number);u.sort((function(e,t){return t-e}));var c,f,d,p,v,g;for(c=0,f=u.length;c<f;++c){p=this.replaysByZIndex_[u[c].toString()];for(d=_ol_render_replay_.ORDER.length-1;d>=0;--d){v=p[_ol_render_replay_.ORDER[d]];if(v!==undefined){g=v.replay(e,t,i,r,n,o,_,a,s,l,h);if(g){return g}}}}return undefined};_ol_render_webgl_ReplayGroup_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_,a,s,l){var h=t.getGL();h.bindFramebuffer(h.FRAMEBUFFER,t.getHitDetectionFramebuffer());var u;if(this.renderBuffer_!==undefined){u=_ol_extent_.buffer(_ol_extent_.createOrUpdateFromCoordinate(e),r*this.renderBuffer_)}return this.replayHitDetection_(t,e,r,n,_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_,_,a,s,(function(e){var t=new Uint8Array(4);h.readPixels(0,0,1,1,h.RGBA,h.UNSIGNED_BYTE,t);if(t[3]>0){var i=l(e);if(i){return i}}}),true,u)};_ol_render_webgl_ReplayGroup_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n,o,_,a,s){var l=t.getGL();l.bindFramebuffer(l.FRAMEBUFFER,t.getHitDetectionFramebuffer());var h=this.replayHitDetection_(t,e,r,n,_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_,_,a,s,(function(e){var t=new Uint8Array(4);l.readPixels(0,0,1,1,l.RGBA,l.UNSIGNED_BYTE,t);return t[3]>0}),false);return h!==undefined};_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_=[1,1];_ol_render_webgl_ReplayGroup_.BATCH_CONSTRUCTORS_={Circle:_ol_render_webgl_CircleReplay_,Image:_ol_render_webgl_ImageReplay_,LineString:_ol_render_webgl_LineStringReplay_,Polygon:_ol_render_webgl_PolygonReplay_,Text:_ol_render_webgl_TextReplay_};var _ol_render_webgl_Immediate_=function(e,t,i,r,n,o,_){_ol_render_VectorContext_.call(this);this.context_=e;this.center_=t;this.extent_=o;this.pixelRatio_=_;this.size_=n;this.rotation_=r;this.resolution_=i;this.imageStyle_=null;this.fillStyle_=null;this.strokeStyle_=null;this.textStyle_=null};_ol_.inherits(_ol_render_webgl_Immediate_,_ol_render_VectorContext_);_ol_render_webgl_Immediate_.prototype.drawText_=function(e,t){var i=this.context_;var r=e.getReplay(0,_ol_render_ReplayType_.TEXT);r.setTextStyle(this.textStyle_);r.drawText(t,null);r.finish(i);var n=1;var o={};var _;var a=false;r.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,n,o,_,a);r.getDeleteResourcesFunction(i)()};_ol_render_webgl_Immediate_.prototype.setStyle=function(e){this.setFillStrokeStyle(e.getFill(),e.getStroke());this.setImageStyle(e.getImage());this.setTextStyle(e.getText())};_ol_render_webgl_Immediate_.prototype.drawGeometry=function(e){var t=e.getType();switch(t){case _ol_geom_GeometryType_.POINT:this.drawPoint(e,null);break;case _ol_geom_GeometryType_.LINE_STRING:this.drawLineString(e,null);break;case _ol_geom_GeometryType_.POLYGON:this.drawPolygon(e,null);break;case _ol_geom_GeometryType_.MULTI_POINT:this.drawMultiPoint(e,null);break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:this.drawMultiLineString(e,null);break;case _ol_geom_GeometryType_.MULTI_POLYGON:this.drawMultiPolygon(e,null);break;case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:this.drawGeometryCollection(e,null);break;case _ol_geom_GeometryType_.CIRCLE:this.drawCircle(e,null);break}};_ol_render_webgl_Immediate_.prototype.drawFeature=function(e,t){var i=t.getGeometryFunction()(e);if(!i||!_ol_extent_.intersects(this.extent_,i.getExtent())){return}this.setStyle(t);this.drawGeometry(i)};_ol_render_webgl_Immediate_.prototype.drawGeometryCollection=function(e,t){var i=e.getGeometriesArray();var r,n;for(r=0,n=i.length;r<n;++r){this.drawGeometry(i[r])}};_ol_render_webgl_Immediate_.prototype.drawPoint=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.IMAGE);n.setImageStyle(this.imageStyle_);n.drawPoint(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiPoint=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.IMAGE);n.setImageStyle(this.imageStyle_);n.drawMultiPoint(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawLineString=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.LINE_STRING);n.setFillStrokeStyle(null,this.strokeStyle_);n.drawLineString(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiLineString=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.LINE_STRING);n.setFillStrokeStyle(null,this.strokeStyle_);n.drawMultiLineString(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawPolygon=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.POLYGON);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawPolygon(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiPolygon=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.POLYGON);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawMultiPolygon(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawCircle=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.CIRCLE);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawCircle(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.setImageStyle=function(e){this.imageStyle_=e};_ol_render_webgl_Immediate_.prototype.setFillStrokeStyle=function(e,t){this.fillStyle_=e;this.strokeStyle_=t};_ol_render_webgl_Immediate_.prototype.setTextStyle=function(e){this.textStyle_=e};var _ol_renderer_webgl_defaultmapshader_={};_ol_renderer_webgl_defaultmapshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_texture, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n gl_FragColor.a = texColor.a * u_opacity;\n}\n":"precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texColor=texture2D(g,a);gl_FragColor.rgb=texColor.rgb;gl_FragColor.a=texColor.a*f;}");_ol_renderer_webgl_defaultmapshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord = (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}\n\n\n":"varying vec2 a;attribute vec2 b;attribute vec2 c;uniform mat4 d;uniform mat4 e;void main(void){gl_Position=e*vec4(b,0.,1.);a=(d*vec4(c,0.,1.)).st;}");var _ol_renderer_webgl_defaultmapshader_Locations_=function(e,t){this.u_texCoordMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texCoordMatrix":"d");this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"e");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"f");this.u_texture=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texture":"g");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"b");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"c")};var _ol_renderer_webgl_Layer_=function(e,t){_ol_renderer_Layer_.call(this,t);this.mapRenderer=e;this.arrayBuffer_=new _ol_webgl_Buffer_([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);this.texture=null;this.framebuffer=null;this.framebufferDimension=undefined;this.texCoordMatrix=_ol_transform_.create();this.projectionMatrix=_ol_transform_.create();this.tmpMat4_=_ol_vec_Mat4_.create();this.defaultLocations_=null};_ol_.inherits(_ol_renderer_webgl_Layer_,_ol_renderer_Layer_);_ol_renderer_webgl_Layer_.prototype.bindFramebuffer=function(e,t){var i=this.mapRenderer.getGL();if(this.framebufferDimension===undefined||this.framebufferDimension!=t){var r=function(e,t,i){if(!e.isContextLost()){e.deleteFramebuffer(t);e.deleteTexture(i)}}.bind(null,i,this.framebuffer,this.texture);e.postRenderFunctions.push(r);var n=_ol_webgl_Context_.createEmptyTexture(i,t,t);var o=i.createFramebuffer();i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,o);i.framebufferTexture2D(_ol_webgl_.FRAMEBUFFER,_ol_webgl_.COLOR_ATTACHMENT0,_ol_webgl_.TEXTURE_2D,n,0);this.texture=n;this.framebuffer=o;this.framebufferDimension=t}else{i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,this.framebuffer)}};_ol_renderer_webgl_Layer_.prototype.composeFrame=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,i,e);i.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.arrayBuffer_);var r=i.getGL();var n=_ol_renderer_webgl_defaultmapshader_.fragment;var o=_ol_renderer_webgl_defaultmapshader_.vertex;var _=i.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_renderer_webgl_defaultmapshader_Locations_(r,_);this.defaultLocations_=a}else{a=this.defaultLocations_}if(i.useProgram(_)){r.enableVertexAttribArray(a.a_position);r.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,16,0);r.enableVertexAttribArray(a.a_texCoord);r.vertexAttribPointer(a.a_texCoord,2,_ol_webgl_.FLOAT,false,16,8);r.uniform1i(a.u_texture,0)}r.uniformMatrix4fv(a.u_texCoordMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,this.getTexCoordMatrix()));r.uniformMatrix4fv(a.u_projectionMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,this.getProjectionMatrix()));r.uniform1f(a.u_opacity,t.opacity);r.bindTexture(_ol_webgl_.TEXTURE_2D,this.getTexture());r.drawArrays(_ol_webgl_.TRIANGLE_STRIP,0,4);this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,i,e)};_ol_renderer_webgl_Layer_.prototype.dispatchComposeEvent_=function(e,t,i){var r=this.getLayer();if(r.hasListener(e)){var n=i.viewState;var o=n.resolution;var _=i.pixelRatio;var a=i.extent;var s=n.center;var l=n.rotation;var h=i.size;var u=new _ol_render_webgl_Immediate_(t,s,o,l,h,a,_);var c=new _ol_render_Event_(e,u,i,null,t);r.dispatchEvent(c)}};_ol_renderer_webgl_Layer_.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix};_ol_renderer_webgl_Layer_.prototype.getTexture=function(){return this.texture};_ol_renderer_webgl_Layer_.prototype.getProjectionMatrix=function(){return this.projectionMatrix};_ol_renderer_webgl_Layer_.prototype.handleWebGLContextLost=function(){this.texture=null;this.framebuffer=null;this.framebufferDimension=undefined};_ol_renderer_webgl_Layer_.prototype.prepareFrame=function(e,t,i){};_ol_renderer_webgl_Layer_.prototype.forEachLayerAtPixel=function(e,t,i,r){};var _ol_renderer_webgl_ImageLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.image_=null;this.hitCanvasContext_=null;this.hitTransformationMatrix_=null};_ol_.inherits(_ol_renderer_webgl_ImageLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_ImageLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.IMAGE};_ol_renderer_webgl_ImageLayer_["create"]=function(e,t){return new _ol_renderer_webgl_ImageLayer_(e,t)};_ol_renderer_webgl_ImageLayer_.prototype.createTexture_=function(e){var t=e.getImage();var i=this.mapRenderer.getGL();return _ol_webgl_Context_.createTexture(i,t,_ol_webgl_.CLAMP_TO_EDGE,_ol_webgl_.CLAMP_TO_EDGE)};_ol_renderer_webgl_ImageLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=this.getLayer();var _=o.getSource();var a=t.viewState.resolution;var s=t.viewState.rotation;var l=t.skippedFeatureUids;return _.forEachFeatureAtCoordinate(e,a,s,i,l,(function(e){return r.call(n,e,o)}))};_ol_renderer_webgl_ImageLayer_.prototype.prepareFrame=function(e,t,i){var r=this.mapRenderer.getGL();var n=e.pixelRatio;var o=e.viewState;var _=o.center;var a=o.resolution;var s=o.rotation;var l=this.image_;var h=this.texture;var u=this.getLayer();var c=u.getSource();var f=e.viewHints;var d=e.extent;if(t.extent!==undefined){d=_ol_extent_.getIntersection(d,t.extent)}if(!f[_ol_ViewHint_.ANIMATING]&&!f[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.isEmpty(d)){var p=o.projection;if(!_ol_.ENABLE_RASTER_REPROJECTION){var v=c.getProjection();if(v){p=v}}var g=c.getImage(d,a,n,p);if(g){var y=this.loadImage(g);if(y){l=g;h=this.createTexture_(g);if(this.texture){var m=function(e,t){if(!e.isContextLost()){e.deleteTexture(t)}}.bind(null,r,this.texture);e.postRenderFunctions.push(m)}}}}if(l){var E=this.mapRenderer.getContext().getCanvas();this.updateProjectionMatrix_(E.width,E.height,n,_,a,s,l.getExtent());this.hitTransformationMatrix_=null;var x=this.texCoordMatrix;_ol_transform_.reset(x);_ol_transform_.scale(x,1,-1);_ol_transform_.translate(x,0,-1);this.image_=l;this.texture=h;this.updateLogos(e,c)}return!!l};_ol_renderer_webgl_ImageLayer_.prototype.updateProjectionMatrix_=function(e,t,i,r,n,o,_){var a=e*n;var s=t*n;var l=this.projectionMatrix;_ol_transform_.reset(l);_ol_transform_.scale(l,i*2/a,i*2/s);_ol_transform_.rotate(l,-o);_ol_transform_.translate(l,_[0]-r[0],_[1]-r[1]);_ol_transform_.scale(l,(_[2]-_[0])/2,(_[3]-_[1])/2);_ol_transform_.translate(l,1,1)};_ol_renderer_webgl_ImageLayer_.prototype.hasFeatureAtCoordinate=function(e,t){var i=this.forEachFeatureAtCoordinate(e,t,0,_ol_functions_.TRUE,this);return i!==undefined};_ol_renderer_webgl_ImageLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){if(!this.image_||!this.image_.getImage()){return undefined}if(this.getLayer().getSource().forEachFeatureAtCoordinate!==_ol_.nullFunction){var n=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var o=this.forEachFeatureAtCoordinate(n,t,0,_ol_functions_.TRUE,this);if(o){return i.call(r,this.getLayer(),null)}else{return undefined}}else{var _=[this.image_.getImage().width,this.image_.getImage().height];if(!this.hitTransformationMatrix_){this.hitTransformationMatrix_=this.getHitTransformationMatrix_(t.size,_)}var a=_ol_transform_.apply(this.hitTransformationMatrix_,e.slice());if(a[0]<0||a[0]>_[0]||a[1]<0||a[1]>_[1]){return undefined}if(!this.hitCanvasContext_){this.hitCanvasContext_=_ol_dom_.createCanvasContext2D(1,1)}this.hitCanvasContext_.clearRect(0,0,1,1);this.hitCanvasContext_.drawImage(this.image_.getImage(),a[0],a[1],1,1,0,0,1,1);var s=this.hitCanvasContext_.getImageData(0,0,1,1).data;if(s[3]>0){return i.call(r,this.getLayer(),s)}else{return undefined}}};_ol_renderer_webgl_ImageLayer_.prototype.getHitTransformationMatrix_=function(e,t){var i=_ol_transform_.create();_ol_transform_.translate(i,-1,-1);_ol_transform_.scale(i,2/e[0],2/e[1]);_ol_transform_.translate(i,0,e[1]);_ol_transform_.scale(i,1,-1);var r=_ol_transform_.invert(this.projectionMatrix.slice());var n=_ol_transform_.create();_ol_transform_.translate(n,0,t[1]);_ol_transform_.scale(n,1,-1);_ol_transform_.scale(n,t[0]/2,t[1]/2);_ol_transform_.translate(n,1,1);_ol_transform_.multiply(n,r);_ol_transform_.multiply(n,i);return n};var _ol_renderer_webgl_Map_=function(e,t){_ol_renderer_Map_.call(this,e,t);this.canvas_=document.createElement("CANVAS");this.canvas_.style.width="100%";this.canvas_.style.height="100%";this.canvas_.style.display="block";this.canvas_.className=_ol_css_.CLASS_UNSELECTABLE;e.insertBefore(this.canvas_,e.childNodes[0]||null);this.clipTileCanvasWidth_=0;this.clipTileCanvasHeight_=0;this.clipTileContext_=_ol_dom_.createCanvasContext2D();this.renderedVisible_=true;this.gl_=_ol_webgl_.getContext(this.canvas_,{antialias:true,depth:true,failIfMajorPerformanceCaveat:true,preserveDrawingBuffer:false,stencil:true});this.context_=new _ol_webgl_Context_(this.canvas_,this.gl_);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.LOST,this.handleWebGLContextLost,this);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.RESTORED,this.handleWebGLContextRestored,this);this.textureCache_=new _ol_structs_LRUCache_;this.focus_=null;this.tileTextureQueue_=new _ol_structs_PriorityQueue_(function(e){var t=e[1];var i=e[2];var r=t[0]-this.focus_[0];var n=t[1]-this.focus_[1];return 65536*Math.log(i)+Math.sqrt(r*r+n*n)/i}.bind(this),(function(e){return e[0].getKey()}));this.loadNextTileTexture_=function(e,t){if(!this.tileTextureQueue_.isEmpty()){this.tileTextureQueue_.reprioritize();var i=this.tileTextureQueue_.dequeue();var r=i[0];var n=i[3];var o=i[4];this.bindTileTexture(r,n,o,_ol_webgl_.LINEAR,_ol_webgl_.LINEAR)}return false}.bind(this);this.textureCacheFrameMarkerCount_=0;this.initializeGL_()};_ol_.inherits(_ol_renderer_webgl_Map_,_ol_renderer_Map_);_ol_renderer_webgl_Map_["handles"]=function(e){return _ol_has_.WEBGL&&e===_ol_renderer_Type_.WEBGL};_ol_renderer_webgl_Map_["create"]=function(e,t){return new _ol_renderer_webgl_Map_(e,t)};_ol_renderer_webgl_Map_.prototype.bindTileTexture=function(e,t,i,r,n){var o=this.getGL();var _=e.getKey();if(this.textureCache_.containsKey(_)){var a=this.textureCache_.get(_);o.bindTexture(_ol_webgl_.TEXTURE_2D,a.texture);if(a.magFilter!=r){o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MAG_FILTER,r);a.magFilter=r}if(a.minFilter!=n){o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MIN_FILTER,n);a.minFilter=n}}else{var s=o.createTexture();o.bindTexture(_ol_webgl_.TEXTURE_2D,s);if(i>0){var l=this.clipTileContext_.canvas;var h=this.clipTileContext_;if(this.clipTileCanvasWidth_!==t[0]||this.clipTileCanvasHeight_!==t[1]){l.width=t[0];l.height=t[1];this.clipTileCanvasWidth_=t[0];this.clipTileCanvasHeight_=t[1]}else{h.clearRect(0,0,t[0],t[1])}h.drawImage(e.getImage(),i,i,t[0],t[1],0,0,t[0],t[1]);o.texImage2D(_ol_webgl_.TEXTURE_2D,0,_ol_webgl_.RGBA,_ol_webgl_.RGBA,_ol_webgl_.UNSIGNED_BYTE,l)}else{o.texImage2D(_ol_webgl_.TEXTURE_2D,0,_ol_webgl_.RGBA,_ol_webgl_.RGBA,_ol_webgl_.UNSIGNED_BYTE,e.getImage())}o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MAG_FILTER,r);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MIN_FILTER,n);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_S,_ol_webgl_.CLAMP_TO_EDGE);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_T,_ol_webgl_.CLAMP_TO_EDGE);this.textureCache_.set(_,{texture:s,magFilter:r,minFilter:n})}};_ol_renderer_webgl_Map_.prototype.dispatchComposeEvent_=function(e,t){var i=this.getMap();if(i.hasListener(e)){var r=this.context_;var n=t.extent;var o=t.size;var _=t.viewState;var a=t.pixelRatio;var s=_.resolution;var l=_.center;var h=_.rotation;var u=new _ol_render_webgl_Immediate_(r,l,s,h,o,n,a);var c=new _ol_render_Event_(e,u,t,null,r);i.dispatchEvent(c)}};_ol_renderer_webgl_Map_.prototype.disposeInternal=function(){var e=this.getGL();if(!e.isContextLost()){this.textureCache_.forEach((function(t){if(t){e.deleteTexture(t.texture)}}))}this.context_.dispose();_ol_renderer_Map_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_Map_.prototype.expireCache_=function(e,t){var i=this.getGL();var r;while(this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK){r=this.textureCache_.peekLast();if(!r){if(+this.textureCache_.peekLastKey()==t.index){break}else{--this.textureCacheFrameMarkerCount_}}else{i.deleteTexture(r.texture)}this.textureCache_.pop()}};_ol_renderer_webgl_Map_.prototype.getContext=function(){return this.context_};_ol_renderer_webgl_Map_.prototype.getGL=function(){return this.gl_};_ol_renderer_webgl_Map_.prototype.getTileTextureQueue=function(){return this.tileTextureQueue_};_ol_renderer_webgl_Map_.prototype.getType=function(){return _ol_renderer_Type_.WEBGL};_ol_renderer_webgl_Map_.prototype.handleWebGLContextLost=function(e){e.preventDefault();this.textureCache_.clear();this.textureCacheFrameMarkerCount_=0;var t=this.getLayerRenderers();for(var i in t){var r=t[i];r.handleWebGLContextLost()}};_ol_renderer_webgl_Map_.prototype.handleWebGLContextRestored=function(){this.initializeGL_();this.getMap().render()};_ol_renderer_webgl_Map_.prototype.initializeGL_=function(){var e=this.gl_;e.activeTexture(_ol_webgl_.TEXTURE0);e.blendFuncSeparate(_ol_webgl_.SRC_ALPHA,_ol_webgl_.ONE_MINUS_SRC_ALPHA,_ol_webgl_.ONE,_ol_webgl_.ONE_MINUS_SRC_ALPHA);e.disable(_ol_webgl_.CULL_FACE);e.disable(_ol_webgl_.DEPTH_TEST);e.disable(_ol_webgl_.SCISSOR_TEST);e.disable(_ol_webgl_.STENCIL_TEST)};_ol_renderer_webgl_Map_.prototype.isTileTextureLoaded=function(e){return this.textureCache_.containsKey(e.getKey())};_ol_renderer_webgl_Map_.prototype.renderFrame=function(e){var t=this.getContext();var i=this.getGL();if(i.isContextLost()){return false}if(!e){if(this.renderedVisible_){this.canvas_.style.display="none";this.renderedVisible_=false}return false}this.focus_=e.focus;this.textureCache_.set((-e.index).toString(),null);++this.textureCacheFrameMarkerCount_;this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e);var r=[];var n=e.layerStatesArray;_ol_array_.stableSort(n,_ol_renderer_Map_.sortByZIndex);var o=e.viewState.resolution;var _,a,s,l;for(_=0,a=n.length;_<a;++_){l=n[_];if(_ol_layer_Layer_.visibleAtResolution(l,o)&&l.sourceState==_ol_source_State_.READY){s=this.getLayerRenderer(l.layer);if(s.prepareFrame(e,l,t)){r.push(l)}}}var h=e.size[0]*e.pixelRatio;var u=e.size[1]*e.pixelRatio;if(this.canvas_.width!=h||this.canvas_.height!=u){this.canvas_.width=h;this.canvas_.height=u}i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,null);i.clearColor(0,0,0,0);i.clear(_ol_webgl_.COLOR_BUFFER_BIT);i.enable(_ol_webgl_.BLEND);i.viewport(0,0,this.canvas_.width,this.canvas_.height);for(_=0,a=r.length;_<a;++_){l=r[_];s=this.getLayerRenderer(l.layer);s.composeFrame(e,l,t)}if(!this.renderedVisible_){this.canvas_.style.display="";this.renderedVisible_=true}this.calculateMatrices2D(e);if(this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK){e.postRenderFunctions.push(this.expireCache_.bind(this))}if(!this.tileTextureQueue_.isEmpty()){e.postRenderFunctions.push(this.loadNextTileTexture_);e.animate=true}this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e);this.scheduleRemoveUnusedLayerRenderers(e);this.scheduleExpireIconCache(e)};_ol_renderer_webgl_Map_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){var a;if(this.getGL().isContextLost()){return false}var s=t.viewState;var l=t.layerStatesArray;var h=l.length;var u;for(u=h-1;u>=0;--u){var c=l[u];var f=c.layer;if(_ol_layer_Layer_.visibleAtResolution(c,s.resolution)&&o.call(_,f)){var d=this.getLayerRenderer(f);a=d.forEachFeatureAtCoordinate(e,t,i,r,n);if(a){return a}}}return undefined};_ol_renderer_webgl_Map_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n){var o=false;if(this.getGL().isContextLost()){return false}var _=t.viewState;var a=t.layerStatesArray;var s=a.length;var l;for(l=s-1;l>=0;--l){var h=a[l];var u=h.layer;if(_ol_layer_Layer_.visibleAtResolution(h,_.resolution)&&r.call(n,u)){var c=this.getLayerRenderer(u);o=c.hasFeatureAtCoordinate(e,t);if(o){return true}}}return o};_ol_renderer_webgl_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){if(this.getGL().isContextLost()){return false}var _=t.viewState;var a;var s=t.layerStatesArray;var l=s.length;var h;for(h=l-1;h>=0;--h){var u=s[h];var c=u.layer;if(_ol_layer_Layer_.visibleAtResolution(u,_.resolution)&&n.call(r,c)){var f=this.getLayerRenderer(c);a=f.forEachLayerAtPixel(e,t,i,r);if(a){return a}}}return undefined};var _ol_renderer_webgl_tilelayershader_={};_ol_renderer_webgl_tilelayershader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform sampler2D u_texture;\n\nvoid main(void) {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n}\n":"precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragColor=texture2D(e,a);}");_ol_renderer_webgl_tilelayershader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nuniform vec4 u_tileOffset;\n\nvoid main(void) {\n gl_Position = vec4(a_position * u_tileOffset.xy + u_tileOffset.zw, 0., 1.);\n v_texCoord = a_texCoord;\n}\n\n\n":"varying vec2 a;attribute vec2 b;attribute vec2 c;uniform vec4 d;void main(void){gl_Position=vec4(b*d.xy+d.zw,0.,1.);a=c;}");var _ol_renderer_webgl_tilelayershader_Locations_=function(e,t){this.u_tileOffset=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_tileOffset":"d");this.u_texture=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texture":"e");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"b");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"c")};var _ol_renderer_webgl_TileLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.fragmentShader_=_ol_renderer_webgl_tilelayershader_.fragment;this.vertexShader_=_ol_renderer_webgl_tilelayershader_.vertex;this.locations_=null;this.renderArrayBuffer_=new _ol_webgl_Buffer_([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]);this.renderedTileRange_=null;this.renderedFramebufferExtent_=null;this.renderedRevision_=-1;this.tmpSize_=[0,0]};_ol_.inherits(_ol_renderer_webgl_TileLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_TileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.TILE};_ol_renderer_webgl_TileLayer_["create"]=function(e,t){return new _ol_renderer_webgl_TileLayer_(e,t)};_ol_renderer_webgl_TileLayer_.prototype.disposeInternal=function(){var e=this.mapRenderer.getContext();e.deleteBuffer(this.renderArrayBuffer_);_ol_renderer_webgl_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_TileLayer_.prototype.createLoadedTileFinder=function(e,t,i){var r=this.mapRenderer;return function(n,o){function _(e){var t=r.isTileTextureLoaded(e);if(t){if(!i[n]){i[n]={}}i[n][e.tileCoord.toString()]=e}return t}return e.forEachLoadedTile(t,n,o,_)}};_ol_renderer_webgl_TileLayer_.prototype.handleWebGLContextLost=function(){_ol_renderer_webgl_Layer_.prototype.handleWebGLContextLost.call(this);this.locations_=null};_ol_renderer_webgl_TileLayer_.prototype.prepareFrame=function(e,t,i){var r=this.mapRenderer;var n=i.getGL();var o=e.viewState;var _=o.projection;var a=this.getLayer();var s=a.getSource();var l=s.getTileGridForProjection(_);var h=l.getZForResolution(o.resolution);var u=l.getResolution(h);var c=s.getTilePixelSize(h,e.pixelRatio,_);var f=c[0]/_ol_size_.toSize(l.getTileSize(h),this.tmpSize_)[0];var d=u/f;var p=s.getTilePixelRatio(f)*s.getGutter(_);var v=o.center;var g=e.extent;var y=l.getTileRangeForExtentAndZ(g,h);var m;if(this.renderedTileRange_&&this.renderedTileRange_.equals(y)&&this.renderedRevision_==s.getRevision()){m=this.renderedFramebufferExtent_}else{var E=y.getSize();var x=Math.max(E[0]*c[0],E[1]*c[1]);var T=_ol_math_.roundUpToPowerOfTwo(x);var R=d*T;var S=l.getOrigin(h);var C=S[0]+y.minX*c[0]*d;var I=S[1]+y.minY*c[1]*d;m=[C,I,C+R,I+R];this.bindFramebuffer(e,T);n.viewport(0,0,T,T);n.clearColor(0,0,0,0);n.clear(_ol_webgl_.COLOR_BUFFER_BIT);n.disable(_ol_webgl_.BLEND);var M=i.getProgram(this.fragmentShader_,this.vertexShader_);i.useProgram(M);if(!this.locations_){this.locations_=new _ol_renderer_webgl_tilelayershader_Locations_(n,M)}i.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.renderArrayBuffer_);n.enableVertexAttribArray(this.locations_.a_position);n.vertexAttribPointer(this.locations_.a_position,2,_ol_webgl_.FLOAT,false,16,0);n.enableVertexAttribArray(this.locations_.a_texCoord);n.vertexAttribPointer(this.locations_.a_texCoord,2,_ol_webgl_.FLOAT,false,16,8);n.uniform1i(this.locations_.u_texture,0);var w={};w[h]={};var b=this.createLoadedTileFinder(s,_,w);var L=a.getUseInterimTilesOnError();var P=true;var A=_ol_extent_.createEmpty();var O=new _ol_TileRange_(0,0,0,0);var F,D,N,G,k;var U,j,B;for(U=y.minX;U<=y.maxX;++U){for(j=y.minY;j<=y.maxY;++j){G=s.getTile(h,U,j,f,_);if(t.extent!==undefined){B=l.getTileCoordExtent(G.tileCoord,A);if(!_ol_extent_.intersects(B,t.extent)){continue}}k=G.getState();D=k==_ol_TileState_.LOADED||k==_ol_TileState_.EMPTY||k==_ol_TileState_.ERROR&&!L;if(!D){G=G.getInterimTile()}k=G.getState();if(k==_ol_TileState_.LOADED){if(r.isTileTextureLoaded(G)){w[h][G.tileCoord.toString()]=G;continue}}else if(k==_ol_TileState_.EMPTY||k==_ol_TileState_.ERROR&&!L){continue}P=false;N=l.forEachTileCoordParentTileRange(G.tileCoord,b,null,O,A);if(!N){F=l.getTileCoordChildTileRange(G.tileCoord,O,A);if(F){b(h+1,F)}}}}var z=Object.keys(w).map(Number);z.sort(_ol_array_.numberSafeCompareFunction);var V=new Float32Array(4);var W,H,X,Y;for(W=0,H=z.length;W<H;++W){Y=w[z[W]];for(X in Y){G=Y[X];B=l.getTileCoordExtent(G.tileCoord,A);V[0]=2*(B[2]-B[0])/R;V[1]=2*(B[3]-B[1])/R;V[2]=2*(B[0]-m[0])/R-1;V[3]=2*(B[1]-m[1])/R-1;n.uniform4fv(this.locations_.u_tileOffset,V);r.bindTileTexture(G,c,p*f,_ol_webgl_.LINEAR,_ol_webgl_.LINEAR);n.drawArrays(_ol_webgl_.TRIANGLE_STRIP,0,4)}}if(P){this.renderedTileRange_=y;this.renderedFramebufferExtent_=m;this.renderedRevision_=s.getRevision()}else{this.renderedTileRange_=null;this.renderedFramebufferExtent_=null;this.renderedRevision_=-1;e.animate=true}}this.updateUsedTiles(e.usedTiles,s,h,y);var K=r.getTileTextureQueue();this.manageTilePyramid(e,s,l,f,_,g,h,a.getPreload(),(function(e){if(e.getState()==_ol_TileState_.LOADED&&!r.isTileTextureLoaded(e)&&!K.isKeyQueued(e.getKey())){K.enqueue([e,l.getTileCoordCenter(e.tileCoord),l.getResolution(e.tileCoord[0]),c,p*f])}}),this);this.scheduleExpireCache(e,s);this.updateLogos(e,s);var q=this.texCoordMatrix;_ol_transform_.reset(q);_ol_transform_.translate(q,(Math.round(v[0]/u)*u-m[0])/(m[2]-m[0]),(Math.round(v[1]/u)*u-m[1])/(m[3]-m[1]));if(o.rotation!==0){_ol_transform_.rotate(q,o.rotation)}_ol_transform_.scale(q,e.size[0]*o.resolution/(m[2]-m[0]),e.size[1]*o.resolution/(m[3]-m[1]));_ol_transform_.translate(q,-.5,-.5);return true};_ol_renderer_webgl_TileLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){if(!this.framebuffer){return undefined}var n=[e[0]/t.size[0],(t.size[1]-e[1])/t.size[1]];var o=_ol_transform_.apply(this.texCoordMatrix,n.slice());var _=[o[0]*this.framebufferDimension,o[1]*this.framebufferDimension];var a=this.mapRenderer.getContext().getGL();a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer);var s=new Uint8Array(4);a.readPixels(_[0],_[1],1,1,a.RGBA,a.UNSIGNED_BYTE,s);if(s[3]>0){return i.call(r,this.getLayer(),s)}else{return undefined}};var _ol_renderer_webgl_VectorLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.dirty_=false;this.renderedRevision_=-1;this.renderedResolution_=NaN;this.renderedExtent_=_ol_extent_.createEmpty();this.renderedRenderOrder_=null;this.replayGroup_=null;this.layerState_=null};_ol_.inherits(_ol_renderer_webgl_VectorLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_VectorLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.VECTOR};_ol_renderer_webgl_VectorLayer_["create"]=function(e,t){return new _ol_renderer_webgl_VectorLayer_(e,t)};_ol_renderer_webgl_VectorLayer_.prototype.composeFrame=function(e,t,i){this.layerState_=t;var r=e.viewState;var n=this.replayGroup_;var o=e.size;var _=e.pixelRatio;var a=this.mapRenderer.getGL();if(n&&!n.isEmpty()){a.enable(a.SCISSOR_TEST);a.scissor(0,0,o[0]*_,o[1]*_);n.replay(i,r.center,r.resolution,r.rotation,o,_,t.opacity,t.managed?e.skippedFeatureUids:{});a.disable(a.SCISSOR_TEST)}};_ol_renderer_webgl_VectorLayer_.prototype.disposeInternal=function(){var e=this.replayGroup_;if(e){var t=this.mapRenderer.getContext();e.getDeleteResourcesFunction(t)();this.replayGroup_=null}_ol_renderer_webgl_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_VectorLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(!this.replayGroup_||!this.layerState_){return undefined}else{var o=this.mapRenderer.getContext();var _=t.viewState;var a=this.getLayer();var s=this.layerState_;var l={};return this.replayGroup_.forEachFeatureAtCoordinate(e,o,_.center,_.resolution,_.rotation,t.size,t.pixelRatio,s.opacity,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in l)){l[t]=true;return r.call(n,e,a)}}))}};_ol_renderer_webgl_VectorLayer_.prototype.hasFeatureAtCoordinate=function(e,t){if(!this.replayGroup_||!this.layerState_){return false}else{var i=this.mapRenderer.getContext();var r=t.viewState;var n=this.layerState_;return this.replayGroup_.hasFeatureAtCoordinate(e,i,r.center,r.resolution,r.rotation,t.size,t.pixelRatio,n.opacity,t.skippedFeatureUids)}};_ol_renderer_webgl_VectorLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){var n=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var o=this.hasFeatureAtCoordinate(n,t);if(o){return i.call(r,this.getLayer(),null)}else{return undefined}};_ol_renderer_webgl_VectorLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_webgl_VectorLayer_.prototype.prepareFrame=function(e,t,i){var r=this.getLayer();var n=r.getSource();this.updateLogos(e,n);var o=e.viewHints[_ol_ViewHint_.ANIMATING];var _=e.viewHints[_ol_ViewHint_.INTERACTING];var a=r.getUpdateWhileAnimating();var s=r.getUpdateWhileInteracting();if(!this.dirty_&&(!a&&o)||!s&&_){return true}var l=e.extent;var h=e.viewState;var u=h.projection;var c=h.resolution;var f=e.pixelRatio;var d=r.getRevision();var p=r.getRenderBuffer();var v=r.getRenderOrder();if(v===undefined){v=_ol_renderer_vector_.defaultOrder}var g=_ol_extent_.buffer(l,p*c);if(!this.dirty_&&this.renderedResolution_==c&&this.renderedRevision_==d&&this.renderedRenderOrder_==v&&_ol_extent_.containsExtent(this.renderedExtent_,g)){return true}if(this.replayGroup_){e.postRenderFunctions.push(this.replayGroup_.getDeleteResourcesFunction(i))}this.dirty_=false;var y=new _ol_render_webgl_ReplayGroup_(_ol_renderer_vector_.getTolerance(c,f),g,r.getRenderBuffer());n.loadFeatures(g,c,u);var m=function(e){var t;var i=e.getStyleFunction();if(i){t=i.call(e,c)}else{i=r.getStyleFunction();if(i){t=i(e,c)}}if(t){var n=this.renderFeature(e,c,f,t,y);this.dirty_=this.dirty_||n}};if(v){var E=[];n.forEachFeatureInExtent(g,(function(e){E.push(e)}),this);E.sort(v);E.forEach(m,this)}else{n.forEachFeatureInExtent(g,m,this)}y.finish(i);this.renderedResolution_=c;this.renderedRevision_=d;this.renderedRenderOrder_=v;this.renderedExtent_=g;this.replayGroup_=y;return true};_ol_renderer_webgl_VectorLayer_.prototype.renderFeature=function(e,t,i,r,n){if(!r){return false}var o=false;if(Array.isArray(r)){for(var _=r.length-1,a=0;_>=a;--_){o=_ol_renderer_vector_.renderFeature(n,e,r[_],_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}}else{o=_ol_renderer_vector_.renderFeature(n,e,r,_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}return o};if(_ol_.ENABLE_CANVAS){_ol_plugins_.register(_ol_PluginType_.MAP_RENDERER,_ol_renderer_canvas_Map_);_ol_plugins_.registerMultiple(_ol_PluginType_.LAYER_RENDERER,[_ol_renderer_canvas_ImageLayer_,_ol_renderer_canvas_TileLayer_,_ol_renderer_canvas_VectorLayer_,_ol_renderer_canvas_VectorTileLayer_])}if(_ol_.ENABLE_WEBGL){_ol_plugins_.register(_ol_PluginType_.MAP_RENDERER,_ol_renderer_webgl_Map_);_ol_plugins_.registerMultiple(_ol_PluginType_.LAYER_RENDERER,[_ol_renderer_webgl_ImageLayer_,_ol_renderer_webgl_TileLayer_,_ol_renderer_webgl_VectorLayer_])}var _ol_Map_=function(e){e=_ol_obj_.assign({},e);if(!e.controls){e.controls=_ol_control_.defaults()}if(!e.interactions){e.interactions=_ol_interaction_.defaults()}_ol_PluggableMap_.call(this,e)};_ol_.inherits(_ol_Map_,_ol_PluggableMap_);var _ol_style_Image_=function(e){this.opacity_=e.opacity;this.rotateWithView_=e.rotateWithView;this.rotation_=e.rotation;this.scale_=e.scale;this.snapToPixel_=e.snapToPixel};_ol_style_Image_.prototype.getOpacity=function(){return this.opacity_};_ol_style_Image_.prototype.getRotateWithView=function(){return this.rotateWithView_};_ol_style_Image_.prototype.getRotation=function(){return this.rotation_};_ol_style_Image_.prototype.getScale=function(){return this.scale_};_ol_style_Image_.prototype.getSnapToPixel=function(){return this.snapToPixel_};_ol_style_Image_.prototype.getAnchor=function(){};_ol_style_Image_.prototype.getImage=function(e){};_ol_style_Image_.prototype.getHitDetectionImage=function(e){};_ol_style_Image_.prototype.getImageState=function(){};_ol_style_Image_.prototype.getImageSize=function(){};_ol_style_Image_.prototype.getHitDetectionImageSize=function(){};_ol_style_Image_.prototype.getOrigin=function(){};_ol_style_Image_.prototype.getSize=function(){};_ol_style_Image_.prototype.setOpacity=function(e){this.opacity_=e};_ol_style_Image_.prototype.setRotateWithView=function(e){this.rotateWithView_=e};_ol_style_Image_.prototype.setRotation=function(e){this.rotation_=e};_ol_style_Image_.prototype.setScale=function(e){this.scale_=e};_ol_style_Image_.prototype.setSnapToPixel=function(e){this.snapToPixel_=e};_ol_style_Image_.prototype.listenImageChange=function(e,t){};_ol_style_Image_.prototype.load=function(){};_ol_style_Image_.prototype.unlistenImageChange=function(e,t){};var _ol_style_RegularShape_=function(e){this.checksums_=null;this.canvas_=null;this.hitDetectionCanvas_=null;this.fill_=e.fill!==undefined?e.fill:null;this.origin_=[0,0];this.points_=e.points;this.radius_=e.radius!==undefined?e.radius:e.radius1;this.radius2_=e.radius2;this.angle_=e.angle!==undefined?e.angle:0;this.stroke_=e.stroke!==undefined?e.stroke:null;this.anchor_=null;this.size_=null;this.imageSize_=null;this.hitDetectionImageSize_=null;this.atlasManager_=e.atlasManager;this.render_(this.atlasManager_);var t=e.snapToPixel!==undefined?e.snapToPixel:true;var i=e.rotateWithView!==undefined?e.rotateWithView:false;_ol_style_Image_.call(this,{opacity:1,rotateWithView:i,rotation:e.rotation!==undefined?e.rotation:0,scale:1,snapToPixel:t})};_ol_.inherits(_ol_style_RegularShape_,_ol_style_Image_);_ol_style_RegularShape_.prototype.clone=function(){var e=new _ol_style_RegularShape_({fill:this.getFill()?this.getFill().clone():undefined,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),snapToPixel:this.getSnapToPixel(),stroke:this.getStroke()?this.getStroke().clone():undefined,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),atlasManager:this.atlasManager_});e.setOpacity(this.getOpacity());e.setScale(this.getScale());return e};_ol_style_RegularShape_.prototype.getAnchor=function(){return this.anchor_};_ol_style_RegularShape_.prototype.getAngle=function(){return this.angle_};_ol_style_RegularShape_.prototype.getFill=function(){return this.fill_};_ol_style_RegularShape_.prototype.getHitDetectionImage=function(e){return this.hitDetectionCanvas_};_ol_style_RegularShape_.prototype.getImage=function(e){return this.canvas_};_ol_style_RegularShape_.prototype.getImageSize=function(){return this.imageSize_};_ol_style_RegularShape_.prototype.getHitDetectionImageSize=function(){return this.hitDetectionImageSize_};_ol_style_RegularShape_.prototype.getImageState=function(){return _ol_ImageState_.LOADED};_ol_style_RegularShape_.prototype.getOrigin=function(){return this.origin_};_ol_style_RegularShape_.prototype.getPoints=function(){return this.points_};_ol_style_RegularShape_.prototype.getRadius=function(){return this.radius_};_ol_style_RegularShape_.prototype.getRadius2=function(){return this.radius2_};_ol_style_RegularShape_.prototype.getSize=function(){return this.size_};_ol_style_RegularShape_.prototype.getStroke=function(){return this.stroke_};_ol_style_RegularShape_.prototype.listenImageChange=function(e,t){};_ol_style_RegularShape_.prototype.load=function(){};_ol_style_RegularShape_.prototype.unlistenImageChange=function(e,t){};_ol_style_RegularShape_.prototype.render_=function(e){var t;var i="";var r="";var n=0;var o=null;var _=0;var a;var s=0;if(this.stroke_){a=this.stroke_.getColor();if(a===null){a=_ol_render_canvas_.defaultStrokeStyle}a=_ol_colorlike_.asColorLike(a);s=this.stroke_.getWidth();if(s===undefined){s=_ol_render_canvas_.defaultLineWidth}o=this.stroke_.getLineDash();_=this.stroke_.getLineDashOffset();if(!_ol_has_.CANVAS_LINE_DASH){o=null;_=0}r=this.stroke_.getLineJoin();if(r===undefined){r=_ol_render_canvas_.defaultLineJoin}i=this.stroke_.getLineCap();if(i===undefined){i=_ol_render_canvas_.defaultLineCap}n=this.stroke_.getMiterLimit();if(n===undefined){n=_ol_render_canvas_.defaultMiterLimit}}var l=2*(this.radius_+s)+1;var h={strokeStyle:a,strokeWidth:s,size:l,lineCap:i,lineDash:o,lineDashOffset:_,lineJoin:r,miterLimit:n};if(e===undefined){var u=_ol_dom_.createCanvasContext2D(l,l);this.canvas_=u.canvas;l=this.canvas_.width;t=l;this.draw_(h,u,0,0);this.createHitDetectionCanvas_(h)}else{l=Math.round(l);var c=!this.fill_;var f;if(c){f=this.drawHitDetectionCanvas_.bind(this,h)}var d=this.getChecksum();var p=e.add(d,l,l,this.draw_.bind(this,h),f);this.canvas_=p.image;this.origin_=[p.offsetX,p.offsetY];t=p.image.width;if(c){this.hitDetectionCanvas_=p.hitImage;this.hitDetectionImageSize_=[p.hitImage.width,p.hitImage.height]}else{this.hitDetectionCanvas_=this.canvas_;this.hitDetectionImageSize_=[t,t]}}this.anchor_=[l/2,l/2];this.size_=[l,l];this.imageSize_=[t,t]};_ol_style_RegularShape_.prototype.draw_=function(e,t,i,r){var n,o,_;t.setTransform(1,0,0,1,0,0);t.translate(i,r);t.beginPath();var a=this.points_;if(a===Infinity){t.arc(e.size/2,e.size/2,this.radius_,0,2*Math.PI,true)}else{var s=this.radius2_!==undefined?this.radius2_:this.radius_;if(s!==this.radius_){a=2*a}for(n=0;n<=a;n++){o=n*2*Math.PI/a-Math.PI/2+this.angle_;_=n%2===0?this.radius_:s;t.lineTo(e.size/2+_*Math.cos(o),e.size/2+_*Math.sin(o))}}if(this.fill_){var l=this.fill_.getColor();if(l===null){l=_ol_render_canvas_.defaultFillStyle}t.fillStyle=_ol_colorlike_.asColorLike(l);t.fill()}if(this.stroke_){t.strokeStyle=e.strokeStyle;t.lineWidth=e.strokeWidth;if(e.lineDash){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.lineCap=e.lineCap;t.lineJoin=e.lineJoin;t.miterLimit=e.miterLimit;t.stroke()}t.closePath()};_ol_style_RegularShape_.prototype.createHitDetectionCanvas_=function(e){this.hitDetectionImageSize_=[e.size,e.size];if(this.fill_){this.hitDetectionCanvas_=this.canvas_;return}var t=_ol_dom_.createCanvasContext2D(e.size,e.size);this.hitDetectionCanvas_=t.canvas;this.drawHitDetectionCanvas_(e,t,0,0)};_ol_style_RegularShape_.prototype.drawHitDetectionCanvas_=function(e,t,i,r){t.setTransform(1,0,0,1,0,0);t.translate(i,r);t.beginPath();var n=this.points_;if(n===Infinity){t.arc(e.size/2,e.size/2,this.radius_,0,2*Math.PI,true)}else{var o=this.radius2_!==undefined?this.radius2_:this.radius_;if(o!==this.radius_){n=2*n}var _,a,s;for(_=0;_<=n;_++){s=_*2*Math.PI/n-Math.PI/2+this.angle_;a=_%2===0?this.radius_:o;t.lineTo(e.size/2+a*Math.cos(s),e.size/2+a*Math.sin(s))}}t.fillStyle=_ol_render_canvas_.defaultFillStyle;t.fill();if(this.stroke_){t.strokeStyle=e.strokeStyle;t.lineWidth=e.strokeWidth;if(e.lineDash){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.stroke()}t.closePath()};_ol_style_RegularShape_.prototype.getChecksum=function(){var e=this.stroke_?this.stroke_.getChecksum():"-";var t=this.fill_?this.fill_.getChecksum():"-";var i=!this.checksums_||(e!=this.checksums_[1]||t!=this.checksums_[2]||this.radius_!=this.checksums_[3]||this.radius2_!=this.checksums_[4]||this.angle_!=this.checksums_[5]||this.points_!=this.checksums_[6]);if(i){var r="r"+e+t+(this.radius_!==undefined?this.radius_.toString():"-")+(this.radius2_!==undefined?this.radius2_.toString():"-")+(this.angle_!==undefined?this.angle_.toString():"-")+(this.points_!==undefined?this.points_.toString():"-");this.checksums_=[r,e,t,this.radius_,this.radius2_,this.angle_,this.points_]}return this.checksums_[0]};var _ol_style_Circle_=function(e){var t=e||{};_ol_style_RegularShape_.call(this,{points:Infinity,fill:t.fill,radius:t.radius,snapToPixel:t.snapToPixel,stroke:t.stroke,atlasManager:t.atlasManager})};_ol_.inherits(_ol_style_Circle_,_ol_style_RegularShape_);_ol_style_Circle_.prototype.clone=function(){var e=new _ol_style_Circle_({fill:this.getFill()?this.getFill().clone():undefined,stroke:this.getStroke()?this.getStroke().clone():undefined,radius:this.getRadius(),snapToPixel:this.getSnapToPixel(),atlasManager:this.atlasManager_});e.setOpacity(this.getOpacity());e.setScale(this.getScale());return e};_ol_style_Circle_.prototype.setRadius=function(e){this.radius_=e;this.render_(this.atlasManager_)};var _ol_style_Fill_=function(e){var t=e||{};this.color_=t.color!==undefined?t.color:null;this.checksum_=undefined};_ol_style_Fill_.prototype.clone=function(){var e=this.getColor();return new _ol_style_Fill_({color:e&&e.slice?e.slice():e||undefined})};_ol_style_Fill_.prototype.getColor=function(){return this.color_};_ol_style_Fill_.prototype.setColor=function(e){this.color_=e;this.checksum_=undefined};_ol_style_Fill_.prototype.getChecksum=function(){if(this.checksum_===undefined){if(this.color_ instanceof CanvasPattern||this.color_ instanceof CanvasGradient){this.checksum_=_ol_.getUid(this.color_).toString()}else{this.checksum_="f"+(this.color_?_ol_color_.asString(this.color_):"-")}}return this.checksum_};var _ol_style_Style_=function(e){var t=e||{};this.geometry_=null;this.geometryFunction_=_ol_style_Style_.defaultGeometryFunction;if(t.geometry!==undefined){this.setGeometry(t.geometry)}this.fill_=t.fill!==undefined?t.fill:null;this.image_=t.image!==undefined?t.image:null;this.renderer_=t.renderer!==undefined?t.renderer:null;this.stroke_=t.stroke!==undefined?t.stroke:null;this.text_=t.text!==undefined?t.text:null;this.zIndex_=t.zIndex};_ol_style_Style_.prototype.clone=function(){var e=this.getGeometry();if(e&&e.clone){e=e.clone()}return new _ol_style_Style_({geometry:e,fill:this.getFill()?this.getFill().clone():undefined,image:this.getImage()?this.getImage().clone():undefined,stroke:this.getStroke()?this.getStroke().clone():undefined,text:this.getText()?this.getText().clone():undefined,zIndex:this.getZIndex()})};_ol_style_Style_.prototype.getRenderer=function(){return this.renderer_};_ol_style_Style_.prototype.setRenderer=function(e){this.renderer_=e};_ol_style_Style_.prototype.getGeometry=function(){return this.geometry_};_ol_style_Style_.prototype.getGeometryFunction=function(){return this.geometryFunction_};_ol_style_Style_.prototype.getFill=function(){return this.fill_};_ol_style_Style_.prototype.setFill=function(e){this.fill_=e};_ol_style_Style_.prototype.getImage=function(){return this.image_};_ol_style_Style_.prototype.setImage=function(e){this.image_=e};_ol_style_Style_.prototype.getStroke=function(){return this.stroke_};_ol_style_Style_.prototype.setStroke=function(e){this.stroke_=e};_ol_style_Style_.prototype.getText=function(){return this.text_};_ol_style_Style_.prototype.setText=function(e){this.text_=e};_ol_style_Style_.prototype.getZIndex=function(){return this.zIndex_};_ol_style_Style_.prototype.setGeometry=function(e){if(typeof e==="function"){this.geometryFunction_=e}else if(typeof e==="string"){this.geometryFunction_=function(t){return t.get(e)}}else if(!e){this.geometryFunction_=_ol_style_Style_.defaultGeometryFunction}else if(e!==undefined){this.geometryFunction_=function(){return e}}this.geometry_=e};_ol_style_Style_.prototype.setZIndex=function(e){this.zIndex_=e};_ol_style_Style_.createFunction=function(e){var t;if(typeof e==="function"){t=e}else{var i;if(Array.isArray(e)){i=e}else{_ol_asserts_.assert(e instanceof _ol_style_Style_,41);i=[e]}t=function(){return i}}return t};_ol_style_Style_.default_=null;_ol_style_Style_.defaultFunction=function(e,t){if(!_ol_style_Style_.default_){var i=new _ol_style_Fill_({color:"rgba(255,255,255,0.4)"});var r=new _ol_style_Stroke_({color:"#3399CC",width:1.25});_ol_style_Style_.default_=[new _ol_style_Style_({image:new _ol_style_Circle_({fill:i,stroke:r,radius:5}),fill:i,stroke:r})]}return _ol_style_Style_.default_};_ol_style_Style_.createDefaultEditing=function(){var e={};var t=[255,255,255,1];var i=[0,153,255,1];var r=3;e[_ol_geom_GeometryType_.POLYGON]=[new _ol_style_Style_({fill:new _ol_style_Fill_({color:[255,255,255,.5]})})];e[_ol_geom_GeometryType_.MULTI_POLYGON]=e[_ol_geom_GeometryType_.POLYGON];e[_ol_geom_GeometryType_.LINE_STRING]=[new _ol_style_Style_({stroke:new _ol_style_Stroke_({color:t,width:r+2})}),new _ol_style_Style_({stroke:new _ol_style_Stroke_({color:i,width:r})})];e[_ol_geom_GeometryType_.MULTI_LINE_STRING]=e[_ol_geom_GeometryType_.LINE_STRING];e[_ol_geom_GeometryType_.CIRCLE]=e[_ol_geom_GeometryType_.POLYGON].concat(e[_ol_geom_GeometryType_.LINE_STRING]);e[_ol_geom_GeometryType_.POINT]=[new _ol_style_Style_({image:new _ol_style_Circle_({radius:r*2,fill:new _ol_style_Fill_({color:i}),stroke:new _ol_style_Stroke_({color:t,width:r/2})}),zIndex:Infinity})];e[_ol_geom_GeometryType_.MULTI_POINT]=e[_ol_geom_GeometryType_.POINT];e[_ol_geom_GeometryType_.GEOMETRY_COLLECTION]=e[_ol_geom_GeometryType_.POLYGON].concat(e[_ol_geom_GeometryType_.LINE_STRING],e[_ol_geom_GeometryType_.POINT]);return e};_ol_style_Style_.defaultGeometryFunction=function(e){return e.getGeometry()};var _ol_Feature_=function(e){_ol_Object_.call(this);this.id_=undefined;this.geometryName_="geometry";this.style_=null;this.styleFunction_=undefined;this.geometryChangeKey_=null;_ol_events_.listen(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);if(e!==undefined){if(e instanceof _ol_geom_Geometry_||!e){var t=e;this.setGeometry(t)}else{var i=e;this.setProperties(i)}}};_ol_.inherits(_ol_Feature_,_ol_Object_);_ol_Feature_.prototype.clone=function(){var e=new _ol_Feature_(this.getProperties());e.setGeometryName(this.getGeometryName());var t=this.getGeometry();if(t){e.setGeometry(t.clone())}var i=this.getStyle();if(i){e.setStyle(i)}return e};_ol_Feature_.prototype.getGeometry=function(){return this.get(this.geometryName_)};_ol_Feature_.prototype.getId=function(){return this.id_};_ol_Feature_.prototype.getGeometryName=function(){return this.geometryName_};_ol_Feature_.prototype.getStyle=function(){return this.style_};_ol_Feature_.prototype.getStyleFunction=function(){return this.styleFunction_};_ol_Feature_.prototype.handleGeometryChange_=function(){this.changed()};_ol_Feature_.prototype.handleGeometryChanged_=function(){if(this.geometryChangeKey_){_ol_events_.unlistenByKey(this.geometryChangeKey_);this.geometryChangeKey_=null}var e=this.getGeometry();if(e){this.geometryChangeKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleGeometryChange_,this)}this.changed()};_ol_Feature_.prototype.setGeometry=function(e){this.set(this.geometryName_,e)};_ol_Feature_.prototype.setStyle=function(e){this.style_=e;this.styleFunction_=!e?undefined:_ol_Feature_.createStyleFunction(e);this.changed()};_ol_Feature_.prototype.setId=function(e){this.id_=e;this.changed()};_ol_Feature_.prototype.setGeometryName=function(e){_ol_events_.unlisten(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);this.geometryName_=e;_ol_events_.listen(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);this.handleGeometryChanged_()};_ol_Feature_.createStyleFunction=function(e){var t;if(typeof e==="function"){if(e.length==2){t=function(t){return e(this,t)}}else{t=e}}else{var i;if(Array.isArray(e)){i=e}else{_ol_asserts_.assert(e instanceof _ol_style_Style_,41);i=[e]}t=function(){return i}}return t};var _ol_tilecoord_={};_ol_tilecoord_.createOrUpdate=function(e,t,i,r){if(r!==undefined){r[0]=e;r[1]=t;r[2]=i;return r}else{return[e,t,i]}};_ol_tilecoord_.getKeyZXY=function(e,t,i){return e+"/"+t+"/"+i};_ol_tilecoord_.getKey=function(e){return _ol_tilecoord_.getKeyZXY(e[0],e[1],e[2])};_ol_tilecoord_.fromKey=function(e){return e.split("/").map(Number)};_ol_tilecoord_.hash=function(e){return(e[1]<<e[0])+e[2]};_ol_tilecoord_.quadKey=function(e){var t=e[0];var i=new Array(t);var r=1<<t-1;var n,o;for(n=0;n<t;++n){o=48;if(e[1]&r){o+=1}if(e[2]&r){o+=2}i[n]=String.fromCharCode(o);r>>=1}return i.join("")};_ol_tilecoord_.withinExtentAndZ=function(e,t){var i=e[0];var r=e[1];var n=e[2];if(t.getMinZoom()>i||i>t.getMaxZoom()){return false}var o=t.getExtent();var _;if(!o){_=t.getFullTileRange(i)}else{_=t.getTileRangeForExtentAndZ(o,i)}if(!_){return true}else{return _.containsXY(r,n)}};var _ol_TileUrlFunction_={};_ol_TileUrlFunction_.createFromTemplate=function(e,t){var i=/\{z\}/g;var r=/\{x\}/g;var n=/\{y\}/g;var o=/\{-y\}/g;return function(_,a,s){if(!_){return undefined}else{return e.replace(i,_[0].toString()).replace(r,_[1].toString()).replace(n,(function(){var e=-_[2]-1;return e.toString()})).replace(o,(function(){var e=_[0];var i=t.getFullTileRange(e);_ol_asserts_.assert(i,55);var r=i.getHeight()+_[2];return r.toString()}))}}};_ol_TileUrlFunction_.createFromTemplates=function(e,t){var i=e.length;var r=new Array(i);for(var n=0;n<i;++n){r[n]=_ol_TileUrlFunction_.createFromTemplate(e[n],t)}return _ol_TileUrlFunction_.createFromTileUrlFunctions(r)};_ol_TileUrlFunction_.createFromTileUrlFunctions=function(e){if(e.length===1){return e[0]}return function(t,i,r){if(!t){return undefined}else{var n=_ol_tilecoord_.hash(t);var o=_ol_math_.modulo(n,e.length);return e[o](t,i,r)}}};_ol_TileUrlFunction_.nullTileUrlFunction=function(e,t,i){return undefined};_ol_TileUrlFunction_.expandUrl=function(e){var t=[];var i=/\{([a-z])-([a-z])\}/.exec(e);if(i){var r=i[1].charCodeAt(0);var n=i[2].charCodeAt(0);var o;for(o=r;o<=n;++o){t.push(e.replace(i[0],String.fromCharCode(o)))}return t}i=i=/\{(\d+)-(\d+)\}/.exec(e);if(i){var _=parseInt(i[2],10);for(var a=parseInt(i[1],10);a<=_;a++){t.push(e.replace(i[0],a.toString()))}return t}t.push(e);return t};var _ol_Tile_=function(e,t,i){_ol_events_EventTarget_.call(this);var r=i?i:{};this.tileCoord=e;this.state=t;this.interimTile=null;this.key="";this.transition_=r.transition===undefined?250:r.transition;this.transitionStarts_={}};_ol_.inherits(_ol_Tile_,_ol_events_EventTarget_);_ol_Tile_.prototype.changed=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_Tile_.prototype.getKey=function(){return this.key+"/"+this.tileCoord};_ol_Tile_.prototype.getInterimTile=function(){if(!this.interimTile){return this}var e=this.interimTile;do{if(e.getState()==_ol_TileState_.LOADED){return e}e=e.interimTile}while(e);return this};_ol_Tile_.prototype.refreshInterimChain=function(){if(!this.interimTile){return}var e=this.interimTile;var t=this;do{if(e.getState()==_ol_TileState_.LOADED){e.interimTile=null;break}else if(e.getState()==_ol_TileState_.LOADING){t=e}else if(e.getState()==_ol_TileState_.IDLE){t.interimTile=e.interimTile}else{t=e}e=t.interimTile}while(e)};_ol_Tile_.prototype.getTileCoord=function(){return this.tileCoord};_ol_Tile_.prototype.getState=function(){return this.state};_ol_Tile_.prototype.setState=function(e){this.state=e;this.changed()};_ol_Tile_.prototype.load=function(){};_ol_Tile_.prototype.getAlpha=function(e,t){if(!this.transition_){return 1}var i=this.transitionStarts_[e];if(!i){i=t;this.transitionStarts_[e]=i}else if(i===-1){return 1}var r=t-i+1e3/60;if(r>=this.transition_){return 1}return _ol_easing_.easeIn(r/this.transition_)};_ol_Tile_.prototype.inTransition=function(e){if(!this.transition_){return false}return this.transitionStarts_[e]!==-1};_ol_Tile_.prototype.endTransition=function(e){if(this.transition_){this.transitionStarts_[e]=-1}};var _ol_ImageTile_=function(e,t,i,r,n,o){_ol_Tile_.call(this,e,t,o);this.crossOrigin_=r;this.src_=i;this.image_=new Image;if(r!==null){this.image_.crossOrigin=r}this.imageListenerKeys_=null;this.tileLoadFunction_=n};_ol_.inherits(_ol_ImageTile_,_ol_Tile_);_ol_ImageTile_.prototype.disposeInternal=function(){if(this.state==_ol_TileState_.LOADING){this.unlistenImage_();this.image_=_ol_ImageTile_.getBlankImage()}if(this.interimTile){this.interimTile.dispose()}this.state=_ol_TileState_.ABORT;this.changed();_ol_Tile_.prototype.disposeInternal.call(this)};_ol_ImageTile_.prototype.getImage=function(){return this.image_};_ol_ImageTile_.prototype.getKey=function(){return this.src_};_ol_ImageTile_.prototype.handleImageError_=function(){this.state=_ol_TileState_.ERROR;this.unlistenImage_();this.image_=_ol_ImageTile_.getBlankImage();this.changed()};_ol_ImageTile_.prototype.handleImageLoad_=function(){if(this.image_.naturalWidth&&this.image_.naturalHeight){this.state=_ol_TileState_.LOADED}else{this.state=_ol_TileState_.EMPTY}this.unlistenImage_();this.changed()};_ol_ImageTile_.prototype.load=function(){if(this.state==_ol_TileState_.ERROR){this.state=_ol_TileState_.IDLE;this.image_=new Image;if(this.crossOrigin_!==null){this.image_.crossOrigin=this.crossOrigin_}}if(this.state==_ol_TileState_.IDLE){this.state=_ol_TileState_.LOADING;this.changed();this.imageListenerKeys_=[_ol_events_.listenOnce(this.image_,_ol_events_EventType_.ERROR,this.handleImageError_,this),_ol_events_.listenOnce(this.image_,_ol_events_EventType_.LOAD,this.handleImageLoad_,this)];this.tileLoadFunction_(this,this.src_)}};_ol_ImageTile_.prototype.unlistenImage_=function(){this.imageListenerKeys_.forEach(_ol_events_.unlistenByKey);this.imageListenerKeys_=null};_ol_ImageTile_.getBlankImage=function(){var e=_ol_dom_.createCanvasContext2D(1,1);e.fillStyle="rgba(0,0,0,0)";e.fillRect(0,0,1,1);return e.canvas};var _ol_TileCache_=function(e){_ol_structs_LRUCache_.call(this,e)};_ol_.inherits(_ol_TileCache_,_ol_structs_LRUCache_);_ol_TileCache_.prototype.expireCache=function(e){var t,i;while(this.canExpireCache()){t=this.peekLast();i=t.tileCoord[0].toString();if(i in e&&e[i].contains(t.tileCoord)){break}else{this.pop().dispose()}}};_ol_TileCache_.prototype.pruneExceptNewestZ=function(){if(this.getCount()===0){return}var e=this.peekFirstKey();var t=_ol_tilecoord_.fromKey(e);var i=t[0];this.forEach((function(e){if(e.tileCoord[0]!==i){this.remove(_ol_tilecoord_.getKey(e.tileCoord));e.dispose()}}),this)};var _ol_reproj_={};_ol_reproj_.calculateSourceResolution=function(e,t,i,r){var n=_ol_proj_.transform(i,t,e);var o=_ol_proj_.getPointResolution(t,r,i);var _=t.getMetersPerUnit();if(_!==undefined){o*=_}var a=e.getMetersPerUnit();if(a!==undefined){o/=a}var s=e.getExtent();if(!s||_ol_extent_.containsCoordinate(s,n)){var l=_ol_proj_.getPointResolution(e,o,n)/o;if(isFinite(l)&&l>0){o/=l}}return o};_ol_reproj_.enlargeClipPoint_=function(e,t,i,r){var n=i-e,o=r-t;var _=Math.sqrt(n*n+o*o);return[Math.round(i+n/_),Math.round(r+o/_)]};_ol_reproj_.render=function(e,t,i,r,n,o,_,a,s,l,h){var u=_ol_dom_.createCanvasContext2D(Math.round(i*e),Math.round(i*t));if(s.length===0){return u.canvas}u.scale(i,i);var c=_ol_extent_.createEmpty();s.forEach((function(e,t,i){_ol_extent_.extend(c,e.extent)}));var f=_ol_extent_.getWidth(c);var d=_ol_extent_.getHeight(c);var p=_ol_dom_.createCanvasContext2D(Math.round(i*f/r),Math.round(i*d/r));var v=i/r;s.forEach((function(e,t,i){var r=e.extent[0]-c[0];var n=-(e.extent[3]-c[3]);var o=_ol_extent_.getWidth(e.extent);var _=_ol_extent_.getHeight(e.extent);p.drawImage(e.image,l,l,e.image.width-2*l,e.image.height-2*l,r*v,n*v,o*v,_*v)}));var g=_ol_extent_.getTopLeft(_);a.getTriangles().forEach((function(e,t,n){var _=e.source,a=e.target;var s=_[0][0],l=_[0][1],h=_[1][0],f=_[1][1],d=_[2][0],v=_[2][1];var y=(a[0][0]-g[0])/o,m=-(a[0][1]-g[1])/o;var E=(a[1][0]-g[0])/o,x=-(a[1][1]-g[1])/o;var T=(a[2][0]-g[0])/o,R=-(a[2][1]-g[1])/o;var S=s,C=l;s=0;l=0;h-=S;f-=C;d-=S;v-=C;var I=[[h,f,0,0,E-y],[d,v,0,0,T-y],[0,0,h,f,x-m],[0,0,d,v,R-m]];var M=_ol_math_.solveLinearSystem(I);if(!M){return}u.save();u.beginPath();var w=(y+E+T)/3,b=(m+x+R)/3;var L=_ol_reproj_.enlargeClipPoint_(w,b,y,m);var P=_ol_reproj_.enlargeClipPoint_(w,b,E,x);var A=_ol_reproj_.enlargeClipPoint_(w,b,T,R);u.moveTo(P[0],P[1]);u.lineTo(L[0],L[1]);u.lineTo(A[0],A[1]);u.clip();u.transform(M[0],M[2],M[1],M[3],y,m);u.translate(c[0]-S,c[3]-C);u.scale(r/i,-r/i);u.drawImage(p.canvas,0,0);u.restore()}));if(h){u.save();u.strokeStyle="black";u.lineWidth=1;a.getTriangles().forEach((function(e,t,i){var r=e.target;var n=(r[0][0]-g[0])/o,_=-(r[0][1]-g[1])/o;var a=(r[1][0]-g[0])/o,s=-(r[1][1]-g[1])/o;var l=(r[2][0]-g[0])/o,h=-(r[2][1]-g[1])/o;u.beginPath();u.moveTo(a,s);u.lineTo(n,_);u.lineTo(l,h);u.closePath();u.stroke()}));u.restore()}return u.canvas};var _ol_reproj_Triangulation_=function(e,t,i,r,n){this.sourceProj_=e;this.targetProj_=t;var o={};var _=_ol_proj_.getTransform(this.targetProj_,this.sourceProj_);this.transformInv_=function(e){var t=e[0]+"/"+e[1];if(!o[t]){o[t]=_(e)}return o[t]};this.maxSourceExtent_=r;this.errorThresholdSquared_=n*n;this.triangles_=[];this.wrapsXInSource_=false;this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!r&&!!this.sourceProj_.getExtent()&&_ol_extent_.getWidth(r)==_ol_extent_.getWidth(this.sourceProj_.getExtent());this.sourceWorldWidth_=this.sourceProj_.getExtent()?_ol_extent_.getWidth(this.sourceProj_.getExtent()):null;this.targetWorldWidth_=this.targetProj_.getExtent()?_ol_extent_.getWidth(this.targetProj_.getExtent()):null;var a=_ol_extent_.getTopLeft(i);var s=_ol_extent_.getTopRight(i);var l=_ol_extent_.getBottomRight(i);var h=_ol_extent_.getBottomLeft(i);var u=this.transformInv_(a);var c=this.transformInv_(s);var f=this.transformInv_(l);var d=this.transformInv_(h);this.addQuad_(a,s,l,h,u,c,f,d,_ol_.RASTER_REPROJECTION_MAX_SUBDIVISION);if(this.wrapsXInSource_){var p=Infinity;this.triangles_.forEach((function(e,t,i){p=Math.min(p,e.source[0][0],e.source[1][0],e.source[2][0])}));this.triangles_.forEach((function(e){if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-p>this.sourceWorldWidth_/2){var t=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];if(t[0][0]-p>this.sourceWorldWidth_/2){t[0][0]-=this.sourceWorldWidth_}if(t[1][0]-p>this.sourceWorldWidth_/2){t[1][0]-=this.sourceWorldWidth_}if(t[2][0]-p>this.sourceWorldWidth_/2){t[2][0]-=this.sourceWorldWidth_}var i=Math.min(t[0][0],t[1][0],t[2][0]);var r=Math.max(t[0][0],t[1][0],t[2][0]);if(r-i<this.sourceWorldWidth_/2){e.source=t}}}),this)}o={}};_ol_reproj_Triangulation_.prototype.addTriangle_=function(e,t,i,r,n,o){this.triangles_.push({source:[r,n,o],target:[e,t,i]})};_ol_reproj_Triangulation_.prototype.addQuad_=function(e,t,i,r,n,o,_,a,s){var l=_ol_extent_.boundingExtent([n,o,_,a]);var h=this.sourceWorldWidth_?_ol_extent_.getWidth(l)/this.sourceWorldWidth_:null;var u=this.sourceWorldWidth_;var c=this.sourceProj_.canWrapX()&&h>.5&&h<1;var f=false;if(s>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){var d=_ol_extent_.boundingExtent([e,t,i,r]);var p=_ol_extent_.getWidth(d)/this.targetWorldWidth_;f|=p>_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH}if(!c&&this.sourceProj_.isGlobal()&&h){f|=h>_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH}}if(!f&&this.maxSourceExtent_){if(!_ol_extent_.intersects(l,this.maxSourceExtent_)){return}}if(!f){if(!isFinite(n[0])||!isFinite(n[1])||!isFinite(o[0])||!isFinite(o[1])||!isFinite(_[0])||!isFinite(_[1])||!isFinite(a[0])||!isFinite(a[1])){if(s>0){f=true}else{return}}}if(s>0){if(!f){var v=[(e[0]+i[0])/2,(e[1]+i[1])/2];var g=this.transformInv_(v);var y;if(c){var m=(_ol_math_.modulo(n[0],u)+_ol_math_.modulo(_[0],u))/2;y=m-_ol_math_.modulo(g[0],u)}else{y=(n[0]+_[0])/2-g[0]}var E=(n[1]+_[1])/2-g[1];var x=y*y+E*E;f=x>this.errorThresholdSquared_}if(f){if(Math.abs(e[0]-i[0])<=Math.abs(e[1]-i[1])){var T=[(t[0]+i[0])/2,(t[1]+i[1])/2];var R=this.transformInv_(T);var S=[(r[0]+e[0])/2,(r[1]+e[1])/2];var C=this.transformInv_(S);this.addQuad_(e,t,T,S,n,o,R,C,s-1);this.addQuad_(S,T,i,r,C,R,_,a,s-1)}else{var I=[(e[0]+t[0])/2,(e[1]+t[1])/2];var M=this.transformInv_(I);var w=[(i[0]+r[0])/2,(i[1]+r[1])/2];var b=this.transformInv_(w);this.addQuad_(e,I,w,r,n,M,b,a,s-1);this.addQuad_(I,t,i,w,M,o,_,b,s-1)}return}}if(c){if(!this.canWrapXInSource_){return}this.wrapsXInSource_=true}this.addTriangle_(e,i,r,n,_,a);this.addTriangle_(e,t,i,n,o,_)};_ol_reproj_Triangulation_.prototype.calculateSourceExtent=function(){var e=_ol_extent_.createEmpty();this.triangles_.forEach((function(t,i,r){var n=t.source;_ol_extent_.extendCoordinate(e,n[0]);_ol_extent_.extendCoordinate(e,n[1]);_ol_extent_.extendCoordinate(e,n[2])}));return e};_ol_reproj_Triangulation_.prototype.getTriangles=function(){return this.triangles_};var _ol_reproj_Tile_=function(e,t,i,r,n,o,_,a,s,l,h){_ol_Tile_.call(this,n,_ol_TileState_.IDLE);this.renderEdges_=h!==undefined?h:false;this.pixelRatio_=_;this.gutter_=a;this.canvas_=null;this.sourceTileGrid_=t;this.targetTileGrid_=r;this.wrappedTileCoord_=o?o:n;this.sourceTiles_=[];this.sourcesListenerKeys_=null;this.sourceZ_=0;var u=r.getTileCoordExtent(this.wrappedTileCoord_);var c=this.targetTileGrid_.getExtent();var f=this.sourceTileGrid_.getExtent();var d=c?_ol_extent_.getIntersection(u,c):u;if(_ol_extent_.getArea(d)===0){this.state=_ol_TileState_.EMPTY;return}var p=e.getExtent();if(p){if(!f){f=p}else{f=_ol_extent_.getIntersection(f,p)}}var v=r.getResolution(this.wrappedTileCoord_[0]);var g=_ol_extent_.getCenter(d);var y=_ol_reproj_.calculateSourceResolution(e,i,g,v);if(!isFinite(y)||y<=0){this.state=_ol_TileState_.EMPTY;return}var m=l!==undefined?l:_ol_.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD;this.triangulation_=new _ol_reproj_Triangulation_(e,i,d,f,y*m);if(this.triangulation_.getTriangles().length===0){this.state=_ol_TileState_.EMPTY;return}this.sourceZ_=t.getZForResolution(y);var E=this.triangulation_.calculateSourceExtent();if(f){if(e.canWrapX()){E[1]=_ol_math_.clamp(E[1],f[1],f[3]);E[3]=_ol_math_.clamp(E[3],f[1],f[3])}else{E=_ol_extent_.getIntersection(E,f)}}if(!_ol_extent_.getArea(E)){this.state=_ol_TileState_.EMPTY}else{var x=t.getTileRangeForExtentAndZ(E,this.sourceZ_);for(var T=x.minX;T<=x.maxX;T++){for(var R=x.minY;R<=x.maxY;R++){var S=s(this.sourceZ_,T,R,_);if(S){this.sourceTiles_.push(S)}}}if(this.sourceTiles_.length===0){this.state=_ol_TileState_.EMPTY}}};_ol_.inherits(_ol_reproj_Tile_,_ol_Tile_);_ol_reproj_Tile_.prototype.disposeInternal=function(){if(this.state==_ol_TileState_.LOADING){this.unlistenSources_()}_ol_Tile_.prototype.disposeInternal.call(this)};_ol_reproj_Tile_.prototype.getImage=function(){return this.canvas_};_ol_reproj_Tile_.prototype.reproject_=function(){var e=[];this.sourceTiles_.forEach((function(t,i,r){if(t&&t.getState()==_ol_TileState_.LOADED){e.push({extent:this.sourceTileGrid_.getTileCoordExtent(t.tileCoord),image:t.getImage()})}}),this);this.sourceTiles_.length=0;if(e.length===0){this.state=_ol_TileState_.ERROR}else{var t=this.wrappedTileCoord_[0];var i=this.targetTileGrid_.getTileSize(t);var r=typeof i==="number"?i:i[0];var n=typeof i==="number"?i:i[1];var o=this.targetTileGrid_.getResolution(t);var _=this.sourceTileGrid_.getResolution(this.sourceZ_);var a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=_ol_reproj_.render(r,n,this.pixelRatio_,_,this.sourceTileGrid_.getExtent(),o,a,this.triangulation_,e,this.gutter_,this.renderEdges_);this.state=_ol_TileState_.LOADED}this.changed()};_ol_reproj_Tile_.prototype.load=function(){if(this.state==_ol_TileState_.IDLE){this.state=_ol_TileState_.LOADING;this.changed();var e=0;this.sourcesListenerKeys_=[];this.sourceTiles_.forEach((function(t,i,r){var n=t.getState();if(n==_ol_TileState_.IDLE||n==_ol_TileState_.LOADING){e++;var o;o=_ol_events_.listen(t,_ol_events_EventType_.CHANGE,(function(i){var r=t.getState();if(r==_ol_TileState_.LOADED||r==_ol_TileState_.ERROR||r==_ol_TileState_.EMPTY){_ol_events_.unlistenByKey(o);e--;if(e===0){this.unlistenSources_();this.reproject_()}}}),this);this.sourcesListenerKeys_.push(o)}}),this);this.sourceTiles_.forEach((function(e,t,i){var r=e.getState();if(r==_ol_TileState_.IDLE){e.load()}}));if(e===0){setTimeout(this.reproject_.bind(this),0)}}};_ol_reproj_Tile_.prototype.unlistenSources_=function(){this.sourcesListenerKeys_.forEach(_ol_events_.unlistenByKey);this.sourcesListenerKeys_=null};var _ol_tilegrid_TileGrid_=function(e){this.minZoom=e.minZoom!==undefined?e.minZoom:0;this.resolutions_=e.resolutions;_ol_asserts_.assert(_ol_array_.isSorted(this.resolutions_,(function(e,t){return t-e}),true),17);var t;if(!e.origins){for(var i=0,r=this.resolutions_.length-1;i<r;++i){if(!t){t=this.resolutions_[i]/this.resolutions_[i+1]}else{if(this.resolutions_[i]/this.resolutions_[i+1]!==t){t=undefined;break}}}}this.zoomFactor_=t;this.maxZoom=this.resolutions_.length-1;this.origin_=e.origin!==undefined?e.origin:null;this.origins_=null;if(e.origins!==undefined){this.origins_=e.origins;_ol_asserts_.assert(this.origins_.length==this.resolutions_.length,20)}var n=e.extent;if(n!==undefined&&!this.origin_&&!this.origins_){this.origin_=_ol_extent_.getTopLeft(n)}_ol_asserts_.assert(!this.origin_&&this.origins_||this.origin_&&!this.origins_,18);this.tileSizes_=null;if(e.tileSizes!==undefined){this.tileSizes_=e.tileSizes;_ol_asserts_.assert(this.tileSizes_.length==this.resolutions_.length,19)}this.tileSize_=e.tileSize!==undefined?e.tileSize:!this.tileSizes_?_ol_.DEFAULT_TILE_SIZE:null;_ol_asserts_.assert(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,22);this.extent_=n!==undefined?n:null;this.fullTileRanges_=null;this.tmpSize_=[0,0];if(e.sizes!==undefined){this.fullTileRanges_=e.sizes.map((function(e,t){var i=new _ol_TileRange_(Math.min(0,e[0]),Math.max(e[0]-1,-1),Math.min(0,e[1]),Math.max(e[1]-1,-1));return i}),this)}else if(n){this.calculateTileRanges_(n)}};_ol_tilegrid_TileGrid_.tmpTileCoord_=[0,0,0];_ol_tilegrid_TileGrid_.prototype.forEachTileCoord=function(e,t,i){var r=this.getTileRangeForExtentAndZ(e,t);for(var n=r.minX,o=r.maxX;n<=o;++n){for(var _=r.minY,a=r.maxY;_<=a;++_){i([t,n,_])}}};_ol_tilegrid_TileGrid_.prototype.forEachTileCoordParentTileRange=function(e,t,i,r,n){var o,_,a;var s=null;var l=e[0]-1;if(this.zoomFactor_===2){_=e[1];a=e[2]}else{s=this.getTileCoordExtent(e,n)}while(l>=this.minZoom){if(this.zoomFactor_===2){_=Math.floor(_/2);a=Math.floor(a/2);o=_ol_TileRange_.createOrUpdate(_,_,a,a,r)}else{o=this.getTileRangeForExtentAndZ(s,l,r)}if(t.call(i,l,o)){return true}--l}return false};_ol_tilegrid_TileGrid_.prototype.getExtent=function(){return this.extent_};_ol_tilegrid_TileGrid_.prototype.getMaxZoom=function(){return this.maxZoom};_ol_tilegrid_TileGrid_.prototype.getMinZoom=function(){return this.minZoom};_ol_tilegrid_TileGrid_.prototype.getOrigin=function(e){if(this.origin_){return this.origin_}else{return this.origins_[e]}};_ol_tilegrid_TileGrid_.prototype.getResolution=function(e){return this.resolutions_[e]};_ol_tilegrid_TileGrid_.prototype.getResolutions=function(){return this.resolutions_};_ol_tilegrid_TileGrid_.prototype.getTileCoordChildTileRange=function(e,t,i){if(e[0]<this.maxZoom){if(this.zoomFactor_===2){var r=e[1]*2;var n=e[2]*2;return _ol_TileRange_.createOrUpdate(r,r+1,n,n+1,t)}var o=this.getTileCoordExtent(e,i);return this.getTileRangeForExtentAndZ(o,e[0]+1,t)}return null};_ol_tilegrid_TileGrid_.prototype.getTileRangeExtent=function(e,t,i){var r=this.getOrigin(e);var n=this.getResolution(e);var o=_ol_size_.toSize(this.getTileSize(e),this.tmpSize_);var _=r[0]+t.minX*o[0]*n;var a=r[0]+(t.maxX+1)*o[0]*n;var s=r[1]+t.minY*o[1]*n;var l=r[1]+(t.maxY+1)*o[1]*n;return _ol_extent_.createOrUpdate(_,s,a,l,i)};_ol_tilegrid_TileGrid_.prototype.getTileRangeForExtentAndZ=function(e,t,i){var r=_ol_tilegrid_TileGrid_.tmpTileCoord_;this.getTileCoordForXYAndZ_(e[0],e[1],t,false,r);var n=r[1];var o=r[2];this.getTileCoordForXYAndZ_(e[2],e[3],t,true,r);return _ol_TileRange_.createOrUpdate(n,r[1],o,r[2],i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordCenter=function(e){var t=this.getOrigin(e[0]);var i=this.getResolution(e[0]);var r=_ol_size_.toSize(this.getTileSize(e[0]),this.tmpSize_);return[t[0]+(e[1]+.5)*r[0]*i,t[1]+(e[2]+.5)*r[1]*i]};_ol_tilegrid_TileGrid_.prototype.getTileCoordExtent=function(e,t){var i=this.getOrigin(e[0]);var r=this.getResolution(e[0]);var n=_ol_size_.toSize(this.getTileSize(e[0]),this.tmpSize_);var o=i[0]+e[1]*n[0]*r;var _=i[1]+e[2]*n[1]*r;var a=o+n[0]*r;var s=_+n[1]*r;return _ol_extent_.createOrUpdate(o,_,a,s,t)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForCoordAndResolution=function(e,t,i){return this.getTileCoordForXYAndResolution_(e[0],e[1],t,false,i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForXYAndResolution_=function(e,t,i,r,n){var o=this.getZForResolution(i);var _=i/this.getResolution(o);var a=this.getOrigin(o);var s=_ol_size_.toSize(this.getTileSize(o),this.tmpSize_);var l=r?.5:0;var h=r?0:.5;var u=Math.floor((e-a[0])/i+l);var c=Math.floor((t-a[1])/i+h);var f=_*u/s[0];var d=_*c/s[1];if(r){f=Math.ceil(f)-1;d=Math.ceil(d)-1}else{f=Math.floor(f);d=Math.floor(d)}return _ol_tilecoord_.createOrUpdate(o,f,d,n)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForXYAndZ_=function(e,t,i,r,n){var o=this.getOrigin(i);var _=this.getResolution(i);var a=_ol_size_.toSize(this.getTileSize(i),this.tmpSize_);var s=r?.5:0;var l=r?0:.5;var h=Math.floor((e-o[0])/_+s);var u=Math.floor((t-o[1])/_+l);var c=h/a[0];var f=u/a[1];if(r){c=Math.ceil(c)-1;f=Math.ceil(f)-1}else{c=Math.floor(c);f=Math.floor(f)}return _ol_tilecoord_.createOrUpdate(i,c,f,n)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForCoordAndZ=function(e,t,i){return this.getTileCoordForXYAndZ_(e[0],e[1],t,false,i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordResolution=function(e){return this.resolutions_[e[0]]};_ol_tilegrid_TileGrid_.prototype.getTileSize=function(e){if(this.tileSize_){return this.tileSize_}else{return this.tileSizes_[e]}};_ol_tilegrid_TileGrid_.prototype.getFullTileRange=function(e){if(!this.fullTileRanges_){return null}else{return this.fullTileRanges_[e]}};_ol_tilegrid_TileGrid_.prototype.getZForResolution=function(e,t){var i=_ol_array_.linearFindNearest(this.resolutions_,e,t||0);return _ol_math_.clamp(i,this.minZoom,this.maxZoom)};_ol_tilegrid_TileGrid_.prototype.calculateTileRanges_=function(e){var t=this.resolutions_.length;var i=new Array(t);for(var r=this.minZoom;r<t;++r){i[r]=this.getTileRangeForExtentAndZ(e,r)}this.fullTileRanges_=i};var _ol_tilegrid_={};_ol_tilegrid_.getForProjection=function(e){var t=e.getDefaultTileGrid();if(!t){t=_ol_tilegrid_.createForProjection(e);e.setDefaultTileGrid(t)}return t};_ol_tilegrid_.wrapX=function(e,t,i){var r=t[0];var n=e.getTileCoordCenter(t);var o=_ol_tilegrid_.extentFromProjection(i);if(!_ol_extent_.containsCoordinate(o,n)){var _=_ol_extent_.getWidth(o);var a=Math.ceil((o[0]-n[0])/_);n[0]+=_*a;return e.getTileCoordForCoordAndZ(n,r)}else{return t}};_ol_tilegrid_.createForExtent=function(e,t,i,r){var n=r!==undefined?r:_ol_extent_Corner_.TOP_LEFT;var o=_ol_tilegrid_.resolutionsFromExtent(e,t,i);return new _ol_tilegrid_TileGrid_({extent:e,origin:_ol_extent_.getCorner(e,n),resolutions:o,tileSize:i})};_ol_tilegrid_.createXYZ=function(e){var t={};_ol_obj_.assign(t,e!==undefined?e:{});if(t.extent===undefined){t.extent=_ol_proj_.get("EPSG:3857").getExtent()}t.resolutions=_ol_tilegrid_.resolutionsFromExtent(t.extent,t.maxZoom,t.tileSize);delete t.maxZoom;return new _ol_tilegrid_TileGrid_(t)};_ol_tilegrid_.resolutionsFromExtent=function(e,t,i){var r=t!==undefined?t:_ol_.DEFAULT_MAX_ZOOM;var n=_ol_extent_.getHeight(e);var o=_ol_extent_.getWidth(e);var _=_ol_size_.toSize(i!==undefined?i:_ol_.DEFAULT_TILE_SIZE);var a=Math.max(o/_[0],n/_[1]);var s=r+1;var l=new Array(s);for(var h=0;h<s;++h){l[h]=a/Math.pow(2,h)}return l};_ol_tilegrid_.createForProjection=function(e,t,i,r){var n=_ol_tilegrid_.extentFromProjection(e);return _ol_tilegrid_.createForExtent(n,t,i,r)};_ol_tilegrid_.extentFromProjection=function(e){e=_ol_proj_.get(e);var t=e.getExtent();if(!t){var i=180*_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]/e.getMetersPerUnit();t=_ol_extent_.createOrUpdate(-i,-i,i,i)}return t};var _ol_Attribution_=function(e){this.html_=e.html;this.tileRanges_=e.tileRanges?e.tileRanges:null};_ol_Attribution_.prototype.getHTML=function(){return this.html_};_ol_Attribution_.prototype.intersectsAnyTileRange=function(e,t,i){if(!this.tileRanges_){return true}var r,n,o,_;for(_ in e){if(!(_ in this.tileRanges_)){continue}o=e[_];var a;for(r=0,n=this.tileRanges_[_].length;r<n;++r){a=this.tileRanges_[_][r];if(a.intersects(o)){return true}var s=t.getTileRangeForExtentAndZ(_ol_tilegrid_.extentFromProjection(i),parseInt(_,10));var l=s.getWidth();if(o.minX<s.minX||o.maxX>s.maxX){if(a.intersects(new _ol_TileRange_(_ol_math_.modulo(o.minX,l),_ol_math_.modulo(o.maxX,l),o.minY,o.maxY))){return true}if(o.getWidth()>l&&a.intersects(s)){return true}}}}return false};var _ol_source_Source_=function(e){_ol_Object_.call(this);this.projection_=_ol_proj_.get(e.projection);this.attributions_=null;this.attributions2_=this.adaptAttributions_(e.attributions);this.logo_=e.logo;this.state_=e.state!==undefined?e.state:_ol_source_State_.READY;this.wrapX_=e.wrapX!==undefined?e.wrapX:false};_ol_.inherits(_ol_source_Source_,_ol_Object_);_ol_source_Source_.prototype.adaptAttributions_=function(e){if(!e){return null}if(e instanceof _ol_Attribution_){this.attributions_=[e];return function(t){return[e.getHTML()]}}if(Array.isArray(e)){if(e[0]instanceof _ol_Attribution_){this.attributions_=e;var t=e.map((function(e){return e.getHTML()}));return function(e){return t}}this.attributions_=e.map((function(e){return new _ol_Attribution_({html:e})}));return function(t){return e}}if(typeof e==="function"){return e}this.attributions_=[new _ol_Attribution_({html:e})];return function(t){return[e]}};_ol_source_Source_.prototype.forEachFeatureAtCoordinate=_ol_.nullFunction;_ol_source_Source_.prototype.getAttributions=function(){return this.attributions_};_ol_source_Source_.prototype.getAttributions2=function(){return this.attributions2_};_ol_source_Source_.prototype.getLogo=function(){return this.logo_};_ol_source_Source_.prototype.getProjection=function(){return this.projection_};_ol_source_Source_.prototype.getResolutions=function(){};_ol_source_Source_.prototype.getState=function(){return this.state_};_ol_source_Source_.prototype.getWrapX=function(){return this.wrapX_};_ol_source_Source_.prototype.refresh=function(){this.changed()};_ol_source_Source_.prototype.setAttributions=function(e){this.attributions2_=this.adaptAttributions_(e);this.changed()};_ol_source_Source_.prototype.setLogo=function(e){this.logo_=e};_ol_source_Source_.prototype.setState=function(e){this.state_=e;this.changed()};var _ol_source_Tile_=function(e){_ol_source_Source_.call(this,{attributions:e.attributions,extent:e.extent,logo:e.logo,projection:e.projection,state:e.state,wrapX:e.wrapX});this.opaque_=e.opaque!==undefined?e.opaque:false;this.tilePixelRatio_=e.tilePixelRatio!==undefined?e.tilePixelRatio:1;this.tileGrid=e.tileGrid!==undefined?e.tileGrid:null;this.tileCache=new _ol_TileCache_(e.cacheSize);this.tmpSize=[0,0];this.key_="";this.tileOptions={transition:e.transition}};_ol_.inherits(_ol_source_Tile_,_ol_source_Source_);_ol_source_Tile_.prototype.canExpireCache=function(){return this.tileCache.canExpireCache()};_ol_source_Tile_.prototype.expireCache=function(e,t){var i=this.getTileCacheForProjection(e);if(i){i.expireCache(t)}};_ol_source_Tile_.prototype.forEachLoadedTile=function(e,t,i,r){var n=this.getTileCacheForProjection(e);if(!n){return false}var o=true;var _,a,s;for(var l=i.minX;l<=i.maxX;++l){for(var h=i.minY;h<=i.maxY;++h){a=_ol_tilecoord_.getKeyZXY(t,l,h);s=false;if(n.containsKey(a)){_=n.get(a);s=_.getState()===_ol_TileState_.LOADED;if(s){s=r(_)!==false}}if(!s){o=false}}}return o};_ol_source_Tile_.prototype.getGutter=function(e){return 0};_ol_source_Tile_.prototype.getKey=function(){return this.key_};_ol_source_Tile_.prototype.setKey=function(e){if(this.key_!==e){this.key_=e;this.changed()}};_ol_source_Tile_.prototype.getOpaque=function(e){return this.opaque_};_ol_source_Tile_.prototype.getResolutions=function(){return this.tileGrid.getResolutions()};_ol_source_Tile_.prototype.getTile=function(e,t,i,r,n){};_ol_source_Tile_.prototype.getTileGrid=function(){return this.tileGrid};_ol_source_Tile_.prototype.getTileGridForProjection=function(e){if(!this.tileGrid){return _ol_tilegrid_.getForProjection(e)}else{return this.tileGrid}};_ol_source_Tile_.prototype.getTileCacheForProjection=function(e){var t=this.getProjection();if(t&&!_ol_proj_.equivalent(t,e)){return null}else{return this.tileCache}};_ol_source_Tile_.prototype.getTilePixelRatio=function(e){return this.tilePixelRatio_};_ol_source_Tile_.prototype.getTilePixelSize=function(e,t,i){var r=this.getTileGridForProjection(i);var n=this.getTilePixelRatio(t);var o=_ol_size_.toSize(r.getTileSize(e),this.tmpSize);if(n==1){return o}else{return _ol_size_.scale(o,n,this.tmpSize)}};_ol_source_Tile_.prototype.getTileCoordForTileUrlFunction=function(e,t){var i=t!==undefined?t:this.getProjection();var r=this.getTileGridForProjection(i);if(this.getWrapX()&&i.isGlobal()){e=_ol_tilegrid_.wrapX(r,e,i)}return _ol_tilecoord_.withinExtentAndZ(e,r)?e:null};_ol_source_Tile_.prototype.refresh=function(){this.tileCache.clear();this.changed()};_ol_source_Tile_.prototype.useTile=_ol_.nullFunction;_ol_source_Tile_.Event=function(e,t){_ol_events_Event_.call(this,e);this.tile=t};_ol_.inherits(_ol_source_Tile_.Event,_ol_events_Event_);var _ol_source_TileEventType_={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};var _ol_source_UrlTile_=function(e){_ol_source_Tile_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,extent:e.extent,logo:e.logo,opaque:e.opaque,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition});this.tileLoadFunction=e.tileLoadFunction;this.tileUrlFunction=this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.nullTileUrlFunction;this.urls=null;if(e.urls){this.setUrls(e.urls)}else if(e.url){this.setUrl(e.url)}if(e.tileUrlFunction){this.setTileUrlFunction(e.tileUrlFunction)}this.tileLoadingKeys_={}};_ol_.inherits(_ol_source_UrlTile_,_ol_source_Tile_);_ol_source_UrlTile_.prototype.getTileLoadFunction=function(){return this.tileLoadFunction};_ol_source_UrlTile_.prototype.getTileUrlFunction=function(){return this.tileUrlFunction};_ol_source_UrlTile_.prototype.getUrls=function(){return this.urls};_ol_source_UrlTile_.prototype.handleTileChange=function(e){var t=e.target;var i=_ol_.getUid(t);var r=t.getState();var n;if(r==_ol_TileState_.LOADING){this.tileLoadingKeys_[i]=true;n=_ol_source_TileEventType_.TILELOADSTART}else if(i in this.tileLoadingKeys_){delete this.tileLoadingKeys_[i];n=r==_ol_TileState_.ERROR?_ol_source_TileEventType_.TILELOADERROR:r==_ol_TileState_.LOADED||r==_ol_TileState_.ABORT?_ol_source_TileEventType_.TILELOADEND:undefined}if(n!=undefined){this.dispatchEvent(new _ol_source_Tile_.Event(n,t))}};_ol_source_UrlTile_.prototype.setTileLoadFunction=function(e){this.tileCache.clear();this.tileLoadFunction=e;this.changed()};_ol_source_UrlTile_.prototype.setTileUrlFunction=function(e,t){this.tileUrlFunction=e;this.tileCache.pruneExceptNewestZ();if(typeof t!=="undefined"){this.setKey(t)}else{this.changed()}};_ol_source_UrlTile_.prototype.setUrl=function(e){var t=this.urls=_ol_TileUrlFunction_.expandUrl(e);this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTemplates(t,this.tileGrid),e)};_ol_source_UrlTile_.prototype.setUrls=function(e){this.urls=e;var t=e.join("\n");this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTemplates(e,this.tileGrid),t)};_ol_source_UrlTile_.prototype.useTile=function(e,t,i){var r=_ol_tilecoord_.getKeyZXY(e,t,i);if(this.tileCache.containsKey(r)){this.tileCache.get(r)}};var _ol_source_TileImage_=function(e){_ol_source_UrlTile_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,extent:e.extent,logo:e.logo,opaque:e.opaque,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:_ol_source_TileImage_.defaultTileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX,transition:e.transition});this.crossOrigin=e.crossOrigin!==undefined?e.crossOrigin:null;this.tileClass=e.tileClass!==undefined?e.tileClass:_ol_ImageTile_;this.tileCacheForProjection={};this.tileGridForProjection={};this.reprojectionErrorThreshold_=e.reprojectionErrorThreshold;this.renderReprojectionEdges_=false};_ol_.inherits(_ol_source_TileImage_,_ol_source_UrlTile_);_ol_source_TileImage_.prototype.canExpireCache=function(){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.canExpireCache.call(this)}if(this.tileCache.canExpireCache()){return true}else{for(var e in this.tileCacheForProjection){if(this.tileCacheForProjection[e].canExpireCache()){return true}}}return false};_ol_source_TileImage_.prototype.expireCache=function(e,t){if(!_ol_.ENABLE_RASTER_REPROJECTION){_ol_source_UrlTile_.prototype.expireCache.call(this,e,t);return}var i=this.getTileCacheForProjection(e);this.tileCache.expireCache(this.tileCache==i?t:{});for(var r in this.tileCacheForProjection){var n=this.tileCacheForProjection[r];n.expireCache(n==i?t:{})}};_ol_source_TileImage_.prototype.getGutter=function(e){if(_ol_.ENABLE_RASTER_REPROJECTION&&this.getProjection()&&e&&!_ol_proj_.equivalent(this.getProjection(),e)){return 0}else{return this.getGutterInternal()}};_ol_source_TileImage_.prototype.getGutterInternal=function(){return 0};_ol_source_TileImage_.prototype.getOpaque=function(e){if(_ol_.ENABLE_RASTER_REPROJECTION&&this.getProjection()&&e&&!_ol_proj_.equivalent(this.getProjection(),e)){return false}else{return _ol_source_UrlTile_.prototype.getOpaque.call(this,e)}};_ol_source_TileImage_.prototype.getTileGridForProjection=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.getTileGridForProjection.call(this,e)}var t=this.getProjection();if(this.tileGrid&&(!t||_ol_proj_.equivalent(t,e))){return this.tileGrid}else{var i=_ol_.getUid(e).toString();if(!(i in this.tileGridForProjection)){this.tileGridForProjection[i]=_ol_tilegrid_.getForProjection(e)}return this.tileGridForProjection[i]}};_ol_source_TileImage_.prototype.getTileCacheForProjection=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.getTileCacheForProjection.call(this,e)}var t=this.getProjection();if(!t||_ol_proj_.equivalent(t,e)){return this.tileCache}else{var i=_ol_.getUid(e).toString();if(!(i in this.tileCacheForProjection)){this.tileCacheForProjection[i]=new _ol_TileCache_(this.tileCache.highWaterMark)}return this.tileCacheForProjection[i]}};_ol_source_TileImage_.prototype.createTile_=function(e,t,i,r,n,o){var _=[e,t,i];var a=this.getTileCoordForTileUrlFunction(_,n);var s=a?this.tileUrlFunction(a,r,n):undefined;var l=new this.tileClass(_,s!==undefined?_ol_TileState_.IDLE:_ol_TileState_.EMPTY,s!==undefined?s:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);l.key=o;_ol_events_.listen(l,_ol_events_EventType_.CHANGE,this.handleTileChange,this);return l};_ol_source_TileImage_.prototype.getTile=function(e,t,i,r,n){var o=this.getProjection();if(!_ol_.ENABLE_RASTER_REPROJECTION||!o||!n||_ol_proj_.equivalent(o,n)){return this.getTileInternal(e,t,i,r,o||n)}else{var _=this.getTileCacheForProjection(n);var a=[e,t,i];var s;var l=_ol_tilecoord_.getKey(a);if(_.containsKey(l)){s=_.get(l)}var h=this.getKey();if(s&&s.key==h){return s}else{var u=this.getTileGridForProjection(o);var c=this.getTileGridForProjection(n);var f=this.getTileCoordForTileUrlFunction(a,n);var d=new _ol_reproj_Tile_(o,u,n,c,a,f,this.getTilePixelRatio(r),this.getGutterInternal(),function(e,t,i,r){return this.getTileInternal(e,t,i,r,o)}.bind(this),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_);d.key=h;if(s){d.interimTile=s;d.refreshInterimChain();_.replace(l,d)}else{_.set(l,d)}return d}}};_ol_source_TileImage_.prototype.getTileInternal=function(e,t,i,r,n){var o=null;var _=_ol_tilecoord_.getKeyZXY(e,t,i);var a=this.getKey();if(!this.tileCache.containsKey(_)){o=this.createTile_(e,t,i,r,n,a);this.tileCache.set(_,o)}else{o=this.tileCache.get(_);if(o.key!=a){var s=o;o=this.createTile_(e,t,i,r,n,a);if(s.getState()==_ol_TileState_.IDLE){o.interimTile=s.interimTile}else{o.interimTile=s}o.refreshInterimChain();this.tileCache.replace(_,o)}}return o};_ol_source_TileImage_.prototype.setRenderReprojectionEdges=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION||this.renderReprojectionEdges_==e){return}this.renderReprojectionEdges_=e;for(var t in this.tileCacheForProjection){this.tileCacheForProjection[t].clear()}this.changed()};_ol_source_TileImage_.prototype.setTileGridForProjection=function(e,t){if(_ol_.ENABLE_RASTER_REPROJECTION){var i=_ol_proj_.get(e);if(i){var r=_ol_.getUid(i).toString();if(!(r in this.tileGridForProjection)){this.tileGridForProjection[r]=t}}}};_ol_source_TileImage_.defaultTileLoadFunction=function(e,t){e.getImage().src=t};var _ol_source_WMTSRequestEncoding_={KVP:"KVP",REST:"REST"};var _ol_tilegrid_WMTS_=function(e){this.matrixIds_=e.matrixIds;_ol_tilegrid_TileGrid_.call(this,{extent:e.extent,origin:e.origin,origins:e.origins,resolutions:e.resolutions,tileSize:e.tileSize,tileSizes:e.tileSizes,sizes:e.sizes})};_ol_.inherits(_ol_tilegrid_WMTS_,_ol_tilegrid_TileGrid_);_ol_tilegrid_WMTS_.prototype.getMatrixId=function(e){return this.matrixIds_[e]};_ol_tilegrid_WMTS_.prototype.getMatrixIds=function(){return this.matrixIds_};_ol_tilegrid_WMTS_.createFromCapabilitiesMatrixSet=function(e,t,i){var r=[];var n=[];var o=[];var _=[];var a=[];var s=i!==undefined?i:[];var l="SupportedCRS";var h="TileMatrix";var u="Identifier";var c="ScaleDenominator";var f="TopLeftCorner";var d="TileWidth";var p="TileHeight";var v=e[l];var g=_ol_proj_.get(v.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(v);var y=g.getMetersPerUnit();var m=g.getAxisOrientation().substr(0,2)=="ne";e[h].sort((function(e,t){return t[c]-e[c]}));e[h].forEach((function(e,t,i){var l;if(s.length>0){l=_ol_array_.find(s,(function(t,i,r){return e[u]==t[h]}))}else{l=true}if(l){n.push(e[u]);var v=e[c]*28e-5/y;var g=e[d];var E=e[p];if(m){o.push([e[f][1],e[f][0]])}else{o.push(e[f])}r.push(v);_.push(g==E?g:[g,E]);a.push([e["MatrixWidth"],-e["MatrixHeight"]])}}));return new _ol_tilegrid_WMTS_({extent:t,origins:o,resolutions:r,matrixIds:n,tileSizes:_,sizes:a})};var _ol_uri_={};_ol_uri_.appendParams=function(e,t){var i=[];Object.keys(t).forEach((function(e){if(t[e]!==null&&t[e]!==undefined){i.push(e+"="+encodeURIComponent(t[e]))}}));var r=i.join("&");e=e.replace(/[?&]$/,"");e=e.indexOf("?")===-1?e+"?":e+"&";return e+r};var _ol_source_WMTS_=function(e){this.version_=e.version!==undefined?e.version:"1.0.0";this.format_=e.format!==undefined?e.format:"image/jpeg";this.dimensions_=e.dimensions!==undefined?e.dimensions:{};this.layer_=e.layer;this.matrixSet_=e.matrixSet;this.style_=e.style;var t=e.urls;if(t===undefined&&e.url!==undefined){t=_ol_TileUrlFunction_.expandUrl(e.url)}this.requestEncoding_=e.requestEncoding!==undefined?e.requestEncoding:_ol_source_WMTSRequestEncoding_.KVP;var i=this.requestEncoding_;var r=e.tileGrid;var n={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};if(i==_ol_source_WMTSRequestEncoding_.KVP){_ol_obj_.assign(n,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_})}var o=this.dimensions_;this.createFromWMTSTemplate_=function(e){e=i==_ol_source_WMTSRequestEncoding_.KVP?_ol_uri_.appendParams(e,n):e.replace(/\{(\w+?)\}/g,(function(e,t){return t.toLowerCase()in n?n[t.toLowerCase()]:e}));return function(t,n,_){if(!t){return undefined}else{var a={TileMatrix:r.getMatrixId(t[0]),TileCol:t[1],TileRow:-t[2]-1};_ol_obj_.assign(a,o);var s=e;if(i==_ol_source_WMTSRequestEncoding_.KVP){s=_ol_uri_.appendParams(s,a)}else{s=s.replace(/\{(\w+?)\}/g,(function(e,t){return a[t]}))}return s}}};var _=t&&t.length>0?_ol_TileUrlFunction_.createFromTileUrlFunctions(t.map(this.createFromWMTSTemplate_)):_ol_TileUrlFunction_.nullTileUrlFunction;_ol_source_TileImage_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,logo:e.logo,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:r,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:_,urls:t,wrapX:e.wrapX!==undefined?e.wrapX:false,transition:e.transition});this.setKey(this.getKeyForDimensions_())};_ol_.inherits(_ol_source_WMTS_,_ol_source_TileImage_);_ol_source_WMTS_.prototype.setUrls=function(e){this.urls=e;var t=e.join("\n");this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTileUrlFunctions(e.map(this.createFromWMTSTemplate_.bind(this))),t)};_ol_source_WMTS_.prototype.getDimensions=function(){return this.dimensions_};_ol_source_WMTS_.prototype.getFormat=function(){return this.format_};_ol_source_WMTS_.prototype.getLayer=function(){return this.layer_};_ol_source_WMTS_.prototype.getMatrixSet=function(){return this.matrixSet_};_ol_source_WMTS_.prototype.getRequestEncoding=function(){return this.requestEncoding_};_ol_source_WMTS_.prototype.getStyle=function(){return this.style_};_ol_source_WMTS_.prototype.getVersion=function(){return this.version_};_ol_source_WMTS_.prototype.getKeyForDimensions_=function(){var e=0;var t=[];for(var i in this.dimensions_){t[e++]=i+"-"+this.dimensions_[i]}return t.join("/")};_ol_source_WMTS_.prototype.updateDimensions=function(e){_ol_obj_.assign(this.dimensions_,e);this.setKey(this.getKeyForDimensions_())};_ol_source_WMTS_.optionsFromCapabilities=function(e,t){var i=e["Contents"]["Layer"];var r=_ol_array_.find(i,(function(e,i,r){return e["Identifier"]==t["layer"]}));if(r===null){return null}var n=e["Contents"]["TileMatrixSet"];var o,_,a;if(r["TileMatrixSetLink"].length>1){if("projection"in t){o=_ol_array_.findIndex(r["TileMatrixSetLink"],(function(e,i,r){var o=_ol_array_.find(n,(function(t){return t["Identifier"]==e["TileMatrixSet"]}));var _=o["SupportedCRS"];var a=_ol_proj_.get(_.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(_);var s=_ol_proj_.get(t["projection"]);if(a&&s){return _ol_proj_.equivalent(a,s)}else{return _==t["projection"]}}))}else{o=_ol_array_.findIndex(r["TileMatrixSetLink"],(function(e,i,r){return e["TileMatrixSet"]==t["matrixSet"]}))}}else{o=0}if(o<0){o=0}_=r["TileMatrixSetLink"][o]["TileMatrixSet"];a=r["TileMatrixSetLink"][o]["TileMatrixSetLimits"];var s=r["Format"][0];if("format"in t){s=t["format"]}o=_ol_array_.findIndex(r["Style"],(function(e,i,r){if("style"in t){return e["Title"]==t["style"]}else{return e["isDefault"]}}));if(o<0){o=0}var l=r["Style"][o]["Identifier"];var h={};if("Dimension"in r){r["Dimension"].forEach((function(e,t,i){var r=e["Identifier"];var n=e["Default"];if(n===undefined){n=e["Value"][0]}h[r]=n}))}var u=e["Contents"]["TileMatrixSet"];var c=_ol_array_.find(u,(function(e,t,i){return e["Identifier"]==_}));var f;var d=c["SupportedCRS"];if(d){f=_ol_proj_.get(d.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(d)}if("projection"in t){var p=_ol_proj_.get(t["projection"]);if(p){if(!f||_ol_proj_.equivalent(p,f)){f=p}}}var v=r["WGS84BoundingBox"];var g,y;if(v!==undefined){var m=_ol_proj_.get("EPSG:4326").getExtent();y=v[0]==m[0]&&v[2]==m[2];g=_ol_proj_.transformExtent(v,"EPSG:4326",f);var E=f.getExtent();if(E){if(!_ol_extent_.containsExtent(E,g)){g=undefined}}}var x=_ol_tilegrid_WMTS_.createFromCapabilitiesMatrixSet(c,g,a);var T=[];var R=t["requestEncoding"];R=R!==undefined?R:"";if("OperationsMetadata"in e&&"GetTile"in e["OperationsMetadata"]){var S=e["OperationsMetadata"]["GetTile"]["DCP"]["HTTP"]["Get"];for(var C=0,I=S.length;C<I;++C){if(S[C]["Constraint"]){var M=_ol_array_.find(S[C]["Constraint"],(function(e){return e["name"]=="GetEncoding"}));var w=M["AllowedValues"]["Value"];if(R===""){R=w[0]}if(R===_ol_source_WMTSRequestEncoding_.KVP){if(_ol_array_.includes(w,_ol_source_WMTSRequestEncoding_.KVP)){T.push(S[C]["href"])}}else{break}}else if(S[C]["href"]){R=_ol_source_WMTSRequestEncoding_.KVP;T.push(S[C]["href"])}}}if(T.length===0){R=_ol_source_WMTSRequestEncoding_.REST;r["ResourceURL"].forEach((function(e){if(e["resourceType"]==="tile"){s=e["format"];T.push(e["template"])}}))}return{urls:T,layer:t["layer"],matrixSet:_,format:s,projection:f,requestEncoding:R,tileGrid:x,style:l,dimensions:h,wrapX:y,crossOrigin:t["crossOrigin"]}};var _ol_format_FormatType_={ARRAY_BUFFER:"arraybuffer",JSON:"json",TEXT:"text",XML:"xml"};var _ol_xml_={};_ol_xml_.DOCUMENT=document.implementation.createDocument("","",null);_ol_xml_.createElementNS=function(e,t){return _ol_xml_.DOCUMENT.createElementNS(e,t)};_ol_xml_.getAllTextContent=function(e,t){return _ol_xml_.getAllTextContent_(e,t,[]).join("")};_ol_xml_.getAllTextContent_=function(e,t,i){if(e.nodeType==Node.CDATA_SECTION_NODE||e.nodeType==Node.TEXT_NODE){if(t){i.push(String(e.nodeValue).replace(/(\r\n|\r|\n)/g,""))}else{i.push(e.nodeValue)}}else{var r;for(r=e.firstChild;r;r=r.nextSibling){_ol_xml_.getAllTextContent_(r,t,i)}}return i};_ol_xml_.isDocument=function(e){return e instanceof Document};_ol_xml_.isNode=function(e){return e instanceof Node};_ol_xml_.getAttributeNS=function(e,t,i){return e.getAttributeNS(t,i)||""};_ol_xml_.setAttributeNS=function(e,t,i,r){e.setAttributeNS(t,i,r)};_ol_xml_.parse=function(e){return(new DOMParser).parseFromString(e,"application/xml")};_ol_xml_.makeArrayExtender=function(e,t){return function(i,r){var n=e.call(t,i,r);if(n!==undefined){var o=r[r.length-1];_ol_array_.extend(o,n)}}};_ol_xml_.makeArrayPusher=function(e,t){return function(i,r){var n=e.call(t!==undefined?t:this,i,r);if(n!==undefined){var o=r[r.length-1];o.push(n)}}};_ol_xml_.makeReplacer=function(e,t){return function(i,r){var n=e.call(t!==undefined?t:this,i,r);if(n!==undefined){r[r.length-1]=n}}};_ol_xml_.makeObjectPropertyPusher=function(e,t,i){return function(r,n){var o=e.call(i!==undefined?i:this,r,n);if(o!==undefined){var _=n[n.length-1];var a=t!==undefined?t:r.localName;var s;if(a in _){s=_[a]}else{s=_[a]=[]}s.push(o)}}};_ol_xml_.makeObjectPropertySetter=function(e,t,i){return function(r,n){var o=e.call(i!==undefined?i:this,r,n);if(o!==undefined){var _=n[n.length-1];var a=t!==undefined?t:r.localName;_[a]=o}}};_ol_xml_.makeChildAppender=function(e,t){return function(i,r,n){e.call(t!==undefined?t:this,i,r,n);var o=n[n.length-1];var _=o.node;_.appendChild(i)}};_ol_xml_.makeArraySerializer=function(e,t){var i,r;return function(t,n,o){if(i===undefined){i={};var _={};_[t.localName]=e;i[t.namespaceURI]=_;r=_ol_xml_.makeSimpleNodeFactory(t.localName)}_ol_xml_.serialize(i,r,n,o)}};_ol_xml_.makeSimpleNodeFactory=function(e,t){var i=e;return function(e,r,n){var o=r[r.length-1];var _=o.node;var a=i;if(a===undefined){a=n}var s=t;if(t===undefined){s=_.namespaceURI}return _ol_xml_.createElementNS(s,a)}};_ol_xml_.OBJECT_PROPERTY_NODE_FACTORY=_ol_xml_.makeSimpleNodeFactory();_ol_xml_.makeSequence=function(e,t){var i=t.length;var r=new Array(i);for(var n=0;n<i;++n){r[n]=e[t[n]]}return r};_ol_xml_.makeStructureNS=function(e,t,i){var r=i!==undefined?i:{};var n,o;for(n=0,o=e.length;n<o;++n){r[e[n]]=t}return r};_ol_xml_.parseNode=function(e,t,i,r){var n;for(n=t.firstElementChild;n;n=n.nextElementSibling){var o=e[n.namespaceURI];if(o!==undefined){var _=o[n.localName];if(_!==undefined){_.call(r,n,i)}}}};_ol_xml_.pushParseAndPop=function(e,t,i,r,n){r.push(e);_ol_xml_.parseNode(t,i,r,n);return r.pop()};_ol_xml_.serialize=function(e,t,i,r,n,o){var _=(n!==undefined?n:i).length;var a,s;for(var l=0;l<_;++l){a=i[l];if(a!==undefined){s=t.call(o,a,r,n!==undefined?n[l]:undefined);if(s!==undefined){e[s.namespaceURI][s.localName].call(o,s,a,r)}}}};_ol_xml_.pushSerializeAndPop=function(e,t,i,r,n,o,_){n.push(e);_ol_xml_.serialize(t,i,r,n,o,_);return n.pop()};var _ol_featureloader_={};_ol_featureloader_.loadFeaturesXhr=function(e,t,i,r){return function(n,o,_){var a=new XMLHttpRequest;a.open("GET",typeof e==="function"?e(n,o,_):e,true);if(t.getType()==_ol_format_FormatType_.ARRAY_BUFFER){a.responseType="arraybuffer"}a.onload=function(e){if(!a.status||a.status>=200&&a.status<300){var n=t.getType();var o;if(n==_ol_format_FormatType_.JSON||n==_ol_format_FormatType_.TEXT){o=a.responseText}else if(n==_ol_format_FormatType_.XML){o=a.responseXML;if(!o){o=_ol_xml_.parse(a.responseText)}}else if(n==_ol_format_FormatType_.ARRAY_BUFFER){o=a.response}if(o){i.call(this,t.readFeatures(o,{featureProjection:_}),t.readProjection(o),t.getLastExtent())}else{r.call(this)}}else{r.call(this)}}.bind(this);a.onerror=function(){r.call(this)}.bind(this);a.send()}};_ol_featureloader_.xhr=function(e,t){return _ol_featureloader_.loadFeaturesXhr(e,t,(function(e,t){this.addFeatures(e)}),_ol_.nullFunction)};var _ol_loadingstrategy_={};_ol_loadingstrategy_.all=function(e,t){return[[-Infinity,-Infinity,Infinity,Infinity]]};_ol_loadingstrategy_.bbox=function(e,t){return[e]};_ol_loadingstrategy_.tile=function(e){return function(t,i){var r=e.getZForResolution(i);var n=e.getTileRangeForExtentAndZ(t,r);var o=[];var _=[r,0,0];for(_[1]=n.minX;_[1]<=n.maxX;++_[1]){for(_[2]=n.minY;_[2]<=n.maxY;++_[2]){o.push(e.getTileCoordExtent(_))}}return o}};var _ol_source_VectorEventType_={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature"};var _ol_source_Vector_=function(e){var t=e||{};_ol_source_Source_.call(this,{attributions:t.attributions,logo:t.logo,projection:undefined,state:_ol_source_State_.READY,wrapX:t.wrapX!==undefined?t.wrapX:true});this.loader_=_ol_.nullFunction;this.format_=t.format;this.overlaps_=t.overlaps==undefined?true:t.overlaps;this.url_=t.url;if(t.loader!==undefined){this.loader_=t.loader}else if(this.url_!==undefined){_ol_asserts_.assert(this.format_,7);this.loader_=_ol_featureloader_.xhr(this.url_,this.format_)}this.strategy_=t.strategy!==undefined?t.strategy:_ol_loadingstrategy_.all;var i=t.useSpatialIndex!==undefined?t.useSpatialIndex:true;this.featuresRtree_=i?new _ol_structs_RBush_:null;this.loadedExtentsRtree_=new _ol_structs_RBush_;this.nullGeometryFeatures_={};this.idIndex_={};this.undefIdIndex_={};this.featureChangeKeys_={};this.featuresCollection_=null;var r,n;if(t.features instanceof _ol_Collection_){r=t.features;n=r.getArray()}else if(Array.isArray(t.features)){n=t.features}if(!i&&r===undefined){r=new _ol_Collection_(n)}if(n!==undefined){this.addFeaturesInternal(n)}if(r!==undefined){this.bindFeaturesCollection_(r)}};_ol_.inherits(_ol_source_Vector_,_ol_source_Source_);_ol_source_Vector_.prototype.addFeature=function(e){this.addFeatureInternal(e);this.changed()};_ol_source_Vector_.prototype.addFeatureInternal=function(e){var t=_ol_.getUid(e).toString();if(!this.addToIndex_(t,e)){return}this.setupChangeEvents_(t,e);var i=e.getGeometry();if(i){var r=i.getExtent();if(this.featuresRtree_){this.featuresRtree_.insert(r,e)}}else{this.nullGeometryFeatures_[t]=e}this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.ADDFEATURE,e))};_ol_source_Vector_.prototype.setupChangeEvents_=function(e,t){this.featureChangeKeys_[e]=[_ol_events_.listen(t,_ol_events_EventType_.CHANGE,this.handleFeatureChange_,this),_ol_events_.listen(t,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleFeatureChange_,this)]};_ol_source_Vector_.prototype.addToIndex_=function(e,t){var i=true;var r=t.getId();if(r!==undefined){if(!(r.toString()in this.idIndex_)){this.idIndex_[r.toString()]=t}else{i=false}}else{_ol_asserts_.assert(!(e in this.undefIdIndex_),30);this.undefIdIndex_[e]=t}return i};_ol_source_Vector_.prototype.addFeatures=function(e){this.addFeaturesInternal(e);this.changed()};_ol_source_Vector_.prototype.addFeaturesInternal=function(e){var t,i,r,n;var o=[];var _=[];var a=[];for(i=0,r=e.length;i<r;i++){n=e[i];t=_ol_.getUid(n).toString();if(this.addToIndex_(t,n)){_.push(n)}}for(i=0,r=_.length;i<r;i++){n=_[i];t=_ol_.getUid(n).toString();this.setupChangeEvents_(t,n);var s=n.getGeometry();if(s){var l=s.getExtent();o.push(l);a.push(n)}else{this.nullGeometryFeatures_[t]=n}}if(this.featuresRtree_){this.featuresRtree_.load(o,a)}for(i=0,r=_.length;i<r;i++){this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.ADDFEATURE,_[i]))}};_ol_source_Vector_.prototype.bindFeaturesCollection_=function(e){var t=false;_ol_events_.listen(this,_ol_source_VectorEventType_.ADDFEATURE,(function(i){if(!t){t=true;e.push(i.feature);t=false}}));_ol_events_.listen(this,_ol_source_VectorEventType_.REMOVEFEATURE,(function(i){if(!t){t=true;e.remove(i.feature);t=false}}));_ol_events_.listen(e,_ol_CollectionEventType_.ADD,(function(e){if(!t){t=true;this.addFeature(e.element);t=false}}),this);_ol_events_.listen(e,_ol_CollectionEventType_.REMOVE,(function(e){if(!t){t=true;this.removeFeature(e.element);t=false}}),this);this.featuresCollection_=e};_ol_source_Vector_.prototype.clear=function(e){if(e){for(var t in this.featureChangeKeys_){var i=this.featureChangeKeys_[t];i.forEach(_ol_events_.unlistenByKey)}if(!this.featuresCollection_){this.featureChangeKeys_={};this.idIndex_={};this.undefIdIndex_={}}}else{if(this.featuresRtree_){this.featuresRtree_.forEach(this.removeFeatureInternal,this);for(var r in this.nullGeometryFeatures_){this.removeFeatureInternal(this.nullGeometryFeatures_[r])}}}if(this.featuresCollection_){this.featuresCollection_.clear()}if(this.featuresRtree_){this.featuresRtree_.clear()}this.loadedExtentsRtree_.clear();this.nullGeometryFeatures_={};var n=new _ol_source_Vector_.Event(_ol_source_VectorEventType_.CLEAR);this.dispatchEvent(n);this.changed()};_ol_source_Vector_.prototype.forEachFeature=function(e,t){if(this.featuresRtree_){return this.featuresRtree_.forEach(e,t)}else if(this.featuresCollection_){return this.featuresCollection_.forEach(e,t)}};_ol_source_Vector_.prototype.forEachFeatureAtCoordinateDirect=function(e,t,i){var r=[e[0],e[1],e[0],e[1]];return this.forEachFeatureInExtent(r,(function(r){var n=r.getGeometry();if(n.intersectsCoordinate(e)){return t.call(i,r)}else{return undefined}}))};_ol_source_Vector_.prototype.forEachFeatureInExtent=function(e,t,i){if(this.featuresRtree_){return this.featuresRtree_.forEachInExtent(e,t,i)}else if(this.featuresCollection_){return this.featuresCollection_.forEach(t,i)}};_ol_source_Vector_.prototype.forEachFeatureIntersectingExtent=function(e,t,i){return this.forEachFeatureInExtent(e,(function(r){var n=r.getGeometry();if(n.intersectsExtent(e)){var o=t.call(i,r);if(o){return o}}}))};_ol_source_Vector_.prototype.getFeaturesCollection=function(){return this.featuresCollection_};_ol_source_Vector_.prototype.getFeatures=function(){var e;if(this.featuresCollection_){e=this.featuresCollection_.getArray()}else if(this.featuresRtree_){e=this.featuresRtree_.getAll();if(!_ol_obj_.isEmpty(this.nullGeometryFeatures_)){_ol_array_.extend(e,_ol_obj_.getValues(this.nullGeometryFeatures_))}}return e};_ol_source_Vector_.prototype.getFeaturesAtCoordinate=function(e){var t=[];this.forEachFeatureAtCoordinateDirect(e,(function(e){t.push(e)}));return t};_ol_source_Vector_.prototype.getFeaturesInExtent=function(e){return this.featuresRtree_.getInExtent(e)};_ol_source_Vector_.prototype.getClosestFeatureToCoordinate=function(e,t){var i=e[0];var r=e[1];var n=null;var o=[NaN,NaN];var _=Infinity;var a=[-Infinity,-Infinity,Infinity,Infinity];var s=t?t:_ol_functions_.TRUE;this.featuresRtree_.forEachInExtent(a,(function(e){if(s(e)){var t=e.getGeometry();var l=_;_=t.closestPointXY(i,r,o,_);if(_<l){n=e;var h=Math.sqrt(_);a[0]=i-h;a[1]=r-h;a[2]=i+h;a[3]=r+h}}}));return n};_ol_source_Vector_.prototype.getExtent=function(e){return this.featuresRtree_.getExtent(e)};_ol_source_Vector_.prototype.getFeatureById=function(e){var t=this.idIndex_[e.toString()];return t!==undefined?t:null};_ol_source_Vector_.prototype.getFormat=function(){return this.format_};_ol_source_Vector_.prototype.getOverlaps=function(){return this.overlaps_};_ol_source_Vector_.prototype.getResolutions=function(){};_ol_source_Vector_.prototype.getUrl=function(){return this.url_};_ol_source_Vector_.prototype.handleFeatureChange_=function(e){var t=e.target;var i=_ol_.getUid(t).toString();var r=t.getGeometry();if(!r){if(!(i in this.nullGeometryFeatures_)){if(this.featuresRtree_){this.featuresRtree_.remove(t)}this.nullGeometryFeatures_[i]=t}}else{var n=r.getExtent();if(i in this.nullGeometryFeatures_){delete this.nullGeometryFeatures_[i];if(this.featuresRtree_){this.featuresRtree_.insert(n,t)}}else{if(this.featuresRtree_){this.featuresRtree_.update(n,t)}}}var o=t.getId();if(o!==undefined){var _=o.toString();if(i in this.undefIdIndex_){delete this.undefIdIndex_[i];this.idIndex_[_]=t}else{if(this.idIndex_[_]!==t){this.removeFromIdIndex_(t);this.idIndex_[_]=t}}}else{if(!(i in this.undefIdIndex_)){this.removeFromIdIndex_(t);this.undefIdIndex_[i]=t}}this.changed();this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.CHANGEFEATURE,t))};_ol_source_Vector_.prototype.isEmpty=function(){return this.featuresRtree_.isEmpty()&&_ol_obj_.isEmpty(this.nullGeometryFeatures_)};_ol_source_Vector_.prototype.loadFeatures=function(e,t,i){var r=this.loadedExtentsRtree_;var n=this.strategy_(e,t);var o,_;for(o=0,_=n.length;o<_;++o){var a=n[o];var s=r.forEachInExtent(a,(function(e){return _ol_extent_.containsExtent(e.extent,a)}));if(!s){this.loader_.call(this,a,t,i);r.insert(a,{extent:a.slice()})}}};_ol_source_Vector_.prototype.removeLoadedExtent=function(e){var t=this.loadedExtentsRtree_;var i;t.forEachInExtent(e,(function(t){if(_ol_extent_.equals(t.extent,e)){i=t;return true}}));if(i){t.remove(i)}};_ol_source_Vector_.prototype.removeFeature=function(e){var t=_ol_.getUid(e).toString();if(t in this.nullGeometryFeatures_){delete this.nullGeometryFeatures_[t]}else{if(this.featuresRtree_){this.featuresRtree_.remove(e)}}this.removeFeatureInternal(e);this.changed()};_ol_source_Vector_.prototype.removeFeatureInternal=function(e){var t=_ol_.getUid(e).toString();this.featureChangeKeys_[t].forEach(_ol_events_.unlistenByKey);delete this.featureChangeKeys_[t];var i=e.getId();if(i!==undefined){delete this.idIndex_[i.toString()]}else{delete this.undefIdIndex_[t]}this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.REMOVEFEATURE,e))};_ol_source_Vector_.prototype.removeFromIdIndex_=function(e){var t=false;for(var i in this.idIndex_){if(this.idIndex_[i]===e){delete this.idIndex_[i];t=true;break}}return t};_ol_source_Vector_.prototype.setLoader=function(e){this.loader_=e};_ol_source_Vector_.Event=function(e,t){_ol_events_Event_.call(this,e);this.feature=t};_ol_.inherits(_ol_source_Vector_.Event,_ol_events_Event_);var _ol_layer_TileProperty_={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};var _ol_layer_Tile_=function(e){var t=e?e:{};var i=_ol_obj_.assign({},t);delete i.preload;delete i.useInterimTilesOnError;_ol_layer_Layer_.call(this,i);this.setPreload(t.preload!==undefined?t.preload:0);this.setUseInterimTilesOnError(t.useInterimTilesOnError!==undefined?t.useInterimTilesOnError:true);this.type=_ol_LayerType_.TILE};_ol_.inherits(_ol_layer_Tile_,_ol_layer_Layer_);_ol_layer_Tile_.prototype.getPreload=function(){return this.get(_ol_layer_TileProperty_.PRELOAD)};_ol_layer_Tile_.prototype.setPreload=function(e){this.set(_ol_layer_TileProperty_.PRELOAD,e)};_ol_layer_Tile_.prototype.getUseInterimTilesOnError=function(){return this.get(_ol_layer_TileProperty_.USE_INTERIM_TILES_ON_ERROR)};_ol_layer_Tile_.prototype.setUseInterimTilesOnError=function(e){this.set(_ol_layer_TileProperty_.USE_INTERIM_TILES_ON_ERROR,e)};var _ol_layer_Vector_=function(e){var t=e?e:{};var i=_ol_obj_.assign({},t);delete i.style;delete i.renderBuffer;delete i.updateWhileAnimating;delete i.updateWhileInteracting;_ol_layer_Layer_.call(this,i);this.declutter_=t.declutter!==undefined?t.declutter:false;this.renderBuffer_=t.renderBuffer!==undefined?t.renderBuffer:100;this.style_=null;this.styleFunction_=undefined;this.setStyle(t.style);this.updateWhileAnimating_=t.updateWhileAnimating!==undefined?t.updateWhileAnimating:false;this.updateWhileInteracting_=t.updateWhileInteracting!==undefined?t.updateWhileInteracting:false;this.renderMode_=t.renderMode||_ol_layer_VectorRenderType_.VECTOR;this.type=_ol_LayerType_.VECTOR};_ol_.inherits(_ol_layer_Vector_,_ol_layer_Layer_);_ol_layer_Vector_.prototype.getDeclutter=function(){return this.declutter_};_ol_layer_Vector_.prototype.setDeclutter=function(e){this.declutter_=e};_ol_layer_Vector_.prototype.getRenderBuffer=function(){return this.renderBuffer_};_ol_layer_Vector_.prototype.getRenderOrder=function(){return this.get(_ol_layer_Vector_.Property_.RENDER_ORDER)};_ol_layer_Vector_.prototype.getStyle=function(){return this.style_};_ol_layer_Vector_.prototype.getStyleFunction=function(){return this.styleFunction_};_ol_layer_Vector_.prototype.getUpdateWhileAnimating=function(){return this.updateWhileAnimating_};_ol_layer_Vector_.prototype.getUpdateWhileInteracting=function(){return this.updateWhileInteracting_};_ol_layer_Vector_.prototype.setRenderOrder=function(e){this.set(_ol_layer_Vector_.Property_.RENDER_ORDER,e)};_ol_layer_Vector_.prototype.setStyle=function(e){this.style_=e!==undefined?e:_ol_style_Style_.defaultFunction;this.styleFunction_=e===null?undefined:_ol_style_Style_.createFunction(this.style_);this.changed()};_ol_layer_Vector_.prototype.getRenderMode=function(){return this.renderMode_};_ol_layer_Vector_.Property_={RENDER_ORDER:"renderOrder"};var _ol_control_ScaleLineUnits_={DEGREES:"degrees",IMPERIAL:"imperial",NAUTICAL:"nautical",METRIC:"metric",US:"us"};var _ol_control_ScaleLine_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-scale-line";this.innerElement_=document.createElement("DIV");this.innerElement_.className=i+"-inner";this.element_=document.createElement("DIV");this.element_.className=i+" "+_ol_css_.CLASS_UNSELECTABLE;this.element_.appendChild(this.innerElement_);this.viewState_=null;this.minWidth_=t.minWidth!==undefined?t.minWidth:64;this.renderedVisible_=false;this.renderedWidth_=undefined;this.renderedHTML_="";var r=t.render?t.render:_ol_control_ScaleLine_.render;_ol_control_Control_.call(this,{element:this.element_,render:r,target:t.target});_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_control_ScaleLine_.Property_.UNITS),this.handleUnitsChanged_,this);this.setUnits(t.units||_ol_control_ScaleLineUnits_.METRIC)};_ol_.inherits(_ol_control_ScaleLine_,_ol_control_Control_);_ol_control_ScaleLine_.LEADING_DIGITS=[1,2,5];_ol_control_ScaleLine_.prototype.getUnits=function(){return this.get(_ol_control_ScaleLine_.Property_.UNITS)};_ol_control_ScaleLine_.render=function(e){var t=e.frameState;if(!t){this.viewState_=null}else{this.viewState_=t.viewState}this.updateElement_()};_ol_control_ScaleLine_.prototype.handleUnitsChanged_=function(){this.updateElement_()};_ol_control_ScaleLine_.prototype.setUnits=function(e){this.set(_ol_control_ScaleLine_.Property_.UNITS,e)};_ol_control_ScaleLine_.prototype.updateElement_=function(){var e=this.viewState_;if(!e){if(this.renderedVisible_){this.element_.style.display="none";this.renderedVisible_=false}return}var t=e.center;var i=e.projection;var r=this.getUnits();var n=r==_ol_control_ScaleLineUnits_.DEGREES?_ol_proj_Units_.DEGREES:_ol_proj_Units_.METERS;var o=_ol_proj_.getPointResolution(i,e.resolution,t,n);if(r!=_ol_control_ScaleLineUnits_.DEGREES){o*=i.getMetersPerUnit()}var _=this.minWidth_*o;var a="";if(r==_ol_control_ScaleLineUnits_.DEGREES){var s=_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES];if(i.getUnits()==_ol_proj_Units_.DEGREES){_*=s}else{o/=s}if(_<s/60){a="″";o*=3600}else if(_<s){a="′";o*=60}else{a="°"}}else if(r==_ol_control_ScaleLineUnits_.IMPERIAL){if(_<.9144){a="in";o/=.0254}else if(_<1609.344){a="ft";o/=.3048}else{a="mi";o/=1609.344}}else if(r==_ol_control_ScaleLineUnits_.NAUTICAL){o/=1852;a="nm"}else if(r==_ol_control_ScaleLineUnits_.METRIC){if(_<.001){a="μm";o*=1e6}else if(_<1){a="mm";o*=1e3}else if(_<1e3){a="m"}else{a="km";o/=1e3}}else if(r==_ol_control_ScaleLineUnits_.US){if(_<.9144){a="in";o*=39.37}else if(_<1609.344){a="ft";o/=.30480061}else{a="mi";o/=1609.3472}}else{_ol_asserts_.assert(false,33)}var l=3*Math.floor(Math.log(this.minWidth_*o)/Math.log(10));var h,u;while(true){h=_ol_control_ScaleLine_.LEADING_DIGITS[(l%3+3)%3]*Math.pow(10,Math.floor(l/3));u=Math.round(h/o);if(isNaN(u)){this.element_.style.display="none";this.renderedVisible_=false;return}else if(u>=this.minWidth_){break}++l}var c=h+" "+a;if(this.renderedHTML_!=c){this.innerElement_.innerHTML=c;this.renderedHTML_=c}if(this.renderedWidth_!=u){this.innerElement_.style.width=u+"px";this.renderedWidth_=u}if(!this.renderedVisible_){this.element_.style.display="";this.renderedVisible_=true}};_ol_control_ScaleLine_.Property_={UNITS:"units"};var _ol_style_IconAnchorUnits_={FRACTION:"fraction",PIXELS:"pixels"};var _ol_style_IconImage_=function(e,t,i,r,n,o){_ol_events_EventTarget_.call(this);this.hitDetectionImage_=null;this.image_=!e?new Image:e;if(r!==null){this.image_.crossOrigin=r}this.canvas_=o?document.createElement("CANVAS"):null;this.color_=o;this.imageListenerKeys_=null;this.imageState_=n;this.size_=i;this.src_=t;this.tainting_=false;if(this.imageState_==_ol_ImageState_.LOADED){this.determineTainting_()}};_ol_.inherits(_ol_style_IconImage_,_ol_events_EventTarget_);_ol_style_IconImage_.get=function(e,t,i,r,n,o){var _=_ol_style_.iconImageCache;var a=_.get(t,r,o);if(!a){a=new _ol_style_IconImage_(e,t,i,r,n,o);_.set(t,r,o,a)}return a};_ol_style_IconImage_.prototype.determineTainting_=function(){var e=_ol_dom_.createCanvasContext2D(1,1);try{e.drawImage(this.image_,0,0);e.getImageData(0,0,1,1)}catch(t){this.tainting_=true}};_ol_style_IconImage_.prototype.dispatchChangeEvent_=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_style_IconImage_.prototype.handleImageError_=function(){this.imageState_=_ol_ImageState_.ERROR;this.unlistenImage_();this.dispatchChangeEvent_()};_ol_style_IconImage_.prototype.handleImageLoad_=function(){this.imageState_=_ol_ImageState_.LOADED;if(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.determineTainting_();this.replaceColor_();this.dispatchChangeEvent_()};_ol_style_IconImage_.prototype.getImage=function(e){return this.canvas_?this.canvas_:this.image_};_ol_style_IconImage_.prototype.getImageState=function(){return this.imageState_};_ol_style_IconImage_.prototype.getHitDetectionImage=function(e){if(!this.hitDetectionImage_){if(this.tainting_){var t=this.size_[0];var i=this.size_[1];var r=_ol_dom_.createCanvasContext2D(t,i);r.fillRect(0,0,t,i);this.hitDetectionImage_=r.canvas}else{this.hitDetectionImage_=this.image_}}return this.hitDetectionImage_};_ol_style_IconImage_.prototype.getSize=function(){return this.size_};_ol_style_IconImage_.prototype.getSrc=function(){return this.src_};_ol_style_IconImage_.prototype.load=function(){if(this.imageState_==_ol_ImageState_.IDLE){this.imageState_=_ol_ImageState_.LOADING;this.imageListenerKeys_=[_ol_events_.listenOnce(this.image_,_ol_events_EventType_.ERROR,this.handleImageError_,this),_ol_events_.listenOnce(this.image_,_ol_events_EventType_.LOAD,this.handleImageLoad_,this)];try{this.image_.src=this.src_}catch(e){this.handleImageError_()}}};_ol_style_IconImage_.prototype.replaceColor_=function(){if(this.tainting_||this.color_===null){return}this.canvas_.width=this.image_.width;this.canvas_.height=this.image_.height;var e=this.canvas_.getContext("2d");e.drawImage(this.image_,0,0);var t=e.getImageData(0,0,this.image_.width,this.image_.height);var i=t.data;var r=this.color_[0]/255;var n=this.color_[1]/255;var o=this.color_[2]/255;for(var _=0,a=i.length;_<a;_+=4){i[_]*=r;i[_+1]*=n;i[_+2]*=o}e.putImageData(t,0,0)};_ol_style_IconImage_.prototype.unlistenImage_=function(){this.imageListenerKeys_.forEach(_ol_events_.unlistenByKey);this.imageListenerKeys_=null};var _ol_style_IconOrigin_={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};var _ol_style_Icon_=function(e){var t=e||{};this.anchor_=t.anchor!==undefined?t.anchor:[.5,.5];this.normalizedAnchor_=null;this.anchorOrigin_=t.anchorOrigin!==undefined?t.anchorOrigin:_ol_style_IconOrigin_.TOP_LEFT;this.anchorXUnits_=t.anchorXUnits!==undefined?t.anchorXUnits:_ol_style_IconAnchorUnits_.FRACTION;this.anchorYUnits_=t.anchorYUnits!==undefined?t.anchorYUnits:_ol_style_IconAnchorUnits_.FRACTION;this.crossOrigin_=t.crossOrigin!==undefined?t.crossOrigin:null;var i=t.img!==undefined?t.img:null;var r=t.imgSize!==undefined?t.imgSize:null;var n=t.src;_ol_asserts_.assert(!(n!==undefined&&i),4);_ol_asserts_.assert(!i||i&&r,5);if((n===undefined||n.length===0)&&i){n=i.src||_ol_.getUid(i).toString()}_ol_asserts_.assert(n!==undefined&&n.length>0,6);var o=t.src!==undefined?_ol_ImageState_.IDLE:_ol_ImageState_.LOADED;this.color_=t.color!==undefined?_ol_color_.asArray(t.color):null;this.iconImage_=_ol_style_IconImage_.get(i,n,r,this.crossOrigin_,o,this.color_);this.offset_=t.offset!==undefined?t.offset:[0,0];this.offsetOrigin_=t.offsetOrigin!==undefined?t.offsetOrigin:_ol_style_IconOrigin_.TOP_LEFT;this.origin_=null;this.size_=t.size!==undefined?t.size:null;var _=t.opacity!==undefined?t.opacity:1;var a=t.rotateWithView!==undefined?t.rotateWithView:false;var s=t.rotation!==undefined?t.rotation:0;var l=t.scale!==undefined?t.scale:1;var h=t.snapToPixel!==undefined?t.snapToPixel:true;_ol_style_Image_.call(this,{opacity:_,rotation:s,scale:l,snapToPixel:h,rotateWithView:a})};_ol_.inherits(_ol_style_Icon_,_ol_style_Image_);_ol_style_Icon_.prototype.clone=function(){return new _ol_style_Icon_({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_||undefined,src:this.getSrc(),offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,size:this.size_!==null?this.size_.slice():undefined,opacity:this.getOpacity(),scale:this.getScale(),snapToPixel:this.getSnapToPixel(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()})};_ol_style_Icon_.prototype.getAnchor=function(){if(this.normalizedAnchor_){return this.normalizedAnchor_}var e=this.anchor_;var t=this.getSize();if(this.anchorXUnits_==_ol_style_IconAnchorUnits_.FRACTION||this.anchorYUnits_==_ol_style_IconAnchorUnits_.FRACTION){if(!t){return null}e=this.anchor_.slice();if(this.anchorXUnits_==_ol_style_IconAnchorUnits_.FRACTION){e[0]*=t[0]}if(this.anchorYUnits_==_ol_style_IconAnchorUnits_.FRACTION){e[1]*=t[1]}}if(this.anchorOrigin_!=_ol_style_IconOrigin_.TOP_LEFT){if(!t){return null}if(e===this.anchor_){e=this.anchor_.slice()}if(this.anchorOrigin_==_ol_style_IconOrigin_.TOP_RIGHT||this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[0]=-e[0]+t[0]}if(this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_LEFT||this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[1]=-e[1]+t[1]}}this.normalizedAnchor_=e;return this.normalizedAnchor_};_ol_style_Icon_.prototype.getColor=function(){return this.color_};_ol_style_Icon_.prototype.getImage=function(e){return this.iconImage_.getImage(e)};_ol_style_Icon_.prototype.getImageSize=function(){return this.iconImage_.getSize()};_ol_style_Icon_.prototype.getHitDetectionImageSize=function(){return this.getImageSize()};_ol_style_Icon_.prototype.getImageState=function(){return this.iconImage_.getImageState()};_ol_style_Icon_.prototype.getHitDetectionImage=function(e){return this.iconImage_.getHitDetectionImage(e)};_ol_style_Icon_.prototype.getOrigin=function(){if(this.origin_){return this.origin_}var e=this.offset_;if(this.offsetOrigin_!=_ol_style_IconOrigin_.TOP_LEFT){var t=this.getSize();var i=this.iconImage_.getSize();if(!t||!i){return null}e=e.slice();if(this.offsetOrigin_==_ol_style_IconOrigin_.TOP_RIGHT||this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[0]=i[0]-t[0]-e[0]}if(this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_LEFT||this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[1]=i[1]-t[1]-e[1]}}this.origin_=e;return this.origin_};_ol_style_Icon_.prototype.getSrc=function(){return this.iconImage_.getSrc()};_ol_style_Icon_.prototype.getSize=function(){return!this.size_?this.iconImage_.getSize():this.size_};_ol_style_Icon_.prototype.listenImageChange=function(e,t){return _ol_events_.listen(this.iconImage_,_ol_events_EventType_.CHANGE,e,t)};_ol_style_Icon_.prototype.load=function(){this.iconImage_.load()};_ol_style_Icon_.prototype.unlistenImageChange=function(e,t){_ol_events_.unlisten(this.iconImage_,_ol_events_EventType_.CHANGE,e,t)};var stzhOlmapCss=":host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}stzh-olmap{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:relative;width:100%;height:18.75rem}stzh-olmap[hidden]{display:none}stzh-olmap *,stzh-olmap *::before,stzh-olmap *::after{-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (min-width: 800px){stzh-olmap{height:25rem}}.stzh-olmap__map{position:absolute;width:100%;height:100%;top:0;left:0}.stzh-olmap__map--print{margin-top:var(--stzh-space-xxlarge);max-width:100%;height:auto}.stzh-olmap__print-image{display:block;max-width:100%}.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom-in,.stzh-olmap .ol-zoom-out{font-family:var(--stzh-font-family-light);font-weight:var(--stzh-font-weight-light);font-style:normal;font-size:var(--stzh-font-deca-font-size);line-height:var(--stzh-font-deca-text-line-height);letter-spacing:var(--stzh-font-deca-text-letter-spacing);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;border-radius:0;color:var(--stzh-color-primary, var(--stzh-color-zueriblue));-webkit-transition:all var(--stzh-base-transition-animation-speed) ease;transition:all var(--stzh-base-transition-animation-speed) ease;background-color:var(--stzh-color-white);width:2.5rem;height:2.375rem;cursor:pointer}.stzh-olmap .ol-print stzh-icon,.stzh-olmap .ol-location stzh-icon,.stzh-olmap .ol-zoom-in stzh-icon,.stzh-olmap .ol-zoom-out stzh-icon{--size:var(--stzh-icon-size-small)}.stzh-olmap .ol-print:hover,.stzh-olmap .ol-location:hover,.stzh-olmap .ol-zoom-in:hover,.stzh-olmap .ol-zoom-out:hover{color:var(--stzh-color-white);background:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));border-color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark))}.stzh-olmap .ol-layer,.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom{position:absolute;right:0.625rem;-webkit-box-shadow:var(--stzh-box-shadow-popover);box-shadow:var(--stzh-box-shadow-popover);border-radius:var(--stzh-form-input-border-radius)}@media screen and (min-width: 800px){.stzh-olmap .ol-layer,.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom{right:1.25rem}}.stzh-olmap .ol-layer{left:0.625rem;bottom:0.625rem;right:auto;padding:var(--stzh-space-xxxsmall);border:none}@media screen and (min-width: 800px){.stzh-olmap .ol-layer{left:1.25rem;bottom:1.25rem}}.stzh-olmap .ol-layer__thumbnail{width:4.6875rem;height:4.6875rem;display:block}.stzh-olmap .ol-layer__text{font-family:var(--stzh-font-family-light);font-weight:var(--stzh-font-weight-light);font-style:normal;font-size:var(--stzh-font-pico-font-size);line-height:var(--stzh-font-pico-text-line-height);position:absolute;bottom:0;left:0;right:0;text-align:left;background-color:var(--stzh-color-white);color:var(--stzh-color-primary, var(--stzh-color-zueriblue));padding-left:calc(var(--stzh-space-xxxsmall) + 0.0625rem);padding-right:calc(var(--stzh-space-xxxsmall) + 0.0625rem)}.stzh-olmap .ol-layer:hover .ol-layer__text{color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark))}.stzh-olmap .ol-location{bottom:calc(3.75rem + 7.125rem + var(--stzh-space-small) * 2)}@media screen and (min-width: 800px){.stzh-olmap .ol-location{bottom:calc(4.375rem + 7.125rem + var(--stzh-space-small) * 2)}}.stzh-olmap .ol-location.active{background:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));border-color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));color:var(--stzh-color-white)}.stzh-olmap .ol-zoom{bottom:calc(3.75rem + 2.375rem + var(--stzh-space-small));background-color:var(--stzh-color-grey13)}@media screen and (min-width: 800px){.stzh-olmap .ol-zoom{bottom:calc(4.375rem + 2.375rem + var(--stzh-space-small))}}.stzh-olmap .ol-zoom-in{margin-bottom:0.0625rem}.stzh-olmap .ol-print{bottom:3.75rem}@media screen and (min-width: 800px){.stzh-olmap .ol-print{bottom:4.375rem}}.stzh-olmap .ol-rotate,.stzh-olmap .ol-attribution{display:none}.stzh-olmap .ol-scale-line{position:absolute;bottom:0;right:0;padding:var(--stzh-space-xxsmall);background:var(--stzh-color-white);border-top-left-radius:var(--stzh-form-input-border-radius)}.stzh-olmap .ol-scale-line-inner{font-size:var(--stzh-font-pico-font-size);line-height:var(--stzh-font-pico-text-line-height);border:0.0625rem solid var(--stzh-color-grey55);border-top:0;color:var(--stzh-color-grey55);text-align:center}";window.proj4=proj4;window.proj4.defs("EPSG:2056","+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs");var STYLES_MARKER_ICON={anchor:[.5,1],anchorXUnits:"fraction",anchorYUnits:"fraction",scale:.5,src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker.png")};var STYLES_ACTIVE_MARKER_ICON=Object.assign(Object.assign({},STYLES_MARKER_ICON),{src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker-active.png")});var STYLES_POSITION_MARKER_ICON_STYLES=Object.assign(Object.assign({},STYLES_MARKER_ICON),{anchor:[.5,.5],src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker-position.png")});var StzhOlmap=function(){function e(e){var t=this;registerInstance(this,e);this.stzhInitialized=createEvent(this,"stzhInitialized",7);this.stzhPostRender=createEvent(this,"stzhPostRender",7);this.stzhMoveStart=createEvent(this,"stzhMoveStart",7);this.stzhMoveEnd=createEvent(this,"stzhMoveEnd",7);this.handlePostRender=function(){t.stzhPostRender.emit({component:"stzh-olmap"})};this.handleMoveStart=function(){t.stzhMoveStart.emit({component:"stzh-olmap"})};this.handleMoveEnd=function(){t.stzhMoveEnd.emit({component:"stzh-olmap"})};this.handleInsideModalOpen=function(){if(t.map){requestAnimationFrame((function(){t.map.updateSize()}))}};this.handlePrintButtonClick=function(){if(!t.printIframe){t.printIframe=document.createElement("iframe");Object.assign(t.printIframe.style,{height:"0px",width:"0px",position:"absolute",border:"none"});t.element.append(t.printIframe)}t.printIframe.innerHTML="";var e=t.printIframe.contentWindow;var i=t.constructor.style.replace('@charset "UTF-8";',"");var r=Array.from(document.querySelectorAll("link")).map((function(e){return e.outerHTML}));var n;t.map.once("postcompose",(function(e){var t=e.context.canvas;n=t.toDataURL("image/png")}));t.map.renderSync();e.document.body.innerHTML="\n ".concat(r.join(""),'\n\n <style type="text/css">\n ').concat(i,'\n </style>\n\n <div class="stzh-olmap__map stzh-olmap__map--print">\n <img class="stzh-olmap__print-image" src="').concat(n,'" alt="">\n ').concat(t.element.querySelector(".ol-scale-line.ol-unselectable").outerHTML,"\n </div>\n ");setTimeout((function(){try{e.document.execCommand("print",false,null)}catch(t){e.print()}}),1e3)};this.localization=undefined;this.hostname="www.ogc.stadt-zuerich.ch";this.scaleControl=true;this.layerControl=true;this.printControl=true;this.locationControl=false;this.layer="streets";this.zoom=7;this.center=[2683311,1247082];this.centerMarker=true;this.resolutions=[67.73333333333,33.8666666667,16.9333333333,8.4666666667,4.2333333333,2.1166666667,1.0583333333,.5291666667,.2645833333,.1322916667,.0661458333];this.layers={streets:{thumbnailUrl:"".concat(window.stzhComponents.pathMedia,"/olmap/thumb-streets.jpg"),options:{url:"https://{Hostname}/mapproxy/wmts/1.0.0/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",layer:"basiskarte_zuerich_gebaeudeschraegansicht",matrixSet:"ktzh",origin:[2480237,1315832],extent:[2666867,1220962,2719695.5,1285537]}},satellite:{thumbnailUrl:"".concat(window.stzhComponents.pathMedia,"/olmap/thumb-satellite.jpg"),options:{url:"https://{Hostname}/mapproxy/wmts/1.0.0/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",layer:"orthofoto",matrixSet:"ktzh",origin:[2480237,1315832],extent:[2666867,1220962,2719695.5,1285537]}}}}e.prototype.zoomWatcher=function(e){if(this.map){this.map.getView().setZoom(e)}};e.prototype.scaleControlWatcher=function(e){if(!this.map){return}if(e){this.scaleControlOl=new _ol_control_ScaleLine_({units:"metric"});this.map.addControl(this.scaleControlOl)}else{if(this.scaleControl){this.map.removeControl(this.scaleControlOl)}this.scaleControlOl=null}};e.prototype.printControlWatcher=function(e){if(!this.map){return}if(e){this.printControlElement=document.createElement("button");this.printControlElement.className="ol-print";this.printControlElement.ariaLabel=this.localization.printLabel;this.printControlElement.addEventListener("click",this.handlePrintButtonClick);this.printControlElement.innerHTML='<stzh-icon name="print" class="ol-print__icon"></stzh-icon>';this.printControlOl=new _ol_control_Control_({element:this.printControlElement});this.map.addControl(this.printControlOl)}else{if(this.printControlOl){this.map.removeControl(this.printControlOl)}this.printControlOl=null;this.printControlElement=null}};e.prototype.layerControlWatcher=function(e){var t=this;if(!this.map||this.layersArray.length===1){return}if(e){this.layerControlElement=document.createElement("button");this.layerControlElement.className="ol-layer";this.layerControlElement.addEventListener("click",(function(){t.layer=t.layer==="streets"?"satellite":"streets"}));this.layerControlImageElement=document.createElement("img");this.layerControlImageElement.className="ol-layer__thumbnail";this.layerControlImageElement.setAttribute("role","presentation");this.layerControlImageElement.setAttribute("alt","");this.layerControlTextElement=document.createElement("span");this.layerControlTextElement.className="ol-layer__text";this.layerControlElement.appendChild(this.layerControlImageElement);this.layerControlElement.appendChild(this.layerControlTextElement);this.layerControlOl=new _ol_control_Control_({element:this.layerControlElement});this.map.addControl(this.layerControlOl)}else{if(this.layerControlOl){this.map.removeControl(this.layerControlOl)}this.layerControlOl=null;this.layerControlElement=null;this.layerControlImageElement=null;this.layerControlTextElement=null}};e.prototype.locationControlWatcher=function(e){var t=this;if(!this.map){return}if(e){this.locationControlElement=document.createElement("button");this.locationControlElement.className="ol-location";this.locationControlElement.innerHTML='<stzh-icon name="target-bullet" class="ol-location__icon"></stzh-icon>';this.locationControlElement.addEventListener("click",(function(){var e=t.geolocation.getTracking();if(e){t.disableLocationTracking()}else{t.enableLocationTracking()}}));this.locationControlOl=new _ol_control_Control_({element:this.locationControlElement});this.geolocation=new _ol_Geolocation_({projection:this.map.getView().getProjection()});this.positionMarkerOl=new _ol_Feature_;this.positionMarkerOl.setId("position");var i=new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_POSITION_MARKER_ICON_STYLES)});this.positionMarkerOl.setStyle(i);this.positionLayer.getSource().addFeature(this.positionMarkerOl);this.geolocation.on("change:position",(function(){var e=t.geolocation.getPosition();t.positionMarkerOl.setGeometry(new _ol_geom_Point_(e));if(_ol_extent_.containsExtent(t.layers[t.layer].options.extent,t.positionMarkerOl.getGeometry().getExtent())){t.map.getView().setCenter(e)}}));this.geolocation.on("change:tracking",(function(){var e=t.geolocation.getTracking();t.positionMarkerOl.setGeometry(null);t.setLocationControlState(e)}));this.geolocation.on("error",(function(){t.setLocationControlState(false)}));this.map.addControl(this.locationControlOl)}else{this.disableLocationTracking();if(this.locationControlOl){this.map.removeControl(this.locationControlOl)}if(this.positionMarkerOl){this.positionLayer.getSource().removeFeature(this.positionMarkerOl)}this.locationControlOl=null;this.locationControlElement=null;this.geolocation=null;this.positionMarkerOl=null}};e.prototype.layerWatcher=function(e){var t=this;if(!this.map){return}Object.entries(this.rasterLayers).forEach((function(i){var r=i[0],n=i[1];if(r===e){n.setVisible(true);t.map.getView().set("projection",t.projections[e]);var o=t.layersArray.find((function(e){var i=e[0];return i!==t.layer}));if(o){if(t.layerControlImageElement){t.layerControlImageElement.src=o[1].thumbnailUrl}if(t.layerControlTextElement){var _="";if(r==="streets"){_=t.localization.streetsLayerTitle}else if(r==="satellite"){_=t.localization.satelliteLayerTitle}t.layerControlTextElement.textContent=o[1].title||_}}}else{n.setVisible(false)}}))};e.prototype.centerWatcher=function(e){this.map.getView().setCenter(e);if(this.centerMarkerOl){this.centerMarkerOl.setGeometry(new _ol_geom_Point_(e))}};e.prototype.centerMarkerWatcher=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:if(!e)return[3,2];t=this;return[4,this.addIconMarker(this.center)];case 1:t.centerMarkerOl=i.sent();return[3,3];case 2:if(this.centerMarkerOl){this.removeIconMarker(this.centerMarkerOl)}i.label=3;case 3:return[2]}}))}))};e.prototype.getMap=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.map]}))}))};e.prototype.addIconMarker=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(r){t=new _ol_Feature_({geometry:new _ol_geom_Point_(e)});i=new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_MARKER_ICON)});t.setStyle(i);this.iconLayer.getSource().addFeature(t);return[2,t]}))}))};e.prototype.removeIconMarker=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.iconLayer.getSource().removeFeature(e)]}))}))};e.prototype.setIconMarkerActive=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){e.setStyle(new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_ACTIVE_MARKER_ICON)}));return[2]}))}))};e.prototype.setIconMarkerInactive=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){e.setStyle(new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_MARKER_ICON)}));return[2]}))}))};e.prototype.enableLocationTracking=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.setLocationControlState(true);if(this.geolocation){this.geolocation.setTracking(true)}return[2]}))}))};e.prototype.disableLocationTracking=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.setLocationControlState(false);if(this.geolocation){this.geolocation.setTracking(false)}return[2]}))}))};e.prototype.setLocationControlState=function(e){if(this.positionLayer){this.positionLayer.setVisible(e)}if(this.locationControlElement){this.locationControlElement.classList.toggle("active",e)}};e.prototype.createMap=function(){var e=document.createElement("stzh-icon");e.ariaLabel=this.localization.zoomInLabel;e.name="plus";var t=document.createElement("stzh-icon");t.ariaLabel=this.localization.zoomOutLabel;t.name="minus";var i=new _ol_Map_({controls:_ol_control_.defaults({zoomOptions:{zoomInLabel:e,zoomOutLabel:t,zoomInTipLabel:"",zoomOutTipLabel:""}}),interactions:_ol_interaction_.defaults({mouseWheelZoom:false}),loadTilesWhileAnimating:true,loadTilesWhileInteracting:true,target:this.mapElement,logo:false});return i};e.prototype.createRasterLayer=function(e,t){return new _ol_layer_Tile_({title:"wmts",type:"base",extent:t.extent,source:this.createLayerSource(e,t)})};e.prototype.createLayerSource=function(e,t){if(!this.projections){this.projections={}}this.projections[e]=new _ol_proj_Projection_({code:"EPSG:2056",extent:t.extent});return this.creatRasterSource(e,t)};e.prototype.creatRasterSource=function(e,t){var i=t.url,r=t.layer,n=t.matrixSet,o=t.origin;var _=[];for(var a=0;a<this.resolutions.length;a++){_.push(a)}var s=new _ol_tilegrid_WMTS_({origin:o,resolutions:this.resolutions,matrixIds:_,tileSize:[512,512]});return new _ol_source_WMTS_({url:i,tileGrid:s,style:"default",projection:this.projections[e],crossOrigin:"anonymous",layer:r,matrixSet:n,requestEncoding:"REST"})};e.prototype.createIconLayer=function(){return new _ol_layer_Vector_({source:new _ol_source_Vector_({})})};e.prototype.initMap=function(){var e=this;this.map=this.createMap();this.map.on("postrender",this.handlePostRender);this.map.on("movestart",this.handleMoveStart);this.map.on("moveend",this.handleMoveEnd);this.layersArray=Object.entries(this.layers);if(this.layersArray.length>2){throw new Error("There are only two different layers allowed.")}this.rasterLayers={};this.layersArray.forEach((function(t){var i=t[0],r=t[1];r.options.url=r.options.url.replace(/{hostname}/gi,e.hostname);e.rasterLayers[i]=e.createRasterLayer(i,r.options);e.map.addLayer(e.rasterLayers[i])}));this.positionLayer=this.createIconLayer();this.positionLayer.setVisible(false);this.map.addLayer(this.positionLayer);this.iconLayer=this.createIconLayer();this.map.addLayer(this.iconLayer);var t=new _ol_View_({center:this.center,projection:this.projections[this.layer],zoom:this.zoom,resolutions:this.resolutions});this.map.setView(t);this.scaleControlWatcher(this.scaleControl);this.printControlWatcher(this.printControl);this.locationControlWatcher(this.locationControl);this.layerControlWatcher(this.layerControl);this.layerWatcher(this.layer);this.centerWatcher(this.center);this.centerMarkerWatcher(this.centerMarker);this.stzhInitialized.emit({component:"stzh-olmap"})};e.prototype.componentShouldUpdate=function(e,t,i){return["hostname","localization","layers","resolutions"].includes(i)};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:if(!!this.localization)return[3,2];e=this;return[4,fetchTranslations(this.element,"olmap")];case 1:e.localization=t.sent();t.label=2;case 2:return[2]}}))}))};e.prototype.componentWillUpdate=function(){if(this.map){this.map.setTarget(null);this.map=null}};e.prototype.componentDidRender=function(){if(this.map){return}this.initMap()};e.prototype.connectedCallback=function(){var e=this.element.closest("stzh-dialog");if(e){e.addEventListener("stzhOpen",this.handleInsideModalOpen)}};e.prototype.disconnectedCallback=function(){if(this.map){this.map.setTarget(null);this.map=null}var e=this.element.closest("stzh-dialog");if(e){e.removeEventListener("stzhOpen",this.handleInsideModalOpen)}};e.prototype.render=function(){var e=this;var t={"stzh-olmap":true};return h(Host,null,h("div",{class:t},h("div",{ref:function(t){return e.mapElement=t},class:"stzh-olmap__map"})))};Object.defineProperty(e.prototype,"element",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{zoom:["zoomWatcher"],scaleControl:["scaleControlWatcher"],printControl:["printControlWatcher"],layerControl:["layerControlWatcher"],locationControl:["locationControlWatcher"],layer:["layerWatcher"],center:["centerWatcher"],centerMarker:["centerMarkerWatcher"]}},enumerable:false,configurable:true});return e}();StzhOlmap.style=stzhOlmapCss;export{StzhOlmap as stzh_olmap};
7
+ */var _ol_Sphere_=function(e){this.radius=e};_ol_Sphere_.prototype.geodesicArea=function(e){return _ol_Sphere_.getArea_(e,this.radius)};_ol_Sphere_.prototype.haversineDistance=function(e,t){return _ol_Sphere_.getDistance_(e,t,this.radius)};_ol_Sphere_.prototype.offset=function(e,t,i){var r=_ol_math_.toRadians(e[1]);var n=_ol_math_.toRadians(e[0]);var o=t/this.radius;var _=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(i));var a=n+Math.atan2(Math.sin(i)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(_));return[_ol_math_.toDegrees(a),_ol_math_.toDegrees(_)]};_ol_Sphere_.DEFAULT_RADIUS=6371008.8;_ol_Sphere_.getLength=function(e,t){var i=t||{};var r=i.radius||_ol_Sphere_.DEFAULT_RADIUS;var n=i.projection||"EPSG:3857";e=e.clone().transform(n,"EPSG:4326");var o=e.getType();var _=0;var a,s,l,h,u,c;switch(o){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:{break}case _ol_geom_GeometryType_.LINE_STRING:case _ol_geom_GeometryType_.LINEAR_RING:{a=e.getCoordinates();_=_ol_Sphere_.getLength_(a,r);break}case _ol_geom_GeometryType_.MULTI_LINE_STRING:case _ol_geom_GeometryType_.POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){_+=_ol_Sphere_.getLength_(a[l],r)}break}case _ol_geom_GeometryType_.MULTI_POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){s=a[l];for(u=0,c=s.length;u<c;++u){_+=_ol_Sphere_.getLength_(s[u],r)}}break}case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:{var f=e.getGeometries();for(l=0,h=f.length;l<h;++l){_+=_ol_Sphere_.getLength(f[l],t)}break}default:{throw new Error("Unsupported geometry type: "+o)}}return _};_ol_Sphere_.getLength_=function(e,t){var i=0;for(var r=0,n=e.length;r<n-1;++r){i+=_ol_Sphere_.getDistance_(e[r],e[r+1],t)}return i};_ol_Sphere_.getDistance_=function(e,t,i){var r=_ol_math_.toRadians(e[1]);var n=_ol_math_.toRadians(t[1]);var o=(n-r)/2;var _=_ol_math_.toRadians(t[0]-e[0])/2;var a=Math.sin(o)*Math.sin(o)+Math.sin(_)*Math.sin(_)*Math.cos(r)*Math.cos(n);return 2*i*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))};_ol_Sphere_.getArea=function(e,t){var i=t||{};var r=i.radius||_ol_Sphere_.DEFAULT_RADIUS;var n=i.projection||"EPSG:3857";e=e.clone().transform(n,"EPSG:4326");var o=e.getType();var _=0;var a,s,l,h,u,c;switch(o){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:case _ol_geom_GeometryType_.LINE_STRING:case _ol_geom_GeometryType_.MULTI_LINE_STRING:case _ol_geom_GeometryType_.LINEAR_RING:{break}case _ol_geom_GeometryType_.POLYGON:{a=e.getCoordinates();_=Math.abs(_ol_Sphere_.getArea_(a[0],r));for(l=1,h=a.length;l<h;++l){_-=Math.abs(_ol_Sphere_.getArea_(a[l],r))}break}case _ol_geom_GeometryType_.MULTI_POLYGON:{a=e.getCoordinates();for(l=0,h=a.length;l<h;++l){s=a[l];_+=Math.abs(_ol_Sphere_.getArea_(s[0],r));for(u=1,c=s.length;u<c;++u){_-=Math.abs(_ol_Sphere_.getArea_(s[u],r))}}break}case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:{var f=e.getGeometries();for(l=0,h=f.length;l<h;++l){_+=_ol_Sphere_.getArea(f[l],t)}break}default:{throw new Error("Unsupported geometry type: "+o)}}return _};_ol_Sphere_.getArea_=function(e,t){var i=0,r=e.length;var n=e[r-1][0];var o=e[r-1][1];for(var _=0;_<r;_++){var a=e[_][0],s=e[_][1];i+=_ol_math_.toRadians(a-n)*(2+Math.sin(_ol_math_.toRadians(o))+Math.sin(_ol_math_.toRadians(s)));n=a;o=s}return i*t*t/2};var _ol_array_={};_ol_array_.binarySearch=function(e,t,i){var r,n;var o=i||_ol_array_.numberSafeCompareFunction;var _=0;var a=e.length;var s=false;while(_<a){r=_+(a-_>>1);n=+o(e[r],t);if(n<0){_=r+1}else{a=r;s=!n}}return s?_:~_};_ol_array_.numberSafeCompareFunction=function(e,t){return e>t?1:e<t?-1:0};_ol_array_.includes=function(e,t){return e.indexOf(t)>=0};_ol_array_.linearFindNearest=function(e,t,i){var r=e.length;if(e[0]<=t){return 0}else if(t<=e[r-1]){return r-1}else{var n;if(i>0){for(n=1;n<r;++n){if(e[n]<t){return n-1}}}else if(i<0){for(n=1;n<r;++n){if(e[n]<=t){return n}}}else{for(n=1;n<r;++n){if(e[n]==t){return n}else if(e[n]<t){if(e[n-1]-t<t-e[n]){return n-1}else{return n}}}}return r-1}};_ol_array_.reverseSubArray=function(e,t,i){while(t<i){var r=e[t];e[t]=e[i];e[i]=r;++t;--i}};_ol_array_.extend=function(e,t){var i;var r=Array.isArray(t)?t:[t];var n=r.length;for(i=0;i<n;i++){e[e.length]=r[i]}};_ol_array_.remove=function(e,t){var i=e.indexOf(t);var r=i>-1;if(r){e.splice(i,1)}return r};_ol_array_.find=function(e,t){var i=e.length>>>0;var r;for(var n=0;n<i;n++){r=e[n];if(t(r,n,e)){return r}}return null};_ol_array_.equals=function(e,t){var i=e.length;if(i!==t.length){return false}for(var r=0;r<i;r++){if(e[r]!==t[r]){return false}}return true};_ol_array_.stableSort=function(e,t){var i=e.length;var r=Array(e.length);var n;for(n=0;n<i;n++){r[n]={index:n,value:e[n]}}r.sort((function(e,i){return t(e.value,i.value)||e.index-i.index}));for(n=0;n<e.length;n++){e[n]=r[n].value}};_ol_array_.findIndex=function(e,t){var i;var r=!e.every((function(r,n){i=n;return!t(r,n,e)}));return r?i:-1};_ol_array_.isSorted=function(e,t,i){var r=t||_ol_array_.numberSafeCompareFunction;return e.every((function(t,n){if(n===0){return true}var o=r(e[n-1],t);return!(o>0||i&&o===0)}))};var _ol_extent_Corner_={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};var _ol_extent_Relationship_={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};var _ol_extent_={};_ol_extent_.boundingExtent=function(e){var t=_ol_extent_.createEmpty();for(var i=0,r=e.length;i<r;++i){_ol_extent_.extendCoordinate(t,e[i])}return t};_ol_extent_.boundingExtentXYs_=function(e,t,i){var r=Math.min.apply(null,e);var n=Math.min.apply(null,t);var o=Math.max.apply(null,e);var _=Math.max.apply(null,t);return _ol_extent_.createOrUpdate(r,n,o,_,i)};_ol_extent_.buffer=function(e,t,i){if(i){i[0]=e[0]-t;i[1]=e[1]-t;i[2]=e[2]+t;i[3]=e[3]+t;return i}else{return[e[0]-t,e[1]-t,e[2]+t,e[3]+t]}};_ol_extent_.clone=function(e,t){if(t){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];return t}else{return e.slice()}};_ol_extent_.closestSquaredDistanceXY=function(e,t,i){var r,n;if(t<e[0]){r=e[0]-t}else if(e[2]<t){r=t-e[2]}else{r=0}if(i<e[1]){n=e[1]-i}else if(e[3]<i){n=i-e[3]}else{n=0}return r*r+n*n};_ol_extent_.containsCoordinate=function(e,t){return _ol_extent_.containsXY(e,t[0],t[1])};_ol_extent_.containsExtent=function(e,t){return e[0]<=t[0]&&t[2]<=e[2]&&e[1]<=t[1]&&t[3]<=e[3]};_ol_extent_.containsXY=function(e,t,i){return e[0]<=t&&t<=e[2]&&e[1]<=i&&i<=e[3]};_ol_extent_.coordinateRelationship=function(e,t){var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=t[0];var a=t[1];var s=_ol_extent_Relationship_.UNKNOWN;if(_<i){s=s|_ol_extent_Relationship_.LEFT}else if(_>n){s=s|_ol_extent_Relationship_.RIGHT}if(a<r){s=s|_ol_extent_Relationship_.BELOW}else if(a>o){s=s|_ol_extent_Relationship_.ABOVE}if(s===_ol_extent_Relationship_.UNKNOWN){s=_ol_extent_Relationship_.INTERSECTING}return s};_ol_extent_.createEmpty=function(){return[Infinity,Infinity,-Infinity,-Infinity]};_ol_extent_.createOrUpdate=function(e,t,i,r,n){if(n){n[0]=e;n[1]=t;n[2]=i;n[3]=r;return n}else{return[e,t,i,r]}};_ol_extent_.createOrUpdateEmpty=function(e){return _ol_extent_.createOrUpdate(Infinity,Infinity,-Infinity,-Infinity,e)};_ol_extent_.createOrUpdateFromCoordinate=function(e,t){var i=e[0];var r=e[1];return _ol_extent_.createOrUpdate(i,r,i,r,t)};_ol_extent_.createOrUpdateFromCoordinates=function(e,t){var i=_ol_extent_.createOrUpdateEmpty(t);return _ol_extent_.extendCoordinates(i,e)};_ol_extent_.createOrUpdateFromFlatCoordinates=function(e,t,i,r,n){var o=_ol_extent_.createOrUpdateEmpty(n);return _ol_extent_.extendFlatCoordinates(o,e,t,i,r)};_ol_extent_.createOrUpdateFromRings=function(e,t){var i=_ol_extent_.createOrUpdateEmpty(t);return _ol_extent_.extendRings(i,e)};_ol_extent_.equals=function(e,t){return e[0]==t[0]&&e[2]==t[2]&&e[1]==t[1]&&e[3]==t[3]};_ol_extent_.extend=function(e,t){if(t[0]<e[0]){e[0]=t[0]}if(t[2]>e[2]){e[2]=t[2]}if(t[1]<e[1]){e[1]=t[1]}if(t[3]>e[3]){e[3]=t[3]}return e};_ol_extent_.extendCoordinate=function(e,t){if(t[0]<e[0]){e[0]=t[0]}if(t[0]>e[2]){e[2]=t[0]}if(t[1]<e[1]){e[1]=t[1]}if(t[1]>e[3]){e[3]=t[1]}};_ol_extent_.extendCoordinates=function(e,t){var i,r;for(i=0,r=t.length;i<r;++i){_ol_extent_.extendCoordinate(e,t[i])}return e};_ol_extent_.extendFlatCoordinates=function(e,t,i,r,n){for(;i<r;i+=n){_ol_extent_.extendXY(e,t[i],t[i+1])}return e};_ol_extent_.extendRings=function(e,t){var i,r;for(i=0,r=t.length;i<r;++i){_ol_extent_.extendCoordinates(e,t[i])}return e};_ol_extent_.extendXY=function(e,t,i){e[0]=Math.min(e[0],t);e[1]=Math.min(e[1],i);e[2]=Math.max(e[2],t);e[3]=Math.max(e[3],i)};_ol_extent_.forEachCorner=function(e,t,i){var r;r=t.call(i,_ol_extent_.getBottomLeft(e));if(r){return r}r=t.call(i,_ol_extent_.getBottomRight(e));if(r){return r}r=t.call(i,_ol_extent_.getTopRight(e));if(r){return r}r=t.call(i,_ol_extent_.getTopLeft(e));if(r){return r}return false};_ol_extent_.getArea=function(e){var t=0;if(!_ol_extent_.isEmpty(e)){t=_ol_extent_.getWidth(e)*_ol_extent_.getHeight(e)}return t};_ol_extent_.getBottomLeft=function(e){return[e[0],e[1]]};_ol_extent_.getBottomRight=function(e){return[e[2],e[1]]};_ol_extent_.getCenter=function(e){return[(e[0]+e[2])/2,(e[1]+e[3])/2]};_ol_extent_.getCorner=function(e,t){var i;if(t===_ol_extent_Corner_.BOTTOM_LEFT){i=_ol_extent_.getBottomLeft(e)}else if(t===_ol_extent_Corner_.BOTTOM_RIGHT){i=_ol_extent_.getBottomRight(e)}else if(t===_ol_extent_Corner_.TOP_LEFT){i=_ol_extent_.getTopLeft(e)}else if(t===_ol_extent_Corner_.TOP_RIGHT){i=_ol_extent_.getTopRight(e)}else{_ol_asserts_.assert(false,13)}return i};_ol_extent_.getEnlargedArea=function(e,t){var i=Math.min(e[0],t[0]);var r=Math.min(e[1],t[1]);var n=Math.max(e[2],t[2]);var o=Math.max(e[3],t[3]);return(n-i)*(o-r)};_ol_extent_.getForViewAndSize=function(e,t,i,r,n){var o=t*r[0]/2;var _=t*r[1]/2;var a=Math.cos(i);var s=Math.sin(i);var l=o*a;var h=o*s;var u=_*a;var c=_*s;var f=e[0];var d=e[1];var p=f-l+c;var v=f-l-c;var g=f+l-c;var y=f+l+c;var m=d-h-u;var E=d-h+u;var x=d+h+u;var T=d+h-u;return _ol_extent_.createOrUpdate(Math.min(p,v,g,y),Math.min(m,E,x,T),Math.max(p,v,g,y),Math.max(m,E,x,T),n)};_ol_extent_.getHeight=function(e){return e[3]-e[1]};_ol_extent_.getIntersectionArea=function(e,t){var i=_ol_extent_.getIntersection(e,t);return _ol_extent_.getArea(i)};_ol_extent_.getIntersection=function(e,t,i){var r=i?i:_ol_extent_.createEmpty();if(_ol_extent_.intersects(e,t)){if(e[0]>t[0]){r[0]=e[0]}else{r[0]=t[0]}if(e[1]>t[1]){r[1]=e[1]}else{r[1]=t[1]}if(e[2]<t[2]){r[2]=e[2]}else{r[2]=t[2]}if(e[3]<t[3]){r[3]=e[3]}else{r[3]=t[3]}}return r};_ol_extent_.getMargin=function(e){return _ol_extent_.getWidth(e)+_ol_extent_.getHeight(e)};_ol_extent_.getSize=function(e){return[e[2]-e[0],e[3]-e[1]]};_ol_extent_.getTopLeft=function(e){return[e[0],e[3]]};_ol_extent_.getTopRight=function(e){return[e[2],e[3]]};_ol_extent_.getWidth=function(e){return e[2]-e[0]};_ol_extent_.intersects=function(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]};_ol_extent_.isEmpty=function(e){return e[2]<e[0]||e[3]<e[1]};_ol_extent_.returnOrUpdate=function(e,t){if(t){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];return t}else{return e}};_ol_extent_.scaleFromCenter=function(e,t){var i=(e[2]-e[0])/2*(t-1);var r=(e[3]-e[1])/2*(t-1);e[0]-=i;e[2]+=i;e[1]-=r;e[3]+=r};_ol_extent_.intersectsSegment=function(e,t,i){var r=false;var n=_ol_extent_.coordinateRelationship(e,t);var o=_ol_extent_.coordinateRelationship(e,i);if(n===_ol_extent_Relationship_.INTERSECTING||o===_ol_extent_Relationship_.INTERSECTING){r=true}else{var _=e[0];var a=e[1];var s=e[2];var l=e[3];var h=t[0];var u=t[1];var c=i[0];var f=i[1];var d=(f-u)/(c-h);var p,v;if(!!(o&_ol_extent_Relationship_.ABOVE)&&!(n&_ol_extent_Relationship_.ABOVE)){p=c-(f-l)/d;r=p>=_&&p<=s}if(!r&&!!(o&_ol_extent_Relationship_.RIGHT)&&!(n&_ol_extent_Relationship_.RIGHT)){v=f-(c-s)*d;r=v>=a&&v<=l}if(!r&&!!(o&_ol_extent_Relationship_.BELOW)&&!(n&_ol_extent_Relationship_.BELOW)){p=c-(f-a)/d;r=p>=_&&p<=s}if(!r&&!!(o&_ol_extent_Relationship_.LEFT)&&!(n&_ol_extent_Relationship_.LEFT)){v=f-(c-_)*d;r=v>=a&&v<=l}}return r};_ol_extent_.applyTransform=function(e,t,i){var r=[e[0],e[1],e[0],e[3],e[2],e[1],e[2],e[3]];t(r,r,2);var n=[r[0],r[2],r[4],r[6]];var o=[r[1],r[3],r[5],r[7]];return _ol_extent_.boundingExtentXYs_(n,o,i)};var _ol_geom_GeometryLayout_={XY:"XY",XYZ:"XYZ",XYM:"XYM",XYZM:"XYZM"};var _ol_functions_={};_ol_functions_.TRUE=function(){return true};_ol_functions_.FALSE=function(){return false};var _ol_geom_flat_transform_={};_ol_geom_flat_transform_.transform2D=function(e,t,i,r,n,o){var _=o?o:[];var a=0;var s;for(s=t;s<i;s+=r){var l=e[s];var h=e[s+1];_[a++]=n[0]*l+n[2]*h+n[4];_[a++]=n[1]*l+n[3]*h+n[5]}if(o&&_.length!=a){_.length=a}return _};_ol_geom_flat_transform_.rotate=function(e,t,i,r,n,o,_){var a=_?_:[];var s=Math.cos(n);var l=Math.sin(n);var h=o[0];var u=o[1];var c=0;for(var f=t;f<i;f+=r){var d=e[f]-h;var p=e[f+1]-u;a[c++]=h+d*s-p*l;a[c++]=u+d*l+p*s;for(var v=f+2;v<f+r;++v){a[c++]=e[v]}}if(_&&a.length!=c){a.length=c}return a};_ol_geom_flat_transform_.scale=function(e,t,i,r,n,o,_,a){var s=a?a:[];var l=_[0];var h=_[1];var u=0;for(var c=t;c<i;c+=r){var f=e[c]-l;var d=e[c+1]-h;s[u++]=l+n*f;s[u++]=h+o*d;for(var p=c+2;p<c+r;++p){s[u++]=e[p]}}if(a&&s.length!=u){s.length=u}return s};_ol_geom_flat_transform_.translate=function(e,t,i,r,n,o,_){var a=_?_:[];var s=0;var l,h;for(l=t;l<i;l+=r){a[s++]=e[l]+n;a[s++]=e[l+1]+o;for(h=l+2;h<l+r;++h){a[s++]=e[h]}}if(_&&a.length!=s){a.length=s}return a};var _ol_proj_Units_={DEGREES:"degrees",FEET:"ft",METERS:"m",PIXELS:"pixels",TILE_PIXELS:"tile-pixels",USFEET:"us-ft"};_ol_proj_Units_.METERS_PER_UNIT={};_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]=2*Math.PI*6370997/360;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.FEET]=.3048;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.METERS]=1;_ol_proj_Units_.METERS_PER_UNIT[_ol_proj_Units_.USFEET]=1200/3937;var _ol_proj_proj4_={};_ol_proj_proj4_.cache_=null;_ol_proj_proj4_.set=function(e){_ol_proj_proj4_.cache_=e};_ol_proj_proj4_.get=function(){return _ol_proj_proj4_.cache_||window["proj4"]};var _ol_proj_Projection_=function(e){this.code_=e.code;this.units_=e.units;this.extent_=e.extent!==undefined?e.extent:null;this.worldExtent_=e.worldExtent!==undefined?e.worldExtent:null;this.axisOrientation_=e.axisOrientation!==undefined?e.axisOrientation:"enu";this.global_=e.global!==undefined?e.global:false;this.canWrapX_=!!(this.global_&&this.extent_);this.getPointResolutionFunc_=e.getPointResolution;this.defaultTileGrid_=null;this.metersPerUnit_=e.metersPerUnit;var t=e.code;if(_ol_.ENABLE_PROJ4JS){var i=_ol_proj_proj4_.get();if(typeof i=="function"){var r=i.defs(t);if(r!==undefined){if(r.axis!==undefined&&e.axisOrientation===undefined){this.axisOrientation_=r.axis}if(e.metersPerUnit===undefined){this.metersPerUnit_=r.to_meter}if(e.units===undefined){this.units_=r.units}}}}};_ol_proj_Projection_.prototype.canWrapX=function(){return this.canWrapX_};_ol_proj_Projection_.prototype.getCode=function(){return this.code_};_ol_proj_Projection_.prototype.getExtent=function(){return this.extent_};_ol_proj_Projection_.prototype.getUnits=function(){return this.units_};_ol_proj_Projection_.prototype.getMetersPerUnit=function(){return this.metersPerUnit_||_ol_proj_Units_.METERS_PER_UNIT[this.units_]};_ol_proj_Projection_.prototype.getWorldExtent=function(){return this.worldExtent_};_ol_proj_Projection_.prototype.getAxisOrientation=function(){return this.axisOrientation_};_ol_proj_Projection_.prototype.isGlobal=function(){return this.global_};_ol_proj_Projection_.prototype.setGlobal=function(e){this.global_=e;this.canWrapX_=!!(e&&this.extent_)};_ol_proj_Projection_.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_};_ol_proj_Projection_.prototype.setDefaultTileGrid=function(e){this.defaultTileGrid_=e};_ol_proj_Projection_.prototype.setExtent=function(e){this.extent_=e;this.canWrapX_=!!(this.global_&&e)};_ol_proj_Projection_.prototype.setWorldExtent=function(e){this.worldExtent_=e};_ol_proj_Projection_.prototype.setGetPointResolution=function(e){this.getPointResolutionFunc_=e};_ol_proj_Projection_.prototype.getPointResolutionFunc=function(){return this.getPointResolutionFunc_};var _ol_proj_EPSG3857_={};_ol_proj_EPSG3857_.Projection_=function(e){_ol_proj_Projection_.call(this,{code:e,units:_ol_proj_Units_.METERS,extent:_ol_proj_EPSG3857_.EXTENT,global:true,worldExtent:_ol_proj_EPSG3857_.WORLD_EXTENT,getPointResolution:function(e,t){return e/_ol_math_.cosh(t[1]/_ol_proj_EPSG3857_.RADIUS)}})};_ol_.inherits(_ol_proj_EPSG3857_.Projection_,_ol_proj_Projection_);_ol_proj_EPSG3857_.RADIUS=6378137;_ol_proj_EPSG3857_.HALF_SIZE=Math.PI*_ol_proj_EPSG3857_.RADIUS;_ol_proj_EPSG3857_.EXTENT=[-_ol_proj_EPSG3857_.HALF_SIZE,-_ol_proj_EPSG3857_.HALF_SIZE,_ol_proj_EPSG3857_.HALF_SIZE,_ol_proj_EPSG3857_.HALF_SIZE];_ol_proj_EPSG3857_.WORLD_EXTENT=[-180,-85,180,85];_ol_proj_EPSG3857_.PROJECTIONS=[new _ol_proj_EPSG3857_.Projection_("EPSG:3857"),new _ol_proj_EPSG3857_.Projection_("EPSG:102100"),new _ol_proj_EPSG3857_.Projection_("EPSG:102113"),new _ol_proj_EPSG3857_.Projection_("EPSG:900913"),new _ol_proj_EPSG3857_.Projection_("urn:ogc:def:crs:EPSG:6.18:3:3857"),new _ol_proj_EPSG3857_.Projection_("urn:ogc:def:crs:EPSG::3857"),new _ol_proj_EPSG3857_.Projection_("http://www.opengis.net/gml/srs/epsg.xml#3857")];_ol_proj_EPSG3857_.fromEPSG4326=function(e,t,i){var r=e.length,n=i>1?i:2,o=t;if(o===undefined){if(n>2){o=e.slice()}else{o=new Array(r)}}var _=_ol_proj_EPSG3857_.HALF_SIZE;for(var a=0;a<r;a+=n){o[a]=_*e[a]/180;var s=_ol_proj_EPSG3857_.RADIUS*Math.log(Math.tan(Math.PI*(e[a+1]+90)/360));if(s>_){s=_}else if(s<-_){s=-_}o[a+1]=s}return o};_ol_proj_EPSG3857_.toEPSG4326=function(e,t,i){var r=e.length,n=i>1?i:2,o=t;if(o===undefined){if(n>2){o=e.slice()}else{o=new Array(r)}}for(var _=0;_<r;_+=n){o[_]=180*e[_]/_ol_proj_EPSG3857_.HALF_SIZE;o[_+1]=360*Math.atan(Math.exp(e[_+1]/_ol_proj_EPSG3857_.RADIUS))/Math.PI-90}return o};var _ol_proj_EPSG4326_={};_ol_proj_EPSG4326_.Projection_=function(e,t){_ol_proj_Projection_.call(this,{code:e,units:_ol_proj_Units_.DEGREES,extent:_ol_proj_EPSG4326_.EXTENT,axisOrientation:t,global:true,metersPerUnit:_ol_proj_EPSG4326_.METERS_PER_UNIT,worldExtent:_ol_proj_EPSG4326_.EXTENT})};_ol_.inherits(_ol_proj_EPSG4326_.Projection_,_ol_proj_Projection_);_ol_proj_EPSG4326_.RADIUS=6378137;_ol_proj_EPSG4326_.EXTENT=[-180,-90,180,90];_ol_proj_EPSG4326_.METERS_PER_UNIT=Math.PI*_ol_proj_EPSG4326_.RADIUS/180;_ol_proj_EPSG4326_.PROJECTIONS=[new _ol_proj_EPSG4326_.Projection_("CRS:84"),new _ol_proj_EPSG4326_.Projection_("EPSG:4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:EPSG::4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:OGC:1.3:CRS84"),new _ol_proj_EPSG4326_.Projection_("urn:ogc:def:crs:OGC:2:84"),new _ol_proj_EPSG4326_.Projection_("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new _ol_proj_EPSG4326_.Projection_("urn:x-ogc:def:crs:EPSG:4326","neu")];var _ol_proj_projections_={};_ol_proj_projections_.cache_={};_ol_proj_projections_.clear=function(){_ol_proj_projections_.cache_={}};_ol_proj_projections_.get=function(e){var t=_ol_proj_projections_.cache_;return t[e]||null};_ol_proj_projections_.add=function(e,t){var i=_ol_proj_projections_.cache_;i[e]=t};var _ol_proj_transforms_={};_ol_proj_transforms_.cache_={};_ol_proj_transforms_.clear=function(){_ol_proj_transforms_.cache_={}};_ol_proj_transforms_.add=function(e,t,i){var r=e.getCode();var n=t.getCode();var o=_ol_proj_transforms_.cache_;if(!(r in o)){o[r]={}}o[r][n]=i};_ol_proj_transforms_.remove=function(e,t){var i=e.getCode();var r=t.getCode();var n=_ol_proj_transforms_.cache_;var o=n[i][r];delete n[i][r];if(_ol_obj_.isEmpty(n[i])){delete n[i]}return o};_ol_proj_transforms_.get=function(e,t){var i;var r=_ol_proj_transforms_.cache_;if(e in r&&t in r[e]){i=r[e][t]}return i};var _ol_proj_={};_ol_proj_.METERS_PER_UNIT=_ol_proj_Units_.METERS_PER_UNIT;_ol_proj_.SPHERE_=new _ol_Sphere_(_ol_Sphere_.DEFAULT_RADIUS);if(_ol_.ENABLE_PROJ4JS){_ol_proj_.setProj4=function(e){_ol_proj_proj4_.set(e)}}_ol_proj_.getPointResolution=function(e,t,i,r){e=_ol_proj_.get(e);var n;var o=e.getPointResolutionFunc();if(o){n=o(t,i)}else{var _=e.getUnits();if(_==_ol_proj_Units_.DEGREES&&!r||r==_ol_proj_Units_.DEGREES){n=t}else{var a=_ol_proj_.getTransformFromProjections(e,_ol_proj_.get("EPSG:4326"));var s=[i[0]-t/2,i[1],i[0]+t/2,i[1],i[0],i[1]-t/2,i[0],i[1]+t/2];s=a(s,s,2);var l=_ol_proj_.SPHERE_.haversineDistance(s.slice(0,2),s.slice(2,4));var h=_ol_proj_.SPHERE_.haversineDistance(s.slice(4,6),s.slice(6,8));n=(l+h)/2;var u=r?_ol_proj_Units_.METERS_PER_UNIT[r]:e.getMetersPerUnit();if(u!==undefined){n/=u}}}return n};_ol_proj_.addEquivalentProjections=function(e){_ol_proj_.addProjections(e);e.forEach((function(t){e.forEach((function(e){if(t!==e){_ol_proj_transforms_.add(t,e,_ol_proj_.cloneTransform)}}))}))};_ol_proj_.addEquivalentTransforms=function(e,t,i,r){e.forEach((function(e){t.forEach((function(t){_ol_proj_transforms_.add(e,t,i);_ol_proj_transforms_.add(t,e,r)}))}))};_ol_proj_.addProjection=function(e){_ol_proj_projections_.add(e.getCode(),e);_ol_proj_transforms_.add(e,e,_ol_proj_.cloneTransform)};_ol_proj_.addProjections=function(e){e.forEach(_ol_proj_.addProjection)};_ol_proj_.clearAllProjections=function(){_ol_proj_projections_.clear();_ol_proj_transforms_.clear()};_ol_proj_.createProjection=function(e,t){if(!e){return _ol_proj_.get(t)}else if(typeof e==="string"){return _ol_proj_.get(e)}else{return e}};_ol_proj_.addCoordinateTransforms=function(e,t,i,r){var n=_ol_proj_.get(e);var o=_ol_proj_.get(t);_ol_proj_transforms_.add(n,o,_ol_proj_.createTransformFromCoordinateTransform(i));_ol_proj_transforms_.add(o,n,_ol_proj_.createTransformFromCoordinateTransform(r))};_ol_proj_.createTransformFromCoordinateTransform=function(e){return function(t,i,r){var n=t.length;var o=r!==undefined?r:2;var _=i!==undefined?i:new Array(n);var a,s,l;for(s=0;s<n;s+=o){a=e([t[s],t[s+1]]);_[s]=a[0];_[s+1]=a[1];for(l=o-1;l>=2;--l){_[s+l]=t[s+l]}}return _}};_ol_proj_.fromLonLat=function(e,t){return _ol_proj_.transform(e,"EPSG:4326",t!==undefined?t:"EPSG:3857")};_ol_proj_.toLonLat=function(e,t){var i=_ol_proj_.transform(e,t!==undefined?t:"EPSG:3857","EPSG:4326");var r=i[0];if(r<-180||r>180){i[0]=_ol_math_.modulo(r+180,360)-180}return i};_ol_proj_.get=function(e){var t=null;if(e instanceof _ol_proj_Projection_){t=e}else if(typeof e==="string"){var i=e;t=_ol_proj_projections_.get(i);if(_ol_.ENABLE_PROJ4JS&&!t){var r=_ol_proj_proj4_.get();if(typeof r=="function"&&r.defs(i)!==undefined){t=new _ol_proj_Projection_({code:i});_ol_proj_.addProjection(t)}}}return t};_ol_proj_.equivalent=function(e,t){if(e===t){return true}var i=e.getUnits()===t.getUnits();if(e.getCode()===t.getCode()){return i}else{var r=_ol_proj_.getTransformFromProjections(e,t);return r===_ol_proj_.cloneTransform&&i}};_ol_proj_.getTransform=function(e,t){var i=_ol_proj_.get(e);var r=_ol_proj_.get(t);return _ol_proj_.getTransformFromProjections(i,r)};_ol_proj_.getTransformFromProjections=function(e,t){var i=e.getCode();var r=t.getCode();var n=_ol_proj_transforms_.get(i,r);if(_ol_.ENABLE_PROJ4JS&&!n){var o=_ol_proj_proj4_.get();if(typeof o=="function"){var _=o.defs(i);var a=o.defs(r);if(_!==undefined&&a!==undefined){if(_===a){_ol_proj_.addEquivalentProjections([t,e])}else{var s=o(r,i);_ol_proj_.addCoordinateTransforms(t,e,s.forward,s.inverse)}n=_ol_proj_transforms_.get(i,r)}}}if(!n){n=_ol_proj_.identityTransform}return n};_ol_proj_.identityTransform=function(e,t,i){if(t!==undefined&&e!==t){for(var r=0,n=e.length;r<n;++r){t[r]=e[r]}e=t}return e};_ol_proj_.cloneTransform=function(e,t,i){var r;if(t!==undefined){for(var n=0,o=e.length;n<o;++n){t[n]=e[n]}r=t}else{r=e.slice()}return r};_ol_proj_.transform=function(e,t,i){var r=_ol_proj_.getTransform(t,i);return r(e,undefined,e.length)};_ol_proj_.transformExtent=function(e,t,i){var r=_ol_proj_.getTransform(t,i);return _ol_extent_.applyTransform(e,r)};_ol_proj_.transformWithProjections=function(e,t,i){var r=_ol_proj_.getTransformFromProjections(t,i);return r(e)};_ol_proj_.addCommon=function(){_ol_proj_.addEquivalentProjections(_ol_proj_EPSG3857_.PROJECTIONS);_ol_proj_.addEquivalentProjections(_ol_proj_EPSG4326_.PROJECTIONS);_ol_proj_.addEquivalentTransforms(_ol_proj_EPSG4326_.PROJECTIONS,_ol_proj_EPSG3857_.PROJECTIONS,_ol_proj_EPSG3857_.fromEPSG4326,_ol_proj_EPSG3857_.toEPSG4326)};_ol_proj_.addCommon();var _ol_transform_={};_ol_transform_.tmp_=new Array(6);_ol_transform_.create=function(){return[1,0,0,1,0,0]};_ol_transform_.reset=function(e){return _ol_transform_.set(e,1,0,0,1,0,0)};_ol_transform_.multiply=function(e,t){var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=e[4];var a=e[5];var s=t[0];var l=t[1];var h=t[2];var u=t[3];var c=t[4];var f=t[5];e[0]=i*s+n*l;e[1]=r*s+o*l;e[2]=i*h+n*u;e[3]=r*h+o*u;e[4]=i*c+n*f+_;e[5]=r*c+o*f+a;return e};_ol_transform_.set=function(e,t,i,r,n,o,_){e[0]=t;e[1]=i;e[2]=r;e[3]=n;e[4]=o;e[5]=_;return e};_ol_transform_.setFromArray=function(e,t){e[0]=t[0];e[1]=t[1];e[2]=t[2];e[3]=t[3];e[4]=t[4];e[5]=t[5];return e};_ol_transform_.apply=function(e,t){var i=t[0],r=t[1];t[0]=e[0]*i+e[2]*r+e[4];t[1]=e[1]*i+e[3]*r+e[5];return t};_ol_transform_.rotate=function(e,t){var i=Math.cos(t);var r=Math.sin(t);return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,i,r,-r,i,0,0))};_ol_transform_.scale=function(e,t,i){return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,t,0,0,i,0,0))};_ol_transform_.translate=function(e,t,i){return _ol_transform_.multiply(e,_ol_transform_.set(_ol_transform_.tmp_,1,0,0,1,t,i))};_ol_transform_.compose=function(e,t,i,r,n,o,_,a){var s=Math.sin(o);var l=Math.cos(o);e[0]=r*l;e[1]=n*s;e[2]=-r*s;e[3]=n*l;e[4]=_*r*l-a*r*s+t;e[5]=_*n*s+a*n*l+i;return e};_ol_transform_.invert=function(e){var t=_ol_transform_.determinant(e);_ol_asserts_.assert(t!==0,32);var i=e[0];var r=e[1];var n=e[2];var o=e[3];var _=e[4];var a=e[5];e[0]=o/t;e[1]=-r/t;e[2]=-n/t;e[3]=i/t;e[4]=(n*a-o*_)/t;e[5]=-(i*a-r*_)/t;return e};_ol_transform_.determinant=function(e){return e[0]*e[3]-e[1]*e[2]};var _ol_geom_Geometry_=function(){_ol_Object_.call(this);this.extent_=_ol_extent_.createEmpty();this.extentRevision_=-1;this.simplifiedGeometryCache={};this.simplifiedGeometryMaxMinSquaredTolerance=0;this.simplifiedGeometryRevision=0;this.tmpTransform_=_ol_transform_.create()};_ol_.inherits(_ol_geom_Geometry_,_ol_Object_);_ol_geom_Geometry_.prototype.clone=function(){};_ol_geom_Geometry_.prototype.closestPointXY=function(e,t,i,r){};_ol_geom_Geometry_.prototype.getClosestPoint=function(e,t){var i=t?t:[NaN,NaN];this.closestPointXY(e[0],e[1],i,Infinity);return i};_ol_geom_Geometry_.prototype.intersectsCoordinate=function(e){return this.containsXY(e[0],e[1])};_ol_geom_Geometry_.prototype.computeExtent=function(e){};_ol_geom_Geometry_.prototype.containsXY=_ol_functions_.FALSE;_ol_geom_Geometry_.prototype.getExtent=function(e){if(this.extentRevision_!=this.getRevision()){this.extent_=this.computeExtent(this.extent_);this.extentRevision_=this.getRevision()}return _ol_extent_.returnOrUpdate(this.extent_,e)};_ol_geom_Geometry_.prototype.rotate=function(e,t){};_ol_geom_Geometry_.prototype.scale=function(e,t,i){};_ol_geom_Geometry_.prototype.simplify=function(e){return this.getSimplifiedGeometry(e*e)};_ol_geom_Geometry_.prototype.getSimplifiedGeometry=function(e){};_ol_geom_Geometry_.prototype.getType=function(){};_ol_geom_Geometry_.prototype.applyTransform=function(e){};_ol_geom_Geometry_.prototype.intersectsExtent=function(e){};_ol_geom_Geometry_.prototype.translate=function(e,t){};_ol_geom_Geometry_.prototype.transform=function(e,t){var i=this.tmpTransform_;e=_ol_proj_.get(e);var r=e.getUnits()==_ol_proj_Units_.TILE_PIXELS?function(r,n,o){var _=e.getExtent();var a=e.getWorldExtent();var s=_ol_extent_.getHeight(a)/_ol_extent_.getHeight(_);_ol_transform_.compose(i,a[0],a[3],s,-s,0,0,0);_ol_geom_flat_transform_.transform2D(r,0,r.length,o,i,n);return _ol_proj_.getTransform(e,t)(r,n,o)}:_ol_proj_.getTransform(e,t);this.applyTransform(r);return this};var _ol_geom_SimpleGeometry_=function(){_ol_geom_Geometry_.call(this);this.layout=_ol_geom_GeometryLayout_.XY;this.stride=2;this.flatCoordinates=null};_ol_.inherits(_ol_geom_SimpleGeometry_,_ol_geom_Geometry_);_ol_geom_SimpleGeometry_.getLayoutForStride_=function(e){var t;if(e==2){t=_ol_geom_GeometryLayout_.XY}else if(e==3){t=_ol_geom_GeometryLayout_.XYZ}else if(e==4){t=_ol_geom_GeometryLayout_.XYZM}return t};_ol_geom_SimpleGeometry_.getStrideForLayout=function(e){var t;if(e==_ol_geom_GeometryLayout_.XY){t=2}else if(e==_ol_geom_GeometryLayout_.XYZ||e==_ol_geom_GeometryLayout_.XYM){t=3}else if(e==_ol_geom_GeometryLayout_.XYZM){t=4}return t};_ol_geom_SimpleGeometry_.prototype.containsXY=_ol_functions_.FALSE;_ol_geom_SimpleGeometry_.prototype.computeExtent=function(e){return _ol_extent_.createOrUpdateFromFlatCoordinates(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)};_ol_geom_SimpleGeometry_.prototype.getCoordinates=function(){};_ol_geom_SimpleGeometry_.prototype.getFirstCoordinate=function(){return this.flatCoordinates.slice(0,this.stride)};_ol_geom_SimpleGeometry_.prototype.getFlatCoordinates=function(){return this.flatCoordinates};_ol_geom_SimpleGeometry_.prototype.getLastCoordinate=function(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)};_ol_geom_SimpleGeometry_.prototype.getLayout=function(){return this.layout};_ol_geom_SimpleGeometry_.prototype.getSimplifiedGeometry=function(e){if(this.simplifiedGeometryRevision!=this.getRevision()){_ol_obj_.clear(this.simplifiedGeometryCache);this.simplifiedGeometryMaxMinSquaredTolerance=0;this.simplifiedGeometryRevision=this.getRevision()}if(e<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&e<=this.simplifiedGeometryMaxMinSquaredTolerance){return this}var t=e.toString();if(this.simplifiedGeometryCache.hasOwnProperty(t)){return this.simplifiedGeometryCache[t]}else{var i=this.getSimplifiedGeometryInternal(e);var r=i.getFlatCoordinates();if(r.length<this.flatCoordinates.length){this.simplifiedGeometryCache[t]=i;return i}else{this.simplifiedGeometryMaxMinSquaredTolerance=e;return this}}};_ol_geom_SimpleGeometry_.prototype.getSimplifiedGeometryInternal=function(e){return this};_ol_geom_SimpleGeometry_.prototype.getStride=function(){return this.stride};_ol_geom_SimpleGeometry_.prototype.setFlatCoordinatesInternal=function(e,t){this.stride=_ol_geom_SimpleGeometry_.getStrideForLayout(e);this.layout=e;this.flatCoordinates=t};_ol_geom_SimpleGeometry_.prototype.setCoordinates=function(e,t){};_ol_geom_SimpleGeometry_.prototype.setLayout=function(e,t,i){var r;if(e){r=_ol_geom_SimpleGeometry_.getStrideForLayout(e)}else{var n;for(n=0;n<i;++n){if(t.length===0){this.layout=_ol_geom_GeometryLayout_.XY;this.stride=2;return}else{t=t[0]}}r=t.length;e=_ol_geom_SimpleGeometry_.getLayoutForStride_(r)}this.layout=e;this.stride=r};_ol_geom_SimpleGeometry_.prototype.applyTransform=function(e){if(this.flatCoordinates){e(this.flatCoordinates,this.flatCoordinates,this.stride);this.changed()}};_ol_geom_SimpleGeometry_.prototype.rotate=function(e,t){var i=this.getFlatCoordinates();if(i){var r=this.getStride();_ol_geom_flat_transform_.rotate(i,0,i.length,r,e,t,i);this.changed()}};_ol_geom_SimpleGeometry_.prototype.scale=function(e,t,i){var r=t;if(r===undefined){r=e}var n=i;if(!n){n=_ol_extent_.getCenter(this.getExtent())}var o=this.getFlatCoordinates();if(o){var _=this.getStride();_ol_geom_flat_transform_.scale(o,0,o.length,_,e,r,n,o);this.changed()}};_ol_geom_SimpleGeometry_.prototype.translate=function(e,t){var i=this.getFlatCoordinates();if(i){var r=this.getStride();_ol_geom_flat_transform_.translate(i,0,i.length,r,e,t,i);this.changed()}};_ol_geom_SimpleGeometry_.transform2D=function(e,t,i){var r=e.getFlatCoordinates();if(!r){return null}else{var n=e.getStride();return _ol_geom_flat_transform_.transform2D(r,0,r.length,n,t,i)}};var _ol_geom_flat_area_={};_ol_geom_flat_area_.linearRing=function(e,t,i,r){var n=0;var o=e[i-r];var _=e[i-r+1];for(;t<i;t+=r){var a=e[t];var s=e[t+1];n+=_*a-o*s;o=a;_=s}return n/2};_ol_geom_flat_area_.linearRings=function(e,t,i,r){var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n+=_ol_geom_flat_area_.linearRing(e,t,a,r);t=a}return n};_ol_geom_flat_area_.linearRingss=function(e,t,i,r){var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n+=_ol_geom_flat_area_.linearRings(e,t,a,r);t=a[a.length-1]}return n};var _ol_geom_flat_closest_={};_ol_geom_flat_closest_.point=function(e,t,i,r,n,o,_){var a=e[t];var s=e[t+1];var l=e[i]-a;var h=e[i+1]-s;var u,c;if(l===0&&h===0){c=t}else{var f=((n-a)*l+(o-s)*h)/(l*l+h*h);if(f>1){c=i}else if(f>0){for(u=0;u<r;++u){_[u]=_ol_math_.lerp(e[t+u],e[i+u],f)}_.length=r;return}else{c=t}}for(u=0;u<r;++u){_[u]=e[c+u]}_.length=r};_ol_geom_flat_closest_.getMaxSquaredDelta=function(e,t,i,r,n){var o=e[t];var _=e[t+1];for(t+=r;t<i;t+=r){var a=e[t];var s=e[t+1];var l=_ol_math_.squaredDistance(o,_,a,s);if(l>n){n=l}o=a;_=s}return n};_ol_geom_flat_closest_.getsMaxSquaredDelta=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n=_ol_geom_flat_closest_.getMaxSquaredDelta(e,t,a,r,n);t=a}return n};_ol_geom_flat_closest_.getssMaxSquaredDelta=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];n=_ol_geom_flat_closest_.getsMaxSquaredDelta(e,t,a,r,n);t=a[a.length-1]}return n};_ol_geom_flat_closest_.getClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){if(t==i){return l}var u,c;if(n===0){c=_ol_math_.squaredDistance(_,a,e[t],e[t+1]);if(c<l){for(u=0;u<r;++u){s[u]=e[t+u]}s.length=r;return c}else{return l}}var f=h?h:[NaN,NaN];var d=t+r;while(d<i){_ol_geom_flat_closest_.point(e,d-r,d,r,_,a,f);c=_ol_math_.squaredDistance(_,a,f[0],f[1]);if(c<l){l=c;for(u=0;u<r;++u){s[u]=f[u]}s.length=r;d+=r}else{d+=r*Math.max((Math.sqrt(c)-Math.sqrt(l))/n|0,1)}}if(o){_ol_geom_flat_closest_.point(e,i-r,t,r,_,a,f);c=_ol_math_.squaredDistance(_,a,f[0],f[1]);if(c<l){l=c;for(u=0;u<r;++u){s[u]=f[u]}s.length=r}}return l};_ol_geom_flat_closest_.getsClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){var u=h?h:[NaN,NaN];var c,f;for(c=0,f=i.length;c<f;++c){var d=i[c];l=_ol_geom_flat_closest_.getClosestPoint(e,t,d,r,n,o,_,a,s,l,u);t=d}return l};_ol_geom_flat_closest_.getssClosestPoint=function(e,t,i,r,n,o,_,a,s,l,h){var u=h?h:[NaN,NaN];var c,f;for(c=0,f=i.length;c<f;++c){var d=i[c];l=_ol_geom_flat_closest_.getsClosestPoint(e,t,d,r,n,o,_,a,s,l,u);t=d[d.length-1]}return l};var _ol_geom_flat_deflate_={};_ol_geom_flat_deflate_.coordinate=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){e[t++]=i[n]}return t};_ol_geom_flat_deflate_.coordinates=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){var _=i[n];var a;for(a=0;a<r;++a){e[t++]=_[a]}}return t};_ol_geom_flat_deflate_.coordinatess=function(e,t,i,r,n){var o=n?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=_ol_geom_flat_deflate_.coordinates(e,t,i[a],r);o[_++]=l;t=l}o.length=_;return o};_ol_geom_flat_deflate_.coordinatesss=function(e,t,i,r,n){var o=n?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=_ol_geom_flat_deflate_.coordinatess(e,t,i[a],r,o[_]);o[_++]=l;t=l[l.length-1]}o.length=_;return o};var _ol_geom_flat_inflate_={};_ol_geom_flat_inflate_.coordinates=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a;for(a=t;a<i;a+=r){o[_++]=e.slice(a,a+r)}o.length=_;return o};_ol_geom_flat_inflate_.coordinatess=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=i[a];o[_++]=_ol_geom_flat_inflate_.coordinates(e,t,l,r,o[_]);t=l}o.length=_;return o};_ol_geom_flat_inflate_.coordinatesss=function(e,t,i,r,n){var o=n!==undefined?n:[];var _=0;var a,s;for(a=0,s=i.length;a<s;++a){var l=i[a];o[_++]=_ol_geom_flat_inflate_.coordinatess(e,t,l,r,o[_]);t=l[l.length-1]}o.length=_;return o};var _ol_geom_flat_simplify_={};_ol_geom_flat_simplify_.lineString=function(e,t,i,r,n,o,_){var a=_!==undefined?_:[];if(!o){i=_ol_geom_flat_simplify_.radialDistance(e,t,i,r,n,a,0);e=a;t=0;r=2}a.length=_ol_geom_flat_simplify_.douglasPeucker(e,t,i,r,n,a,0);return a};_ol_geom_flat_simplify_.douglasPeucker=function(e,t,i,r,n,o,_){var a=(i-t)/r;if(a<3){for(;t<i;t+=r){o[_++]=e[t];o[_++]=e[t+1]}return _}var s=new Array(a);s[0]=1;s[a-1]=1;var l=[t,i-r];var h=0;var u;while(l.length>0){var c=l.pop();var f=l.pop();var d=0;var p=e[f];var v=e[f+1];var g=e[c];var y=e[c+1];for(u=f+r;u<c;u+=r){var m=e[u];var E=e[u+1];var x=_ol_math_.squaredSegmentDistance(m,E,p,v,g,y);if(x>d){h=u;d=x}}if(d>n){s[(h-t)/r]=1;if(f+r<h){l.push(f,h)}if(h+r<c){l.push(h,c)}}}for(u=0;u<a;++u){if(s[u]){o[_++]=e[t+u*r];o[_++]=e[t+u*r+1]}}return _};_ol_geom_flat_simplify_.douglasPeuckers=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];_=_ol_geom_flat_simplify_.douglasPeucker(e,t,h,r,n,o,_);a.push(_);t=h}return _};_ol_geom_flat_simplify_.douglasPeuckerss=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];var u=[];_=_ol_geom_flat_simplify_.douglasPeuckers(e,t,h,r,n,o,_,u);a.push(u);t=h[h.length-1]}return _};_ol_geom_flat_simplify_.radialDistance=function(e,t,i,r,n,o,_){if(i<=t+r){for(;t<i;t+=r){o[_++]=e[t];o[_++]=e[t+1]}return _}var a=e[t];var s=e[t+1];o[_++]=a;o[_++]=s;var l=a;var h=s;for(t+=r;t<i;t+=r){l=e[t];h=e[t+1];if(_ol_math_.squaredDistance(a,s,l,h)>n){o[_++]=l;o[_++]=h;a=l;s=h}}if(l!=a||h!=s){o[_++]=l;o[_++]=h}return _};_ol_geom_flat_simplify_.snap=function(e,t){return t*Math.round(e/t)};_ol_geom_flat_simplify_.quantize=function(e,t,i,r,n,o,_){if(t==i){return _}var a=_ol_geom_flat_simplify_.snap(e[t],n);var s=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;o[_++]=a;o[_++]=s;var l,h;do{l=_ol_geom_flat_simplify_.snap(e[t],n);h=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;if(t==i){o[_++]=l;o[_++]=h;return _}}while(l==a&&h==s);while(t<i){var u,c;u=_ol_geom_flat_simplify_.snap(e[t],n);c=_ol_geom_flat_simplify_.snap(e[t+1],n);t+=r;if(u==l&&c==h){continue}var f=l-a;var d=h-s;var p=u-a;var v=c-s;if(f*v==d*p&&(f<0&&p<f||f==p||f>0&&p>f)&&(d<0&&v<d||d==v||d>0&&v>d)){l=u;h=c;continue}o[_++]=l;o[_++]=h;a=l;s=h;l=u;h=c}o[_++]=l;o[_++]=h;return _};_ol_geom_flat_simplify_.quantizes=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];_=_ol_geom_flat_simplify_.quantize(e,t,h,r,n,o,_);a.push(_);t=h}return _};_ol_geom_flat_simplify_.quantizess=function(e,t,i,r,n,o,_,a){var s,l;for(s=0,l=i.length;s<l;++s){var h=i[s];var u=[];_=_ol_geom_flat_simplify_.quantizes(e,t,h,r,n,o,_,u);a.push(u);t=h[h.length-1]}return _};var _ol_geom_LinearRing_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.maxDelta_=-1;this.maxDeltaRevision_=-1;this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_LinearRing_,_ol_geom_SimpleGeometry_);_ol_geom_LinearRing_.prototype.clone=function(){var e=new _ol_geom_LinearRing_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice());return e};_ol_geom_LinearRing_.prototype.closestPointXY=function(e,t,i,r){if(r<_ol_extent_.closestSquaredDistanceXY(this.getExtent(),e,t)){return r}if(this.maxDeltaRevision_!=this.getRevision()){this.maxDelta_=Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0));this.maxDeltaRevision_=this.getRevision()}return _ol_geom_flat_closest_.getClosestPoint(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,true,e,t,i,r)};_ol_geom_LinearRing_.prototype.getArea=function(){return _ol_geom_flat_area_.linearRing(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)};_ol_geom_LinearRing_.prototype.getCoordinates=function(){return _ol_geom_flat_inflate_.coordinates(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)};_ol_geom_LinearRing_.prototype.getSimplifiedGeometryInternal=function(e){var t=[];t.length=_ol_geom_flat_simplify_.douglasPeucker(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0);var i=new _ol_geom_LinearRing_(null);i.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,t);return i};_ol_geom_LinearRing_.prototype.getType=function(){return _ol_geom_GeometryType_.LINEAR_RING};_ol_geom_LinearRing_.prototype.intersectsExtent=function(e){};_ol_geom_LinearRing_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null)}else{this.setLayout(t,e,1);if(!this.flatCoordinates){this.flatCoordinates=[]}this.flatCoordinates.length=_ol_geom_flat_deflate_.coordinates(this.flatCoordinates,0,e,this.stride);this.changed()}};_ol_geom_LinearRing_.prototype.setFlatCoordinates=function(e,t){this.setFlatCoordinatesInternal(e,t);this.changed()};var _ol_geom_Point_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_Point_,_ol_geom_SimpleGeometry_);_ol_geom_Point_.prototype.clone=function(){var e=new _ol_geom_Point_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice());return e};_ol_geom_Point_.prototype.closestPointXY=function(e,t,i,r){var n=this.flatCoordinates;var o=_ol_math_.squaredDistance(e,t,n[0],n[1]);if(o<r){var _=this.stride;var a;for(a=0;a<_;++a){i[a]=n[a]}i.length=_;return o}else{return r}};_ol_geom_Point_.prototype.getCoordinates=function(){return!this.flatCoordinates?[]:this.flatCoordinates.slice()};_ol_geom_Point_.prototype.computeExtent=function(e){return _ol_extent_.createOrUpdateFromCoordinate(this.flatCoordinates,e)};_ol_geom_Point_.prototype.getType=function(){return _ol_geom_GeometryType_.POINT};_ol_geom_Point_.prototype.intersectsExtent=function(e){return _ol_extent_.containsXY(e,this.flatCoordinates[0],this.flatCoordinates[1])};_ol_geom_Point_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null)}else{this.setLayout(t,e,0);if(!this.flatCoordinates){this.flatCoordinates=[]}this.flatCoordinates.length=_ol_geom_flat_deflate_.coordinate(this.flatCoordinates,0,e,this.stride);this.changed()}};_ol_geom_Point_.prototype.setFlatCoordinates=function(e,t){this.setFlatCoordinatesInternal(e,t);this.changed()};var _ol_geom_flat_contains_={};_ol_geom_flat_contains_.linearRingContainsExtent=function(e,t,i,r,n){var o=_ol_extent_.forEachCorner(n,(function(n){return!_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[1])}));return!o};_ol_geom_flat_contains_.linearRingContainsXY=function(e,t,i,r,n,o){var _=0;var a=e[i-r];var s=e[i-r+1];for(;t<i;t+=r){var l=e[t];var h=e[t+1];if(s<=o){if(h>o&&(l-a)*(o-s)-(n-a)*(h-s)>0){_++}}else if(h<=o&&(l-a)*(o-s)-(n-a)*(h-s)<0){_--}a=l;s=h}return _!==0};_ol_geom_flat_contains_.linearRingsContainsXY=function(e,t,i,r,n,o){if(i.length===0){return false}if(!_ol_geom_flat_contains_.linearRingContainsXY(e,t,i[0],r,n,o)){return false}var _,a;for(_=1,a=i.length;_<a;++_){if(_ol_geom_flat_contains_.linearRingContainsXY(e,i[_-1],i[_],r,n,o)){return false}}return true};_ol_geom_flat_contains_.linearRingssContainsXY=function(e,t,i,r,n,o){if(i.length===0){return false}var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];if(_ol_geom_flat_contains_.linearRingsContainsXY(e,t,s,r,n,o)){return true}t=s[s.length-1]}return false};var _ol_geom_flat_interiorpoint_={};_ol_geom_flat_interiorpoint_.linearRings=function(e,t,i,r,n,o,_){var a,s,l,h,u,c,f;var d=n[o+1];var p=[];for(var v=0,g=i.length;v<g;++v){var y=i[v];h=e[y-r];c=e[y-r+1];for(a=t;a<y;a+=r){u=e[a];f=e[a+1];if(d<=c&&f<=d||c<=d&&d<=f){l=(d-c)/(f-c)*(u-h)+h;p.push(l)}h=u;c=f}}var m=NaN;var E=-Infinity;p.sort(_ol_array_.numberSafeCompareFunction);h=p[0];for(a=1,s=p.length;a<s;++a){u=p[a];var x=Math.abs(u-h);if(x>E){l=(h+u)/2;if(_ol_geom_flat_contains_.linearRingsContainsXY(e,t,i,r,l,d)){m=l;E=x}}h=u}if(isNaN(m)){m=n[o]}if(_){_.push(m,d,E);return _}else{return[m,d,E]}};_ol_geom_flat_interiorpoint_.linearRingss=function(e,t,i,r,n){var o=[];var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];o=_ol_geom_flat_interiorpoint_.linearRings(e,t,s,r,n,2*_,o);t=s[s.length-1]}return o};var _ol_geom_flat_segments_={};_ol_geom_flat_segments_.forEach=function(e,t,i,r,n,o){var _=[e[t],e[t+1]];var a=[];var s;for(;t+r<i;t+=r){a[0]=e[t+r];a[1]=e[t+r+1];s=n.call(o,_,a);if(s){return s}_[0]=a[0];_[1]=a[1]}return false};var _ol_geom_flat_intersectsextent_={};_ol_geom_flat_intersectsextent_.lineString=function(e,t,i,r,n){var o=_ol_extent_.extendFlatCoordinates(_ol_extent_.createEmpty(),e,t,i,r);if(!_ol_extent_.intersects(n,o)){return false}if(_ol_extent_.containsExtent(n,o)){return true}if(o[0]>=n[0]&&o[2]<=n[2]){return true}if(o[1]>=n[1]&&o[3]<=n[3]){return true}return _ol_geom_flat_segments_.forEach(e,t,i,r,(function(e,t){return _ol_extent_.intersectsSegment(n,e,t)}))};_ol_geom_flat_intersectsextent_.lineStrings=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){if(_ol_geom_flat_intersectsextent_.lineString(e,t,i[o],r,n)){return true}t=i[o]}return false};_ol_geom_flat_intersectsextent_.linearRing=function(e,t,i,r,n){if(_ol_geom_flat_intersectsextent_.lineString(e,t,i,r,n)){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[1])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[0],n[3])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[2],n[1])){return true}if(_ol_geom_flat_contains_.linearRingContainsXY(e,t,i,r,n[2],n[3])){return true}return false};_ol_geom_flat_intersectsextent_.linearRings=function(e,t,i,r,n){if(!_ol_geom_flat_intersectsextent_.linearRing(e,t,i[0],r,n)){return false}if(i.length===1){return true}var o,_;for(o=1,_=i.length;o<_;++o){if(_ol_geom_flat_contains_.linearRingContainsExtent(e,i[o-1],i[o],r,n)){return false}}return true};_ol_geom_flat_intersectsextent_.linearRingss=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];if(_ol_geom_flat_intersectsextent_.linearRings(e,t,a,r,n)){return true}t=a[a.length-1]}return false};var _ol_geom_flat_reverse_={};_ol_geom_flat_reverse_.coordinates=function(e,t,i,r){while(t<i-r){var n;for(n=0;n<r;++n){var o=e[t+n];e[t+n]=e[i-r+n];e[i-r+n]=o}t+=r;i-=r}};var _ol_geom_flat_orient_={};_ol_geom_flat_orient_.linearRingIsClockwise=function(e,t,i,r){var n=0;var o=e[i-r];var _=e[i-r+1];for(;t<i;t+=r){var a=e[t];var s=e[t+1];n+=(a-o)*(s+_);o=a;_=s}return n>0};_ol_geom_flat_orient_.linearRingsAreOriented=function(e,t,i,r,n){var o=n!==undefined?n:false;var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];var l=_ol_geom_flat_orient_.linearRingIsClockwise(e,t,s,r);if(_===0){if(o&&l||!o&&!l){return false}}else{if(o&&!l||!o&&l){return false}}t=s}return true};_ol_geom_flat_orient_.linearRingssAreOriented=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){if(!_ol_geom_flat_orient_.linearRingsAreOriented(e,t,i[o],r,n)){return false}}return true};_ol_geom_flat_orient_.orientLinearRings=function(e,t,i,r,n){var o=n!==undefined?n:false;var _,a;for(_=0,a=i.length;_<a;++_){var s=i[_];var l=_ol_geom_flat_orient_.linearRingIsClockwise(e,t,s,r);var h=_===0?o&&l||!o&&!l:o&&!l||!o&&l;if(h){_ol_geom_flat_reverse_.coordinates(e,t,s,r)}t=s}return t};_ol_geom_flat_orient_.orientLinearRingss=function(e,t,i,r,n){var o,_;for(o=0,_=i.length;o<_;++o){t=_ol_geom_flat_orient_.orientLinearRings(e,t,i[o],r,n)}return t};var _ol_geom_Polygon_=function(e,t){_ol_geom_SimpleGeometry_.call(this);this.ends_=[];this.flatInteriorPointRevision_=-1;this.flatInteriorPoint_=null;this.maxDelta_=-1;this.maxDeltaRevision_=-1;this.orientedRevision_=-1;this.orientedFlatCoordinates_=null;this.setCoordinates(e,t)};_ol_.inherits(_ol_geom_Polygon_,_ol_geom_SimpleGeometry_);_ol_geom_Polygon_.prototype.appendLinearRing=function(e){if(!this.flatCoordinates){this.flatCoordinates=e.getFlatCoordinates().slice()}else{_ol_array_.extend(this.flatCoordinates,e.getFlatCoordinates())}this.ends_.push(this.flatCoordinates.length);this.changed()};_ol_geom_Polygon_.prototype.clone=function(){var e=new _ol_geom_Polygon_(null);e.setFlatCoordinates(this.layout,this.flatCoordinates.slice(),this.ends_.slice());return e};_ol_geom_Polygon_.prototype.closestPointXY=function(e,t,i,r){if(r<_ol_extent_.closestSquaredDistanceXY(this.getExtent(),e,t)){return r}if(this.maxDeltaRevision_!=this.getRevision()){this.maxDelta_=Math.sqrt(_ol_geom_flat_closest_.getsMaxSquaredDelta(this.flatCoordinates,0,this.ends_,this.stride,0));this.maxDeltaRevision_=this.getRevision()}return _ol_geom_flat_closest_.getsClosestPoint(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,true,e,t,i,r)};_ol_geom_Polygon_.prototype.containsXY=function(e,t){return _ol_geom_flat_contains_.linearRingsContainsXY(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,t)};_ol_geom_Polygon_.prototype.getArea=function(){return _ol_geom_flat_area_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)};_ol_geom_Polygon_.prototype.getCoordinates=function(e){var t;if(e!==undefined){t=this.getOrientedFlatCoordinates().slice();_ol_geom_flat_orient_.orientLinearRings(t,0,this.ends_,this.stride,e)}else{t=this.flatCoordinates}return _ol_geom_flat_inflate_.coordinatess(t,0,this.ends_,this.stride)};_ol_geom_Polygon_.prototype.getEnds=function(){return this.ends_};_ol_geom_Polygon_.prototype.getFlatInteriorPoint=function(){if(this.flatInteriorPointRevision_!=this.getRevision()){var e=_ol_extent_.getCenter(this.getExtent());this.flatInteriorPoint_=_ol_geom_flat_interiorpoint_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,0);this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_};_ol_geom_Polygon_.prototype.getInteriorPoint=function(){return new _ol_geom_Point_(this.getFlatInteriorPoint(),_ol_geom_GeometryLayout_.XYM)};_ol_geom_Polygon_.prototype.getLinearRingCount=function(){return this.ends_.length};_ol_geom_Polygon_.prototype.getLinearRing=function(e){if(e<0||this.ends_.length<=e){return null}var t=new _ol_geom_LinearRing_(null);t.setFlatCoordinates(this.layout,this.flatCoordinates.slice(e===0?0:this.ends_[e-1],this.ends_[e]));return t};_ol_geom_Polygon_.prototype.getLinearRings=function(){var e=this.layout;var t=this.flatCoordinates;var i=this.ends_;var r=[];var n=0;var o,_;for(o=0,_=i.length;o<_;++o){var a=i[o];var s=new _ol_geom_LinearRing_(null);s.setFlatCoordinates(e,t.slice(n,a));r.push(s);n=a}return r};_ol_geom_Polygon_.prototype.getOrientedFlatCoordinates=function(){if(this.orientedRevision_!=this.getRevision()){var e=this.flatCoordinates;if(_ol_geom_flat_orient_.linearRingsAreOriented(e,0,this.ends_,this.stride)){this.orientedFlatCoordinates_=e}else{this.orientedFlatCoordinates_=e.slice();this.orientedFlatCoordinates_.length=_ol_geom_flat_orient_.orientLinearRings(this.orientedFlatCoordinates_,0,this.ends_,this.stride)}this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_};_ol_geom_Polygon_.prototype.getSimplifiedGeometryInternal=function(e){var t=[];var i=[];t.length=_ol_geom_flat_simplify_.quantizes(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(e),t,0,i);var r=new _ol_geom_Polygon_(null);r.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,t,i);return r};_ol_geom_Polygon_.prototype.getType=function(){return _ol_geom_GeometryType_.POLYGON};_ol_geom_Polygon_.prototype.intersectsExtent=function(e){return _ol_geom_flat_intersectsextent_.linearRings(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e)};_ol_geom_Polygon_.prototype.setCoordinates=function(e,t){if(!e){this.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,null,this.ends_)}else{this.setLayout(t,e,2);if(!this.flatCoordinates){this.flatCoordinates=[]}var i=_ol_geom_flat_deflate_.coordinatess(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1];this.changed()}};_ol_geom_Polygon_.prototype.setFlatCoordinates=function(e,t,i){this.setFlatCoordinatesInternal(e,t);this.ends_=i;this.changed()};_ol_geom_Polygon_.circular=function(e,t,i,r){var n=r?r:32;var o=[];var _;for(_=0;_<n;++_){_ol_array_.extend(o,e.offset(t,i,2*Math.PI*_/n))}o.push(o[0],o[1]);var a=new _ol_geom_Polygon_(null);a.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,o,[o.length]);return a};_ol_geom_Polygon_.fromExtent=function(e){var t=e[0];var i=e[1];var r=e[2];var n=e[3];var o=[t,i,t,n,r,n,r,i,t,i];var _=new _ol_geom_Polygon_(null);_.setFlatCoordinates(_ol_geom_GeometryLayout_.XY,o,[o.length]);return _};_ol_geom_Polygon_.fromCircle=function(e,t,i){var r=t?t:32;var n=e.getStride();var o=e.getLayout();var _=new _ol_geom_Polygon_(null,o);var a=n*(r+1);var s=new Array(a);for(var l=0;l<a;l++){s[l]=0}var h=[s.length];_.setFlatCoordinates(o,s,h);_ol_geom_Polygon_.makeRegular(_,e.getCenter(),e.getRadius(),i);return _};_ol_geom_Polygon_.makeRegular=function(e,t,i,r){var n=e.getFlatCoordinates();var o=e.getLayout();var _=e.getStride();var a=e.getEnds();var s=n.length/_-1;var l=r?r:0;var h,u;for(var c=0;c<=s;++c){u=c*_;h=l+_ol_math_.modulo(c,s)*2*Math.PI/s;n[u]=t[0]+i*Math.cos(h);n[u+1]=t[1]+i*Math.sin(h)}e.setFlatCoordinates(o,n,a)};var _ol_webgl_={};_ol_webgl_.ONE=1;_ol_webgl_.SRC_ALPHA=770;_ol_webgl_.COLOR_ATTACHMENT0=36064;_ol_webgl_.COLOR_BUFFER_BIT=16384;_ol_webgl_.TRIANGLES=4;_ol_webgl_.TRIANGLE_STRIP=5;_ol_webgl_.ONE_MINUS_SRC_ALPHA=771;_ol_webgl_.ARRAY_BUFFER=34962;_ol_webgl_.ELEMENT_ARRAY_BUFFER=34963;_ol_webgl_.STREAM_DRAW=35040;_ol_webgl_.STATIC_DRAW=35044;_ol_webgl_.DYNAMIC_DRAW=35048;_ol_webgl_.CULL_FACE=2884;_ol_webgl_.BLEND=3042;_ol_webgl_.STENCIL_TEST=2960;_ol_webgl_.DEPTH_TEST=2929;_ol_webgl_.SCISSOR_TEST=3089;_ol_webgl_.UNSIGNED_BYTE=5121;_ol_webgl_.UNSIGNED_SHORT=5123;_ol_webgl_.UNSIGNED_INT=5125;_ol_webgl_.FLOAT=5126;_ol_webgl_.RGBA=6408;_ol_webgl_.FRAGMENT_SHADER=35632;_ol_webgl_.VERTEX_SHADER=35633;_ol_webgl_.LINK_STATUS=35714;_ol_webgl_.LINEAR=9729;_ol_webgl_.TEXTURE_MAG_FILTER=10240;_ol_webgl_.TEXTURE_MIN_FILTER=10241;_ol_webgl_.TEXTURE_WRAP_S=10242;_ol_webgl_.TEXTURE_WRAP_T=10243;_ol_webgl_.TEXTURE_2D=3553;_ol_webgl_.TEXTURE0=33984;_ol_webgl_.CLAMP_TO_EDGE=33071;_ol_webgl_.COMPILE_STATUS=35713;_ol_webgl_.FRAMEBUFFER=36160;_ol_webgl_.CONTEXT_IDS_=["experimental-webgl","webgl","webkit-3d","moz-webgl"];_ol_webgl_.getContext=function(e,t){var i,r,n=_ol_webgl_.CONTEXT_IDS_.length;for(r=0;r<n;++r){try{i=e.getContext(_ol_webgl_.CONTEXT_IDS_[r],t);if(i){return i}}catch(o){}}return null};var _ol_has_={};var ua=typeof navigator!=="undefined"?navigator.userAgent.toLowerCase():"";_ol_has_.FIREFOX=ua.indexOf("firefox")!==-1;_ol_has_.SAFARI=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")==-1;_ol_has_.WEBKIT=ua.indexOf("webkit")!==-1&&ua.indexOf("edge")==-1;_ol_has_.MAC=ua.indexOf("macintosh")!==-1;_ol_has_.DEVICE_PIXEL_RATIO=window.devicePixelRatio||1;_ol_has_.CANVAS_LINE_DASH=false;_ol_has_.CANVAS=_ol_.ENABLE_CANVAS&&function(){if(!("HTMLCanvasElement"in window)){return false}try{var e=document.createElement("CANVAS").getContext("2d");if(!e){return false}else{if(e.setLineDash!==undefined){_ol_has_.CANVAS_LINE_DASH=true}return true}}catch(t){return false}}();_ol_has_.DEVICE_ORIENTATION="DeviceOrientationEvent"in window;_ol_has_.GEOLOCATION="geolocation"in navigator;_ol_has_.TOUCH=_ol_.ASSUME_TOUCH||"ontouchstart"in window;_ol_has_.POINTER="PointerEvent"in window;_ol_has_.MSPOINTER=!!navigator.msPointerEnabled;(function(){if(_ol_.ENABLE_WEBGL){var e=false;var t;var i=[];if("WebGLRenderingContext"in window){try{var r=document.createElement("CANVAS");var n=_ol_webgl_.getContext(r,{failIfMajorPerformanceCaveat:true});if(n){e=true;t=n.getParameter(n.MAX_TEXTURE_SIZE);i=n.getSupportedExtensions()}}catch(o){}}_ol_has_.WEBGL=e;_ol_.WEBGL_EXTENSIONS=i;_ol_.WEBGL_MAX_TEXTURE_SIZE=t}})();var _ol_Geolocation_=function(e){_ol_Object_.call(this);var t=e||{};this.position_=null;this.transform_=_ol_proj_.identityTransform;this.sphere_=new _ol_Sphere_(_ol_proj_EPSG4326_.RADIUS);this.watchId_=undefined;_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_GeolocationProperty_.PROJECTION),this.handleProjectionChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_GeolocationProperty_.TRACKING),this.handleTrackingChanged_,this);if(t.projection!==undefined){this.setProjection(t.projection)}if(t.trackingOptions!==undefined){this.setTrackingOptions(t.trackingOptions)}this.setTracking(t.tracking!==undefined?t.tracking:false)};_ol_.inherits(_ol_Geolocation_,_ol_Object_);_ol_Geolocation_.prototype.disposeInternal=function(){this.setTracking(false);_ol_Object_.prototype.disposeInternal.call(this)};_ol_Geolocation_.prototype.handleProjectionChanged_=function(){var e=this.getProjection();if(e){this.transform_=_ol_proj_.getTransformFromProjections(_ol_proj_.get("EPSG:4326"),e);if(this.position_){this.set(_ol_GeolocationProperty_.POSITION,this.transform_(this.position_))}}};_ol_Geolocation_.prototype.handleTrackingChanged_=function(){if(_ol_has_.GEOLOCATION){var e=this.getTracking();if(e&&this.watchId_===undefined){this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions())}else if(!e&&this.watchId_!==undefined){navigator.geolocation.clearWatch(this.watchId_);this.watchId_=undefined}}};_ol_Geolocation_.prototype.positionChange_=function(e){var t=e.coords;this.set(_ol_GeolocationProperty_.ACCURACY,t.accuracy);this.set(_ol_GeolocationProperty_.ALTITUDE,t.altitude===null?undefined:t.altitude);this.set(_ol_GeolocationProperty_.ALTITUDE_ACCURACY,t.altitudeAccuracy===null?undefined:t.altitudeAccuracy);this.set(_ol_GeolocationProperty_.HEADING,t.heading===null?undefined:_ol_math_.toRadians(t.heading));if(!this.position_){this.position_=[t.longitude,t.latitude]}else{this.position_[0]=t.longitude;this.position_[1]=t.latitude}var i=this.transform_(this.position_);this.set(_ol_GeolocationProperty_.POSITION,i);this.set(_ol_GeolocationProperty_.SPEED,t.speed===null?undefined:t.speed);var r=_ol_geom_Polygon_.circular(this.sphere_,this.position_,t.accuracy);r.applyTransform(this.transform_);this.set(_ol_GeolocationProperty_.ACCURACY_GEOMETRY,r);this.changed()};_ol_Geolocation_.prototype.positionError_=function(e){e.type=_ol_events_EventType_.ERROR;this.setTracking(false);this.dispatchEvent(e)};_ol_Geolocation_.prototype.getAccuracy=function(){return this.get(_ol_GeolocationProperty_.ACCURACY)};_ol_Geolocation_.prototype.getAccuracyGeometry=function(){return this.get(_ol_GeolocationProperty_.ACCURACY_GEOMETRY)||null};_ol_Geolocation_.prototype.getAltitude=function(){return this.get(_ol_GeolocationProperty_.ALTITUDE)};_ol_Geolocation_.prototype.getAltitudeAccuracy=function(){return this.get(_ol_GeolocationProperty_.ALTITUDE_ACCURACY)};_ol_Geolocation_.prototype.getHeading=function(){return this.get(_ol_GeolocationProperty_.HEADING)};_ol_Geolocation_.prototype.getPosition=function(){return this.get(_ol_GeolocationProperty_.POSITION)};_ol_Geolocation_.prototype.getProjection=function(){return this.get(_ol_GeolocationProperty_.PROJECTION)};_ol_Geolocation_.prototype.getSpeed=function(){return this.get(_ol_GeolocationProperty_.SPEED)};_ol_Geolocation_.prototype.getTracking=function(){return this.get(_ol_GeolocationProperty_.TRACKING)};_ol_Geolocation_.prototype.getTrackingOptions=function(){return this.get(_ol_GeolocationProperty_.TRACKING_OPTIONS)};_ol_Geolocation_.prototype.setProjection=function(e){this.set(_ol_GeolocationProperty_.PROJECTION,_ol_proj_.get(e))};_ol_Geolocation_.prototype.setTracking=function(e){this.set(_ol_GeolocationProperty_.TRACKING,e)};_ol_Geolocation_.prototype.setTrackingOptions=function(e){this.set(_ol_GeolocationProperty_.TRACKING_OPTIONS,e)};var _ol_CollectionEventType_={ADD:"add",REMOVE:"remove"};var _ol_Collection_=function(e,t){_ol_Object_.call(this);var i=t||{};this.unique_=!!i.unique;this.array_=e?e:[];if(this.unique_){for(var r=0,n=this.array_.length;r<n;++r){this.assertUnique_(this.array_[r],r)}}this.updateLength_()};_ol_.inherits(_ol_Collection_,_ol_Object_);_ol_Collection_.prototype.clear=function(){while(this.getLength()>0){this.pop()}};_ol_Collection_.prototype.extend=function(e){var t,i;for(t=0,i=e.length;t<i;++t){this.push(e[t])}return this};_ol_Collection_.prototype.forEach=function(e,t){var i=t?e.bind(t):e;var r=this.array_;for(var n=0,o=r.length;n<o;++n){i(r[n],n,r)}};_ol_Collection_.prototype.getArray=function(){return this.array_};_ol_Collection_.prototype.item=function(e){return this.array_[e]};_ol_Collection_.prototype.getLength=function(){return this.get(_ol_Collection_.Property_.LENGTH)};_ol_Collection_.prototype.insertAt=function(e,t){if(this.unique_){this.assertUnique_(t)}this.array_.splice(e,0,t);this.updateLength_();this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.ADD,t))};_ol_Collection_.prototype.pop=function(){return this.removeAt(this.getLength()-1)};_ol_Collection_.prototype.push=function(e){if(this.unique_){this.assertUnique_(e)}var t=this.getLength();this.insertAt(t,e);return this.getLength()};_ol_Collection_.prototype.remove=function(e){var t=this.array_;var i,r;for(i=0,r=t.length;i<r;++i){if(t[i]===e){return this.removeAt(i)}}return undefined};_ol_Collection_.prototype.removeAt=function(e){var t=this.array_[e];this.array_.splice(e,1);this.updateLength_();this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.REMOVE,t));return t};_ol_Collection_.prototype.setAt=function(e,t){var i=this.getLength();if(e<i){if(this.unique_){this.assertUnique_(t,e)}var r=this.array_[e];this.array_[e]=t;this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.REMOVE,r));this.dispatchEvent(new _ol_Collection_.Event(_ol_CollectionEventType_.ADD,t))}else{var n;for(n=i;n<e;++n){this.insertAt(n,undefined)}this.insertAt(e,t)}};_ol_Collection_.prototype.updateLength_=function(){this.set(_ol_Collection_.Property_.LENGTH,this.array_.length)};_ol_Collection_.prototype.assertUnique_=function(e,t){for(var i=0,r=this.array_.length;i<r;++i){if(this.array_[i]===e&&i!==t){throw new _ol_AssertionError_(58)}}};_ol_Collection_.Property_={LENGTH:"length"};_ol_Collection_.Event=function(e,t){_ol_events_Event_.call(this,e);this.element=t};_ol_.inherits(_ol_Collection_.Event,_ol_events_Event_);var _ol_MapEvent_=function(e,t,i){_ol_events_Event_.call(this,e);this.map=t;this.frameState=i!==undefined?i:null};_ol_.inherits(_ol_MapEvent_,_ol_events_Event_);var _ol_MapBrowserEvent_=function(e,t,i,r,n){_ol_MapEvent_.call(this,e,t,n);this.originalEvent=i;this.pixel=t.getEventPixel(i);this.coordinate=t.getCoordinateFromPixel(this.pixel);this.dragging=r!==undefined?r:false};_ol_.inherits(_ol_MapBrowserEvent_,_ol_MapEvent_);_ol_MapBrowserEvent_.prototype.preventDefault=function(){_ol_MapEvent_.prototype.preventDefault.call(this);this.originalEvent.preventDefault()};_ol_MapBrowserEvent_.prototype.stopPropagation=function(){_ol_MapEvent_.prototype.stopPropagation.call(this);this.originalEvent.stopPropagation()};var _ol_MapBrowserEventType_={SINGLECLICK:"singleclick",CLICK:_ol_events_EventType_.CLICK,DBLCLICK:_ol_events_EventType_.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var _ol_MapBrowserPointerEvent_=function(e,t,i,r,n){_ol_MapBrowserEvent_.call(this,e,t,i.originalEvent,r,n);this.pointerEvent=i};_ol_.inherits(_ol_MapBrowserPointerEvent_,_ol_MapBrowserEvent_);var _ol_pointer_EventType_={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var _ol_pointer_EventSource_=function(e,t){this.dispatcher=e;this.mapping_=t};_ol_pointer_EventSource_.prototype.getEvents=function(){return Object.keys(this.mapping_)};_ol_pointer_EventSource_.prototype.getHandlerForEvent=function(e){return this.mapping_[e]};var _ol_pointer_MouseSource_=function(e){var t={mousedown:this.mousedown,mousemove:this.mousemove,mouseup:this.mouseup,mouseover:this.mouseover,mouseout:this.mouseout};_ol_pointer_EventSource_.call(this,e,t);this.pointerMap=e.pointerMap;this.lastTouches=[]};_ol_.inherits(_ol_pointer_MouseSource_,_ol_pointer_EventSource_);_ol_pointer_MouseSource_.POINTER_ID=1;_ol_pointer_MouseSource_.POINTER_TYPE="mouse";_ol_pointer_MouseSource_.DEDUP_DIST=25;_ol_pointer_MouseSource_.prototype.isEventSimulatedFromTouch_=function(e){var t=this.lastTouches;var i=e.clientX,r=e.clientY;for(var n=0,o=t.length,_;n<o&&(_=t[n]);n++){var a=Math.abs(i-_[0]),s=Math.abs(r-_[1]);if(a<=_ol_pointer_MouseSource_.DEDUP_DIST&&s<=_ol_pointer_MouseSource_.DEDUP_DIST){return true}}return false};_ol_pointer_MouseSource_.prepareEvent=function(e,t){var i=t.cloneEvent(e,e);var r=i.preventDefault;i.preventDefault=function(){e.preventDefault();r()};i.pointerId=_ol_pointer_MouseSource_.POINTER_ID;i.isPrimary=true;i.pointerType=_ol_pointer_MouseSource_.POINTER_TYPE;return i};_ol_pointer_MouseSource_.prototype.mousedown=function(e){if(!this.isEventSimulatedFromTouch_(e)){if(_ol_pointer_MouseSource_.POINTER_ID.toString()in this.pointerMap){this.cancel(e)}var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()]=e;this.dispatcher.down(t,e)}};_ol_pointer_MouseSource_.prototype.mousemove=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.move(t,e)}};_ol_pointer_MouseSource_.prototype.mouseup=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()];if(t&&t.button===e.button){var i=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.up(i,e);this.cleanupMouse()}}};_ol_pointer_MouseSource_.prototype.mouseover=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.enterOver(t,e)}};_ol_pointer_MouseSource_.prototype.mouseout=function(e){if(!this.isEventSimulatedFromTouch_(e)){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.leaveOut(t,e)}};_ol_pointer_MouseSource_.prototype.cancel=function(e){var t=_ol_pointer_MouseSource_.prepareEvent(e,this.dispatcher);this.dispatcher.cancel(t,e);this.cleanupMouse()};_ol_pointer_MouseSource_.prototype.cleanupMouse=function(){delete this.pointerMap[_ol_pointer_MouseSource_.POINTER_ID.toString()]};var _ol_pointer_MsSource_=function(e){var t={MSPointerDown:this.msPointerDown,MSPointerMove:this.msPointerMove,MSPointerUp:this.msPointerUp,MSPointerOut:this.msPointerOut,MSPointerOver:this.msPointerOver,MSPointerCancel:this.msPointerCancel,MSGotPointerCapture:this.msGotPointerCapture,MSLostPointerCapture:this.msLostPointerCapture};_ol_pointer_EventSource_.call(this,e,t);this.pointerMap=e.pointerMap;this.POINTER_TYPES=["","unavailable","touch","pen","mouse"]};_ol_.inherits(_ol_pointer_MsSource_,_ol_pointer_EventSource_);_ol_pointer_MsSource_.prototype.prepareEvent_=function(e){var t=e;if(typeof e.pointerType==="number"){t=this.dispatcher.cloneEvent(e,e);t.pointerType=this.POINTER_TYPES[e.pointerType]}return t};_ol_pointer_MsSource_.prototype.cleanup=function(e){delete this.pointerMap[e.toString()]};_ol_pointer_MsSource_.prototype.msPointerDown=function(e){this.pointerMap[e.pointerId.toString()]=e;var t=this.prepareEvent_(e);this.dispatcher.down(t,e)};_ol_pointer_MsSource_.prototype.msPointerMove=function(e){var t=this.prepareEvent_(e);this.dispatcher.move(t,e)};_ol_pointer_MsSource_.prototype.msPointerUp=function(e){var t=this.prepareEvent_(e);this.dispatcher.up(t,e);this.cleanup(e.pointerId)};_ol_pointer_MsSource_.prototype.msPointerOut=function(e){var t=this.prepareEvent_(e);this.dispatcher.leaveOut(t,e)};_ol_pointer_MsSource_.prototype.msPointerOver=function(e){var t=this.prepareEvent_(e);this.dispatcher.enterOver(t,e)};_ol_pointer_MsSource_.prototype.msPointerCancel=function(e){var t=this.prepareEvent_(e);this.dispatcher.cancel(t,e);this.cleanup(e.pointerId)};_ol_pointer_MsSource_.prototype.msLostPointerCapture=function(e){var t=this.dispatcher.makeEvent("lostpointercapture",e,e);this.dispatcher.dispatchEvent(t)};_ol_pointer_MsSource_.prototype.msGotPointerCapture=function(e){var t=this.dispatcher.makeEvent("gotpointercapture",e,e);this.dispatcher.dispatchEvent(t)};var _ol_pointer_NativeSource_=function(e){var t={pointerdown:this.pointerDown,pointermove:this.pointerMove,pointerup:this.pointerUp,pointerout:this.pointerOut,pointerover:this.pointerOver,pointercancel:this.pointerCancel,gotpointercapture:this.gotPointerCapture,lostpointercapture:this.lostPointerCapture};_ol_pointer_EventSource_.call(this,e,t)};_ol_.inherits(_ol_pointer_NativeSource_,_ol_pointer_EventSource_);_ol_pointer_NativeSource_.prototype.pointerDown=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerMove=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerUp=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerOut=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerOver=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.pointerCancel=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.lostPointerCapture=function(e){this.dispatcher.fireNativeEvent(e)};_ol_pointer_NativeSource_.prototype.gotPointerCapture=function(e){this.dispatcher.fireNativeEvent(e)};var _ol_pointer_PointerEvent_=function(e,t,i){_ol_events_Event_.call(this,e);this.originalEvent=t;var r=i?i:{};this.buttons=this.getButtons_(r);this.pressure=this.getPressure_(r,this.buttons);this.bubbles="bubbles"in r?r["bubbles"]:false;this.cancelable="cancelable"in r?r["cancelable"]:false;this.view="view"in r?r["view"]:null;this.detail="detail"in r?r["detail"]:null;this.screenX="screenX"in r?r["screenX"]:0;this.screenY="screenY"in r?r["screenY"]:0;this.clientX="clientX"in r?r["clientX"]:0;this.clientY="clientY"in r?r["clientY"]:0;this.ctrlKey="ctrlKey"in r?r["ctrlKey"]:false;this.altKey="altKey"in r?r["altKey"]:false;this.shiftKey="shiftKey"in r?r["shiftKey"]:false;this.metaKey="metaKey"in r?r["metaKey"]:false;this.button="button"in r?r["button"]:0;this.relatedTarget="relatedTarget"in r?r["relatedTarget"]:null;this.pointerId="pointerId"in r?r["pointerId"]:0;this.width="width"in r?r["width"]:0;this.height="height"in r?r["height"]:0;this.tiltX="tiltX"in r?r["tiltX"]:0;this.tiltY="tiltY"in r?r["tiltY"]:0;this.pointerType="pointerType"in r?r["pointerType"]:"";this.hwTimestamp="hwTimestamp"in r?r["hwTimestamp"]:0;this.isPrimary="isPrimary"in r?r["isPrimary"]:false;if(t.preventDefault){this.preventDefault=function(){t.preventDefault()}}};_ol_.inherits(_ol_pointer_PointerEvent_,_ol_events_Event_);_ol_pointer_PointerEvent_.prototype.getButtons_=function(e){var t;if(e.buttons||_ol_pointer_PointerEvent_.HAS_BUTTONS){t=e.buttons}else{switch(e.which){case 1:t=1;break;case 2:t=4;break;case 3:t=2;break;default:t=0}}return t};_ol_pointer_PointerEvent_.prototype.getPressure_=function(e,t){var i=0;if(e.pressure){i=e.pressure}else{i=t?.5:0}return i};_ol_pointer_PointerEvent_.HAS_BUTTONS=false;(function(){try{var e=new MouseEvent("click",{buttons:1});_ol_pointer_PointerEvent_.HAS_BUTTONS=e.buttons===1}catch(t){}})();var _ol_pointer_TouchSource_=function(e,t){var i={touchstart:this.touchstart,touchmove:this.touchmove,touchend:this.touchend,touchcancel:this.touchcancel};_ol_pointer_EventSource_.call(this,e,i);this.pointerMap=e.pointerMap;this.mouseSource=t;this.firstTouchId_=undefined;this.clickCount_=0;this.resetId_=undefined};_ol_.inherits(_ol_pointer_TouchSource_,_ol_pointer_EventSource_);_ol_pointer_TouchSource_.DEDUP_TIMEOUT=2500;_ol_pointer_TouchSource_.CLICK_COUNT_TIMEOUT=200;_ol_pointer_TouchSource_.POINTER_TYPE="touch";_ol_pointer_TouchSource_.prototype.isPrimaryTouch_=function(e){return this.firstTouchId_===e.identifier};_ol_pointer_TouchSource_.prototype.setPrimaryTouch_=function(e){var t=Object.keys(this.pointerMap).length;if(t===0||t===1&&_ol_pointer_MouseSource_.POINTER_ID.toString()in this.pointerMap){this.firstTouchId_=e.identifier;this.cancelResetClickCount_()}};_ol_pointer_TouchSource_.prototype.removePrimaryPointer_=function(e){if(e.isPrimary){this.firstTouchId_=undefined;this.resetClickCount_()}};_ol_pointer_TouchSource_.prototype.resetClickCount_=function(){this.resetId_=setTimeout(this.resetClickCountHandler_.bind(this),_ol_pointer_TouchSource_.CLICK_COUNT_TIMEOUT)};_ol_pointer_TouchSource_.prototype.resetClickCountHandler_=function(){this.clickCount_=0;this.resetId_=undefined};_ol_pointer_TouchSource_.prototype.cancelResetClickCount_=function(){if(this.resetId_!==undefined){clearTimeout(this.resetId_)}};_ol_pointer_TouchSource_.prototype.touchToPointer_=function(e,t){var i=this.dispatcher.cloneEvent(e,t);i.pointerId=t.identifier+2;i.bubbles=true;i.cancelable=true;i.detail=this.clickCount_;i.button=0;i.buttons=1;i.width=t.webkitRadiusX||t.radiusX||0;i.height=t.webkitRadiusY||t.radiusY||0;i.pressure=t.webkitForce||t.force||.5;i.isPrimary=this.isPrimaryTouch_(t);i.pointerType=_ol_pointer_TouchSource_.POINTER_TYPE;i.clientX=t.clientX;i.clientY=t.clientY;i.screenX=t.screenX;i.screenY=t.screenY;return i};_ol_pointer_TouchSource_.prototype.processTouches_=function(e,t){var i=Array.prototype.slice.call(e.changedTouches);var r=i.length;function n(){e.preventDefault()}var o,_;for(o=0;o<r;++o){_=this.touchToPointer_(e,i[o]);_.preventDefault=n;t.call(this,e,_)}};_ol_pointer_TouchSource_.prototype.findTouch_=function(e,t){var i=e.length;var r;for(var n=0;n<i;n++){r=e[n];if(r.identifier===t){return true}}return false};_ol_pointer_TouchSource_.prototype.vacuumTouches_=function(e){var t=e.touches;var i=Object.keys(this.pointerMap);var r=i.length;if(r>=t.length){var n=[];var o,_,a;for(o=0;o<r;++o){_=i[o];a=this.pointerMap[_];if(_!=_ol_pointer_MouseSource_.POINTER_ID&&!this.findTouch_(t,_-2)){n.push(a.out)}}for(o=0;o<n.length;++o){this.cancelOut_(e,n[o])}}};_ol_pointer_TouchSource_.prototype.touchstart=function(e){this.vacuumTouches_(e);this.setPrimaryTouch_(e.changedTouches[0]);this.dedupSynthMouse_(e);this.clickCount_++;this.processTouches_(e,this.overDown_)};_ol_pointer_TouchSource_.prototype.overDown_=function(e,t){this.pointerMap[t.pointerId]={target:t.target,out:t,outTarget:t.target};this.dispatcher.over(t,e);this.dispatcher.enter(t,e);this.dispatcher.down(t,e)};_ol_pointer_TouchSource_.prototype.touchmove=function(e){e.preventDefault();this.processTouches_(e,this.moveOverOut_)};_ol_pointer_TouchSource_.prototype.moveOverOut_=function(e,t){var i=t;var r=this.pointerMap[i.pointerId];if(!r){return}var n=r.out;var o=r.outTarget;this.dispatcher.move(i,e);if(n&&o!==i.target){n.relatedTarget=i.target;i.relatedTarget=o;n.target=o;if(i.target){this.dispatcher.leaveOut(n,e);this.dispatcher.enterOver(i,e)}else{i.target=o;i.relatedTarget=null;this.cancelOut_(e,i)}}r.out=i;r.outTarget=i.target};_ol_pointer_TouchSource_.prototype.touchend=function(e){this.dedupSynthMouse_(e);this.processTouches_(e,this.upOut_)};_ol_pointer_TouchSource_.prototype.upOut_=function(e,t){this.dispatcher.up(t,e);this.dispatcher.out(t,e);this.dispatcher.leave(t,e);this.cleanUpPointer_(t)};_ol_pointer_TouchSource_.prototype.touchcancel=function(e){this.processTouches_(e,this.cancelOut_)};_ol_pointer_TouchSource_.prototype.cancelOut_=function(e,t){this.dispatcher.cancel(t,e);this.dispatcher.out(t,e);this.dispatcher.leave(t,e);this.cleanUpPointer_(t)};_ol_pointer_TouchSource_.prototype.cleanUpPointer_=function(e){delete this.pointerMap[e.pointerId];this.removePrimaryPointer_(e)};_ol_pointer_TouchSource_.prototype.dedupSynthMouse_=function(e){var t=this.mouseSource.lastTouches;var i=e.changedTouches[0];if(this.isPrimaryTouch_(i)){var r=[i.clientX,i.clientY];t.push(r);setTimeout((function(){_ol_array_.remove(t,r)}),_ol_pointer_TouchSource_.DEDUP_TIMEOUT)}};var _ol_pointer_PointerEventHandler_=function(e){_ol_events_EventTarget_.call(this);this.element_=e;this.pointerMap={};this.eventMap_={};this.eventSourceList_=[];this.registerSources()};_ol_.inherits(_ol_pointer_PointerEventHandler_,_ol_events_EventTarget_);_ol_pointer_PointerEventHandler_.prototype.registerSources=function(){if(_ol_has_.POINTER){this.registerSource("native",new _ol_pointer_NativeSource_(this))}else if(_ol_has_.MSPOINTER){this.registerSource("ms",new _ol_pointer_MsSource_(this))}else{var e=new _ol_pointer_MouseSource_(this);this.registerSource("mouse",e);if(_ol_has_.TOUCH){this.registerSource("touch",new _ol_pointer_TouchSource_(this,e))}}this.register_()};_ol_pointer_PointerEventHandler_.prototype.registerSource=function(e,t){var i=t;var r=i.getEvents();if(r){r.forEach((function(e){var t=i.getHandlerForEvent(e);if(t){this.eventMap_[e]=t.bind(i)}}),this);this.eventSourceList_.push(i)}};_ol_pointer_PointerEventHandler_.prototype.register_=function(){var e=this.eventSourceList_.length;var t;for(var i=0;i<e;i++){t=this.eventSourceList_[i];this.addEvents_(t.getEvents())}};_ol_pointer_PointerEventHandler_.prototype.unregister_=function(){var e=this.eventSourceList_.length;var t;for(var i=0;i<e;i++){t=this.eventSourceList_[i];this.removeEvents_(t.getEvents())}};_ol_pointer_PointerEventHandler_.prototype.eventHandler_=function(e){var t=e.type;var i=this.eventMap_[t];if(i){i(e)}};_ol_pointer_PointerEventHandler_.prototype.addEvents_=function(e){e.forEach((function(e){_ol_events_.listen(this.element_,e,this.eventHandler_,this)}),this)};_ol_pointer_PointerEventHandler_.prototype.removeEvents_=function(e){e.forEach((function(e){_ol_events_.unlisten(this.element_,e,this.eventHandler_,this)}),this)};_ol_pointer_PointerEventHandler_.prototype.cloneEvent=function(e,t){var i={},r;for(var n=0,o=_ol_pointer_PointerEventHandler_.CLONE_PROPS.length;n<o;n++){r=_ol_pointer_PointerEventHandler_.CLONE_PROPS[n][0];i[r]=e[r]||t[r]||_ol_pointer_PointerEventHandler_.CLONE_PROPS[n][1]}return i};_ol_pointer_PointerEventHandler_.prototype.down=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERDOWN,e,t)};_ol_pointer_PointerEventHandler_.prototype.move=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERMOVE,e,t)};_ol_pointer_PointerEventHandler_.prototype.up=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERUP,e,t)};_ol_pointer_PointerEventHandler_.prototype.enter=function(e,t){e.bubbles=false;this.fireEvent(_ol_pointer_EventType_.POINTERENTER,e,t)};_ol_pointer_PointerEventHandler_.prototype.leave=function(e,t){e.bubbles=false;this.fireEvent(_ol_pointer_EventType_.POINTERLEAVE,e,t)};_ol_pointer_PointerEventHandler_.prototype.over=function(e,t){e.bubbles=true;this.fireEvent(_ol_pointer_EventType_.POINTEROVER,e,t)};_ol_pointer_PointerEventHandler_.prototype.out=function(e,t){e.bubbles=true;this.fireEvent(_ol_pointer_EventType_.POINTEROUT,e,t)};_ol_pointer_PointerEventHandler_.prototype.cancel=function(e,t){this.fireEvent(_ol_pointer_EventType_.POINTERCANCEL,e,t)};_ol_pointer_PointerEventHandler_.prototype.leaveOut=function(e,t){this.out(e,t);if(!this.contains_(e.target,e.relatedTarget)){this.leave(e,t)}};_ol_pointer_PointerEventHandler_.prototype.enterOver=function(e,t){this.over(e,t);if(!this.contains_(e.target,e.relatedTarget)){this.enter(e,t)}};_ol_pointer_PointerEventHandler_.prototype.contains_=function(e,t){if(!e||!t){return false}return e.contains(t)};_ol_pointer_PointerEventHandler_.prototype.makeEvent=function(e,t,i){return new _ol_pointer_PointerEvent_(e,i,t)};_ol_pointer_PointerEventHandler_.prototype.fireEvent=function(e,t,i){var r=this.makeEvent(e,t,i);this.dispatchEvent(r)};_ol_pointer_PointerEventHandler_.prototype.fireNativeEvent=function(e){var t=this.makeEvent(e.type,e,e);this.dispatchEvent(t)};_ol_pointer_PointerEventHandler_.prototype.wrapMouseEvent=function(e,t){var i=this.makeEvent(e,_ol_pointer_MouseSource_.prepareEvent(t,this),t);return i};_ol_pointer_PointerEventHandler_.prototype.disposeInternal=function(){this.unregister_();_ol_events_EventTarget_.prototype.disposeInternal.call(this)};_ol_pointer_PointerEventHandler_.CLONE_PROPS=[["bubbles",false],["cancelable",false],["view",null],["detail",null],["screenX",0],["screenY",0],["clientX",0],["clientY",0],["ctrlKey",false],["altKey",false],["shiftKey",false],["metaKey",false],["button",0],["relatedTarget",null],["buttons",0],["pointerId",0],["width",0],["height",0],["pressure",0],["tiltX",0],["tiltY",0],["pointerType",""],["hwTimestamp",0],["isPrimary",false],["type",""],["target",null],["currentTarget",null],["which",0]];var _ol_MapBrowserEventHandler_=function(e,t){_ol_events_EventTarget_.call(this);this.map_=e;this.clickTimeoutId_=0;this.dragging_=false;this.dragListenerKeys_=[];this.moveTolerance_=t?t*_ol_has_.DEVICE_PIXEL_RATIO:_ol_has_.DEVICE_PIXEL_RATIO;this.down_=null;var i=this.map_.getViewport();this.activePointers_=0;this.trackedTouches_={};this.pointerEventHandler_=new _ol_pointer_PointerEventHandler_(i);this.documentPointerEventHandler_=null;this.pointerdownListenerKey_=_ol_events_.listen(this.pointerEventHandler_,_ol_pointer_EventType_.POINTERDOWN,this.handlePointerDown_,this);this.relayedListenerKey_=_ol_events_.listen(this.pointerEventHandler_,_ol_pointer_EventType_.POINTERMOVE,this.relayEvent_,this)};_ol_.inherits(_ol_MapBrowserEventHandler_,_ol_events_EventTarget_);_ol_MapBrowserEventHandler_.prototype.emulateClick_=function(e){var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.CLICK,this.map_,e);this.dispatchEvent(t);if(this.clickTimeoutId_!==0){clearTimeout(this.clickTimeoutId_);this.clickTimeoutId_=0;t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.DBLCLICK,this.map_,e);this.dispatchEvent(t)}else{this.clickTimeoutId_=setTimeout(function(){this.clickTimeoutId_=0;var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.SINGLECLICK,this.map_,e);this.dispatchEvent(t)}.bind(this),250)}};_ol_MapBrowserEventHandler_.prototype.updateActivePointers_=function(e){var t=e;if(t.type==_ol_MapBrowserEventType_.POINTERUP||t.type==_ol_MapBrowserEventType_.POINTERCANCEL){delete this.trackedTouches_[t.pointerId]}else if(t.type==_ol_MapBrowserEventType_.POINTERDOWN){this.trackedTouches_[t.pointerId]=true}this.activePointers_=Object.keys(this.trackedTouches_).length};_ol_MapBrowserEventHandler_.prototype.handlePointerUp_=function(e){this.updateActivePointers_(e);var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERUP,this.map_,e);this.dispatchEvent(t);if(!t.propagationStopped&&!this.dragging_&&this.isMouseActionButton_(e)){this.emulateClick_(this.down_)}if(this.activePointers_===0){this.dragListenerKeys_.forEach(_ol_events_.unlistenByKey);this.dragListenerKeys_.length=0;this.dragging_=false;this.down_=null;this.documentPointerEventHandler_.dispose();this.documentPointerEventHandler_=null}};_ol_MapBrowserEventHandler_.prototype.isMouseActionButton_=function(e){return e.button===0};_ol_MapBrowserEventHandler_.prototype.handlePointerDown_=function(e){this.updateActivePointers_(e);var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERDOWN,this.map_,e);this.dispatchEvent(t);this.down_=e;if(this.dragListenerKeys_.length===0){this.documentPointerEventHandler_=new _ol_pointer_PointerEventHandler_(document);this.dragListenerKeys_.push(_ol_events_.listen(this.documentPointerEventHandler_,_ol_MapBrowserEventType_.POINTERMOVE,this.handlePointerMove_,this),_ol_events_.listen(this.documentPointerEventHandler_,_ol_MapBrowserEventType_.POINTERUP,this.handlePointerUp_,this),_ol_events_.listen(this.pointerEventHandler_,_ol_MapBrowserEventType_.POINTERCANCEL,this.handlePointerUp_,this))}};_ol_MapBrowserEventHandler_.prototype.handlePointerMove_=function(e){if(this.isMoving_(e)){this.dragging_=true;var t=new _ol_MapBrowserPointerEvent_(_ol_MapBrowserEventType_.POINTERDRAG,this.map_,e,this.dragging_);this.dispatchEvent(t)}e.preventDefault()};_ol_MapBrowserEventHandler_.prototype.relayEvent_=function(e){var t=!!(this.down_&&this.isMoving_(e));this.dispatchEvent(new _ol_MapBrowserPointerEvent_(e.type,this.map_,e,t))};_ol_MapBrowserEventHandler_.prototype.isMoving_=function(e){return Math.abs(e.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(e.clientY-this.down_.clientY)>this.moveTolerance_};_ol_MapBrowserEventHandler_.prototype.disposeInternal=function(){if(this.relayedListenerKey_){_ol_events_.unlistenByKey(this.relayedListenerKey_);this.relayedListenerKey_=null}if(this.pointerdownListenerKey_){_ol_events_.unlistenByKey(this.pointerdownListenerKey_);this.pointerdownListenerKey_=null}this.dragListenerKeys_.forEach(_ol_events_.unlistenByKey);this.dragListenerKeys_.length=0;if(this.documentPointerEventHandler_){this.documentPointerEventHandler_.dispose();this.documentPointerEventHandler_=null}if(this.pointerEventHandler_){this.pointerEventHandler_.dispose();this.pointerEventHandler_=null}_ol_events_EventTarget_.prototype.disposeInternal.call(this)};var _ol_MapEventType_={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend"};var _ol_MapProperty_={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};var _ol_TileState_={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4,ABORT:5};var _ol_structs_PriorityQueue_=function(e,t){this.priorityFunction_=e;this.keyFunction_=t;this.elements_=[];this.priorities_=[];this.queuedElements_={}};_ol_structs_PriorityQueue_.DROP=Infinity;_ol_structs_PriorityQueue_.prototype.clear=function(){this.elements_.length=0;this.priorities_.length=0;_ol_obj_.clear(this.queuedElements_)};_ol_structs_PriorityQueue_.prototype.dequeue=function(){var e=this.elements_;var t=this.priorities_;var i=e[0];if(e.length==1){e.length=0;t.length=0}else{e[0]=e.pop();t[0]=t.pop();this.siftUp_(0)}var r=this.keyFunction_(i);delete this.queuedElements_[r];return i};_ol_structs_PriorityQueue_.prototype.enqueue=function(e){_ol_asserts_.assert(!(this.keyFunction_(e)in this.queuedElements_),31);var t=this.priorityFunction_(e);if(t!=_ol_structs_PriorityQueue_.DROP){this.elements_.push(e);this.priorities_.push(t);this.queuedElements_[this.keyFunction_(e)]=true;this.siftDown_(0,this.elements_.length-1);return true}return false};_ol_structs_PriorityQueue_.prototype.getCount=function(){return this.elements_.length};_ol_structs_PriorityQueue_.prototype.getLeftChildIndex_=function(e){return e*2+1};_ol_structs_PriorityQueue_.prototype.getRightChildIndex_=function(e){return e*2+2};_ol_structs_PriorityQueue_.prototype.getParentIndex_=function(e){return e-1>>1};_ol_structs_PriorityQueue_.prototype.heapify_=function(){var e;for(e=(this.elements_.length>>1)-1;e>=0;e--){this.siftUp_(e)}};_ol_structs_PriorityQueue_.prototype.isEmpty=function(){return this.elements_.length===0};_ol_structs_PriorityQueue_.prototype.isKeyQueued=function(e){return e in this.queuedElements_};_ol_structs_PriorityQueue_.prototype.isQueued=function(e){return this.isKeyQueued(this.keyFunction_(e))};_ol_structs_PriorityQueue_.prototype.siftUp_=function(e){var t=this.elements_;var i=this.priorities_;var r=t.length;var n=t[e];var o=i[e];var _=e;while(e<r>>1){var a=this.getLeftChildIndex_(e);var s=this.getRightChildIndex_(e);var l=s<r&&i[s]<i[a]?s:a;t[e]=t[l];i[e]=i[l];e=l}t[e]=n;i[e]=o;this.siftDown_(_,e)};_ol_structs_PriorityQueue_.prototype.siftDown_=function(e,t){var i=this.elements_;var r=this.priorities_;var n=i[t];var o=r[t];while(t>e){var _=this.getParentIndex_(t);if(r[_]>o){i[t]=i[_];r[t]=r[_];t=_}else{break}}i[t]=n;r[t]=o};_ol_structs_PriorityQueue_.prototype.reprioritize=function(){var e=this.priorityFunction_;var t=this.elements_;var i=this.priorities_;var r=0;var n=t.length;var o,_,a;for(_=0;_<n;++_){o=t[_];a=e(o);if(a==_ol_structs_PriorityQueue_.DROP){delete this.queuedElements_[this.keyFunction_(o)]}else{i[r]=a;t[r++]=o}}t.length=r;i.length=r;this.heapify_()};var _ol_TileQueue_=function(e,t){_ol_structs_PriorityQueue_.call(this,(function(t){return e.apply(null,t)}),(function(e){return e[0].getKey()}));this.tileChangeCallback_=t;this.tilesLoading_=0;this.tilesLoadingKeys_={}};_ol_.inherits(_ol_TileQueue_,_ol_structs_PriorityQueue_);_ol_TileQueue_.prototype.enqueue=function(e){var t=_ol_structs_PriorityQueue_.prototype.enqueue.call(this,e);if(t){var i=e[0];_ol_events_.listen(i,_ol_events_EventType_.CHANGE,this.handleTileChange,this)}return t};_ol_TileQueue_.prototype.getTilesLoading=function(){return this.tilesLoading_};_ol_TileQueue_.prototype.handleTileChange=function(e){var t=e.target;var i=t.getState();if(i===_ol_TileState_.LOADED||i===_ol_TileState_.ERROR||i===_ol_TileState_.EMPTY||i===_ol_TileState_.ABORT){_ol_events_.unlisten(t,_ol_events_EventType_.CHANGE,this.handleTileChange,this);var r=t.getKey();if(r in this.tilesLoadingKeys_){delete this.tilesLoadingKeys_[r];--this.tilesLoading_}this.tileChangeCallback_()}};_ol_TileQueue_.prototype.loadMoreTiles=function(e,t){var i=0;var r=false;var n,o,_;while(this.tilesLoading_<e&&i<t&&this.getCount()>0){o=this.dequeue()[0];_=o.getKey();n=o.getState();if(n===_ol_TileState_.ABORT){r=true}else if(n===_ol_TileState_.IDLE&&!(_ in this.tilesLoadingKeys_)){this.tilesLoadingKeys_[_]=true;++this.tilesLoading_;++i;o.load()}}if(i===0&&r){this.tileChangeCallback_()}};var _ol_CenterConstraint_={};_ol_CenterConstraint_.createExtent=function(e){return function(t){if(t){return[_ol_math_.clamp(t[0],e[0],e[2]),_ol_math_.clamp(t[1],e[1],e[3])]}else{return undefined}}};_ol_CenterConstraint_.none=function(e){return e};var _ol_ResolutionConstraint_={};_ol_ResolutionConstraint_.createSnapToResolutions=function(e){return function(t,i,r){if(t!==undefined){var n=_ol_array_.linearFindNearest(e,t,r);n=_ol_math_.clamp(n+i,0,e.length-1);var o=Math.floor(n);if(n!=o&&o<e.length-1){var _=e[o]/e[o+1];return e[o]/Math.pow(_,n-o)}else{return e[o]}}else{return undefined}}};_ol_ResolutionConstraint_.createSnapToPower=function(e,t,i){return function(r,n,o){if(r!==undefined){var _=-o/2+.5;var a=Math.floor(Math.log(t/r)/Math.log(e)+_);var s=Math.max(a+n,0);if(i!==undefined){s=Math.min(s,i)}return t/Math.pow(e,s)}else{return undefined}}};var _ol_RotationConstraint_={};_ol_RotationConstraint_.disable=function(e,t){if(e!==undefined){return 0}else{return undefined}};_ol_RotationConstraint_.none=function(e,t){if(e!==undefined){return e+t}else{return undefined}};_ol_RotationConstraint_.createSnapToN=function(e){var t=2*Math.PI/e;return function(e,i){if(e!==undefined){e=Math.floor((e+i)/t+.5)*t;return e}else{return undefined}}};_ol_RotationConstraint_.createSnapToZero=function(e){var t=e||_ol_math_.toRadians(5);return function(e,i){if(e!==undefined){if(Math.abs(e+i)<=t){return 0}else{return e+i}}else{return undefined}}};var _ol_ViewHint_={ANIMATING:0,INTERACTING:1};var _ol_ViewProperty_={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};var _ol_string_={};_ol_string_.padNumber=function(e,t,i){var r=i!==undefined?e.toFixed(i):""+e;var n=r.indexOf(".");n=n===-1?r.length:n;return n>t?r:new Array(1+t-n).join("0")+r};_ol_string_.compareVersions=function(e,t){var i=(""+e).split(".");var r=(""+t).split(".");for(var n=0;n<Math.max(i.length,r.length);n++){var o=parseInt(i[n]||"0",10);var _=parseInt(r[n]||"0",10);if(o>_){return 1}if(_>o){return-1}}return 0};var _ol_coordinate_={};_ol_coordinate_.add=function(e,t){e[0]+=t[0];e[1]+=t[1];return e};_ol_coordinate_.closestOnCircle=function(e,t){var i=t.getRadius();var r=t.getCenter();var n=r[0];var o=r[1];var _=e[0];var a=e[1];var s=_-n;var l=a-o;if(s===0&&l===0){s=1}var h=Math.sqrt(s*s+l*l);var u,c;u=n+i*s/h;c=o+i*l/h;return[u,c]};_ol_coordinate_.closestOnSegment=function(e,t){var i=e[0];var r=e[1];var n=t[0];var o=t[1];var _=n[0];var a=n[1];var s=o[0];var l=o[1];var h=s-_;var u=l-a;var c=h===0&&u===0?0:(h*(i-_)+u*(r-a))/(h*h+u*u||0);var f,d;if(c<=0){f=_;d=a}else if(c>=1){f=s;d=l}else{f=_+c*h;d=a+c*u}return[f,d]};_ol_coordinate_.createStringXY=function(e){return function(t){return _ol_coordinate_.toStringXY(t,e)}};_ol_coordinate_.degreesToStringHDMS=function(e,t,i){var r=_ol_math_.modulo(t+180,360)-180;var n=Math.abs(3600*r);var o=i||0;var _=Math.pow(10,o);var a=Math.floor(n/3600);var s=Math.floor((n-a*3600)/60);var l=n-a*3600-s*60;l=Math.ceil(l*_)/_;if(l>=60){l=0;s+=1}if(s>=60){s=0;a+=1}return a+"° "+_ol_string_.padNumber(s,2)+"′ "+_ol_string_.padNumber(l,2,o)+"″"+(r==0?"":" "+e.charAt(r<0?1:0))};_ol_coordinate_.format=function(e,t,i){if(e){return t.replace("{x}",e[0].toFixed(i)).replace("{y}",e[1].toFixed(i))}else{return""}};_ol_coordinate_.equals=function(e,t){var i=true;for(var r=e.length-1;r>=0;--r){if(e[r]!=t[r]){i=false;break}}return i};_ol_coordinate_.rotate=function(e,t){var i=Math.cos(t);var r=Math.sin(t);var n=e[0]*i-e[1]*r;var o=e[1]*i+e[0]*r;e[0]=n;e[1]=o;return e};_ol_coordinate_.scale=function(e,t){e[0]*=t;e[1]*=t;return e};_ol_coordinate_.sub=function(e,t){e[0]-=t[0];e[1]-=t[1];return e};_ol_coordinate_.squaredDistance=function(e,t){var i=e[0]-t[0];var r=e[1]-t[1];return i*i+r*r};_ol_coordinate_.distance=function(e,t){return Math.sqrt(_ol_coordinate_.squaredDistance(e,t))};_ol_coordinate_.squaredDistanceToSegment=function(e,t){return _ol_coordinate_.squaredDistance(e,_ol_coordinate_.closestOnSegment(e,t))};_ol_coordinate_.toStringHDMS=function(e,t){if(e){return _ol_coordinate_.degreesToStringHDMS("NS",e[1],t)+" "+_ol_coordinate_.degreesToStringHDMS("EW",e[0],t)}else{return""}};_ol_coordinate_.toStringXY=function(e,t){return _ol_coordinate_.format(e,"{x}, {y}",t)};var _ol_easing_={};_ol_easing_.easeIn=function(e){return Math.pow(e,3)};_ol_easing_.easeOut=function(e){return 1-_ol_easing_.easeIn(1-e)};_ol_easing_.inAndOut=function(e){return 3*e*e-2*e*e*e};_ol_easing_.linear=function(e){return e};_ol_easing_.upAndDown=function(e){if(e<.5){return _ol_easing_.inAndOut(2*e)}else{return 1-_ol_easing_.inAndOut(2*(e-.5))}};var _ol_View_=function(e){_ol_Object_.call(this);var t=_ol_obj_.assign({},e);this.hints_=[0,0];this.animations_=[];this.updateAnimations_=this.updateAnimations_.bind(this);this.projection_=_ol_proj_.createProjection(t.projection,"EPSG:3857");this.applyOptions_(t)};_ol_.inherits(_ol_View_,_ol_Object_);_ol_View_.prototype.applyOptions_=function(e){var t={};t[_ol_ViewProperty_.CENTER]=e.center!==undefined?e.center:null;var i=_ol_View_.createResolutionConstraint_(e);this.maxResolution_=i.maxResolution;this.minResolution_=i.minResolution;this.zoomFactor_=i.zoomFactor;this.resolutions_=e.resolutions;this.minZoom_=i.minZoom;var r=_ol_View_.createCenterConstraint_(e);var n=i.constraint;var o=_ol_View_.createRotationConstraint_(e);this.constraints_={center:r,resolution:n,rotation:o};if(e.resolution!==undefined){t[_ol_ViewProperty_.RESOLUTION]=e.resolution}else if(e.zoom!==undefined){t[_ol_ViewProperty_.RESOLUTION]=this.constrainResolution(this.maxResolution_,e.zoom-this.minZoom_);if(this.resolutions_){t[_ol_ViewProperty_.RESOLUTION]=_ol_math_.clamp(Number(this.getResolution()||t[_ol_ViewProperty_.RESOLUTION]),this.minResolution_,this.maxResolution_)}}t[_ol_ViewProperty_.ROTATION]=e.rotation!==undefined?e.rotation:0;this.setProperties(t);this.options_=e};_ol_View_.prototype.getUpdatedOptions_=function(e){var t=_ol_obj_.assign({},this.options_);if(t.resolution!==undefined){t.resolution=this.getResolution()}else{t.zoom=this.getZoom()}t.center=this.getCenter();t.rotation=this.getRotation();return _ol_obj_.assign({},t,e)};_ol_View_.prototype.animate=function(e){var t=arguments.length;var i;if(t>1&&typeof arguments[t-1]==="function"){i=arguments[t-1];--t}if(!this.isDef()){var r=arguments[t-1];if(r.center){this.setCenter(r.center)}if(r.zoom!==undefined){this.setZoom(r.zoom)}if(r.rotation!==undefined){this.setRotation(r.rotation)}if(i){i(true)}return}var n=Date.now();var o=this.getCenter().slice();var _=this.getResolution();var a=this.getRotation();var s=[];for(var l=0;l<t;++l){var h=arguments[l];var u={start:n,complete:false,anchor:h.anchor,duration:h.duration!==undefined?h.duration:1e3,easing:h.easing||_ol_easing_.inAndOut};if(h.center){u.sourceCenter=o;u.targetCenter=h.center;o=u.targetCenter}if(h.zoom!==undefined){u.sourceResolution=_;u.targetResolution=this.constrainResolution(this.maxResolution_,h.zoom-this.minZoom_,0);_=u.targetResolution}else if(h.resolution){u.sourceResolution=_;u.targetResolution=h.resolution;_=u.targetResolution}if(h.rotation!==undefined){u.sourceRotation=a;var c=_ol_math_.modulo(h.rotation-a+Math.PI,2*Math.PI)-Math.PI;u.targetRotation=a+c;a=u.targetRotation}u.callback=i;if(_ol_View_.isNoopAnimation(u)){u.complete=true}else{n+=u.duration}s.push(u)}this.animations_.push(s);this.setHint(_ol_ViewHint_.ANIMATING,1);this.updateAnimations_()};_ol_View_.prototype.getAnimating=function(){return this.hints_[_ol_ViewHint_.ANIMATING]>0};_ol_View_.prototype.getInteracting=function(){return this.hints_[_ol_ViewHint_.INTERACTING]>0};_ol_View_.prototype.cancelAnimations=function(){this.setHint(_ol_ViewHint_.ANIMATING,-this.hints_[_ol_ViewHint_.ANIMATING]);for(var e=0,t=this.animations_.length;e<t;++e){var i=this.animations_[e];if(i[0].callback){i[0].callback(false)}}this.animations_.length=0};_ol_View_.prototype.updateAnimations_=function(){if(this.updateAnimationKey_!==undefined){cancelAnimationFrame(this.updateAnimationKey_);this.updateAnimationKey_=undefined}if(!this.getAnimating()){return}var e=Date.now();var t=false;for(var i=this.animations_.length-1;i>=0;--i){var r=this.animations_[i];var n=true;for(var o=0,_=r.length;o<_;++o){var a=r[o];if(a.complete){continue}var s=e-a.start;var l=a.duration>0?s/a.duration:1;if(l>=1){a.complete=true;l=1}else{n=false}var h=a.easing(l);if(a.sourceCenter){var u=a.sourceCenter[0];var c=a.sourceCenter[1];var f=a.targetCenter[0];var d=a.targetCenter[1];var p=u+h*(f-u);var v=c+h*(d-c);this.set(_ol_ViewProperty_.CENTER,[p,v])}if(a.sourceResolution&&a.targetResolution){var g=h===1?a.targetResolution:a.sourceResolution+h*(a.targetResolution-a.sourceResolution);if(a.anchor){this.set(_ol_ViewProperty_.CENTER,this.calculateCenterZoom(g,a.anchor))}this.set(_ol_ViewProperty_.RESOLUTION,g)}if(a.sourceRotation!==undefined&&a.targetRotation!==undefined){var y=h===1?_ol_math_.modulo(a.targetRotation+Math.PI,2*Math.PI)-Math.PI:a.sourceRotation+h*(a.targetRotation-a.sourceRotation);if(a.anchor){this.set(_ol_ViewProperty_.CENTER,this.calculateCenterRotate(y,a.anchor))}this.set(_ol_ViewProperty_.ROTATION,y)}t=true;if(!a.complete){break}}if(n){this.animations_[i]=null;this.setHint(_ol_ViewHint_.ANIMATING,-1);var m=r[0].callback;if(m){m(true)}}}this.animations_=this.animations_.filter(Boolean);if(t&&this.updateAnimationKey_===undefined){this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_)}};_ol_View_.prototype.calculateCenterRotate=function(e,t){var i;var r=this.getCenter();if(r!==undefined){i=[r[0]-t[0],r[1]-t[1]];_ol_coordinate_.rotate(i,e-this.getRotation());_ol_coordinate_.add(i,t)}return i};_ol_View_.prototype.calculateCenterZoom=function(e,t){var i;var r=this.getCenter();var n=this.getResolution();if(r!==undefined&&n!==undefined){var o=t[0]-e*(t[0]-r[0])/n;var _=t[1]-e*(t[1]-r[1])/n;i=[o,_]}return i};_ol_View_.prototype.getSizeFromViewport_=function(){var e=[100,100];var t='.ol-viewport[data-view="'+_ol_.getUid(this)+'"]';var i=document.querySelector(t);if(i){var r=getComputedStyle(i);e[0]=parseInt(r.width,10);e[1]=parseInt(r.height,10)}return e};_ol_View_.prototype.constrainCenter=function(e){return this.constraints_.center(e)};_ol_View_.prototype.constrainResolution=function(e,t,i){var r=t||0;var n=i||0;return this.constraints_.resolution(e,r,n)};_ol_View_.prototype.constrainRotation=function(e,t){var i=t||0;return this.constraints_.rotation(e,i)};_ol_View_.prototype.getCenter=function(){return this.get(_ol_ViewProperty_.CENTER)};_ol_View_.prototype.getConstraints=function(){return this.constraints_};_ol_View_.prototype.getHints=function(e){if(e!==undefined){e[0]=this.hints_[0];e[1]=this.hints_[1];return e}else{return this.hints_.slice()}};_ol_View_.prototype.calculateExtent=function(e){var t=e||this.getSizeFromViewport_();var i=this.getCenter();_ol_asserts_.assert(i,1);var r=this.getResolution();_ol_asserts_.assert(r!==undefined,2);var n=this.getRotation();_ol_asserts_.assert(n!==undefined,3);return _ol_extent_.getForViewAndSize(i,r,n,t)};_ol_View_.prototype.getMaxResolution=function(){return this.maxResolution_};_ol_View_.prototype.getMinResolution=function(){return this.minResolution_};_ol_View_.prototype.getMaxZoom=function(){return this.getZoomForResolution(this.minResolution_)};_ol_View_.prototype.setMaxZoom=function(e){this.applyOptions_(this.getUpdatedOptions_({maxZoom:e}))};_ol_View_.prototype.getMinZoom=function(){return this.getZoomForResolution(this.maxResolution_)};_ol_View_.prototype.setMinZoom=function(e){this.applyOptions_(this.getUpdatedOptions_({minZoom:e}))};_ol_View_.prototype.getProjection=function(){return this.projection_};_ol_View_.prototype.getResolution=function(){return this.get(_ol_ViewProperty_.RESOLUTION)};_ol_View_.prototype.getResolutions=function(){return this.resolutions_};_ol_View_.prototype.getResolutionForExtent=function(e,t){var i=t||this.getSizeFromViewport_();var r=_ol_extent_.getWidth(e)/i[0];var n=_ol_extent_.getHeight(e)/i[1];return Math.max(r,n)};_ol_View_.prototype.getResolutionForValueFunction=function(e){var t=e||2;var i=this.maxResolution_;var r=this.minResolution_;var n=Math.log(i/r)/Math.log(t);return function(e){var r=i/Math.pow(t,e*n);return r}};_ol_View_.prototype.getRotation=function(){return this.get(_ol_ViewProperty_.ROTATION)};_ol_View_.prototype.getValueForResolutionFunction=function(e){var t=e||2;var i=this.maxResolution_;var r=this.minResolution_;var n=Math.log(i/r)/Math.log(t);return function(e){var r=Math.log(i/e)/Math.log(t)/n;return r}};_ol_View_.prototype.getState=function(){var e=this.getCenter();var t=this.getProjection();var i=this.getResolution();var r=this.getRotation();return{center:e.slice(),projection:t!==undefined?t:null,resolution:i,rotation:r,zoom:this.getZoom()}};_ol_View_.prototype.getZoom=function(){var e;var t=this.getResolution();if(t!==undefined){e=this.getZoomForResolution(t)}return e};_ol_View_.prototype.getZoomForResolution=function(e){var t=this.minZoom_||0;var i,r;if(this.resolutions_){var n=_ol_array_.linearFindNearest(this.resolutions_,e,1);t=n;i=this.resolutions_[n];if(n==this.resolutions_.length-1){r=2}else{r=i/this.resolutions_[n+1]}}else{i=this.maxResolution_;r=this.zoomFactor_}return t+Math.log(i/e)/Math.log(r)};_ol_View_.prototype.getResolutionForZoom=function(e){return this.constrainResolution(this.maxResolution_,e-this.minZoom_,0)};_ol_View_.prototype.fit=function(e,t){var i=t||{};var r=i.size;if(!r){r=this.getSizeFromViewport_()}var n;if(!(e instanceof _ol_geom_SimpleGeometry_)){_ol_asserts_.assert(Array.isArray(e),24);_ol_asserts_.assert(!_ol_extent_.isEmpty(e),25);n=_ol_geom_Polygon_.fromExtent(e)}else if(e.getType()===_ol_geom_GeometryType_.CIRCLE){e=e.getExtent();n=_ol_geom_Polygon_.fromExtent(e);n.rotate(this.getRotation(),_ol_extent_.getCenter(e))}else{n=e}var o=i.padding!==undefined?i.padding:[0,0,0,0];var _=i.constrainResolution!==undefined?i.constrainResolution:true;var a=i.nearest!==undefined?i.nearest:false;var s;if(i.minResolution!==undefined){s=i.minResolution}else if(i.maxZoom!==undefined){s=this.constrainResolution(this.maxResolution_,i.maxZoom-this.minZoom_,0)}else{s=0}var l=n.getFlatCoordinates();var h=this.getRotation();var u=Math.cos(-h);var c=Math.sin(-h);var f=+Infinity;var d=+Infinity;var p=-Infinity;var v=-Infinity;var g=n.getStride();for(var y=0,m=l.length;y<m;y+=g){var E=l[y]*u-l[y+1]*c;var x=l[y]*c+l[y+1]*u;f=Math.min(f,E);d=Math.min(d,x);p=Math.max(p,E);v=Math.max(v,x)}var T=this.getResolutionForExtent([f,d,p,v],[r[0]-o[1]-o[3],r[1]-o[0]-o[2]]);T=isNaN(T)?s:Math.max(T,s);if(_){var R=this.constrainResolution(T,0,0);if(!a&&R<T){R=this.constrainResolution(R,-1,0)}T=R}c=-c;var S=(f+p)/2;var C=(d+v)/2;S+=(o[1]-o[3])/2*T;C+=(o[0]-o[2])/2*T;var I=S*u-C*c;var M=C*u+S*c;var w=[I,M];var b=i.callback?i.callback:_ol_.nullFunction;if(i.duration!==undefined){this.animate({resolution:T,center:w,duration:i.duration,easing:i.easing},b)}else{this.setResolution(T);this.setCenter(w);setTimeout(b.bind(undefined,true),0)}};_ol_View_.prototype.centerOn=function(e,t,i){var r=this.getRotation();var n=Math.cos(-r);var o=Math.sin(-r);var _=e[0]*n-e[1]*o;var a=e[1]*n+e[0]*o;var s=this.getResolution();_+=(t[0]/2-i[0])*s;a+=(i[1]-t[1]/2)*s;o=-o;var l=_*n-a*o;var h=a*n+_*o;this.setCenter([l,h])};_ol_View_.prototype.isDef=function(){return!!this.getCenter()&&this.getResolution()!==undefined};_ol_View_.prototype.rotate=function(e,t){if(t!==undefined){var i=this.calculateCenterRotate(e,t);this.setCenter(i)}this.setRotation(e)};_ol_View_.prototype.setCenter=function(e){this.set(_ol_ViewProperty_.CENTER,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setHint=function(e,t){this.hints_[e]+=t;this.changed();return this.hints_[e]};_ol_View_.prototype.setResolution=function(e){this.set(_ol_ViewProperty_.RESOLUTION,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setRotation=function(e){this.set(_ol_ViewProperty_.ROTATION,e);if(this.getAnimating()){this.cancelAnimations()}};_ol_View_.prototype.setZoom=function(e){this.setResolution(this.getResolutionForZoom(e))};_ol_View_.createCenterConstraint_=function(e){if(e.extent!==undefined){return _ol_CenterConstraint_.createExtent(e.extent)}else{return _ol_CenterConstraint_.none}};_ol_View_.createResolutionConstraint_=function(e){var t;var i;var r;var n=28;var o=2;var _=e.minZoom!==undefined?e.minZoom:_ol_.DEFAULT_MIN_ZOOM;var a=e.maxZoom!==undefined?e.maxZoom:n;var s=e.zoomFactor!==undefined?e.zoomFactor:o;if(e.resolutions!==undefined){var l=e.resolutions;i=l[_];r=l[a]!==undefined?l[a]:l[l.length-1];t=_ol_ResolutionConstraint_.createSnapToResolutions(l)}else{var h=_ol_proj_.createProjection(e.projection,"EPSG:3857");var u=h.getExtent();var c=!u?360*_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]/h.getMetersPerUnit():Math.max(_ol_extent_.getWidth(u),_ol_extent_.getHeight(u));var f=c/_ol_.DEFAULT_TILE_SIZE/Math.pow(o,_ol_.DEFAULT_MIN_ZOOM);var d=f/Math.pow(o,n-_ol_.DEFAULT_MIN_ZOOM);i=e.maxResolution;if(i!==undefined){_=0}else{i=f/Math.pow(s,_)}r=e.minResolution;if(r===undefined){if(e.maxZoom!==undefined){if(e.maxResolution!==undefined){r=i/Math.pow(s,a)}else{r=f/Math.pow(s,a)}}else{r=d}}a=_+Math.floor(Math.log(i/r)/Math.log(s));r=i/Math.pow(s,a-_);t=_ol_ResolutionConstraint_.createSnapToPower(s,i,a-_)}return{constraint:t,maxResolution:i,minResolution:r,minZoom:_,zoomFactor:s}};_ol_View_.createRotationConstraint_=function(e){var t=e.enableRotation!==undefined?e.enableRotation:true;if(t){var i=e.constrainRotation;if(i===undefined||i===true){return _ol_RotationConstraint_.createSnapToZero()}else if(i===false){return _ol_RotationConstraint_.none}else if(typeof i==="number"){return _ol_RotationConstraint_.createSnapToN(i)}else{return _ol_RotationConstraint_.none}}else{return _ol_RotationConstraint_.disable}};_ol_View_.isNoopAnimation=function(e){if(e.sourceCenter&&e.targetCenter){if(!_ol_coordinate_.equals(e.sourceCenter,e.targetCenter)){return false}}if(e.sourceResolution!==e.targetResolution){return false}if(e.sourceRotation!==e.targetRotation){return false}return true};var _ol_dom_={};_ol_dom_.createCanvasContext2D=function(e,t){var i=document.createElement("CANVAS");if(e){i.width=e}if(t){i.height=t}return i.getContext("2d")};_ol_dom_.outerWidth=function(e){var t=e.offsetWidth;var i=getComputedStyle(e);t+=parseInt(i.marginLeft,10)+parseInt(i.marginRight,10);return t};_ol_dom_.outerHeight=function(e){var t=e.offsetHeight;var i=getComputedStyle(e);t+=parseInt(i.marginTop,10)+parseInt(i.marginBottom,10);return t};_ol_dom_.replaceNode=function(e,t){var i=t.parentNode;if(i){i.replaceChild(e,t)}};_ol_dom_.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null};_ol_dom_.removeChildren=function(e){while(e.lastChild){e.removeChild(e.lastChild)}};var _ol_layer_Property_={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",SOURCE:"source"};var _ol_layer_Base_=function(e){_ol_Object_.call(this);var t=_ol_obj_.assign({},e);t[_ol_layer_Property_.OPACITY]=e.opacity!==undefined?e.opacity:1;t[_ol_layer_Property_.VISIBLE]=e.visible!==undefined?e.visible:true;t[_ol_layer_Property_.Z_INDEX]=e.zIndex!==undefined?e.zIndex:0;t[_ol_layer_Property_.MAX_RESOLUTION]=e.maxResolution!==undefined?e.maxResolution:Infinity;t[_ol_layer_Property_.MIN_RESOLUTION]=e.minResolution!==undefined?e.minResolution:0;this.setProperties(t);this.state_={layer:this,managed:true}};_ol_.inherits(_ol_layer_Base_,_ol_Object_);_ol_layer_Base_.prototype.getType=function(){return this.type};_ol_layer_Base_.prototype.getLayerState=function(){this.state_.opacity=_ol_math_.clamp(this.getOpacity(),0,1);this.state_.sourceState=this.getSourceState();this.state_.visible=this.getVisible();this.state_.extent=this.getExtent();this.state_.zIndex=this.getZIndex();this.state_.maxResolution=this.getMaxResolution();this.state_.minResolution=Math.max(this.getMinResolution(),0);return this.state_};_ol_layer_Base_.prototype.getLayersArray=function(e){};_ol_layer_Base_.prototype.getLayerStatesArray=function(e){};_ol_layer_Base_.prototype.getExtent=function(){return this.get(_ol_layer_Property_.EXTENT)};_ol_layer_Base_.prototype.getMaxResolution=function(){return this.get(_ol_layer_Property_.MAX_RESOLUTION)};_ol_layer_Base_.prototype.getMinResolution=function(){return this.get(_ol_layer_Property_.MIN_RESOLUTION)};_ol_layer_Base_.prototype.getOpacity=function(){return this.get(_ol_layer_Property_.OPACITY)};_ol_layer_Base_.prototype.getSourceState=function(){};_ol_layer_Base_.prototype.getVisible=function(){return this.get(_ol_layer_Property_.VISIBLE)};_ol_layer_Base_.prototype.getZIndex=function(){return this.get(_ol_layer_Property_.Z_INDEX)};_ol_layer_Base_.prototype.setExtent=function(e){this.set(_ol_layer_Property_.EXTENT,e)};_ol_layer_Base_.prototype.setMaxResolution=function(e){this.set(_ol_layer_Property_.MAX_RESOLUTION,e)};_ol_layer_Base_.prototype.setMinResolution=function(e){this.set(_ol_layer_Property_.MIN_RESOLUTION,e)};_ol_layer_Base_.prototype.setOpacity=function(e){this.set(_ol_layer_Property_.OPACITY,e)};_ol_layer_Base_.prototype.setVisible=function(e){this.set(_ol_layer_Property_.VISIBLE,e)};_ol_layer_Base_.prototype.setZIndex=function(e){this.set(_ol_layer_Property_.Z_INDEX,e)};var _ol_source_State_={UNDEFINED:"undefined",LOADING:"loading",READY:"ready",ERROR:"error"};var _ol_layer_Group_=function(e){var t=e||{};var i=_ol_obj_.assign({},t);delete i.layers;var r=t.layers;_ol_layer_Base_.call(this,i);this.layersListenerKeys_=[];this.listenerKeys_={};_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_layer_Group_.Property_.LAYERS),this.handleLayersChanged_,this);if(r){if(Array.isArray(r)){r=new _ol_Collection_(r.slice(),{unique:true})}else{_ol_asserts_.assert(r instanceof _ol_Collection_,43);r=r}}else{r=new _ol_Collection_(undefined,{unique:true})}this.setLayers(r)};_ol_.inherits(_ol_layer_Group_,_ol_layer_Base_);_ol_layer_Group_.prototype.handleLayerChange_=function(){this.changed()};_ol_layer_Group_.prototype.handleLayersChanged_=function(e){this.layersListenerKeys_.forEach(_ol_events_.unlistenByKey);this.layersListenerKeys_.length=0;var t=this.getLayers();this.layersListenerKeys_.push(_ol_events_.listen(t,_ol_CollectionEventType_.ADD,this.handleLayersAdd_,this),_ol_events_.listen(t,_ol_CollectionEventType_.REMOVE,this.handleLayersRemove_,this));for(var i in this.listenerKeys_){this.listenerKeys_[i].forEach(_ol_events_.unlistenByKey)}_ol_obj_.clear(this.listenerKeys_);var r=t.getArray();var n,o,_;for(n=0,o=r.length;n<o;n++){_=r[n];this.listenerKeys_[_ol_.getUid(_).toString()]=[_ol_events_.listen(_,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleLayerChange_,this),_ol_events_.listen(_,_ol_events_EventType_.CHANGE,this.handleLayerChange_,this)]}this.changed()};_ol_layer_Group_.prototype.handleLayersAdd_=function(e){var t=e.element;var i=_ol_.getUid(t).toString();this.listenerKeys_[i]=[_ol_events_.listen(t,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleLayerChange_,this),_ol_events_.listen(t,_ol_events_EventType_.CHANGE,this.handleLayerChange_,this)];this.changed()};_ol_layer_Group_.prototype.handleLayersRemove_=function(e){var t=e.element;var i=_ol_.getUid(t).toString();this.listenerKeys_[i].forEach(_ol_events_.unlistenByKey);delete this.listenerKeys_[i];this.changed()};_ol_layer_Group_.prototype.getLayers=function(){return this.get(_ol_layer_Group_.Property_.LAYERS)};_ol_layer_Group_.prototype.setLayers=function(e){this.set(_ol_layer_Group_.Property_.LAYERS,e)};_ol_layer_Group_.prototype.getLayersArray=function(e){var t=e!==undefined?e:[];this.getLayers().forEach((function(e){e.getLayersArray(t)}));return t};_ol_layer_Group_.prototype.getLayerStatesArray=function(e){var t=e!==undefined?e:[];var i=t.length;this.getLayers().forEach((function(e){e.getLayerStatesArray(t)}));var r=this.getLayerState();var n,o,_;for(n=i,o=t.length;n<o;n++){_=t[n];_.opacity*=r.opacity;_.visible=_.visible&&r.visible;_.maxResolution=Math.min(_.maxResolution,r.maxResolution);_.minResolution=Math.max(_.minResolution,r.minResolution);if(r.extent!==undefined){if(_.extent!==undefined){_.extent=_ol_extent_.getIntersection(_.extent,r.extent)}else{_.extent=r.extent}}}return t};_ol_layer_Group_.prototype.getSourceState=function(){return _ol_source_State_.READY};_ol_layer_Group_.Property_={LAYERS:"layers"};var _ol_PluginType_={MAP_RENDERER:"MAP_RENDERER",LAYER_RENDERER:"LAYER_RENDERER"};var _ol_plugins_={};_ol_plugins_.mapRendererPlugins_=[];_ol_plugins_.getMapRendererPlugins=function(){return _ol_plugins_.mapRendererPlugins_};_ol_plugins_.layerRendererPlugins_=[];_ol_plugins_.getLayerRendererPlugins=function(){return _ol_plugins_.layerRendererPlugins_};_ol_plugins_.register=function(e,t){var i;switch(e){case _ol_PluginType_.MAP_RENDERER:{i=_ol_plugins_.mapRendererPlugins_;i.push(t);break}case _ol_PluginType_.LAYER_RENDERER:{i=_ol_plugins_.layerRendererPlugins_;i.push(t);break}default:{throw new Error("Unsupported plugin type: "+e)}}};_ol_plugins_.registerMultiple=function(e,t){for(var i=0,r=t.length;i<r;++i){_ol_plugins_.register(e,t[i])}};var _ol_renderer_Type_={CANVAS:"canvas",WEBGL:"webgl"};var _ol_size_={};_ol_size_.buffer=function(e,t,i){if(i===undefined){i=[0,0]}i[0]=e[0]+2*t;i[1]=e[1]+2*t;return i};_ol_size_.hasArea=function(e){return e[0]>0&&e[1]>0};_ol_size_.scale=function(e,t,i){if(i===undefined){i=[0,0]}i[0]=e[0]*t+.5|0;i[1]=e[1]*t+.5|0;return i};_ol_size_.toSize=function(e,t){if(Array.isArray(e)){return e}else{if(t===undefined){t=[e,e]}else{t[0]=t[1]=e}return t}};var _ol_PluggableMap_=function(e){_ol_Object_.call(this);var t=_ol_PluggableMap_.createOptionsInternal(e);this.loadTilesWhileAnimating_=e.loadTilesWhileAnimating!==undefined?e.loadTilesWhileAnimating:false;this.loadTilesWhileInteracting_=e.loadTilesWhileInteracting!==undefined?e.loadTilesWhileInteracting:false;this.pixelRatio_=e.pixelRatio!==undefined?e.pixelRatio:_ol_has_.DEVICE_PIXEL_RATIO;this.logos_=t.logos;this.animationDelay_=function(){this.animationDelayKey_=undefined;this.renderFrame_.call(this,Date.now())}.bind(this);this.coordinateToPixelTransform_=_ol_transform_.create();this.pixelToCoordinateTransform_=_ol_transform_.create();this.frameIndex_=0;this.frameState_=null;this.previousExtent_=null;this.viewPropertyListenerKey_=null;this.viewChangeListenerKey_=null;this.layerGroupPropertyListenerKeys_=null;this.viewport_=document.createElement("DIV");this.viewport_.className="ol-viewport"+(_ol_has_.TOUCH?" ol-touch":"");this.viewport_.style.position="relative";this.viewport_.style.overflow="hidden";this.viewport_.style.width="100%";this.viewport_.style.height="100%";this.viewport_.style.msTouchAction="none";this.viewport_.style.touchAction="none";this.overlayContainer_=document.createElement("DIV");this.overlayContainer_.className="ol-overlaycontainer";this.viewport_.appendChild(this.overlayContainer_);this.overlayContainerStopEvent_=document.createElement("DIV");this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent";var i=[_ol_events_EventType_.CLICK,_ol_events_EventType_.DBLCLICK,_ol_events_EventType_.MOUSEDOWN,_ol_events_EventType_.TOUCHSTART,_ol_events_EventType_.MSPOINTERDOWN,_ol_MapBrowserEventType_.POINTERDOWN,_ol_events_EventType_.MOUSEWHEEL,_ol_events_EventType_.WHEEL];for(var r=0,n=i.length;r<n;++r){_ol_events_.listen(this.overlayContainerStopEvent_,i[r],_ol_events_Event_.stopPropagation)}this.viewport_.appendChild(this.overlayContainerStopEvent_);this.mapBrowserEventHandler_=new _ol_MapBrowserEventHandler_(this,e.moveTolerance);for(var o in _ol_MapBrowserEventType_){_ol_events_.listen(this.mapBrowserEventHandler_,_ol_MapBrowserEventType_[o],this.handleMapBrowserEvent,this)}this.keyboardEventTarget_=t.keyboardEventTarget;this.keyHandlerKeys_=null;_ol_events_.listen(this.viewport_,_ol_events_EventType_.WHEEL,this.handleBrowserEvent,this);_ol_events_.listen(this.viewport_,_ol_events_EventType_.MOUSEWHEEL,this.handleBrowserEvent,this);this.controls=t.controls||new _ol_Collection_;this.interactions=t.interactions||new _ol_Collection_;this.overlays_=t.overlays;this.overlayIdIndex_={};this.renderer_=t.mapRendererPlugin["create"](this.viewport_,this);this.focus_=null;this.postRenderFunctions_=[];this.tileQueue_=new _ol_TileQueue_(this.getTilePriority.bind(this),this.handleTileChange_.bind(this));this.skippedFeatureUids_={};_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.LAYERGROUP),this.handleLayerGroupChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.VIEW),this.handleViewChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.SIZE),this.handleSizeChanged_,this);_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_MapProperty_.TARGET),this.handleTargetChanged_,this);this.setProperties(t.values);this.controls.forEach((function(e){e.setMap(this)}),this);_ol_events_.listen(this.controls,_ol_CollectionEventType_.ADD,(function(e){e.element.setMap(this)}),this);_ol_events_.listen(this.controls,_ol_CollectionEventType_.REMOVE,(function(e){e.element.setMap(null)}),this);this.interactions.forEach((function(e){e.setMap(this)}),this);_ol_events_.listen(this.interactions,_ol_CollectionEventType_.ADD,(function(e){e.element.setMap(this)}),this);_ol_events_.listen(this.interactions,_ol_CollectionEventType_.REMOVE,(function(e){e.element.setMap(null)}),this);this.overlays_.forEach(this.addOverlayInternal_,this);_ol_events_.listen(this.overlays_,_ol_CollectionEventType_.ADD,(function(e){this.addOverlayInternal_(e.element)}),this);_ol_events_.listen(this.overlays_,_ol_CollectionEventType_.REMOVE,(function(e){var t=e.element;var i=t.getId();if(i!==undefined){delete this.overlayIdIndex_[i.toString()]}e.element.setMap(null)}),this)};_ol_.inherits(_ol_PluggableMap_,_ol_Object_);_ol_PluggableMap_.prototype.addControl=function(e){this.getControls().push(e)};_ol_PluggableMap_.prototype.addInteraction=function(e){this.getInteractions().push(e)};_ol_PluggableMap_.prototype.addLayer=function(e){var t=this.getLayerGroup().getLayers();t.push(e)};_ol_PluggableMap_.prototype.addOverlay=function(e){this.getOverlays().push(e)};_ol_PluggableMap_.prototype.addOverlayInternal_=function(e){var t=e.getId();if(t!==undefined){this.overlayIdIndex_[t.toString()]=e}e.setMap(this)};_ol_PluggableMap_.prototype.disposeInternal=function(){this.mapBrowserEventHandler_.dispose();_ol_events_.unlisten(this.viewport_,_ol_events_EventType_.WHEEL,this.handleBrowserEvent,this);_ol_events_.unlisten(this.viewport_,_ol_events_EventType_.MOUSEWHEEL,this.handleBrowserEvent,this);if(this.handleResize_!==undefined){window.removeEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false);this.handleResize_=undefined}if(this.animationDelayKey_){cancelAnimationFrame(this.animationDelayKey_);this.animationDelayKey_=undefined}this.setTarget(null);_ol_Object_.prototype.disposeInternal.call(this)};_ol_PluggableMap_.prototype.forEachFeatureAtPixel=function(e,t,i){if(!this.frameState_){return}var r=this.getCoordinateFromPixel(e);i=i!==undefined?i:{};var n=i.hitTolerance!==undefined?i.hitTolerance*this.frameState_.pixelRatio:0;var o=i.layerFilter!==undefined?i.layerFilter:_ol_functions_.TRUE;return this.renderer_.forEachFeatureAtCoordinate(r,this.frameState_,n,t,null,o,null)};_ol_PluggableMap_.prototype.getFeaturesAtPixel=function(e,t){var i=null;this.forEachFeatureAtPixel(e,(function(e){if(!i){i=[]}i.push(e)}),t);return i};_ol_PluggableMap_.prototype.forEachLayerAtPixel=function(e,t,i,r,n){if(!this.frameState_){return}var o=i!==undefined?i:null;var _=r!==undefined?r:_ol_functions_.TRUE;var a=n!==undefined?n:null;return this.renderer_.forEachLayerAtPixel(e,this.frameState_,t,o,_,a)};_ol_PluggableMap_.prototype.hasFeatureAtPixel=function(e,t){if(!this.frameState_){return false}var i=this.getCoordinateFromPixel(e);t=t!==undefined?t:{};var r=t.layerFilter!==undefined?t.layerFilter:_ol_functions_.TRUE;var n=t.hitTolerance!==undefined?t.hitTolerance*this.frameState_.pixelRatio:0;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,n,r,null)};_ol_PluggableMap_.prototype.getEventCoordinate=function(e){return this.getCoordinateFromPixel(this.getEventPixel(e))};_ol_PluggableMap_.prototype.getEventPixel=function(e){var t=this.viewport_.getBoundingClientRect();var i=e.changedTouches?e.changedTouches[0]:e;return[i.clientX-t.left,i.clientY-t.top]};_ol_PluggableMap_.prototype.getTarget=function(){return this.get(_ol_MapProperty_.TARGET)};_ol_PluggableMap_.prototype.getTargetElement=function(){var e=this.getTarget();if(e!==undefined){return typeof e==="string"?document.getElementById(e):e}else{return null}};_ol_PluggableMap_.prototype.getCoordinateFromPixel=function(e){var t=this.frameState_;if(!t){return null}else{return _ol_transform_.apply(t.pixelToCoordinateTransform,e.slice())}};_ol_PluggableMap_.prototype.getControls=function(){return this.controls};_ol_PluggableMap_.prototype.getOverlays=function(){return this.overlays_};_ol_PluggableMap_.prototype.getOverlayById=function(e){var t=this.overlayIdIndex_[e.toString()];return t!==undefined?t:null};_ol_PluggableMap_.prototype.getInteractions=function(){return this.interactions};_ol_PluggableMap_.prototype.getLayerGroup=function(){return this.get(_ol_MapProperty_.LAYERGROUP)};_ol_PluggableMap_.prototype.getLayers=function(){var e=this.getLayerGroup().getLayers();return e};_ol_PluggableMap_.prototype.getPixelFromCoordinate=function(e){var t=this.frameState_;if(!t){return null}else{return _ol_transform_.apply(t.coordinateToPixelTransform,e.slice(0,2))}};_ol_PluggableMap_.prototype.getRenderer=function(){return this.renderer_};_ol_PluggableMap_.prototype.getSize=function(){return this.get(_ol_MapProperty_.SIZE)};_ol_PluggableMap_.prototype.getView=function(){return this.get(_ol_MapProperty_.VIEW)};_ol_PluggableMap_.prototype.getViewport=function(){return this.viewport_};_ol_PluggableMap_.prototype.getOverlayContainer=function(){return this.overlayContainer_};_ol_PluggableMap_.prototype.getOverlayContainerStopEvent=function(){return this.overlayContainerStopEvent_};_ol_PluggableMap_.prototype.getTilePriority=function(e,t,i,r){var n=this.frameState_;if(!n||!(t in n.wantedTiles)){return _ol_structs_PriorityQueue_.DROP}if(!n.wantedTiles[t][e.getKey()]){return _ol_structs_PriorityQueue_.DROP}var o=i[0]-n.focus[0];var _=i[1]-n.focus[1];return 65536*Math.log(r)+Math.sqrt(o*o+_*_)/r};_ol_PluggableMap_.prototype.handleBrowserEvent=function(e,t){var i=t||e.type;var r=new _ol_MapBrowserEvent_(i,this,e);this.handleMapBrowserEvent(r)};_ol_PluggableMap_.prototype.handleMapBrowserEvent=function(e){if(!this.frameState_){return}this.focus_=e.coordinate;e.frameState=this.frameState_;var t=this.getInteractions().getArray();var i;if(this.dispatchEvent(e)!==false){for(i=t.length-1;i>=0;i--){var r=t[i];if(!r.getActive()){continue}var n=r.handleEvent(e);if(!n){break}}}};_ol_PluggableMap_.prototype.handlePostRender=function(){var e=this.frameState_;var t=this.tileQueue_;if(!t.isEmpty()){var i=16;var r=i;if(e){var n=e.viewHints;if(n[_ol_ViewHint_.ANIMATING]){i=this.loadTilesWhileAnimating_?8:0;r=2}if(n[_ol_ViewHint_.INTERACTING]){i=this.loadTilesWhileInteracting_?8:0;r=2}}if(t.getTilesLoading()<i){t.reprioritize();t.loadMoreTiles(i,r)}}var o=this.postRenderFunctions_;var _,a;for(_=0,a=o.length;_<a;++_){o[_](this,e)}o.length=0};_ol_PluggableMap_.prototype.handleSizeChanged_=function(){this.render()};_ol_PluggableMap_.prototype.handleTargetChanged_=function(){var e;if(this.getTarget()){e=this.getTargetElement()}if(this.keyHandlerKeys_){for(var t=0,i=this.keyHandlerKeys_.length;t<i;++t){_ol_events_.unlistenByKey(this.keyHandlerKeys_[t])}this.keyHandlerKeys_=null}if(!e){this.renderer_.removeLayerRenderers();_ol_dom_.removeNode(this.viewport_);if(this.handleResize_!==undefined){window.removeEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false);this.handleResize_=undefined}}else{e.appendChild(this.viewport_);var r=!this.keyboardEventTarget_?e:this.keyboardEventTarget_;this.keyHandlerKeys_=[_ol_events_.listen(r,_ol_events_EventType_.KEYDOWN,this.handleBrowserEvent,this),_ol_events_.listen(r,_ol_events_EventType_.KEYPRESS,this.handleBrowserEvent,this)];if(!this.handleResize_){this.handleResize_=this.updateSize.bind(this);window.addEventListener(_ol_events_EventType_.RESIZE,this.handleResize_,false)}}this.updateSize()};_ol_PluggableMap_.prototype.handleTileChange_=function(){this.render()};_ol_PluggableMap_.prototype.handleViewPropertyChanged_=function(){this.render()};_ol_PluggableMap_.prototype.handleViewChanged_=function(){if(this.viewPropertyListenerKey_){_ol_events_.unlistenByKey(this.viewPropertyListenerKey_);this.viewPropertyListenerKey_=null}if(this.viewChangeListenerKey_){_ol_events_.unlistenByKey(this.viewChangeListenerKey_);this.viewChangeListenerKey_=null}var e=this.getView();if(e){this.viewport_.setAttribute("data-view",_ol_.getUid(e));this.viewPropertyListenerKey_=_ol_events_.listen(e,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleViewPropertyChanged_,this);this.viewChangeListenerKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleViewPropertyChanged_,this)}this.render()};_ol_PluggableMap_.prototype.handleLayerGroupChanged_=function(){if(this.layerGroupPropertyListenerKeys_){this.layerGroupPropertyListenerKeys_.forEach(_ol_events_.unlistenByKey);this.layerGroupPropertyListenerKeys_=null}var e=this.getLayerGroup();if(e){this.layerGroupPropertyListenerKeys_=[_ol_events_.listen(e,_ol_ObjectEventType_.PROPERTYCHANGE,this.render,this),_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.render,this)]}this.render()};_ol_PluggableMap_.prototype.isRendered=function(){return!!this.frameState_};_ol_PluggableMap_.prototype.renderSync=function(){if(this.animationDelayKey_){cancelAnimationFrame(this.animationDelayKey_)}this.animationDelay_()};_ol_PluggableMap_.prototype.render=function(){if(this.animationDelayKey_===undefined){this.animationDelayKey_=requestAnimationFrame(this.animationDelay_)}};_ol_PluggableMap_.prototype.removeControl=function(e){return this.getControls().remove(e)};_ol_PluggableMap_.prototype.removeInteraction=function(e){return this.getInteractions().remove(e)};_ol_PluggableMap_.prototype.removeLayer=function(e){var t=this.getLayerGroup().getLayers();return t.remove(e)};_ol_PluggableMap_.prototype.removeOverlay=function(e){return this.getOverlays().remove(e)};_ol_PluggableMap_.prototype.renderFrame_=function(e){var t,i,r;var n=this.getSize();var o=this.getView();var _=_ol_extent_.createEmpty();var a=this.frameState_;var s=null;if(n!==undefined&&_ol_size_.hasArea(n)&&o&&o.isDef()){var l=o.getHints(this.frameState_?this.frameState_.viewHints:undefined);var h=this.getLayerGroup().getLayerStatesArray();var u={};for(t=0,i=h.length;t<i;++t){u[_ol_.getUid(h[t].layer)]=h[t]}r=o.getState();var c=r.center;var f=r.resolution/this.pixelRatio_;c[0]=Math.round(c[0]/f)*f;c[1]=Math.round(c[1]/f)*f;s={animate:false,coordinateToPixelTransform:this.coordinateToPixelTransform_,extent:_,focus:!this.focus_?c:this.focus_,index:this.frameIndex_++,layerStates:u,layerStatesArray:h,logos:_ol_obj_.assign({},this.logos_),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:n,skippedFeatureUids:this.skippedFeatureUids_,tileQueue:this.tileQueue_,time:e,usedTiles:{},viewState:r,viewHints:l,wantedTiles:{}}}if(s){s.extent=_ol_extent_.getForViewAndSize(r.center,r.resolution,r.rotation,s.size,_)}this.frameState_=s;this.renderer_.renderFrame(s);if(s){if(s.animate){this.render()}Array.prototype.push.apply(this.postRenderFunctions_,s.postRenderFunctions);if(a){var d=!this.previousExtent_||!_ol_extent_.isEmpty(this.previousExtent_)&&!_ol_extent_.equals(s.extent,this.previousExtent_);if(d){this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.MOVESTART,this,a));this.previousExtent_=_ol_extent_.createOrUpdateEmpty(this.previousExtent_)}}var p=this.previousExtent_&&!s.viewHints[_ol_ViewHint_.ANIMATING]&&!s.viewHints[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.equals(s.extent,this.previousExtent_);if(p){this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.MOVEEND,this,s));_ol_extent_.clone(s.extent,this.previousExtent_)}}this.dispatchEvent(new _ol_MapEvent_(_ol_MapEventType_.POSTRENDER,this,s));setTimeout(this.handlePostRender.bind(this),0)};_ol_PluggableMap_.prototype.setLayerGroup=function(e){this.set(_ol_MapProperty_.LAYERGROUP,e)};_ol_PluggableMap_.prototype.setSize=function(e){this.set(_ol_MapProperty_.SIZE,e)};_ol_PluggableMap_.prototype.setTarget=function(e){this.set(_ol_MapProperty_.TARGET,e)};_ol_PluggableMap_.prototype.setView=function(e){this.set(_ol_MapProperty_.VIEW,e)};_ol_PluggableMap_.prototype.skipFeature=function(e){var t=_ol_.getUid(e).toString();this.skippedFeatureUids_[t]=true;this.render()};_ol_PluggableMap_.prototype.updateSize=function(){var e=this.getTargetElement();if(!e){this.setSize(undefined)}else{var t=getComputedStyle(e);this.setSize([e.offsetWidth-parseFloat(t["borderLeftWidth"])-parseFloat(t["paddingLeft"])-parseFloat(t["paddingRight"])-parseFloat(t["borderRightWidth"]),e.offsetHeight-parseFloat(t["borderTopWidth"])-parseFloat(t["paddingTop"])-parseFloat(t["paddingBottom"])-parseFloat(t["borderBottomWidth"])])}};_ol_PluggableMap_.prototype.unskipFeature=function(e){var t=_ol_.getUid(e).toString();delete this.skippedFeatureUids_[t];this.render()};_ol_PluggableMap_.DEFAULT_RENDERER_TYPES=[_ol_renderer_Type_.CANVAS,_ol_renderer_Type_.WEBGL];_ol_PluggableMap_.LOGO_URL="data:image/png;base64,"+"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBI"+"WXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAA"+"AhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszW"+"WMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvY"+"asvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvX"+"H1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1Vk"+"bMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW"+"2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLP"+"VcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqT"+"acrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaar"+"ldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+Hi"+"zeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDn"+"BAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSF"+"hYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJ"+"REFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxC"+"Brb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe"+"0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8"+"a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7a"+"hgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCn"+"B3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDg"+"q82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC";_ol_PluggableMap_.createOptionsInternal=function(e){var t=null;if(e.keyboardEventTarget!==undefined){t=typeof e.keyboardEventTarget==="string"?document.getElementById(e.keyboardEventTarget):e.keyboardEventTarget}var i={};var r={};if(e.logo===undefined||typeof e.logo==="boolean"&&e.logo){r[_ol_PluggableMap_.LOGO_URL]="https://openlayers.org/"}else{var n=e.logo;if(typeof n==="string"){r[n]=""}else if(n instanceof HTMLElement){r[_ol_.getUid(n).toString()]=n}else if(n){_ol_asserts_.assert(typeof n.href=="string",44);_ol_asserts_.assert(typeof n.src=="string",45);r[n.src]=n.href}}var o=e.layers instanceof _ol_layer_Group_?e.layers:new _ol_layer_Group_({layers:e.layers});i[_ol_MapProperty_.LAYERGROUP]=o;i[_ol_MapProperty_.TARGET]=e.target;i[_ol_MapProperty_.VIEW]=e.view!==undefined?e.view:new _ol_View_;var _;if(e.renderer!==undefined){if(Array.isArray(e.renderer)){_=e.renderer}else if(typeof e.renderer==="string"){_=[e.renderer]}else{_ol_asserts_.assert(false,46)}if(_.indexOf("dom")>=0){_=_.concat(_ol_PluggableMap_.DEFAULT_RENDERER_TYPES)}}else{_=_ol_PluggableMap_.DEFAULT_RENDERER_TYPES}var a;var s=_ol_plugins_.getMapRendererPlugins();e:for(var l=0,h=_.length;l<h;++l){var u=_[l];for(var c=0,f=s.length;c<f;++c){var d=s[c];if(d["handles"](u)){a=d;break e}}}if(!a){throw new Error("Unable to create a map renderer for types: "+_.join(", "))}var p;if(e.controls!==undefined){if(Array.isArray(e.controls)){p=new _ol_Collection_(e.controls.slice())}else{_ol_asserts_.assert(e.controls instanceof _ol_Collection_,47);p=e.controls}}var v;if(e.interactions!==undefined){if(Array.isArray(e.interactions)){v=new _ol_Collection_(e.interactions.slice())}else{_ol_asserts_.assert(e.interactions instanceof _ol_Collection_,48);v=e.interactions}}var g;if(e.overlays!==undefined){if(Array.isArray(e.overlays)){g=new _ol_Collection_(e.overlays.slice())}else{_ol_asserts_.assert(e.overlays instanceof _ol_Collection_,49);g=e.overlays}}else{g=new _ol_Collection_}return{controls:p,interactions:v,keyboardEventTarget:t,logos:r,overlays:g,mapRendererPlugin:a,values:i}};var _ol_control_Control_=function(e){_ol_Object_.call(this);this.element=e.element?e.element:null;this.target_=null;this.map_=null;this.listenerKeys=[];this.render=e.render?e.render:_ol_.nullFunction;if(e.target){this.setTarget(e.target)}};_ol_.inherits(_ol_control_Control_,_ol_Object_);_ol_control_Control_.prototype.disposeInternal=function(){_ol_dom_.removeNode(this.element);_ol_Object_.prototype.disposeInternal.call(this)};_ol_control_Control_.prototype.getMap=function(){return this.map_};_ol_control_Control_.prototype.setMap=function(e){if(this.map_){_ol_dom_.removeNode(this.element)}for(var t=0,i=this.listenerKeys.length;t<i;++t){_ol_events_.unlistenByKey(this.listenerKeys[t])}this.listenerKeys.length=0;this.map_=e;if(this.map_){var r=this.target_?this.target_:e.getOverlayContainerStopEvent();r.appendChild(this.element);if(this.render!==_ol_.nullFunction){this.listenerKeys.push(_ol_events_.listen(e,_ol_MapEventType_.POSTRENDER,this.render,this))}e.render()}};_ol_control_Control_.prototype.setTarget=function(e){this.target_=typeof e==="string"?document.getElementById(e):e};var _ol_css_={};_ol_css_.CLASS_HIDDEN="ol-hidden";_ol_css_.CLASS_SELECTABLE="ol-selectable";_ol_css_.CLASS_UNSELECTABLE="ol-unselectable";_ol_css_.CLASS_UNSUPPORTED="ol-unsupported";_ol_css_.CLASS_CONTROL="ol-control";_ol_css_.getFontFamilies=function(){var e;var t={};return function(i){if(!e){e=document.createElement("div").style}if(!(i in t)){e.font=i;var r=e.fontFamily;e.font="";if(!r){return null}t[i]=r.split(/,\s?/)}return t[i]}}();var _ol_render_EventType_={POSTCOMPOSE:"postcompose",PRECOMPOSE:"precompose",RENDER:"render"};var _ol_layer_Layer_=function(e){var t=_ol_obj_.assign({},e);delete t.source;_ol_layer_Base_.call(this,t);this.mapPrecomposeKey_=null;this.mapRenderKey_=null;this.sourceChangeKey_=null;if(e.map){this.setMap(e.map)}_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_layer_Property_.SOURCE),this.handleSourcePropertyChange_,this);var i=e.source?e.source:null;this.setSource(i)};_ol_.inherits(_ol_layer_Layer_,_ol_layer_Base_);_ol_layer_Layer_.visibleAtResolution=function(e,t){return e.visible&&t>=e.minResolution&&t<e.maxResolution};_ol_layer_Layer_.prototype.getLayersArray=function(e){var t=e?e:[];t.push(this);return t};_ol_layer_Layer_.prototype.getLayerStatesArray=function(e){var t=e?e:[];t.push(this.getLayerState());return t};_ol_layer_Layer_.prototype.getSource=function(){var e=this.get(_ol_layer_Property_.SOURCE);return e||null};_ol_layer_Layer_.prototype.getSourceState=function(){var e=this.getSource();return!e?_ol_source_State_.UNDEFINED:e.getState()};_ol_layer_Layer_.prototype.handleSourceChange_=function(){this.changed()};_ol_layer_Layer_.prototype.handleSourcePropertyChange_=function(){if(this.sourceChangeKey_){_ol_events_.unlistenByKey(this.sourceChangeKey_);this.sourceChangeKey_=null}var e=this.getSource();if(e){this.sourceChangeKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleSourceChange_,this)}this.changed()};_ol_layer_Layer_.prototype.setMap=function(e){if(this.mapPrecomposeKey_){_ol_events_.unlistenByKey(this.mapPrecomposeKey_);this.mapPrecomposeKey_=null}if(!e){this.changed()}if(this.mapRenderKey_){_ol_events_.unlistenByKey(this.mapRenderKey_);this.mapRenderKey_=null}if(e){this.mapPrecomposeKey_=_ol_events_.listen(e,_ol_render_EventType_.PRECOMPOSE,(function(e){var t=this.getLayerState();t.managed=false;t.zIndex=Infinity;e.frameState.layerStatesArray.push(t);e.frameState.layerStates[_ol_.getUid(this)]=t}),this);this.mapRenderKey_=_ol_events_.listen(this,_ol_events_EventType_.CHANGE,e.render,e);this.changed()}};_ol_layer_Layer_.prototype.setSource=function(e){this.set(_ol_layer_Property_.SOURCE,e)};var _ol_control_Attribution_=function(e){var t=e?e:{};this.ulElement_=document.createElement("UL");this.logoLi_=document.createElement("LI");this.ulElement_.appendChild(this.logoLi_);this.logoLi_.style.display="none";this.collapsed_=t.collapsed!==undefined?t.collapsed:true;this.collapsible_=t.collapsible!==undefined?t.collapsible:true;if(!this.collapsible_){this.collapsed_=false}var i=t.className!==undefined?t.className:"ol-attribution";var r=t.tipLabel!==undefined?t.tipLabel:"Attributions";var n=t.collapseLabel!==undefined?t.collapseLabel:"»";if(typeof n==="string"){this.collapseLabel_=document.createElement("span");this.collapseLabel_.textContent=n}else{this.collapseLabel_=n}var o=t.label!==undefined?t.label:"i";if(typeof o==="string"){this.label_=document.createElement("span");this.label_.textContent=o}else{this.label_=o}var _=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;var a=document.createElement("button");a.setAttribute("type","button");a.title=r;a.appendChild(_);_ol_events_.listen(a,_ol_events_EventType_.CLICK,this.handleClick_,this);var s=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL+(this.collapsed_&&this.collapsible_?" ol-collapsed":"")+(this.collapsible_?"":" ol-uncollapsible");var l=document.createElement("div");l.className=s;l.appendChild(this.ulElement_);l.appendChild(a);var h=t.render?t.render:_ol_control_Attribution_.render;_ol_control_Control_.call(this,{element:l,render:h,target:t.target});this.renderedAttributions_=[];this.renderedVisible_=true;this.logoElements_={}};_ol_.inherits(_ol_control_Attribution_,_ol_control_Control_);_ol_control_Attribution_.prototype.getSourceAttributions_=function(e){var t={};var i=[];var r=e.layerStatesArray;var n=e.viewState.resolution;for(var o=0,_=r.length;o<_;++o){var a=r[o];if(!_ol_layer_Layer_.visibleAtResolution(a,n)){continue}var s=a.layer.getSource();if(!s){continue}var l=s.getAttributions2();if(!l){continue}var h=l(e);if(!h){continue}if(Array.isArray(h)){for(var u=0,c=h.length;u<c;++u){if(!(h[u]in t)){i.push(h[u]);t[h[u]]=true}}}else{if(!(h in t)){i.push(h);t[h]=true}}}return i};_ol_control_Attribution_.render=function(e){this.updateElement_(e.frameState)};_ol_control_Attribution_.prototype.updateElement_=function(e){if(!e){if(this.renderedVisible_){this.element.style.display="none";this.renderedVisible_=false}return}var t=this.getSourceAttributions_(e);if(_ol_array_.equals(t,this.renderedAttributions_)){return}while(this.ulElement_.lastChild!==this.logoLi_){this.ulElement_.removeChild(this.ulElement_.lastChild)}for(var i=0,r=t.length;i<r;++i){var n=document.createElement("LI");n.innerHTML=t[i];this.ulElement_.appendChild(n)}if(t.length===0&&this.renderedAttributions_.length>0){this.element.classList.add("ol-logo-only")}else if(this.renderedAttributions_.length===0&&t.length>0){this.element.classList.remove("ol-logo-only")}var o=t.length>0||!_ol_obj_.isEmpty(e.logos);if(this.renderedVisible_!=o){this.element.style.display=o?"":"none";this.renderedVisible_=o}this.renderedAttributions_=t;this.insertLogos_(e)};_ol_control_Attribution_.prototype.insertLogos_=function(e){var t;var i=e.logos;var r=this.logoElements_;for(t in r){if(!(t in i)){_ol_dom_.removeNode(r[t]);delete r[t]}}var n,o,_;for(_ in i){var a=i[_];if(a instanceof HTMLElement){this.logoLi_.appendChild(a);r[_]=a}if(!(_ in r)){n=new Image;n.src=_;if(a===""){o=n}else{o=document.createElement("a");o.href=a;o.appendChild(n)}this.logoLi_.appendChild(o);r[_]=o}}this.logoLi_.style.display=!_ol_obj_.isEmpty(i)?"":"none"};_ol_control_Attribution_.prototype.handleClick_=function(e){e.preventDefault();this.handleToggle_()};_ol_control_Attribution_.prototype.handleToggle_=function(){this.element.classList.toggle("ol-collapsed");if(this.collapsed_){_ol_dom_.replaceNode(this.collapseLabel_,this.label_)}else{_ol_dom_.replaceNode(this.label_,this.collapseLabel_)}this.collapsed_=!this.collapsed_};_ol_control_Attribution_.prototype.getCollapsible=function(){return this.collapsible_};_ol_control_Attribution_.prototype.setCollapsible=function(e){if(this.collapsible_===e){return}this.collapsible_=e;this.element.classList.toggle("ol-uncollapsible");if(!e&&this.collapsed_){this.handleToggle_()}};_ol_control_Attribution_.prototype.setCollapsed=function(e){if(!this.collapsible_||this.collapsed_===e){return}this.handleToggle_()};_ol_control_Attribution_.prototype.getCollapsed=function(){return this.collapsed_};var _ol_control_Rotate_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-rotate";var r=t.label!==undefined?t.label:"⇧";this.label_=null;if(typeof r==="string"){this.label_=document.createElement("span");this.label_.className="ol-compass";this.label_.textContent=r}else{this.label_=r;this.label_.classList.add("ol-compass")}var n=t.tipLabel?t.tipLabel:"Reset rotation";var o=document.createElement("button");o.className=i+"-reset";o.setAttribute("type","button");o.title=n;o.appendChild(this.label_);_ol_events_.listen(o,_ol_events_EventType_.CLICK,_ol_control_Rotate_.prototype.handleClick_,this);var _=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL;var a=document.createElement("div");a.className=_;a.appendChild(o);var s=t.render?t.render:_ol_control_Rotate_.render;this.callResetNorth_=t.resetNorth?t.resetNorth:undefined;_ol_control_Control_.call(this,{element:a,render:s,target:t.target});this.duration_=t.duration!==undefined?t.duration:250;this.autoHide_=t.autoHide!==undefined?t.autoHide:true;this.rotation_=undefined;if(this.autoHide_){this.element.classList.add(_ol_css_.CLASS_HIDDEN)}};_ol_.inherits(_ol_control_Rotate_,_ol_control_Control_);_ol_control_Rotate_.prototype.handleClick_=function(e){e.preventDefault();if(this.callResetNorth_!==undefined){this.callResetNorth_()}else{this.resetNorth_()}};_ol_control_Rotate_.prototype.resetNorth_=function(){var e=this.getMap();var t=e.getView();if(!t){return}if(t.getRotation()!==undefined){if(this.duration_>0){t.animate({rotation:0,duration:this.duration_,easing:_ol_easing_.easeOut})}else{t.setRotation(0)}}};_ol_control_Rotate_.render=function(e){var t=e.frameState;if(!t){return}var i=t.viewState.rotation;if(i!=this.rotation_){var r="rotate("+i+"rad)";if(this.autoHide_){var n=this.element.classList.contains(_ol_css_.CLASS_HIDDEN);if(!n&&i===0){this.element.classList.add(_ol_css_.CLASS_HIDDEN)}else if(n&&i!==0){this.element.classList.remove(_ol_css_.CLASS_HIDDEN)}}this.label_.style.msTransform=r;this.label_.style.webkitTransform=r;this.label_.style.transform=r}this.rotation_=i};var _ol_control_Zoom_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-zoom";var r=t.delta!==undefined?t.delta:1;var n=t.zoomInLabel!==undefined?t.zoomInLabel:"+";var o=t.zoomOutLabel!==undefined?t.zoomOutLabel:"−";var _=t.zoomInTipLabel!==undefined?t.zoomInTipLabel:"Zoom in";var a=t.zoomOutTipLabel!==undefined?t.zoomOutTipLabel:"Zoom out";var s=document.createElement("button");s.className=i+"-in";s.setAttribute("type","button");s.title=_;s.appendChild(typeof n==="string"?document.createTextNode(n):n);_ol_events_.listen(s,_ol_events_EventType_.CLICK,_ol_control_Zoom_.prototype.handleClick_.bind(this,r));var l=document.createElement("button");l.className=i+"-out";l.setAttribute("type","button");l.title=a;l.appendChild(typeof o==="string"?document.createTextNode(o):o);_ol_events_.listen(l,_ol_events_EventType_.CLICK,_ol_control_Zoom_.prototype.handleClick_.bind(this,-r));var h=i+" "+_ol_css_.CLASS_UNSELECTABLE+" "+_ol_css_.CLASS_CONTROL;var u=document.createElement("div");u.className=h;u.appendChild(s);u.appendChild(l);_ol_control_Control_.call(this,{element:u,target:t.target});this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_control_Zoom_,_ol_control_Control_);_ol_control_Zoom_.prototype.handleClick_=function(e,t){t.preventDefault();this.zoomByDelta_(e)};_ol_control_Zoom_.prototype.zoomByDelta_=function(e){var t=this.getMap();var i=t.getView();if(!i){return}var r=i.getResolution();if(r){var n=i.constrainResolution(r,e);if(this.duration_>0){if(i.getAnimating()){i.cancelAnimations()}i.animate({resolution:n,duration:this.duration_,easing:_ol_easing_.easeOut})}else{i.setResolution(n)}}};var _ol_control_={};_ol_control_.defaults=function(e){var t=e?e:{};var i=new _ol_Collection_;var r=t.zoom!==undefined?t.zoom:true;if(r){i.push(new _ol_control_Zoom_(t.zoomOptions))}var n=t.rotate!==undefined?t.rotate:true;if(n){i.push(new _ol_control_Rotate_(t.rotateOptions))}var o=t.attribution!==undefined?t.attribution:true;if(o){i.push(new _ol_control_Attribution_(t.attributionOptions))}return i};var _ol_Kinetic_=function(e,t,i){this.decay_=e;this.minVelocity_=t;this.delay_=i;this.points_=[];this.angle_=0;this.initialVelocity_=0};_ol_Kinetic_.prototype.begin=function(){this.points_.length=0;this.angle_=0;this.initialVelocity_=0};_ol_Kinetic_.prototype.update=function(e,t){this.points_.push(e,t,Date.now())};_ol_Kinetic_.prototype.end=function(){if(this.points_.length<6){return false}var e=Date.now()-this.delay_;var t=this.points_.length-3;if(this.points_[t+2]<e){return false}var i=t-3;while(i>0&&this.points_[i+2]>e){i-=3}var r=this.points_[t+2]-this.points_[i+2];if(r<1e3/60){return false}var n=this.points_[t]-this.points_[i];var o=this.points_[t+1]-this.points_[i+1];this.angle_=Math.atan2(o,n);this.initialVelocity_=Math.sqrt(n*n+o*o)/r;return this.initialVelocity_>this.minVelocity_};_ol_Kinetic_.prototype.getDistance=function(){return(this.minVelocity_-this.initialVelocity_)/this.decay_};_ol_Kinetic_.prototype.getAngle=function(){return this.angle_};var _ol_interaction_Property_={ACTIVE:"active"};var _ol_interaction_Interaction_=function(e){_ol_Object_.call(this);this.map_=null;this.setActive(true);this.handleEvent=e.handleEvent};_ol_.inherits(_ol_interaction_Interaction_,_ol_Object_);_ol_interaction_Interaction_.prototype.getActive=function(){return this.get(_ol_interaction_Property_.ACTIVE)};_ol_interaction_Interaction_.prototype.getMap=function(){return this.map_};_ol_interaction_Interaction_.prototype.setActive=function(e){this.set(_ol_interaction_Property_.ACTIVE,e)};_ol_interaction_Interaction_.prototype.setMap=function(e){this.map_=e};_ol_interaction_Interaction_.pan=function(e,t,i){var r=e.getCenter();if(r){var n=e.constrainCenter([r[0]+t[0],r[1]+t[1]]);if(i){e.animate({duration:i,easing:_ol_easing_.linear,center:n})}else{e.setCenter(n)}}};_ol_interaction_Interaction_.rotate=function(e,t,i,r){t=e.constrainRotation(t,0);_ol_interaction_Interaction_.rotateWithoutConstraints(e,t,i,r)};_ol_interaction_Interaction_.rotateWithoutConstraints=function(e,t,i,r){if(t!==undefined){var n=e.getRotation();var o=e.getCenter();if(n!==undefined&&o&&r>0){e.animate({rotation:t,anchor:i,duration:r,easing:_ol_easing_.easeOut})}else{e.rotate(t,i)}}};_ol_interaction_Interaction_.zoom=function(e,t,i,r,n){t=e.constrainResolution(t,0,n);_ol_interaction_Interaction_.zoomWithoutConstraints(e,t,i,r)};_ol_interaction_Interaction_.zoomByDelta=function(e,t,i,r){var n=e.getResolution();var o=e.constrainResolution(n,t,0);if(o!==undefined){var _=e.getResolutions();o=_ol_math_.clamp(o,e.getMinResolution()||_[_.length-1],e.getMaxResolution()||_[0])}if(i&&o!==undefined&&o!==n){var a=e.getCenter();var s=e.calculateCenterZoom(o,i);s=e.constrainCenter(s);i=[(o*a[0]-n*s[0])/(o-n),(o*a[1]-n*s[1])/(o-n)]}_ol_interaction_Interaction_.zoomWithoutConstraints(e,o,i,r)};_ol_interaction_Interaction_.zoomWithoutConstraints=function(e,t,i,r){if(t){var n=e.getResolution();var o=e.getCenter();if(n!==undefined&&o&&t!==n&&r){e.animate({resolution:t,anchor:i,duration:r,easing:_ol_easing_.easeOut})}else{if(i){var _=e.calculateCenterZoom(t,i);e.setCenter(_)}e.setResolution(t)}}};var _ol_interaction_DoubleClickZoom_=function(e){var t=e?e:{};this.delta_=t.delta?t.delta:1;_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_DoubleClickZoom_.handleEvent});this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_DoubleClickZoom_,_ol_interaction_Interaction_);_ol_interaction_DoubleClickZoom_.handleEvent=function(e){var t=false;var i=e.originalEvent;if(e.type==_ol_MapBrowserEventType_.DBLCLICK){var r=e.map;var n=e.coordinate;var o=i.shiftKey?-this.delta_:this.delta_;var _=r.getView();_ol_interaction_Interaction_.zoomByDelta(_,o,n,this.duration_);e.preventDefault();t=true}return!t};var _ol_events_condition_={};_ol_events_condition_.altKeyOnly=function(e){var t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.altShiftKeysOnly=function(e){var t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey};_ol_events_condition_.always=_ol_functions_.TRUE;_ol_events_condition_.click=function(e){return e.type==_ol_MapBrowserEventType_.CLICK};_ol_events_condition_.mouseActionButton=function(e){var t=e.originalEvent;return t.button==0&&!(_ol_has_.WEBKIT&&_ol_has_.MAC&&t.ctrlKey)};_ol_events_condition_.never=_ol_functions_.FALSE;_ol_events_condition_.pointerMove=function(e){return e.type=="pointermove"};_ol_events_condition_.singleClick=function(e){return e.type==_ol_MapBrowserEventType_.SINGLECLICK};_ol_events_condition_.doubleClick=function(e){return e.type==_ol_MapBrowserEventType_.DBLCLICK};_ol_events_condition_.noModifierKeys=function(e){var t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.platformModifierKeyOnly=function(e){var t=e.originalEvent;return!t.altKey&&(_ol_has_.MAC?t.metaKey:t.ctrlKey)&&!t.shiftKey};_ol_events_condition_.shiftKeyOnly=function(e){var t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey};_ol_events_condition_.targetNotEditable=function(e){var t=e.originalEvent.target;var i=t.tagName;return i!=="INPUT"&&i!=="SELECT"&&i!=="TEXTAREA"};_ol_events_condition_.mouseOnly=function(e){_ol_asserts_.assert(e.pointerEvent,56);return e.pointerEvent.pointerType=="mouse"};_ol_events_condition_.primaryAction=function(e){var t=e.pointerEvent;return t.isPrimary&&t.button===0};var _ol_interaction_Pointer_=function(e){var t=e?e:{};var i=t.handleEvent?t.handleEvent:_ol_interaction_Pointer_.handleEvent;_ol_interaction_Interaction_.call(this,{handleEvent:i});this.handleDownEvent_=t.handleDownEvent?t.handleDownEvent:_ol_interaction_Pointer_.handleDownEvent;this.handleDragEvent_=t.handleDragEvent?t.handleDragEvent:_ol_interaction_Pointer_.handleDragEvent;this.handleMoveEvent_=t.handleMoveEvent?t.handleMoveEvent:_ol_interaction_Pointer_.handleMoveEvent;this.handleUpEvent_=t.handleUpEvent?t.handleUpEvent:_ol_interaction_Pointer_.handleUpEvent;this.handlingDownUpSequence=false;this.trackedPointers_={};this.targetPointers=[]};_ol_.inherits(_ol_interaction_Pointer_,_ol_interaction_Interaction_);_ol_interaction_Pointer_.centroid=function(e){var t=e.length;var i=0;var r=0;for(var n=0;n<t;n++){i+=e[n].clientX;r+=e[n].clientY}return[i/t,r/t]};_ol_interaction_Pointer_.prototype.isPointerDraggingEvent_=function(e){var t=e.type;return t===_ol_MapBrowserEventType_.POINTERDOWN||t===_ol_MapBrowserEventType_.POINTERDRAG||t===_ol_MapBrowserEventType_.POINTERUP};_ol_interaction_Pointer_.prototype.updateTrackedPointers_=function(e){if(this.isPointerDraggingEvent_(e)){var t=e.pointerEvent;var i=t.pointerId.toString();if(e.type==_ol_MapBrowserEventType_.POINTERUP){delete this.trackedPointers_[i]}else if(e.type==_ol_MapBrowserEventType_.POINTERDOWN){this.trackedPointers_[i]=t}else if(i in this.trackedPointers_){this.trackedPointers_[i]=t}this.targetPointers=_ol_obj_.getValues(this.trackedPointers_)}};_ol_interaction_Pointer_.handleDragEvent=_ol_.nullFunction;_ol_interaction_Pointer_.handleUpEvent=_ol_functions_.FALSE;_ol_interaction_Pointer_.handleDownEvent=_ol_functions_.FALSE;_ol_interaction_Pointer_.handleMoveEvent=_ol_.nullFunction;_ol_interaction_Pointer_.handleEvent=function(e){if(!(e instanceof _ol_MapBrowserPointerEvent_)){return true}var t=false;this.updateTrackedPointers_(e);if(this.handlingDownUpSequence){if(e.type==_ol_MapBrowserEventType_.POINTERDRAG){this.handleDragEvent_(e)}else if(e.type==_ol_MapBrowserEventType_.POINTERUP){var i=this.handleUpEvent_(e);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else{if(e.type==_ol_MapBrowserEventType_.POINTERDOWN){var r=this.handleDownEvent_(e);this.handlingDownUpSequence=r;t=this.shouldStopEvent(r)}else if(e.type==_ol_MapBrowserEventType_.POINTERMOVE){this.handleMoveEvent_(e)}}return!t};_ol_interaction_Pointer_.prototype.shouldStopEvent=function(e){return e};var _ol_interaction_DragPan_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragPan_.handleDownEvent_,handleDragEvent:_ol_interaction_DragPan_.handleDragEvent_,handleUpEvent:_ol_interaction_DragPan_.handleUpEvent_});var t=e?e:{};this.kinetic_=t.kinetic;this.lastCentroid=null;this.condition_=t.condition?t.condition:_ol_events_condition_.noModifierKeys;this.noKinetic_=false};_ol_.inherits(_ol_interaction_DragPan_,_ol_interaction_Pointer_);_ol_interaction_DragPan_.handleDragEvent_=function(e){var t=this.targetPointers;var i=_ol_interaction_Pointer_.centroid(t);if(t.length==this.lastPointersCount_){if(this.kinetic_){this.kinetic_.update(i[0],i[1])}if(this.lastCentroid){var r=this.lastCentroid[0]-i[0];var n=i[1]-this.lastCentroid[1];var o=e.map;var _=o.getView();var a=_.getState();var s=[r,n];_ol_coordinate_.scale(s,a.resolution);_ol_coordinate_.rotate(s,a.rotation);_ol_coordinate_.add(s,a.center);s=_.constrainCenter(s);_.setCenter(s)}}else if(this.kinetic_){this.kinetic_.begin()}this.lastCentroid=i;this.lastPointersCount_=t.length};_ol_interaction_DragPan_.handleUpEvent_=function(e){var t=e.map;var i=t.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){var r=this.kinetic_.getDistance();var n=this.kinetic_.getAngle();var o=i.getCenter();var _=t.getPixelFromCoordinate(o);var a=t.getCoordinateFromPixel([_[0]-r*Math.cos(n),_[1]-r*Math.sin(n)]);i.animate({center:i.constrainCenter(a),duration:500,easing:_ol_easing_.easeOut})}i.setHint(_ol_ViewHint_.INTERACTING,-1);return false}else{if(this.kinetic_){this.kinetic_.begin()}this.lastCentroid=null;return true}};_ol_interaction_DragPan_.handleDownEvent_=function(e){if(this.targetPointers.length>0&&this.condition_(e)){var t=e.map;var i=t.getView();this.lastCentroid=null;if(!this.handlingDownUpSequence){i.setHint(_ol_ViewHint_.INTERACTING,1)}if(i.getAnimating()){i.setCenter(e.frameState.viewState.center)}if(this.kinetic_){this.kinetic_.begin()}this.noKinetic_=this.targetPointers.length>1;return true}else{return false}};_ol_interaction_DragPan_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_DragRotate_=function(e){var t=e?e:{};_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragRotate_.handleDownEvent_,handleDragEvent:_ol_interaction_DragRotate_.handleDragEvent_,handleUpEvent:_ol_interaction_DragRotate_.handleUpEvent_});this.condition_=t.condition?t.condition:_ol_events_condition_.altShiftKeysOnly;this.lastAngle_=undefined;this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_DragRotate_,_ol_interaction_Pointer_);_ol_interaction_DragRotate_.handleDragEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return}var t=e.map;var i=t.getView();if(i.getConstraints().rotation===_ol_RotationConstraint_.disable){return}var r=t.getSize();var n=e.pixel;var o=Math.atan2(r[1]/2-n[1],n[0]-r[0]/2);if(this.lastAngle_!==undefined){var _=o-this.lastAngle_;var a=i.getRotation();_ol_interaction_Interaction_.rotateWithoutConstraints(i,a-_)}this.lastAngle_=o};_ol_interaction_DragRotate_.handleUpEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return true}var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);var r=i.getRotation();_ol_interaction_Interaction_.rotate(i,r,undefined,this.duration_);return false};_ol_interaction_DragRotate_.handleDownEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return false}if(_ol_events_condition_.mouseActionButton(e)&&this.condition_(e)){var t=e.map;t.getView().setHint(_ol_ViewHint_.INTERACTING,1);this.lastAngle_=undefined;return true}else{return false}};_ol_interaction_DragRotate_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_render_Box_=function(e){this.geometry_=null;this.element_=document.createElement("div");this.element_.style.position="absolute";this.element_.className="ol-box "+e;this.map_=null;this.startPixel_=null;this.endPixel_=null};_ol_.inherits(_ol_render_Box_,_ol_Disposable_);_ol_render_Box_.prototype.disposeInternal=function(){this.setMap(null)};_ol_render_Box_.prototype.render_=function(){var e=this.startPixel_;var t=this.endPixel_;var i="px";var r=this.element_.style;r.left=Math.min(e[0],t[0])+i;r.top=Math.min(e[1],t[1])+i;r.width=Math.abs(t[0]-e[0])+i;r.height=Math.abs(t[1]-e[1])+i};_ol_render_Box_.prototype.setMap=function(e){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);var t=this.element_.style;t.left=t.top=t.width=t.height="inherit"}this.map_=e;if(this.map_){this.map_.getOverlayContainer().appendChild(this.element_)}};_ol_render_Box_.prototype.setPixels=function(e,t){this.startPixel_=e;this.endPixel_=t;this.createOrUpdateGeometry();this.render_()};_ol_render_Box_.prototype.createOrUpdateGeometry=function(){var e=this.startPixel_;var t=this.endPixel_;var i=[e,[e[0],t[1]],t,[t[0],e[1]]];var r=i.map(this.map_.getCoordinateFromPixel,this.map_);r[4]=r[0].slice();if(!this.geometry_){this.geometry_=new _ol_geom_Polygon_([r])}else{this.geometry_.setCoordinates([r])}};_ol_render_Box_.prototype.getGeometry=function(){return this.geometry_};var _ol_interaction_DragBox_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_DragBox_.handleDownEvent_,handleDragEvent:_ol_interaction_DragBox_.handleDragEvent_,handleUpEvent:_ol_interaction_DragBox_.handleUpEvent_});var t=e?e:{};this.box_=new _ol_render_Box_(t.className||"ol-dragbox");this.minArea_=t.minArea!==undefined?t.minArea:64;this.startPixel_=null;this.condition_=t.condition?t.condition:_ol_events_condition_.always;this.boxEndCondition_=t.boxEndCondition?t.boxEndCondition:_ol_interaction_DragBox_.defaultBoxEndCondition};_ol_.inherits(_ol_interaction_DragBox_,_ol_interaction_Pointer_);_ol_interaction_DragBox_.defaultBoxEndCondition=function(e,t,i){var r=i[0]-t[0];var n=i[1]-t[1];return r*r+n*n>=this.minArea_};_ol_interaction_DragBox_.handleDragEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return}this.box_.setPixels(this.startPixel_,e.pixel);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXDRAG,e.coordinate,e))};_ol_interaction_DragBox_.prototype.getGeometry=function(){return this.box_.getGeometry()};_ol_interaction_DragBox_.prototype.onBoxEnd=_ol_.nullFunction;_ol_interaction_DragBox_.handleUpEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return true}this.box_.setMap(null);if(this.boxEndCondition_(e,this.startPixel_,e.pixel)){this.onBoxEnd(e);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXEND,e.coordinate,e))}return false};_ol_interaction_DragBox_.handleDownEvent_=function(e){if(!_ol_events_condition_.mouseOnly(e)){return false}if(_ol_events_condition_.mouseActionButton(e)&&this.condition_(e)){this.startPixel_=e.pixel;this.box_.setMap(e.map);this.box_.setPixels(this.startPixel_,this.startPixel_);this.dispatchEvent(new _ol_interaction_DragBox_.Event(_ol_interaction_DragBox_.EventType_.BOXSTART,e.coordinate,e));return true}else{return false}};_ol_interaction_DragBox_.EventType_={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend"};_ol_interaction_DragBox_.Event=function(e,t,i){_ol_events_Event_.call(this,e);this.coordinate=t;this.mapBrowserEvent=i};_ol_.inherits(_ol_interaction_DragBox_.Event,_ol_events_Event_);var _ol_interaction_DragZoom_=function(e){var t=e?e:{};var i=t.condition?t.condition:_ol_events_condition_.shiftKeyOnly;this.duration_=t.duration!==undefined?t.duration:200;this.out_=t.out!==undefined?t.out:false;_ol_interaction_DragBox_.call(this,{condition:i,className:t.className||"ol-dragzoom"})};_ol_.inherits(_ol_interaction_DragZoom_,_ol_interaction_DragBox_);_ol_interaction_DragZoom_.prototype.onBoxEnd=function(){var e=this.getMap();var t=e.getView();var i=e.getSize();var r=this.getGeometry().getExtent();if(this.out_){var n=t.calculateExtent(i);var o=_ol_extent_.createOrUpdateFromCoordinates([e.getPixelFromCoordinate(_ol_extent_.getBottomLeft(r)),e.getPixelFromCoordinate(_ol_extent_.getTopRight(r))]);var _=t.getResolutionForExtent(o,i);_ol_extent_.scaleFromCenter(n,1/_);r=n}var a=t.constrainResolution(t.getResolutionForExtent(r,i));var s=_ol_extent_.getCenter(r);s=t.constrainCenter(s);t.animate({resolution:a,center:s,duration:this.duration_,easing:_ol_easing_.easeOut})};var _ol_events_KeyCode_={LEFT:37,UP:38,RIGHT:39,DOWN:40};var _ol_interaction_KeyboardPan_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_KeyboardPan_.handleEvent});var t=e||{};this.defaultCondition_=function(e){return _ol_events_condition_.noModifierKeys(e)&&_ol_events_condition_.targetNotEditable(e)};this.condition_=t.condition!==undefined?t.condition:this.defaultCondition_;this.duration_=t.duration!==undefined?t.duration:100;this.pixelDelta_=t.pixelDelta!==undefined?t.pixelDelta:128};_ol_.inherits(_ol_interaction_KeyboardPan_,_ol_interaction_Interaction_);_ol_interaction_KeyboardPan_.handleEvent=function(e){var t=false;if(e.type==_ol_events_EventType_.KEYDOWN){var i=e.originalEvent;var r=i.keyCode;if(this.condition_(e)&&(r==_ol_events_KeyCode_.DOWN||r==_ol_events_KeyCode_.LEFT||r==_ol_events_KeyCode_.RIGHT||r==_ol_events_KeyCode_.UP)){var n=e.map;var o=n.getView();var _=o.getResolution()*this.pixelDelta_;var a=0,s=0;if(r==_ol_events_KeyCode_.DOWN){s=-_}else if(r==_ol_events_KeyCode_.LEFT){a=-_}else if(r==_ol_events_KeyCode_.RIGHT){a=_}else{s=_}var l=[a,s];_ol_coordinate_.rotate(l,o.getRotation());_ol_interaction_Interaction_.pan(o,l,this.duration_);e.preventDefault();t=true}}return!t};var _ol_interaction_KeyboardZoom_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_KeyboardZoom_.handleEvent});var t=e?e:{};this.condition_=t.condition?t.condition:_ol_events_condition_.targetNotEditable;this.delta_=t.delta?t.delta:1;this.duration_=t.duration!==undefined?t.duration:100};_ol_.inherits(_ol_interaction_KeyboardZoom_,_ol_interaction_Interaction_);_ol_interaction_KeyboardZoom_.handleEvent=function(e){var t=false;if(e.type==_ol_events_EventType_.KEYDOWN||e.type==_ol_events_EventType_.KEYPRESS){var i=e.originalEvent;var r=i.charCode;if(this.condition_(e)&&(r=="+".charCodeAt(0)||r=="-".charCodeAt(0))){var n=e.map;var o=r=="+".charCodeAt(0)?this.delta_:-this.delta_;var _=n.getView();_ol_interaction_Interaction_.zoomByDelta(_,o,undefined,this.duration_);e.preventDefault();t=true}}return!t};var _ol_interaction_MouseWheelZoom_=function(e){_ol_interaction_Interaction_.call(this,{handleEvent:_ol_interaction_MouseWheelZoom_.handleEvent});var t=e||{};this.delta_=0;this.duration_=t.duration!==undefined?t.duration:250;this.timeout_=t.timeout!==undefined?t.timeout:80;this.useAnchor_=t.useAnchor!==undefined?t.useAnchor:true;this.constrainResolution_=t.constrainResolution||false;this.lastAnchor_=null;this.startTime_=undefined;this.timeoutId_=undefined;this.mode_=undefined;this.trackpadEventGap_=400;this.trackpadTimeoutId_=undefined;this.trackpadDeltaPerZoom_=300;this.trackpadZoomBuffer_=1.5};_ol_.inherits(_ol_interaction_MouseWheelZoom_,_ol_interaction_Interaction_);_ol_interaction_MouseWheelZoom_.handleEvent=function(e){var t=e.type;if(t!==_ol_events_EventType_.WHEEL&&t!==_ol_events_EventType_.MOUSEWHEEL){return true}e.preventDefault();var i=e.map;var r=e.originalEvent;if(this.useAnchor_){this.lastAnchor_=e.coordinate}var n;if(e.type==_ol_events_EventType_.WHEEL){n=r.deltaY;if(_ol_has_.FIREFOX&&r.deltaMode===WheelEvent.DOM_DELTA_PIXEL){n/=_ol_has_.DEVICE_PIXEL_RATIO}if(r.deltaMode===WheelEvent.DOM_DELTA_LINE){n*=40}}else if(e.type==_ol_events_EventType_.MOUSEWHEEL){n=-r.wheelDeltaY;if(_ol_has_.SAFARI){n/=3}}if(n===0){return false}var o=Date.now();if(this.startTime_===undefined){this.startTime_=o}if(!this.mode_||o-this.startTime_>this.trackpadEventGap_){this.mode_=Math.abs(n)<4?_ol_interaction_MouseWheelZoom_.Mode_.TRACKPAD:_ol_interaction_MouseWheelZoom_.Mode_.WHEEL}if(this.mode_===_ol_interaction_MouseWheelZoom_.Mode_.TRACKPAD){var _=i.getView();if(this.trackpadTimeoutId_){clearTimeout(this.trackpadTimeoutId_)}else{_.setHint(_ol_ViewHint_.INTERACTING,1)}this.trackpadTimeoutId_=setTimeout(this.decrementInteractingHint_.bind(this),this.trackpadEventGap_);var a=_.getResolution()*Math.pow(2,n/this.trackpadDeltaPerZoom_);var s=_.getMinResolution();var l=_.getMaxResolution();var h=0;if(a<s){a=Math.max(a,s/this.trackpadZoomBuffer_);h=1}else if(a>l){a=Math.min(a,l*this.trackpadZoomBuffer_);h=-1}if(this.lastAnchor_){var u=_.calculateCenterZoom(a,this.lastAnchor_);_.setCenter(_.constrainCenter(u))}_.setResolution(a);if(h===0&&this.constrainResolution_){_.animate({resolution:_.constrainResolution(a,n>0?-1:1),easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:this.duration_})}if(h>0){_.animate({resolution:s,easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:500})}else if(h<0){_.animate({resolution:l,easing:_ol_easing_.easeOut,anchor:this.lastAnchor_,duration:500})}this.startTime_=o;return false}this.delta_+=n;var c=Math.max(this.timeout_-(o-this.startTime_),0);clearTimeout(this.timeoutId_);this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),c);return false};_ol_interaction_MouseWheelZoom_.prototype.decrementInteractingHint_=function(){this.trackpadTimeoutId_=undefined;var e=this.getMap().getView();e.setHint(_ol_ViewHint_.INTERACTING,-1)};_ol_interaction_MouseWheelZoom_.prototype.handleWheelZoom_=function(e){var t=e.getView();if(t.getAnimating()){t.cancelAnimations()}var i=_ol_.MOUSEWHEELZOOM_MAXDELTA;var r=_ol_math_.clamp(this.delta_,-i,i);_ol_interaction_Interaction_.zoomByDelta(t,-r,this.lastAnchor_,this.duration_);this.mode_=undefined;this.delta_=0;this.lastAnchor_=null;this.startTime_=undefined;this.timeoutId_=undefined};_ol_interaction_MouseWheelZoom_.prototype.setMouseAnchor=function(e){this.useAnchor_=e;if(!e){this.lastAnchor_=null}};_ol_interaction_MouseWheelZoom_.Mode_={TRACKPAD:"trackpad",WHEEL:"wheel"};var _ol_interaction_PinchRotate_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_PinchRotate_.handleDownEvent_,handleDragEvent:_ol_interaction_PinchRotate_.handleDragEvent_,handleUpEvent:_ol_interaction_PinchRotate_.handleUpEvent_});var t=e||{};this.anchor_=null;this.lastAngle_=undefined;this.rotating_=false;this.rotationDelta_=0;this.threshold_=t.threshold!==undefined?t.threshold:.3;this.duration_=t.duration!==undefined?t.duration:250};_ol_.inherits(_ol_interaction_PinchRotate_,_ol_interaction_Pointer_);_ol_interaction_PinchRotate_.handleDragEvent_=function(e){var t=0;var i=this.targetPointers[0];var r=this.targetPointers[1];var n=Math.atan2(r.clientY-i.clientY,r.clientX-i.clientX);if(this.lastAngle_!==undefined){var o=n-this.lastAngle_;this.rotationDelta_+=o;if(!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_){this.rotating_=true}t=o}this.lastAngle_=n;var _=e.map;var a=_.getView();if(a.getConstraints().rotation===_ol_RotationConstraint_.disable){return}var s=_.getViewport().getBoundingClientRect();var l=_ol_interaction_Pointer_.centroid(this.targetPointers);l[0]-=s.left;l[1]-=s.top;this.anchor_=_.getCoordinateFromPixel(l);if(this.rotating_){var h=a.getRotation();_.render();_ol_interaction_Interaction_.rotateWithoutConstraints(a,h+t,this.anchor_)}};_ol_interaction_PinchRotate_.handleUpEvent_=function(e){if(this.targetPointers.length<2){var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);if(this.rotating_){var r=i.getRotation();_ol_interaction_Interaction_.rotate(i,r,this.anchor_,this.duration_)}return false}else{return true}};_ol_interaction_PinchRotate_.handleDownEvent_=function(e){if(this.targetPointers.length>=2){var t=e.map;this.anchor_=null;this.lastAngle_=undefined;this.rotating_=false;this.rotationDelta_=0;if(!this.handlingDownUpSequence){t.getView().setHint(_ol_ViewHint_.INTERACTING,1)}return true}else{return false}};_ol_interaction_PinchRotate_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_PinchZoom_=function(e){_ol_interaction_Pointer_.call(this,{handleDownEvent:_ol_interaction_PinchZoom_.handleDownEvent_,handleDragEvent:_ol_interaction_PinchZoom_.handleDragEvent_,handleUpEvent:_ol_interaction_PinchZoom_.handleUpEvent_});var t=e?e:{};this.constrainResolution_=t.constrainResolution||false;this.anchor_=null;this.duration_=t.duration!==undefined?t.duration:400;this.lastDistance_=undefined;this.lastScaleDelta_=1};_ol_.inherits(_ol_interaction_PinchZoom_,_ol_interaction_Pointer_);_ol_interaction_PinchZoom_.handleDragEvent_=function(e){var t=1;var i=this.targetPointers[0];var r=this.targetPointers[1];var n=i.clientX-r.clientX;var o=i.clientY-r.clientY;var _=Math.sqrt(n*n+o*o);if(this.lastDistance_!==undefined){t=this.lastDistance_/_}this.lastDistance_=_;var a=e.map;var s=a.getView();var l=s.getResolution();var h=s.getMaxResolution();var u=s.getMinResolution();var c=l*t;if(c>h){t=h/l;c=h}else if(c<u){t=u/l;c=u}if(t!=1){this.lastScaleDelta_=t}var f=a.getViewport().getBoundingClientRect();var d=_ol_interaction_Pointer_.centroid(this.targetPointers);d[0]-=f.left;d[1]-=f.top;this.anchor_=a.getCoordinateFromPixel(d);a.render();_ol_interaction_Interaction_.zoomWithoutConstraints(s,c,this.anchor_)};_ol_interaction_PinchZoom_.handleUpEvent_=function(e){if(this.targetPointers.length<2){var t=e.map;var i=t.getView();i.setHint(_ol_ViewHint_.INTERACTING,-1);var r=i.getResolution();if(this.constrainResolution_||r<i.getMinResolution()||r>i.getMaxResolution()){var n=this.lastScaleDelta_-1;_ol_interaction_Interaction_.zoom(i,r,this.anchor_,this.duration_,n)}return false}else{return true}};_ol_interaction_PinchZoom_.handleDownEvent_=function(e){if(this.targetPointers.length>=2){var t=e.map;this.anchor_=null;this.lastDistance_=undefined;this.lastScaleDelta_=1;if(!this.handlingDownUpSequence){t.getView().setHint(_ol_ViewHint_.INTERACTING,1)}return true}else{return false}};_ol_interaction_PinchZoom_.prototype.shouldStopEvent=_ol_functions_.FALSE;var _ol_interaction_={};_ol_interaction_.defaults=function(e){var t=e?e:{};var i=new _ol_Collection_;var r=new _ol_Kinetic_(-.005,.05,100);var n=t.altShiftDragRotate!==undefined?t.altShiftDragRotate:true;if(n){i.push(new _ol_interaction_DragRotate_)}var o=t.doubleClickZoom!==undefined?t.doubleClickZoom:true;if(o){i.push(new _ol_interaction_DoubleClickZoom_({delta:t.zoomDelta,duration:t.zoomDuration}))}var _=t.dragPan!==undefined?t.dragPan:true;if(_){i.push(new _ol_interaction_DragPan_({kinetic:r}))}var a=t.pinchRotate!==undefined?t.pinchRotate:true;if(a){i.push(new _ol_interaction_PinchRotate_)}var s=t.pinchZoom!==undefined?t.pinchZoom:true;if(s){i.push(new _ol_interaction_PinchZoom_({constrainResolution:t.constrainResolution,duration:t.zoomDuration}))}var l=t.keyboard!==undefined?t.keyboard:true;if(l){i.push(new _ol_interaction_KeyboardPan_);i.push(new _ol_interaction_KeyboardZoom_({delta:t.zoomDelta,duration:t.zoomDuration}))}var h=t.mouseWheelZoom!==undefined?t.mouseWheelZoom:true;if(h){i.push(new _ol_interaction_MouseWheelZoom_({constrainResolution:t.constrainResolution,duration:t.zoomDuration}))}var u=t.shiftDragZoom!==undefined?t.shiftDragZoom:true;if(u){i.push(new _ol_interaction_DragZoom_({duration:t.zoomDuration}))}return i};var _ol_ImageBase_=function(e,t,i,r){_ol_events_EventTarget_.call(this);this.extent=e;this.pixelRatio_=i;this.resolution=t;this.state=r};_ol_.inherits(_ol_ImageBase_,_ol_events_EventTarget_);_ol_ImageBase_.prototype.changed=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_ImageBase_.prototype.getExtent=function(){return this.extent};_ol_ImageBase_.prototype.getImage=function(){};_ol_ImageBase_.prototype.getPixelRatio=function(){return this.pixelRatio_};_ol_ImageBase_.prototype.getResolution=function(){return this.resolution};_ol_ImageBase_.prototype.getState=function(){return this.state};_ol_ImageBase_.prototype.load=function(){};var _ol_ImageState_={IDLE:0,LOADING:1,LOADED:2,ERROR:3};var _ol_ImageCanvas_=function(e,t,i,r,n){this.loader_=n!==undefined?n:null;var o=n!==undefined?_ol_ImageState_.IDLE:_ol_ImageState_.LOADED;_ol_ImageBase_.call(this,e,t,i,o);this.canvas_=r;this.error_=null};_ol_.inherits(_ol_ImageCanvas_,_ol_ImageBase_);_ol_ImageCanvas_.prototype.getError=function(){return this.error_};_ol_ImageCanvas_.prototype.handleLoad_=function(e){if(e){this.error_=e;this.state=_ol_ImageState_.ERROR}else{this.state=_ol_ImageState_.LOADED}this.changed()};_ol_ImageCanvas_.prototype.load=function(){if(this.state==_ol_ImageState_.IDLE){this.state=_ol_ImageState_.LOADING;this.changed();this.loader_(this.handleLoad_.bind(this))}};_ol_ImageCanvas_.prototype.getImage=function(){return this.canvas_};var _ol_LayerType_={IMAGE:"IMAGE",TILE:"TILE",VECTOR_TILE:"VECTOR_TILE",VECTOR:"VECTOR"};var _ol_layer_VectorRenderType_={IMAGE:"image",VECTOR:"vector"};var _ol_render_Event_=function(e,t,i,r,n){_ol_events_Event_.call(this,e);this.vectorContext=t;this.frameState=i;this.context=r;this.glContext=n};_ol_.inherits(_ol_render_Event_,_ol_events_Event_);var _ol_structs_LRUCache_=function(e){_ol_events_EventTarget_.call(this);this.highWaterMark=e!==undefined?e:2048;this.count_=0;this.entries_={};this.oldest_=null;this.newest_=null};_ol_.inherits(_ol_structs_LRUCache_,_ol_events_EventTarget_);_ol_structs_LRUCache_.prototype.canExpireCache=function(){return this.getCount()>this.highWaterMark};_ol_structs_LRUCache_.prototype.clear=function(){this.count_=0;this.entries_={};this.oldest_=null;this.newest_=null;this.dispatchEvent(_ol_events_EventType_.CLEAR)};_ol_structs_LRUCache_.prototype.containsKey=function(e){return this.entries_.hasOwnProperty(e)};_ol_structs_LRUCache_.prototype.forEach=function(e,t){var i=this.oldest_;while(i){e.call(t,i.value_,i.key_,this);i=i.newer}};_ol_structs_LRUCache_.prototype.get=function(e){var t=this.entries_[e];_ol_asserts_.assert(t!==undefined,15);if(t===this.newest_){return t.value_}else if(t===this.oldest_){this.oldest_=this.oldest_.newer;this.oldest_.older=null}else{t.newer.older=t.older;t.older.newer=t.newer}t.newer=null;t.older=this.newest_;this.newest_.newer=t;this.newest_=t;return t.value_};_ol_structs_LRUCache_.prototype.remove=function(e){var t=this.entries_[e];_ol_asserts_.assert(t!==undefined,15);if(t===this.newest_){this.newest_=t.older;if(this.newest_){this.newest_.newer=null}}else if(t===this.oldest_){this.oldest_=t.newer;if(this.oldest_){this.oldest_.older=null}}else{t.newer.older=t.older;t.older.newer=t.newer}delete this.entries_[e];--this.count_;return t.value_};_ol_structs_LRUCache_.prototype.getCount=function(){return this.count_};_ol_structs_LRUCache_.prototype.getKeys=function(){var e=new Array(this.count_);var t=0;var i;for(i=this.newest_;i;i=i.older){e[t++]=i.key_}return e};_ol_structs_LRUCache_.prototype.getValues=function(){var e=new Array(this.count_);var t=0;var i;for(i=this.newest_;i;i=i.older){e[t++]=i.value_}return e};_ol_structs_LRUCache_.prototype.peekLast=function(){return this.oldest_.value_};_ol_structs_LRUCache_.prototype.peekLastKey=function(){return this.oldest_.key_};_ol_structs_LRUCache_.prototype.peekFirstKey=function(){return this.newest_.key_};_ol_structs_LRUCache_.prototype.pop=function(){var e=this.oldest_;delete this.entries_[e.key_];if(e.newer){e.newer.older=null}this.oldest_=e.newer;if(!this.oldest_){this.newest_=null}--this.count_;return e.value_};_ol_structs_LRUCache_.prototype.replace=function(e,t){this.get(e);this.entries_[e].value_=t};_ol_structs_LRUCache_.prototype.set=function(e,t){_ol_asserts_.assert(!(e in this.entries_),16);var i={key_:e,newer:null,older:this.newest_,value_:t};if(!this.newest_){this.oldest_=i}else{this.newest_.newer=i}this.newest_=i;this.entries_[e]=i;++this.count_};_ol_structs_LRUCache_.prototype.prune=function(){while(this.canExpireCache()){this.pop()}};var _ol_render_canvas_={};_ol_render_canvas_.defaultFont="10px sans-serif";_ol_render_canvas_.defaultFillStyle=[0,0,0,1];_ol_render_canvas_.defaultLineCap="round";_ol_render_canvas_.defaultLineDash=[];_ol_render_canvas_.defaultLineDashOffset=0;_ol_render_canvas_.defaultLineJoin="round";_ol_render_canvas_.defaultMiterLimit=10;_ol_render_canvas_.defaultStrokeStyle=[0,0,0,1];_ol_render_canvas_.defaultTextAlign="center";_ol_render_canvas_.defaultTextBaseline="middle";_ol_render_canvas_.defaultPadding=[0,0,0,0];_ol_render_canvas_.defaultLineWidth=1;_ol_render_canvas_.labelCache=new _ol_structs_LRUCache_;_ol_render_canvas_.checkedFonts_={};_ol_render_canvas_.measureContext_=null;_ol_render_canvas_.textHeights_={};_ol_render_canvas_.checkFont=function(){var e=60;var t=_ol_render_canvas_.checkedFonts_;var i=_ol_render_canvas_.labelCache;var r="32px monospace";var n="wmytzilWMYTZIL@#/&?$%10";var o,_;function a(e){var t=_ol_render_canvas_.getMeasureContext();t.font=r;_=t.measureText(n).width;var i=true;if(e!="monospace"){t.font="32px "+e+",monospace";var o=t.measureText(n).width;i=o!=_}return i}function s(){var r=true;for(var n in t){if(t[n]<e){if(a(n)){t[n]=e;_ol_obj_.clear(_ol_render_canvas_.textHeights_);_ol_render_canvas_.measureContext_=null;i.clear()}else{++t[n];r=false}}}if(r){window.clearInterval(o);o=undefined}}return function(i){var r=_ol_css_.getFontFamilies(i);if(!r){return}for(var n=0,_=r.length;n<_;++n){var l=r[n];if(!(l in t)){t[l]=e;if(!a(l)){t[l]=0;if(o===undefined){o=window.setInterval(s,32)}}}}}}();_ol_render_canvas_.getMeasureContext=function(){var e=_ol_render_canvas_.measureContext_;if(!e){e=_ol_render_canvas_.measureContext_=_ol_dom_.createCanvasContext2D(1,1)}return e};_ol_render_canvas_.measureTextHeight=function(){var e;var t=_ol_render_canvas_.textHeights_;return function(i){var r=t[i];if(r==undefined){if(!e){e=document.createElement("span");e.textContent="M";e.style.margin=e.style.padding="0 !important";e.style.position="absolute !important";e.style.left="-99999px !important"}e.style.font=i;document.body.appendChild(e);r=t[i]=e.offsetHeight;document.body.removeChild(e)}return r}}();_ol_render_canvas_.measureTextWidth=function(e,t){var i=_ol_render_canvas_.getMeasureContext();if(e!=i.font){i.font=e}return i.measureText(t).width};_ol_render_canvas_.rotateAtOffset=function(e,t,i,r){if(t!==0){e.translate(i,r);e.rotate(t);e.translate(-i,-r)}};_ol_render_canvas_.resetTransform_=_ol_transform_.create();_ol_render_canvas_.drawImage=function(e,t,i,r,n,o,_,a,s,l,h){var u;if(i!=1){u=e.globalAlpha;e.globalAlpha=u*i}if(t){e.setTransform.apply(e,t)}e.drawImage(r,n,o,_,a,s,l,_*h,a*h);if(u){e.globalAlpha=u}if(t){e.setTransform.apply(e,_ol_render_canvas_.resetTransform_)}};var _ol_color_={};_ol_color_.HEX_COLOR_RE_=/^#(?:[0-9a-f]{3,4}){1,2}$/i;_ol_color_.NAMED_COLOR_RE_=/^([a-z]*)$/i;_ol_color_.asArray=function(e){if(Array.isArray(e)){return e}else{return _ol_color_.fromString(e)}};_ol_color_.asString=function(e){if(typeof e==="string"){return e}else{return _ol_color_.toString(e)}};_ol_color_.fromNamed=function(e){var t=document.createElement("div");t.style.color=e;document.body.appendChild(t);var i=getComputedStyle(t).color;document.body.removeChild(t);return i};_ol_color_.fromString=function(){var e=1024;var t={};var i=0;return function(r){var n;if(t.hasOwnProperty(r)){n=t[r]}else{if(i>=e){var o=0;var _;for(_ in t){if((o++&3)===0){delete t[_];--i}}}n=_ol_color_.fromStringInternal_(r);t[r]=n;++i}return n}}();_ol_color_.fromStringInternal_=function(e){var t,i,r,n,o,_;if(_ol_color_.NAMED_COLOR_RE_.exec(e)){e=_ol_color_.fromNamed(e)}if(_ol_color_.HEX_COLOR_RE_.exec(e)){var a=e.length-1;var s;if(a<=4){s=1}else{s=2}var l=a===4||a===8;t=parseInt(e.substr(1+0*s,s),16);i=parseInt(e.substr(1+1*s,s),16);r=parseInt(e.substr(1+2*s,s),16);if(l){n=parseInt(e.substr(1+3*s,s),16)}else{n=255}if(s==1){t=(t<<4)+t;i=(i<<4)+i;r=(r<<4)+r;if(l){n=(n<<4)+n}}o=[t,i,r,n/255]}else if(e.indexOf("rgba(")==0){_=e.slice(5,-1).split(",").map(Number);o=_ol_color_.normalize(_)}else if(e.indexOf("rgb(")==0){_=e.slice(4,-1).split(",").map(Number);_.push(1);o=_ol_color_.normalize(_)}else{_ol_asserts_.assert(false,14)}return o};_ol_color_.normalize=function(e,t){var i=t||[];i[0]=_ol_math_.clamp(e[0]+.5|0,0,255);i[1]=_ol_math_.clamp(e[1]+.5|0,0,255);i[2]=_ol_math_.clamp(e[2]+.5|0,0,255);i[3]=_ol_math_.clamp(e[3],0,1);return i};_ol_color_.toString=function(e){var t=e[0];if(t!=(t|0)){t=t+.5|0}var i=e[1];if(i!=(i|0)){i=i+.5|0}var r=e[2];if(r!=(r|0)){r=r+.5|0}var n=e[3]===undefined?1:e[3];return"rgba("+t+","+i+","+r+","+n+")"};var _ol_colorlike_={};_ol_colorlike_.asColorLike=function(e){if(_ol_colorlike_.isColorLike(e)){return e}else{return _ol_color_.asString(e)}};_ol_colorlike_.isColorLike=function(e){return typeof e==="string"||e instanceof CanvasPattern||e instanceof CanvasGradient};var _ol_render_VectorContext_=function(){};_ol_render_VectorContext_.prototype.drawCustom=function(e,t,i){};_ol_render_VectorContext_.prototype.drawGeometry=function(e){};_ol_render_VectorContext_.prototype.setStyle=function(e){};_ol_render_VectorContext_.prototype.drawCircle=function(e,t){};_ol_render_VectorContext_.prototype.drawFeature=function(e,t){};_ol_render_VectorContext_.prototype.drawGeometryCollection=function(e,t){};_ol_render_VectorContext_.prototype.drawLineString=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiLineString=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiPoint=function(e,t){};_ol_render_VectorContext_.prototype.drawMultiPolygon=function(e,t){};_ol_render_VectorContext_.prototype.drawPoint=function(e,t){};_ol_render_VectorContext_.prototype.drawPolygon=function(e,t){};_ol_render_VectorContext_.prototype.drawText=function(e,t){};_ol_render_VectorContext_.prototype.setFillStrokeStyle=function(e,t){};_ol_render_VectorContext_.prototype.setImageStyle=function(e,t){};_ol_render_VectorContext_.prototype.setTextStyle=function(e,t){};var _ol_render_canvas_Immediate_=function(e,t,i,r,n){_ol_render_VectorContext_.call(this);this.context_=e;this.pixelRatio_=t;this.extent_=i;this.transform_=r;this.viewRotation_=n;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_=false;this.imageRotation_=0;this.imageScale_=0;this.imageSnapToPixel_=false;this.imageWidth_=0;this.text_="";this.textOffsetX_=0;this.textOffsetY_=0;this.textRotateWithView_=false;this.textRotation_=0;this.textScale_=0;this.textFillState_=null;this.textStrokeState_=null;this.textState_=null;this.pixelCoordinates_=[];this.tmpLocalTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_Immediate_,_ol_render_VectorContext_);_ol_render_canvas_Immediate_.prototype.drawImages_=function(e,t,i,r){if(!this.image_){return}var n=_ol_geom_flat_transform_.transform2D(e,t,i,2,this.transform_,this.pixelCoordinates_);var o=this.context_;var _=this.tmpLocalTransform_;var a=o.globalAlpha;if(this.imageOpacity_!=1){o.globalAlpha=a*this.imageOpacity_}var s=this.imageRotation_;if(this.imageRotateWithView_){s+=this.viewRotation_}var l,h;for(l=0,h=n.length;l<h;l+=2){var u=n[l]-this.imageAnchorX_;var c=n[l+1]-this.imageAnchorY_;if(this.imageSnapToPixel_){u=Math.round(u);c=Math.round(c)}if(s!==0||this.imageScale_!=1){var f=u+this.imageAnchorX_;var d=c+this.imageAnchorY_;_ol_transform_.compose(_,f,d,this.imageScale_,this.imageScale_,s,-f,-d);o.setTransform.apply(o,_)}o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,u,c,this.imageWidth_,this.imageHeight_)}if(s!==0||this.imageScale_!=1){o.setTransform(1,0,0,1,0,0)}if(this.imageOpacity_!=1){o.globalAlpha=a}};_ol_render_canvas_Immediate_.prototype.drawText_=function(e,t,i,r){if(!this.textState_||this.text_===""){return}if(this.textFillState_){this.setContextFillState_(this.textFillState_)}if(this.textStrokeState_){this.setContextStrokeState_(this.textStrokeState_)}this.setContextTextState_(this.textState_);var n=_ol_geom_flat_transform_.transform2D(e,t,i,r,this.transform_,this.pixelCoordinates_);var o=this.context_;var _=this.textRotation_;if(this.textRotateWithView_){_+=this.viewRotation_}for(;t<i;t+=r){var a=n[t]+this.textOffsetX_;var s=n[t+1]+this.textOffsetY_;if(_!==0||this.textScale_!=1){var l=_ol_transform_.compose(this.tmpLocalTransform_,a,s,this.textScale_,this.textScale_,_,-a,-s);o.setTransform.apply(o,l)}if(this.textStrokeState_){o.strokeText(this.text_,a,s)}if(this.textFillState_){o.fillText(this.text_,a,s)}}if(_!==0||this.textScale_!=1){o.setTransform(1,0,0,1,0,0)}};_ol_render_canvas_Immediate_.prototype.moveToLineTo_=function(e,t,i,r,n){var o=this.context_;var _=_ol_geom_flat_transform_.transform2D(e,t,i,r,this.transform_,this.pixelCoordinates_);o.moveTo(_[0],_[1]);var a=_.length;if(n){a-=2}for(var s=2;s<a;s+=2){o.lineTo(_[s],_[s+1])}if(n){o.closePath()}return i};_ol_render_canvas_Immediate_.prototype.drawRings_=function(e,t,i,r){var n,o;for(n=0,o=i.length;n<o;++n){t=this.moveToLineTo_(e,t,i[n],r,true)}return t};_ol_render_canvas_Immediate_.prototype.drawCircle=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.fillState_||this.strokeState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=_ol_geom_SimpleGeometry_.transform2D(e,this.transform_,this.pixelCoordinates_);var i=t[2]-t[0];var r=t[3]-t[1];var n=Math.sqrt(i*i+r*r);var o=this.context_;o.beginPath();o.arc(t[0],t[1],n,0,2*Math.PI);if(this.fillState_){o.fill()}if(this.strokeState_){o.stroke()}}if(this.text_!==""){this.drawText_(e.getCenter(),0,2,2)}};_ol_render_canvas_Immediate_.prototype.setStyle=function(e){this.setFillStrokeStyle(e.getFill(),e.getStroke());this.setImageStyle(e.getImage());this.setTextStyle(e.getText())};_ol_render_canvas_Immediate_.prototype.drawGeometry=function(e){var t=e.getType();switch(t){case _ol_geom_GeometryType_.POINT:this.drawPoint(e);break;case _ol_geom_GeometryType_.LINE_STRING:this.drawLineString(e);break;case _ol_geom_GeometryType_.POLYGON:this.drawPolygon(e);break;case _ol_geom_GeometryType_.MULTI_POINT:this.drawMultiPoint(e);break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:this.drawMultiLineString(e);break;case _ol_geom_GeometryType_.MULTI_POLYGON:this.drawMultiPolygon(e);break;case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:this.drawGeometryCollection(e);break;case _ol_geom_GeometryType_.CIRCLE:this.drawCircle(e);break}};_ol_render_canvas_Immediate_.prototype.drawFeature=function(e,t){var i=t.getGeometryFunction()(e);if(!i||!_ol_extent_.intersects(this.extent_,i.getExtent())){return}this.setStyle(t);this.drawGeometry(i)};_ol_render_canvas_Immediate_.prototype.drawGeometryCollection=function(e){var t=e.getGeometriesArray();var i,r;for(i=0,r=t.length;i<r;++i){this.drawGeometry(t[i])}};_ol_render_canvas_Immediate_.prototype.drawPoint=function(e){var t=e.getFlatCoordinates();var i=e.getStride();if(this.image_){this.drawImages_(t,0,t.length,i)}if(this.text_!==""){this.drawText_(t,0,t.length,i)}};_ol_render_canvas_Immediate_.prototype.drawMultiPoint=function(e){var t=e.getFlatCoordinates();var i=e.getStride();if(this.image_){this.drawImages_(t,0,t.length,i)}if(this.text_!==""){this.drawText_(t,0,t.length,i)}};_ol_render_canvas_Immediate_.prototype.drawLineString=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);var t=this.context_;var i=e.getFlatCoordinates();t.beginPath();this.moveToLineTo_(i,0,i.length,e.getStride(),false);t.stroke()}if(this.text_!==""){var r=e.getFlatMidpoint();this.drawText_(r,0,2,2)}};_ol_render_canvas_Immediate_.prototype.drawMultiLineString=function(e){var t=e.getExtent();if(!_ol_extent_.intersects(this.extent_,t)){return}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);var i=this.context_;var r=e.getFlatCoordinates();var n=0;var o=e.getEnds();var _=e.getStride();i.beginPath();var a,s;for(a=0,s=o.length;a<s;++a){n=this.moveToLineTo_(r,n,o[a],_,false)}i.stroke()}if(this.text_!==""){var l=e.getFlatMidpoints();this.drawText_(l,0,l.length,2)}};_ol_render_canvas_Immediate_.prototype.drawPolygon=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_||this.fillState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=this.context_;t.beginPath();this.drawRings_(e.getOrientedFlatCoordinates(),0,e.getEnds(),e.getStride());if(this.fillState_){t.fill()}if(this.strokeState_){t.stroke()}}if(this.text_!==""){var i=e.getFlatInteriorPoint();this.drawText_(i,0,2,2)}};_ol_render_canvas_Immediate_.prototype.drawMultiPolygon=function(e){if(!_ol_extent_.intersects(this.extent_,e.getExtent())){return}if(this.strokeState_||this.fillState_){if(this.fillState_){this.setContextFillState_(this.fillState_)}if(this.strokeState_){this.setContextStrokeState_(this.strokeState_)}var t=this.context_;var i=e.getOrientedFlatCoordinates();var r=0;var n=e.getEndss();var o=e.getStride();var _,a;t.beginPath();for(_=0,a=n.length;_<a;++_){var s=n[_];r=this.drawRings_(i,r,s,o)}if(this.fillState_){t.fill()}if(this.strokeState_){t.stroke()}}if(this.text_!==""){var l=e.getFlatInteriorPoints();this.drawText_(l,0,l.length,2)}};_ol_render_canvas_Immediate_.prototype.setContextFillState_=function(e){var t=this.context_;var i=this.contextFillState_;if(!i){t.fillStyle=e.fillStyle;this.contextFillState_={fillStyle:e.fillStyle}}else{if(i.fillStyle!=e.fillStyle){i.fillStyle=t.fillStyle=e.fillStyle}}};_ol_render_canvas_Immediate_.prototype.setContextStrokeState_=function(e){var t=this.context_;var i=this.contextStrokeState_;if(!i){t.lineCap=e.lineCap;if(_ol_has_.CANVAS_LINE_DASH){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.lineJoin=e.lineJoin;t.lineWidth=e.lineWidth;t.miterLimit=e.miterLimit;t.strokeStyle=e.strokeStyle;this.contextStrokeState_={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}}else{if(i.lineCap!=e.lineCap){i.lineCap=t.lineCap=e.lineCap}if(_ol_has_.CANVAS_LINE_DASH){if(!_ol_array_.equals(i.lineDash,e.lineDash)){t.setLineDash(i.lineDash=e.lineDash)}if(i.lineDashOffset!=e.lineDashOffset){i.lineDashOffset=t.lineDashOffset=e.lineDashOffset}}if(i.lineJoin!=e.lineJoin){i.lineJoin=t.lineJoin=e.lineJoin}if(i.lineWidth!=e.lineWidth){i.lineWidth=t.lineWidth=e.lineWidth}if(i.miterLimit!=e.miterLimit){i.miterLimit=t.miterLimit=e.miterLimit}if(i.strokeStyle!=e.strokeStyle){i.strokeStyle=t.strokeStyle=e.strokeStyle}}};_ol_render_canvas_Immediate_.prototype.setContextTextState_=function(e){var t=this.context_;var i=this.contextTextState_;var r=e.textAlign?e.textAlign:_ol_render_canvas_.defaultTextAlign;if(!i){t.font=e.font;t.textAlign=r;t.textBaseline=e.textBaseline;this.contextTextState_={font:e.font,textAlign:r,textBaseline:e.textBaseline}}else{if(i.font!=e.font){i.font=t.font=e.font}if(i.textAlign!=r){i.textAlign=r}if(i.textBaseline!=e.textBaseline){i.textBaseline=t.textBaseline=e.textBaseline}}};_ol_render_canvas_Immediate_.prototype.setFillStrokeStyle=function(e,t){if(!e){this.fillState_=null}else{var i=e.getColor();this.fillState_={fillStyle:_ol_colorlike_.asColorLike(i?i:_ol_render_canvas_.defaultFillStyle)}}if(!t){this.strokeState_=null}else{var r=t.getColor();var n=t.getLineCap();var o=t.getLineDash();var _=t.getLineDashOffset();var a=t.getLineJoin();var s=t.getWidth();var l=t.getMiterLimit();this.strokeState_={lineCap:n!==undefined?n:_ol_render_canvas_.defaultLineCap,lineDash:o?o:_ol_render_canvas_.defaultLineDash,lineDashOffset:_?_:_ol_render_canvas_.defaultLineDashOffset,lineJoin:a!==undefined?a:_ol_render_canvas_.defaultLineJoin,lineWidth:this.pixelRatio_*(s!==undefined?s:_ol_render_canvas_.defaultLineWidth),miterLimit:l!==undefined?l:_ol_render_canvas_.defaultMiterLimit,strokeStyle:_ol_colorlike_.asColorLike(r?r:_ol_render_canvas_.defaultStrokeStyle)}}};_ol_render_canvas_Immediate_.prototype.setImageStyle=function(e){if(!e){this.image_=null}else{var t=e.getAnchor();var i=e.getImage(1);var r=e.getOrigin();var n=e.getSize();this.imageAnchorX_=t[0];this.imageAnchorY_=t[1];this.imageHeight_=n[1];this.image_=i;this.imageOpacity_=e.getOpacity();this.imageOriginX_=r[0];this.imageOriginY_=r[1];this.imageRotateWithView_=e.getRotateWithView();this.imageRotation_=e.getRotation();this.imageScale_=e.getScale()*this.pixelRatio_;this.imageSnapToPixel_=e.getSnapToPixel();this.imageWidth_=n[0]}};_ol_render_canvas_Immediate_.prototype.setTextStyle=function(e){if(!e){this.text_=""}else{var t=e.getFill();if(!t){this.textFillState_=null}else{var i=t.getColor();this.textFillState_={fillStyle:_ol_colorlike_.asColorLike(i?i:_ol_render_canvas_.defaultFillStyle)}}var r=e.getStroke();if(!r){this.textStrokeState_=null}else{var n=r.getColor();var o=r.getLineCap();var _=r.getLineDash();var a=r.getLineDashOffset();var s=r.getLineJoin();var l=r.getWidth();var h=r.getMiterLimit();this.textStrokeState_={lineCap:o!==undefined?o:_ol_render_canvas_.defaultLineCap,lineDash:_?_:_ol_render_canvas_.defaultLineDash,lineDashOffset:a?a:_ol_render_canvas_.defaultLineDashOffset,lineJoin:s!==undefined?s:_ol_render_canvas_.defaultLineJoin,lineWidth:l!==undefined?l:_ol_render_canvas_.defaultLineWidth,miterLimit:h!==undefined?h:_ol_render_canvas_.defaultMiterLimit,strokeStyle:_ol_colorlike_.asColorLike(n?n:_ol_render_canvas_.defaultStrokeStyle)}}var u=e.getFont();var c=e.getOffsetX();var f=e.getOffsetY();var d=e.getRotateWithView();var p=e.getRotation();var v=e.getScale();var g=e.getText();var y=e.getTextAlign();var m=e.getTextBaseline();this.textState_={font:u!==undefined?u:_ol_render_canvas_.defaultFont,textAlign:y!==undefined?y:_ol_render_canvas_.defaultTextAlign,textBaseline:m!==undefined?m:_ol_render_canvas_.defaultTextBaseline};this.text_=g!==undefined?g:"";this.textOffsetX_=c!==undefined?this.pixelRatio_*c:0;this.textOffsetY_=f!==undefined?this.pixelRatio_*f:0;this.textRotateWithView_=d!==undefined?d:false;this.textRotation_=p!==undefined?p:0;this.textScale_=this.pixelRatio_*(v!==undefined?v:1)}};var _ol_renderer_Layer_=function(e){_ol_Observable_.call(this);this.layer_=e};_ol_.inherits(_ol_renderer_Layer_,_ol_Observable_);_ol_renderer_Layer_.prototype.forEachFeatureAtCoordinate=_ol_.nullFunction;_ol_renderer_Layer_.prototype.hasFeatureAtCoordinate=_ol_functions_.FALSE;_ol_renderer_Layer_.prototype.createLoadedTileFinder=function(e,t,i){return function(r,n){function o(e){if(!i[r]){i[r]={}}i[r][e.tileCoord.toString()]=e}return e.forEachLoadedTile(t,r,n,o)}};_ol_renderer_Layer_.prototype.getLayer=function(){return this.layer_};_ol_renderer_Layer_.prototype.handleImageChange_=function(e){var t=e.target;if(t.getState()===_ol_ImageState_.LOADED){this.renderIfReadyAndVisible()}};_ol_renderer_Layer_.prototype.loadImage=function(e){var t=e.getState();if(t!=_ol_ImageState_.LOADED&&t!=_ol_ImageState_.ERROR){_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleImageChange_,this)}if(t==_ol_ImageState_.IDLE){e.load();t=e.getState()}return t==_ol_ImageState_.LOADED};_ol_renderer_Layer_.prototype.renderIfReadyAndVisible=function(){var e=this.getLayer();if(e.getVisible()&&e.getSourceState()==_ol_source_State_.READY){this.changed()}};_ol_renderer_Layer_.prototype.scheduleExpireCache=function(e,t){if(t.canExpireCache()){var i=function(e,t,i){var r=_ol_.getUid(e).toString();if(r in i.usedTiles){e.expireCache(i.viewState.projection,i.usedTiles[r])}}.bind(null,t);e.postRenderFunctions.push(i)}};_ol_renderer_Layer_.prototype.updateLogos=function(e,t){var i=t.getLogo();if(i!==undefined){if(typeof i==="string"){e.logos[i]=""}else if(i){_ol_asserts_.assert(typeof i.href=="string",44);_ol_asserts_.assert(typeof i.src=="string",45);e.logos[i.src]=i.href}}};_ol_renderer_Layer_.prototype.updateUsedTiles=function(e,t,i,r){var n=_ol_.getUid(t).toString();var o=i.toString();if(n in e){if(o in e[n]){e[n][o].extend(r)}else{e[n][o]=r}}else{e[n]={};e[n][o]=r}};_ol_renderer_Layer_.prototype.manageTilePyramid=function(e,t,i,r,n,o,_,a,s,l){var h=_ol_.getUid(t).toString();if(!(h in e.wantedTiles)){e.wantedTiles[h]={}}var u=e.wantedTiles[h];var c=e.tileQueue;var f=i.getMinZoom();var d,p,v,g,y,m;for(m=f;m<=_;++m){p=i.getTileRangeForExtentAndZ(o,m,p);v=i.getResolution(m);for(g=p.minX;g<=p.maxX;++g){for(y=p.minY;y<=p.maxY;++y){if(_-m<=a){d=t.getTile(m,g,y,r,n);if(d.getState()==_ol_TileState_.IDLE){u[d.getKey()]=true;if(!c.isKeyQueued(d.getKey())){c.enqueue([d,h,i.getTileCoordCenter(d.tileCoord),v])}}if(s!==undefined){s.call(l,d)}}else{t.useTile(m,g,y,n)}}}}};var _ol_renderer_canvas_Layer_=function(e){_ol_renderer_Layer_.call(this,e);this.transform_=_ol_transform_.create()};_ol_.inherits(_ol_renderer_canvas_Layer_,_ol_renderer_Layer_);_ol_renderer_canvas_Layer_.prototype.clip=function(e,t,i){var r=t.pixelRatio;var n=t.size[0]*r;var o=t.size[1]*r;var _=t.viewState.rotation;var a=_ol_extent_.getTopLeft(i);var s=_ol_extent_.getTopRight(i);var l=_ol_extent_.getBottomRight(i);var h=_ol_extent_.getBottomLeft(i);_ol_transform_.apply(t.coordinateToPixelTransform,a);_ol_transform_.apply(t.coordinateToPixelTransform,s);_ol_transform_.apply(t.coordinateToPixelTransform,l);_ol_transform_.apply(t.coordinateToPixelTransform,h);e.save();_ol_render_canvas_.rotateAtOffset(e,-_,n/2,o/2);e.beginPath();e.moveTo(a[0]*r,a[1]*r);e.lineTo(s[0]*r,s[1]*r);e.lineTo(l[0]*r,l[1]*r);e.lineTo(h[0]*r,h[1]*r);e.clip();_ol_render_canvas_.rotateAtOffset(e,_,n/2,o/2)};_ol_renderer_canvas_Layer_.prototype.dispatchComposeEvent_=function(e,t,i,r){var n=this.getLayer();if(n.hasListener(e)){var o=i.size[0]*i.pixelRatio;var _=i.size[1]*i.pixelRatio;var a=i.viewState.rotation;_ol_render_canvas_.rotateAtOffset(t,-a,o/2,_/2);var s=r!==undefined?r:this.getTransform(i,0);var l=new _ol_render_canvas_Immediate_(t,i.pixelRatio,i.extent,s,i.viewState.rotation);var h=new _ol_render_Event_(e,l,i,t,null);n.dispatchEvent(h);_ol_render_canvas_.rotateAtOffset(t,a,o/2,_/2)}};_ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate=function(e,t,i,r){var n=this.forEachFeatureAtCoordinate(e,t,0,_ol_functions_.TRUE,this);if(n){return i.call(r,this.getLayer(),null)}else{return undefined}};_ol_renderer_canvas_Layer_.prototype.postCompose=function(e,t,i,r){this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e,t,r)};_ol_renderer_canvas_Layer_.prototype.preCompose=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e,t,i)};_ol_renderer_canvas_Layer_.prototype.dispatchRenderEvent=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.RENDER,e,t,i)};_ol_renderer_canvas_Layer_.prototype.getTransform=function(e,t){var i=e.viewState;var r=e.pixelRatio;var n=r*e.size[0]/2;var o=r*e.size[1]/2;var _=r/i.resolution;var a=-_;var s=-i.rotation;var l=-i.center[0]+t;var h=-i.center[1];return _ol_transform_.compose(this.transform_,n,o,_,a,s,l,h)};_ol_renderer_canvas_Layer_.prototype.composeFrame=function(e,t,i){};_ol_renderer_canvas_Layer_.prototype.prepareFrame=function(e,t){};var _ol_renderer_canvas_IntermediateCanvas_=function(e){_ol_renderer_canvas_Layer_.call(this,e);this.coordinateToCanvasPixelTransform=_ol_transform_.create();this.hitCanvasContext_=null};_ol_.inherits(_ol_renderer_canvas_IntermediateCanvas_,_ol_renderer_canvas_Layer_);_ol_renderer_canvas_IntermediateCanvas_.prototype.composeFrame=function(e,t,i){this.preCompose(i,e);var r=this.getImage();if(r){var n=t.extent;var o=n!==undefined&&!_ol_extent_.containsExtent(n,e.extent)&&_ol_extent_.intersects(n,e.extent);if(o){this.clip(i,e,n)}var _=this.getImageTransform();var a=i.globalAlpha;i.globalAlpha=t.opacity;var s=_[4];var l=_[5];var h=r.width*_[0];var u=r.height*_[3];i.drawImage(r,0,0,+r.width,+r.height,Math.round(s),Math.round(l),Math.round(h),Math.round(u));i.globalAlpha=a;if(o){i.restore()}}this.postCompose(i,e,t)};_ol_renderer_canvas_IntermediateCanvas_.prototype.getImage=function(){};_ol_renderer_canvas_IntermediateCanvas_.prototype.getImageTransform=function(){};_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=this.getLayer();var _=o.getSource();var a=t.viewState.resolution;var s=t.viewState.rotation;var l=t.skippedFeatureUids;return _.forEachFeatureAtCoordinate(e,a,s,i,l,(function(e){return r.call(n,e,o)}))};_ol_renderer_canvas_IntermediateCanvas_.prototype.forEachLayerAtCoordinate=function(e,t,i,r){if(!this.getImage()){return undefined}if(this.getLayer().getSource().forEachFeatureAtCoordinate!==_ol_.nullFunction){return _ol_renderer_canvas_Layer_.prototype.forEachLayerAtCoordinate.apply(this,arguments)}else{var n=_ol_transform_.apply(this.coordinateToCanvasPixelTransform,e.slice());_ol_coordinate_.scale(n,t.viewState.resolution/this.renderedResolution);if(!this.hitCanvasContext_){this.hitCanvasContext_=_ol_dom_.createCanvasContext2D(1,1)}this.hitCanvasContext_.clearRect(0,0,1,1);this.hitCanvasContext_.drawImage(this.getImage(),n[0],n[1],1,1,0,0,1,1);var o=this.hitCanvasContext_.getImageData(0,0,1,1).data;if(o[3]>0){return i.call(r,this.getLayer(),o)}else{return undefined}}};var _ol_renderer_canvas_ImageLayer_=function(e){_ol_renderer_canvas_IntermediateCanvas_.call(this,e);this.image_=null;this.imageTransform_=_ol_transform_.create();this.skippedFeatures_=[];this.vectorRenderer_=null};_ol_.inherits(_ol_renderer_canvas_ImageLayer_,_ol_renderer_canvas_IntermediateCanvas_);_ol_renderer_canvas_ImageLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&(t.getType()===_ol_LayerType_.IMAGE||t.getType()===_ol_LayerType_.VECTOR&&t.getRenderMode()===_ol_layer_VectorRenderType_.IMAGE)};_ol_renderer_canvas_ImageLayer_["create"]=function(e,t){var i=new _ol_renderer_canvas_ImageLayer_(t);if(t.getType()===_ol_LayerType_.VECTOR){var r=_ol_plugins_.getLayerRendererPlugins();for(var n=0,o=r.length;n<o;++n){var _=r[n];if(_!==_ol_renderer_canvas_ImageLayer_&&_["handles"](_ol_renderer_Type_.CANVAS,t)){i.setVectorRenderer(_["create"](e,t))}}}return i};_ol_renderer_canvas_ImageLayer_.prototype.getImage=function(){return!this.image_?null:this.image_.getImage()};_ol_renderer_canvas_ImageLayer_.prototype.getImageTransform=function(){return this.imageTransform_};_ol_renderer_canvas_ImageLayer_.prototype.prepareFrame=function(e,t){var i=e.pixelRatio;var r=e.size;var n=e.viewState;var o=n.center;var _=n.resolution;var a;var s=this.getLayer();var l=s.getSource();var h=e.viewHints;var u=e.extent;if(t.extent!==undefined){u=_ol_extent_.getIntersection(u,t.extent)}if(!h[_ol_ViewHint_.ANIMATING]&&!h[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.isEmpty(u)){var c=n.projection;if(!_ol_.ENABLE_RASTER_REPROJECTION){var f=l.getProjection();if(f){c=f}}var d=this.vectorRenderer_;if(d){var p=d.context;var v=_ol_obj_.assign({},e,{size:[_ol_extent_.getWidth(u)/_,_ol_extent_.getHeight(u)/_],viewState:_ol_obj_.assign({},e.viewState,{rotation:0})});var g=Object.keys(v.skippedFeatureUids).sort();if(d.prepareFrame(v,t)&&(d.replayGroupChanged||!_ol_array_.equals(g,this.skippedFeatures_))){p.canvas.width=v.size[0]*i;p.canvas.height=v.size[1]*i;d.composeFrame(v,t,p);this.image_=new _ol_ImageCanvas_(u,_,i,p.canvas);this.skippedFeatures_=g}}else{a=l.getImage(u,_,i,c);if(a){var y=this.loadImage(a);if(y){this.image_=a}}}}if(this.image_){a=this.image_;var m=a.getExtent();var E=a.getResolution();var x=a.getPixelRatio();var T=i*E/(_*x);var R=_ol_transform_.compose(this.imageTransform_,i*r[0]/2,i*r[1]/2,T,T,0,x*(m[0]-o[0])/E,x*(o[1]-m[3])/E);_ol_transform_.compose(this.coordinateToCanvasPixelTransform,i*r[0]/2-R[4],i*r[1]/2-R[5],i/_,-i/_,0,-o[0],-o[1]);this.updateLogos(e,l);this.renderedResolution=E*i/x}return!!this.image_};_ol_renderer_canvas_ImageLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(this.vectorRenderer_){return this.vectorRenderer_.forEachFeatureAtCoordinate(e,t,i,r,n)}else{return _ol_renderer_canvas_IntermediateCanvas_.prototype.forEachFeatureAtCoordinate.call(this,e,t,i,r,n)}};_ol_renderer_canvas_ImageLayer_.prototype.setVectorRenderer=function(e){this.vectorRenderer_=e};var _ol_style_IconImageCache_=function(){this.cache_={};this.cacheSize_=0;this.maxCacheSize_=32};_ol_style_IconImageCache_.getKey=function(e,t,i){var r=i?_ol_color_.asString(i):"null";return t+":"+e+":"+r};_ol_style_IconImageCache_.prototype.clear=function(){this.cache_={};this.cacheSize_=0};_ol_style_IconImageCache_.prototype.expire=function(){if(this.cacheSize_>this.maxCacheSize_){var e=0;var t,i;for(t in this.cache_){i=this.cache_[t];if((e++&3)===0&&!i.hasListener()){delete this.cache_[t];--this.cacheSize_}}}};_ol_style_IconImageCache_.prototype.get=function(e,t,i){var r=_ol_style_IconImageCache_.getKey(e,t,i);return r in this.cache_?this.cache_[r]:null};_ol_style_IconImageCache_.prototype.set=function(e,t,i,r){var n=_ol_style_IconImageCache_.getKey(e,t,i);this.cache_[n]=r;++this.cacheSize_};_ol_style_IconImageCache_.prototype.setSize=function(e){this.maxCacheSize_=e;this.expire()};var _ol_style_={};_ol_style_.iconImageCache=new _ol_style_IconImageCache_;var _ol_renderer_Map_=function(e,t){_ol_Disposable_.call(this);this.map_=t;this.layerRenderers_={};this.layerRendererListeners_={}};_ol_.inherits(_ol_renderer_Map_,_ol_Disposable_);_ol_renderer_Map_.prototype.calculateMatrices2D=function(e){var t=e.viewState;var i=e.coordinateToPixelTransform;var r=e.pixelToCoordinateTransform;_ol_transform_.compose(i,e.size[0]/2,e.size[1]/2,1/t.resolution,-1/t.resolution,-t.rotation,-t.center[0],-t.center[1]);_ol_transform_.invert(_ol_transform_.setFromArray(r,i))};_ol_renderer_Map_.prototype.removeLayerRenderers=function(){for(var e in this.layerRenderers_){this.removeLayerRendererByKey_(e).dispose()}};_ol_renderer_Map_.expireIconCache_=function(e,t){var i=_ol_style_.iconImageCache;i.expire()};_ol_renderer_Map_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){var a;var s=t.viewState;var l=s.resolution;function h(e,i){var o=_ol_.getUid(e).toString();var _=t.layerStates[_ol_.getUid(i)].managed;if(!(o in t.skippedFeatureUids&&!_)){return r.call(n,e,_?i:null)}}var u=s.projection;var c=e;if(u.canWrapX()){var f=u.getExtent();var d=_ol_extent_.getWidth(f);var p=e[0];if(p<f[0]||p>f[2]){var v=Math.ceil((f[0]-p)/d);c=[p+d*v,e[1]]}}var g=t.layerStatesArray;var y=g.length;var m;for(m=y-1;m>=0;--m){var E=g[m];var x=E.layer;if(_ol_layer_Layer_.visibleAtResolution(E,l)&&o.call(_,x)){var T=this.getLayerRenderer(x);if(x.getSource()){a=T.forEachFeatureAtCoordinate(x.getSource().getWrapX()?c:e,t,i,h,n)}if(a){return a}}}return undefined};_ol_renderer_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){};_ol_renderer_Map_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n){var o=this.forEachFeatureAtCoordinate(e,t,i,_ol_functions_.TRUE,this,r,n);return o!==undefined};_ol_renderer_Map_.prototype.getLayerRenderer=function(e){var t=_ol_.getUid(e).toString();if(t in this.layerRenderers_){return this.layerRenderers_[t]}else{var i=_ol_plugins_.getLayerRendererPlugins();var r;var n=this.getType();for(var o=0,_=i.length;o<_;++o){var a=i[o];if(a["handles"](n,e)){r=a["create"](this,e);break}}if(r){this.layerRenderers_[t]=r;this.layerRendererListeners_[t]=_ol_events_.listen(r,_ol_events_EventType_.CHANGE,this.handleLayerRendererChange_,this)}else{throw new Error("Unable to create renderer for layer: "+e.getType())}return r}};_ol_renderer_Map_.prototype.getLayerRendererByKey=function(e){return this.layerRenderers_[e]};_ol_renderer_Map_.prototype.getLayerRenderers=function(){return this.layerRenderers_};_ol_renderer_Map_.prototype.getMap=function(){return this.map_};_ol_renderer_Map_.prototype.getType=function(){};_ol_renderer_Map_.prototype.handleLayerRendererChange_=function(){this.map_.render()};_ol_renderer_Map_.prototype.removeLayerRendererByKey_=function(e){var t=this.layerRenderers_[e];delete this.layerRenderers_[e];_ol_events_.unlistenByKey(this.layerRendererListeners_[e]);delete this.layerRendererListeners_[e];return t};_ol_renderer_Map_.prototype.renderFrame=_ol_.nullFunction;_ol_renderer_Map_.prototype.removeUnusedLayerRenderers_=function(e,t){var i;for(i in this.layerRenderers_){if(!t||!(i in t.layerStates)){this.removeLayerRendererByKey_(i).dispose()}}};_ol_renderer_Map_.prototype.scheduleExpireIconCache=function(e){e.postRenderFunctions.push(_ol_renderer_Map_.expireIconCache_)};_ol_renderer_Map_.prototype.scheduleRemoveUnusedLayerRenderers=function(e){var t;for(t in this.layerRenderers_){if(!(t in e.layerStates)){e.postRenderFunctions.push(this.removeUnusedLayerRenderers_.bind(this));return}}};_ol_renderer_Map_.sortByZIndex=function(e,t){return e.zIndex-t.zIndex};var _ol_renderer_canvas_Map_=function(e,t){_ol_renderer_Map_.call(this,e,t);this.context_=_ol_dom_.createCanvasContext2D();this.canvas_=this.context_.canvas;this.canvas_.style.width="100%";this.canvas_.style.height="100%";this.canvas_.style.display="block";this.canvas_.className=_ol_css_.CLASS_UNSELECTABLE;e.insertBefore(this.canvas_,e.childNodes[0]||null);this.renderedVisible_=true;this.transform_=_ol_transform_.create()};_ol_.inherits(_ol_renderer_canvas_Map_,_ol_renderer_Map_);_ol_renderer_canvas_Map_["handles"]=function(e){return e===_ol_renderer_Type_.CANVAS};_ol_renderer_canvas_Map_["create"]=function(e,t){return new _ol_renderer_canvas_Map_(e,t)};_ol_renderer_canvas_Map_.prototype.dispatchComposeEvent_=function(e,t){var i=this.getMap();var r=this.context_;if(i.hasListener(e)){var n=t.extent;var o=t.pixelRatio;var _=t.viewState;var a=_.rotation;var s=this.getTransform(t);var l=new _ol_render_canvas_Immediate_(r,o,n,s,a);var h=new _ol_render_Event_(e,l,t,r,null);i.dispatchEvent(h)}};_ol_renderer_canvas_Map_.prototype.getTransform=function(e){var t=e.viewState;var i=this.canvas_.width/2;var r=this.canvas_.height/2;var n=e.pixelRatio/t.resolution;var o=-n;var _=-t.rotation;var a=-t.center[0];var s=-t.center[1];return _ol_transform_.compose(this.transform_,i,r,n,o,_,a,s)};_ol_renderer_canvas_Map_.prototype.getType=function(){return _ol_renderer_Type_.CANVAS};_ol_renderer_canvas_Map_.prototype.renderFrame=function(e){if(!e){if(this.renderedVisible_){this.canvas_.style.display="none";this.renderedVisible_=false}return}var t=this.context_;var i=e.pixelRatio;var r=Math.round(e.size[0]*i);var n=Math.round(e.size[1]*i);if(this.canvas_.width!=r||this.canvas_.height!=n){this.canvas_.width=r;this.canvas_.height=n}else{t.clearRect(0,0,r,n)}var o=e.viewState.rotation;this.calculateMatrices2D(e);this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e);var _=e.layerStatesArray;_ol_array_.stableSort(_,_ol_renderer_Map_.sortByZIndex);if(o){t.save();_ol_render_canvas_.rotateAtOffset(t,o,r/2,n/2)}var a=e.viewState.resolution;var s,l,h,u,c;for(s=0,l=_.length;s<l;++s){c=_[s];h=c.layer;u=this.getLayerRenderer(h);if(!_ol_layer_Layer_.visibleAtResolution(c,a)||c.sourceState!=_ol_source_State_.READY){continue}if(u.prepareFrame(e,c)){u.composeFrame(e,c,t)}}if(o){t.restore()}this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e);if(!this.renderedVisible_){this.canvas_.style.display="";this.renderedVisible_=true}this.scheduleRemoveUnusedLayerRenderers(e);this.scheduleExpireIconCache(e)};_ol_renderer_canvas_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){var _;var a=t.viewState;var s=a.resolution;var l=t.layerStatesArray;var h=l.length;var u=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var c;for(c=h-1;c>=0;--c){var f=l[c];var d=f.layer;if(_ol_layer_Layer_.visibleAtResolution(f,s)&&n.call(o,d)){var p=this.getLayerRenderer(d);_=p.forEachLayerAtCoordinate(u,t,i,r);if(_){return _}}}return undefined};var _ol_TileRange_=function(e,t,i,r){this.minX=e;this.maxX=t;this.minY=i;this.maxY=r};_ol_TileRange_.createOrUpdate=function(e,t,i,r,n){if(n!==undefined){n.minX=e;n.maxX=t;n.minY=i;n.maxY=r;return n}else{return new _ol_TileRange_(e,t,i,r)}};_ol_TileRange_.prototype.contains=function(e){return this.containsXY(e[1],e[2])};_ol_TileRange_.prototype.containsTileRange=function(e){return this.minX<=e.minX&&e.maxX<=this.maxX&&this.minY<=e.minY&&e.maxY<=this.maxY};_ol_TileRange_.prototype.containsXY=function(e,t){return this.minX<=e&&e<=this.maxX&&this.minY<=t&&t<=this.maxY};_ol_TileRange_.prototype.equals=function(e){return this.minX==e.minX&&this.minY==e.minY&&this.maxX==e.maxX&&this.maxY==e.maxY};_ol_TileRange_.prototype.extend=function(e){if(e.minX<this.minX){this.minX=e.minX}if(e.maxX>this.maxX){this.maxX=e.maxX}if(e.minY<this.minY){this.minY=e.minY}if(e.maxY>this.maxY){this.maxY=e.maxY}};_ol_TileRange_.prototype.getHeight=function(){return this.maxY-this.minY+1};_ol_TileRange_.prototype.getSize=function(){return[this.getWidth(),this.getHeight()]};_ol_TileRange_.prototype.getWidth=function(){return this.maxX-this.minX+1};_ol_TileRange_.prototype.intersects=function(e){return this.minX<=e.maxX&&this.maxX>=e.minX&&this.minY<=e.maxY&&this.maxY>=e.minY};var _ol_renderer_canvas_TileLayer_=function(e){_ol_renderer_canvas_IntermediateCanvas_.call(this,e);this.context=this.context===null?null:_ol_dom_.createCanvasContext2D();this.renderedExtent_=null;this.renderedTiles=[];this.tmpExtent=_ol_extent_.createEmpty();this.tmpTileRange_=new _ol_TileRange_(0,0,0,0);this.imageTransform_=_ol_transform_.create();this.zDirection=0};_ol_.inherits(_ol_renderer_canvas_TileLayer_,_ol_renderer_canvas_IntermediateCanvas_);_ol_renderer_canvas_TileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.TILE};_ol_renderer_canvas_TileLayer_["create"]=function(e,t){return new _ol_renderer_canvas_TileLayer_(t)};_ol_renderer_canvas_TileLayer_.prototype.isDrawableTile_=function(e){var t=e.getState();var i=this.getLayer().getUseInterimTilesOnError();return t==_ol_TileState_.LOADED||t==_ol_TileState_.EMPTY||t==_ol_TileState_.ERROR&&!i};_ol_renderer_canvas_TileLayer_.prototype.prepareFrame=function(e,t){var i=e.pixelRatio;var r=e.size;var n=e.viewState;var o=n.projection;var _=n.resolution;var a=n.center;var s=this.getLayer();var l=s.getSource();var h=l.getRevision();var u=l.getTileGridForProjection(o);var c=u.getZForResolution(_,this.zDirection);var f=u.getResolution(c);var d=Math.round(_/f)||1;var p=e.extent;if(t.extent!==undefined){p=_ol_extent_.getIntersection(p,t.extent)}if(_ol_extent_.isEmpty(p)){return false}var v=u.getTileRangeForExtentAndZ(p,c);var g=u.getTileRangeExtent(c,v);var y=l.getTilePixelRatio(i);var m={};m[c]={};var E=this.createLoadedTileFinder(l,o,m);var x=this.tmpExtent;var T=this.tmpTileRange_;var R=false;var S,C,I;for(C=v.minX;C<=v.maxX;++C){for(I=v.minY;I<=v.maxY;++I){S=l.getTile(c,C,I,i,o);if(S.getState()==_ol_TileState_.ERROR){if(!s.getUseInterimTilesOnError()){S.setState(_ol_TileState_.LOADED)}else if(s.getPreload()>0){R=true}}if(!this.isDrawableTile_(S)){S=S.getInterimTile()}if(this.isDrawableTile_(S)){var M=_ol_.getUid(this);if(S.getState()==_ol_TileState_.LOADED){m[c][S.tileCoord.toString()]=S;var w=S.inTransition(M);if(!R&&(w||this.renderedTiles.indexOf(S)===-1)){R=true}}if(S.getAlpha(M,e.time)===1){continue}}var b=u.getTileCoordChildTileRange(S.tileCoord,T,x);var L=false;if(b){L=E(c+1,b)}if(!L){u.forEachTileCoordParentTileRange(S.tileCoord,E,null,T,x)}}}var P=f*i/y*d;var A=e.viewHints;var O=A[_ol_ViewHint_.ANIMATING]||A[_ol_ViewHint_.INTERACTING];if(!(this.renderedResolution&&Date.now()-e.time>16&&O)&&(R||!(this.renderedExtent_&&_ol_extent_.containsExtent(this.renderedExtent_,p))||this.renderedRevision!=h||d!=this.oversampling_||!O&&P!=this.renderedResolution)){var F=this.context;if(F){var D=l.getTilePixelSize(c,i,o);var N=Math.round(v.getWidth()*D[0]/d);var G=Math.round(v.getHeight()*D[1]/d);var k=F.canvas;if(k.width!=N||k.height!=G){this.oversampling_=d;k.width=N;k.height=G}else{if(this.renderedExtent_&&!_ol_extent_.equals(g,this.renderedExtent_)){F.clearRect(0,0,N,G)}d=this.oversampling_}}this.renderedTiles.length=0;var U=Object.keys(m).map(Number);U.sort((function(e,t){if(e===c){return 1}else if(t===c){return-1}else{return e>t?1:e<t?-1:0}}));var j,B,z,V,W,H;var X,Y,K,q,$;for(W=0,H=U.length;W<H;++W){V=U[W];z=l.getTilePixelSize(V,i,o);j=u.getResolution(V);B=j/f;Y=y*l.getGutter(o);K=m[V];for(var Z in K){S=K[Z];X=u.getTileCoordExtent(S.getTileCoord(),x);C=(X[0]-g[0])/f*y/d;I=(g[3]-X[3])/f*y/d;q=z[0]*B/d;$=z[1]*B/d;this.drawTileImage(S,e,t,C,I,q,$,Y,c===V);this.renderedTiles.push(S)}}this.renderedRevision=h;this.renderedResolution=f*i/y*d;this.renderedExtent_=g}var J=this.renderedResolution/_;var Q=_ol_transform_.compose(this.imageTransform_,i*r[0]/2,i*r[1]/2,J,J,0,(this.renderedExtent_[0]-a[0])/this.renderedResolution*i,(a[1]-this.renderedExtent_[3])/this.renderedResolution*i);_ol_transform_.compose(this.coordinateToCanvasPixelTransform,i*r[0]/2-Q[4],i*r[1]/2-Q[5],i/_,-i/_,0,-a[0],-a[1]);this.updateUsedTiles(e.usedTiles,l,c,v);this.manageTilePyramid(e,l,u,i,o,p,c,s.getPreload());this.scheduleExpireCache(e,l);this.updateLogos(e,l);return this.renderedTiles.length>0};_ol_renderer_canvas_TileLayer_.prototype.drawTileImage=function(e,t,i,r,n,o,_,a,s){var l=e.getImage(this.getLayer());if(!l){return}var h=_ol_.getUid(this);var u=s?e.getAlpha(h,t.time):1;if(u===1&&!this.getLayer().getSource().getOpaque(t.viewState.projection)){this.context.clearRect(r,n,o,_)}var c=u!==this.context.globalAlpha;if(c){this.context.save();this.context.globalAlpha=u}this.context.drawImage(l,a,a,l.width-2*a,l.height-2*a,r,n,o,_);if(c){this.context.restore()}if(u!==1){t.animate=true}else if(s){e.endTransition(h)}};_ol_renderer_canvas_TileLayer_.prototype.getImage=function(){var e=this.context;return e?e.canvas:null};_ol_renderer_canvas_TileLayer_.prototype.getImageTransform=function(){return this.imageTransform_};var quickselect=createCommonjsModule((function(e,t){(function(t,i){e.exports=i()})(commonjsGlobal,(function(){function e(e,i,n,o,_){t(e,i,n||0,o||e.length-1,_||r)}function t(e,r,n,o,_){while(o>n){if(o-n>600){var a=o-n+1;var s=r-n+1;var l=Math.log(a);var h=.5*Math.exp(2*l/3);var u=.5*Math.sqrt(l*h*(a-h)/a)*(s-a/2<0?-1:1);var c=Math.max(n,Math.floor(r-s*h/a+u));var f=Math.min(o,Math.floor(r+(a-s)*h/a+u));t(e,r,c,f,_)}var d=e[r];var p=n;var v=o;i(e,n,r);if(_(e[o],d)>0)i(e,n,o);while(p<v){i(e,p,v);p++;v--;while(_(e[p],d)<0)p++;while(_(e[v],d)>0)v--}if(_(e[n],d)===0)i(e,n,v);else{v++;i(e,v,o)}if(v<=r)n=v+1;if(r<=v)o=v-1}}function i(e,t,i){var r=e[t];e[t]=e[i];e[i]=r}function r(e,t){return e<t?-1:e>t?1:0}return e}))}));var rbush_1=rbush;function rbush(e,t){if(!(this instanceof rbush))return new rbush(e,t);this._maxEntries=Math.max(4,e||9);this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4));if(t){this._initFormat(t)}this.clear()}rbush.prototype={all:function(){return this._all(this.data,[])},search:function(e){var t=this.data,i=[],r=this.toBBox;if(!intersects(e,t))return i;var n=[],o,_,a,s;while(t){for(o=0,_=t.children.length;o<_;o++){a=t.children[o];s=t.leaf?r(a):a;if(intersects(e,s)){if(t.leaf)i.push(a);else if(contains(e,s))this._all(a,i);else n.push(a)}}t=n.pop()}return i},collides:function(e){var t=this.data,i=this.toBBox;if(!intersects(e,t))return false;var r=[],n,o,_,a;while(t){for(n=0,o=t.children.length;n<o;n++){_=t.children[n];a=t.leaf?i(_):_;if(intersects(e,a)){if(t.leaf||contains(e,a))return true;r.push(_)}}t=r.pop()}return false},load:function(e){if(!(e&&e.length))return this;if(e.length<this._minEntries){for(var t=0,i=e.length;t<i;t++){this.insert(e[t])}return this}var r=this._build(e.slice(),0,e.length-1,0);if(!this.data.children.length){this.data=r}else if(this.data.height===r.height){this._splitRoot(this.data,r)}else{if(this.data.height<r.height){var n=this.data;this.data=r;r=n}this._insert(r,this.data.height-r.height-1,true)}return this},insert:function(e){if(e)this._insert(e,this.data.height-1);return this},clear:function(){this.data=createNode([]);return this},remove:function(e,t){if(!e)return this;var i=this.data,r=this.toBBox(e),n=[],o=[],_,a,s,l;while(i||n.length){if(!i){i=n.pop();a=n[n.length-1];_=o.pop();l=true}if(i.leaf){s=findItem(e,i.children,t);if(s!==-1){i.children.splice(s,1);n.push(i);this._condense(n);return this}}if(!l&&!i.leaf&&contains(i,r)){n.push(i);o.push(_);_=0;a=i;i=i.children[0]}else if(a){_++;i=a.children[_];l=false}else i=null}return this},toBBox:function(e){return e},compareMinX:compareNodeMinX,compareMinY:compareNodeMinY,toJSON:function(){return this.data},fromJSON:function(e){this.data=e;return this},_all:function(e,t){var i=[];while(e){if(e.leaf)t.push.apply(t,e.children);else i.push.apply(i,e.children);e=i.pop()}return t},_build:function(e,t,i,r){var n=i-t+1,o=this._maxEntries,_;if(n<=o){_=createNode(e.slice(t,i+1));calcBBox(_,this.toBBox);return _}if(!r){r=Math.ceil(Math.log(n)/Math.log(o));o=Math.ceil(n/Math.pow(o,r-1))}_=createNode([]);_.leaf=false;_.height=r;var a=Math.ceil(n/o),s=a*Math.ceil(Math.sqrt(o)),l,h,u,c;multiSelect(e,t,i,s,this.compareMinX);for(l=t;l<=i;l+=s){u=Math.min(l+s-1,i);multiSelect(e,l,u,a,this.compareMinY);for(h=l;h<=u;h+=a){c=Math.min(h+a-1,u);_.children.push(this._build(e,h,c,r-1))}}calcBBox(_,this.toBBox);return _},_chooseSubtree:function(e,t,i,r){var n,o,_,a,s,l,h,u;while(true){r.push(t);if(t.leaf||r.length-1===i)break;h=u=Infinity;for(n=0,o=t.children.length;n<o;n++){_=t.children[n];s=bboxArea(_);l=enlargedArea(e,_)-s;if(l<u){u=l;h=s<h?s:h;a=_}else if(l===u){if(s<h){h=s;a=_}}}t=a||t.children[0]}return t},_insert:function(e,t,i){var r=this.toBBox,n=i?e:r(e),o=[];var _=this._chooseSubtree(n,this.data,t,o);_.children.push(e);extend(_,n);while(t>=0){if(o[t].children.length>this._maxEntries){this._split(o,t);t--}else break}this._adjustParentBBoxes(n,o,t)},_split:function(e,t){var i=e[t],r=i.children.length,n=this._minEntries;this._chooseSplitAxis(i,n,r);var o=this._chooseSplitIndex(i,n,r);var _=createNode(i.children.splice(o,i.children.length-o));_.height=i.height;_.leaf=i.leaf;calcBBox(i,this.toBBox);calcBBox(_,this.toBBox);if(t)e[t-1].children.push(_);else this._splitRoot(i,_)},_splitRoot:function(e,t){this.data=createNode([e,t]);this.data.height=e.height+1;this.data.leaf=false;calcBBox(this.data,this.toBBox)},_chooseSplitIndex:function(e,t,i){var r,n,o,_,a,s,l,h;s=l=Infinity;for(r=t;r<=i-t;r++){n=distBBox(e,0,r,this.toBBox);o=distBBox(e,r,i,this.toBBox);_=intersectionArea(n,o);a=bboxArea(n)+bboxArea(o);if(_<s){s=_;h=r;l=a<l?a:l}else if(_===s){if(a<l){l=a;h=r}}}return h},_chooseSplitAxis:function(e,t,i){var r=e.leaf?this.compareMinX:compareNodeMinX,n=e.leaf?this.compareMinY:compareNodeMinY,o=this._allDistMargin(e,t,i,r),_=this._allDistMargin(e,t,i,n);if(o<_)e.children.sort(r)},_allDistMargin:function(e,t,i,r){e.children.sort(r);var n=this.toBBox,o=distBBox(e,0,t,n),_=distBBox(e,i-t,i,n),a=bboxMargin(o)+bboxMargin(_),s,l;for(s=t;s<i-t;s++){l=e.children[s];extend(o,e.leaf?n(l):l);a+=bboxMargin(o)}for(s=i-t-1;s>=t;s--){l=e.children[s];extend(_,e.leaf?n(l):l);a+=bboxMargin(_)}return a},_adjustParentBBoxes:function(e,t,i){for(var r=i;r>=0;r--){extend(t[r],e)}},_condense:function(e){for(var t=e.length-1,i;t>=0;t--){if(e[t].children.length===0){if(t>0){i=e[t-1].children;i.splice(i.indexOf(e[t]),1)}else this.clear()}else calcBBox(e[t],this.toBBox)}},_initFormat:function(e){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(e[0]));this.compareMinY=new Function("a","b",t.join(e[1]));this.toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}};function findItem(e,t,i){if(!i)return t.indexOf(e);for(var r=0;r<t.length;r++){if(i(e,t[r]))return r}return-1}function calcBBox(e,t){distBBox(e,0,e.children.length,t,e)}function distBBox(e,t,i,r,n){if(!n)n=createNode(null);n.minX=Infinity;n.minY=Infinity;n.maxX=-Infinity;n.maxY=-Infinity;for(var o=t,_;o<i;o++){_=e.children[o];extend(n,e.leaf?r(_):_)}return n}function extend(e,t){e.minX=Math.min(e.minX,t.minX);e.minY=Math.min(e.minY,t.minY);e.maxX=Math.max(e.maxX,t.maxX);e.maxY=Math.max(e.maxY,t.maxY);return e}function compareNodeMinX(e,t){return e.minX-t.minX}function compareNodeMinY(e,t){return e.minY-t.minY}function bboxArea(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function bboxMargin(e){return e.maxX-e.minX+(e.maxY-e.minY)}function enlargedArea(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function intersectionArea(e,t){var i=Math.max(e.minX,t.minX),r=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),o=Math.min(e.maxY,t.maxY);return Math.max(0,n-i)*Math.max(0,o-r)}function contains(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function intersects(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function createNode(e){return{children:e,height:1,leaf:true,minX:Infinity,minY:Infinity,maxX:-Infinity,maxY:-Infinity}}function multiSelect(e,t,i,r,n){var o=[t,i],_;while(o.length){i=o.pop();t=o.pop();if(i-t<=r)continue;_=t+Math.ceil((i-t)/r/2)*r;quickselect(e,_,t,i,n);o.push(t,_,_,i)}}var _ol_render_ReplayGroup_=function(){};_ol_render_ReplayGroup_.prototype.getReplay=function(e,t){};_ol_render_ReplayGroup_.prototype.isEmpty=function(){};var _ol_render_ReplayType_={CIRCLE:"Circle",DEFAULT:"Default",IMAGE:"Image",LINE_STRING:"LineString",POLYGON:"Polygon",TEXT:"Text"};var _ol_geom_flat_length_={};_ol_geom_flat_length_.lineString=function(e,t,i,r){var n=e[t];var o=e[t+1];var _=0;var a;for(a=t+r;a<i;a+=r){var s=e[a];var l=e[a+1];_+=Math.sqrt((s-n)*(s-n)+(l-o)*(l-o));n=s;o=l}return _};_ol_geom_flat_length_.linearRing=function(e,t,i,r){var n=_ol_geom_flat_length_.lineString(e,t,i,r);var o=e[i-r]-e[t];var _=e[i-r+1]-e[t+1];n+=Math.sqrt(o*o+_*_);return n};var _ol_geom_flat_textpath_={};_ol_geom_flat_textpath_.lineString=function(e,t,i,r,n,o,_,a){var s=[];var l=e[t]>e[i-r];var h=n.length;var u=e[t];var c=e[t+1];t+=r;var f=e[t];var d=e[t+1];var p=0;var v=Math.sqrt(Math.pow(f-u,2)+Math.pow(d-c,2));var g="";var y=0;var m,E,x;for(var T=0;T<h;++T){E=l?h-T-1:T;var R=n.charAt(E);g=l?R+g:g+R;var S=o(g)-y;y+=S;var C=_+S/2;while(t<i-r&&p+v<C){u=f;c=d;t+=r;f=e[t];d=e[t+1];p+=v;v=Math.sqrt(Math.pow(f-u,2)+Math.pow(d-c,2))}var I=C-p;var M=Math.atan2(d-c,f-u);if(l){M+=M>0?-Math.PI:Math.PI}if(x!==undefined){var w=M-x;w+=w>Math.PI?-2*Math.PI:w<-Math.PI?2*Math.PI:0;if(Math.abs(w)>a){return null}}var b=I/v;var L=_ol_math_.lerp(u,f,b);var P=_ol_math_.lerp(c,d,b);if(x==M){if(l){m[0]=L;m[1]=P;m[2]=S/2}m[4]=g}else{g=R;y=S;m=[L,P,S/2,M,g];if(l){s.unshift(m)}else{s.push(m)}x=M}_+=S}return s};var _ol_render_canvas_Instruction_={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};var _ol_render_replay_={};_ol_render_replay_.ORDER=[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.CIRCLE,_ol_render_ReplayType_.LINE_STRING,_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT,_ol_render_ReplayType_.DEFAULT];_ol_render_replay_.TEXT_ALIGN={};_ol_render_replay_.TEXT_ALIGN["left"]=0;_ol_render_replay_.TEXT_ALIGN["end"]=0;_ol_render_replay_.TEXT_ALIGN["center"]=.5;_ol_render_replay_.TEXT_ALIGN["right"]=1;_ol_render_replay_.TEXT_ALIGN["start"]=1;_ol_render_replay_.TEXT_ALIGN["top"]=0;_ol_render_replay_.TEXT_ALIGN["middle"]=.5;_ol_render_replay_.TEXT_ALIGN["hanging"]=.2;_ol_render_replay_.TEXT_ALIGN["alphabetic"]=.8;_ol_render_replay_.TEXT_ALIGN["ideographic"]=.8;_ol_render_replay_.TEXT_ALIGN["bottom"]=1;var _ol_render_canvas_Replay_=function(e,t,i,r,n,o){_ol_render_VectorContext_.call(this);this.declutterTree=o;this.tmpExtent_=_ol_extent_.createEmpty();this.tolerance=e;this.maxExtent=t;this.overlaps=n;this.pixelRatio=r;this.maxLineWidth=0;this.resolution=i;this.beginGeometryInstruction1_=null;this.beginGeometryInstruction2_=null;this.bufferedMaxExtent_=null;this.instructions=[];this.coordinates=[];this.coordinateCache_={};this.renderedTransform_=_ol_transform_.create();this.hitDetectionInstructions=[];this.pixelCoordinates_=null;this.state={};this.viewRotation_=0;this.tmpLocalTransform_=_ol_transform_.create();this.resetTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_Replay_,_ol_render_VectorContext_);_ol_render_canvas_Replay_.prototype.replayTextBackground_=function(e,t,i,r,n,o,_){e.beginPath();e.moveTo.apply(e,t);e.lineTo.apply(e,i);e.lineTo.apply(e,r);e.lineTo.apply(e,n);e.lineTo.apply(e,t);if(o){this.fillOrigin_=o[2];this.fill_(e)}if(_){this.setStrokeStyle_(e,_);e.stroke()}};_ol_render_canvas_Replay_.prototype.replayImage_=function(e,t,i,r,n,o,_,a,s,l,h,u,c,f,d,p,v,g){var y=v||g;var m=this.tmpLocalTransform_;n*=c;o*=c;t-=n;i-=o;if(f){t=Math.round(t);i=Math.round(i)}var E=d+l>r.width?r.width-l:d;var x=a+h>r.height?r.height-h:a;var T=this.tmpExtent_;var R=p[3]+E*c+p[1];var S=p[0]+x*c+p[2];var C=t-p[3];var I=i-p[0];var M;var w;var b;var L;if(y||u!==0){M=[C,I];w=[C+R,I];b=[C+R,I+S];L=[C,I+S]}var P=null;if(u!==0){var A=t+n;var O=i+o;P=_ol_transform_.compose(m,A,O,1,1,u,-A,-O);_ol_extent_.createOrUpdateEmpty(T);_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,M));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,w));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,b));_ol_extent_.extendCoordinate(T,_ol_transform_.apply(m,L))}else{_ol_extent_.createOrUpdate(C,I,C+R,I+S,T)}var F=e.canvas;var D=T[0]<=F.width&&T[2]>=0&&T[1]<=F.height&&T[3]>=0;if(_){if(!D&&_[4]==1){return}_ol_extent_.extend(_,T);var N=D?[e,P?P.slice(0):null,s,r,l,h,E,x,t,i,c]:null;if(N&&y){N.push(v,g,M,w,b,L)}_.push(N)}else if(D){if(y){this.replayTextBackground_(e,M,w,b,L,v,g)}_ol_render_canvas_.drawImage(e,P,s,r,l,h,E,x,t,i,c)}};_ol_render_canvas_Replay_.prototype.applyPixelRatio=function(e){var t=this.pixelRatio;return t==1?e:e.map((function(e){return e*t}))};_ol_render_canvas_Replay_.prototype.appendFlatCoordinates=function(e,t,i,r,n,o){var _=this.coordinates.length;var a=this.getBufferedMaxExtent();if(o){t+=r}var s=[e[t],e[t+1]];var l=[NaN,NaN];var h=true;var u,c,f;for(u=t+r;u<i;u+=r){l[0]=e[u];l[1]=e[u+1];f=_ol_extent_.coordinateRelationship(a,l);if(f!==c){if(h){this.coordinates[_++]=s[0];this.coordinates[_++]=s[1]}this.coordinates[_++]=l[0];this.coordinates[_++]=l[1];h=false}else if(f===_ol_extent_Relationship_.INTERSECTING){this.coordinates[_++]=l[0];this.coordinates[_++]=l[1];h=false}else{h=true}s[0]=l[0];s[1]=l[1];c=f}if(n&&h||u===t+r){this.coordinates[_++]=s[0];this.coordinates[_++]=s[1]}return _};_ol_render_canvas_Replay_.prototype.drawCustomCoordinates_=function(e,t,i,r,n){for(var o=0,_=i.length;o<_;++o){var a=i[o];var s=this.appendFlatCoordinates(e,t,a,r,false,false);n.push(s);t=a}return t};_ol_render_canvas_Replay_.prototype.drawCustom=function(e,t,i){this.beginGeometry(e,t);var r=e.getType();var n=e.getStride();var o=this.coordinates.length;var _,a,s,l;var h;if(r==_ol_geom_GeometryType_.MULTI_POLYGON){e=e;_=e.getOrientedFlatCoordinates();l=[];var u=e.getEndss();h=0;for(var c=0,f=u.length;c<f;++c){var d=[];h=this.drawCustomCoordinates_(_,h,u[c],n,d);l.push(d)}this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,l,e,i,_ol_geom_flat_inflate_.coordinatesss])}else if(r==_ol_geom_GeometryType_.POLYGON||r==_ol_geom_GeometryType_.MULTI_LINE_STRING){s=[];_=r==_ol_geom_GeometryType_.POLYGON?e.getOrientedFlatCoordinates():e.getFlatCoordinates();h=this.drawCustomCoordinates_(_,0,e.getEnds(),n,s);this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,s,e,i,_ol_geom_flat_inflate_.coordinatess])}else if(r==_ol_geom_GeometryType_.LINE_STRING||r==_ol_geom_GeometryType_.MULTI_POINT){_=e.getFlatCoordinates();a=this.appendFlatCoordinates(_,0,_.length,n,false,false);this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,a,e,i,_ol_geom_flat_inflate_.coordinates])}else if(r==_ol_geom_GeometryType_.POINT){_=e.getFlatCoordinates();this.coordinates.push(_[0],_[1]);a=this.coordinates.length;this.instructions.push([_ol_render_canvas_Instruction_.CUSTOM,o,a,e,i])}this.endGeometry(e,t)};_ol_render_canvas_Replay_.prototype.beginGeometry=function(e,t){this.beginGeometryInstruction1_=[_ol_render_canvas_Instruction_.BEGIN_GEOMETRY,t,0];this.instructions.push(this.beginGeometryInstruction1_);this.beginGeometryInstruction2_=[_ol_render_canvas_Instruction_.BEGIN_GEOMETRY,t,0];this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)};_ol_render_canvas_Replay_.prototype.fill_=function(e){if(this.fillOrigin_){var t=_ol_transform_.apply(this.renderedTransform_,this.fillOrigin_.slice());e.translate(t[0],t[1]);e.rotate(this.viewRotation_)}e.fill();if(this.fillOrigin_){e.setTransform.apply(e,_ol_render_canvas_.resetTransform_)}};_ol_render_canvas_Replay_.prototype.setStrokeStyle_=function(e,t){e.strokeStyle=t[1];e.lineWidth=t[2];e.lineCap=t[3];e.lineJoin=t[4];e.miterLimit=t[5];if(_ol_has_.CANVAS_LINE_DASH){e.lineDashOffset=t[7];e.setLineDash(t[6])}};_ol_render_canvas_Replay_.prototype.renderDeclutter_=function(e,t){if(e&&e.length>5){var i=e[4];if(i==1||i==e.length-5){var r={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};if(!this.declutterTree.collides(r)){this.declutterTree.insert(r);var n=_ol_render_canvas_.drawImage;for(var o=5,_=e.length;o<_;++o){var a=e[o];if(a){if(a.length>11){this.replayTextBackground_(a[0],a[13],a[14],a[15],a[16],a[11],a[12])}n.apply(undefined,a)}}}e.length=5;_ol_extent_.createOrUpdateEmpty(e)}}};_ol_render_canvas_Replay_.prototype.replay_=function(e,t,i,r,n,o){var _;if(this.pixelCoordinates_&&_ol_array_.equals(t,this.renderedTransform_)){_=this.pixelCoordinates_}else{if(!this.pixelCoordinates_){this.pixelCoordinates_=[]}_=_ol_geom_flat_transform_.transform2D(this.coordinates,0,this.coordinates.length,2,t,this.pixelCoordinates_);_ol_transform_.setFromArray(this.renderedTransform_,t)}var a=!_ol_obj_.isEmpty(i);var s=0;var l=r.length;var h=0;var u;var c,f,d,p,v,g,y,m;var E=0;var x=0;var T=null;var R=null;var S=this.coordinateCache_;var C=this.viewRotation_;var I={context:e,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:C};var M=this.instructions!=r||this.overlaps?0:200;while(s<l){var w=r[s];var b=w[0];var L,P,A;switch(b){case _ol_render_canvas_Instruction_.BEGIN_GEOMETRY:L=w[1];if(a&&i[_ol_.getUid(L).toString()]||!L.getGeometry()){s=w[2]}else if(o!==undefined&&!_ol_extent_.intersects(o,L.getGeometry().getExtent())){s=w[2]+1}else{++s}break;case _ol_render_canvas_Instruction_.BEGIN_PATH:if(E>M){this.fill_(e);E=0}if(x>M){e.stroke();x=0}if(!E&&!x){e.beginPath();d=p=NaN}++s;break;case _ol_render_canvas_Instruction_.CIRCLE:h=w[1];var O=_[h];var F=_[h+1];var D=_[h+2];var N=_[h+3];var G=D-O;var k=N-F;var U=Math.sqrt(G*G+k*k);e.moveTo(O+U,F);e.arc(O,F,U,0,2*Math.PI,true);++s;break;case _ol_render_canvas_Instruction_.CLOSE_PATH:e.closePath();++s;break;case _ol_render_canvas_Instruction_.CUSTOM:h=w[1];u=w[2];var j=w[3];var B=w[4];var z=w.length==6?w[5]:undefined;I.geometry=j;I.feature=L;if(!(s in S)){S[s]=[]}var V=S[s];if(z){z(_,h,u,2,V)}else{V[0]=_[h];V[1]=_[h+1];V.length=2}B(V,I);++s;break;case _ol_render_canvas_Instruction_.DRAW_IMAGE:h=w[1];u=w[2];m=w[3];c=w[4];f=w[5];y=n?null:w[6];var W=w[7];var H=w[8];var X=w[9];var Y=w[10];var K=w[11];var q=w[12];var $=w[13];var Z=w[14];var J=w[15];var Q,ee,te;if(w.length>16){Q=w[16];ee=w[17];te=w[18]}else{Q=_ol_render_canvas_.defaultPadding;ee=te=false}if(K){q+=C}for(;h<u;h+=2){this.replayImage_(e,_[h],_[h+1],m,c,f,y,W,H,X,Y,q,$,Z,J,Q,ee?T:null,te?R:null)}this.renderDeclutter_(y,L);++s;break;case _ol_render_canvas_Instruction_.DRAW_CHARS:var ie=w[1];var re=w[2];var ne=w[3];y=n?null:w[4];var oe=w[5];var _e=w[6];var ae=w[7];var se=w[8];var le=w[9];var he=w[10];var ue=w[11];var ce=w[12];var fe=w[13];var de=w[14];var pe=_ol_geom_flat_length_.lineString(_,ie,re,2);var ve=se(ce);if(oe||ve<=pe){var ge=this.textStates[fe].textAlign;var ye=(pe-ve)*_ol_render_replay_.TEXT_ALIGN[ge];var me=_ol_geom_flat_textpath_.lineString(_,ie,re,2,ce,se,ye,ae);if(me){var Ee,xe,Te,Re,Se;if(he){for(Ee=0,xe=me.length;Ee<xe;++Ee){Se=me[Ee];Te=Se[4];Re=this.getImage(Te,fe,"",he);c=Se[2]+ue;f=ne*Re.height+(.5-ne)*2*ue-le;this.replayImage_(e,Se[0],Se[1],Re,c,f,y,Re.height,1,0,0,Se[3],de,false,Re.width,_ol_render_canvas_.defaultPadding,null,null)}}if(_e){for(Ee=0,xe=me.length;Ee<xe;++Ee){Se=me[Ee];Te=Se[4];Re=this.getImage(Te,fe,_e,"");c=Se[2];f=ne*Re.height-le;this.replayImage_(e,Se[0],Se[1],Re,c,f,y,Re.height,1,0,0,Se[3],de,false,Re.width,_ol_render_canvas_.defaultPadding,null,null)}}}}this.renderDeclutter_(y,L);++s;break;case _ol_render_canvas_Instruction_.END_GEOMETRY:if(n!==undefined){L=w[1];var Ce=n(L);if(Ce){return Ce}}++s;break;case _ol_render_canvas_Instruction_.FILL:if(M){E++}else{this.fill_(e)}++s;break;case _ol_render_canvas_Instruction_.MOVE_TO_LINE_TO:h=w[1];u=w[2];P=_[h];A=_[h+1];v=P+.5|0;g=A+.5|0;if(v!==d||g!==p){e.moveTo(P,A);d=v;p=g}for(h+=2;h<u;h+=2){P=_[h];A=_[h+1];v=P+.5|0;g=A+.5|0;if(h==u-2||v!==d||g!==p){e.lineTo(P,A);d=v;p=g}}++s;break;case _ol_render_canvas_Instruction_.SET_FILL_STYLE:T=w;this.fillOrigin_=w[2];if(E){this.fill_(e);E=0;if(x){e.stroke();x=0}}e.fillStyle=w[1];++s;break;case _ol_render_canvas_Instruction_.SET_STROKE_STYLE:R=w;if(x){e.stroke();x=0}this.setStrokeStyle_(e,w);++s;break;case _ol_render_canvas_Instruction_.STROKE:if(M){x++}else{e.stroke()}++s;break;default:++s;break}}if(E){this.fill_(e)}if(x){e.stroke()}return undefined};_ol_render_canvas_Replay_.prototype.replay=function(e,t,i,r){this.viewRotation_=i;this.replay_(e,t,r,this.instructions,undefined,undefined)};_ol_render_canvas_Replay_.prototype.replayHitDetection=function(e,t,i,r,n,o){this.viewRotation_=i;return this.replay_(e,t,r,this.hitDetectionInstructions,n,o)};_ol_render_canvas_Replay_.prototype.reverseHitDetectionInstructions=function(){var e=this.hitDetectionInstructions;e.reverse();var t;var i=e.length;var r;var n;var o=-1;for(t=0;t<i;++t){r=e[t];n=r[0];if(n==_ol_render_canvas_Instruction_.END_GEOMETRY){o=t}else if(n==_ol_render_canvas_Instruction_.BEGIN_GEOMETRY){r[2]=t;_ol_array_.reverseSubArray(this.hitDetectionInstructions,o,t);o=-1}}};_ol_render_canvas_Replay_.prototype.setFillStrokeStyle=function(e,t){var i=this.state;if(e){var r=e.getColor();i.fillStyle=_ol_colorlike_.asColorLike(r?r:_ol_render_canvas_.defaultFillStyle)}else{i.fillStyle=undefined}if(t){var n=t.getColor();i.strokeStyle=_ol_colorlike_.asColorLike(n?n:_ol_render_canvas_.defaultStrokeStyle);var o=t.getLineCap();i.lineCap=o!==undefined?o:_ol_render_canvas_.defaultLineCap;var _=t.getLineDash();i.lineDash=_?_.slice():_ol_render_canvas_.defaultLineDash;var a=t.getLineDashOffset();i.lineDashOffset=a?a:_ol_render_canvas_.defaultLineDashOffset;var s=t.getLineJoin();i.lineJoin=s!==undefined?s:_ol_render_canvas_.defaultLineJoin;var l=t.getWidth();i.lineWidth=l!==undefined?l:_ol_render_canvas_.defaultLineWidth;var h=t.getMiterLimit();i.miterLimit=h!==undefined?h:_ol_render_canvas_.defaultMiterLimit;if(i.lineWidth>this.maxLineWidth){this.maxLineWidth=i.lineWidth;this.bufferedMaxExtent_=null}}else{i.strokeStyle=undefined;i.lineCap=undefined;i.lineDash=null;i.lineDashOffset=undefined;i.lineJoin=undefined;i.lineWidth=undefined;i.miterLimit=undefined}};_ol_render_canvas_Replay_.prototype.applyFill=function(e,t){var i=e.fillStyle;var r=[_ol_render_canvas_Instruction_.SET_FILL_STYLE,i];if(typeof i!=="string"){var n=t.getExtent();r.push([n[0],n[3]])}this.instructions.push(r)};_ol_render_canvas_Replay_.prototype.applyStroke=function(e){this.instructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,e.strokeStyle,e.lineWidth*this.pixelRatio,e.lineCap,e.lineJoin,e.miterLimit,this.applyPixelRatio(e.lineDash),e.lineDashOffset*this.pixelRatio])};_ol_render_canvas_Replay_.prototype.updateFillStyle=function(e,t,i){var r=e.fillStyle;if(typeof r!=="string"||e.currentFillStyle!=r){t.call(this,e,i);e.currentFillStyle=r}};_ol_render_canvas_Replay_.prototype.updateStrokeStyle=function(e,t){var i=e.strokeStyle;var r=e.lineCap;var n=e.lineDash;var o=e.lineDashOffset;var _=e.lineJoin;var a=e.lineWidth;var s=e.miterLimit;if(e.currentStrokeStyle!=i||e.currentLineCap!=r||n!=e.currentLineDash&&!_ol_array_.equals(e.currentLineDash,n)||e.currentLineDashOffset!=o||e.currentLineJoin!=_||e.currentLineWidth!=a||e.currentMiterLimit!=s){t.call(this,e);e.currentStrokeStyle=i;e.currentLineCap=r;e.currentLineDash=n;e.currentLineDashOffset=o;e.currentLineJoin=_;e.currentLineWidth=a;e.currentMiterLimit=s}};_ol_render_canvas_Replay_.prototype.endGeometry=function(e,t){this.beginGeometryInstruction1_[2]=this.instructions.length;this.beginGeometryInstruction1_=null;this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length;this.beginGeometryInstruction2_=null;var i=[_ol_render_canvas_Instruction_.END_GEOMETRY,t];this.instructions.push(i);this.hitDetectionInstructions.push(i)};_ol_render_canvas_Replay_.prototype.finish=_ol_.nullFunction;_ol_render_canvas_Replay_.prototype.getBufferedMaxExtent=function(){if(!this.bufferedMaxExtent_){this.bufferedMaxExtent_=_ol_extent_.clone(this.maxExtent);if(this.maxLineWidth>0){var e=this.resolution*(this.maxLineWidth+1)/2;_ol_extent_.buffer(this.bufferedMaxExtent_,e,this.bufferedMaxExtent_)}}return this.bufferedMaxExtent_};var _ol_render_canvas_ImageReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o);this.declutterGroup_=null;this.hitDetectionImage_=null;this.image_=null;this.anchorX_=undefined;this.anchorY_=undefined;this.height_=undefined;this.opacity_=undefined;this.originX_=undefined;this.originY_=undefined;this.rotateWithView_=undefined;this.rotation_=undefined;this.scale_=undefined;this.snapToPixel_=undefined;this.width_=undefined};_ol_.inherits(_ol_render_canvas_ImageReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_ImageReplay_.prototype.drawCoordinates_=function(e,t,i,r){return this.appendFlatCoordinates(e,t,i,r,false,false)};_ol_render_canvas_ImageReplay_.prototype.drawPoint=function(e,t){if(!this.image_){return}this.beginGeometry(e,t);var i=e.getFlatCoordinates();var r=e.getStride();var n=this.coordinates.length;var o=this.drawCoordinates_(i,0,i.length,r);this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.image_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_*this.pixelRatio,this.snapToPixel_,this.width_]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.snapToPixel_,this.width_]);this.endGeometry(e,t)};_ol_render_canvas_ImageReplay_.prototype.drawMultiPoint=function(e,t){if(!this.image_){return}this.beginGeometry(e,t);var i=e.getFlatCoordinates();var r=e.getStride();var n=this.coordinates.length;var o=this.drawCoordinates_(i,0,i.length,r);this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.image_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_*this.pixelRatio,this.snapToPixel_,this.width_]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,n,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.declutterGroup_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.snapToPixel_,this.width_]);this.endGeometry(e,t)};_ol_render_canvas_ImageReplay_.prototype.finish=function(){this.reverseHitDetectionInstructions();this.anchorX_=undefined;this.anchorY_=undefined;this.hitDetectionImage_=null;this.image_=null;this.height_=undefined;this.scale_=undefined;this.opacity_=undefined;this.originX_=undefined;this.originY_=undefined;this.rotateWithView_=undefined;this.rotation_=undefined;this.snapToPixel_=undefined;this.width_=undefined};_ol_render_canvas_ImageReplay_.prototype.setImageStyle=function(e,t){var i=e.getAnchor();var r=e.getSize();var n=e.getHitDetectionImage(1);var o=e.getImage(1);var _=e.getOrigin();this.anchorX_=i[0];this.anchorY_=i[1];this.declutterGroup_=t;this.hitDetectionImage_=n;this.image_=o;this.height_=r[1];this.opacity_=e.getOpacity();this.originX_=_[0];this.originY_=_[1];this.rotateWithView_=e.getRotateWithView();this.rotation_=e.getRotation();this.scale_=e.getScale();this.snapToPixel_=e.getSnapToPixel();this.width_=r[0]};var _ol_render_canvas_LineStringReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o)};_ol_.inherits(_ol_render_canvas_LineStringReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_LineStringReplay_.prototype.drawFlatCoordinates_=function(e,t,i,r){var n=this.coordinates.length;var o=this.appendFlatCoordinates(e,t,i,r,false,false);var _=[_ol_render_canvas_Instruction_.MOVE_TO_LINE_TO,n,o];this.instructions.push(_);this.hitDetectionInstructions.push(_);return i};_ol_render_canvas_LineStringReplay_.prototype.drawLineString=function(e,t){var i=this.state;var r=i.strokeStyle;var n=i.lineWidth;if(r===undefined||n===undefined){return}this.updateStrokeStyle(i,this.applyStroke);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset],[_ol_render_canvas_Instruction_.BEGIN_PATH]);var o=e.getFlatCoordinates();var _=e.getStride();this.drawFlatCoordinates_(o,0,o.length,_);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.STROKE]);this.endGeometry(e,t)};_ol_render_canvas_LineStringReplay_.prototype.drawMultiLineString=function(e,t){var i=this.state;var r=i.strokeStyle;var n=i.lineWidth;if(r===undefined||n===undefined){return}this.updateStrokeStyle(i,this.applyStroke);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset],[_ol_render_canvas_Instruction_.BEGIN_PATH]);var o=e.getEnds();var _=e.getFlatCoordinates();var a=e.getStride();var s=0;var l,h;for(l=0,h=o.length;l<h;++l){s=this.drawFlatCoordinates_(_,s,o[l],a)}this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.STROKE]);this.endGeometry(e,t)};_ol_render_canvas_LineStringReplay_.prototype.finish=function(){var e=this.state;if(e.lastStroke!=undefined&&e.lastStroke!=this.coordinates.length){this.instructions.push([_ol_render_canvas_Instruction_.STROKE])}this.reverseHitDetectionInstructions();this.state=null};_ol_render_canvas_LineStringReplay_.prototype.applyStroke=function(e){if(e.lastStroke!=undefined&&e.lastStroke!=this.coordinates.length){this.instructions.push([_ol_render_canvas_Instruction_.STROKE]);e.lastStroke=this.coordinates.length}e.lastStroke=0;_ol_render_canvas_Replay_.prototype.applyStroke.call(this,e);this.instructions.push([_ol_render_canvas_Instruction_.BEGIN_PATH])};var _ol_render_canvas_PolygonReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o)};_ol_.inherits(_ol_render_canvas_PolygonReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_PolygonReplay_.prototype.drawFlatCoordinatess_=function(e,t,i,r){var n=this.state;var o=n.fillStyle!==undefined;var _=n.strokeStyle!=undefined;var a=i.length;var s=[_ol_render_canvas_Instruction_.BEGIN_PATH];this.instructions.push(s);this.hitDetectionInstructions.push(s);for(var l=0;l<a;++l){var h=i[l];var u=this.coordinates.length;var c=this.appendFlatCoordinates(e,t,h,r,true,!_);var f=[_ol_render_canvas_Instruction_.MOVE_TO_LINE_TO,u,c];this.instructions.push(f);this.hitDetectionInstructions.push(f);if(_){var d=[_ol_render_canvas_Instruction_.CLOSE_PATH];this.instructions.push(d);this.hitDetectionInstructions.push(d)}t=h}var p=[_ol_render_canvas_Instruction_.FILL];this.hitDetectionInstructions.push(p);if(o){this.instructions.push(p)}if(_){var v=[_ol_render_canvas_Instruction_.STROKE];this.instructions.push(v);this.hitDetectionInstructions.push(v)}return t};_ol_render_canvas_PolygonReplay_.prototype.drawCircle=function(e,t){var i=this.state;var r=i.fillStyle;var n=i.strokeStyle;if(r===undefined&&n===undefined){return}this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var o=e.getFlatCoordinates();var _=e.getStride();var a=this.coordinates.length;this.appendFlatCoordinates(o,0,o.length,_,false,false);var s=[_ol_render_canvas_Instruction_.BEGIN_PATH];var l=[_ol_render_canvas_Instruction_.CIRCLE,a];this.instructions.push(s,l);this.hitDetectionInstructions.push(s,l);var h=[_ol_render_canvas_Instruction_.FILL];this.hitDetectionInstructions.push(h);if(i.fillStyle!==undefined){this.instructions.push(h)}if(i.strokeStyle!==undefined){var u=[_ol_render_canvas_Instruction_.STROKE];this.instructions.push(u);this.hitDetectionInstructions.push(u)}this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.drawPolygon=function(e,t){var i=this.state;this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var r=e.getEnds();var n=e.getOrientedFlatCoordinates();var o=e.getStride();this.drawFlatCoordinatess_(n,0,r,o);this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.drawMultiPolygon=function(e,t){var i=this.state;var r=i.fillStyle;var n=i.strokeStyle;if(r===undefined&&n===undefined){return}this.setFillStrokeStyles_(e);this.beginGeometry(e,t);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_FILL_STYLE,_ol_color_.asString(_ol_render_canvas_.defaultFillStyle)]);if(i.strokeStyle!==undefined){this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,i.lineDash,i.lineDashOffset])}var o=e.getEndss();var _=e.getOrientedFlatCoordinates();var a=e.getStride();var s=0;var l,h;for(l=0,h=o.length;l<h;++l){s=this.drawFlatCoordinatess_(_,s,o[l],a)}this.endGeometry(e,t)};_ol_render_canvas_PolygonReplay_.prototype.finish=function(){this.reverseHitDetectionInstructions();this.state=null;var e=this.tolerance;if(e!==0){var t=this.coordinates;var i,r;for(i=0,r=t.length;i<r;++i){t[i]=_ol_geom_flat_simplify_.snap(t[i],e)}}};_ol_render_canvas_PolygonReplay_.prototype.setFillStrokeStyles_=function(e){var t=this.state;var i=t.fillStyle;if(i!==undefined){this.updateFillStyle(t,this.applyFill,e)}if(t.strokeStyle!==undefined){this.updateStrokeStyle(t,this.applyStroke)}};var _ol_geom_flat_straightchunk_={};_ol_geom_flat_straightchunk_.lineString=function(e,t,i,r,n){var o=i;var _=i;var a=0;var s=0;var l=i;var h,u,c,f,d,p,v,g,y,m;for(u=i;u<r;u+=n){var E=t[u];var x=t[u+1];if(d!==undefined){y=E-d;m=x-p;f=Math.sqrt(y*y+m*m);if(v!==undefined){s+=c;h=Math.acos((v*y+g*m)/(c*f));if(h>e){if(s>a){a=s;o=l;_=u}s=0;l=u-n}}c=f;v=y;g=m}d=E;p=x}s+=f;return s>a?[l,u]:[o,_]};var _ol_style_TextPlacement_={POINT:"point",LINE:"line"};var _ol_render_canvas_TextReplay_=function(e,t,i,r,n,o){_ol_render_canvas_Replay_.call(this,e,t,i,r,n,o);this.labels_=null;this.text_="";this.textOffsetX_=0;this.textOffsetY_=0;this.textRotateWithView_=undefined;this.textRotation_=0;this.textFillState_=null;this.fillStates={};this.textStrokeState_=null;this.strokeStates={};this.textState_={};this.textStates={};this.textKey_="";this.fillKey_="";this.strokeKey_="";this.widths_={};var _=_ol_render_canvas_.labelCache;_.prune()};_ol_.inherits(_ol_render_canvas_TextReplay_,_ol_render_canvas_Replay_);_ol_render_canvas_TextReplay_.measureTextWidths=function(e,t,i){var r=t.length;var n=0;var o,_;for(_=0;_<r;++_){o=_ol_render_canvas_.measureTextWidth(e,t[_]);n=Math.max(n,o);i.push(o)}return n};_ol_render_canvas_TextReplay_.prototype.drawText=function(e,t){var i=this.textFillState_;var r=this.textStrokeState_;var n=this.textState_;if(this.text_===""||!n||!i&&!r){return}var o=this.coordinates.length;var _=e.getType();var a=null;var s=2;var l=2;var h,u;if(n.placement===_ol_style_TextPlacement_.LINE){if(!_ol_extent_.intersects(this.getBufferedMaxExtent(),e.getExtent())){return}var c;a=e.getFlatCoordinates();l=e.getStride();if(_==_ol_geom_GeometryType_.LINE_STRING){c=[a.length]}else if(_==_ol_geom_GeometryType_.MULTI_LINE_STRING){c=e.getEnds()}else if(_==_ol_geom_GeometryType_.POLYGON){c=e.getEnds().slice(0,1)}else if(_==_ol_geom_GeometryType_.MULTI_POLYGON){var f=e.getEndss();c=[];for(h=0,u=f.length;h<u;++h){c.push(f[h][0])}}this.beginGeometry(e,t);var d=n.textAlign;var p=0;var v;for(var g=0,y=c.length;g<y;++g){if(d==undefined){var m=_ol_geom_flat_straightchunk_.lineString(n.maxAngle,a,p,c[g],l);p=m[0];v=m[1]}else{v=c[g]}for(h=p;h<v;h+=l){this.coordinates.push(a[h],a[h+1])}s=this.coordinates.length;p=c[g];this.drawChars_(o,s,this.declutterGroup_);o=s}this.endGeometry(e,t)}else{var E=this.getImage(this.text_,this.textKey_,this.fillKey_,this.strokeKey_);var x=E.width/this.pixelRatio;switch(_){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:a=e.getFlatCoordinates();s=a.length;break;case _ol_geom_GeometryType_.LINE_STRING:a=e.getFlatMidpoint();break;case _ol_geom_GeometryType_.CIRCLE:a=e.getCenter();break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:a=e.getFlatMidpoints();s=a.length;break;case _ol_geom_GeometryType_.POLYGON:a=e.getFlatInteriorPoint();if(!n.overflow&&a[2]/this.resolution<x){return}l=3;break;case _ol_geom_GeometryType_.MULTI_POLYGON:var T=e.getFlatInteriorPoints();a=[];for(h=0,u=T.length;h<u;h+=3){if(n.overflow||T[h+2]/this.resolution>=x){a.push(T[h],T[h+1])}}s=a.length;if(s==0){return}break}s=this.appendFlatCoordinates(a,0,s,l,false,false);this.beginGeometry(e,t);if(n.backgroundFill||n.backgroundStroke){this.setFillStrokeStyle(n.backgroundFill,n.backgroundStroke);this.updateFillStyle(this.state,this.applyFill,e);this.updateStrokeStyle(this.state,this.applyStroke)}this.drawTextImage_(E,o,s);this.endGeometry(e,t)}};_ol_render_canvas_TextReplay_.prototype.getImage=function(e,t,i,r){var n;var o=r+t+e+i+this.pixelRatio;var _=_ol_render_canvas_.labelCache;if(!_.containsKey(o)){var a=r?this.strokeStates[r]||this.textStrokeState_:null;var s=i?this.fillStates[i]||this.textFillState_:null;var l=this.textStates[t]||this.textState_;var h=this.pixelRatio;var u=l.scale*h;var c=_ol_render_replay_.TEXT_ALIGN[l.textAlign||_ol_render_canvas_.defaultTextAlign];var f=r&&a.lineWidth?a.lineWidth:0;var d=e.split("\n");var p=d.length;var v=[];var g=_ol_render_canvas_TextReplay_.measureTextWidths(l.font,d,v);var y=_ol_render_canvas_.measureTextHeight(l.font);var m=y*p;var E=g+f;var x=_ol_dom_.createCanvasContext2D(Math.ceil(E*u),Math.ceil((m+f)*u));n=x.canvas;_.set(o,n);if(u!=1){x.scale(u,u)}x.font=l.font;if(r){x.strokeStyle=a.strokeStyle;x.lineWidth=f*(_ol_has_.SAFARI?u:1);x.lineCap=a.lineCap;x.lineJoin=a.lineJoin;x.miterLimit=a.miterLimit;if(_ol_has_.CANVAS_LINE_DASH&&a.lineDash.length){x.setLineDash(a.lineDash);x.lineDashOffset=a.lineDashOffset}}if(i){x.fillStyle=s.fillStyle}x.textBaseline="middle";x.textAlign="center";var T=.5-c;var R=c*n.width/u+T*f;var S;if(r){for(S=0;S<p;++S){x.strokeText(d[S],R+T*v[S],.5*(f+y)+S*y)}}if(i){for(S=0;S<p;++S){x.fillText(d[S],R+T*v[S],.5*(f+y)+S*y)}}}return _.get(o)};_ol_render_canvas_TextReplay_.prototype.drawTextImage_=function(e,t,i){var r=this.textState_;var n=this.textStrokeState_;var o=this.pixelRatio;var _=_ol_render_replay_.TEXT_ALIGN[r.textAlign||_ol_render_canvas_.defaultTextAlign];var a=_ol_render_replay_.TEXT_ALIGN[r.textBaseline];var s=n&&n.lineWidth?n.lineWidth:0;var l=_*e.width/o+2*(.5-_)*s;var h=a*e.height/o+2*(.5-a)*s;this.instructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,t,i,e,(l-this.textOffsetX_)*o,(h-this.textOffsetY_)*o,this.declutterGroup_,e.height,1,0,0,this.textRotateWithView_,this.textRotation_,1,true,e.width,r.padding==_ol_render_canvas_.defaultPadding?_ol_render_canvas_.defaultPadding:r.padding.map((function(e){return e*o})),!!r.backgroundFill,!!r.backgroundStroke]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_IMAGE,t,i,e,(l-this.textOffsetX_)*o,(h-this.textOffsetY_)*o,this.declutterGroup_,e.height,1,0,0,this.textRotateWithView_,this.textRotation_,1/o,true,e.width,r.padding,!!r.backgroundFill,!!r.backgroundStroke])};_ol_render_canvas_TextReplay_.prototype.drawChars_=function(e,t,i){var r=this.textStrokeState_;var n=this.textState_;var o=this.textFillState_;var _=this.strokeKey_;if(r){if(!(_ in this.strokeStates)){this.strokeStates[_]={strokeStyle:r.strokeStyle,lineCap:r.lineCap,lineDashOffset:r.lineDashOffset,lineWidth:r.lineWidth,lineJoin:r.lineJoin,miterLimit:r.miterLimit,lineDash:r.lineDash}}}var a=this.textKey_;if(!(this.textKey_ in this.textStates)){this.textStates[this.textKey_]={font:n.font,textAlign:n.textAlign||_ol_render_canvas_.defaultTextAlign,scale:n.scale}}var s=this.fillKey_;if(o){if(!(s in this.fillStates)){this.fillStates[s]={fillStyle:o.fillStyle}}}var l=this.pixelRatio;var h=_ol_render_replay_.TEXT_ALIGN[n.textBaseline];var u=this.textOffsetY_*l;var c=this.text_;var f=n.font;var d=n.scale;var p=r?r.lineWidth*d/2:0;var v=this.widths_[f];if(!v){this.widths_[f]=v={}}this.instructions.push([_ol_render_canvas_Instruction_.DRAW_CHARS,e,t,h,i,n.overflow,s,n.maxAngle,function(e){var t=v[e];if(!t){t=v[e]=_ol_render_canvas_.measureTextWidth(f,e)}return t*d*l},u,_,p*l,c,a,1]);this.hitDetectionInstructions.push([_ol_render_canvas_Instruction_.DRAW_CHARS,e,t,h,i,n.overflow,s,n.maxAngle,function(e){var t=v[e];if(!t){t=v[e]=_ol_render_canvas_.measureTextWidth(f,e)}return t*d},u,_,p,c,a,1/l])};_ol_render_canvas_TextReplay_.prototype.setTextStyle=function(e,t){var i,r,n;if(!e){this.text_=""}else{this.declutterGroup_=t;var o=e.getFill();if(!o){r=this.textFillState_=null}else{r=this.textFillState_;if(!r){r=this.textFillState_={}}r.fillStyle=_ol_colorlike_.asColorLike(o.getColor()||_ol_render_canvas_.defaultFillStyle)}var _=e.getStroke();if(!_){n=this.textStrokeState_=null}else{n=this.textStrokeState_;if(!n){n=this.textStrokeState_={}}var a=_.getLineDash();var s=_.getLineDashOffset();var l=_.getWidth();var h=_.getMiterLimit();n.lineCap=_.getLineCap()||_ol_render_canvas_.defaultLineCap;n.lineDash=a?a.slice():_ol_render_canvas_.defaultLineDash;n.lineDashOffset=s===undefined?_ol_render_canvas_.defaultLineDashOffset:s;n.lineJoin=_.getLineJoin()||_ol_render_canvas_.defaultLineJoin;n.lineWidth=l===undefined?_ol_render_canvas_.defaultLineWidth:l;n.miterLimit=h===undefined?_ol_render_canvas_.defaultMiterLimit:h;n.strokeStyle=_ol_colorlike_.asColorLike(_.getColor()||_ol_render_canvas_.defaultStrokeStyle)}i=this.textState_;var u=e.getFont()||_ol_render_canvas_.defaultFont;_ol_render_canvas_.checkFont(u);var c=e.getScale();i.overflow=e.getOverflow();i.font=u;i.maxAngle=e.getMaxAngle();i.placement=e.getPlacement();i.textAlign=e.getTextAlign();i.textBaseline=e.getTextBaseline()||_ol_render_canvas_.defaultTextBaseline;i.backgroundFill=e.getBackgroundFill();i.backgroundStroke=e.getBackgroundStroke();i.padding=e.getPadding()||_ol_render_canvas_.defaultPadding;i.scale=c===undefined?1:c;var f=e.getOffsetX();var d=e.getOffsetY();var p=e.getRotateWithView();var v=e.getRotation();this.text_=e.getText()||"";this.textOffsetX_=f===undefined?0:f;this.textOffsetY_=d===undefined?0:d;this.textRotateWithView_=p===undefined?false:p;this.textRotation_=v===undefined?0:v;this.strokeKey_=n?(typeof n.strokeStyle=="string"?n.strokeStyle:_ol_.getUid(n.strokeStyle))+n.lineCap+n.lineDashOffset+"|"+n.lineWidth+n.lineJoin+n.miterLimit+"["+n.lineDash.join()+"]":"";this.textKey_=i.font+i.scale+(i.textAlign||"?");this.fillKey_=r?typeof r.fillStyle=="string"?r.fillStyle:"|"+_ol_.getUid(r.fillStyle):""}};var _ol_render_canvas_ReplayGroup_=function(e,t,i,r,n,o,_){_ol_render_ReplayGroup_.call(this);this.declutterTree_=o;this.declutterGroup_=null;this.tolerance_=e;this.maxExtent_=t;this.overlaps_=n;this.pixelRatio_=r;this.resolution_=i;this.renderBuffer_=_;this.replaysByZIndex_={};this.hitDetectionContext_=_ol_dom_.createCanvasContext2D(1,1);this.hitDetectionTransform_=_ol_transform_.create()};_ol_.inherits(_ol_render_canvas_ReplayGroup_,_ol_render_ReplayGroup_);_ol_render_canvas_ReplayGroup_.circleArrayCache_={0:[[true]]};_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_=function(e,t,i){var r;var n=Math.floor(e.length/2);if(t>=n){for(r=n;r<t;r++){e[r][i]=true}}else if(t<n){for(r=t+1;r<n;r++){e[r][i]=true}}};_ol_render_canvas_ReplayGroup_.getCircleArray_=function(e){if(_ol_render_canvas_ReplayGroup_.circleArrayCache_[e]!==undefined){return _ol_render_canvas_ReplayGroup_.circleArrayCache_[e]}var t=e*2+1;var i=new Array(t);for(var r=0;r<t;r++){i[r]=new Array(t)}var n=e;var o=0;var _=0;while(n>=o){_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+n,e+o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+o,e+n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-o,e+n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-n,e+o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-n,e-o);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e-o,e-n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+o,e-n);_ol_render_canvas_ReplayGroup_.fillCircleArrayRowToMiddle_(i,e+n,e-o);o++;_+=1+2*o;if(2*(_-n)+1>0){n-=1;_+=1-2*n}}_ol_render_canvas_ReplayGroup_.circleArrayCache_[e]=i;return i};_ol_render_canvas_ReplayGroup_.replayDeclutter=function(e,t,i){var r=Object.keys(e).map(Number).sort(_ol_array_.numberSafeCompareFunction);var n={};for(var o=0,_=r.length;o<_;++o){var a=e[r[o].toString()];for(var s=0,l=a.length;s<l;){var h=a[s++];var u=a[s++];h.replay(t,u,i,n)}}};_ol_render_canvas_ReplayGroup_.prototype.addDeclutter=function(e){var t=null;if(this.declutterTree_){if(e){t=this.declutterGroup_;t[4]++}else{t=this.declutterGroup_=_ol_extent_.createEmpty();t.push(1)}}return t};_ol_render_canvas_ReplayGroup_.prototype.clip=function(e,t){var i=this.getClipCoords(t);e.beginPath();e.moveTo(i[0],i[1]);e.lineTo(i[2],i[3]);e.lineTo(i[4],i[5]);e.lineTo(i[6],i[7]);e.clip()};_ol_render_canvas_ReplayGroup_.prototype.hasReplays=function(e){for(var t in this.replaysByZIndex_){var i=this.replaysByZIndex_[t];for(var r=0,n=e.length;r<n;++r){if(e[r]in i){return true}}}return false};_ol_render_canvas_ReplayGroup_.prototype.finish=function(){var e;for(e in this.replaysByZIndex_){var t=this.replaysByZIndex_[e];var i;for(i in t){t[i].finish()}}};_ol_render_canvas_ReplayGroup_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){r=Math.round(r);var a=r*2+1;var s=_ol_transform_.compose(this.hitDetectionTransform_,r+.5,r+.5,1/t,-1/t,-i,-e[0],-e[1]);var l=this.hitDetectionContext_;if(l.canvas.width!==a||l.canvas.height!==a){l.canvas.width=a;l.canvas.height=a}else{l.clearRect(0,0,a,a)}var h;if(this.renderBuffer_!==undefined){h=_ol_extent_.createEmpty();_ol_extent_.extendCoordinate(h,e);_ol_extent_.buffer(h,t*(this.renderBuffer_+r),h)}var u=_ol_render_canvas_ReplayGroup_.getCircleArray_(r);var c;if(this.declutterTree_){c=this.declutterTree_.all().map((function(e){return e.value}))}var f;function d(e){var t=l.getImageData(0,0,a,a).data;for(var i=0;i<a;i++){for(var r=0;r<a;r++){if(u[i][r]){if(t[(r*a+i)*4+3]>0){var n;if(!(c&&(f==_ol_render_ReplayType_.IMAGE||f==_ol_render_ReplayType_.TEXT))||c.indexOf(e)!==-1){n=o(e)}if(n){return n}else{l.clearRect(0,0,a,a);return undefined}}}}}}var p=Object.keys(this.replaysByZIndex_).map(Number);p.sort(_ol_array_.numberSafeCompareFunction);var v,g,y,m,E;for(v=p.length-1;v>=0;--v){var x=p[v].toString();y=this.replaysByZIndex_[x];for(g=_ol_render_replay_.ORDER.length-1;g>=0;--g){f=_ol_render_replay_.ORDER[g];m=y[f];if(m!==undefined){if(_&&(f==_ol_render_ReplayType_.IMAGE||f==_ol_render_ReplayType_.TEXT)){var T=_[x];if(!T){_[x]=[m,s.slice(0)]}else{T.push(m,s.slice(0))}}else{E=m.replayHitDetection(l,s,i,n,d,h);if(E){return E}}}}}return undefined};_ol_render_canvas_ReplayGroup_.prototype.getClipCoords=function(e){var t=this.maxExtent_;var i=t[0];var r=t[1];var n=t[2];var o=t[3];var _=[i,r,i,o,n,o,n,r];_ol_geom_flat_transform_.transform2D(_,0,8,2,e,_);return _};_ol_render_canvas_ReplayGroup_.prototype.getReplay=function(e,t){var i=e!==undefined?e.toString():"0";var r=this.replaysByZIndex_[i];if(r===undefined){r={};this.replaysByZIndex_[i]=r}var n=r[t];if(n===undefined){var o=_ol_render_canvas_ReplayGroup_.BATCH_CONSTRUCTORS_[t];n=new o(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_,this.overlaps_,this.declutterTree_);r[t]=n}return n};_ol_render_canvas_ReplayGroup_.prototype.getReplays=function(){return this.replaysByZIndex_};_ol_render_canvas_ReplayGroup_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.replaysByZIndex_)};_ol_render_canvas_ReplayGroup_.prototype.replay=function(e,t,i,r,n,o){var _=Object.keys(this.replaysByZIndex_).map(Number);_.sort(_ol_array_.numberSafeCompareFunction);e.save();this.clip(e,t);var a=n?n:_ol_render_replay_.ORDER;var s,l,h,u,c,f;for(s=0,l=_.length;s<l;++s){var d=_[s].toString();c=this.replaysByZIndex_[d];for(h=0,u=a.length;h<u;++h){var p=a[h];f=c[p];if(f!==undefined){if(o&&(p==_ol_render_ReplayType_.IMAGE||p==_ol_render_ReplayType_.TEXT)){var v=o[d];if(!v){o[d]=[f,t.slice(0)]}else{v.push(f,t.slice(0))}}else{f.replay(e,t,i,r)}}}}e.restore()};_ol_render_canvas_ReplayGroup_.BATCH_CONSTRUCTORS_={Circle:_ol_render_canvas_PolygonReplay_,Default:_ol_render_canvas_Replay_,Image:_ol_render_canvas_ImageReplay_,LineString:_ol_render_canvas_LineStringReplay_,Polygon:_ol_render_canvas_PolygonReplay_,Text:_ol_render_canvas_TextReplay_};var _ol_renderer_vector_={};_ol_renderer_vector_.defaultOrder=function(e,t){return _ol_.getUid(e)-_ol_.getUid(t)};_ol_renderer_vector_.getSquaredTolerance=function(e,t){var i=_ol_renderer_vector_.getTolerance(e,t);return i*i};_ol_renderer_vector_.getTolerance=function(e,t){return _ol_.SIMPLIFY_TOLERANCE*e/t};_ol_renderer_vector_.renderCircleGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(n||o){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.CIRCLE);_.setFillStrokeStyle(n,o);_.drawCircle(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.renderFeature=function(e,t,i,r,n,o){var _=false;var a,s;a=i.getImage();if(a){s=a.getImageState();if(s==_ol_ImageState_.LOADED||s==_ol_ImageState_.ERROR){a.unlistenImageChange(n,o)}else{if(s==_ol_ImageState_.IDLE){a.load()}s=a.getImageState();a.listenImageChange(n,o);_=true}}_ol_renderer_vector_.renderFeature_(e,t,i,r);return _};_ol_renderer_vector_.renderFeature_=function(e,t,i,r){var n=i.getGeometryFunction()(t);if(!n){return}var o=n.getSimplifiedGeometry(r);var _=i.getRenderer();if(_){_ol_renderer_vector_.renderGeometry_(e,o,i,t)}else{var a=_ol_renderer_vector_.GEOMETRY_RENDERERS_[o.getType()];a(e,o,i,t)}};_ol_renderer_vector_.renderGeometry_=function(e,t,i,r){if(t.getType()==_ol_geom_GeometryType_.GEOMETRY_COLLECTION){var n=t.getGeometries();for(var o=0,_=n.length;o<_;++o){_ol_renderer_vector_.renderGeometry_(e,n[o],i,r)}return}var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.DEFAULT);a.drawCustom(t,r,i.getRenderer())};_ol_renderer_vector_.renderGeometryCollectionGeometry_=function(e,t,i,r){var n=t.getGeometriesArray();var o,_;for(o=0,_=n.length;o<_;++o){var a=_ol_renderer_vector_.GEOMETRY_RENDERERS_[n[o].getType()];a(e,n[o],i,r)}};_ol_renderer_vector_.renderLineStringGeometry_=function(e,t,i,r){var n=i.getStroke();if(n){var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.LINE_STRING);o.setFillStrokeStyle(null,n);o.drawLineString(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(false));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiLineStringGeometry_=function(e,t,i,r){var n=i.getStroke();if(n){var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.LINE_STRING);o.setFillStrokeStyle(null,n);o.drawMultiLineString(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(false));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiPolygonGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(o||n){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.POLYGON);_.setFillStrokeStyle(n,o);_.drawMultiPolygon(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.renderPointGeometry_=function(e,t,i,r){var n=i.getImage();if(n){if(n.getImageState()!=_ol_ImageState_.LOADED){return}var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.IMAGE);o.setImageStyle(n,e.addDeclutter(false));o.drawPoint(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(!!n));a.drawText(t,r)}};_ol_renderer_vector_.renderMultiPointGeometry_=function(e,t,i,r){var n=i.getImage();if(n){if(n.getImageState()!=_ol_ImageState_.LOADED){return}var o=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.IMAGE);o.setImageStyle(n,e.addDeclutter(false));o.drawMultiPoint(t,r)}var _=i.getText();if(_){var a=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);a.setTextStyle(_,e.addDeclutter(!!n));a.drawText(t,r)}};_ol_renderer_vector_.renderPolygonGeometry_=function(e,t,i,r){var n=i.getFill();var o=i.getStroke();if(n||o){var _=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.POLYGON);_.setFillStrokeStyle(n,o);_.drawPolygon(t,r)}var a=i.getText();if(a){var s=e.getReplay(i.getZIndex(),_ol_render_ReplayType_.TEXT);s.setTextStyle(a,e.addDeclutter(false));s.drawText(t,r)}};_ol_renderer_vector_.GEOMETRY_RENDERERS_={Point:_ol_renderer_vector_.renderPointGeometry_,LineString:_ol_renderer_vector_.renderLineStringGeometry_,Polygon:_ol_renderer_vector_.renderPolygonGeometry_,MultiPoint:_ol_renderer_vector_.renderMultiPointGeometry_,MultiLineString:_ol_renderer_vector_.renderMultiLineStringGeometry_,MultiPolygon:_ol_renderer_vector_.renderMultiPolygonGeometry_,GeometryCollection:_ol_renderer_vector_.renderGeometryCollectionGeometry_,Circle:_ol_renderer_vector_.renderCircleGeometry_};var _ol_renderer_canvas_VectorLayer_=function(e){_ol_renderer_canvas_Layer_.call(this,e);this.declutterTree_=e.getDeclutter()?rbush_1(9):null;this.dirty_=false;this.renderedRevision_=-1;this.renderedResolution_=NaN;this.renderedExtent_=_ol_extent_.createEmpty();this.renderedRenderOrder_=null;this.replayGroup_=null;this.replayGroupChanged=true;this.context=_ol_dom_.createCanvasContext2D();_ol_events_.listen(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this)};_ol_.inherits(_ol_renderer_canvas_VectorLayer_,_ol_renderer_canvas_Layer_);_ol_renderer_canvas_VectorLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.VECTOR};_ol_renderer_canvas_VectorLayer_["create"]=function(e,t){return new _ol_renderer_canvas_VectorLayer_(t)};_ol_renderer_canvas_VectorLayer_.prototype.disposeInternal=function(){_ol_events_.unlisten(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this);_ol_renderer_canvas_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_canvas_VectorLayer_.prototype.composeFrame=function(e,t,i){var r=e.extent;var n=e.pixelRatio;var o=t.managed?e.skippedFeatureUids:{};var _=e.viewState;var a=_.projection;var s=_.rotation;var l=a.getExtent();var h=this.getLayer().getSource();var u=this.getTransform(e,0);this.preCompose(i,e,u);var c=t.extent;var f=c!==undefined;if(f){this.clip(i,e,c)}var d=this.replayGroup_;if(d&&!d.isEmpty()){if(this.declutterTree_){this.declutterTree_.clear()}var p=this.getLayer();var v=0;var g=0;var y;var m=t.opacity!==1;var E=p.hasListener(_ol_render_EventType_.RENDER);if(m||E){var x=i.canvas.width;var T=i.canvas.height;if(s){var R=Math.round(Math.sqrt(x*x+T*T));v=(R-x)/2;g=(R-T)/2;x=T=R}this.context.canvas.width=x;this.context.canvas.height=T;y=this.context}else{y=i}var S=y.globalAlpha;if(!m){y.globalAlpha=t.opacity}if(y!=i){y.translate(v,g)}var C=e.size[0]*n;var I=e.size[1]*n;_ol_render_canvas_.rotateAtOffset(y,-s,C/2,I/2);d.replay(y,u,s,o);if(h.getWrapX()&&a.canWrapX()&&!_ol_extent_.containsExtent(l,r)){var M=r[0];var w=_ol_extent_.getWidth(l);var b=0;var L;while(M<l[0]){--b;L=w*b;u=this.getTransform(e,L);d.replay(y,u,s,o);M+=w}b=0;M=r[2];while(M>l[2]){++b;L=w*b;u=this.getTransform(e,L);d.replay(y,u,s,o);M-=w}u=this.getTransform(e,0)}_ol_render_canvas_.rotateAtOffset(y,s,C/2,I/2);if(y!=i){if(E){this.dispatchRenderEvent(y,e,u)}if(m){var P=i.globalAlpha;i.globalAlpha=t.opacity;i.drawImage(y.canvas,-v,-g);i.globalAlpha=P}else{i.drawImage(y.canvas,-v,-g)}y.translate(-v,-g)}if(!m){y.globalAlpha=S}}if(f){i.restore()}this.postCompose(i,e,t,u)};_ol_renderer_canvas_VectorLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(!this.replayGroup_){return undefined}else{var o=t.viewState.resolution;var _=t.viewState.rotation;var a=this.getLayer();var s={};var l=this.replayGroup_.forEachFeatureAtCoordinate(e,o,_,i,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in s)){s[t]=true;return r.call(n,e,a)}}),null);return l}};_ol_renderer_canvas_VectorLayer_.prototype.handleFontsChanged_=function(e){var t=this.getLayer();if(t.getVisible()&&this.replayGroup_){t.changed()}};_ol_renderer_canvas_VectorLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_canvas_VectorLayer_.prototype.prepareFrame=function(e,t){var i=this.getLayer();var r=i.getSource();this.updateLogos(e,r);var n=e.viewHints[_ol_ViewHint_.ANIMATING];var o=e.viewHints[_ol_ViewHint_.INTERACTING];var _=i.getUpdateWhileAnimating();var a=i.getUpdateWhileInteracting();if(!this.dirty_&&(!_&&n)||!a&&o){return true}var s=e.extent;var l=e.viewState;var h=l.projection;var u=l.resolution;var c=e.pixelRatio;var f=i.getRevision();var d=i.getRenderBuffer();var p=i.getRenderOrder();if(p===undefined){p=_ol_renderer_vector_.defaultOrder}var v=_ol_extent_.buffer(s,d*u);var g=l.projection.getExtent();if(r.getWrapX()&&l.projection.canWrapX()&&!_ol_extent_.containsExtent(g,e.extent)){var y=_ol_extent_.getWidth(g);var m=Math.max(_ol_extent_.getWidth(v)/2,y);v[0]=g[0]-m;v[2]=g[2]+m}if(!this.dirty_&&this.renderedResolution_==u&&this.renderedRevision_==f&&this.renderedRenderOrder_==p&&_ol_extent_.containsExtent(this.renderedExtent_,v)){this.replayGroupChanged=false;return true}this.replayGroup_=null;this.dirty_=false;var E=new _ol_render_canvas_ReplayGroup_(_ol_renderer_vector_.getTolerance(u,c),v,u,c,r.getOverlaps(),this.declutterTree_,i.getRenderBuffer());r.loadFeatures(v,u,h);var x=function(e){var t;var r=e.getStyleFunction();if(r){t=r.call(e,u)}else{r=i.getStyleFunction();if(r){t=r(e,u)}}if(t){var n=this.renderFeature(e,u,c,t,E);this.dirty_=this.dirty_||n}}.bind(this);if(p){var T=[];r.forEachFeatureInExtent(v,(function(e){T.push(e)}),this);T.sort(p);for(var R=0,S=T.length;R<S;++R){x(T[R])}}else{r.forEachFeatureInExtent(v,x,this)}E.finish();this.renderedResolution_=u;this.renderedRevision_=f;this.renderedRenderOrder_=p;this.renderedExtent_=v;this.replayGroup_=E;this.replayGroupChanged=true;return true};_ol_renderer_canvas_VectorLayer_.prototype.renderFeature=function(e,t,i,r,n){if(!r){return false}var o=false;if(Array.isArray(r)){for(var _=0,a=r.length;_<a;++_){o=_ol_renderer_vector_.renderFeature(n,e,r[_],_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}}else{o=_ol_renderer_vector_.renderFeature(n,e,r,_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)}return o};var _ol_layer_VectorTileRenderType_={IMAGE:"image",HYBRID:"hybrid",VECTOR:"vector"};var _ol_renderer_canvas_VectorTileLayer_=function(e){this.context=null;_ol_renderer_canvas_TileLayer_.call(this,e);this.declutterTree_=e.getDeclutter()?rbush_1(9):null;this.dirty_=false;this.tmpTransform_=_ol_transform_.create();this.zDirection=e.getRenderMode()==_ol_layer_VectorTileRenderType_.VECTOR?1:0;_ol_events_.listen(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this)};_ol_.inherits(_ol_renderer_canvas_VectorTileLayer_,_ol_renderer_canvas_TileLayer_);_ol_renderer_canvas_VectorTileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.CANVAS&&t.getType()===_ol_LayerType_.VECTOR_TILE};_ol_renderer_canvas_VectorTileLayer_["create"]=function(e,t){return new _ol_renderer_canvas_VectorTileLayer_(t)};_ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS={image:[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.CIRCLE,_ol_render_ReplayType_.LINE_STRING,_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT],hybrid:[_ol_render_ReplayType_.POLYGON,_ol_render_ReplayType_.LINE_STRING]};_ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS={image:[_ol_render_ReplayType_.DEFAULT],hybrid:[_ol_render_ReplayType_.IMAGE,_ol_render_ReplayType_.TEXT,_ol_render_ReplayType_.DEFAULT],vector:_ol_render_replay_.ORDER};_ol_renderer_canvas_VectorTileLayer_.prototype.disposeInternal=function(){_ol_events_.unlisten(_ol_render_canvas_.labelCache,_ol_events_EventType_.CLEAR,this.handleFontsChanged_,this);_ol_renderer_canvas_TileLayer_.prototype.disposeInternal.call(this)};_ol_renderer_canvas_VectorTileLayer_.prototype.prepareFrame=function(e,t){var i=this.getLayer();var r=i.getRevision();if(this.renderedLayerRevision_!=r){this.renderedTiles.length=0;var n=i.getRenderMode();if(!this.context&&n!=_ol_layer_VectorTileRenderType_.VECTOR){this.context=_ol_dom_.createCanvasContext2D()}if(this.context&&n==_ol_layer_VectorTileRenderType_.VECTOR){this.context=null}}this.renderedLayerRevision_=r;return _ol_renderer_canvas_TileLayer_.prototype.prepareFrame.apply(this,arguments)};_ol_renderer_canvas_VectorTileLayer_.prototype.createReplayGroup_=function(e,t){var i=this.getLayer();var r=t.pixelRatio;var n=t.viewState.projection;var o=i.getRevision();var _=i.getRenderOrder()||null;var a=e.getReplayState(i);if(!a.dirty&&a.renderedRevision==o&&a.renderedRenderOrder==_){return}var s=i.getSource();var l=s.getTileGrid();var h=s.getTileGridForProjection(n);var u=h.getResolution(e.tileCoord[0]);var c=h.getTileCoordExtent(e.wrappedTileCoord);for(var f=0,d=e.tileKeys.length;f<d;++f){var p=e.getTile(e.tileKeys[f]);if(p.getState()==_ol_TileState_.ERROR){continue}var v=p.tileCoord;var g=l.getTileCoordExtent(v);var y=_ol_extent_.getIntersection(c,g);var m=_ol_extent_.equals(g,y)?null:_ol_extent_.buffer(y,i.getRenderBuffer()*u);var E=p.getProjection();var x=false;if(!_ol_proj_.equivalent(n,E)){x=true;p.setProjection(n)}a.dirty=false;var T=new _ol_render_canvas_ReplayGroup_(0,y,u,r,s.getOverlaps(),this.declutterTree_,i.getRenderBuffer());var R=_ol_renderer_vector_.getSquaredTolerance(u,r);var S=function(e){var t;var r=e.getStyleFunction();if(r){t=r.call(e,u)}else{r=i.getStyleFunction();if(r){t=r(e,u)}}if(t){var n=this.renderFeature(e,R,t,T);this.dirty_=this.dirty_||n;a.dirty=a.dirty||n}};var C=p.getFeatures();if(_&&_!==a.renderedRenderOrder){C.sort(_)}var I;for(var M=0,w=C.length;M<w;++M){I=C[M];if(x){if(E.getUnits()==_ol_proj_Units_.TILE_PIXELS){E.setWorldExtent(g);E.setExtent(p.getExtent())}I.getGeometry().transform(E,n)}if(!m||_ol_extent_.intersects(m,I.getGeometry().getExtent())){S.call(this,I)}}T.finish();for(var b in T.getReplays()){}p.setReplayGroup(i,e.tileCoord.toString(),T)}a.renderedRevision=o;a.renderedRenderOrder=_};_ol_renderer_canvas_VectorTileLayer_.prototype.drawTileImage=function(e,t,i,r,n,o,_,a,s){var l=e;this.createReplayGroup_(l,t);if(this.context){this.renderTileImage_(l,t,i);_ol_renderer_canvas_TileLayer_.prototype.drawTileImage.apply(this,arguments)}};_ol_renderer_canvas_VectorTileLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=t.viewState.resolution;var _=t.viewState.rotation;i=i==undefined?0:i;var a=this.getLayer();var s={};var l=this.renderedTiles;var h=a.getSource();var u=h.getTileGridForProjection(t.viewState.projection);var c,f;var d,p,v;var g,y,m;for(d=0,p=l.length;d<p;++d){g=l[d];y=g.wrappedTileCoord;m=u.getTileCoordExtent(y,this.tmpExtent);c=_ol_extent_.buffer(m,i*o,c);if(!_ol_extent_.containsCoordinate(c,e)){continue}for(var E=0,x=g.tileKeys.length;E<x;++E){var T=g.getTile(g.tileKeys[E]);if(T.getState()==_ol_TileState_.ERROR){continue}v=T.getReplayGroup(a,g.tileCoord.toString());f=f||v.forEachFeatureAtCoordinate(e,o,_,i,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in s)){s[t]=true;return r.call(n,e,a)}}),null)}}return f};_ol_renderer_canvas_VectorTileLayer_.prototype.getReplayTransform_=function(e,t){var i=this.getLayer();var r=i.getSource();var n=r.getTileGrid();var o=e.tileCoord;var _=n.getResolution(o[0]);var a=t.viewState;var s=t.pixelRatio;var l=a.resolution/s;var h=n.getTileCoordExtent(o,this.tmpExtent);var u=a.center;var c=_ol_extent_.getTopLeft(h);var f=t.size;var d=Math.round(s*f[0]/2);var p=Math.round(s*f[1]/2);return _ol_transform_.compose(this.tmpTransform_,d,p,_/l,_/l,a.rotation,(c[0]-u[0])/_,(u[1]-c[1])/_)};_ol_renderer_canvas_VectorTileLayer_.prototype.handleFontsChanged_=function(e){var t=this.getLayer();if(t.getVisible()&&this.renderedLayerRevision_!==undefined){t.changed()}};_ol_renderer_canvas_VectorTileLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_canvas_VectorTileLayer_.prototype.postCompose=function(e,t,i){var r=this.getLayer();var n=r.getDeclutter()?{}:null;var o=r.getSource();var _=r.getRenderMode();var a=_ol_renderer_canvas_VectorTileLayer_.VECTOR_REPLAYS[_];var s=t.pixelRatio;var l=t.viewState.rotation;var h=t.size;var u,c;if(l){u=Math.round(s*h[0]/2);c=Math.round(s*h[1]/2);_ol_render_canvas_.rotateAtOffset(e,-l,u,c)}if(n){this.declutterTree_.clear()}var f=this.renderedTiles;var d=o.getTileGridForProjection(t.viewState.projection);var p=[];var v=[];for(var g=f.length-1;g>=0;--g){var y=f[g];if(y.getState()==_ol_TileState_.ABORT){continue}var m=y.tileCoord;var E=d.getTileCoordExtent(m)[0]-d.getTileCoordExtent(y.wrappedTileCoord)[0];var x=undefined;for(var T=0,R=y.tileKeys.length;T<R;++T){var S=y.getTile(y.tileKeys[T]);if(S.getState()==_ol_TileState_.ERROR){continue}var C=S.getReplayGroup(r,m.toString());if(_!=_ol_layer_VectorTileRenderType_.VECTOR&&!C.hasReplays(a)){continue}if(!x){x=this.getTransform(t,E)}var I=S.tileCoord[0];var M=C.getClipCoords(x);e.save();e.globalAlpha=i.opacity;for(var w=0,b=p.length;w<b;++w){var L=p[w];if(I<v[w]){e.beginPath();e.moveTo(M[0],M[1]);e.lineTo(M[2],M[3]);e.lineTo(M[4],M[5]);e.lineTo(M[6],M[7]);e.moveTo(L[6],L[7]);e.lineTo(L[4],L[5]);e.lineTo(L[2],L[3]);e.lineTo(L[0],L[1]);e.clip()}}C.replay(e,x,l,{},a,n);e.restore();p.push(M);v.push(I)}}if(n){_ol_render_canvas_ReplayGroup_.replayDeclutter(n,e,l)}if(l){_ol_render_canvas_.rotateAtOffset(e,l,u,c)}_ol_renderer_canvas_TileLayer_.prototype.postCompose.apply(this,arguments)};_ol_renderer_canvas_VectorTileLayer_.prototype.renderFeature=function(e,t,i,r){if(!i){return false}var n=false;if(Array.isArray(i)){for(var o=0,_=i.length;o<_;++o){n=_ol_renderer_vector_.renderFeature(r,e,i[o],t,this.handleStyleImageChange_,this)||n}}else{n=_ol_renderer_vector_.renderFeature(r,e,i,t,this.handleStyleImageChange_,this)}return n};_ol_renderer_canvas_VectorTileLayer_.prototype.renderTileImage_=function(e,t,i){var r=this.getLayer();var n=e.getReplayState(r);var o=r.getRevision();var _=_ol_renderer_canvas_VectorTileLayer_.IMAGE_REPLAYS[r.getRenderMode()];if(_&&n.renderedTileRevision!==o){n.renderedTileRevision=o;var a=e.wrappedTileCoord;var s=a[0];var l=t.pixelRatio;var h=r.getSource();var u=h.getTileGridForProjection(t.viewState.projection);var c=u.getResolution(s);var f=e.getContext(r);var d=h.getTilePixelSize(s,l,t.viewState.projection);f.canvas.width=d[0];f.canvas.height=d[1];var p=u.getTileCoordExtent(a);for(var v=0,g=e.tileKeys.length;v<g;++v){var y=e.getTile(e.tileKeys[v]);if(y.getState()==_ol_TileState_.ERROR){continue}var m=l/c;var E=_ol_transform_.reset(this.tmpTransform_);_ol_transform_.scale(E,m,-m);_ol_transform_.translate(E,-p[0],-p[3]);var x=y.getReplayGroup(r,e.tileCoord.toString());x.replay(f,E,0,{},_)}}};var _ol_webgl_Shader_=function(e){this.source_=e};_ol_webgl_Shader_.prototype.getType=function(){};_ol_webgl_Shader_.prototype.getSource=function(){return this.source_};_ol_webgl_Shader_.prototype.isAnimated=_ol_functions_.FALSE;var _ol_webgl_Fragment_=function(e){_ol_webgl_Shader_.call(this,e)};_ol_.inherits(_ol_webgl_Fragment_,_ol_webgl_Shader_);_ol_webgl_Fragment_.prototype.getType=function(){return _ol_webgl_.FRAGMENT_SHADER};var _ol_webgl_Vertex_=function(e){_ol_webgl_Shader_.call(this,e)};_ol_.inherits(_ol_webgl_Vertex_,_ol_webgl_Shader_);_ol_webgl_Vertex_.prototype.getType=function(){return _ol_webgl_.VERTEX_SHADER};var _ol_render_webgl_circlereplay_defaultshader_={};_ol_render_webgl_circlereplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_fillColor;\nuniform vec4 u_strokeColor;\nuniform vec2 u_size;\n\nvoid main(void) {\n vec2 windowCenter = vec2((v_center.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_center.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n vec2 windowOffset = vec2((v_offset.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_offset.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n float radius = length(windowCenter - windowOffset);\n float dist = length(windowCenter - gl_FragCoord.xy);\n if (dist > radius + v_halfWidth) {\n if (u_strokeColor.a == 0.0) {\n gl_FragColor = u_fillColor;\n } else {\n gl_FragColor = u_strokeColor;\n }\n gl_FragColor.a = gl_FragColor.a - (dist - (radius + v_halfWidth));\n } else if (u_fillColor.a == 0.0) {\n // Hooray, no fill, just stroke. We can use real antialiasing.\n gl_FragColor = u_strokeColor;\n if (dist < radius - v_halfWidth) {\n gl_FragColor.a = gl_FragColor.a - (radius - v_halfWidth - dist);\n }\n } else {\n gl_FragColor = u_fillColor;\n float strokeDist = radius - v_halfWidth;\n float antialias = 2.0 * v_pixelRatio;\n if (dist > strokeDist) {\n gl_FragColor = u_strokeColor;\n } else if (dist >= strokeDist - antialias) {\n float step = smoothstep(strokeDist - antialias, strokeDist, dist);\n gl_FragColor = mix(u_fillColor, u_strokeColor, step);\n }\n }\n gl_FragColor.a = gl_FragColor.a * u_opacity;\n if (gl_FragColor.a <= 0.0) {\n discard;\n }\n}\n":"precision mediump float;varying vec2 a;varying vec2 b;varying float c;varying float d;uniform float m;uniform vec4 n;uniform vec4 o;uniform vec2 p;void main(void){vec2 windowCenter=vec2((a.x+1.0)/2.0*p.x*d,(a.y+1.0)/2.0*p.y*d);vec2 windowOffset=vec2((b.x+1.0)/2.0*p.x*d,(b.y+1.0)/2.0*p.y*d);float radius=length(windowCenter-windowOffset);float dist=length(windowCenter-gl_FragCoord.xy);if(dist>radius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(dist<radius-c){gl_FragColor.a=gl_FragColor.a-(radius-c-dist);}} else{gl_FragColor=n;float strokeDist=radius-c;float antialias=2.0*d;if(dist>strokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}");_ol_render_webgl_circlereplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\nattribute vec2 a_position;\nattribute float a_instruction;\nattribute float a_radius;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n v_center = vec4(u_projectionMatrix * vec4(a_position, 0.0, 1.0)).xy;\n v_pixelRatio = u_pixelRatio;\n float lineWidth = u_lineWidth * u_pixelRatio;\n v_halfWidth = lineWidth / 2.0;\n if (lineWidth == 0.0) {\n lineWidth = 2.0 * u_pixelRatio;\n }\n vec2 offset;\n // Radius with anitaliasing (roughly).\n float radius = a_radius + 3.0 * u_pixelRatio;\n // Until we get gl_VertexID in WebGL, we store an instruction.\n if (a_instruction == 0.0) {\n // Offsetting the edges of the triangle by lineWidth / 2 is necessary, however\n // we should also leave some space for the antialiasing, thus we offset by lineWidth.\n offset = vec2(-1.0, 1.0);\n } else if (a_instruction == 1.0) {\n offset = vec2(-1.0, -1.0);\n } else if (a_instruction == 2.0) {\n offset = vec2(1.0, -1.0);\n } else {\n offset = vec2(1.0, 1.0);\n }\n\n gl_Position = u_projectionMatrix * vec4(a_position + offset * radius, 0.0, 1.0) +\n offsetMatrix * vec4(offset * lineWidth, 0.0, 0.0);\n v_offset = vec4(u_projectionMatrix * vec4(a_position.x + a_radius, a_position.y,\n 0.0, 1.0)).xy;\n\n if (distance(v_center, v_offset) > 20000.0) {\n gl_Position = vec4(v_center, 0.0, 1.0);\n }\n}\n\n\n":"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;//Until we get gl_VertexID in WebGL,we store an instruction.if(f==0.0){//Offsetting the edges of the triangle by lineWidth/2 is necessary,however//we should also leave some space for the antialiasing,thus we offset by lineWidth.offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}");var _ol_render_webgl_circlereplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_lineWidth=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_lineWidth":"k");this.u_pixelRatio=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_pixelRatio":"l");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"m");this.u_fillColor=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_fillColor":"n");this.u_strokeColor=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_strokeColor":"o");this.u_size=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_size":"p");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"e");this.a_instruction=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_instruction":"f");this.a_radius=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_radius":"g")};var _ol_vec_Mat4_={};_ol_vec_Mat4_.create=function(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};_ol_vec_Mat4_.fromTransform=function(e,t){e[0]=t[0];e[1]=t[1];e[4]=t[2];e[5]=t[3];e[12]=t[4];e[13]=t[5];return e};var _ol_render_webgl_Replay_=function(e,t){_ol_render_VectorContext_.call(this);this.tolerance=e;this.maxExtent=t;this.origin=_ol_extent_.getCenter(t);this.projectionMatrix_=_ol_transform_.create();this.offsetRotateMatrix_=_ol_transform_.create();this.offsetScaleMatrix_=_ol_transform_.create();this.tmpMat4_=_ol_vec_Mat4_.create();this.indices=[];this.indicesBuffer=null;this.startIndices=[];this.startIndicesFeature=[];this.vertices=[];this.verticesBuffer=null;this.lineStringReplay=undefined};_ol_.inherits(_ol_render_webgl_Replay_,_ol_render_VectorContext_);_ol_render_webgl_Replay_.prototype.getDeleteResourcesFunction=function(e){};_ol_render_webgl_Replay_.prototype.finish=function(e){};_ol_render_webgl_Replay_.prototype.setUpProgram=function(e,t,i,r){};_ol_render_webgl_Replay_.prototype.shutDownProgram=function(e,t){};_ol_render_webgl_Replay_.prototype.drawReplay=function(e,t,i,r){};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplay=function(e,t,i,r,n,o){if(!n){return this.drawHitDetectionReplayAll(e,t,i,r)}else{return this.drawHitDetectionReplayOneByOne(e,t,i,r,o)}};_ol_render_webgl_Replay_.prototype.drawHitDetectionReplayAll=function(e,t,i,r){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawReplay(e,t,i,true);var n=r(null);if(n){return n}else{return undefined}};_ol_render_webgl_Replay_.prototype.replay=function(e,t,i,r,n,o,_,a,s,l,h){var u=e.getGL();var c,f,d,p,v,g,y,m;if(this.lineStringReplay){c=u.isEnabled(u.STENCIL_TEST);f=u.getParameter(u.STENCIL_FUNC);d=u.getParameter(u.STENCIL_VALUE_MASK);p=u.getParameter(u.STENCIL_REF);v=u.getParameter(u.STENCIL_WRITEMASK);g=u.getParameter(u.STENCIL_FAIL);y=u.getParameter(u.STENCIL_PASS_DEPTH_PASS);m=u.getParameter(u.STENCIL_PASS_DEPTH_FAIL);u.enable(u.STENCIL_TEST);u.clear(u.STENCIL_BUFFER_BIT);u.stencilMask(255);u.stencilFunc(u.ALWAYS,1,255);u.stencilOp(u.KEEP,u.KEEP,u.REPLACE);this.lineStringReplay.replay(e,t,i,r,n,o,_,a,s,l,h);u.stencilMask(0);u.stencilFunc(u.NOTEQUAL,1,255)}e.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.verticesBuffer);e.bindBuffer(_ol_webgl_.ELEMENT_ARRAY_BUFFER,this.indicesBuffer);var E=this.setUpProgram(u,e,n,o);var x=_ol_transform_.reset(this.projectionMatrix_);_ol_transform_.scale(x,2/(i*n[0]),2/(i*n[1]));_ol_transform_.rotate(x,-r);_ol_transform_.translate(x,-(t[0]-this.origin[0]),-(t[1]-this.origin[1]));var T=_ol_transform_.reset(this.offsetScaleMatrix_);_ol_transform_.scale(T,2/n[0],2/n[1]);var R=_ol_transform_.reset(this.offsetRotateMatrix_);if(r!==0){_ol_transform_.rotate(R,-r)}u.uniformMatrix4fv(E.u_projectionMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,x));u.uniformMatrix4fv(E.u_offsetScaleMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,T));u.uniformMatrix4fv(E.u_offsetRotateMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,R));u.uniform1f(E.u_opacity,_);var S;if(s===undefined){this.drawReplay(u,e,a,false)}else{S=this.drawHitDetectionReplay(u,e,a,s,l,h)}this.shutDownProgram(u,E);if(this.lineStringReplay){if(!c){u.disable(u.STENCIL_TEST)}u.clear(u.STENCIL_BUFFER_BIT);u.stencilFunc(f,p,d);u.stencilMask(v);u.stencilOp(g,m,y)}return S};_ol_render_webgl_Replay_.prototype.drawElements=function(e,t,i,r){var n=t.hasOESElementIndexUint?_ol_webgl_.UNSIGNED_INT:_ol_webgl_.UNSIGNED_SHORT;var o=t.hasOESElementIndexUint?4:2;var _=r-i;var a=i*o;e.drawElements(_ol_webgl_.TRIANGLES,_,n,a)};var _ol_render_webgl_={};_ol_render_webgl_.defaultFont="10px sans-serif";_ol_render_webgl_.defaultFillStyle=[0,0,0,1];_ol_render_webgl_.defaultLineCap="round";_ol_render_webgl_.defaultLineDash=[];_ol_render_webgl_.defaultLineDashOffset=0;_ol_render_webgl_.defaultLineJoin="round";_ol_render_webgl_.defaultMiterLimit=10;_ol_render_webgl_.defaultStrokeStyle=[0,0,0,1];_ol_render_webgl_.defaultTextAlign=.5;_ol_render_webgl_.defaultTextBaseline=.5;_ol_render_webgl_.defaultLineWidth=1;_ol_render_webgl_.triangleIsCounterClockwise=function(e,t,i,r,n,o){var _=(i-e)*(o-t)-(n-e)*(r-t);return _<=_ol_render_webgl_.EPSILON&&_>=-_ol_render_webgl_.EPSILON?undefined:_>0};_ol_render_webgl_.EPSILON=Number.EPSILON||2220446049250313e-31;var _ol_webgl_Buffer_=function(e,t){this.arr_=e!==undefined?e:[];this.usage_=t!==undefined?t:_ol_webgl_Buffer_.Usage_.STATIC_DRAW};_ol_webgl_Buffer_.prototype.getArray=function(){return this.arr_};_ol_webgl_Buffer_.prototype.getUsage=function(){return this.usage_};_ol_webgl_Buffer_.Usage_={STATIC_DRAW:_ol_webgl_.STATIC_DRAW,STREAM_DRAW:_ol_webgl_.STREAM_DRAW,DYNAMIC_DRAW:_ol_webgl_.DYNAMIC_DRAW};var _ol_render_webgl_CircleReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.radius_=0;this.state_={fillColor:null,strokeColor:null,lineDash:null,lineDashOffset:undefined,lineWidth:undefined,changed:false}};_ol_.inherits(_ol_render_webgl_CircleReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_CircleReplay_.prototype.drawCoordinates_=function(e,t,i,r){var n=this.vertices.length;var o=this.indices.length;var _=n/4;var a,s;for(a=t,s=i;a<s;a+=r){this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=0;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=1;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=2;this.vertices[n++]=this.radius_;this.vertices[n++]=e[a];this.vertices[n++]=e[a+1];this.vertices[n++]=3;this.vertices[n++]=this.radius_;this.indices[o++]=_;this.indices[o++]=_+1;this.indices[o++]=_+2;this.indices[o++]=_+2;this.indices[o++]=_+3;this.indices[o++]=_;_+=4}};_ol_render_webgl_CircleReplay_.prototype.drawCircle=function(e,t){var i=e.getRadius();var r=e.getStride();if(i){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.radius_=i;var n=e.getFlatCoordinates();n=_ol_geom_flat_transform_.translate(n,0,2,r,-this.origin[0],-this.origin[1]);this.drawCoordinates_(n,0,2,r)}else{if(this.state_.changed){this.styles_.pop();if(this.styles_.length){var o=this.styles_[this.styles_.length-1];this.state_.fillColor=o[0];this.state_.strokeColor=o[1];this.state_.lineWidth=o[2];this.state_.changed=false}}}};_ol_render_webgl_CircleReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_CircleReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;return function(){e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_CircleReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_circlereplay_defaultshader_.fragment;o=_ol_render_webgl_circlereplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_circlereplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,16,0);e.enableVertexAttribArray(a.a_instruction);e.vertexAttribPointer(a.a_instruction,1,_ol_webgl_.FLOAT,false,16,8);e.enableVertexAttribArray(a.a_radius);e.vertexAttribPointer(a.a_radius,1,_ol_webgl_.FLOAT,false,16,12);e.uniform2fv(a.u_size,i);e.uniform1f(a.u_pixelRatio,r);return a};_ol_render_webgl_CircleReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_instruction);e.disableVertexAttribArray(t.a_radius)};_ol_render_webgl_CircleReplay_.prototype.drawReplay=function(e,t,i,r){if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var n,o,_,a;_=this.startIndices[this.startIndices.length-1];for(n=this.styleIndices_.length-1;n>=0;--n){o=this.styleIndices_[n];a=this.styles_[n];this.setFillStyle_(e,a[0]);this.setStrokeStyle_(e,a[1],a[2]);this.drawElements(e,t,o,_);_=o}}};_ol_render_webgl_CircleReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setFillStyle_(e,s[0]);this.setStrokeStyle_(e,s[1],s[2]);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_CircleReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setFillStyle_(e,_[0]);this.setStrokeStyle_(e,_[1],_[2]);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o)}n=o=a}};_ol_render_webgl_CircleReplay_.prototype.setFillStyle_=function(e,t){e.uniform4fv(this.defaultLocations_.u_fillColor,t)};_ol_render_webgl_CircleReplay_.prototype.setStrokeStyle_=function(e,t,i){e.uniform4fv(this.defaultLocations_.u_strokeColor,t);e.uniform1f(this.defaultLocations_.u_lineWidth,i)};_ol_render_webgl_CircleReplay_.prototype.setFillStrokeStyle=function(e,t){var i,r;if(t){var n=t.getLineDash();this.state_.lineDash=n?n:_ol_render_webgl_.defaultLineDash;var o=t.getLineDashOffset();this.state_.lineDashOffset=o?o:_ol_render_webgl_.defaultLineDashOffset;i=t.getColor();if(!(i instanceof CanvasGradient)&&!(i instanceof CanvasPattern)){i=_ol_color_.asArray(i).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultStrokeStyle}else{i=_ol_render_webgl_.defaultStrokeStyle}r=t.getWidth();r=r!==undefined?r:_ol_render_webgl_.defaultLineWidth}else{i=[0,0,0,0];r=0}var _=e?e.getColor():[0,0,0,0];if(!(_ instanceof CanvasGradient)&&!(_ instanceof CanvasPattern)){_=_ol_color_.asArray(_).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultFillStyle}else{_=_ol_render_webgl_.defaultFillStyle}if(!this.state_.strokeColor||!_ol_array_.equals(this.state_.strokeColor,i)||!this.state_.fillColor||!_ol_array_.equals(this.state_.fillColor,_)||this.state_.lineWidth!==r){this.state_.changed=true;this.state_.fillColor=_;this.state_.strokeColor=i;this.state_.lineWidth=r;this.styles_.push([_,i,r])}};var _ol_render_webgl_texturereplay_defaultshader_={};_ol_render_webgl_texturereplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\nvarying float v_opacity;\n\nuniform float u_opacity;\nuniform sampler2D u_image;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_image, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n float alpha = texColor.a * v_opacity * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_texturereplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\nvarying float v_opacity;\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nattribute vec2 a_offsets;\nattribute float a_opacity;\nattribute float a_rotateWithView;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n mat4 offsetMatrix = u_offsetScaleMatrix;\n if (a_rotateWithView == 1.0) {\n offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n }\n vec4 offsets = offsetMatrix * vec4(a_offsets, 0.0, 0.0);\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n v_texCoord = a_texCoord;\n v_opacity = a_opacity;\n}\n\n\n":"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}");var _ol_render_webgl_texturereplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"k");this.u_image=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_image":"l");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"c");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"d");this.a_offsets=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_offsets":"e");this.a_opacity=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_opacity":"f");this.a_rotateWithView=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_rotateWithView":"g")};var _ol_webgl_ContextEventType_={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"};var _ol_webgl_Context_=function(e,t){this.canvas_=e;this.gl_=t;this.bufferCache_={};this.shaderCache_={};this.programCache_={};this.currentProgram_=null;this.hitDetectionFramebuffer_=null;this.hitDetectionTexture_=null;this.hitDetectionRenderbuffer_=null;this.hasOESElementIndexUint=_ol_array_.includes(_ol_.WEBGL_EXTENSIONS,"OES_element_index_uint");if(this.hasOESElementIndexUint){t.getExtension("OES_element_index_uint")}_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.LOST,this.handleWebGLContextLost,this);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.RESTORED,this.handleWebGLContextRestored,this)};_ol_.inherits(_ol_webgl_Context_,_ol_Disposable_);_ol_webgl_Context_.prototype.bindBuffer=function(e,t){var i=this.getGL();var r=t.getArray();var n=String(_ol_.getUid(t));if(n in this.bufferCache_){var o=this.bufferCache_[n];i.bindBuffer(e,o.buffer)}else{var _=i.createBuffer();i.bindBuffer(e,_);var a;if(e==_ol_webgl_.ARRAY_BUFFER){a=new Float32Array(r)}else if(e==_ol_webgl_.ELEMENT_ARRAY_BUFFER){a=this.hasOESElementIndexUint?new Uint32Array(r):new Uint16Array(r)}i.bufferData(e,a,t.getUsage());this.bufferCache_[n]={buf:t,buffer:_}}};_ol_webgl_Context_.prototype.deleteBuffer=function(e){var t=this.getGL();var i=String(_ol_.getUid(e));var r=this.bufferCache_[i];if(!t.isContextLost()){t.deleteBuffer(r.buffer)}delete this.bufferCache_[i]};_ol_webgl_Context_.prototype.disposeInternal=function(){_ol_events_.unlistenAll(this.canvas_);var e=this.getGL();if(!e.isContextLost()){var t;for(t in this.bufferCache_){e.deleteBuffer(this.bufferCache_[t].buffer)}for(t in this.programCache_){e.deleteProgram(this.programCache_[t])}for(t in this.shaderCache_){e.deleteShader(this.shaderCache_[t])}e.deleteFramebuffer(this.hitDetectionFramebuffer_);e.deleteRenderbuffer(this.hitDetectionRenderbuffer_);e.deleteTexture(this.hitDetectionTexture_)}};_ol_webgl_Context_.prototype.getCanvas=function(){return this.canvas_};_ol_webgl_Context_.prototype.getGL=function(){return this.gl_};_ol_webgl_Context_.prototype.getHitDetectionFramebuffer=function(){if(!this.hitDetectionFramebuffer_){this.initHitDetectionFramebuffer_()}return this.hitDetectionFramebuffer_};_ol_webgl_Context_.prototype.getShader=function(e){var t=String(_ol_.getUid(e));if(t in this.shaderCache_){return this.shaderCache_[t]}else{var i=this.getGL();var r=i.createShader(e.getType());i.shaderSource(r,e.getSource());i.compileShader(r);this.shaderCache_[t]=r;return r}};_ol_webgl_Context_.prototype.getProgram=function(e,t){var i=_ol_.getUid(e)+"/"+_ol_.getUid(t);if(i in this.programCache_){return this.programCache_[i]}else{var r=this.getGL();var n=r.createProgram();r.attachShader(n,this.getShader(e));r.attachShader(n,this.getShader(t));r.linkProgram(n);this.programCache_[i]=n;return n}};_ol_webgl_Context_.prototype.handleWebGLContextLost=function(){_ol_obj_.clear(this.bufferCache_);_ol_obj_.clear(this.shaderCache_);_ol_obj_.clear(this.programCache_);this.currentProgram_=null;this.hitDetectionFramebuffer_=null;this.hitDetectionTexture_=null;this.hitDetectionRenderbuffer_=null};_ol_webgl_Context_.prototype.handleWebGLContextRestored=function(){};_ol_webgl_Context_.prototype.initHitDetectionFramebuffer_=function(){var e=this.gl_;var t=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,t);var i=_ol_webgl_Context_.createEmptyTexture(e,1,1);var r=e.createRenderbuffer();e.bindRenderbuffer(e.RENDERBUFFER,r);e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,1,1);e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,r);e.bindTexture(e.TEXTURE_2D,null);e.bindRenderbuffer(e.RENDERBUFFER,null);e.bindFramebuffer(e.FRAMEBUFFER,null);this.hitDetectionFramebuffer_=t;this.hitDetectionTexture_=i;this.hitDetectionRenderbuffer_=r};_ol_webgl_Context_.prototype.useProgram=function(e){if(e==this.currentProgram_){return false}else{var t=this.getGL();t.useProgram(e);this.currentProgram_=e;return true}};_ol_webgl_Context_.createTexture_=function(e,t,i){var r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR);if(t!==undefined){e.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_S,t)}if(i!==undefined){e.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_T,i)}return r};_ol_webgl_Context_.createEmptyTexture=function(e,t,i,r,n){var o=_ol_webgl_Context_.createTexture_(e,r,n);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,i,0,e.RGBA,e.UNSIGNED_BYTE,null);return o};_ol_webgl_Context_.createTexture=function(e,t,i,r){var n=_ol_webgl_Context_.createTexture_(e,i,r);e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t);return n};var _ol_render_webgl_TextureReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.anchorX=undefined;this.anchorY=undefined;this.groupIndices=[];this.hitDetectionGroupIndices=[];this.height=undefined;this.imageHeight=undefined;this.imageWidth=undefined;this.defaultLocations=null;this.opacity=undefined;this.originX=undefined;this.originY=undefined;this.rotateWithView=undefined;this.rotation=undefined;this.scale=undefined;this.width=undefined};_ol_.inherits(_ol_render_webgl_TextureReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_TextureReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;var r=this.getTextures(true);var n=e.getGL();return function(){if(!n.isContextLost()){var o,_;for(o=0,_=r.length;o<_;++o){n.deleteTexture(r[o])}}e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_TextureReplay_.prototype.drawCoordinates=function(e,t,i,r){var n=this.anchorX;var o=this.anchorY;var _=this.height;var a=this.imageHeight;var s=this.imageWidth;var l=this.opacity;var h=this.originX;var u=this.originY;var c=this.rotateWithView?1:0;var f=-this.rotation;var d=this.scale;var p=this.width;var v=Math.cos(f);var g=Math.sin(f);var y=this.indices.length;var m=this.vertices.length;var E,x,T,R,S,C;for(E=t;E<i;E+=r){S=e[E]-this.origin[0];C=e[E+1]-this.origin[1];x=m/8;T=-d*n;R=-d*(_-o);this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=h/s;this.vertices[m++]=(u+_)/a;this.vertices[m++]=l;this.vertices[m++]=c;T=d*(p-n);R=-d*(_-o);this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=(h+p)/s;this.vertices[m++]=(u+_)/a;this.vertices[m++]=l;this.vertices[m++]=c;T=d*(p-n);R=d*o;this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=(h+p)/s;this.vertices[m++]=u/a;this.vertices[m++]=l;this.vertices[m++]=c;T=-d*n;R=d*o;this.vertices[m++]=S;this.vertices[m++]=C;this.vertices[m++]=T*v-R*g;this.vertices[m++]=T*g+R*v;this.vertices[m++]=h/s;this.vertices[m++]=u/a;this.vertices[m++]=l;this.vertices[m++]=c;this.indices[y++]=x;this.indices[y++]=x+1;this.indices[y++]=x+2;this.indices[y++]=x;this.indices[y++]=x+2;this.indices[y++]=x+3}return m};_ol_render_webgl_TextureReplay_.prototype.createTextures=function(e,t,i,r){var n,o,_,a;var s=t.length;for(a=0;a<s;++a){o=t[a];_=_ol_.getUid(o).toString();if(_ in i){n=i[_]}else{n=_ol_webgl_Context_.createTexture(r,o,_ol_webgl_.CLAMP_TO_EDGE,_ol_webgl_.CLAMP_TO_EDGE);i[_]=n}e[a]=n}};_ol_render_webgl_TextureReplay_.prototype.setUpProgram=function(e,t,i,r){var n=_ol_render_webgl_texturereplay_defaultshader_.fragment;var o=_ol_render_webgl_texturereplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations){a=new _ol_render_webgl_texturereplay_defaultshader_Locations_(e,_);this.defaultLocations=a}else{a=this.defaultLocations}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,32,0);e.enableVertexAttribArray(a.a_offsets);e.vertexAttribPointer(a.a_offsets,2,_ol_webgl_.FLOAT,false,32,8);e.enableVertexAttribArray(a.a_texCoord);e.vertexAttribPointer(a.a_texCoord,2,_ol_webgl_.FLOAT,false,32,16);e.enableVertexAttribArray(a.a_opacity);e.vertexAttribPointer(a.a_opacity,1,_ol_webgl_.FLOAT,false,32,24);e.enableVertexAttribArray(a.a_rotateWithView);e.vertexAttribPointer(a.a_rotateWithView,1,_ol_webgl_.FLOAT,false,32,28);return a};_ol_render_webgl_TextureReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_offsets);e.disableVertexAttribArray(t.a_texCoord);e.disableVertexAttribArray(t.a_opacity);e.disableVertexAttribArray(t.a_rotateWithView)};_ol_render_webgl_TextureReplay_.prototype.drawReplay=function(e,t,i,r){var n=r?this.getHitDetectionTextures():this.getTextures();var o=r?this.hitDetectionGroupIndices:this.groupIndices;if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping(e,t,i,n,o)}else{var _,a,s;for(_=0,a=n.length,s=0;_<a;++_){e.bindTexture(_ol_webgl_.TEXTURE_2D,n[_]);var l=o[_];this.drawElements(e,t,s,l);s=l}}};_ol_render_webgl_TextureReplay_.prototype.drawReplaySkipping=function(e,t,i,r,n){var o=0;var _,a;for(_=0,a=r.length;_<a;++_){e.bindTexture(_ol_webgl_.TEXTURE_2D,r[_]);var s=_>0?n[_-1]:0;var l=n[_];var h=s;var u=s;while(o<this.startIndices.length&&this.startIndices[o]<=l){var c=this.startIndicesFeature[o];var f=_ol_.getUid(c).toString();if(i[f]!==undefined){if(h!==u){this.drawElements(e,t,h,u)}h=o===this.startIndices.length-1?l:this.startIndices[o+1];u=h}else{u=o===this.startIndices.length-1?l:this.startIndices[o+1]}o++}if(h!==u){this.drawElements(e,t,h,u)}}};_ol_render_webgl_TextureReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h;var u=this.startIndices.length-1;var c=this.getHitDetectionTextures();for(o=c.length-1;o>=0;--o){e.bindTexture(_ol_webgl_.TEXTURE_2D,c[o]);_=o>0?this.hitDetectionGroupIndices[o-1]:0;s=this.hitDetectionGroupIndices[o];while(u>=0&&this.startIndices[u]>=_){a=this.startIndices[u];l=this.startIndicesFeature[u];h=_ol_.getUid(l).toString();if(i[h]===undefined&&l.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,l.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,a,s);var f=r(l);if(f){return f}}s=a;u--}}return undefined};_ol_render_webgl_TextureReplay_.prototype.finish=function(e){this.anchorX=undefined;this.anchorY=undefined;this.height=undefined;this.imageHeight=undefined;this.imageWidth=undefined;this.indices=null;this.opacity=undefined;this.originX=undefined;this.originY=undefined;this.rotateWithView=undefined;this.rotation=undefined;this.scale=undefined;this.vertices=null;this.width=undefined};_ol_render_webgl_TextureReplay_.prototype.getTextures=function(e){};_ol_render_webgl_TextureReplay_.prototype.getHitDetectionTextures=function(){};var _ol_render_webgl_ImageReplay_=function(e,t){_ol_render_webgl_TextureReplay_.call(this,e,t);this.images_=[];this.hitDetectionImages_=[];this.textures_=[];this.hitDetectionTextures_=[]};_ol_.inherits(_ol_render_webgl_ImageReplay_,_ol_render_webgl_TextureReplay_);_ol_render_webgl_ImageReplay_.prototype.drawMultiPoint=function(e,t){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var i=e.getFlatCoordinates();var r=e.getStride();this.drawCoordinates(i,0,i.length,r)};_ol_render_webgl_ImageReplay_.prototype.drawPoint=function(e,t){this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var i=e.getFlatCoordinates();var r=e.getStride();this.drawCoordinates(i,0,i.length,r)};_ol_render_webgl_ImageReplay_.prototype.finish=function(e){var t=e.getGL();this.groupIndices.push(this.indices.length);this.hitDetectionGroupIndices.push(this.indices.length);this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);var i=this.indices;this.indicesBuffer=new _ol_webgl_Buffer_(i);var r={};this.createTextures(this.textures_,this.images_,r,t);this.createTextures(this.hitDetectionTextures_,this.hitDetectionImages_,r,t);this.images_=null;this.hitDetectionImages_=null;_ol_render_webgl_TextureReplay_.prototype.finish.call(this,e)};_ol_render_webgl_ImageReplay_.prototype.setImageStyle=function(e){var t=e.getAnchor();var i=e.getImage(1);var r=e.getImageSize();var n=e.getHitDetectionImage(1);var o=e.getOpacity();var _=e.getOrigin();var a=e.getRotateWithView();var s=e.getRotation();var l=e.getSize();var h=e.getScale();var u;if(this.images_.length===0){this.images_.push(i)}else{u=this.images_[this.images_.length-1];if(_ol_.getUid(u)!=_ol_.getUid(i)){this.groupIndices.push(this.indices.length);this.images_.push(i)}}if(this.hitDetectionImages_.length===0){this.hitDetectionImages_.push(n)}else{u=this.hitDetectionImages_[this.hitDetectionImages_.length-1];if(_ol_.getUid(u)!=_ol_.getUid(n)){this.hitDetectionGroupIndices.push(this.indices.length);this.hitDetectionImages_.push(n)}}this.anchorX=t[0];this.anchorY=t[1];this.height=l[1];this.imageHeight=r[1];this.imageWidth=r[0];this.opacity=o;this.originX=_[0];this.originY=_[1];this.rotation=s;this.rotateWithView=a;this.scale=h;this.width=l[0]};_ol_render_webgl_ImageReplay_.prototype.getTextures=function(e){return e?this.textures_.concat(this.hitDetectionTextures_):this.textures_};_ol_render_webgl_ImageReplay_.prototype.getHitDetectionTextures=function(){return this.hitDetectionTextures_};var _ol_geom_flat_topology_={};_ol_geom_flat_topology_.lineStringIsClosed=function(e,t,i,r){var n=i-r;if(e[t]===e[n]&&e[t+1]===e[n+1]&&(i-t)/r>3){return!!_ol_geom_flat_area_.linearRing(e,t,i,r)}return false};var _ol_render_webgl_linestringreplay_defaultshader_={};_ol_render_webgl_linestringreplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_color;\nuniform vec2 u_size;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n if (v_round > 0.0) {\n vec2 windowCoords = vec2((v_roundVertex.x + 1.0) / 2.0 * u_size.x * u_pixelRatio,\n (v_roundVertex.y + 1.0) / 2.0 * u_size.y * u_pixelRatio);\n if (length(windowCoords - gl_FragCoord.xy) > v_halfWidth * u_pixelRatio) {\n discard;\n }\n }\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;varying float a;varying vec2 aVertex;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((aVertex.x+1.0)/2.0*o.x*p,(aVertex.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_linestringreplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\nattribute vec2 a_lastPos;\nattribute vec2 a_position;\nattribute vec2 a_nextPos;\nattribute float a_direction;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_lineWidth;\nuniform float u_miterLimit;\n\nbool nearlyEquals(in float value, in float ref) {\n float epsilon = 0.000000000001;\n return value >= ref - epsilon && value <= ref + epsilon;\n}\n\nvoid alongNormal(out vec2 offset, in vec2 nextP, in float turnDir, in float direction) {\n vec2 dirVect = nextP - a_position;\n vec2 normal = normalize(vec2(-turnDir * dirVect.y, turnDir * dirVect.x));\n offset = u_lineWidth / 2.0 * normal * direction;\n}\n\nvoid miterUp(out vec2 offset, out float round, in bool isRound, in float direction) {\n float halfWidth = u_lineWidth / 2.0;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_nextPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n round = 0.0;\n if (isRound) {\n round = 1.0;\n } else if (miterLength > u_miterLimit + u_lineWidth) {\n offset = halfWidth * tmpNormal * direction;\n }\n}\n\nbool miterDown(out vec2 offset, in vec4 projPos, in mat4 offsetMatrix, in float direction) {\n bool degenerate = false;\n vec2 tangent = normalize(normalize(a_nextPos - a_position) + normalize(a_position - a_lastPos));\n vec2 normal = vec2(-tangent.y, tangent.x);\n vec2 dirVect = a_lastPos - a_position;\n vec2 tmpNormal = normalize(vec2(-dirVect.y, dirVect.x));\n vec2 longOffset, shortOffset, longVertex;\n vec4 shortProjVertex;\n float halfWidth = u_lineWidth / 2.0;\n if (length(a_nextPos - a_position) > length(a_lastPos - a_position)) {\n longOffset = tmpNormal * direction * halfWidth;\n shortOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_nextPos;\n shortProjVertex = u_projectionMatrix * vec4(a_lastPos, 0.0, 1.0);\n } else {\n shortOffset = tmpNormal * direction * halfWidth;\n longOffset = normalize(vec2(dirVect.y, -dirVect.x)) * direction * halfWidth;\n longVertex = a_lastPos;\n shortProjVertex = u_projectionMatrix * vec4(a_nextPos, 0.0, 1.0);\n }\n //Intersection algorithm based on theory by Paul Bourke (http://paulbourke.net/geometry/pointlineplane/).\n vec4 p1 = u_projectionMatrix * vec4(longVertex, 0.0, 1.0) + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p2 = projPos + offsetMatrix * vec4(longOffset, 0.0, 0.0);\n vec4 p3 = shortProjVertex + offsetMatrix * vec4(-shortOffset, 0.0, 0.0);\n vec4 p4 = shortProjVertex + offsetMatrix * vec4(shortOffset, 0.0, 0.0);\n float denom = (p4.y - p3.y) * (p2.x - p1.x) - (p4.x - p3.x) * (p2.y - p1.y);\n float firstU = ((p4.x - p3.x) * (p1.y - p3.y) - (p4.y - p3.y) * (p1.x - p3.x)) / denom;\n float secondU = ((p2.x - p1.x) * (p1.y - p3.y) - (p2.y - p1.y) * (p1.x - p3.x)) / denom;\n float epsilon = 0.000000000001;\n if (firstU > epsilon && firstU < 1.0 - epsilon && secondU > epsilon && secondU < 1.0 - epsilon) {\n shortProjVertex.x = p1.x + firstU * (p2.x - p1.x);\n shortProjVertex.y = p1.y + firstU * (p2.y - p1.y);\n offset = shortProjVertex.xy;\n degenerate = true;\n } else {\n float miterLength = abs(halfWidth / dot(normal, tmpNormal));\n offset = normal * direction * miterLength;\n }\n return degenerate;\n}\n\nvoid squareCap(out vec2 offset, out float round, in bool isRound, in vec2 nextP,\n in float turnDir, in float direction) {\n round = 0.0;\n vec2 dirVect = a_position - nextP;\n vec2 firstNormal = normalize(dirVect);\n vec2 secondNormal = vec2(turnDir * firstNormal.y * direction, -turnDir * firstNormal.x * direction);\n vec2 hypotenuse = normalize(firstNormal - secondNormal);\n vec2 normal = vec2(turnDir * hypotenuse.y * direction, -turnDir * hypotenuse.x * direction);\n float length = sqrt(v_halfWidth * v_halfWidth * 2.0);\n offset = normal * length;\n if (isRound) {\n round = 1.0;\n }\n}\n\nvoid main(void) {\n bool degenerate = false;\n float direction = float(sign(a_direction));\n mat4 offsetMatrix = u_offsetScaleMatrix * u_offsetRotateMatrix;\n vec2 offset;\n vec4 projPos = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n bool round = nearlyEquals(mod(a_direction, 2.0), 0.0);\n\n v_round = 0.0;\n v_halfWidth = u_lineWidth / 2.0;\n v_roundVertex = projPos.xy;\n\n if (nearlyEquals(mod(a_direction, 3.0), 0.0) || nearlyEquals(mod(a_direction, 17.0), 0.0)) {\n alongNormal(offset, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 5.0), 0.0) || nearlyEquals(mod(a_direction, 13.0), 0.0)) {\n alongNormal(offset, a_lastPos, -1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 23.0), 0.0)) {\n miterUp(offset, v_round, round, direction);\n } else if (nearlyEquals(mod(a_direction, 19.0), 0.0)) {\n degenerate = miterDown(offset, projPos, offsetMatrix, direction);\n } else if (nearlyEquals(mod(a_direction, 7.0), 0.0)) {\n squareCap(offset, v_round, round, a_nextPos, 1.0, direction);\n } else if (nearlyEquals(mod(a_direction, 11.0), 0.0)) {\n squareCap(offset, v_round, round, a_lastPos, -1.0, direction);\n }\n if (!degenerate) {\n vec4 offsets = offsetMatrix * vec4(offset, 0.0, 0.0);\n gl_Position = projPos + offsets;\n } else {\n gl_Position = vec4(offset, 0.0, 1.0);\n }\n}\n\n\n":"varying float a;varying vec2 aVertex;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;aVertex=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}");var _ol_render_webgl_linestringreplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"h");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"i");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"j");this.u_lineWidth=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_lineWidth":"k");this.u_miterLimit=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_miterLimit":"l");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"m");this.u_color=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_color":"n");this.u_size=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_size":"o");this.u_pixelRatio=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_pixelRatio":"p");this.a_lastPos=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_lastPos":"d");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"e");this.a_nextPos=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_nextPos":"f");this.a_direction=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_direction":"g")};var _ol_render_webgl_LineStringReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:undefined,miterLimit:undefined,changed:false}};_ol_.inherits(_ol_render_webgl_LineStringReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_LineStringReplay_.prototype.drawCoordinates_=function(e,t,i,r){var n,o;var _=this.vertices.length;var a=this.indices.length;var s=this.state_.lineJoin==="bevel"?0:this.state_.lineJoin==="miter"?1:2;var l=this.state_.lineCap==="butt"?0:this.state_.lineCap==="square"?1:2;var h=_ol_geom_flat_topology_.lineStringIsClosed(e,t,i,r);var u,c,f;var d=a;var p=1;var v,g,y;for(n=t,o=i;n<o;n+=r){f=_/7;v=g;g=y||[e[n],e[n+1]];if(n===t){y=[e[n+r],e[n+r+1]];if(i-t===r*2&&_ol_array_.equals(g,y)){break}if(h){v=[e[i-r*2],e[i-r*2+1]];u=y}else{if(l){_=this.addVertices_([0,0],g,y,p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE_CAP*l,_);_=this.addVertices_([0,0],g,y,-p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE_CAP*l,_);this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=f+1;this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f+2}_=this.addVertices_([0,0],g,y,p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE*(l||1),_);_=this.addVertices_([0,0],g,y,-p*_ol_render_webgl_LineStringReplay_.Instruction_.BEGIN_LINE*(l||1),_);d=_/7-1;continue}}else if(n===i-r){if(h){y=u;break}else{v=v||[0,0];_=this.addVertices_(v,g,[0,0],p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE*(l||1),_);_=this.addVertices_(v,g,[0,0],-p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE*(l||1),_);this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=d;this.indices[a++]=f+1;this.indices[a++]=f;if(l){_=this.addVertices_(v,g,[0,0],p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE_CAP*l,_);_=this.addVertices_(v,g,[0,0],-p*_ol_render_webgl_LineStringReplay_.Instruction_.END_LINE_CAP*l,_);this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=f+1;this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f+2}break}}else{y=[e[n+r],e[n+r+1]]}c=_ol_render_webgl_.triangleIsCounterClockwise(v[0],v[1],g[0],g[1],y[0],y[1])?-1:1;_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_FIRST*(s||1),_);_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_SECOND*(s||1),_);_=this.addVertices_(v,g,y,-c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_BOTTOM*(s||1),_);if(n>t){this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=f+2;this.indices[a++]=f;this.indices[a++]=p*c>0?d:d-1}this.indices[a++]=f;this.indices[a++]=f+2;this.indices[a++]=f+1;d=f+2;p=c;if(s){_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_TOP*s,_);this.indices[a++]=f+1;this.indices[a++]=f+3;this.indices[a++]=f}}if(h){f=f||_/7;c=_ol_geom_flat_orient_.linearRingIsClockwise([v[0],v[1],g[0],g[1],y[0],y[1]],0,6,2)?1:-1;_=this.addVertices_(v,g,y,c*_ol_render_webgl_LineStringReplay_.Instruction_.BEVEL_FIRST*(s||1),_);_=this.addVertices_(v,g,y,-c*_ol_render_webgl_LineStringReplay_.Instruction_.MITER_BOTTOM*(s||1),_);this.indices[a++]=f;this.indices[a++]=d-1;this.indices[a++]=d;this.indices[a++]=f+1;this.indices[a++]=f;this.indices[a++]=p*c>0?d:d-1}};_ol_render_webgl_LineStringReplay_.prototype.addVertices_=function(e,t,i,r,n){this.vertices[n++]=e[0];this.vertices[n++]=e[1];this.vertices[n++]=t[0];this.vertices[n++]=t[1];this.vertices[n++]=i[0];this.vertices[n++]=i[1];this.vertices[n++]=r;return n};_ol_render_webgl_LineStringReplay_.prototype.isValid_=function(e,t,i,r){var n=i-t;if(n<r*2){return false}else if(n===r*2){var o=[e[t],e[t+1]];var _=[e[t+r],e[t+r+1]];return!_ol_array_.equals(o,_)}return true};_ol_render_webgl_LineStringReplay_.prototype.drawLineString=function(e,t){var i=e.getFlatCoordinates();var r=e.getStride();if(this.isValid_(i,0,i.length,r)){i=_ol_geom_flat_transform_.translate(i,0,i.length,r,-this.origin[0],-this.origin[1]);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);this.drawCoordinates_(i,0,i.length,r)}};_ol_render_webgl_LineStringReplay_.prototype.drawMultiLineString=function(e,t){var i=this.indices.length;var r=e.getEnds();r.unshift(0);var n=e.getFlatCoordinates();var o=e.getStride();var _,a;if(r.length>1){for(_=1,a=r.length;_<a;++_){if(this.isValid_(n,r[_-1],r[_],o)){var s=_ol_geom_flat_transform_.translate(n,r[_-1],r[_],o,-this.origin[0],-this.origin[1]);this.drawCoordinates_(s,0,s.length,o)}}}if(this.indices.length>i){this.startIndices.push(i);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(i);this.state_.changed=false}}};_ol_render_webgl_LineStringReplay_.prototype.drawPolygonCoordinates=function(e,t,i){if(!_ol_geom_flat_topology_.lineStringIsClosed(e,0,e.length,i)){e.push(e[0]);e.push(e[1])}this.drawCoordinates_(e,0,e.length,i);if(t.length){var r,n;for(r=0,n=t.length;r<n;++r){if(!_ol_geom_flat_topology_.lineStringIsClosed(t[r],0,t[r].length,i)){t[r].push(t[r][0]);t[r].push(t[r][1])}this.drawCoordinates_(t[r],0,t[r].length,i)}}};_ol_render_webgl_LineStringReplay_.prototype.setPolygonStyle=function(e,t){var i=t===undefined?this.indices.length:t;this.startIndices.push(i);this.startIndicesFeature.push(e);if(this.state_.changed){this.styleIndices_.push(i);this.state_.changed=false}};_ol_render_webgl_LineStringReplay_.prototype.getCurrentIndex=function(){return this.indices.length};_ol_render_webgl_LineStringReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_LineStringReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;return function(){e.deleteBuffer(t);e.deleteBuffer(i)}};_ol_render_webgl_LineStringReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_linestringreplay_defaultshader_.fragment;o=_ol_render_webgl_linestringreplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_linestringreplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_lastPos);e.vertexAttribPointer(a.a_lastPos,2,_ol_webgl_.FLOAT,false,28,0);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,28,8);e.enableVertexAttribArray(a.a_nextPos);e.vertexAttribPointer(a.a_nextPos,2,_ol_webgl_.FLOAT,false,28,16);e.enableVertexAttribArray(a.a_direction);e.vertexAttribPointer(a.a_direction,1,_ol_webgl_.FLOAT,false,28,24);e.uniform2fv(a.u_size,i);e.uniform1f(a.u_pixelRatio,r);return a};_ol_render_webgl_LineStringReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_lastPos);e.disableVertexAttribArray(t.a_position);e.disableVertexAttribArray(t.a_nextPos);e.disableVertexAttribArray(t.a_direction)};_ol_render_webgl_LineStringReplay_.prototype.drawReplay=function(e,t,i,r){var n=e.getParameter(e.DEPTH_FUNC);var o=e.getParameter(e.DEPTH_WRITEMASK);if(!r){e.enable(e.DEPTH_TEST);e.depthMask(true);e.depthFunc(e.NOTEQUAL)}if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var _,a,s,l;s=this.startIndices[this.startIndices.length-1];for(_=this.styleIndices_.length-1;_>=0;--_){a=this.styleIndices_[_];l=this.styles_[_];this.setStrokeStyle_(e,l[0],l[1],l[2]);this.drawElements(e,t,a,s);e.clear(e.DEPTH_BUFFER_BIT);s=a}}if(!r){e.disable(e.DEPTH_TEST);e.clear(e.DEPTH_BUFFER_BIT);e.depthMask(o);e.depthFunc(n)}};_ol_render_webgl_LineStringReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setStrokeStyle_(e,_[0],_[1],_[2]);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}n=o=a}};_ol_render_webgl_LineStringReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setStrokeStyle_(e,s[0],s[1],s[2]);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_LineStringReplay_.prototype.setStrokeStyle_=function(e,t,i,r){e.uniform4fv(this.defaultLocations_.u_color,t);e.uniform1f(this.defaultLocations_.u_lineWidth,i);e.uniform1f(this.defaultLocations_.u_miterLimit,r)};_ol_render_webgl_LineStringReplay_.prototype.setFillStrokeStyle=function(e,t){var i=t.getLineCap();this.state_.lineCap=i!==undefined?i:_ol_render_webgl_.defaultLineCap;var r=t.getLineDash();this.state_.lineDash=r?r:_ol_render_webgl_.defaultLineDash;var n=t.getLineDashOffset();this.state_.lineDashOffset=n?n:_ol_render_webgl_.defaultLineDashOffset;var o=t.getLineJoin();this.state_.lineJoin=o!==undefined?o:_ol_render_webgl_.defaultLineJoin;var _=t.getColor();if(!(_ instanceof CanvasGradient)&&!(_ instanceof CanvasPattern)){_=_ol_color_.asArray(_).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultStrokeStyle}else{_=_ol_render_webgl_.defaultStrokeStyle}var a=t.getWidth();a=a!==undefined?a:_ol_render_webgl_.defaultLineWidth;var s=t.getMiterLimit();s=s!==undefined?s:_ol_render_webgl_.defaultMiterLimit;if(!this.state_.strokeColor||!_ol_array_.equals(this.state_.strokeColor,_)||this.state_.lineWidth!==a||this.state_.miterLimit!==s){this.state_.changed=true;this.state_.strokeColor=_;this.state_.lineWidth=a;this.state_.miterLimit=s;this.styles_.push([_,a,s])}};_ol_render_webgl_LineStringReplay_.Instruction_={ROUND:2,BEGIN_LINE:3,END_LINE:5,BEGIN_LINE_CAP:7,END_LINE_CAP:11,BEVEL_FIRST:13,BEVEL_SECOND:17,MITER_BOTTOM:19,MITER_TOP:23};var _ol_render_webgl_polygonreplay_defaultshader_={};_ol_render_webgl_polygonreplay_defaultshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\n\n\n\nuniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main(void) {\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n":"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}");_ol_render_webgl_polygonreplay_defaultshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"\n\nattribute vec2 a_position;\n\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0);\n}\n\n\n":"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}");var _ol_render_webgl_polygonreplay_defaultshader_Locations_=function(e,t){this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"b");this.u_offsetScaleMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetScaleMatrix":"c");this.u_offsetRotateMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_offsetRotateMatrix":"d");this.u_color=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_color":"e");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"f");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"a")};var _ol_style_Stroke_=function(e){var t=e||{};this.color_=t.color!==undefined?t.color:null;this.lineCap_=t.lineCap;this.lineDash_=t.lineDash!==undefined?t.lineDash:null;this.lineDashOffset_=t.lineDashOffset;this.lineJoin_=t.lineJoin;this.miterLimit_=t.miterLimit;this.width_=t.width;this.checksum_=undefined};_ol_style_Stroke_.prototype.clone=function(){var e=this.getColor();return new _ol_style_Stroke_({color:e&&e.slice?e.slice():e||undefined,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():undefined,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})};_ol_style_Stroke_.prototype.getColor=function(){return this.color_};_ol_style_Stroke_.prototype.getLineCap=function(){return this.lineCap_};_ol_style_Stroke_.prototype.getLineDash=function(){return this.lineDash_};_ol_style_Stroke_.prototype.getLineDashOffset=function(){return this.lineDashOffset_};_ol_style_Stroke_.prototype.getLineJoin=function(){return this.lineJoin_};_ol_style_Stroke_.prototype.getMiterLimit=function(){return this.miterLimit_};_ol_style_Stroke_.prototype.getWidth=function(){return this.width_};_ol_style_Stroke_.prototype.setColor=function(e){this.color_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineCap=function(e){this.lineCap_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineDash=function(e){this.lineDash_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineDashOffset=function(e){this.lineDashOffset_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setLineJoin=function(e){this.lineJoin_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setMiterLimit=function(e){this.miterLimit_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.setWidth=function(e){this.width_=e;this.checksum_=undefined};_ol_style_Stroke_.prototype.getChecksum=function(){if(this.checksum_===undefined){this.checksum_="s";if(this.color_){if(typeof this.color_==="string"){this.checksum_+=this.color_}else{this.checksum_+=_ol_.getUid(this.color_).toString()}}else{this.checksum_+="-"}this.checksum_+=","+(this.lineCap_!==undefined?this.lineCap_.toString():"-")+","+(this.lineDash_?this.lineDash_.toString():"-")+","+(this.lineDashOffset_!==undefined?this.lineDashOffset_:"-")+","+(this.lineJoin_!==undefined?this.lineJoin_:"-")+","+(this.miterLimit_!==undefined?this.miterLimit_.toString():"-")+","+(this.width_!==undefined?this.width_.toString():"-")}return this.checksum_};var _ol_structs_LinkedList_=function(e){this.first_=undefined;this.last_=undefined;this.head_=undefined;this.circular_=e===undefined?true:e;this.length_=0};_ol_structs_LinkedList_.prototype.insertItem=function(e){var t={prev:undefined,next:undefined,data:e};var i=this.head_;if(!i){this.first_=t;this.last_=t;if(this.circular_){t.next=t;t.prev=t}}else{var r=i.next;t.prev=i;t.next=r;i.next=t;if(r){r.prev=t}if(i===this.last_){this.last_=t}}this.head_=t;this.length_++};_ol_structs_LinkedList_.prototype.removeItem=function(){var e=this.head_;if(e){var t=e.next;var i=e.prev;if(t){t.prev=i}if(i){i.next=t}this.head_=t||i;if(this.first_===this.last_){this.head_=undefined;this.first_=undefined;this.last_=undefined}else if(this.first_===e){this.first_=this.head_}else if(this.last_===e){this.last_=i?this.head_.prev:this.head_}this.length_--}};_ol_structs_LinkedList_.prototype.firstItem=function(){this.head_=this.first_;if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.lastItem=function(){this.head_=this.last_;if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.nextItem=function(){if(this.head_&&this.head_.next){this.head_=this.head_.next;return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.getNextItem=function(){if(this.head_&&this.head_.next){return this.head_.next.data}return undefined};_ol_structs_LinkedList_.prototype.prevItem=function(){if(this.head_&&this.head_.prev){this.head_=this.head_.prev;return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.getPrevItem=function(){if(this.head_&&this.head_.prev){return this.head_.prev.data}return undefined};_ol_structs_LinkedList_.prototype.getCurrItem=function(){if(this.head_){return this.head_.data}return undefined};_ol_structs_LinkedList_.prototype.setFirstItem=function(){if(this.circular_&&this.head_){this.first_=this.head_;this.last_=this.head_.prev}};_ol_structs_LinkedList_.prototype.concat=function(e){if(e.head_){if(this.head_){var t=this.head_.next;this.head_.next=e.first_;e.first_.prev=this.head_;t.prev=e.last_;e.last_.next=t;this.length_+=e.length_}else{this.head_=e.head_;this.first_=e.first_;this.last_=e.last_;this.length_=e.length_}e.head_=undefined;e.first_=undefined;e.last_=undefined;e.length_=0}};_ol_structs_LinkedList_.prototype.getLength=function(){return this.length_};var _ol_structs_RBush_=function(e){this.rbush_=rbush_1(e);this.items_={}};_ol_structs_RBush_.prototype.insert=function(e,t){var i={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};this.rbush_.insert(i);this.items_[_ol_.getUid(t)]=i};_ol_structs_RBush_.prototype.load=function(e,t){var i=new Array(t.length);for(var r=0,n=t.length;r<n;r++){var o=e[r];var _=t[r];var a={minX:o[0],minY:o[1],maxX:o[2],maxY:o[3],value:_};i[r]=a;this.items_[_ol_.getUid(_)]=a}this.rbush_.load(i)};_ol_structs_RBush_.prototype.remove=function(e){var t=_ol_.getUid(e);var i=this.items_[t];delete this.items_[t];return this.rbush_.remove(i)!==null};_ol_structs_RBush_.prototype.update=function(e,t){var i=this.items_[_ol_.getUid(t)];var r=[i.minX,i.minY,i.maxX,i.maxY];if(!_ol_extent_.equals(r,e)){this.remove(t);this.insert(e,t)}};_ol_structs_RBush_.prototype.getAll=function(){var e=this.rbush_.all();return e.map((function(e){return e.value}))};_ol_structs_RBush_.prototype.getInExtent=function(e){var t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};var i=this.rbush_.search(t);return i.map((function(e){return e.value}))};_ol_structs_RBush_.prototype.forEach=function(e,t){return this.forEach_(this.getAll(),e,t)};_ol_structs_RBush_.prototype.forEachInExtent=function(e,t,i){return this.forEach_(this.getInExtent(e),t,i)};_ol_structs_RBush_.prototype.forEach_=function(e,t,i){var r;for(var n=0,o=e.length;n<o;n++){r=t.call(i,e[n]);if(r){return r}}return r};_ol_structs_RBush_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.items_)};_ol_structs_RBush_.prototype.clear=function(){this.rbush_.clear();this.items_={}};_ol_structs_RBush_.prototype.getExtent=function(e){var t=this.rbush_.data;return _ol_extent_.createOrUpdate(t.minX,t.minY,t.maxX,t.maxY,e)};_ol_structs_RBush_.prototype.concat=function(e){this.rbush_.load(e.rbush_.all());for(var t in e.items_){this.items_[t|0]=e.items_[t|0]}};var _ol_render_webgl_PolygonReplay_=function(e,t){_ol_render_webgl_Replay_.call(this,e,t);this.lineStringReplay=new _ol_render_webgl_LineStringReplay_(e,t);this.defaultLocations_=null;this.styles_=[];this.styleIndices_=[];this.state_={fillColor:null,changed:false}};_ol_.inherits(_ol_render_webgl_PolygonReplay_,_ol_render_webgl_Replay_);_ol_render_webgl_PolygonReplay_.prototype.drawCoordinates_=function(e,t,i){var r=new _ol_structs_LinkedList_;var n=new _ol_structs_RBush_;this.processFlatCoordinates_(e,i,r,n,true);var o=this.getMaxCoords_(r);if(t.length){var _,a;var s=[];for(_=0,a=t.length;_<a;++_){var l={list:new _ol_structs_LinkedList_,maxCoords:undefined,rtree:new _ol_structs_RBush_};s.push(l);this.processFlatCoordinates_(t[_],i,l.list,l.rtree,false);this.classifyPoints_(l.list,l.rtree,true);l.maxCoords=this.getMaxCoords_(l.list)}s.sort((function(e,t){return t.maxCoords[0]===e.maxCoords[0]?e.maxCoords[1]-t.maxCoords[1]:t.maxCoords[0]-e.maxCoords[0]}));for(_=0;_<s.length;++_){var h=s[_].list;var u=h.firstItem();var c=u;var f;do{if(this.getIntersections_(c,n).length){f=true;break}c=h.nextItem()}while(u!==c);if(!f){if(this.bridgeHole_(h,s[_].maxCoords[0],r,o[0],n)){n.concat(s[_].rtree);this.classifyPoints_(r,n,false)}}}}else{this.classifyPoints_(r,n,false)}this.triangulate_(r,n)};_ol_render_webgl_PolygonReplay_.prototype.processFlatCoordinates_=function(e,t,i,r,n){var o=_ol_geom_flat_orient_.linearRingIsClockwise(e,0,e.length,t);var _,a;var s=this.vertices.length/2;var l;var h;var u;var c=[];var f=[];if(n===o){l=this.createPoint_(e[0],e[1],s++);h=l;for(_=t,a=e.length;_<a;_+=t){u=this.createPoint_(e[_],e[_+1],s++);f.push(this.insertItem_(h,u,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)]);h=u}f.push(this.insertItem_(u,l,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)])}else{var d=e.length-t;l=this.createPoint_(e[d],e[d+1],s++);h=l;for(_=d-t,a=0;_>=a;_-=t){u=this.createPoint_(e[_],e[_+1],s++);f.push(this.insertItem_(h,u,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)]);h=u}f.push(this.insertItem_(u,l,i));c.push([Math.min(h.x,u.x),Math.min(h.y,u.y),Math.max(h.x,u.x),Math.max(h.y,u.y)])}r.load(c,f)};_ol_render_webgl_PolygonReplay_.prototype.getMaxCoords_=function(e){var t=e.firstItem();var i=t;var r=[i.p0.x,i.p0.y];do{i=e.nextItem();if(i.p0.x>r[0]){r=[i.p0.x,i.p0.y]}}while(i!==t);return r};_ol_render_webgl_PolygonReplay_.prototype.classifyPoints_=function(e,t,i){var r=e.firstItem();var n=r;var o=e.nextItem();var _=false;do{var a=i?_ol_render_webgl_.triangleIsCounterClockwise(o.p1.x,o.p1.y,n.p1.x,n.p1.y,n.p0.x,n.p0.y):_ol_render_webgl_.triangleIsCounterClockwise(n.p0.x,n.p0.y,n.p1.x,n.p1.y,o.p1.x,o.p1.y);if(a===undefined){this.removeItem_(n,o,e,t);_=true;if(o===r){r=e.getNextItem()}o=n;e.prevItem()}else if(n.p1.reflex!==a){n.p1.reflex=a;_=true}n=o;o=e.nextItem()}while(n!==r);return _};_ol_render_webgl_PolygonReplay_.prototype.bridgeHole_=function(e,t,i,r,n){var o=e.firstItem();while(o.p1.x!==t){o=e.nextItem()}var _=o.p1;var a={x:r,y:_.y,i:-1};var s=Infinity;var l,h,u;var c;var f=this.getIntersections_({p0:_,p1:a},n,true);for(l=0,h=f.length;l<h;++l){var d=f[l];var p=this.calculateIntersection_(_,a,d.p0,d.p1,true);var v=Math.abs(_.x-p[0]);if(v<s&&_ol_render_webgl_.triangleIsCounterClockwise(_.x,_.y,d.p0.x,d.p0.y,d.p1.x,d.p1.y)!==undefined){s=v;c={x:p[0],y:p[1],i:-1};o=d}}if(s===Infinity){return false}u=o.p1;if(s>0){var g=this.getPointsInTriangle_(_,c,o.p1,n);if(g.length){var y=Infinity;for(l=0,h=g.length;l<h;++l){var m=g[l];var E=Math.atan2(_.y-m.y,a.x-m.x);if(E<y||E===y&&m.x<u.x){y=E;u=m}}}}o=i.firstItem();while(o.p1.x!==u.x||o.p1.y!==u.y){o=i.nextItem()}var x={x:_.x,y:_.y,i:_.i,reflex:undefined};var T={x:o.p1.x,y:o.p1.y,i:o.p1.i,reflex:undefined};e.getNextItem().p0=x;this.insertItem_(_,o.p1,e,n);this.insertItem_(T,x,e,n);o.p1=T;e.setFirstItem();i.concat(e);return true};_ol_render_webgl_PolygonReplay_.prototype.triangulate_=function(e,t){var i=false;var r=this.isSimple_(e,t);while(e.getLength()>3){if(r){if(!this.clipEars_(e,t,r,i)){if(!this.classifyPoints_(e,t,i)){if(!this.resolveSelfIntersections_(e,t,true)){break}}}}else{if(!this.clipEars_(e,t,r,i)){if(!this.classifyPoints_(e,t,i)){if(!this.resolveSelfIntersections_(e,t)){r=this.isSimple_(e,t);if(!r){this.splitPolygon_(e,t);break}else{i=!this.isClockwise_(e);this.classifyPoints_(e,t,i)}}}}}}if(e.getLength()===3){var n=this.indices.length;this.indices[n++]=e.getPrevItem().p0.i;this.indices[n++]=e.getCurrItem().p0.i;this.indices[n++]=e.getNextItem().p0.i}};_ol_render_webgl_PolygonReplay_.prototype.clipEars_=function(e,t,i,r){var n=this.indices.length;var o=e.firstItem();var _=e.getPrevItem();var a=o;var s=e.nextItem();var l=e.getNextItem();var h,u,c;var f=false;do{h=a.p0;u=a.p1;c=s.p1;if(u.reflex===false){var d;if(i){d=this.getPointsInTriangle_(h,u,c,t,true).length===0}else{d=r?this.diagonalIsInside_(l.p1,c,u,h,_.p0):this.diagonalIsInside_(_.p0,h,u,c,l.p1)}if((i||this.getIntersections_({p0:h,p1:c},t).length===0)&&d){if(i||h.reflex===false||c.reflex===false||_ol_geom_flat_orient_.linearRingIsClockwise([_.p0.x,_.p0.y,h.x,h.y,u.x,u.y,c.x,c.y,l.p1.x,l.p1.y],0,10,2)===!r){this.indices[n++]=h.i;this.indices[n++]=u.i;this.indices[n++]=c.i;this.removeItem_(a,s,e,t);if(s===o){o=l}f=true}}}_=e.getPrevItem();a=e.getCurrItem();s=e.nextItem();l=e.getNextItem()}while(a!==o&&e.getLength()>3);return f};_ol_render_webgl_PolygonReplay_.prototype.resolveSelfIntersections_=function(e,t,i){var r=e.firstItem();e.nextItem();var n=r;var o=e.nextItem();var _=false;do{var a=this.calculateIntersection_(n.p0,n.p1,o.p0,o.p1,i);if(a){var s=false;var l=this.vertices.length;var h=this.indices.length;var u=l/2;var c=e.prevItem();e.removeItem();t.remove(c);s=c===r;var f;if(i){if(a[0]===n.p0.x&&a[1]===n.p0.y){e.prevItem();f=n.p0;o.p0=f;t.remove(n);s=s||n===r}else{f=o.p1;n.p1=f;t.remove(o);s=s||o===r}e.removeItem()}else{f=this.createPoint_(a[0],a[1],u);n.p1=f;o.p0=f;t.update([Math.min(n.p0.x,n.p1.x),Math.min(n.p0.y,n.p1.y),Math.max(n.p0.x,n.p1.x),Math.max(n.p0.y,n.p1.y)],n);t.update([Math.min(o.p0.x,o.p1.x),Math.min(o.p0.y,o.p1.y),Math.max(o.p0.x,o.p1.x),Math.max(o.p0.y,o.p1.y)],o)}this.indices[h++]=c.p0.i;this.indices[h++]=c.p1.i;this.indices[h++]=f.i;_=true;if(s){break}}n=e.getPrevItem();o=e.nextItem()}while(n!==r);return _};_ol_render_webgl_PolygonReplay_.prototype.isSimple_=function(e,t){var i=e.firstItem();var r=i;do{if(this.getIntersections_(r,t).length){return false}r=e.nextItem()}while(r!==i);return true};_ol_render_webgl_PolygonReplay_.prototype.isClockwise_=function(e){var t=e.getLength()*2;var i=new Array(t);var r=e.firstItem();var n=r;var o=0;do{i[o++]=n.p0.x;i[o++]=n.p0.y;n=e.nextItem()}while(n!==r);return _ol_geom_flat_orient_.linearRingIsClockwise(i,0,t,2)};_ol_render_webgl_PolygonReplay_.prototype.splitPolygon_=function(e,t){var i=e.firstItem();var r=i;do{var n=this.getIntersections_(r,t);if(n.length){var o=n[0];var _=this.vertices.length/2;var a=this.calculateIntersection_(r.p0,r.p1,o.p0,o.p1);var s=this.createPoint_(a[0],a[1],_);var l=new _ol_structs_LinkedList_;var h=new _ol_structs_RBush_;this.insertItem_(s,r.p1,l,h);r.p1=s;t.update([Math.min(r.p0.x,s.x),Math.min(r.p0.y,s.y),Math.max(r.p0.x,s.x),Math.max(r.p0.y,s.y)],r);var u=e.nextItem();while(u!==o){this.insertItem_(u.p0,u.p1,l,h);t.remove(u);e.removeItem();u=e.getCurrItem()}this.insertItem_(o.p0,s,l,h);o.p0=s;t.update([Math.min(o.p1.x,s.x),Math.min(o.p1.y,s.y),Math.max(o.p1.x,s.x),Math.max(o.p1.y,s.y)],o);this.classifyPoints_(e,t,false);this.triangulate_(e,t);this.classifyPoints_(l,h,false);this.triangulate_(l,h);break}r=e.nextItem()}while(r!==i)};_ol_render_webgl_PolygonReplay_.prototype.createPoint_=function(e,t,i){var r=this.vertices.length;this.vertices[r++]=e;this.vertices[r++]=t;var n={x:e,y:t,i:i,reflex:undefined};return n};_ol_render_webgl_PolygonReplay_.prototype.insertItem_=function(e,t,i,r){var n={p0:e,p1:t};i.insertItem(n);if(r){r.insert([Math.min(e.x,t.x),Math.min(e.y,t.y),Math.max(e.x,t.x),Math.max(e.y,t.y)],n)}return n};_ol_render_webgl_PolygonReplay_.prototype.removeItem_=function(e,t,i,r){if(i.getCurrItem()===t){i.removeItem();e.p1=t.p1;r.remove(t);r.update([Math.min(e.p0.x,e.p1.x),Math.min(e.p0.y,e.p1.y),Math.max(e.p0.x,e.p1.x),Math.max(e.p0.y,e.p1.y)],e)}};_ol_render_webgl_PolygonReplay_.prototype.getPointsInTriangle_=function(e,t,i,r,n){var o,_,a,s;var l=[];var h=r.getInExtent([Math.min(e.x,t.x,i.x),Math.min(e.y,t.y,i.y),Math.max(e.x,t.x,i.x),Math.max(e.y,t.y,i.y)]);for(o=0,_=h.length;o<_;++o){for(a in h[o]){s=h[o][a];if(typeof s==="object"&&(!n||s.reflex)){if((s.x!==e.x||s.y!==e.y)&&(s.x!==t.x||s.y!==t.y)&&(s.x!==i.x||s.y!==i.y)&&l.indexOf(s)===-1&&_ol_geom_flat_contains_.linearRingContainsXY([e.x,e.y,t.x,t.y,i.x,i.y],0,6,2,s.x,s.y)){l.push(s)}}}}return l};_ol_render_webgl_PolygonReplay_.prototype.getIntersections_=function(e,t,i){var r=e.p0;var n=e.p1;var o=t.getInExtent([Math.min(r.x,n.x),Math.min(r.y,n.y),Math.max(r.x,n.x),Math.max(r.y,n.y)]);var _=[];var a,s;for(a=0,s=o.length;a<s;++a){var l=o[a];if(e!==l&&(i||l.p0!==n||l.p1!==r)&&this.calculateIntersection_(r,n,l.p0,l.p1,i)){_.push(l)}}return _};_ol_render_webgl_PolygonReplay_.prototype.calculateIntersection_=function(e,t,i,r,n){var o=(r.y-i.y)*(t.x-e.x)-(r.x-i.x)*(t.y-e.y);if(o!==0){var _=((r.x-i.x)*(e.y-i.y)-(r.y-i.y)*(e.x-i.x))/o;var a=((t.x-e.x)*(e.y-i.y)-(t.y-e.y)*(e.x-i.x))/o;if(!n&&_>_ol_render_webgl_.EPSILON&&_<1-_ol_render_webgl_.EPSILON&&a>_ol_render_webgl_.EPSILON&&a<1-_ol_render_webgl_.EPSILON||n&&_>=0&&_<=1&&a>=0&&a<=1){return[e.x+_*(t.x-e.x),e.y+_*(t.y-e.y)]}}return undefined};_ol_render_webgl_PolygonReplay_.prototype.diagonalIsInside_=function(e,t,i,r,n){if(t.reflex===undefined||r.reflex===undefined){return false}var o=(i.x-r.x)*(t.y-r.y)>(i.y-r.y)*(t.x-r.x);var _=(n.x-r.x)*(t.y-r.y)<(n.y-r.y)*(t.x-r.x);var a=(e.x-t.x)*(r.y-t.y)>(e.y-t.y)*(r.x-t.x);var s=(i.x-t.x)*(r.y-t.y)<(i.y-t.y)*(r.x-t.x);var l=r.reflex?_||o:_&&o;var h=t.reflex?s||a:s&&a;return l&&h};_ol_render_webgl_PolygonReplay_.prototype.drawMultiPolygon=function(e,t){var i=e.getEndss();var r=e.getStride();var n=this.indices.length;var o=this.lineStringReplay.getCurrentIndex();var _=e.getFlatCoordinates();var a,s,l,h;var u=0;for(a=0,s=i.length;a<s;++a){var c=i[a];if(c.length>0){var f=_ol_geom_flat_transform_.translate(_,u,c[0],r,-this.origin[0],-this.origin[1]);if(f.length){var d=[];var p;for(l=1,h=c.length;l<h;++l){if(c[l]!==c[l-1]){p=_ol_geom_flat_transform_.translate(_,c[l-1],c[l],r,-this.origin[0],-this.origin[1]);d.push(p)}}this.lineStringReplay.drawPolygonCoordinates(f,d,r);this.drawCoordinates_(f,d,r)}}u=c[c.length-1]}if(this.indices.length>n){this.startIndices.push(n);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(n);this.state_.changed=false}}if(this.lineStringReplay.getCurrentIndex()>o){this.lineStringReplay.setPolygonStyle(t,o)}};_ol_render_webgl_PolygonReplay_.prototype.drawPolygon=function(e,t){var i=e.getEnds();var r=e.getStride();if(i.length>0){var n=e.getFlatCoordinates().map(Number);var o=_ol_geom_flat_transform_.translate(n,0,i[0],r,-this.origin[0],-this.origin[1]);if(o.length){var _=[];var a,s,l;for(a=1,s=i.length;a<s;++a){if(i[a]!==i[a-1]){l=_ol_geom_flat_transform_.translate(n,i[a-1],i[a],r,-this.origin[0],-this.origin[1]);_.push(l)}}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);if(this.state_.changed){this.styleIndices_.push(this.indices.length);this.state_.changed=false}this.lineStringReplay.setPolygonStyle(t);this.lineStringReplay.drawPolygonCoordinates(o,_,r);this.drawCoordinates_(o,_,r)}}};_ol_render_webgl_PolygonReplay_.prototype.finish=function(e){this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);this.startIndices.push(this.indices.length);this.lineStringReplay.finish(e);if(this.styleIndices_.length===0&&this.styles_.length>0){this.styles_=[]}this.vertices=null;this.indices=null};_ol_render_webgl_PolygonReplay_.prototype.getDeleteResourcesFunction=function(e){var t=this.verticesBuffer;var i=this.indicesBuffer;var r=this.lineStringReplay.getDeleteResourcesFunction(e);return function(){e.deleteBuffer(t);e.deleteBuffer(i);r()}};_ol_render_webgl_PolygonReplay_.prototype.setUpProgram=function(e,t,i,r){var n,o;n=_ol_render_webgl_polygonreplay_defaultshader_.fragment;o=_ol_render_webgl_polygonreplay_defaultshader_.vertex;var _=t.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_render_webgl_polygonreplay_defaultshader_Locations_(e,_);this.defaultLocations_=a}else{a=this.defaultLocations_}t.useProgram(_);e.enableVertexAttribArray(a.a_position);e.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,8,0);return a};_ol_render_webgl_PolygonReplay_.prototype.shutDownProgram=function(e,t){e.disableVertexAttribArray(t.a_position)};_ol_render_webgl_PolygonReplay_.prototype.drawReplay=function(e,t,i,r){var n=e.getParameter(e.DEPTH_FUNC);var o=e.getParameter(e.DEPTH_WRITEMASK);if(!r){e.enable(e.DEPTH_TEST);e.depthMask(true);e.depthFunc(e.NOTEQUAL)}if(!_ol_obj_.isEmpty(i)){this.drawReplaySkipping_(e,t,i)}else{var _,a,s,l;s=this.startIndices[this.startIndices.length-1];for(_=this.styleIndices_.length-1;_>=0;--_){a=this.styleIndices_[_];l=this.styles_[_];this.setFillStyle_(e,l);this.drawElements(e,t,a,s);s=a}}if(!r){e.disable(e.DEPTH_TEST);e.clear(e.DEPTH_BUFFER_BIT);e.depthMask(o);e.depthFunc(n)}};_ol_render_webgl_PolygonReplay_.prototype.drawHitDetectionReplayOneByOne=function(e,t,i,r,n){var o,_,a,s,l,h,u,c;c=this.startIndices.length-2;a=this.startIndices[c+1];for(o=this.styleIndices_.length-1;o>=0;--o){s=this.styles_[o];this.setFillStyle_(e,s);l=this.styleIndices_[o];while(c>=0&&this.startIndices[c]>=l){_=this.startIndices[c];h=this.startIndicesFeature[c];u=_ol_.getUid(h).toString();if(i[u]===undefined&&h.getGeometry()&&(n===undefined||_ol_extent_.intersects(n,h.getGeometry().getExtent()))){e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);this.drawElements(e,t,_,a);var f=r(h);if(f){return f}}c--;a=_}}return undefined};_ol_render_webgl_PolygonReplay_.prototype.drawReplaySkipping_=function(e,t,i){var r,n,o,_,a,s,l,h,u;h=this.startIndices.length-2;o=n=this.startIndices[h+1];for(r=this.styleIndices_.length-1;r>=0;--r){_=this.styles_[r];this.setFillStyle_(e,_);a=this.styleIndices_[r];while(h>=0&&this.startIndices[h]>=a){u=this.startIndices[h];s=this.startIndicesFeature[h];l=_ol_.getUid(s).toString();if(i[l]){if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}o=u}h--;n=u}if(n!==o){this.drawElements(e,t,n,o);e.clear(e.DEPTH_BUFFER_BIT)}n=o=a}};_ol_render_webgl_PolygonReplay_.prototype.setFillStyle_=function(e,t){e.uniform4fv(this.defaultLocations_.u_color,t)};_ol_render_webgl_PolygonReplay_.prototype.setFillStrokeStyle=function(e,t){var i=e?e.getColor():[0,0,0,0];if(!(i instanceof CanvasGradient)&&!(i instanceof CanvasPattern)){i=_ol_color_.asArray(i).map((function(e,t){return t!=3?e/255:e}))||_ol_render_webgl_.defaultFillStyle}else{i=_ol_render_webgl_.defaultFillStyle}if(!this.state_.fillColor||!_ol_array_.equals(i,this.state_.fillColor)){this.state_.fillColor=i;this.state_.changed=true;this.styles_.push(i)}if(t){this.lineStringReplay.setFillStrokeStyle(null,t)}else{var r=new _ol_style_Stroke_({color:[0,0,0,0],lineWidth:0});this.lineStringReplay.setFillStrokeStyle(null,r)}};var _ol_style_Atlas_=function(e,t){this.space_=t;this.emptyBlocks_=[{x:0,y:0,width:e,height:e}];this.entries_={};this.context_=_ol_dom_.createCanvasContext2D(e,e);this.canvas_=this.context_.canvas};_ol_style_Atlas_.prototype.get=function(e){return this.entries_[e]||null};_ol_style_Atlas_.prototype.add=function(e,t,i,r,n){var o,_,a;for(_=0,a=this.emptyBlocks_.length;_<a;++_){o=this.emptyBlocks_[_];if(o.width>=t+this.space_&&o.height>=i+this.space_){var s={offsetX:o.x+this.space_,offsetY:o.y+this.space_,image:this.canvas_};this.entries_[e]=s;r.call(n,this.context_,o.x+this.space_,o.y+this.space_);this.split_(_,o,t+this.space_,i+this.space_);return s}}return null};_ol_style_Atlas_.prototype.split_=function(e,t,i,r){var n=t.width-i;var o=t.height-r;var _;var a;if(n>o){_={x:t.x+i,y:t.y,width:t.width-i,height:t.height};a={x:t.x,y:t.y+r,width:i,height:t.height-r};this.updateBlocks_(e,_,a)}else{_={x:t.x+i,y:t.y,width:t.width-i,height:r};a={x:t.x,y:t.y+r,width:t.width,height:t.height-r};this.updateBlocks_(e,_,a)}};_ol_style_Atlas_.prototype.updateBlocks_=function(e,t,i){var r=[e,1];if(t.width>0&&t.height>0){r.push(t)}if(i.width>0&&i.height>0){r.push(i)}this.emptyBlocks_.splice.apply(this.emptyBlocks_,r)};var _ol_style_AtlasManager_=function(e){var t=e||{};this.currentSize_=t.initialSize!==undefined?t.initialSize:_ol_.INITIAL_ATLAS_SIZE;this.maxSize_=t.maxSize!==undefined?t.maxSize:_ol_.MAX_ATLAS_SIZE!=-1?_ol_.MAX_ATLAS_SIZE:_ol_.WEBGL_MAX_TEXTURE_SIZE!==undefined?_ol_.WEBGL_MAX_TEXTURE_SIZE:2048;this.space_=t.space!==undefined?t.space:1;this.atlases_=[new _ol_style_Atlas_(this.currentSize_,this.space_)];this.currentHitSize_=this.currentSize_;this.hitAtlases_=[new _ol_style_Atlas_(this.currentHitSize_,this.space_)]};_ol_style_AtlasManager_.prototype.getInfo=function(e){var t=this.getInfo_(this.atlases_,e);if(!t){return null}var i=this.getInfo_(this.hitAtlases_,e);return this.mergeInfos_(t,i)};_ol_style_AtlasManager_.prototype.getInfo_=function(e,t){var i,r,n,o;for(n=0,o=e.length;n<o;++n){i=e[n];r=i.get(t);if(r){return r}}return null};_ol_style_AtlasManager_.prototype.mergeInfos_=function(e,t){return{offsetX:e.offsetX,offsetY:e.offsetY,image:e.image,hitImage:t.image}};_ol_style_AtlasManager_.prototype.add=function(e,t,i,r,n,o){if(t+this.space_>this.maxSize_||i+this.space_>this.maxSize_){return null}var _=this.add_(false,e,t,i,r,o);if(!_){return null}var a=n!==undefined?n:_ol_.nullFunction;var s=this.add_(true,e,t,i,a,o);return this.mergeInfos_(_,s)};_ol_style_AtlasManager_.prototype.add_=function(e,t,i,r,n,o){var _=e?this.hitAtlases_:this.atlases_;var a,s,l,h;for(l=0,h=_.length;l<h;++l){a=_[l];s=a.add(t,i,r,n,o);if(s){return s}else if(!s&&l===h-1){var u;if(e){u=Math.min(this.currentHitSize_*2,this.maxSize_);this.currentHitSize_=u}else{u=Math.min(this.currentSize_*2,this.maxSize_);this.currentSize_=u}a=new _ol_style_Atlas_(u,this.space_);_.push(a);++h}}return null};var _ol_render_webgl_TextReplay_=function(e,t){_ol_render_webgl_TextureReplay_.call(this,e,t);this.images_=[];this.textures_=[];this.measureCanvas_=_ol_dom_.createCanvasContext2D(0,0).canvas;this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:0,miterLimit:undefined,fillColor:null,font:undefined,scale:undefined};this.text_="";this.textAlign_=undefined;this.textBaseline_=undefined;this.offsetX_=undefined;this.offsetY_=undefined;this.atlases_={};this.currAtlas_=undefined;this.scale=1;this.opacity=1};_ol_.inherits(_ol_render_webgl_TextReplay_,_ol_render_webgl_TextureReplay_);_ol_render_webgl_TextReplay_.prototype.drawText=function(e,t){if(this.text_){var i=null;var r=0;var n=2;var o=2;switch(e.getType()){case _ol_geom_GeometryType_.POINT:case _ol_geom_GeometryType_.MULTI_POINT:i=e.getFlatCoordinates();n=i.length;o=e.getStride();break;case _ol_geom_GeometryType_.CIRCLE:i=e.getCenter();break;case _ol_geom_GeometryType_.LINE_STRING:i=e.getFlatMidpoint();break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:i=e.getFlatMidpoints();n=i.length;break;case _ol_geom_GeometryType_.POLYGON:i=e.getFlatInteriorPoint();break;case _ol_geom_GeometryType_.MULTI_POLYGON:i=e.getFlatInteriorPoints();n=i.length;break}this.startIndices.push(this.indices.length);this.startIndicesFeature.push(t);var _=this.currAtlas_;var a=this.text_.split("\n");var s=this.getTextSize_(a);var l,h,u,c,f,d,p,v;var g=Math.round(s[0]*this.textAlign_-this.offsetX_);var y=Math.round(s[1]*this.textBaseline_-this.offsetY_);var m=this.state_.lineWidth/2*this.state_.scale;for(l=0,h=a.length;l<h;++l){f=0;d=_.height*l;p=a[l].split("");for(u=0,c=p.length;u<c;++u){v=_.atlas.getInfo(p[u]);if(v){var E=v.image;this.anchorX=g-f;this.anchorY=y-d;this.originX=u===0?v.offsetX-m:v.offsetX;this.originY=v.offsetY;this.height=_.height;this.width=u===0||u===p.length-1?_.width[p[u]]+m:_.width[p[u]];this.imageHeight=E.height;this.imageWidth=E.width;var x;if(this.images_.length===0){this.images_.push(E)}else{x=this.images_[this.images_.length-1];if(_ol_.getUid(x)!=_ol_.getUid(E)){this.groupIndices.push(this.indices.length);this.images_.push(E)}}this.drawText_(i,r,n,o)}f+=this.width}}}};_ol_render_webgl_TextReplay_.prototype.getTextSize_=function(e){var t=this;var i=this.currAtlas_;var r=e.length*i.height;var n=e.map((function(e){var r=0;var n,o;for(n=0,o=e.length;n<o;++n){var _=e[n];if(!i.width[_]){t.addCharToAtlas_(_)}r+=i.width[_]?i.width[_]:0}return r})).reduce((function(e,t){return Math.max(e,t)}));return[n,r]};_ol_render_webgl_TextReplay_.prototype.drawText_=function(e,t,i,r){var n,o;for(n=t,o=i;n<o;n+=r){this.drawCoordinates(e,t,i,r)}};_ol_render_webgl_TextReplay_.prototype.addCharToAtlas_=function(e){if(e.length===1){var t=this.currAtlas_;var i=this.state_;var r=this.measureCanvas_.getContext("2d");r.font=i.font;var n=Math.ceil(r.measureText(e).width*i.scale);var o=t.atlas.add(e,n,t.height,(function(t,r,n){t.font=i.font;t.fillStyle=i.fillColor;t.strokeStyle=i.strokeColor;t.lineWidth=i.lineWidth;t.lineCap=i.lineCap;t.lineJoin=i.lineJoin;t.miterLimit=i.miterLimit;t.textAlign="left";t.textBaseline="top";if(_ol_has_.CANVAS_LINE_DASH&&i.lineDash){t.setLineDash(i.lineDash);t.lineDashOffset=i.lineDashOffset}if(i.scale!==1){t.setTransform(i.scale,0,0,i.scale,0,0)}if(i.strokeColor){t.strokeText(e,r,n)}if(i.fillColor){t.fillText(e,r,n)}}));if(o){t.width[e]=n}}};_ol_render_webgl_TextReplay_.prototype.finish=function(e){var t=e.getGL();this.groupIndices.push(this.indices.length);this.hitDetectionGroupIndices=this.groupIndices;this.verticesBuffer=new _ol_webgl_Buffer_(this.vertices);this.indicesBuffer=new _ol_webgl_Buffer_(this.indices);var i={};this.createTextures(this.textures_,this.images_,i,t);this.state_={strokeColor:null,lineCap:undefined,lineDash:null,lineDashOffset:undefined,lineJoin:undefined,lineWidth:0,miterLimit:undefined,fillColor:null,font:undefined,scale:undefined};this.text_="";this.textAlign_=undefined;this.textBaseline_=undefined;this.offsetX_=undefined;this.offsetY_=undefined;this.images_=null;this.atlases_={};this.currAtlas_=undefined;_ol_render_webgl_TextureReplay_.prototype.finish.call(this,e)};_ol_render_webgl_TextReplay_.prototype.setTextStyle=function(e){var t=this.state_;var i=e.getFill();var r=e.getStroke();if(!e||!e.getText()||!i&&!r){this.text_=""}else{if(!i){t.fillColor=null}else{var n=i.getColor();t.fillColor=_ol_colorlike_.asColorLike(n?n:_ol_render_webgl_.defaultFillStyle)}if(!r){t.strokeColor=null;t.lineWidth=0}else{var o=r.getColor();t.strokeColor=_ol_colorlike_.asColorLike(o?o:_ol_render_webgl_.defaultStrokeStyle);t.lineWidth=r.getWidth()||_ol_render_webgl_.defaultLineWidth;t.lineCap=r.getLineCap()||_ol_render_webgl_.defaultLineCap;t.lineDashOffset=r.getLineDashOffset()||_ol_render_webgl_.defaultLineDashOffset;t.lineJoin=r.getLineJoin()||_ol_render_webgl_.defaultLineJoin;t.miterLimit=r.getMiterLimit()||_ol_render_webgl_.defaultMiterLimit;var _=r.getLineDash();t.lineDash=_?_.slice():_ol_render_webgl_.defaultLineDash}t.font=e.getFont()||_ol_render_webgl_.defaultFont;t.scale=e.getScale()||1;this.text_=e.getText();var a=_ol_render_replay_.TEXT_ALIGN[e.getTextAlign()];var s=_ol_render_replay_.TEXT_ALIGN[e.getTextBaseline()];this.textAlign_=a===undefined?_ol_render_webgl_.defaultTextAlign:a;this.textBaseline_=s===undefined?_ol_render_webgl_.defaultTextBaseline:s;this.offsetX_=e.getOffsetX()||0;this.offsetY_=e.getOffsetY()||0;this.rotateWithView=!!e.getRotateWithView();this.rotation=e.getRotation()||0;this.currAtlas_=this.getAtlas_(t)}};_ol_render_webgl_TextReplay_.prototype.getAtlas_=function(e){var t=[];var i;for(i in e){if(e[i]||e[i]===0){if(Array.isArray(e[i])){t=t.concat(e[i])}else{t.push(e[i])}}}var r=this.calculateHash_(t);if(!this.atlases_[r]){var n=this.measureCanvas_.getContext("2d");n.font=e.font;var o=Math.ceil((n.measureText("M").width*1.5+e.lineWidth/2)*e.scale);this.atlases_[r]={atlas:new _ol_style_AtlasManager_({space:e.lineWidth+1}),width:{},height:o}}return this.atlases_[r]};_ol_render_webgl_TextReplay_.prototype.calculateHash_=function(e){var t,i;var r="";for(t=0,i=e.length;t<i;++t){r+=e[t]}return r};_ol_render_webgl_TextReplay_.prototype.getTextures=function(e){return this.textures_};_ol_render_webgl_TextReplay_.prototype.getHitDetectionTextures=function(){return this.textures_};var _ol_render_webgl_ReplayGroup_=function(e,t,i){_ol_render_ReplayGroup_.call(this);this.maxExtent_=t;this.tolerance_=e;this.renderBuffer_=i;this.replaysByZIndex_={}};_ol_.inherits(_ol_render_webgl_ReplayGroup_,_ol_render_ReplayGroup_);_ol_render_webgl_ReplayGroup_.prototype.addDeclutter=function(e,t){};_ol_render_webgl_ReplayGroup_.prototype.getDeleteResourcesFunction=function(e){var t=[];var i;for(i in this.replaysByZIndex_){var r=this.replaysByZIndex_[i];var n;for(n in r){t.push(r[n].getDeleteResourcesFunction(e))}}return function(){var e=t.length;var i;for(var r=0;r<e;r++){i=t[r].apply(this,arguments)}return i}};_ol_render_webgl_ReplayGroup_.prototype.finish=function(e){var t;for(t in this.replaysByZIndex_){var i=this.replaysByZIndex_[t];var r;for(r in i){i[r].finish(e)}}};_ol_render_webgl_ReplayGroup_.prototype.getReplay=function(e,t){var i=e!==undefined?e.toString():"0";var r=this.replaysByZIndex_[i];if(r===undefined){r={};this.replaysByZIndex_[i]=r}var n=r[t];if(n===undefined){var o=_ol_render_webgl_ReplayGroup_.BATCH_CONSTRUCTORS_[t];n=new o(this.tolerance_,this.maxExtent_);r[t]=n}return n};_ol_render_webgl_ReplayGroup_.prototype.isEmpty=function(){return _ol_obj_.isEmpty(this.replaysByZIndex_)};_ol_render_webgl_ReplayGroup_.prototype.replay=function(e,t,i,r,n,o,_,a){var s=Object.keys(this.replaysByZIndex_).map(Number);s.sort(_ol_array_.numberSafeCompareFunction);var l,h,u,c,f,d;for(l=0,h=s.length;l<h;++l){f=this.replaysByZIndex_[s[l].toString()];for(u=0,c=_ol_render_replay_.ORDER.length;u<c;++u){d=f[_ol_render_replay_.ORDER[u]];if(d!==undefined){d.replay(e,t,i,r,n,o,_,a,undefined,false)}}}};_ol_render_webgl_ReplayGroup_.prototype.replayHitDetection_=function(e,t,i,r,n,o,_,a,s,l,h){var u=Object.keys(this.replaysByZIndex_).map(Number);u.sort((function(e,t){return t-e}));var c,f,d,p,v,g;for(c=0,f=u.length;c<f;++c){p=this.replaysByZIndex_[u[c].toString()];for(d=_ol_render_replay_.ORDER.length-1;d>=0;--d){v=p[_ol_render_replay_.ORDER[d]];if(v!==undefined){g=v.replay(e,t,i,r,n,o,_,a,s,l,h);if(g){return g}}}}return undefined};_ol_render_webgl_ReplayGroup_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_,a,s,l){var h=t.getGL();h.bindFramebuffer(h.FRAMEBUFFER,t.getHitDetectionFramebuffer());var u;if(this.renderBuffer_!==undefined){u=_ol_extent_.buffer(_ol_extent_.createOrUpdateFromCoordinate(e),r*this.renderBuffer_)}return this.replayHitDetection_(t,e,r,n,_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_,_,a,s,(function(e){var t=new Uint8Array(4);h.readPixels(0,0,1,1,h.RGBA,h.UNSIGNED_BYTE,t);if(t[3]>0){var i=l(e);if(i){return i}}}),true,u)};_ol_render_webgl_ReplayGroup_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n,o,_,a,s){var l=t.getGL();l.bindFramebuffer(l.FRAMEBUFFER,t.getHitDetectionFramebuffer());var h=this.replayHitDetection_(t,e,r,n,_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_,_,a,s,(function(e){var t=new Uint8Array(4);l.readPixels(0,0,1,1,l.RGBA,l.UNSIGNED_BYTE,t);return t[3]>0}),false);return h!==undefined};_ol_render_webgl_ReplayGroup_.HIT_DETECTION_SIZE_=[1,1];_ol_render_webgl_ReplayGroup_.BATCH_CONSTRUCTORS_={Circle:_ol_render_webgl_CircleReplay_,Image:_ol_render_webgl_ImageReplay_,LineString:_ol_render_webgl_LineStringReplay_,Polygon:_ol_render_webgl_PolygonReplay_,Text:_ol_render_webgl_TextReplay_};var _ol_render_webgl_Immediate_=function(e,t,i,r,n,o,_){_ol_render_VectorContext_.call(this);this.context_=e;this.center_=t;this.extent_=o;this.pixelRatio_=_;this.size_=n;this.rotation_=r;this.resolution_=i;this.imageStyle_=null;this.fillStyle_=null;this.strokeStyle_=null;this.textStyle_=null};_ol_.inherits(_ol_render_webgl_Immediate_,_ol_render_VectorContext_);_ol_render_webgl_Immediate_.prototype.drawText_=function(e,t){var i=this.context_;var r=e.getReplay(0,_ol_render_ReplayType_.TEXT);r.setTextStyle(this.textStyle_);r.drawText(t,null);r.finish(i);var n=1;var o={};var _;var a=false;r.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,n,o,_,a);r.getDeleteResourcesFunction(i)()};_ol_render_webgl_Immediate_.prototype.setStyle=function(e){this.setFillStrokeStyle(e.getFill(),e.getStroke());this.setImageStyle(e.getImage());this.setTextStyle(e.getText())};_ol_render_webgl_Immediate_.prototype.drawGeometry=function(e){var t=e.getType();switch(t){case _ol_geom_GeometryType_.POINT:this.drawPoint(e,null);break;case _ol_geom_GeometryType_.LINE_STRING:this.drawLineString(e,null);break;case _ol_geom_GeometryType_.POLYGON:this.drawPolygon(e,null);break;case _ol_geom_GeometryType_.MULTI_POINT:this.drawMultiPoint(e,null);break;case _ol_geom_GeometryType_.MULTI_LINE_STRING:this.drawMultiLineString(e,null);break;case _ol_geom_GeometryType_.MULTI_POLYGON:this.drawMultiPolygon(e,null);break;case _ol_geom_GeometryType_.GEOMETRY_COLLECTION:this.drawGeometryCollection(e,null);break;case _ol_geom_GeometryType_.CIRCLE:this.drawCircle(e,null);break}};_ol_render_webgl_Immediate_.prototype.drawFeature=function(e,t){var i=t.getGeometryFunction()(e);if(!i||!_ol_extent_.intersects(this.extent_,i.getExtent())){return}this.setStyle(t);this.drawGeometry(i)};_ol_render_webgl_Immediate_.prototype.drawGeometryCollection=function(e,t){var i=e.getGeometriesArray();var r,n;for(r=0,n=i.length;r<n;++r){this.drawGeometry(i[r])}};_ol_render_webgl_Immediate_.prototype.drawPoint=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.IMAGE);n.setImageStyle(this.imageStyle_);n.drawPoint(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiPoint=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.IMAGE);n.setImageStyle(this.imageStyle_);n.drawMultiPoint(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawLineString=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.LINE_STRING);n.setFillStrokeStyle(null,this.strokeStyle_);n.drawLineString(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiLineString=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.LINE_STRING);n.setFillStrokeStyle(null,this.strokeStyle_);n.drawMultiLineString(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawPolygon=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.POLYGON);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawPolygon(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawMultiPolygon=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.POLYGON);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawMultiPolygon(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.drawCircle=function(e,t){var i=this.context_;var r=new _ol_render_webgl_ReplayGroup_(1,this.extent_);var n=r.getReplay(0,_ol_render_ReplayType_.CIRCLE);n.setFillStrokeStyle(this.fillStyle_,this.strokeStyle_);n.drawCircle(e,t);n.finish(i);var o=1;var _={};var a;var s=false;n.replay(this.context_,this.center_,this.resolution_,this.rotation_,this.size_,this.pixelRatio_,o,_,a,s);n.getDeleteResourcesFunction(i)();if(this.textStyle_){this.drawText_(r,e)}};_ol_render_webgl_Immediate_.prototype.setImageStyle=function(e){this.imageStyle_=e};_ol_render_webgl_Immediate_.prototype.setFillStrokeStyle=function(e,t){this.fillStyle_=e;this.strokeStyle_=t};_ol_render_webgl_Immediate_.prototype.setTextStyle=function(e){this.textStyle_=e};var _ol_renderer_webgl_defaultmapshader_={};_ol_renderer_webgl_defaultmapshader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_texture, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n gl_FragColor.a = texColor.a * u_opacity;\n}\n":"precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texColor=texture2D(g,a);gl_FragColor.rgb=texColor.rgb;gl_FragColor.a=texColor.a*f;}");_ol_renderer_webgl_defaultmapshader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvoid main(void) {\n gl_Position = u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord = (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}\n\n\n":"varying vec2 a;attribute vec2 b;attribute vec2 c;uniform mat4 d;uniform mat4 e;void main(void){gl_Position=e*vec4(b,0.,1.);a=(d*vec4(c,0.,1.)).st;}");var _ol_renderer_webgl_defaultmapshader_Locations_=function(e,t){this.u_texCoordMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texCoordMatrix":"d");this.u_projectionMatrix=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_projectionMatrix":"e");this.u_opacity=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_opacity":"f");this.u_texture=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texture":"g");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"b");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"c")};var _ol_renderer_webgl_Layer_=function(e,t){_ol_renderer_Layer_.call(this,t);this.mapRenderer=e;this.arrayBuffer_=new _ol_webgl_Buffer_([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);this.texture=null;this.framebuffer=null;this.framebufferDimension=undefined;this.texCoordMatrix=_ol_transform_.create();this.projectionMatrix=_ol_transform_.create();this.tmpMat4_=_ol_vec_Mat4_.create();this.defaultLocations_=null};_ol_.inherits(_ol_renderer_webgl_Layer_,_ol_renderer_Layer_);_ol_renderer_webgl_Layer_.prototype.bindFramebuffer=function(e,t){var i=this.mapRenderer.getGL();if(this.framebufferDimension===undefined||this.framebufferDimension!=t){var r=function(e,t,i){if(!e.isContextLost()){e.deleteFramebuffer(t);e.deleteTexture(i)}}.bind(null,i,this.framebuffer,this.texture);e.postRenderFunctions.push(r);var n=_ol_webgl_Context_.createEmptyTexture(i,t,t);var o=i.createFramebuffer();i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,o);i.framebufferTexture2D(_ol_webgl_.FRAMEBUFFER,_ol_webgl_.COLOR_ATTACHMENT0,_ol_webgl_.TEXTURE_2D,n,0);this.texture=n;this.framebuffer=o;this.framebufferDimension=t}else{i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,this.framebuffer)}};_ol_renderer_webgl_Layer_.prototype.composeFrame=function(e,t,i){this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,i,e);i.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.arrayBuffer_);var r=i.getGL();var n=_ol_renderer_webgl_defaultmapshader_.fragment;var o=_ol_renderer_webgl_defaultmapshader_.vertex;var _=i.getProgram(n,o);var a;if(!this.defaultLocations_){a=new _ol_renderer_webgl_defaultmapshader_Locations_(r,_);this.defaultLocations_=a}else{a=this.defaultLocations_}if(i.useProgram(_)){r.enableVertexAttribArray(a.a_position);r.vertexAttribPointer(a.a_position,2,_ol_webgl_.FLOAT,false,16,0);r.enableVertexAttribArray(a.a_texCoord);r.vertexAttribPointer(a.a_texCoord,2,_ol_webgl_.FLOAT,false,16,8);r.uniform1i(a.u_texture,0)}r.uniformMatrix4fv(a.u_texCoordMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,this.getTexCoordMatrix()));r.uniformMatrix4fv(a.u_projectionMatrix,false,_ol_vec_Mat4_.fromTransform(this.tmpMat4_,this.getProjectionMatrix()));r.uniform1f(a.u_opacity,t.opacity);r.bindTexture(_ol_webgl_.TEXTURE_2D,this.getTexture());r.drawArrays(_ol_webgl_.TRIANGLE_STRIP,0,4);this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,i,e)};_ol_renderer_webgl_Layer_.prototype.dispatchComposeEvent_=function(e,t,i){var r=this.getLayer();if(r.hasListener(e)){var n=i.viewState;var o=n.resolution;var _=i.pixelRatio;var a=i.extent;var s=n.center;var l=n.rotation;var h=i.size;var u=new _ol_render_webgl_Immediate_(t,s,o,l,h,a,_);var c=new _ol_render_Event_(e,u,i,null,t);r.dispatchEvent(c)}};_ol_renderer_webgl_Layer_.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix};_ol_renderer_webgl_Layer_.prototype.getTexture=function(){return this.texture};_ol_renderer_webgl_Layer_.prototype.getProjectionMatrix=function(){return this.projectionMatrix};_ol_renderer_webgl_Layer_.prototype.handleWebGLContextLost=function(){this.texture=null;this.framebuffer=null;this.framebufferDimension=undefined};_ol_renderer_webgl_Layer_.prototype.prepareFrame=function(e,t,i){};_ol_renderer_webgl_Layer_.prototype.forEachLayerAtPixel=function(e,t,i,r){};var _ol_renderer_webgl_ImageLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.image_=null;this.hitCanvasContext_=null;this.hitTransformationMatrix_=null};_ol_.inherits(_ol_renderer_webgl_ImageLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_ImageLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.IMAGE};_ol_renderer_webgl_ImageLayer_["create"]=function(e,t){return new _ol_renderer_webgl_ImageLayer_(e,t)};_ol_renderer_webgl_ImageLayer_.prototype.createTexture_=function(e){var t=e.getImage();var i=this.mapRenderer.getGL();return _ol_webgl_Context_.createTexture(i,t,_ol_webgl_.CLAMP_TO_EDGE,_ol_webgl_.CLAMP_TO_EDGE)};_ol_renderer_webgl_ImageLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){var o=this.getLayer();var _=o.getSource();var a=t.viewState.resolution;var s=t.viewState.rotation;var l=t.skippedFeatureUids;return _.forEachFeatureAtCoordinate(e,a,s,i,l,(function(e){return r.call(n,e,o)}))};_ol_renderer_webgl_ImageLayer_.prototype.prepareFrame=function(e,t,i){var r=this.mapRenderer.getGL();var n=e.pixelRatio;var o=e.viewState;var _=o.center;var a=o.resolution;var s=o.rotation;var l=this.image_;var h=this.texture;var u=this.getLayer();var c=u.getSource();var f=e.viewHints;var d=e.extent;if(t.extent!==undefined){d=_ol_extent_.getIntersection(d,t.extent)}if(!f[_ol_ViewHint_.ANIMATING]&&!f[_ol_ViewHint_.INTERACTING]&&!_ol_extent_.isEmpty(d)){var p=o.projection;if(!_ol_.ENABLE_RASTER_REPROJECTION){var v=c.getProjection();if(v){p=v}}var g=c.getImage(d,a,n,p);if(g){var y=this.loadImage(g);if(y){l=g;h=this.createTexture_(g);if(this.texture){var m=function(e,t){if(!e.isContextLost()){e.deleteTexture(t)}}.bind(null,r,this.texture);e.postRenderFunctions.push(m)}}}}if(l){var E=this.mapRenderer.getContext().getCanvas();this.updateProjectionMatrix_(E.width,E.height,n,_,a,s,l.getExtent());this.hitTransformationMatrix_=null;var x=this.texCoordMatrix;_ol_transform_.reset(x);_ol_transform_.scale(x,1,-1);_ol_transform_.translate(x,0,-1);this.image_=l;this.texture=h;this.updateLogos(e,c)}return!!l};_ol_renderer_webgl_ImageLayer_.prototype.updateProjectionMatrix_=function(e,t,i,r,n,o,_){var a=e*n;var s=t*n;var l=this.projectionMatrix;_ol_transform_.reset(l);_ol_transform_.scale(l,i*2/a,i*2/s);_ol_transform_.rotate(l,-o);_ol_transform_.translate(l,_[0]-r[0],_[1]-r[1]);_ol_transform_.scale(l,(_[2]-_[0])/2,(_[3]-_[1])/2);_ol_transform_.translate(l,1,1)};_ol_renderer_webgl_ImageLayer_.prototype.hasFeatureAtCoordinate=function(e,t){var i=this.forEachFeatureAtCoordinate(e,t,0,_ol_functions_.TRUE,this);return i!==undefined};_ol_renderer_webgl_ImageLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){if(!this.image_||!this.image_.getImage()){return undefined}if(this.getLayer().getSource().forEachFeatureAtCoordinate!==_ol_.nullFunction){var n=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var o=this.forEachFeatureAtCoordinate(n,t,0,_ol_functions_.TRUE,this);if(o){return i.call(r,this.getLayer(),null)}else{return undefined}}else{var _=[this.image_.getImage().width,this.image_.getImage().height];if(!this.hitTransformationMatrix_){this.hitTransformationMatrix_=this.getHitTransformationMatrix_(t.size,_)}var a=_ol_transform_.apply(this.hitTransformationMatrix_,e.slice());if(a[0]<0||a[0]>_[0]||a[1]<0||a[1]>_[1]){return undefined}if(!this.hitCanvasContext_){this.hitCanvasContext_=_ol_dom_.createCanvasContext2D(1,1)}this.hitCanvasContext_.clearRect(0,0,1,1);this.hitCanvasContext_.drawImage(this.image_.getImage(),a[0],a[1],1,1,0,0,1,1);var s=this.hitCanvasContext_.getImageData(0,0,1,1).data;if(s[3]>0){return i.call(r,this.getLayer(),s)}else{return undefined}}};_ol_renderer_webgl_ImageLayer_.prototype.getHitTransformationMatrix_=function(e,t){var i=_ol_transform_.create();_ol_transform_.translate(i,-1,-1);_ol_transform_.scale(i,2/e[0],2/e[1]);_ol_transform_.translate(i,0,e[1]);_ol_transform_.scale(i,1,-1);var r=_ol_transform_.invert(this.projectionMatrix.slice());var n=_ol_transform_.create();_ol_transform_.translate(n,0,t[1]);_ol_transform_.scale(n,1,-1);_ol_transform_.scale(n,t[0]/2,t[1]/2);_ol_transform_.translate(n,1,1);_ol_transform_.multiply(n,r);_ol_transform_.multiply(n,i);return n};var _ol_renderer_webgl_Map_=function(e,t){_ol_renderer_Map_.call(this,e,t);this.canvas_=document.createElement("CANVAS");this.canvas_.style.width="100%";this.canvas_.style.height="100%";this.canvas_.style.display="block";this.canvas_.className=_ol_css_.CLASS_UNSELECTABLE;e.insertBefore(this.canvas_,e.childNodes[0]||null);this.clipTileCanvasWidth_=0;this.clipTileCanvasHeight_=0;this.clipTileContext_=_ol_dom_.createCanvasContext2D();this.renderedVisible_=true;this.gl_=_ol_webgl_.getContext(this.canvas_,{antialias:true,depth:true,failIfMajorPerformanceCaveat:true,preserveDrawingBuffer:false,stencil:true});this.context_=new _ol_webgl_Context_(this.canvas_,this.gl_);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.LOST,this.handleWebGLContextLost,this);_ol_events_.listen(this.canvas_,_ol_webgl_ContextEventType_.RESTORED,this.handleWebGLContextRestored,this);this.textureCache_=new _ol_structs_LRUCache_;this.focus_=null;this.tileTextureQueue_=new _ol_structs_PriorityQueue_(function(e){var t=e[1];var i=e[2];var r=t[0]-this.focus_[0];var n=t[1]-this.focus_[1];return 65536*Math.log(i)+Math.sqrt(r*r+n*n)/i}.bind(this),(function(e){return e[0].getKey()}));this.loadNextTileTexture_=function(e,t){if(!this.tileTextureQueue_.isEmpty()){this.tileTextureQueue_.reprioritize();var i=this.tileTextureQueue_.dequeue();var r=i[0];var n=i[3];var o=i[4];this.bindTileTexture(r,n,o,_ol_webgl_.LINEAR,_ol_webgl_.LINEAR)}return false}.bind(this);this.textureCacheFrameMarkerCount_=0;this.initializeGL_()};_ol_.inherits(_ol_renderer_webgl_Map_,_ol_renderer_Map_);_ol_renderer_webgl_Map_["handles"]=function(e){return _ol_has_.WEBGL&&e===_ol_renderer_Type_.WEBGL};_ol_renderer_webgl_Map_["create"]=function(e,t){return new _ol_renderer_webgl_Map_(e,t)};_ol_renderer_webgl_Map_.prototype.bindTileTexture=function(e,t,i,r,n){var o=this.getGL();var _=e.getKey();if(this.textureCache_.containsKey(_)){var a=this.textureCache_.get(_);o.bindTexture(_ol_webgl_.TEXTURE_2D,a.texture);if(a.magFilter!=r){o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MAG_FILTER,r);a.magFilter=r}if(a.minFilter!=n){o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MIN_FILTER,n);a.minFilter=n}}else{var s=o.createTexture();o.bindTexture(_ol_webgl_.TEXTURE_2D,s);if(i>0){var l=this.clipTileContext_.canvas;var h=this.clipTileContext_;if(this.clipTileCanvasWidth_!==t[0]||this.clipTileCanvasHeight_!==t[1]){l.width=t[0];l.height=t[1];this.clipTileCanvasWidth_=t[0];this.clipTileCanvasHeight_=t[1]}else{h.clearRect(0,0,t[0],t[1])}h.drawImage(e.getImage(),i,i,t[0],t[1],0,0,t[0],t[1]);o.texImage2D(_ol_webgl_.TEXTURE_2D,0,_ol_webgl_.RGBA,_ol_webgl_.RGBA,_ol_webgl_.UNSIGNED_BYTE,l)}else{o.texImage2D(_ol_webgl_.TEXTURE_2D,0,_ol_webgl_.RGBA,_ol_webgl_.RGBA,_ol_webgl_.UNSIGNED_BYTE,e.getImage())}o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MAG_FILTER,r);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_MIN_FILTER,n);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_S,_ol_webgl_.CLAMP_TO_EDGE);o.texParameteri(_ol_webgl_.TEXTURE_2D,_ol_webgl_.TEXTURE_WRAP_T,_ol_webgl_.CLAMP_TO_EDGE);this.textureCache_.set(_,{texture:s,magFilter:r,minFilter:n})}};_ol_renderer_webgl_Map_.prototype.dispatchComposeEvent_=function(e,t){var i=this.getMap();if(i.hasListener(e)){var r=this.context_;var n=t.extent;var o=t.size;var _=t.viewState;var a=t.pixelRatio;var s=_.resolution;var l=_.center;var h=_.rotation;var u=new _ol_render_webgl_Immediate_(r,l,s,h,o,n,a);var c=new _ol_render_Event_(e,u,t,null,r);i.dispatchEvent(c)}};_ol_renderer_webgl_Map_.prototype.disposeInternal=function(){var e=this.getGL();if(!e.isContextLost()){this.textureCache_.forEach((function(t){if(t){e.deleteTexture(t.texture)}}))}this.context_.dispose();_ol_renderer_Map_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_Map_.prototype.expireCache_=function(e,t){var i=this.getGL();var r;while(this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK){r=this.textureCache_.peekLast();if(!r){if(+this.textureCache_.peekLastKey()==t.index){break}else{--this.textureCacheFrameMarkerCount_}}else{i.deleteTexture(r.texture)}this.textureCache_.pop()}};_ol_renderer_webgl_Map_.prototype.getContext=function(){return this.context_};_ol_renderer_webgl_Map_.prototype.getGL=function(){return this.gl_};_ol_renderer_webgl_Map_.prototype.getTileTextureQueue=function(){return this.tileTextureQueue_};_ol_renderer_webgl_Map_.prototype.getType=function(){return _ol_renderer_Type_.WEBGL};_ol_renderer_webgl_Map_.prototype.handleWebGLContextLost=function(e){e.preventDefault();this.textureCache_.clear();this.textureCacheFrameMarkerCount_=0;var t=this.getLayerRenderers();for(var i in t){var r=t[i];r.handleWebGLContextLost()}};_ol_renderer_webgl_Map_.prototype.handleWebGLContextRestored=function(){this.initializeGL_();this.getMap().render()};_ol_renderer_webgl_Map_.prototype.initializeGL_=function(){var e=this.gl_;e.activeTexture(_ol_webgl_.TEXTURE0);e.blendFuncSeparate(_ol_webgl_.SRC_ALPHA,_ol_webgl_.ONE_MINUS_SRC_ALPHA,_ol_webgl_.ONE,_ol_webgl_.ONE_MINUS_SRC_ALPHA);e.disable(_ol_webgl_.CULL_FACE);e.disable(_ol_webgl_.DEPTH_TEST);e.disable(_ol_webgl_.SCISSOR_TEST);e.disable(_ol_webgl_.STENCIL_TEST)};_ol_renderer_webgl_Map_.prototype.isTileTextureLoaded=function(e){return this.textureCache_.containsKey(e.getKey())};_ol_renderer_webgl_Map_.prototype.renderFrame=function(e){var t=this.getContext();var i=this.getGL();if(i.isContextLost()){return false}if(!e){if(this.renderedVisible_){this.canvas_.style.display="none";this.renderedVisible_=false}return false}this.focus_=e.focus;this.textureCache_.set((-e.index).toString(),null);++this.textureCacheFrameMarkerCount_;this.dispatchComposeEvent_(_ol_render_EventType_.PRECOMPOSE,e);var r=[];var n=e.layerStatesArray;_ol_array_.stableSort(n,_ol_renderer_Map_.sortByZIndex);var o=e.viewState.resolution;var _,a,s,l;for(_=0,a=n.length;_<a;++_){l=n[_];if(_ol_layer_Layer_.visibleAtResolution(l,o)&&l.sourceState==_ol_source_State_.READY){s=this.getLayerRenderer(l.layer);if(s.prepareFrame(e,l,t)){r.push(l)}}}var h=e.size[0]*e.pixelRatio;var u=e.size[1]*e.pixelRatio;if(this.canvas_.width!=h||this.canvas_.height!=u){this.canvas_.width=h;this.canvas_.height=u}i.bindFramebuffer(_ol_webgl_.FRAMEBUFFER,null);i.clearColor(0,0,0,0);i.clear(_ol_webgl_.COLOR_BUFFER_BIT);i.enable(_ol_webgl_.BLEND);i.viewport(0,0,this.canvas_.width,this.canvas_.height);for(_=0,a=r.length;_<a;++_){l=r[_];s=this.getLayerRenderer(l.layer);s.composeFrame(e,l,t)}if(!this.renderedVisible_){this.canvas_.style.display="";this.renderedVisible_=true}this.calculateMatrices2D(e);if(this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK){e.postRenderFunctions.push(this.expireCache_.bind(this))}if(!this.tileTextureQueue_.isEmpty()){e.postRenderFunctions.push(this.loadNextTileTexture_);e.animate=true}this.dispatchComposeEvent_(_ol_render_EventType_.POSTCOMPOSE,e);this.scheduleRemoveUnusedLayerRenderers(e);this.scheduleExpireIconCache(e)};_ol_renderer_webgl_Map_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n,o,_){var a;if(this.getGL().isContextLost()){return false}var s=t.viewState;var l=t.layerStatesArray;var h=l.length;var u;for(u=h-1;u>=0;--u){var c=l[u];var f=c.layer;if(_ol_layer_Layer_.visibleAtResolution(c,s.resolution)&&o.call(_,f)){var d=this.getLayerRenderer(f);a=d.forEachFeatureAtCoordinate(e,t,i,r,n);if(a){return a}}}return undefined};_ol_renderer_webgl_Map_.prototype.hasFeatureAtCoordinate=function(e,t,i,r,n){var o=false;if(this.getGL().isContextLost()){return false}var _=t.viewState;var a=t.layerStatesArray;var s=a.length;var l;for(l=s-1;l>=0;--l){var h=a[l];var u=h.layer;if(_ol_layer_Layer_.visibleAtResolution(h,_.resolution)&&r.call(n,u)){var c=this.getLayerRenderer(u);o=c.hasFeatureAtCoordinate(e,t);if(o){return true}}}return o};_ol_renderer_webgl_Map_.prototype.forEachLayerAtPixel=function(e,t,i,r,n,o){if(this.getGL().isContextLost()){return false}var _=t.viewState;var a;var s=t.layerStatesArray;var l=s.length;var h;for(h=l-1;h>=0;--h){var u=s[h];var c=u.layer;if(_ol_layer_Layer_.visibleAtResolution(u,_.resolution)&&n.call(r,c)){var f=this.getLayerRenderer(c);a=f.forEachLayerAtPixel(e,t,i,r);if(a){return a}}}return undefined};var _ol_renderer_webgl_tilelayershader_={};_ol_renderer_webgl_tilelayershader_.fragment=new _ol_webgl_Fragment_(_ol_.DEBUG_WEBGL?"precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform sampler2D u_texture;\n\nvoid main(void) {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n}\n":"precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragColor=texture2D(e,a);}");_ol_renderer_webgl_tilelayershader_.vertex=new _ol_webgl_Vertex_(_ol_.DEBUG_WEBGL?"varying vec2 v_texCoord;\n\n\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nuniform vec4 u_tileOffset;\n\nvoid main(void) {\n gl_Position = vec4(a_position * u_tileOffset.xy + u_tileOffset.zw, 0., 1.);\n v_texCoord = a_texCoord;\n}\n\n\n":"varying vec2 a;attribute vec2 b;attribute vec2 c;uniform vec4 d;void main(void){gl_Position=vec4(b*d.xy+d.zw,0.,1.);a=c;}");var _ol_renderer_webgl_tilelayershader_Locations_=function(e,t){this.u_tileOffset=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_tileOffset":"d");this.u_texture=e.getUniformLocation(t,_ol_.DEBUG_WEBGL?"u_texture":"e");this.a_position=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_position":"b");this.a_texCoord=e.getAttribLocation(t,_ol_.DEBUG_WEBGL?"a_texCoord":"c")};var _ol_renderer_webgl_TileLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.fragmentShader_=_ol_renderer_webgl_tilelayershader_.fragment;this.vertexShader_=_ol_renderer_webgl_tilelayershader_.vertex;this.locations_=null;this.renderArrayBuffer_=new _ol_webgl_Buffer_([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]);this.renderedTileRange_=null;this.renderedFramebufferExtent_=null;this.renderedRevision_=-1;this.tmpSize_=[0,0]};_ol_.inherits(_ol_renderer_webgl_TileLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_TileLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.TILE};_ol_renderer_webgl_TileLayer_["create"]=function(e,t){return new _ol_renderer_webgl_TileLayer_(e,t)};_ol_renderer_webgl_TileLayer_.prototype.disposeInternal=function(){var e=this.mapRenderer.getContext();e.deleteBuffer(this.renderArrayBuffer_);_ol_renderer_webgl_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_TileLayer_.prototype.createLoadedTileFinder=function(e,t,i){var r=this.mapRenderer;return function(n,o){function _(e){var t=r.isTileTextureLoaded(e);if(t){if(!i[n]){i[n]={}}i[n][e.tileCoord.toString()]=e}return t}return e.forEachLoadedTile(t,n,o,_)}};_ol_renderer_webgl_TileLayer_.prototype.handleWebGLContextLost=function(){_ol_renderer_webgl_Layer_.prototype.handleWebGLContextLost.call(this);this.locations_=null};_ol_renderer_webgl_TileLayer_.prototype.prepareFrame=function(e,t,i){var r=this.mapRenderer;var n=i.getGL();var o=e.viewState;var _=o.projection;var a=this.getLayer();var s=a.getSource();var l=s.getTileGridForProjection(_);var h=l.getZForResolution(o.resolution);var u=l.getResolution(h);var c=s.getTilePixelSize(h,e.pixelRatio,_);var f=c[0]/_ol_size_.toSize(l.getTileSize(h),this.tmpSize_)[0];var d=u/f;var p=s.getTilePixelRatio(f)*s.getGutter(_);var v=o.center;var g=e.extent;var y=l.getTileRangeForExtentAndZ(g,h);var m;if(this.renderedTileRange_&&this.renderedTileRange_.equals(y)&&this.renderedRevision_==s.getRevision()){m=this.renderedFramebufferExtent_}else{var E=y.getSize();var x=Math.max(E[0]*c[0],E[1]*c[1]);var T=_ol_math_.roundUpToPowerOfTwo(x);var R=d*T;var S=l.getOrigin(h);var C=S[0]+y.minX*c[0]*d;var I=S[1]+y.minY*c[1]*d;m=[C,I,C+R,I+R];this.bindFramebuffer(e,T);n.viewport(0,0,T,T);n.clearColor(0,0,0,0);n.clear(_ol_webgl_.COLOR_BUFFER_BIT);n.disable(_ol_webgl_.BLEND);var M=i.getProgram(this.fragmentShader_,this.vertexShader_);i.useProgram(M);if(!this.locations_){this.locations_=new _ol_renderer_webgl_tilelayershader_Locations_(n,M)}i.bindBuffer(_ol_webgl_.ARRAY_BUFFER,this.renderArrayBuffer_);n.enableVertexAttribArray(this.locations_.a_position);n.vertexAttribPointer(this.locations_.a_position,2,_ol_webgl_.FLOAT,false,16,0);n.enableVertexAttribArray(this.locations_.a_texCoord);n.vertexAttribPointer(this.locations_.a_texCoord,2,_ol_webgl_.FLOAT,false,16,8);n.uniform1i(this.locations_.u_texture,0);var w={};w[h]={};var b=this.createLoadedTileFinder(s,_,w);var L=a.getUseInterimTilesOnError();var P=true;var A=_ol_extent_.createEmpty();var O=new _ol_TileRange_(0,0,0,0);var F,D,N,G,k;var U,j,B;for(U=y.minX;U<=y.maxX;++U){for(j=y.minY;j<=y.maxY;++j){G=s.getTile(h,U,j,f,_);if(t.extent!==undefined){B=l.getTileCoordExtent(G.tileCoord,A);if(!_ol_extent_.intersects(B,t.extent)){continue}}k=G.getState();D=k==_ol_TileState_.LOADED||k==_ol_TileState_.EMPTY||k==_ol_TileState_.ERROR&&!L;if(!D){G=G.getInterimTile()}k=G.getState();if(k==_ol_TileState_.LOADED){if(r.isTileTextureLoaded(G)){w[h][G.tileCoord.toString()]=G;continue}}else if(k==_ol_TileState_.EMPTY||k==_ol_TileState_.ERROR&&!L){continue}P=false;N=l.forEachTileCoordParentTileRange(G.tileCoord,b,null,O,A);if(!N){F=l.getTileCoordChildTileRange(G.tileCoord,O,A);if(F){b(h+1,F)}}}}var z=Object.keys(w).map(Number);z.sort(_ol_array_.numberSafeCompareFunction);var V=new Float32Array(4);var W,H,X,Y;for(W=0,H=z.length;W<H;++W){Y=w[z[W]];for(X in Y){G=Y[X];B=l.getTileCoordExtent(G.tileCoord,A);V[0]=2*(B[2]-B[0])/R;V[1]=2*(B[3]-B[1])/R;V[2]=2*(B[0]-m[0])/R-1;V[3]=2*(B[1]-m[1])/R-1;n.uniform4fv(this.locations_.u_tileOffset,V);r.bindTileTexture(G,c,p*f,_ol_webgl_.LINEAR,_ol_webgl_.LINEAR);n.drawArrays(_ol_webgl_.TRIANGLE_STRIP,0,4)}}if(P){this.renderedTileRange_=y;this.renderedFramebufferExtent_=m;this.renderedRevision_=s.getRevision()}else{this.renderedTileRange_=null;this.renderedFramebufferExtent_=null;this.renderedRevision_=-1;e.animate=true}}this.updateUsedTiles(e.usedTiles,s,h,y);var K=r.getTileTextureQueue();this.manageTilePyramid(e,s,l,f,_,g,h,a.getPreload(),(function(e){if(e.getState()==_ol_TileState_.LOADED&&!r.isTileTextureLoaded(e)&&!K.isKeyQueued(e.getKey())){K.enqueue([e,l.getTileCoordCenter(e.tileCoord),l.getResolution(e.tileCoord[0]),c,p*f])}}),this);this.scheduleExpireCache(e,s);this.updateLogos(e,s);var q=this.texCoordMatrix;_ol_transform_.reset(q);_ol_transform_.translate(q,(Math.round(v[0]/u)*u-m[0])/(m[2]-m[0]),(Math.round(v[1]/u)*u-m[1])/(m[3]-m[1]));if(o.rotation!==0){_ol_transform_.rotate(q,o.rotation)}_ol_transform_.scale(q,e.size[0]*o.resolution/(m[2]-m[0]),e.size[1]*o.resolution/(m[3]-m[1]));_ol_transform_.translate(q,-.5,-.5);return true};_ol_renderer_webgl_TileLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){if(!this.framebuffer){return undefined}var n=[e[0]/t.size[0],(t.size[1]-e[1])/t.size[1]];var o=_ol_transform_.apply(this.texCoordMatrix,n.slice());var _=[o[0]*this.framebufferDimension,o[1]*this.framebufferDimension];var a=this.mapRenderer.getContext().getGL();a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer);var s=new Uint8Array(4);a.readPixels(_[0],_[1],1,1,a.RGBA,a.UNSIGNED_BYTE,s);if(s[3]>0){return i.call(r,this.getLayer(),s)}else{return undefined}};var _ol_renderer_webgl_VectorLayer_=function(e,t){_ol_renderer_webgl_Layer_.call(this,e,t);this.dirty_=false;this.renderedRevision_=-1;this.renderedResolution_=NaN;this.renderedExtent_=_ol_extent_.createEmpty();this.renderedRenderOrder_=null;this.replayGroup_=null;this.layerState_=null};_ol_.inherits(_ol_renderer_webgl_VectorLayer_,_ol_renderer_webgl_Layer_);_ol_renderer_webgl_VectorLayer_["handles"]=function(e,t){return e===_ol_renderer_Type_.WEBGL&&t.getType()===_ol_LayerType_.VECTOR};_ol_renderer_webgl_VectorLayer_["create"]=function(e,t){return new _ol_renderer_webgl_VectorLayer_(e,t)};_ol_renderer_webgl_VectorLayer_.prototype.composeFrame=function(e,t,i){this.layerState_=t;var r=e.viewState;var n=this.replayGroup_;var o=e.size;var _=e.pixelRatio;var a=this.mapRenderer.getGL();if(n&&!n.isEmpty()){a.enable(a.SCISSOR_TEST);a.scissor(0,0,o[0]*_,o[1]*_);n.replay(i,r.center,r.resolution,r.rotation,o,_,t.opacity,t.managed?e.skippedFeatureUids:{});a.disable(a.SCISSOR_TEST)}};_ol_renderer_webgl_VectorLayer_.prototype.disposeInternal=function(){var e=this.replayGroup_;if(e){var t=this.mapRenderer.getContext();e.getDeleteResourcesFunction(t)();this.replayGroup_=null}_ol_renderer_webgl_Layer_.prototype.disposeInternal.call(this)};_ol_renderer_webgl_VectorLayer_.prototype.forEachFeatureAtCoordinate=function(e,t,i,r,n){if(!this.replayGroup_||!this.layerState_){return undefined}else{var o=this.mapRenderer.getContext();var _=t.viewState;var a=this.getLayer();var s=this.layerState_;var l={};return this.replayGroup_.forEachFeatureAtCoordinate(e,o,_.center,_.resolution,_.rotation,t.size,t.pixelRatio,s.opacity,{},(function(e){var t=_ol_.getUid(e).toString();if(!(t in l)){l[t]=true;return r.call(n,e,a)}}))}};_ol_renderer_webgl_VectorLayer_.prototype.hasFeatureAtCoordinate=function(e,t){if(!this.replayGroup_||!this.layerState_){return false}else{var i=this.mapRenderer.getContext();var r=t.viewState;var n=this.layerState_;return this.replayGroup_.hasFeatureAtCoordinate(e,i,r.center,r.resolution,r.rotation,t.size,t.pixelRatio,n.opacity,t.skippedFeatureUids)}};_ol_renderer_webgl_VectorLayer_.prototype.forEachLayerAtPixel=function(e,t,i,r){var n=_ol_transform_.apply(t.pixelToCoordinateTransform,e.slice());var o=this.hasFeatureAtCoordinate(n,t);if(o){return i.call(r,this.getLayer(),null)}else{return undefined}};_ol_renderer_webgl_VectorLayer_.prototype.handleStyleImageChange_=function(e){this.renderIfReadyAndVisible()};_ol_renderer_webgl_VectorLayer_.prototype.prepareFrame=function(e,t,i){var r=this.getLayer();var n=r.getSource();this.updateLogos(e,n);var o=e.viewHints[_ol_ViewHint_.ANIMATING];var _=e.viewHints[_ol_ViewHint_.INTERACTING];var a=r.getUpdateWhileAnimating();var s=r.getUpdateWhileInteracting();if(!this.dirty_&&(!a&&o)||!s&&_){return true}var l=e.extent;var h=e.viewState;var u=h.projection;var c=h.resolution;var f=e.pixelRatio;var d=r.getRevision();var p=r.getRenderBuffer();var v=r.getRenderOrder();if(v===undefined){v=_ol_renderer_vector_.defaultOrder}var g=_ol_extent_.buffer(l,p*c);if(!this.dirty_&&this.renderedResolution_==c&&this.renderedRevision_==d&&this.renderedRenderOrder_==v&&_ol_extent_.containsExtent(this.renderedExtent_,g)){return true}if(this.replayGroup_){e.postRenderFunctions.push(this.replayGroup_.getDeleteResourcesFunction(i))}this.dirty_=false;var y=new _ol_render_webgl_ReplayGroup_(_ol_renderer_vector_.getTolerance(c,f),g,r.getRenderBuffer());n.loadFeatures(g,c,u);var m=function(e){var t;var i=e.getStyleFunction();if(i){t=i.call(e,c)}else{i=r.getStyleFunction();if(i){t=i(e,c)}}if(t){var n=this.renderFeature(e,c,f,t,y);this.dirty_=this.dirty_||n}};if(v){var E=[];n.forEachFeatureInExtent(g,(function(e){E.push(e)}),this);E.sort(v);E.forEach(m,this)}else{n.forEachFeatureInExtent(g,m,this)}y.finish(i);this.renderedResolution_=c;this.renderedRevision_=d;this.renderedRenderOrder_=v;this.renderedExtent_=g;this.replayGroup_=y;return true};_ol_renderer_webgl_VectorLayer_.prototype.renderFeature=function(e,t,i,r,n){if(!r){return false}var o=false;if(Array.isArray(r)){for(var _=r.length-1,a=0;_>=a;--_){o=_ol_renderer_vector_.renderFeature(n,e,r[_],_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}}else{o=_ol_renderer_vector_.renderFeature(n,e,r,_ol_renderer_vector_.getSquaredTolerance(t,i),this.handleStyleImageChange_,this)||o}return o};if(_ol_.ENABLE_CANVAS){_ol_plugins_.register(_ol_PluginType_.MAP_RENDERER,_ol_renderer_canvas_Map_);_ol_plugins_.registerMultiple(_ol_PluginType_.LAYER_RENDERER,[_ol_renderer_canvas_ImageLayer_,_ol_renderer_canvas_TileLayer_,_ol_renderer_canvas_VectorLayer_,_ol_renderer_canvas_VectorTileLayer_])}if(_ol_.ENABLE_WEBGL){_ol_plugins_.register(_ol_PluginType_.MAP_RENDERER,_ol_renderer_webgl_Map_);_ol_plugins_.registerMultiple(_ol_PluginType_.LAYER_RENDERER,[_ol_renderer_webgl_ImageLayer_,_ol_renderer_webgl_TileLayer_,_ol_renderer_webgl_VectorLayer_])}var _ol_Map_=function(e){e=_ol_obj_.assign({},e);if(!e.controls){e.controls=_ol_control_.defaults()}if(!e.interactions){e.interactions=_ol_interaction_.defaults()}_ol_PluggableMap_.call(this,e)};_ol_.inherits(_ol_Map_,_ol_PluggableMap_);var _ol_style_Image_=function(e){this.opacity_=e.opacity;this.rotateWithView_=e.rotateWithView;this.rotation_=e.rotation;this.scale_=e.scale;this.snapToPixel_=e.snapToPixel};_ol_style_Image_.prototype.getOpacity=function(){return this.opacity_};_ol_style_Image_.prototype.getRotateWithView=function(){return this.rotateWithView_};_ol_style_Image_.prototype.getRotation=function(){return this.rotation_};_ol_style_Image_.prototype.getScale=function(){return this.scale_};_ol_style_Image_.prototype.getSnapToPixel=function(){return this.snapToPixel_};_ol_style_Image_.prototype.getAnchor=function(){};_ol_style_Image_.prototype.getImage=function(e){};_ol_style_Image_.prototype.getHitDetectionImage=function(e){};_ol_style_Image_.prototype.getImageState=function(){};_ol_style_Image_.prototype.getImageSize=function(){};_ol_style_Image_.prototype.getHitDetectionImageSize=function(){};_ol_style_Image_.prototype.getOrigin=function(){};_ol_style_Image_.prototype.getSize=function(){};_ol_style_Image_.prototype.setOpacity=function(e){this.opacity_=e};_ol_style_Image_.prototype.setRotateWithView=function(e){this.rotateWithView_=e};_ol_style_Image_.prototype.setRotation=function(e){this.rotation_=e};_ol_style_Image_.prototype.setScale=function(e){this.scale_=e};_ol_style_Image_.prototype.setSnapToPixel=function(e){this.snapToPixel_=e};_ol_style_Image_.prototype.listenImageChange=function(e,t){};_ol_style_Image_.prototype.load=function(){};_ol_style_Image_.prototype.unlistenImageChange=function(e,t){};var _ol_style_RegularShape_=function(e){this.checksums_=null;this.canvas_=null;this.hitDetectionCanvas_=null;this.fill_=e.fill!==undefined?e.fill:null;this.origin_=[0,0];this.points_=e.points;this.radius_=e.radius!==undefined?e.radius:e.radius1;this.radius2_=e.radius2;this.angle_=e.angle!==undefined?e.angle:0;this.stroke_=e.stroke!==undefined?e.stroke:null;this.anchor_=null;this.size_=null;this.imageSize_=null;this.hitDetectionImageSize_=null;this.atlasManager_=e.atlasManager;this.render_(this.atlasManager_);var t=e.snapToPixel!==undefined?e.snapToPixel:true;var i=e.rotateWithView!==undefined?e.rotateWithView:false;_ol_style_Image_.call(this,{opacity:1,rotateWithView:i,rotation:e.rotation!==undefined?e.rotation:0,scale:1,snapToPixel:t})};_ol_.inherits(_ol_style_RegularShape_,_ol_style_Image_);_ol_style_RegularShape_.prototype.clone=function(){var e=new _ol_style_RegularShape_({fill:this.getFill()?this.getFill().clone():undefined,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),snapToPixel:this.getSnapToPixel(),stroke:this.getStroke()?this.getStroke().clone():undefined,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),atlasManager:this.atlasManager_});e.setOpacity(this.getOpacity());e.setScale(this.getScale());return e};_ol_style_RegularShape_.prototype.getAnchor=function(){return this.anchor_};_ol_style_RegularShape_.prototype.getAngle=function(){return this.angle_};_ol_style_RegularShape_.prototype.getFill=function(){return this.fill_};_ol_style_RegularShape_.prototype.getHitDetectionImage=function(e){return this.hitDetectionCanvas_};_ol_style_RegularShape_.prototype.getImage=function(e){return this.canvas_};_ol_style_RegularShape_.prototype.getImageSize=function(){return this.imageSize_};_ol_style_RegularShape_.prototype.getHitDetectionImageSize=function(){return this.hitDetectionImageSize_};_ol_style_RegularShape_.prototype.getImageState=function(){return _ol_ImageState_.LOADED};_ol_style_RegularShape_.prototype.getOrigin=function(){return this.origin_};_ol_style_RegularShape_.prototype.getPoints=function(){return this.points_};_ol_style_RegularShape_.prototype.getRadius=function(){return this.radius_};_ol_style_RegularShape_.prototype.getRadius2=function(){return this.radius2_};_ol_style_RegularShape_.prototype.getSize=function(){return this.size_};_ol_style_RegularShape_.prototype.getStroke=function(){return this.stroke_};_ol_style_RegularShape_.prototype.listenImageChange=function(e,t){};_ol_style_RegularShape_.prototype.load=function(){};_ol_style_RegularShape_.prototype.unlistenImageChange=function(e,t){};_ol_style_RegularShape_.prototype.render_=function(e){var t;var i="";var r="";var n=0;var o=null;var _=0;var a;var s=0;if(this.stroke_){a=this.stroke_.getColor();if(a===null){a=_ol_render_canvas_.defaultStrokeStyle}a=_ol_colorlike_.asColorLike(a);s=this.stroke_.getWidth();if(s===undefined){s=_ol_render_canvas_.defaultLineWidth}o=this.stroke_.getLineDash();_=this.stroke_.getLineDashOffset();if(!_ol_has_.CANVAS_LINE_DASH){o=null;_=0}r=this.stroke_.getLineJoin();if(r===undefined){r=_ol_render_canvas_.defaultLineJoin}i=this.stroke_.getLineCap();if(i===undefined){i=_ol_render_canvas_.defaultLineCap}n=this.stroke_.getMiterLimit();if(n===undefined){n=_ol_render_canvas_.defaultMiterLimit}}var l=2*(this.radius_+s)+1;var h={strokeStyle:a,strokeWidth:s,size:l,lineCap:i,lineDash:o,lineDashOffset:_,lineJoin:r,miterLimit:n};if(e===undefined){var u=_ol_dom_.createCanvasContext2D(l,l);this.canvas_=u.canvas;l=this.canvas_.width;t=l;this.draw_(h,u,0,0);this.createHitDetectionCanvas_(h)}else{l=Math.round(l);var c=!this.fill_;var f;if(c){f=this.drawHitDetectionCanvas_.bind(this,h)}var d=this.getChecksum();var p=e.add(d,l,l,this.draw_.bind(this,h),f);this.canvas_=p.image;this.origin_=[p.offsetX,p.offsetY];t=p.image.width;if(c){this.hitDetectionCanvas_=p.hitImage;this.hitDetectionImageSize_=[p.hitImage.width,p.hitImage.height]}else{this.hitDetectionCanvas_=this.canvas_;this.hitDetectionImageSize_=[t,t]}}this.anchor_=[l/2,l/2];this.size_=[l,l];this.imageSize_=[t,t]};_ol_style_RegularShape_.prototype.draw_=function(e,t,i,r){var n,o,_;t.setTransform(1,0,0,1,0,0);t.translate(i,r);t.beginPath();var a=this.points_;if(a===Infinity){t.arc(e.size/2,e.size/2,this.radius_,0,2*Math.PI,true)}else{var s=this.radius2_!==undefined?this.radius2_:this.radius_;if(s!==this.radius_){a=2*a}for(n=0;n<=a;n++){o=n*2*Math.PI/a-Math.PI/2+this.angle_;_=n%2===0?this.radius_:s;t.lineTo(e.size/2+_*Math.cos(o),e.size/2+_*Math.sin(o))}}if(this.fill_){var l=this.fill_.getColor();if(l===null){l=_ol_render_canvas_.defaultFillStyle}t.fillStyle=_ol_colorlike_.asColorLike(l);t.fill()}if(this.stroke_){t.strokeStyle=e.strokeStyle;t.lineWidth=e.strokeWidth;if(e.lineDash){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.lineCap=e.lineCap;t.lineJoin=e.lineJoin;t.miterLimit=e.miterLimit;t.stroke()}t.closePath()};_ol_style_RegularShape_.prototype.createHitDetectionCanvas_=function(e){this.hitDetectionImageSize_=[e.size,e.size];if(this.fill_){this.hitDetectionCanvas_=this.canvas_;return}var t=_ol_dom_.createCanvasContext2D(e.size,e.size);this.hitDetectionCanvas_=t.canvas;this.drawHitDetectionCanvas_(e,t,0,0)};_ol_style_RegularShape_.prototype.drawHitDetectionCanvas_=function(e,t,i,r){t.setTransform(1,0,0,1,0,0);t.translate(i,r);t.beginPath();var n=this.points_;if(n===Infinity){t.arc(e.size/2,e.size/2,this.radius_,0,2*Math.PI,true)}else{var o=this.radius2_!==undefined?this.radius2_:this.radius_;if(o!==this.radius_){n=2*n}var _,a,s;for(_=0;_<=n;_++){s=_*2*Math.PI/n-Math.PI/2+this.angle_;a=_%2===0?this.radius_:o;t.lineTo(e.size/2+a*Math.cos(s),e.size/2+a*Math.sin(s))}}t.fillStyle=_ol_render_canvas_.defaultFillStyle;t.fill();if(this.stroke_){t.strokeStyle=e.strokeStyle;t.lineWidth=e.strokeWidth;if(e.lineDash){t.setLineDash(e.lineDash);t.lineDashOffset=e.lineDashOffset}t.stroke()}t.closePath()};_ol_style_RegularShape_.prototype.getChecksum=function(){var e=this.stroke_?this.stroke_.getChecksum():"-";var t=this.fill_?this.fill_.getChecksum():"-";var i=!this.checksums_||(e!=this.checksums_[1]||t!=this.checksums_[2]||this.radius_!=this.checksums_[3]||this.radius2_!=this.checksums_[4]||this.angle_!=this.checksums_[5]||this.points_!=this.checksums_[6]);if(i){var r="r"+e+t+(this.radius_!==undefined?this.radius_.toString():"-")+(this.radius2_!==undefined?this.radius2_.toString():"-")+(this.angle_!==undefined?this.angle_.toString():"-")+(this.points_!==undefined?this.points_.toString():"-");this.checksums_=[r,e,t,this.radius_,this.radius2_,this.angle_,this.points_]}return this.checksums_[0]};var _ol_style_Circle_=function(e){var t=e||{};_ol_style_RegularShape_.call(this,{points:Infinity,fill:t.fill,radius:t.radius,snapToPixel:t.snapToPixel,stroke:t.stroke,atlasManager:t.atlasManager})};_ol_.inherits(_ol_style_Circle_,_ol_style_RegularShape_);_ol_style_Circle_.prototype.clone=function(){var e=new _ol_style_Circle_({fill:this.getFill()?this.getFill().clone():undefined,stroke:this.getStroke()?this.getStroke().clone():undefined,radius:this.getRadius(),snapToPixel:this.getSnapToPixel(),atlasManager:this.atlasManager_});e.setOpacity(this.getOpacity());e.setScale(this.getScale());return e};_ol_style_Circle_.prototype.setRadius=function(e){this.radius_=e;this.render_(this.atlasManager_)};var _ol_style_Fill_=function(e){var t=e||{};this.color_=t.color!==undefined?t.color:null;this.checksum_=undefined};_ol_style_Fill_.prototype.clone=function(){var e=this.getColor();return new _ol_style_Fill_({color:e&&e.slice?e.slice():e||undefined})};_ol_style_Fill_.prototype.getColor=function(){return this.color_};_ol_style_Fill_.prototype.setColor=function(e){this.color_=e;this.checksum_=undefined};_ol_style_Fill_.prototype.getChecksum=function(){if(this.checksum_===undefined){if(this.color_ instanceof CanvasPattern||this.color_ instanceof CanvasGradient){this.checksum_=_ol_.getUid(this.color_).toString()}else{this.checksum_="f"+(this.color_?_ol_color_.asString(this.color_):"-")}}return this.checksum_};var _ol_style_Style_=function(e){var t=e||{};this.geometry_=null;this.geometryFunction_=_ol_style_Style_.defaultGeometryFunction;if(t.geometry!==undefined){this.setGeometry(t.geometry)}this.fill_=t.fill!==undefined?t.fill:null;this.image_=t.image!==undefined?t.image:null;this.renderer_=t.renderer!==undefined?t.renderer:null;this.stroke_=t.stroke!==undefined?t.stroke:null;this.text_=t.text!==undefined?t.text:null;this.zIndex_=t.zIndex};_ol_style_Style_.prototype.clone=function(){var e=this.getGeometry();if(e&&e.clone){e=e.clone()}return new _ol_style_Style_({geometry:e,fill:this.getFill()?this.getFill().clone():undefined,image:this.getImage()?this.getImage().clone():undefined,stroke:this.getStroke()?this.getStroke().clone():undefined,text:this.getText()?this.getText().clone():undefined,zIndex:this.getZIndex()})};_ol_style_Style_.prototype.getRenderer=function(){return this.renderer_};_ol_style_Style_.prototype.setRenderer=function(e){this.renderer_=e};_ol_style_Style_.prototype.getGeometry=function(){return this.geometry_};_ol_style_Style_.prototype.getGeometryFunction=function(){return this.geometryFunction_};_ol_style_Style_.prototype.getFill=function(){return this.fill_};_ol_style_Style_.prototype.setFill=function(e){this.fill_=e};_ol_style_Style_.prototype.getImage=function(){return this.image_};_ol_style_Style_.prototype.setImage=function(e){this.image_=e};_ol_style_Style_.prototype.getStroke=function(){return this.stroke_};_ol_style_Style_.prototype.setStroke=function(e){this.stroke_=e};_ol_style_Style_.prototype.getText=function(){return this.text_};_ol_style_Style_.prototype.setText=function(e){this.text_=e};_ol_style_Style_.prototype.getZIndex=function(){return this.zIndex_};_ol_style_Style_.prototype.setGeometry=function(e){if(typeof e==="function"){this.geometryFunction_=e}else if(typeof e==="string"){this.geometryFunction_=function(t){return t.get(e)}}else if(!e){this.geometryFunction_=_ol_style_Style_.defaultGeometryFunction}else if(e!==undefined){this.geometryFunction_=function(){return e}}this.geometry_=e};_ol_style_Style_.prototype.setZIndex=function(e){this.zIndex_=e};_ol_style_Style_.createFunction=function(e){var t;if(typeof e==="function"){t=e}else{var i;if(Array.isArray(e)){i=e}else{_ol_asserts_.assert(e instanceof _ol_style_Style_,41);i=[e]}t=function(){return i}}return t};_ol_style_Style_.default_=null;_ol_style_Style_.defaultFunction=function(e,t){if(!_ol_style_Style_.default_){var i=new _ol_style_Fill_({color:"rgba(255,255,255,0.4)"});var r=new _ol_style_Stroke_({color:"#3399CC",width:1.25});_ol_style_Style_.default_=[new _ol_style_Style_({image:new _ol_style_Circle_({fill:i,stroke:r,radius:5}),fill:i,stroke:r})]}return _ol_style_Style_.default_};_ol_style_Style_.createDefaultEditing=function(){var e={};var t=[255,255,255,1];var i=[0,153,255,1];var r=3;e[_ol_geom_GeometryType_.POLYGON]=[new _ol_style_Style_({fill:new _ol_style_Fill_({color:[255,255,255,.5]})})];e[_ol_geom_GeometryType_.MULTI_POLYGON]=e[_ol_geom_GeometryType_.POLYGON];e[_ol_geom_GeometryType_.LINE_STRING]=[new _ol_style_Style_({stroke:new _ol_style_Stroke_({color:t,width:r+2})}),new _ol_style_Style_({stroke:new _ol_style_Stroke_({color:i,width:r})})];e[_ol_geom_GeometryType_.MULTI_LINE_STRING]=e[_ol_geom_GeometryType_.LINE_STRING];e[_ol_geom_GeometryType_.CIRCLE]=e[_ol_geom_GeometryType_.POLYGON].concat(e[_ol_geom_GeometryType_.LINE_STRING]);e[_ol_geom_GeometryType_.POINT]=[new _ol_style_Style_({image:new _ol_style_Circle_({radius:r*2,fill:new _ol_style_Fill_({color:i}),stroke:new _ol_style_Stroke_({color:t,width:r/2})}),zIndex:Infinity})];e[_ol_geom_GeometryType_.MULTI_POINT]=e[_ol_geom_GeometryType_.POINT];e[_ol_geom_GeometryType_.GEOMETRY_COLLECTION]=e[_ol_geom_GeometryType_.POLYGON].concat(e[_ol_geom_GeometryType_.LINE_STRING],e[_ol_geom_GeometryType_.POINT]);return e};_ol_style_Style_.defaultGeometryFunction=function(e){return e.getGeometry()};var _ol_Feature_=function(e){_ol_Object_.call(this);this.id_=undefined;this.geometryName_="geometry";this.style_=null;this.styleFunction_=undefined;this.geometryChangeKey_=null;_ol_events_.listen(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);if(e!==undefined){if(e instanceof _ol_geom_Geometry_||!e){var t=e;this.setGeometry(t)}else{var i=e;this.setProperties(i)}}};_ol_.inherits(_ol_Feature_,_ol_Object_);_ol_Feature_.prototype.clone=function(){var e=new _ol_Feature_(this.getProperties());e.setGeometryName(this.getGeometryName());var t=this.getGeometry();if(t){e.setGeometry(t.clone())}var i=this.getStyle();if(i){e.setStyle(i)}return e};_ol_Feature_.prototype.getGeometry=function(){return this.get(this.geometryName_)};_ol_Feature_.prototype.getId=function(){return this.id_};_ol_Feature_.prototype.getGeometryName=function(){return this.geometryName_};_ol_Feature_.prototype.getStyle=function(){return this.style_};_ol_Feature_.prototype.getStyleFunction=function(){return this.styleFunction_};_ol_Feature_.prototype.handleGeometryChange_=function(){this.changed()};_ol_Feature_.prototype.handleGeometryChanged_=function(){if(this.geometryChangeKey_){_ol_events_.unlistenByKey(this.geometryChangeKey_);this.geometryChangeKey_=null}var e=this.getGeometry();if(e){this.geometryChangeKey_=_ol_events_.listen(e,_ol_events_EventType_.CHANGE,this.handleGeometryChange_,this)}this.changed()};_ol_Feature_.prototype.setGeometry=function(e){this.set(this.geometryName_,e)};_ol_Feature_.prototype.setStyle=function(e){this.style_=e;this.styleFunction_=!e?undefined:_ol_Feature_.createStyleFunction(e);this.changed()};_ol_Feature_.prototype.setId=function(e){this.id_=e;this.changed()};_ol_Feature_.prototype.setGeometryName=function(e){_ol_events_.unlisten(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);this.geometryName_=e;_ol_events_.listen(this,_ol_Object_.getChangeEventType(this.geometryName_),this.handleGeometryChanged_,this);this.handleGeometryChanged_()};_ol_Feature_.createStyleFunction=function(e){var t;if(typeof e==="function"){if(e.length==2){t=function(t){return e(this,t)}}else{t=e}}else{var i;if(Array.isArray(e)){i=e}else{_ol_asserts_.assert(e instanceof _ol_style_Style_,41);i=[e]}t=function(){return i}}return t};var _ol_tilecoord_={};_ol_tilecoord_.createOrUpdate=function(e,t,i,r){if(r!==undefined){r[0]=e;r[1]=t;r[2]=i;return r}else{return[e,t,i]}};_ol_tilecoord_.getKeyZXY=function(e,t,i){return e+"/"+t+"/"+i};_ol_tilecoord_.getKey=function(e){return _ol_tilecoord_.getKeyZXY(e[0],e[1],e[2])};_ol_tilecoord_.fromKey=function(e){return e.split("/").map(Number)};_ol_tilecoord_.hash=function(e){return(e[1]<<e[0])+e[2]};_ol_tilecoord_.quadKey=function(e){var t=e[0];var i=new Array(t);var r=1<<t-1;var n,o;for(n=0;n<t;++n){o=48;if(e[1]&r){o+=1}if(e[2]&r){o+=2}i[n]=String.fromCharCode(o);r>>=1}return i.join("")};_ol_tilecoord_.withinExtentAndZ=function(e,t){var i=e[0];var r=e[1];var n=e[2];if(t.getMinZoom()>i||i>t.getMaxZoom()){return false}var o=t.getExtent();var _;if(!o){_=t.getFullTileRange(i)}else{_=t.getTileRangeForExtentAndZ(o,i)}if(!_){return true}else{return _.containsXY(r,n)}};var _ol_TileUrlFunction_={};_ol_TileUrlFunction_.createFromTemplate=function(e,t){var i=/\{z\}/g;var r=/\{x\}/g;var n=/\{y\}/g;var o=/\{-y\}/g;return function(_,a,s){if(!_){return undefined}else{return e.replace(i,_[0].toString()).replace(r,_[1].toString()).replace(n,(function(){var e=-_[2]-1;return e.toString()})).replace(o,(function(){var e=_[0];var i=t.getFullTileRange(e);_ol_asserts_.assert(i,55);var r=i.getHeight()+_[2];return r.toString()}))}}};_ol_TileUrlFunction_.createFromTemplates=function(e,t){var i=e.length;var r=new Array(i);for(var n=0;n<i;++n){r[n]=_ol_TileUrlFunction_.createFromTemplate(e[n],t)}return _ol_TileUrlFunction_.createFromTileUrlFunctions(r)};_ol_TileUrlFunction_.createFromTileUrlFunctions=function(e){if(e.length===1){return e[0]}return function(t,i,r){if(!t){return undefined}else{var n=_ol_tilecoord_.hash(t);var o=_ol_math_.modulo(n,e.length);return e[o](t,i,r)}}};_ol_TileUrlFunction_.nullTileUrlFunction=function(e,t,i){return undefined};_ol_TileUrlFunction_.expandUrl=function(e){var t=[];var i=/\{([a-z])-([a-z])\}/.exec(e);if(i){var r=i[1].charCodeAt(0);var n=i[2].charCodeAt(0);var o;for(o=r;o<=n;++o){t.push(e.replace(i[0],String.fromCharCode(o)))}return t}i=i=/\{(\d+)-(\d+)\}/.exec(e);if(i){var _=parseInt(i[2],10);for(var a=parseInt(i[1],10);a<=_;a++){t.push(e.replace(i[0],a.toString()))}return t}t.push(e);return t};var _ol_Tile_=function(e,t,i){_ol_events_EventTarget_.call(this);var r=i?i:{};this.tileCoord=e;this.state=t;this.interimTile=null;this.key="";this.transition_=r.transition===undefined?250:r.transition;this.transitionStarts_={}};_ol_.inherits(_ol_Tile_,_ol_events_EventTarget_);_ol_Tile_.prototype.changed=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_Tile_.prototype.getKey=function(){return this.key+"/"+this.tileCoord};_ol_Tile_.prototype.getInterimTile=function(){if(!this.interimTile){return this}var e=this.interimTile;do{if(e.getState()==_ol_TileState_.LOADED){return e}e=e.interimTile}while(e);return this};_ol_Tile_.prototype.refreshInterimChain=function(){if(!this.interimTile){return}var e=this.interimTile;var t=this;do{if(e.getState()==_ol_TileState_.LOADED){e.interimTile=null;break}else if(e.getState()==_ol_TileState_.LOADING){t=e}else if(e.getState()==_ol_TileState_.IDLE){t.interimTile=e.interimTile}else{t=e}e=t.interimTile}while(e)};_ol_Tile_.prototype.getTileCoord=function(){return this.tileCoord};_ol_Tile_.prototype.getState=function(){return this.state};_ol_Tile_.prototype.setState=function(e){this.state=e;this.changed()};_ol_Tile_.prototype.load=function(){};_ol_Tile_.prototype.getAlpha=function(e,t){if(!this.transition_){return 1}var i=this.transitionStarts_[e];if(!i){i=t;this.transitionStarts_[e]=i}else if(i===-1){return 1}var r=t-i+1e3/60;if(r>=this.transition_){return 1}return _ol_easing_.easeIn(r/this.transition_)};_ol_Tile_.prototype.inTransition=function(e){if(!this.transition_){return false}return this.transitionStarts_[e]!==-1};_ol_Tile_.prototype.endTransition=function(e){if(this.transition_){this.transitionStarts_[e]=-1}};var _ol_ImageTile_=function(e,t,i,r,n,o){_ol_Tile_.call(this,e,t,o);this.crossOrigin_=r;this.src_=i;this.image_=new Image;if(r!==null){this.image_.crossOrigin=r}this.imageListenerKeys_=null;this.tileLoadFunction_=n};_ol_.inherits(_ol_ImageTile_,_ol_Tile_);_ol_ImageTile_.prototype.disposeInternal=function(){if(this.state==_ol_TileState_.LOADING){this.unlistenImage_();this.image_=_ol_ImageTile_.getBlankImage()}if(this.interimTile){this.interimTile.dispose()}this.state=_ol_TileState_.ABORT;this.changed();_ol_Tile_.prototype.disposeInternal.call(this)};_ol_ImageTile_.prototype.getImage=function(){return this.image_};_ol_ImageTile_.prototype.getKey=function(){return this.src_};_ol_ImageTile_.prototype.handleImageError_=function(){this.state=_ol_TileState_.ERROR;this.unlistenImage_();this.image_=_ol_ImageTile_.getBlankImage();this.changed()};_ol_ImageTile_.prototype.handleImageLoad_=function(){if(this.image_.naturalWidth&&this.image_.naturalHeight){this.state=_ol_TileState_.LOADED}else{this.state=_ol_TileState_.EMPTY}this.unlistenImage_();this.changed()};_ol_ImageTile_.prototype.load=function(){if(this.state==_ol_TileState_.ERROR){this.state=_ol_TileState_.IDLE;this.image_=new Image;if(this.crossOrigin_!==null){this.image_.crossOrigin=this.crossOrigin_}}if(this.state==_ol_TileState_.IDLE){this.state=_ol_TileState_.LOADING;this.changed();this.imageListenerKeys_=[_ol_events_.listenOnce(this.image_,_ol_events_EventType_.ERROR,this.handleImageError_,this),_ol_events_.listenOnce(this.image_,_ol_events_EventType_.LOAD,this.handleImageLoad_,this)];this.tileLoadFunction_(this,this.src_)}};_ol_ImageTile_.prototype.unlistenImage_=function(){this.imageListenerKeys_.forEach(_ol_events_.unlistenByKey);this.imageListenerKeys_=null};_ol_ImageTile_.getBlankImage=function(){var e=_ol_dom_.createCanvasContext2D(1,1);e.fillStyle="rgba(0,0,0,0)";e.fillRect(0,0,1,1);return e.canvas};var _ol_TileCache_=function(e){_ol_structs_LRUCache_.call(this,e)};_ol_.inherits(_ol_TileCache_,_ol_structs_LRUCache_);_ol_TileCache_.prototype.expireCache=function(e){var t,i;while(this.canExpireCache()){t=this.peekLast();i=t.tileCoord[0].toString();if(i in e&&e[i].contains(t.tileCoord)){break}else{this.pop().dispose()}}};_ol_TileCache_.prototype.pruneExceptNewestZ=function(){if(this.getCount()===0){return}var e=this.peekFirstKey();var t=_ol_tilecoord_.fromKey(e);var i=t[0];this.forEach((function(e){if(e.tileCoord[0]!==i){this.remove(_ol_tilecoord_.getKey(e.tileCoord));e.dispose()}}),this)};var _ol_reproj_={};_ol_reproj_.calculateSourceResolution=function(e,t,i,r){var n=_ol_proj_.transform(i,t,e);var o=_ol_proj_.getPointResolution(t,r,i);var _=t.getMetersPerUnit();if(_!==undefined){o*=_}var a=e.getMetersPerUnit();if(a!==undefined){o/=a}var s=e.getExtent();if(!s||_ol_extent_.containsCoordinate(s,n)){var l=_ol_proj_.getPointResolution(e,o,n)/o;if(isFinite(l)&&l>0){o/=l}}return o};_ol_reproj_.enlargeClipPoint_=function(e,t,i,r){var n=i-e,o=r-t;var _=Math.sqrt(n*n+o*o);return[Math.round(i+n/_),Math.round(r+o/_)]};_ol_reproj_.render=function(e,t,i,r,n,o,_,a,s,l,h){var u=_ol_dom_.createCanvasContext2D(Math.round(i*e),Math.round(i*t));if(s.length===0){return u.canvas}u.scale(i,i);var c=_ol_extent_.createEmpty();s.forEach((function(e,t,i){_ol_extent_.extend(c,e.extent)}));var f=_ol_extent_.getWidth(c);var d=_ol_extent_.getHeight(c);var p=_ol_dom_.createCanvasContext2D(Math.round(i*f/r),Math.round(i*d/r));var v=i/r;s.forEach((function(e,t,i){var r=e.extent[0]-c[0];var n=-(e.extent[3]-c[3]);var o=_ol_extent_.getWidth(e.extent);var _=_ol_extent_.getHeight(e.extent);p.drawImage(e.image,l,l,e.image.width-2*l,e.image.height-2*l,r*v,n*v,o*v,_*v)}));var g=_ol_extent_.getTopLeft(_);a.getTriangles().forEach((function(e,t,n){var _=e.source,a=e.target;var s=_[0][0],l=_[0][1],h=_[1][0],f=_[1][1],d=_[2][0],v=_[2][1];var y=(a[0][0]-g[0])/o,m=-(a[0][1]-g[1])/o;var E=(a[1][0]-g[0])/o,x=-(a[1][1]-g[1])/o;var T=(a[2][0]-g[0])/o,R=-(a[2][1]-g[1])/o;var S=s,C=l;s=0;l=0;h-=S;f-=C;d-=S;v-=C;var I=[[h,f,0,0,E-y],[d,v,0,0,T-y],[0,0,h,f,x-m],[0,0,d,v,R-m]];var M=_ol_math_.solveLinearSystem(I);if(!M){return}u.save();u.beginPath();var w=(y+E+T)/3,b=(m+x+R)/3;var L=_ol_reproj_.enlargeClipPoint_(w,b,y,m);var P=_ol_reproj_.enlargeClipPoint_(w,b,E,x);var A=_ol_reproj_.enlargeClipPoint_(w,b,T,R);u.moveTo(P[0],P[1]);u.lineTo(L[0],L[1]);u.lineTo(A[0],A[1]);u.clip();u.transform(M[0],M[2],M[1],M[3],y,m);u.translate(c[0]-S,c[3]-C);u.scale(r/i,-r/i);u.drawImage(p.canvas,0,0);u.restore()}));if(h){u.save();u.strokeStyle="black";u.lineWidth=1;a.getTriangles().forEach((function(e,t,i){var r=e.target;var n=(r[0][0]-g[0])/o,_=-(r[0][1]-g[1])/o;var a=(r[1][0]-g[0])/o,s=-(r[1][1]-g[1])/o;var l=(r[2][0]-g[0])/o,h=-(r[2][1]-g[1])/o;u.beginPath();u.moveTo(a,s);u.lineTo(n,_);u.lineTo(l,h);u.closePath();u.stroke()}));u.restore()}return u.canvas};var _ol_reproj_Triangulation_=function(e,t,i,r,n){this.sourceProj_=e;this.targetProj_=t;var o={};var _=_ol_proj_.getTransform(this.targetProj_,this.sourceProj_);this.transformInv_=function(e){var t=e[0]+"/"+e[1];if(!o[t]){o[t]=_(e)}return o[t]};this.maxSourceExtent_=r;this.errorThresholdSquared_=n*n;this.triangles_=[];this.wrapsXInSource_=false;this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!r&&!!this.sourceProj_.getExtent()&&_ol_extent_.getWidth(r)==_ol_extent_.getWidth(this.sourceProj_.getExtent());this.sourceWorldWidth_=this.sourceProj_.getExtent()?_ol_extent_.getWidth(this.sourceProj_.getExtent()):null;this.targetWorldWidth_=this.targetProj_.getExtent()?_ol_extent_.getWidth(this.targetProj_.getExtent()):null;var a=_ol_extent_.getTopLeft(i);var s=_ol_extent_.getTopRight(i);var l=_ol_extent_.getBottomRight(i);var h=_ol_extent_.getBottomLeft(i);var u=this.transformInv_(a);var c=this.transformInv_(s);var f=this.transformInv_(l);var d=this.transformInv_(h);this.addQuad_(a,s,l,h,u,c,f,d,_ol_.RASTER_REPROJECTION_MAX_SUBDIVISION);if(this.wrapsXInSource_){var p=Infinity;this.triangles_.forEach((function(e,t,i){p=Math.min(p,e.source[0][0],e.source[1][0],e.source[2][0])}));this.triangles_.forEach((function(e){if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-p>this.sourceWorldWidth_/2){var t=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];if(t[0][0]-p>this.sourceWorldWidth_/2){t[0][0]-=this.sourceWorldWidth_}if(t[1][0]-p>this.sourceWorldWidth_/2){t[1][0]-=this.sourceWorldWidth_}if(t[2][0]-p>this.sourceWorldWidth_/2){t[2][0]-=this.sourceWorldWidth_}var i=Math.min(t[0][0],t[1][0],t[2][0]);var r=Math.max(t[0][0],t[1][0],t[2][0]);if(r-i<this.sourceWorldWidth_/2){e.source=t}}}),this)}o={}};_ol_reproj_Triangulation_.prototype.addTriangle_=function(e,t,i,r,n,o){this.triangles_.push({source:[r,n,o],target:[e,t,i]})};_ol_reproj_Triangulation_.prototype.addQuad_=function(e,t,i,r,n,o,_,a,s){var l=_ol_extent_.boundingExtent([n,o,_,a]);var h=this.sourceWorldWidth_?_ol_extent_.getWidth(l)/this.sourceWorldWidth_:null;var u=this.sourceWorldWidth_;var c=this.sourceProj_.canWrapX()&&h>.5&&h<1;var f=false;if(s>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){var d=_ol_extent_.boundingExtent([e,t,i,r]);var p=_ol_extent_.getWidth(d)/this.targetWorldWidth_;f|=p>_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH}if(!c&&this.sourceProj_.isGlobal()&&h){f|=h>_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH}}if(!f&&this.maxSourceExtent_){if(!_ol_extent_.intersects(l,this.maxSourceExtent_)){return}}if(!f){if(!isFinite(n[0])||!isFinite(n[1])||!isFinite(o[0])||!isFinite(o[1])||!isFinite(_[0])||!isFinite(_[1])||!isFinite(a[0])||!isFinite(a[1])){if(s>0){f=true}else{return}}}if(s>0){if(!f){var v=[(e[0]+i[0])/2,(e[1]+i[1])/2];var g=this.transformInv_(v);var y;if(c){var m=(_ol_math_.modulo(n[0],u)+_ol_math_.modulo(_[0],u))/2;y=m-_ol_math_.modulo(g[0],u)}else{y=(n[0]+_[0])/2-g[0]}var E=(n[1]+_[1])/2-g[1];var x=y*y+E*E;f=x>this.errorThresholdSquared_}if(f){if(Math.abs(e[0]-i[0])<=Math.abs(e[1]-i[1])){var T=[(t[0]+i[0])/2,(t[1]+i[1])/2];var R=this.transformInv_(T);var S=[(r[0]+e[0])/2,(r[1]+e[1])/2];var C=this.transformInv_(S);this.addQuad_(e,t,T,S,n,o,R,C,s-1);this.addQuad_(S,T,i,r,C,R,_,a,s-1)}else{var I=[(e[0]+t[0])/2,(e[1]+t[1])/2];var M=this.transformInv_(I);var w=[(i[0]+r[0])/2,(i[1]+r[1])/2];var b=this.transformInv_(w);this.addQuad_(e,I,w,r,n,M,b,a,s-1);this.addQuad_(I,t,i,w,M,o,_,b,s-1)}return}}if(c){if(!this.canWrapXInSource_){return}this.wrapsXInSource_=true}this.addTriangle_(e,i,r,n,_,a);this.addTriangle_(e,t,i,n,o,_)};_ol_reproj_Triangulation_.prototype.calculateSourceExtent=function(){var e=_ol_extent_.createEmpty();this.triangles_.forEach((function(t,i,r){var n=t.source;_ol_extent_.extendCoordinate(e,n[0]);_ol_extent_.extendCoordinate(e,n[1]);_ol_extent_.extendCoordinate(e,n[2])}));return e};_ol_reproj_Triangulation_.prototype.getTriangles=function(){return this.triangles_};var _ol_reproj_Tile_=function(e,t,i,r,n,o,_,a,s,l,h){_ol_Tile_.call(this,n,_ol_TileState_.IDLE);this.renderEdges_=h!==undefined?h:false;this.pixelRatio_=_;this.gutter_=a;this.canvas_=null;this.sourceTileGrid_=t;this.targetTileGrid_=r;this.wrappedTileCoord_=o?o:n;this.sourceTiles_=[];this.sourcesListenerKeys_=null;this.sourceZ_=0;var u=r.getTileCoordExtent(this.wrappedTileCoord_);var c=this.targetTileGrid_.getExtent();var f=this.sourceTileGrid_.getExtent();var d=c?_ol_extent_.getIntersection(u,c):u;if(_ol_extent_.getArea(d)===0){this.state=_ol_TileState_.EMPTY;return}var p=e.getExtent();if(p){if(!f){f=p}else{f=_ol_extent_.getIntersection(f,p)}}var v=r.getResolution(this.wrappedTileCoord_[0]);var g=_ol_extent_.getCenter(d);var y=_ol_reproj_.calculateSourceResolution(e,i,g,v);if(!isFinite(y)||y<=0){this.state=_ol_TileState_.EMPTY;return}var m=l!==undefined?l:_ol_.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD;this.triangulation_=new _ol_reproj_Triangulation_(e,i,d,f,y*m);if(this.triangulation_.getTriangles().length===0){this.state=_ol_TileState_.EMPTY;return}this.sourceZ_=t.getZForResolution(y);var E=this.triangulation_.calculateSourceExtent();if(f){if(e.canWrapX()){E[1]=_ol_math_.clamp(E[1],f[1],f[3]);E[3]=_ol_math_.clamp(E[3],f[1],f[3])}else{E=_ol_extent_.getIntersection(E,f)}}if(!_ol_extent_.getArea(E)){this.state=_ol_TileState_.EMPTY}else{var x=t.getTileRangeForExtentAndZ(E,this.sourceZ_);for(var T=x.minX;T<=x.maxX;T++){for(var R=x.minY;R<=x.maxY;R++){var S=s(this.sourceZ_,T,R,_);if(S){this.sourceTiles_.push(S)}}}if(this.sourceTiles_.length===0){this.state=_ol_TileState_.EMPTY}}};_ol_.inherits(_ol_reproj_Tile_,_ol_Tile_);_ol_reproj_Tile_.prototype.disposeInternal=function(){if(this.state==_ol_TileState_.LOADING){this.unlistenSources_()}_ol_Tile_.prototype.disposeInternal.call(this)};_ol_reproj_Tile_.prototype.getImage=function(){return this.canvas_};_ol_reproj_Tile_.prototype.reproject_=function(){var e=[];this.sourceTiles_.forEach((function(t,i,r){if(t&&t.getState()==_ol_TileState_.LOADED){e.push({extent:this.sourceTileGrid_.getTileCoordExtent(t.tileCoord),image:t.getImage()})}}),this);this.sourceTiles_.length=0;if(e.length===0){this.state=_ol_TileState_.ERROR}else{var t=this.wrappedTileCoord_[0];var i=this.targetTileGrid_.getTileSize(t);var r=typeof i==="number"?i:i[0];var n=typeof i==="number"?i:i[1];var o=this.targetTileGrid_.getResolution(t);var _=this.sourceTileGrid_.getResolution(this.sourceZ_);var a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=_ol_reproj_.render(r,n,this.pixelRatio_,_,this.sourceTileGrid_.getExtent(),o,a,this.triangulation_,e,this.gutter_,this.renderEdges_);this.state=_ol_TileState_.LOADED}this.changed()};_ol_reproj_Tile_.prototype.load=function(){if(this.state==_ol_TileState_.IDLE){this.state=_ol_TileState_.LOADING;this.changed();var e=0;this.sourcesListenerKeys_=[];this.sourceTiles_.forEach((function(t,i,r){var n=t.getState();if(n==_ol_TileState_.IDLE||n==_ol_TileState_.LOADING){e++;var o;o=_ol_events_.listen(t,_ol_events_EventType_.CHANGE,(function(i){var r=t.getState();if(r==_ol_TileState_.LOADED||r==_ol_TileState_.ERROR||r==_ol_TileState_.EMPTY){_ol_events_.unlistenByKey(o);e--;if(e===0){this.unlistenSources_();this.reproject_()}}}),this);this.sourcesListenerKeys_.push(o)}}),this);this.sourceTiles_.forEach((function(e,t,i){var r=e.getState();if(r==_ol_TileState_.IDLE){e.load()}}));if(e===0){setTimeout(this.reproject_.bind(this),0)}}};_ol_reproj_Tile_.prototype.unlistenSources_=function(){this.sourcesListenerKeys_.forEach(_ol_events_.unlistenByKey);this.sourcesListenerKeys_=null};var _ol_tilegrid_TileGrid_=function(e){this.minZoom=e.minZoom!==undefined?e.minZoom:0;this.resolutions_=e.resolutions;_ol_asserts_.assert(_ol_array_.isSorted(this.resolutions_,(function(e,t){return t-e}),true),17);var t;if(!e.origins){for(var i=0,r=this.resolutions_.length-1;i<r;++i){if(!t){t=this.resolutions_[i]/this.resolutions_[i+1]}else{if(this.resolutions_[i]/this.resolutions_[i+1]!==t){t=undefined;break}}}}this.zoomFactor_=t;this.maxZoom=this.resolutions_.length-1;this.origin_=e.origin!==undefined?e.origin:null;this.origins_=null;if(e.origins!==undefined){this.origins_=e.origins;_ol_asserts_.assert(this.origins_.length==this.resolutions_.length,20)}var n=e.extent;if(n!==undefined&&!this.origin_&&!this.origins_){this.origin_=_ol_extent_.getTopLeft(n)}_ol_asserts_.assert(!this.origin_&&this.origins_||this.origin_&&!this.origins_,18);this.tileSizes_=null;if(e.tileSizes!==undefined){this.tileSizes_=e.tileSizes;_ol_asserts_.assert(this.tileSizes_.length==this.resolutions_.length,19)}this.tileSize_=e.tileSize!==undefined?e.tileSize:!this.tileSizes_?_ol_.DEFAULT_TILE_SIZE:null;_ol_asserts_.assert(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,22);this.extent_=n!==undefined?n:null;this.fullTileRanges_=null;this.tmpSize_=[0,0];if(e.sizes!==undefined){this.fullTileRanges_=e.sizes.map((function(e,t){var i=new _ol_TileRange_(Math.min(0,e[0]),Math.max(e[0]-1,-1),Math.min(0,e[1]),Math.max(e[1]-1,-1));return i}),this)}else if(n){this.calculateTileRanges_(n)}};_ol_tilegrid_TileGrid_.tmpTileCoord_=[0,0,0];_ol_tilegrid_TileGrid_.prototype.forEachTileCoord=function(e,t,i){var r=this.getTileRangeForExtentAndZ(e,t);for(var n=r.minX,o=r.maxX;n<=o;++n){for(var _=r.minY,a=r.maxY;_<=a;++_){i([t,n,_])}}};_ol_tilegrid_TileGrid_.prototype.forEachTileCoordParentTileRange=function(e,t,i,r,n){var o,_,a;var s=null;var l=e[0]-1;if(this.zoomFactor_===2){_=e[1];a=e[2]}else{s=this.getTileCoordExtent(e,n)}while(l>=this.minZoom){if(this.zoomFactor_===2){_=Math.floor(_/2);a=Math.floor(a/2);o=_ol_TileRange_.createOrUpdate(_,_,a,a,r)}else{o=this.getTileRangeForExtentAndZ(s,l,r)}if(t.call(i,l,o)){return true}--l}return false};_ol_tilegrid_TileGrid_.prototype.getExtent=function(){return this.extent_};_ol_tilegrid_TileGrid_.prototype.getMaxZoom=function(){return this.maxZoom};_ol_tilegrid_TileGrid_.prototype.getMinZoom=function(){return this.minZoom};_ol_tilegrid_TileGrid_.prototype.getOrigin=function(e){if(this.origin_){return this.origin_}else{return this.origins_[e]}};_ol_tilegrid_TileGrid_.prototype.getResolution=function(e){return this.resolutions_[e]};_ol_tilegrid_TileGrid_.prototype.getResolutions=function(){return this.resolutions_};_ol_tilegrid_TileGrid_.prototype.getTileCoordChildTileRange=function(e,t,i){if(e[0]<this.maxZoom){if(this.zoomFactor_===2){var r=e[1]*2;var n=e[2]*2;return _ol_TileRange_.createOrUpdate(r,r+1,n,n+1,t)}var o=this.getTileCoordExtent(e,i);return this.getTileRangeForExtentAndZ(o,e[0]+1,t)}return null};_ol_tilegrid_TileGrid_.prototype.getTileRangeExtent=function(e,t,i){var r=this.getOrigin(e);var n=this.getResolution(e);var o=_ol_size_.toSize(this.getTileSize(e),this.tmpSize_);var _=r[0]+t.minX*o[0]*n;var a=r[0]+(t.maxX+1)*o[0]*n;var s=r[1]+t.minY*o[1]*n;var l=r[1]+(t.maxY+1)*o[1]*n;return _ol_extent_.createOrUpdate(_,s,a,l,i)};_ol_tilegrid_TileGrid_.prototype.getTileRangeForExtentAndZ=function(e,t,i){var r=_ol_tilegrid_TileGrid_.tmpTileCoord_;this.getTileCoordForXYAndZ_(e[0],e[1],t,false,r);var n=r[1];var o=r[2];this.getTileCoordForXYAndZ_(e[2],e[3],t,true,r);return _ol_TileRange_.createOrUpdate(n,r[1],o,r[2],i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordCenter=function(e){var t=this.getOrigin(e[0]);var i=this.getResolution(e[0]);var r=_ol_size_.toSize(this.getTileSize(e[0]),this.tmpSize_);return[t[0]+(e[1]+.5)*r[0]*i,t[1]+(e[2]+.5)*r[1]*i]};_ol_tilegrid_TileGrid_.prototype.getTileCoordExtent=function(e,t){var i=this.getOrigin(e[0]);var r=this.getResolution(e[0]);var n=_ol_size_.toSize(this.getTileSize(e[0]),this.tmpSize_);var o=i[0]+e[1]*n[0]*r;var _=i[1]+e[2]*n[1]*r;var a=o+n[0]*r;var s=_+n[1]*r;return _ol_extent_.createOrUpdate(o,_,a,s,t)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForCoordAndResolution=function(e,t,i){return this.getTileCoordForXYAndResolution_(e[0],e[1],t,false,i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForXYAndResolution_=function(e,t,i,r,n){var o=this.getZForResolution(i);var _=i/this.getResolution(o);var a=this.getOrigin(o);var s=_ol_size_.toSize(this.getTileSize(o),this.tmpSize_);var l=r?.5:0;var h=r?0:.5;var u=Math.floor((e-a[0])/i+l);var c=Math.floor((t-a[1])/i+h);var f=_*u/s[0];var d=_*c/s[1];if(r){f=Math.ceil(f)-1;d=Math.ceil(d)-1}else{f=Math.floor(f);d=Math.floor(d)}return _ol_tilecoord_.createOrUpdate(o,f,d,n)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForXYAndZ_=function(e,t,i,r,n){var o=this.getOrigin(i);var _=this.getResolution(i);var a=_ol_size_.toSize(this.getTileSize(i),this.tmpSize_);var s=r?.5:0;var l=r?0:.5;var h=Math.floor((e-o[0])/_+s);var u=Math.floor((t-o[1])/_+l);var c=h/a[0];var f=u/a[1];if(r){c=Math.ceil(c)-1;f=Math.ceil(f)-1}else{c=Math.floor(c);f=Math.floor(f)}return _ol_tilecoord_.createOrUpdate(i,c,f,n)};_ol_tilegrid_TileGrid_.prototype.getTileCoordForCoordAndZ=function(e,t,i){return this.getTileCoordForXYAndZ_(e[0],e[1],t,false,i)};_ol_tilegrid_TileGrid_.prototype.getTileCoordResolution=function(e){return this.resolutions_[e[0]]};_ol_tilegrid_TileGrid_.prototype.getTileSize=function(e){if(this.tileSize_){return this.tileSize_}else{return this.tileSizes_[e]}};_ol_tilegrid_TileGrid_.prototype.getFullTileRange=function(e){if(!this.fullTileRanges_){return null}else{return this.fullTileRanges_[e]}};_ol_tilegrid_TileGrid_.prototype.getZForResolution=function(e,t){var i=_ol_array_.linearFindNearest(this.resolutions_,e,t||0);return _ol_math_.clamp(i,this.minZoom,this.maxZoom)};_ol_tilegrid_TileGrid_.prototype.calculateTileRanges_=function(e){var t=this.resolutions_.length;var i=new Array(t);for(var r=this.minZoom;r<t;++r){i[r]=this.getTileRangeForExtentAndZ(e,r)}this.fullTileRanges_=i};var _ol_tilegrid_={};_ol_tilegrid_.getForProjection=function(e){var t=e.getDefaultTileGrid();if(!t){t=_ol_tilegrid_.createForProjection(e);e.setDefaultTileGrid(t)}return t};_ol_tilegrid_.wrapX=function(e,t,i){var r=t[0];var n=e.getTileCoordCenter(t);var o=_ol_tilegrid_.extentFromProjection(i);if(!_ol_extent_.containsCoordinate(o,n)){var _=_ol_extent_.getWidth(o);var a=Math.ceil((o[0]-n[0])/_);n[0]+=_*a;return e.getTileCoordForCoordAndZ(n,r)}else{return t}};_ol_tilegrid_.createForExtent=function(e,t,i,r){var n=r!==undefined?r:_ol_extent_Corner_.TOP_LEFT;var o=_ol_tilegrid_.resolutionsFromExtent(e,t,i);return new _ol_tilegrid_TileGrid_({extent:e,origin:_ol_extent_.getCorner(e,n),resolutions:o,tileSize:i})};_ol_tilegrid_.createXYZ=function(e){var t={};_ol_obj_.assign(t,e!==undefined?e:{});if(t.extent===undefined){t.extent=_ol_proj_.get("EPSG:3857").getExtent()}t.resolutions=_ol_tilegrid_.resolutionsFromExtent(t.extent,t.maxZoom,t.tileSize);delete t.maxZoom;return new _ol_tilegrid_TileGrid_(t)};_ol_tilegrid_.resolutionsFromExtent=function(e,t,i){var r=t!==undefined?t:_ol_.DEFAULT_MAX_ZOOM;var n=_ol_extent_.getHeight(e);var o=_ol_extent_.getWidth(e);var _=_ol_size_.toSize(i!==undefined?i:_ol_.DEFAULT_TILE_SIZE);var a=Math.max(o/_[0],n/_[1]);var s=r+1;var l=new Array(s);for(var h=0;h<s;++h){l[h]=a/Math.pow(2,h)}return l};_ol_tilegrid_.createForProjection=function(e,t,i,r){var n=_ol_tilegrid_.extentFromProjection(e);return _ol_tilegrid_.createForExtent(n,t,i,r)};_ol_tilegrid_.extentFromProjection=function(e){e=_ol_proj_.get(e);var t=e.getExtent();if(!t){var i=180*_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES]/e.getMetersPerUnit();t=_ol_extent_.createOrUpdate(-i,-i,i,i)}return t};var _ol_Attribution_=function(e){this.html_=e.html;this.tileRanges_=e.tileRanges?e.tileRanges:null};_ol_Attribution_.prototype.getHTML=function(){return this.html_};_ol_Attribution_.prototype.intersectsAnyTileRange=function(e,t,i){if(!this.tileRanges_){return true}var r,n,o,_;for(_ in e){if(!(_ in this.tileRanges_)){continue}o=e[_];var a;for(r=0,n=this.tileRanges_[_].length;r<n;++r){a=this.tileRanges_[_][r];if(a.intersects(o)){return true}var s=t.getTileRangeForExtentAndZ(_ol_tilegrid_.extentFromProjection(i),parseInt(_,10));var l=s.getWidth();if(o.minX<s.minX||o.maxX>s.maxX){if(a.intersects(new _ol_TileRange_(_ol_math_.modulo(o.minX,l),_ol_math_.modulo(o.maxX,l),o.minY,o.maxY))){return true}if(o.getWidth()>l&&a.intersects(s)){return true}}}}return false};var _ol_source_Source_=function(e){_ol_Object_.call(this);this.projection_=_ol_proj_.get(e.projection);this.attributions_=null;this.attributions2_=this.adaptAttributions_(e.attributions);this.logo_=e.logo;this.state_=e.state!==undefined?e.state:_ol_source_State_.READY;this.wrapX_=e.wrapX!==undefined?e.wrapX:false};_ol_.inherits(_ol_source_Source_,_ol_Object_);_ol_source_Source_.prototype.adaptAttributions_=function(e){if(!e){return null}if(e instanceof _ol_Attribution_){this.attributions_=[e];return function(t){return[e.getHTML()]}}if(Array.isArray(e)){if(e[0]instanceof _ol_Attribution_){this.attributions_=e;var t=e.map((function(e){return e.getHTML()}));return function(e){return t}}this.attributions_=e.map((function(e){return new _ol_Attribution_({html:e})}));return function(t){return e}}if(typeof e==="function"){return e}this.attributions_=[new _ol_Attribution_({html:e})];return function(t){return[e]}};_ol_source_Source_.prototype.forEachFeatureAtCoordinate=_ol_.nullFunction;_ol_source_Source_.prototype.getAttributions=function(){return this.attributions_};_ol_source_Source_.prototype.getAttributions2=function(){return this.attributions2_};_ol_source_Source_.prototype.getLogo=function(){return this.logo_};_ol_source_Source_.prototype.getProjection=function(){return this.projection_};_ol_source_Source_.prototype.getResolutions=function(){};_ol_source_Source_.prototype.getState=function(){return this.state_};_ol_source_Source_.prototype.getWrapX=function(){return this.wrapX_};_ol_source_Source_.prototype.refresh=function(){this.changed()};_ol_source_Source_.prototype.setAttributions=function(e){this.attributions2_=this.adaptAttributions_(e);this.changed()};_ol_source_Source_.prototype.setLogo=function(e){this.logo_=e};_ol_source_Source_.prototype.setState=function(e){this.state_=e;this.changed()};var _ol_source_Tile_=function(e){_ol_source_Source_.call(this,{attributions:e.attributions,extent:e.extent,logo:e.logo,projection:e.projection,state:e.state,wrapX:e.wrapX});this.opaque_=e.opaque!==undefined?e.opaque:false;this.tilePixelRatio_=e.tilePixelRatio!==undefined?e.tilePixelRatio:1;this.tileGrid=e.tileGrid!==undefined?e.tileGrid:null;this.tileCache=new _ol_TileCache_(e.cacheSize);this.tmpSize=[0,0];this.key_="";this.tileOptions={transition:e.transition}};_ol_.inherits(_ol_source_Tile_,_ol_source_Source_);_ol_source_Tile_.prototype.canExpireCache=function(){return this.tileCache.canExpireCache()};_ol_source_Tile_.prototype.expireCache=function(e,t){var i=this.getTileCacheForProjection(e);if(i){i.expireCache(t)}};_ol_source_Tile_.prototype.forEachLoadedTile=function(e,t,i,r){var n=this.getTileCacheForProjection(e);if(!n){return false}var o=true;var _,a,s;for(var l=i.minX;l<=i.maxX;++l){for(var h=i.minY;h<=i.maxY;++h){a=_ol_tilecoord_.getKeyZXY(t,l,h);s=false;if(n.containsKey(a)){_=n.get(a);s=_.getState()===_ol_TileState_.LOADED;if(s){s=r(_)!==false}}if(!s){o=false}}}return o};_ol_source_Tile_.prototype.getGutter=function(e){return 0};_ol_source_Tile_.prototype.getKey=function(){return this.key_};_ol_source_Tile_.prototype.setKey=function(e){if(this.key_!==e){this.key_=e;this.changed()}};_ol_source_Tile_.prototype.getOpaque=function(e){return this.opaque_};_ol_source_Tile_.prototype.getResolutions=function(){return this.tileGrid.getResolutions()};_ol_source_Tile_.prototype.getTile=function(e,t,i,r,n){};_ol_source_Tile_.prototype.getTileGrid=function(){return this.tileGrid};_ol_source_Tile_.prototype.getTileGridForProjection=function(e){if(!this.tileGrid){return _ol_tilegrid_.getForProjection(e)}else{return this.tileGrid}};_ol_source_Tile_.prototype.getTileCacheForProjection=function(e){var t=this.getProjection();if(t&&!_ol_proj_.equivalent(t,e)){return null}else{return this.tileCache}};_ol_source_Tile_.prototype.getTilePixelRatio=function(e){return this.tilePixelRatio_};_ol_source_Tile_.prototype.getTilePixelSize=function(e,t,i){var r=this.getTileGridForProjection(i);var n=this.getTilePixelRatio(t);var o=_ol_size_.toSize(r.getTileSize(e),this.tmpSize);if(n==1){return o}else{return _ol_size_.scale(o,n,this.tmpSize)}};_ol_source_Tile_.prototype.getTileCoordForTileUrlFunction=function(e,t){var i=t!==undefined?t:this.getProjection();var r=this.getTileGridForProjection(i);if(this.getWrapX()&&i.isGlobal()){e=_ol_tilegrid_.wrapX(r,e,i)}return _ol_tilecoord_.withinExtentAndZ(e,r)?e:null};_ol_source_Tile_.prototype.refresh=function(){this.tileCache.clear();this.changed()};_ol_source_Tile_.prototype.useTile=_ol_.nullFunction;_ol_source_Tile_.Event=function(e,t){_ol_events_Event_.call(this,e);this.tile=t};_ol_.inherits(_ol_source_Tile_.Event,_ol_events_Event_);var _ol_source_TileEventType_={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};var _ol_source_UrlTile_=function(e){_ol_source_Tile_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,extent:e.extent,logo:e.logo,opaque:e.opaque,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition});this.tileLoadFunction=e.tileLoadFunction;this.tileUrlFunction=this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.nullTileUrlFunction;this.urls=null;if(e.urls){this.setUrls(e.urls)}else if(e.url){this.setUrl(e.url)}if(e.tileUrlFunction){this.setTileUrlFunction(e.tileUrlFunction)}this.tileLoadingKeys_={}};_ol_.inherits(_ol_source_UrlTile_,_ol_source_Tile_);_ol_source_UrlTile_.prototype.getTileLoadFunction=function(){return this.tileLoadFunction};_ol_source_UrlTile_.prototype.getTileUrlFunction=function(){return this.tileUrlFunction};_ol_source_UrlTile_.prototype.getUrls=function(){return this.urls};_ol_source_UrlTile_.prototype.handleTileChange=function(e){var t=e.target;var i=_ol_.getUid(t);var r=t.getState();var n;if(r==_ol_TileState_.LOADING){this.tileLoadingKeys_[i]=true;n=_ol_source_TileEventType_.TILELOADSTART}else if(i in this.tileLoadingKeys_){delete this.tileLoadingKeys_[i];n=r==_ol_TileState_.ERROR?_ol_source_TileEventType_.TILELOADERROR:r==_ol_TileState_.LOADED||r==_ol_TileState_.ABORT?_ol_source_TileEventType_.TILELOADEND:undefined}if(n!=undefined){this.dispatchEvent(new _ol_source_Tile_.Event(n,t))}};_ol_source_UrlTile_.prototype.setTileLoadFunction=function(e){this.tileCache.clear();this.tileLoadFunction=e;this.changed()};_ol_source_UrlTile_.prototype.setTileUrlFunction=function(e,t){this.tileUrlFunction=e;this.tileCache.pruneExceptNewestZ();if(typeof t!=="undefined"){this.setKey(t)}else{this.changed()}};_ol_source_UrlTile_.prototype.setUrl=function(e){var t=this.urls=_ol_TileUrlFunction_.expandUrl(e);this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTemplates(t,this.tileGrid),e)};_ol_source_UrlTile_.prototype.setUrls=function(e){this.urls=e;var t=e.join("\n");this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTemplates(e,this.tileGrid),t)};_ol_source_UrlTile_.prototype.useTile=function(e,t,i){var r=_ol_tilecoord_.getKeyZXY(e,t,i);if(this.tileCache.containsKey(r)){this.tileCache.get(r)}};var _ol_source_TileImage_=function(e){_ol_source_UrlTile_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,extent:e.extent,logo:e.logo,opaque:e.opaque,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:_ol_source_TileImage_.defaultTileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX,transition:e.transition});this.crossOrigin=e.crossOrigin!==undefined?e.crossOrigin:null;this.tileClass=e.tileClass!==undefined?e.tileClass:_ol_ImageTile_;this.tileCacheForProjection={};this.tileGridForProjection={};this.reprojectionErrorThreshold_=e.reprojectionErrorThreshold;this.renderReprojectionEdges_=false};_ol_.inherits(_ol_source_TileImage_,_ol_source_UrlTile_);_ol_source_TileImage_.prototype.canExpireCache=function(){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.canExpireCache.call(this)}if(this.tileCache.canExpireCache()){return true}else{for(var e in this.tileCacheForProjection){if(this.tileCacheForProjection[e].canExpireCache()){return true}}}return false};_ol_source_TileImage_.prototype.expireCache=function(e,t){if(!_ol_.ENABLE_RASTER_REPROJECTION){_ol_source_UrlTile_.prototype.expireCache.call(this,e,t);return}var i=this.getTileCacheForProjection(e);this.tileCache.expireCache(this.tileCache==i?t:{});for(var r in this.tileCacheForProjection){var n=this.tileCacheForProjection[r];n.expireCache(n==i?t:{})}};_ol_source_TileImage_.prototype.getGutter=function(e){if(_ol_.ENABLE_RASTER_REPROJECTION&&this.getProjection()&&e&&!_ol_proj_.equivalent(this.getProjection(),e)){return 0}else{return this.getGutterInternal()}};_ol_source_TileImage_.prototype.getGutterInternal=function(){return 0};_ol_source_TileImage_.prototype.getOpaque=function(e){if(_ol_.ENABLE_RASTER_REPROJECTION&&this.getProjection()&&e&&!_ol_proj_.equivalent(this.getProjection(),e)){return false}else{return _ol_source_UrlTile_.prototype.getOpaque.call(this,e)}};_ol_source_TileImage_.prototype.getTileGridForProjection=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.getTileGridForProjection.call(this,e)}var t=this.getProjection();if(this.tileGrid&&(!t||_ol_proj_.equivalent(t,e))){return this.tileGrid}else{var i=_ol_.getUid(e).toString();if(!(i in this.tileGridForProjection)){this.tileGridForProjection[i]=_ol_tilegrid_.getForProjection(e)}return this.tileGridForProjection[i]}};_ol_source_TileImage_.prototype.getTileCacheForProjection=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION){return _ol_source_UrlTile_.prototype.getTileCacheForProjection.call(this,e)}var t=this.getProjection();if(!t||_ol_proj_.equivalent(t,e)){return this.tileCache}else{var i=_ol_.getUid(e).toString();if(!(i in this.tileCacheForProjection)){this.tileCacheForProjection[i]=new _ol_TileCache_(this.tileCache.highWaterMark)}return this.tileCacheForProjection[i]}};_ol_source_TileImage_.prototype.createTile_=function(e,t,i,r,n,o){var _=[e,t,i];var a=this.getTileCoordForTileUrlFunction(_,n);var s=a?this.tileUrlFunction(a,r,n):undefined;var l=new this.tileClass(_,s!==undefined?_ol_TileState_.IDLE:_ol_TileState_.EMPTY,s!==undefined?s:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);l.key=o;_ol_events_.listen(l,_ol_events_EventType_.CHANGE,this.handleTileChange,this);return l};_ol_source_TileImage_.prototype.getTile=function(e,t,i,r,n){var o=this.getProjection();if(!_ol_.ENABLE_RASTER_REPROJECTION||!o||!n||_ol_proj_.equivalent(o,n)){return this.getTileInternal(e,t,i,r,o||n)}else{var _=this.getTileCacheForProjection(n);var a=[e,t,i];var s;var l=_ol_tilecoord_.getKey(a);if(_.containsKey(l)){s=_.get(l)}var h=this.getKey();if(s&&s.key==h){return s}else{var u=this.getTileGridForProjection(o);var c=this.getTileGridForProjection(n);var f=this.getTileCoordForTileUrlFunction(a,n);var d=new _ol_reproj_Tile_(o,u,n,c,a,f,this.getTilePixelRatio(r),this.getGutterInternal(),function(e,t,i,r){return this.getTileInternal(e,t,i,r,o)}.bind(this),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_);d.key=h;if(s){d.interimTile=s;d.refreshInterimChain();_.replace(l,d)}else{_.set(l,d)}return d}}};_ol_source_TileImage_.prototype.getTileInternal=function(e,t,i,r,n){var o=null;var _=_ol_tilecoord_.getKeyZXY(e,t,i);var a=this.getKey();if(!this.tileCache.containsKey(_)){o=this.createTile_(e,t,i,r,n,a);this.tileCache.set(_,o)}else{o=this.tileCache.get(_);if(o.key!=a){var s=o;o=this.createTile_(e,t,i,r,n,a);if(s.getState()==_ol_TileState_.IDLE){o.interimTile=s.interimTile}else{o.interimTile=s}o.refreshInterimChain();this.tileCache.replace(_,o)}}return o};_ol_source_TileImage_.prototype.setRenderReprojectionEdges=function(e){if(!_ol_.ENABLE_RASTER_REPROJECTION||this.renderReprojectionEdges_==e){return}this.renderReprojectionEdges_=e;for(var t in this.tileCacheForProjection){this.tileCacheForProjection[t].clear()}this.changed()};_ol_source_TileImage_.prototype.setTileGridForProjection=function(e,t){if(_ol_.ENABLE_RASTER_REPROJECTION){var i=_ol_proj_.get(e);if(i){var r=_ol_.getUid(i).toString();if(!(r in this.tileGridForProjection)){this.tileGridForProjection[r]=t}}}};_ol_source_TileImage_.defaultTileLoadFunction=function(e,t){e.getImage().src=t};var _ol_source_WMTSRequestEncoding_={KVP:"KVP",REST:"REST"};var _ol_tilegrid_WMTS_=function(e){this.matrixIds_=e.matrixIds;_ol_tilegrid_TileGrid_.call(this,{extent:e.extent,origin:e.origin,origins:e.origins,resolutions:e.resolutions,tileSize:e.tileSize,tileSizes:e.tileSizes,sizes:e.sizes})};_ol_.inherits(_ol_tilegrid_WMTS_,_ol_tilegrid_TileGrid_);_ol_tilegrid_WMTS_.prototype.getMatrixId=function(e){return this.matrixIds_[e]};_ol_tilegrid_WMTS_.prototype.getMatrixIds=function(){return this.matrixIds_};_ol_tilegrid_WMTS_.createFromCapabilitiesMatrixSet=function(e,t,i){var r=[];var n=[];var o=[];var _=[];var a=[];var s=i!==undefined?i:[];var l="SupportedCRS";var h="TileMatrix";var u="Identifier";var c="ScaleDenominator";var f="TopLeftCorner";var d="TileWidth";var p="TileHeight";var v=e[l];var g=_ol_proj_.get(v.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(v);var y=g.getMetersPerUnit();var m=g.getAxisOrientation().substr(0,2)=="ne";e[h].sort((function(e,t){return t[c]-e[c]}));e[h].forEach((function(e,t,i){var l;if(s.length>0){l=_ol_array_.find(s,(function(t,i,r){return e[u]==t[h]}))}else{l=true}if(l){n.push(e[u]);var v=e[c]*28e-5/y;var g=e[d];var E=e[p];if(m){o.push([e[f][1],e[f][0]])}else{o.push(e[f])}r.push(v);_.push(g==E?g:[g,E]);a.push([e["MatrixWidth"],-e["MatrixHeight"]])}}));return new _ol_tilegrid_WMTS_({extent:t,origins:o,resolutions:r,matrixIds:n,tileSizes:_,sizes:a})};var _ol_uri_={};_ol_uri_.appendParams=function(e,t){var i=[];Object.keys(t).forEach((function(e){if(t[e]!==null&&t[e]!==undefined){i.push(e+"="+encodeURIComponent(t[e]))}}));var r=i.join("&");e=e.replace(/[?&]$/,"");e=e.indexOf("?")===-1?e+"?":e+"&";return e+r};var _ol_source_WMTS_=function(e){this.version_=e.version!==undefined?e.version:"1.0.0";this.format_=e.format!==undefined?e.format:"image/jpeg";this.dimensions_=e.dimensions!==undefined?e.dimensions:{};this.layer_=e.layer;this.matrixSet_=e.matrixSet;this.style_=e.style;var t=e.urls;if(t===undefined&&e.url!==undefined){t=_ol_TileUrlFunction_.expandUrl(e.url)}this.requestEncoding_=e.requestEncoding!==undefined?e.requestEncoding:_ol_source_WMTSRequestEncoding_.KVP;var i=this.requestEncoding_;var r=e.tileGrid;var n={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};if(i==_ol_source_WMTSRequestEncoding_.KVP){_ol_obj_.assign(n,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_})}var o=this.dimensions_;this.createFromWMTSTemplate_=function(e){e=i==_ol_source_WMTSRequestEncoding_.KVP?_ol_uri_.appendParams(e,n):e.replace(/\{(\w+?)\}/g,(function(e,t){return t.toLowerCase()in n?n[t.toLowerCase()]:e}));return function(t,n,_){if(!t){return undefined}else{var a={TileMatrix:r.getMatrixId(t[0]),TileCol:t[1],TileRow:-t[2]-1};_ol_obj_.assign(a,o);var s=e;if(i==_ol_source_WMTSRequestEncoding_.KVP){s=_ol_uri_.appendParams(s,a)}else{s=s.replace(/\{(\w+?)\}/g,(function(e,t){return a[t]}))}return s}}};var _=t&&t.length>0?_ol_TileUrlFunction_.createFromTileUrlFunctions(t.map(this.createFromWMTSTemplate_)):_ol_TileUrlFunction_.nullTileUrlFunction;_ol_source_TileImage_.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,logo:e.logo,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:r,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:_,urls:t,wrapX:e.wrapX!==undefined?e.wrapX:false,transition:e.transition});this.setKey(this.getKeyForDimensions_())};_ol_.inherits(_ol_source_WMTS_,_ol_source_TileImage_);_ol_source_WMTS_.prototype.setUrls=function(e){this.urls=e;var t=e.join("\n");this.setTileUrlFunction(this.fixedTileUrlFunction?this.fixedTileUrlFunction.bind(this):_ol_TileUrlFunction_.createFromTileUrlFunctions(e.map(this.createFromWMTSTemplate_.bind(this))),t)};_ol_source_WMTS_.prototype.getDimensions=function(){return this.dimensions_};_ol_source_WMTS_.prototype.getFormat=function(){return this.format_};_ol_source_WMTS_.prototype.getLayer=function(){return this.layer_};_ol_source_WMTS_.prototype.getMatrixSet=function(){return this.matrixSet_};_ol_source_WMTS_.prototype.getRequestEncoding=function(){return this.requestEncoding_};_ol_source_WMTS_.prototype.getStyle=function(){return this.style_};_ol_source_WMTS_.prototype.getVersion=function(){return this.version_};_ol_source_WMTS_.prototype.getKeyForDimensions_=function(){var e=0;var t=[];for(var i in this.dimensions_){t[e++]=i+"-"+this.dimensions_[i]}return t.join("/")};_ol_source_WMTS_.prototype.updateDimensions=function(e){_ol_obj_.assign(this.dimensions_,e);this.setKey(this.getKeyForDimensions_())};_ol_source_WMTS_.optionsFromCapabilities=function(e,t){var i=e["Contents"]["Layer"];var r=_ol_array_.find(i,(function(e,i,r){return e["Identifier"]==t["layer"]}));if(r===null){return null}var n=e["Contents"]["TileMatrixSet"];var o,_,a;if(r["TileMatrixSetLink"].length>1){if("projection"in t){o=_ol_array_.findIndex(r["TileMatrixSetLink"],(function(e,i,r){var o=_ol_array_.find(n,(function(t){return t["Identifier"]==e["TileMatrixSet"]}));var _=o["SupportedCRS"];var a=_ol_proj_.get(_.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(_);var s=_ol_proj_.get(t["projection"]);if(a&&s){return _ol_proj_.equivalent(a,s)}else{return _==t["projection"]}}))}else{o=_ol_array_.findIndex(r["TileMatrixSetLink"],(function(e,i,r){return e["TileMatrixSet"]==t["matrixSet"]}))}}else{o=0}if(o<0){o=0}_=r["TileMatrixSetLink"][o]["TileMatrixSet"];a=r["TileMatrixSetLink"][o]["TileMatrixSetLimits"];var s=r["Format"][0];if("format"in t){s=t["format"]}o=_ol_array_.findIndex(r["Style"],(function(e,i,r){if("style"in t){return e["Title"]==t["style"]}else{return e["isDefault"]}}));if(o<0){o=0}var l=r["Style"][o]["Identifier"];var h={};if("Dimension"in r){r["Dimension"].forEach((function(e,t,i){var r=e["Identifier"];var n=e["Default"];if(n===undefined){n=e["Value"][0]}h[r]=n}))}var u=e["Contents"]["TileMatrixSet"];var c=_ol_array_.find(u,(function(e,t,i){return e["Identifier"]==_}));var f;var d=c["SupportedCRS"];if(d){f=_ol_proj_.get(d.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"))||_ol_proj_.get(d)}if("projection"in t){var p=_ol_proj_.get(t["projection"]);if(p){if(!f||_ol_proj_.equivalent(p,f)){f=p}}}var v=r["WGS84BoundingBox"];var g,y;if(v!==undefined){var m=_ol_proj_.get("EPSG:4326").getExtent();y=v[0]==m[0]&&v[2]==m[2];g=_ol_proj_.transformExtent(v,"EPSG:4326",f);var E=f.getExtent();if(E){if(!_ol_extent_.containsExtent(E,g)){g=undefined}}}var x=_ol_tilegrid_WMTS_.createFromCapabilitiesMatrixSet(c,g,a);var T=[];var R=t["requestEncoding"];R=R!==undefined?R:"";if("OperationsMetadata"in e&&"GetTile"in e["OperationsMetadata"]){var S=e["OperationsMetadata"]["GetTile"]["DCP"]["HTTP"]["Get"];for(var C=0,I=S.length;C<I;++C){if(S[C]["Constraint"]){var M=_ol_array_.find(S[C]["Constraint"],(function(e){return e["name"]=="GetEncoding"}));var w=M["AllowedValues"]["Value"];if(R===""){R=w[0]}if(R===_ol_source_WMTSRequestEncoding_.KVP){if(_ol_array_.includes(w,_ol_source_WMTSRequestEncoding_.KVP)){T.push(S[C]["href"])}}else{break}}else if(S[C]["href"]){R=_ol_source_WMTSRequestEncoding_.KVP;T.push(S[C]["href"])}}}if(T.length===0){R=_ol_source_WMTSRequestEncoding_.REST;r["ResourceURL"].forEach((function(e){if(e["resourceType"]==="tile"){s=e["format"];T.push(e["template"])}}))}return{urls:T,layer:t["layer"],matrixSet:_,format:s,projection:f,requestEncoding:R,tileGrid:x,style:l,dimensions:h,wrapX:y,crossOrigin:t["crossOrigin"]}};var _ol_format_FormatType_={ARRAY_BUFFER:"arraybuffer",JSON:"json",TEXT:"text",XML:"xml"};var _ol_xml_={};_ol_xml_.DOCUMENT=document.implementation.createDocument("","",null);_ol_xml_.createElementNS=function(e,t){return _ol_xml_.DOCUMENT.createElementNS(e,t)};_ol_xml_.getAllTextContent=function(e,t){return _ol_xml_.getAllTextContent_(e,t,[]).join("")};_ol_xml_.getAllTextContent_=function(e,t,i){if(e.nodeType==Node.CDATA_SECTION_NODE||e.nodeType==Node.TEXT_NODE){if(t){i.push(String(e.nodeValue).replace(/(\r\n|\r|\n)/g,""))}else{i.push(e.nodeValue)}}else{var r;for(r=e.firstChild;r;r=r.nextSibling){_ol_xml_.getAllTextContent_(r,t,i)}}return i};_ol_xml_.isDocument=function(e){return e instanceof Document};_ol_xml_.isNode=function(e){return e instanceof Node};_ol_xml_.getAttributeNS=function(e,t,i){return e.getAttributeNS(t,i)||""};_ol_xml_.setAttributeNS=function(e,t,i,r){e.setAttributeNS(t,i,r)};_ol_xml_.parse=function(e){return(new DOMParser).parseFromString(e,"application/xml")};_ol_xml_.makeArrayExtender=function(e,t){return function(i,r){var n=e.call(t,i,r);if(n!==undefined){var o=r[r.length-1];_ol_array_.extend(o,n)}}};_ol_xml_.makeArrayPusher=function(e,t){return function(i,r){var n=e.call(t!==undefined?t:this,i,r);if(n!==undefined){var o=r[r.length-1];o.push(n)}}};_ol_xml_.makeReplacer=function(e,t){return function(i,r){var n=e.call(t!==undefined?t:this,i,r);if(n!==undefined){r[r.length-1]=n}}};_ol_xml_.makeObjectPropertyPusher=function(e,t,i){return function(r,n){var o=e.call(i!==undefined?i:this,r,n);if(o!==undefined){var _=n[n.length-1];var a=t!==undefined?t:r.localName;var s;if(a in _){s=_[a]}else{s=_[a]=[]}s.push(o)}}};_ol_xml_.makeObjectPropertySetter=function(e,t,i){return function(r,n){var o=e.call(i!==undefined?i:this,r,n);if(o!==undefined){var _=n[n.length-1];var a=t!==undefined?t:r.localName;_[a]=o}}};_ol_xml_.makeChildAppender=function(e,t){return function(i,r,n){e.call(t!==undefined?t:this,i,r,n);var o=n[n.length-1];var _=o.node;_.appendChild(i)}};_ol_xml_.makeArraySerializer=function(e,t){var i,r;return function(t,n,o){if(i===undefined){i={};var _={};_[t.localName]=e;i[t.namespaceURI]=_;r=_ol_xml_.makeSimpleNodeFactory(t.localName)}_ol_xml_.serialize(i,r,n,o)}};_ol_xml_.makeSimpleNodeFactory=function(e,t){var i=e;return function(e,r,n){var o=r[r.length-1];var _=o.node;var a=i;if(a===undefined){a=n}var s=t;if(t===undefined){s=_.namespaceURI}return _ol_xml_.createElementNS(s,a)}};_ol_xml_.OBJECT_PROPERTY_NODE_FACTORY=_ol_xml_.makeSimpleNodeFactory();_ol_xml_.makeSequence=function(e,t){var i=t.length;var r=new Array(i);for(var n=0;n<i;++n){r[n]=e[t[n]]}return r};_ol_xml_.makeStructureNS=function(e,t,i){var r=i!==undefined?i:{};var n,o;for(n=0,o=e.length;n<o;++n){r[e[n]]=t}return r};_ol_xml_.parseNode=function(e,t,i,r){var n;for(n=t.firstElementChild;n;n=n.nextElementSibling){var o=e[n.namespaceURI];if(o!==undefined){var _=o[n.localName];if(_!==undefined){_.call(r,n,i)}}}};_ol_xml_.pushParseAndPop=function(e,t,i,r,n){r.push(e);_ol_xml_.parseNode(t,i,r,n);return r.pop()};_ol_xml_.serialize=function(e,t,i,r,n,o){var _=(n!==undefined?n:i).length;var a,s;for(var l=0;l<_;++l){a=i[l];if(a!==undefined){s=t.call(o,a,r,n!==undefined?n[l]:undefined);if(s!==undefined){e[s.namespaceURI][s.localName].call(o,s,a,r)}}}};_ol_xml_.pushSerializeAndPop=function(e,t,i,r,n,o,_){n.push(e);_ol_xml_.serialize(t,i,r,n,o,_);return n.pop()};var _ol_featureloader_={};_ol_featureloader_.loadFeaturesXhr=function(e,t,i,r){return function(n,o,_){var a=new XMLHttpRequest;a.open("GET",typeof e==="function"?e(n,o,_):e,true);if(t.getType()==_ol_format_FormatType_.ARRAY_BUFFER){a.responseType="arraybuffer"}a.onload=function(e){if(!a.status||a.status>=200&&a.status<300){var n=t.getType();var o;if(n==_ol_format_FormatType_.JSON||n==_ol_format_FormatType_.TEXT){o=a.responseText}else if(n==_ol_format_FormatType_.XML){o=a.responseXML;if(!o){o=_ol_xml_.parse(a.responseText)}}else if(n==_ol_format_FormatType_.ARRAY_BUFFER){o=a.response}if(o){i.call(this,t.readFeatures(o,{featureProjection:_}),t.readProjection(o),t.getLastExtent())}else{r.call(this)}}else{r.call(this)}}.bind(this);a.onerror=function(){r.call(this)}.bind(this);a.send()}};_ol_featureloader_.xhr=function(e,t){return _ol_featureloader_.loadFeaturesXhr(e,t,(function(e,t){this.addFeatures(e)}),_ol_.nullFunction)};var _ol_loadingstrategy_={};_ol_loadingstrategy_.all=function(e,t){return[[-Infinity,-Infinity,Infinity,Infinity]]};_ol_loadingstrategy_.bbox=function(e,t){return[e]};_ol_loadingstrategy_.tile=function(e){return function(t,i){var r=e.getZForResolution(i);var n=e.getTileRangeForExtentAndZ(t,r);var o=[];var _=[r,0,0];for(_[1]=n.minX;_[1]<=n.maxX;++_[1]){for(_[2]=n.minY;_[2]<=n.maxY;++_[2]){o.push(e.getTileCoordExtent(_))}}return o}};var _ol_source_VectorEventType_={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature"};var _ol_source_Vector_=function(e){var t=e||{};_ol_source_Source_.call(this,{attributions:t.attributions,logo:t.logo,projection:undefined,state:_ol_source_State_.READY,wrapX:t.wrapX!==undefined?t.wrapX:true});this.loader_=_ol_.nullFunction;this.format_=t.format;this.overlaps_=t.overlaps==undefined?true:t.overlaps;this.url_=t.url;if(t.loader!==undefined){this.loader_=t.loader}else if(this.url_!==undefined){_ol_asserts_.assert(this.format_,7);this.loader_=_ol_featureloader_.xhr(this.url_,this.format_)}this.strategy_=t.strategy!==undefined?t.strategy:_ol_loadingstrategy_.all;var i=t.useSpatialIndex!==undefined?t.useSpatialIndex:true;this.featuresRtree_=i?new _ol_structs_RBush_:null;this.loadedExtentsRtree_=new _ol_structs_RBush_;this.nullGeometryFeatures_={};this.idIndex_={};this.undefIdIndex_={};this.featureChangeKeys_={};this.featuresCollection_=null;var r,n;if(t.features instanceof _ol_Collection_){r=t.features;n=r.getArray()}else if(Array.isArray(t.features)){n=t.features}if(!i&&r===undefined){r=new _ol_Collection_(n)}if(n!==undefined){this.addFeaturesInternal(n)}if(r!==undefined){this.bindFeaturesCollection_(r)}};_ol_.inherits(_ol_source_Vector_,_ol_source_Source_);_ol_source_Vector_.prototype.addFeature=function(e){this.addFeatureInternal(e);this.changed()};_ol_source_Vector_.prototype.addFeatureInternal=function(e){var t=_ol_.getUid(e).toString();if(!this.addToIndex_(t,e)){return}this.setupChangeEvents_(t,e);var i=e.getGeometry();if(i){var r=i.getExtent();if(this.featuresRtree_){this.featuresRtree_.insert(r,e)}}else{this.nullGeometryFeatures_[t]=e}this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.ADDFEATURE,e))};_ol_source_Vector_.prototype.setupChangeEvents_=function(e,t){this.featureChangeKeys_[e]=[_ol_events_.listen(t,_ol_events_EventType_.CHANGE,this.handleFeatureChange_,this),_ol_events_.listen(t,_ol_ObjectEventType_.PROPERTYCHANGE,this.handleFeatureChange_,this)]};_ol_source_Vector_.prototype.addToIndex_=function(e,t){var i=true;var r=t.getId();if(r!==undefined){if(!(r.toString()in this.idIndex_)){this.idIndex_[r.toString()]=t}else{i=false}}else{_ol_asserts_.assert(!(e in this.undefIdIndex_),30);this.undefIdIndex_[e]=t}return i};_ol_source_Vector_.prototype.addFeatures=function(e){this.addFeaturesInternal(e);this.changed()};_ol_source_Vector_.prototype.addFeaturesInternal=function(e){var t,i,r,n;var o=[];var _=[];var a=[];for(i=0,r=e.length;i<r;i++){n=e[i];t=_ol_.getUid(n).toString();if(this.addToIndex_(t,n)){_.push(n)}}for(i=0,r=_.length;i<r;i++){n=_[i];t=_ol_.getUid(n).toString();this.setupChangeEvents_(t,n);var s=n.getGeometry();if(s){var l=s.getExtent();o.push(l);a.push(n)}else{this.nullGeometryFeatures_[t]=n}}if(this.featuresRtree_){this.featuresRtree_.load(o,a)}for(i=0,r=_.length;i<r;i++){this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.ADDFEATURE,_[i]))}};_ol_source_Vector_.prototype.bindFeaturesCollection_=function(e){var t=false;_ol_events_.listen(this,_ol_source_VectorEventType_.ADDFEATURE,(function(i){if(!t){t=true;e.push(i.feature);t=false}}));_ol_events_.listen(this,_ol_source_VectorEventType_.REMOVEFEATURE,(function(i){if(!t){t=true;e.remove(i.feature);t=false}}));_ol_events_.listen(e,_ol_CollectionEventType_.ADD,(function(e){if(!t){t=true;this.addFeature(e.element);t=false}}),this);_ol_events_.listen(e,_ol_CollectionEventType_.REMOVE,(function(e){if(!t){t=true;this.removeFeature(e.element);t=false}}),this);this.featuresCollection_=e};_ol_source_Vector_.prototype.clear=function(e){if(e){for(var t in this.featureChangeKeys_){var i=this.featureChangeKeys_[t];i.forEach(_ol_events_.unlistenByKey)}if(!this.featuresCollection_){this.featureChangeKeys_={};this.idIndex_={};this.undefIdIndex_={}}}else{if(this.featuresRtree_){this.featuresRtree_.forEach(this.removeFeatureInternal,this);for(var r in this.nullGeometryFeatures_){this.removeFeatureInternal(this.nullGeometryFeatures_[r])}}}if(this.featuresCollection_){this.featuresCollection_.clear()}if(this.featuresRtree_){this.featuresRtree_.clear()}this.loadedExtentsRtree_.clear();this.nullGeometryFeatures_={};var n=new _ol_source_Vector_.Event(_ol_source_VectorEventType_.CLEAR);this.dispatchEvent(n);this.changed()};_ol_source_Vector_.prototype.forEachFeature=function(e,t){if(this.featuresRtree_){return this.featuresRtree_.forEach(e,t)}else if(this.featuresCollection_){return this.featuresCollection_.forEach(e,t)}};_ol_source_Vector_.prototype.forEachFeatureAtCoordinateDirect=function(e,t,i){var r=[e[0],e[1],e[0],e[1]];return this.forEachFeatureInExtent(r,(function(r){var n=r.getGeometry();if(n.intersectsCoordinate(e)){return t.call(i,r)}else{return undefined}}))};_ol_source_Vector_.prototype.forEachFeatureInExtent=function(e,t,i){if(this.featuresRtree_){return this.featuresRtree_.forEachInExtent(e,t,i)}else if(this.featuresCollection_){return this.featuresCollection_.forEach(t,i)}};_ol_source_Vector_.prototype.forEachFeatureIntersectingExtent=function(e,t,i){return this.forEachFeatureInExtent(e,(function(r){var n=r.getGeometry();if(n.intersectsExtent(e)){var o=t.call(i,r);if(o){return o}}}))};_ol_source_Vector_.prototype.getFeaturesCollection=function(){return this.featuresCollection_};_ol_source_Vector_.prototype.getFeatures=function(){var e;if(this.featuresCollection_){e=this.featuresCollection_.getArray()}else if(this.featuresRtree_){e=this.featuresRtree_.getAll();if(!_ol_obj_.isEmpty(this.nullGeometryFeatures_)){_ol_array_.extend(e,_ol_obj_.getValues(this.nullGeometryFeatures_))}}return e};_ol_source_Vector_.prototype.getFeaturesAtCoordinate=function(e){var t=[];this.forEachFeatureAtCoordinateDirect(e,(function(e){t.push(e)}));return t};_ol_source_Vector_.prototype.getFeaturesInExtent=function(e){return this.featuresRtree_.getInExtent(e)};_ol_source_Vector_.prototype.getClosestFeatureToCoordinate=function(e,t){var i=e[0];var r=e[1];var n=null;var o=[NaN,NaN];var _=Infinity;var a=[-Infinity,-Infinity,Infinity,Infinity];var s=t?t:_ol_functions_.TRUE;this.featuresRtree_.forEachInExtent(a,(function(e){if(s(e)){var t=e.getGeometry();var l=_;_=t.closestPointXY(i,r,o,_);if(_<l){n=e;var h=Math.sqrt(_);a[0]=i-h;a[1]=r-h;a[2]=i+h;a[3]=r+h}}}));return n};_ol_source_Vector_.prototype.getExtent=function(e){return this.featuresRtree_.getExtent(e)};_ol_source_Vector_.prototype.getFeatureById=function(e){var t=this.idIndex_[e.toString()];return t!==undefined?t:null};_ol_source_Vector_.prototype.getFormat=function(){return this.format_};_ol_source_Vector_.prototype.getOverlaps=function(){return this.overlaps_};_ol_source_Vector_.prototype.getResolutions=function(){};_ol_source_Vector_.prototype.getUrl=function(){return this.url_};_ol_source_Vector_.prototype.handleFeatureChange_=function(e){var t=e.target;var i=_ol_.getUid(t).toString();var r=t.getGeometry();if(!r){if(!(i in this.nullGeometryFeatures_)){if(this.featuresRtree_){this.featuresRtree_.remove(t)}this.nullGeometryFeatures_[i]=t}}else{var n=r.getExtent();if(i in this.nullGeometryFeatures_){delete this.nullGeometryFeatures_[i];if(this.featuresRtree_){this.featuresRtree_.insert(n,t)}}else{if(this.featuresRtree_){this.featuresRtree_.update(n,t)}}}var o=t.getId();if(o!==undefined){var _=o.toString();if(i in this.undefIdIndex_){delete this.undefIdIndex_[i];this.idIndex_[_]=t}else{if(this.idIndex_[_]!==t){this.removeFromIdIndex_(t);this.idIndex_[_]=t}}}else{if(!(i in this.undefIdIndex_)){this.removeFromIdIndex_(t);this.undefIdIndex_[i]=t}}this.changed();this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.CHANGEFEATURE,t))};_ol_source_Vector_.prototype.isEmpty=function(){return this.featuresRtree_.isEmpty()&&_ol_obj_.isEmpty(this.nullGeometryFeatures_)};_ol_source_Vector_.prototype.loadFeatures=function(e,t,i){var r=this.loadedExtentsRtree_;var n=this.strategy_(e,t);var o,_;for(o=0,_=n.length;o<_;++o){var a=n[o];var s=r.forEachInExtent(a,(function(e){return _ol_extent_.containsExtent(e.extent,a)}));if(!s){this.loader_.call(this,a,t,i);r.insert(a,{extent:a.slice()})}}};_ol_source_Vector_.prototype.removeLoadedExtent=function(e){var t=this.loadedExtentsRtree_;var i;t.forEachInExtent(e,(function(t){if(_ol_extent_.equals(t.extent,e)){i=t;return true}}));if(i){t.remove(i)}};_ol_source_Vector_.prototype.removeFeature=function(e){var t=_ol_.getUid(e).toString();if(t in this.nullGeometryFeatures_){delete this.nullGeometryFeatures_[t]}else{if(this.featuresRtree_){this.featuresRtree_.remove(e)}}this.removeFeatureInternal(e);this.changed()};_ol_source_Vector_.prototype.removeFeatureInternal=function(e){var t=_ol_.getUid(e).toString();this.featureChangeKeys_[t].forEach(_ol_events_.unlistenByKey);delete this.featureChangeKeys_[t];var i=e.getId();if(i!==undefined){delete this.idIndex_[i.toString()]}else{delete this.undefIdIndex_[t]}this.dispatchEvent(new _ol_source_Vector_.Event(_ol_source_VectorEventType_.REMOVEFEATURE,e))};_ol_source_Vector_.prototype.removeFromIdIndex_=function(e){var t=false;for(var i in this.idIndex_){if(this.idIndex_[i]===e){delete this.idIndex_[i];t=true;break}}return t};_ol_source_Vector_.prototype.setLoader=function(e){this.loader_=e};_ol_source_Vector_.Event=function(e,t){_ol_events_Event_.call(this,e);this.feature=t};_ol_.inherits(_ol_source_Vector_.Event,_ol_events_Event_);var _ol_layer_TileProperty_={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};var _ol_layer_Tile_=function(e){var t=e?e:{};var i=_ol_obj_.assign({},t);delete i.preload;delete i.useInterimTilesOnError;_ol_layer_Layer_.call(this,i);this.setPreload(t.preload!==undefined?t.preload:0);this.setUseInterimTilesOnError(t.useInterimTilesOnError!==undefined?t.useInterimTilesOnError:true);this.type=_ol_LayerType_.TILE};_ol_.inherits(_ol_layer_Tile_,_ol_layer_Layer_);_ol_layer_Tile_.prototype.getPreload=function(){return this.get(_ol_layer_TileProperty_.PRELOAD)};_ol_layer_Tile_.prototype.setPreload=function(e){this.set(_ol_layer_TileProperty_.PRELOAD,e)};_ol_layer_Tile_.prototype.getUseInterimTilesOnError=function(){return this.get(_ol_layer_TileProperty_.USE_INTERIM_TILES_ON_ERROR)};_ol_layer_Tile_.prototype.setUseInterimTilesOnError=function(e){this.set(_ol_layer_TileProperty_.USE_INTERIM_TILES_ON_ERROR,e)};var _ol_layer_Vector_=function(e){var t=e?e:{};var i=_ol_obj_.assign({},t);delete i.style;delete i.renderBuffer;delete i.updateWhileAnimating;delete i.updateWhileInteracting;_ol_layer_Layer_.call(this,i);this.declutter_=t.declutter!==undefined?t.declutter:false;this.renderBuffer_=t.renderBuffer!==undefined?t.renderBuffer:100;this.style_=null;this.styleFunction_=undefined;this.setStyle(t.style);this.updateWhileAnimating_=t.updateWhileAnimating!==undefined?t.updateWhileAnimating:false;this.updateWhileInteracting_=t.updateWhileInteracting!==undefined?t.updateWhileInteracting:false;this.renderMode_=t.renderMode||_ol_layer_VectorRenderType_.VECTOR;this.type=_ol_LayerType_.VECTOR};_ol_.inherits(_ol_layer_Vector_,_ol_layer_Layer_);_ol_layer_Vector_.prototype.getDeclutter=function(){return this.declutter_};_ol_layer_Vector_.prototype.setDeclutter=function(e){this.declutter_=e};_ol_layer_Vector_.prototype.getRenderBuffer=function(){return this.renderBuffer_};_ol_layer_Vector_.prototype.getRenderOrder=function(){return this.get(_ol_layer_Vector_.Property_.RENDER_ORDER)};_ol_layer_Vector_.prototype.getStyle=function(){return this.style_};_ol_layer_Vector_.prototype.getStyleFunction=function(){return this.styleFunction_};_ol_layer_Vector_.prototype.getUpdateWhileAnimating=function(){return this.updateWhileAnimating_};_ol_layer_Vector_.prototype.getUpdateWhileInteracting=function(){return this.updateWhileInteracting_};_ol_layer_Vector_.prototype.setRenderOrder=function(e){this.set(_ol_layer_Vector_.Property_.RENDER_ORDER,e)};_ol_layer_Vector_.prototype.setStyle=function(e){this.style_=e!==undefined?e:_ol_style_Style_.defaultFunction;this.styleFunction_=e===null?undefined:_ol_style_Style_.createFunction(this.style_);this.changed()};_ol_layer_Vector_.prototype.getRenderMode=function(){return this.renderMode_};_ol_layer_Vector_.Property_={RENDER_ORDER:"renderOrder"};var _ol_control_ScaleLineUnits_={DEGREES:"degrees",IMPERIAL:"imperial",NAUTICAL:"nautical",METRIC:"metric",US:"us"};var _ol_control_ScaleLine_=function(e){var t=e?e:{};var i=t.className!==undefined?t.className:"ol-scale-line";this.innerElement_=document.createElement("DIV");this.innerElement_.className=i+"-inner";this.element_=document.createElement("DIV");this.element_.className=i+" "+_ol_css_.CLASS_UNSELECTABLE;this.element_.appendChild(this.innerElement_);this.viewState_=null;this.minWidth_=t.minWidth!==undefined?t.minWidth:64;this.renderedVisible_=false;this.renderedWidth_=undefined;this.renderedHTML_="";var r=t.render?t.render:_ol_control_ScaleLine_.render;_ol_control_Control_.call(this,{element:this.element_,render:r,target:t.target});_ol_events_.listen(this,_ol_Object_.getChangeEventType(_ol_control_ScaleLine_.Property_.UNITS),this.handleUnitsChanged_,this);this.setUnits(t.units||_ol_control_ScaleLineUnits_.METRIC)};_ol_.inherits(_ol_control_ScaleLine_,_ol_control_Control_);_ol_control_ScaleLine_.LEADING_DIGITS=[1,2,5];_ol_control_ScaleLine_.prototype.getUnits=function(){return this.get(_ol_control_ScaleLine_.Property_.UNITS)};_ol_control_ScaleLine_.render=function(e){var t=e.frameState;if(!t){this.viewState_=null}else{this.viewState_=t.viewState}this.updateElement_()};_ol_control_ScaleLine_.prototype.handleUnitsChanged_=function(){this.updateElement_()};_ol_control_ScaleLine_.prototype.setUnits=function(e){this.set(_ol_control_ScaleLine_.Property_.UNITS,e)};_ol_control_ScaleLine_.prototype.updateElement_=function(){var e=this.viewState_;if(!e){if(this.renderedVisible_){this.element_.style.display="none";this.renderedVisible_=false}return}var t=e.center;var i=e.projection;var r=this.getUnits();var n=r==_ol_control_ScaleLineUnits_.DEGREES?_ol_proj_Units_.DEGREES:_ol_proj_Units_.METERS;var o=_ol_proj_.getPointResolution(i,e.resolution,t,n);if(r!=_ol_control_ScaleLineUnits_.DEGREES){o*=i.getMetersPerUnit()}var _=this.minWidth_*o;var a="";if(r==_ol_control_ScaleLineUnits_.DEGREES){var s=_ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES];if(i.getUnits()==_ol_proj_Units_.DEGREES){_*=s}else{o/=s}if(_<s/60){a="″";o*=3600}else if(_<s){a="′";o*=60}else{a="°"}}else if(r==_ol_control_ScaleLineUnits_.IMPERIAL){if(_<.9144){a="in";o/=.0254}else if(_<1609.344){a="ft";o/=.3048}else{a="mi";o/=1609.344}}else if(r==_ol_control_ScaleLineUnits_.NAUTICAL){o/=1852;a="nm"}else if(r==_ol_control_ScaleLineUnits_.METRIC){if(_<.001){a="μm";o*=1e6}else if(_<1){a="mm";o*=1e3}else if(_<1e3){a="m"}else{a="km";o/=1e3}}else if(r==_ol_control_ScaleLineUnits_.US){if(_<.9144){a="in";o*=39.37}else if(_<1609.344){a="ft";o/=.30480061}else{a="mi";o/=1609.3472}}else{_ol_asserts_.assert(false,33)}var l=3*Math.floor(Math.log(this.minWidth_*o)/Math.log(10));var h,u;while(true){h=_ol_control_ScaleLine_.LEADING_DIGITS[(l%3+3)%3]*Math.pow(10,Math.floor(l/3));u=Math.round(h/o);if(isNaN(u)){this.element_.style.display="none";this.renderedVisible_=false;return}else if(u>=this.minWidth_){break}++l}var c=h+" "+a;if(this.renderedHTML_!=c){this.innerElement_.innerHTML=c;this.renderedHTML_=c}if(this.renderedWidth_!=u){this.innerElement_.style.width=u+"px";this.renderedWidth_=u}if(!this.renderedVisible_){this.element_.style.display="";this.renderedVisible_=true}};_ol_control_ScaleLine_.Property_={UNITS:"units"};var _ol_style_IconAnchorUnits_={FRACTION:"fraction",PIXELS:"pixels"};var _ol_style_IconImage_=function(e,t,i,r,n,o){_ol_events_EventTarget_.call(this);this.hitDetectionImage_=null;this.image_=!e?new Image:e;if(r!==null){this.image_.crossOrigin=r}this.canvas_=o?document.createElement("CANVAS"):null;this.color_=o;this.imageListenerKeys_=null;this.imageState_=n;this.size_=i;this.src_=t;this.tainting_=false;if(this.imageState_==_ol_ImageState_.LOADED){this.determineTainting_()}};_ol_.inherits(_ol_style_IconImage_,_ol_events_EventTarget_);_ol_style_IconImage_.get=function(e,t,i,r,n,o){var _=_ol_style_.iconImageCache;var a=_.get(t,r,o);if(!a){a=new _ol_style_IconImage_(e,t,i,r,n,o);_.set(t,r,o,a)}return a};_ol_style_IconImage_.prototype.determineTainting_=function(){var e=_ol_dom_.createCanvasContext2D(1,1);try{e.drawImage(this.image_,0,0);e.getImageData(0,0,1,1)}catch(t){this.tainting_=true}};_ol_style_IconImage_.prototype.dispatchChangeEvent_=function(){this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_style_IconImage_.prototype.handleImageError_=function(){this.imageState_=_ol_ImageState_.ERROR;this.unlistenImage_();this.dispatchChangeEvent_()};_ol_style_IconImage_.prototype.handleImageLoad_=function(){this.imageState_=_ol_ImageState_.LOADED;if(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.determineTainting_();this.replaceColor_();this.dispatchChangeEvent_()};_ol_style_IconImage_.prototype.getImage=function(e){return this.canvas_?this.canvas_:this.image_};_ol_style_IconImage_.prototype.getImageState=function(){return this.imageState_};_ol_style_IconImage_.prototype.getHitDetectionImage=function(e){if(!this.hitDetectionImage_){if(this.tainting_){var t=this.size_[0];var i=this.size_[1];var r=_ol_dom_.createCanvasContext2D(t,i);r.fillRect(0,0,t,i);this.hitDetectionImage_=r.canvas}else{this.hitDetectionImage_=this.image_}}return this.hitDetectionImage_};_ol_style_IconImage_.prototype.getSize=function(){return this.size_};_ol_style_IconImage_.prototype.getSrc=function(){return this.src_};_ol_style_IconImage_.prototype.load=function(){if(this.imageState_==_ol_ImageState_.IDLE){this.imageState_=_ol_ImageState_.LOADING;this.imageListenerKeys_=[_ol_events_.listenOnce(this.image_,_ol_events_EventType_.ERROR,this.handleImageError_,this),_ol_events_.listenOnce(this.image_,_ol_events_EventType_.LOAD,this.handleImageLoad_,this)];try{this.image_.src=this.src_}catch(e){this.handleImageError_()}}};_ol_style_IconImage_.prototype.replaceColor_=function(){if(this.tainting_||this.color_===null){return}this.canvas_.width=this.image_.width;this.canvas_.height=this.image_.height;var e=this.canvas_.getContext("2d");e.drawImage(this.image_,0,0);var t=e.getImageData(0,0,this.image_.width,this.image_.height);var i=t.data;var r=this.color_[0]/255;var n=this.color_[1]/255;var o=this.color_[2]/255;for(var _=0,a=i.length;_<a;_+=4){i[_]*=r;i[_+1]*=n;i[_+2]*=o}e.putImageData(t,0,0)};_ol_style_IconImage_.prototype.unlistenImage_=function(){this.imageListenerKeys_.forEach(_ol_events_.unlistenByKey);this.imageListenerKeys_=null};var _ol_style_IconOrigin_={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};var _ol_style_Icon_=function(e){var t=e||{};this.anchor_=t.anchor!==undefined?t.anchor:[.5,.5];this.normalizedAnchor_=null;this.anchorOrigin_=t.anchorOrigin!==undefined?t.anchorOrigin:_ol_style_IconOrigin_.TOP_LEFT;this.anchorXUnits_=t.anchorXUnits!==undefined?t.anchorXUnits:_ol_style_IconAnchorUnits_.FRACTION;this.anchorYUnits_=t.anchorYUnits!==undefined?t.anchorYUnits:_ol_style_IconAnchorUnits_.FRACTION;this.crossOrigin_=t.crossOrigin!==undefined?t.crossOrigin:null;var i=t.img!==undefined?t.img:null;var r=t.imgSize!==undefined?t.imgSize:null;var n=t.src;_ol_asserts_.assert(!(n!==undefined&&i),4);_ol_asserts_.assert(!i||i&&r,5);if((n===undefined||n.length===0)&&i){n=i.src||_ol_.getUid(i).toString()}_ol_asserts_.assert(n!==undefined&&n.length>0,6);var o=t.src!==undefined?_ol_ImageState_.IDLE:_ol_ImageState_.LOADED;this.color_=t.color!==undefined?_ol_color_.asArray(t.color):null;this.iconImage_=_ol_style_IconImage_.get(i,n,r,this.crossOrigin_,o,this.color_);this.offset_=t.offset!==undefined?t.offset:[0,0];this.offsetOrigin_=t.offsetOrigin!==undefined?t.offsetOrigin:_ol_style_IconOrigin_.TOP_LEFT;this.origin_=null;this.size_=t.size!==undefined?t.size:null;var _=t.opacity!==undefined?t.opacity:1;var a=t.rotateWithView!==undefined?t.rotateWithView:false;var s=t.rotation!==undefined?t.rotation:0;var l=t.scale!==undefined?t.scale:1;var h=t.snapToPixel!==undefined?t.snapToPixel:true;_ol_style_Image_.call(this,{opacity:_,rotation:s,scale:l,snapToPixel:h,rotateWithView:a})};_ol_.inherits(_ol_style_Icon_,_ol_style_Image_);_ol_style_Icon_.prototype.clone=function(){return new _ol_style_Icon_({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_||undefined,src:this.getSrc(),offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,size:this.size_!==null?this.size_.slice():undefined,opacity:this.getOpacity(),scale:this.getScale(),snapToPixel:this.getSnapToPixel(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()})};_ol_style_Icon_.prototype.getAnchor=function(){if(this.normalizedAnchor_){return this.normalizedAnchor_}var e=this.anchor_;var t=this.getSize();if(this.anchorXUnits_==_ol_style_IconAnchorUnits_.FRACTION||this.anchorYUnits_==_ol_style_IconAnchorUnits_.FRACTION){if(!t){return null}e=this.anchor_.slice();if(this.anchorXUnits_==_ol_style_IconAnchorUnits_.FRACTION){e[0]*=t[0]}if(this.anchorYUnits_==_ol_style_IconAnchorUnits_.FRACTION){e[1]*=t[1]}}if(this.anchorOrigin_!=_ol_style_IconOrigin_.TOP_LEFT){if(!t){return null}if(e===this.anchor_){e=this.anchor_.slice()}if(this.anchorOrigin_==_ol_style_IconOrigin_.TOP_RIGHT||this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[0]=-e[0]+t[0]}if(this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_LEFT||this.anchorOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[1]=-e[1]+t[1]}}this.normalizedAnchor_=e;return this.normalizedAnchor_};_ol_style_Icon_.prototype.getColor=function(){return this.color_};_ol_style_Icon_.prototype.getImage=function(e){return this.iconImage_.getImage(e)};_ol_style_Icon_.prototype.getImageSize=function(){return this.iconImage_.getSize()};_ol_style_Icon_.prototype.getHitDetectionImageSize=function(){return this.getImageSize()};_ol_style_Icon_.prototype.getImageState=function(){return this.iconImage_.getImageState()};_ol_style_Icon_.prototype.getHitDetectionImage=function(e){return this.iconImage_.getHitDetectionImage(e)};_ol_style_Icon_.prototype.getOrigin=function(){if(this.origin_){return this.origin_}var e=this.offset_;if(this.offsetOrigin_!=_ol_style_IconOrigin_.TOP_LEFT){var t=this.getSize();var i=this.iconImage_.getSize();if(!t||!i){return null}e=e.slice();if(this.offsetOrigin_==_ol_style_IconOrigin_.TOP_RIGHT||this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[0]=i[0]-t[0]-e[0]}if(this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_LEFT||this.offsetOrigin_==_ol_style_IconOrigin_.BOTTOM_RIGHT){e[1]=i[1]-t[1]-e[1]}}this.origin_=e;return this.origin_};_ol_style_Icon_.prototype.getSrc=function(){return this.iconImage_.getSrc()};_ol_style_Icon_.prototype.getSize=function(){return!this.size_?this.iconImage_.getSize():this.size_};_ol_style_Icon_.prototype.listenImageChange=function(e,t){return _ol_events_.listen(this.iconImage_,_ol_events_EventType_.CHANGE,e,t)};_ol_style_Icon_.prototype.load=function(){this.iconImage_.load()};_ol_style_Icon_.prototype.unlistenImageChange=function(e,t){_ol_events_.unlisten(this.iconImage_,_ol_events_EventType_.CHANGE,e,t)};var stzhOlmapCss=":host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}stzh-olmap{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:relative;width:100%;height:18.75rem}stzh-olmap[hidden]{display:none}stzh-olmap *,stzh-olmap *::before,stzh-olmap *::after{-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (min-width: 800px){stzh-olmap{height:25rem}}.stzh-olmap__map{position:absolute;width:100%;height:100%;top:0;left:0}.stzh-olmap__map--print{margin-top:var(--stzh-space-xxlarge);max-width:100%;height:auto}.stzh-olmap__print-image{display:block;max-width:100%}.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom-in,.stzh-olmap .ol-zoom-out{font-family:var(--stzh-font-family-light);font-weight:var(--stzh-font-weight-light);font-style:normal;font-size:var(--stzh-font-deca-font-size);line-height:var(--stzh-font-deca-text-line-height);letter-spacing:var(--stzh-font-deca-text-letter-spacing);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;border-radius:0;color:var(--stzh-color-primary, var(--stzh-color-zueriblue));-webkit-transition:all var(--stzh-base-transition-animation-speed) ease;transition:all var(--stzh-base-transition-animation-speed) ease;background-color:var(--stzh-color-white);width:2.5rem;height:2.375rem;cursor:pointer}.stzh-olmap .ol-print stzh-icon,.stzh-olmap .ol-location stzh-icon,.stzh-olmap .ol-zoom-in stzh-icon,.stzh-olmap .ol-zoom-out stzh-icon{--size:var(--stzh-icon-size-small)}.stzh-olmap .ol-print:hover,.stzh-olmap .ol-location:hover,.stzh-olmap .ol-zoom-in:hover,.stzh-olmap .ol-zoom-out:hover{color:var(--stzh-color-white);background:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));border-color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark))}.stzh-olmap .ol-layer,.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom{position:absolute;right:0.625rem;-webkit-box-shadow:var(--stzh-box-shadow-popover);box-shadow:var(--stzh-box-shadow-popover);border-radius:var(--stzh-form-input-border-radius)}@media screen and (min-width: 800px){.stzh-olmap .ol-layer,.stzh-olmap .ol-print,.stzh-olmap .ol-location,.stzh-olmap .ol-zoom{right:1.25rem}}.stzh-olmap .ol-layer{left:0.625rem;bottom:0.625rem;right:auto;padding:var(--stzh-space-xxxsmall);border:none}@media screen and (min-width: 800px){.stzh-olmap .ol-layer{left:1.25rem;bottom:1.25rem}}.stzh-olmap .ol-layer__thumbnail{width:4.6875rem;height:4.6875rem;display:block}.stzh-olmap .ol-layer__text{font-family:var(--stzh-font-family-light);font-weight:var(--stzh-font-weight-light);font-style:normal;font-size:var(--stzh-font-pico-font-size);line-height:var(--stzh-font-pico-text-line-height);position:absolute;bottom:0;left:0;right:0;text-align:left;background-color:var(--stzh-color-white);color:var(--stzh-color-primary, var(--stzh-color-zueriblue));padding-left:calc(var(--stzh-space-xxxsmall) + 0.0625rem);padding-right:calc(var(--stzh-space-xxxsmall) + 0.0625rem)}.stzh-olmap .ol-layer:hover .ol-layer__text{color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark))}.stzh-olmap .ol-location{bottom:calc(3.75rem + 7.125rem + var(--stzh-space-small) * 2)}@media screen and (min-width: 800px){.stzh-olmap .ol-location{bottom:calc(4.375rem + 7.125rem + var(--stzh-space-small) * 2)}}.stzh-olmap .ol-location.active{background:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));border-color:var(--stzh-color-primary-hover, var(--stzh-color-zueribluedark));color:var(--stzh-color-white)}.stzh-olmap .ol-zoom{bottom:calc(3.75rem + 2.375rem + var(--stzh-space-small));background-color:var(--stzh-color-grey13)}@media screen and (min-width: 800px){.stzh-olmap .ol-zoom{bottom:calc(4.375rem + 2.375rem + var(--stzh-space-small))}}.stzh-olmap .ol-zoom-in{margin-bottom:0.0625rem}.stzh-olmap .ol-print{bottom:3.75rem}@media screen and (min-width: 800px){.stzh-olmap .ol-print{bottom:4.375rem}}.stzh-olmap .ol-rotate,.stzh-olmap .ol-attribution{display:none}.stzh-olmap .ol-scale-line{position:absolute;bottom:0;right:0;padding:var(--stzh-space-xxsmall);background:var(--stzh-color-white);border-top-left-radius:var(--stzh-form-input-border-radius)}.stzh-olmap .ol-scale-line-inner{font-size:var(--stzh-font-pico-font-size);line-height:var(--stzh-font-pico-text-line-height);border:0.0625rem solid var(--stzh-color-grey55);border-top:0;color:var(--stzh-color-grey55);text-align:center}";window.proj4=proj4;window.proj4.defs("EPSG:2056","+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs");var STYLES_MARKER_ICON={anchor:[.5,1],anchorXUnits:"fraction",anchorYUnits:"fraction",scale:.5,src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker.png")};var STYLES_ACTIVE_MARKER_ICON=Object.assign(Object.assign({},STYLES_MARKER_ICON),{src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker-active.png")});var STYLES_POSITION_MARKER_ICON_STYLES=Object.assign(Object.assign({},STYLES_MARKER_ICON),{anchor:[.5,.5],src:"".concat(window.stzhComponents.pathMedia,"/olmap/marker-position.png")});var StzhOlmap=function(){function e(e){var t=this;registerInstance(this,e);this.stzhInitialized=createEvent(this,"stzhInitialized",7);this.stzhPostRender=createEvent(this,"stzhPostRender",7);this.stzhMoveStart=createEvent(this,"stzhMoveStart",7);this.stzhMoveEnd=createEvent(this,"stzhMoveEnd",7);this.handlePostRender=function(){t.stzhPostRender.emit({component:"stzh-olmap"})};this.handleMoveStart=function(){t.stzhMoveStart.emit({component:"stzh-olmap"})};this.handleMoveEnd=function(){t.stzhMoveEnd.emit({component:"stzh-olmap"})};this.handleInsideModalOpen=function(){if(t.map){requestAnimationFrame((function(){t.map.updateSize()}))}};this.handlePrintButtonClick=function(){if(!t.printIframe){t.printIframe=document.createElement("iframe");Object.assign(t.printIframe.style,{height:"0px",width:"0px",position:"absolute",border:"none"});t.element.append(t.printIframe)}t.printIframe.innerHTML="";var e=t.printIframe.contentWindow;var i=t.constructor.style.replace('@charset "UTF-8";',"");var r=Array.from(document.querySelectorAll("link")).map((function(e){return e.outerHTML}));var n;t.map.once("postcompose",(function(e){var t=e.context.canvas;n=t.toDataURL("image/png")}));t.map.renderSync();e.document.body.innerHTML="\n ".concat(r.join(""),'\n\n <style type="text/css">\n ').concat(i,'\n </style>\n\n <div class="stzh-olmap__map stzh-olmap__map--print">\n <img class="stzh-olmap__print-image" src="').concat(n,'">\n ').concat(t.element.querySelector(".ol-scale-line.ol-unselectable").outerHTML,"\n </div>\n ");setTimeout((function(){try{e.document.execCommand("print",false,null)}catch(t){e.print()}}),1e3)};this.localization=undefined;this.hostname="www.ogc.stadt-zuerich.ch";this.scaleControl=true;this.layerControl=true;this.printControl=true;this.locationControl=false;this.layer="streets";this.zoom=7;this.center=[2683311,1247082];this.centerMarker=true;this.resolutions=[67.73333333333,33.8666666667,16.9333333333,8.4666666667,4.2333333333,2.1166666667,1.0583333333,.5291666667,.2645833333,.1322916667,.0661458333];this.layers={streets:{thumbnailUrl:"".concat(window.stzhComponents.pathMedia,"/olmap/thumb-streets.jpg"),options:{url:"https://{Hostname}/mapproxy/wmts/1.0.0/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",layer:"basiskarte_zuerich_gebaeudeschraegansicht",matrixSet:"ktzh",origin:[2480237,1315832],extent:[2666867,1220962,2719695.5,1285537]}},satellite:{thumbnailUrl:"".concat(window.stzhComponents.pathMedia,"/olmap/thumb-satellite.jpg"),options:{url:"https://{Hostname}/mapproxy/wmts/1.0.0/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",layer:"orthofoto",matrixSet:"ktzh",origin:[2480237,1315832],extent:[2666867,1220962,2719695.5,1285537]}}}}e.prototype.zoomWatcher=function(e){if(this.map){this.map.getView().setZoom(e)}};e.prototype.scaleControlWatcher=function(e){if(!this.map){return}if(e){this.scaleControlOl=new _ol_control_ScaleLine_({units:"metric"});this.map.addControl(this.scaleControlOl)}else{if(this.scaleControl){this.map.removeControl(this.scaleControlOl)}this.scaleControlOl=null}};e.prototype.printControlWatcher=function(e){if(!this.map){return}if(e){this.printControlElement=document.createElement("button");this.printControlElement.className="ol-print";this.printControlElement.ariaLabel=this.localization.printLabel;this.printControlElement.addEventListener("click",this.handlePrintButtonClick);this.printControlElement.innerHTML='<stzh-icon name="print" class="ol-print__icon"></stzh-icon>';this.printControlOl=new _ol_control_Control_({element:this.printControlElement});this.map.addControl(this.printControlOl)}else{if(this.printControlOl){this.map.removeControl(this.printControlOl)}this.printControlOl=null;this.printControlElement=null}};e.prototype.layerControlWatcher=function(e){var t=this;if(!this.map||this.layersArray.length===1){return}if(e){this.layerControlElement=document.createElement("button");this.layerControlElement.className="ol-layer";this.layerControlElement.addEventListener("click",(function(){t.layer=t.layer==="streets"?"satellite":"streets"}));this.layerControlImageElement=document.createElement("img");this.layerControlImageElement.className="ol-layer__thumbnail";this.layerControlImageElement.setAttribute("role","presentation");this.layerControlImageElement.setAttribute("alt","");this.layerControlTextElement=document.createElement("span");this.layerControlTextElement.className="ol-layer__text";this.layerControlElement.appendChild(this.layerControlImageElement);this.layerControlElement.appendChild(this.layerControlTextElement);this.layerControlOl=new _ol_control_Control_({element:this.layerControlElement});this.map.addControl(this.layerControlOl)}else{if(this.layerControlOl){this.map.removeControl(this.layerControlOl)}this.layerControlOl=null;this.layerControlElement=null;this.layerControlImageElement=null;this.layerControlTextElement=null}};e.prototype.locationControlWatcher=function(e){var t=this;if(!this.map){return}if(e){this.locationControlElement=document.createElement("button");this.locationControlElement.className="ol-location";this.locationControlElement.innerHTML='<stzh-icon name="target-bullet" class="ol-location__icon"></stzh-icon>';this.locationControlElement.addEventListener("click",(function(){var e=t.geolocation.getTracking();if(e){t.disableLocationTracking()}else{t.enableLocationTracking()}}));this.locationControlOl=new _ol_control_Control_({element:this.locationControlElement});this.geolocation=new _ol_Geolocation_({projection:this.map.getView().getProjection()});this.positionMarkerOl=new _ol_Feature_;this.positionMarkerOl.setId("position");var i=new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_POSITION_MARKER_ICON_STYLES)});this.positionMarkerOl.setStyle(i);this.positionLayer.getSource().addFeature(this.positionMarkerOl);this.geolocation.on("change:position",(function(){var e=t.geolocation.getPosition();t.positionMarkerOl.setGeometry(new _ol_geom_Point_(e));if(_ol_extent_.containsExtent(t.layers[t.layer].options.extent,t.positionMarkerOl.getGeometry().getExtent())){t.map.getView().setCenter(e)}}));this.geolocation.on("change:tracking",(function(){var e=t.geolocation.getTracking();t.positionMarkerOl.setGeometry(null);t.setLocationControlState(e)}));this.geolocation.on("error",(function(){t.setLocationControlState(false)}));this.map.addControl(this.locationControlOl)}else{this.disableLocationTracking();if(this.locationControlOl){this.map.removeControl(this.locationControlOl)}if(this.positionMarkerOl){this.positionLayer.getSource().removeFeature(this.positionMarkerOl)}this.locationControlOl=null;this.locationControlElement=null;this.geolocation=null;this.positionMarkerOl=null}};e.prototype.layerWatcher=function(e){var t=this;if(!this.map){return}Object.entries(this.rasterLayers).forEach((function(i){var r=i[0],n=i[1];if(r===e){n.setVisible(true);t.map.getView().set("projection",t.projections[e]);var o=t.layersArray.find((function(e){var i=e[0];return i!==t.layer}));if(o){if(t.layerControlImageElement){t.layerControlImageElement.src=o[1].thumbnailUrl}if(t.layerControlTextElement){var _="";if(r==="streets"){_=t.localization.streetsLayerTitle}else if(r==="satellite"){_=t.localization.satelliteLayerTitle}t.layerControlTextElement.textContent=o[1].title||_}}}else{n.setVisible(false)}}))};e.prototype.centerWatcher=function(e){this.map.getView().setCenter(e);if(this.centerMarkerOl){this.centerMarkerOl.setGeometry(new _ol_geom_Point_(e))}};e.prototype.centerMarkerWatcher=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:if(!e)return[3,2];t=this;return[4,this.addIconMarker(this.center)];case 1:t.centerMarkerOl=i.sent();return[3,3];case 2:if(this.centerMarkerOl){this.removeIconMarker(this.centerMarkerOl)}i.label=3;case 3:return[2]}}))}))};e.prototype.getMap=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.map]}))}))};e.prototype.addIconMarker=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(r){t=new _ol_Feature_({geometry:new _ol_geom_Point_(e)});i=new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_MARKER_ICON)});t.setStyle(i);this.iconLayer.getSource().addFeature(t);return[2,t]}))}))};e.prototype.removeIconMarker=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.iconLayer.getSource().removeFeature(e)]}))}))};e.prototype.setIconMarkerActive=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){e.setStyle(new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_ACTIVE_MARKER_ICON)}));return[2]}))}))};e.prototype.setIconMarkerInactive=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){e.setStyle(new _ol_style_Style_({image:new _ol_style_Icon_(STYLES_MARKER_ICON)}));return[2]}))}))};e.prototype.enableLocationTracking=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.setLocationControlState(true);if(this.geolocation){this.geolocation.setTracking(true)}return[2]}))}))};e.prototype.disableLocationTracking=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.setLocationControlState(false);if(this.geolocation){this.geolocation.setTracking(false)}return[2]}))}))};e.prototype.setLocationControlState=function(e){if(this.positionLayer){this.positionLayer.setVisible(e)}if(this.locationControlElement){this.locationControlElement.classList.toggle("active",e)}};e.prototype.createMap=function(){var e=document.createElement("stzh-icon");e.ariaLabel=this.localization.zoomInLabel;e.name="plus";var t=document.createElement("stzh-icon");t.ariaLabel=this.localization.zoomOutLabel;t.name="minus";var i=new _ol_Map_({controls:_ol_control_.defaults({zoomOptions:{zoomInLabel:e,zoomOutLabel:t,zoomInTipLabel:"",zoomOutTipLabel:""}}),interactions:_ol_interaction_.defaults({mouseWheelZoom:false}),loadTilesWhileAnimating:true,loadTilesWhileInteracting:true,target:this.mapElement,logo:false});return i};e.prototype.createRasterLayer=function(e,t){return new _ol_layer_Tile_({title:"wmts",type:"base",extent:t.extent,source:this.createLayerSource(e,t)})};e.prototype.createLayerSource=function(e,t){if(!this.projections){this.projections={}}this.projections[e]=new _ol_proj_Projection_({code:"EPSG:2056",extent:t.extent});return this.creatRasterSource(e,t)};e.prototype.creatRasterSource=function(e,t){var i=t.url,r=t.layer,n=t.matrixSet,o=t.origin;var _=[];for(var a=0;a<this.resolutions.length;a++){_.push(a)}var s=new _ol_tilegrid_WMTS_({origin:o,resolutions:this.resolutions,matrixIds:_,tileSize:[512,512]});return new _ol_source_WMTS_({url:i,tileGrid:s,style:"default",projection:this.projections[e],crossOrigin:"anonymous",layer:r,matrixSet:n,requestEncoding:"REST"})};e.prototype.createIconLayer=function(){return new _ol_layer_Vector_({source:new _ol_source_Vector_({})})};e.prototype.initMap=function(){var e=this;this.map=this.createMap();this.map.on("postrender",this.handlePostRender);this.map.on("movestart",this.handleMoveStart);this.map.on("moveend",this.handleMoveEnd);this.layersArray=Object.entries(this.layers);if(this.layersArray.length>2){throw new Error("There are only two different layers allowed.")}this.rasterLayers={};this.layersArray.forEach((function(t){var i=t[0],r=t[1];r.options.url=r.options.url.replace(/{hostname}/gi,e.hostname);e.rasterLayers[i]=e.createRasterLayer(i,r.options);e.map.addLayer(e.rasterLayers[i])}));this.positionLayer=this.createIconLayer();this.positionLayer.setVisible(false);this.map.addLayer(this.positionLayer);this.iconLayer=this.createIconLayer();this.map.addLayer(this.iconLayer);var t=new _ol_View_({center:this.center,projection:this.projections[this.layer],zoom:this.zoom,resolutions:this.resolutions});this.map.setView(t);this.scaleControlWatcher(this.scaleControl);this.printControlWatcher(this.printControl);this.locationControlWatcher(this.locationControl);this.layerControlWatcher(this.layerControl);this.layerWatcher(this.layer);this.centerWatcher(this.center);this.centerMarkerWatcher(this.centerMarker);this.stzhInitialized.emit({component:"stzh-olmap"})};e.prototype.componentShouldUpdate=function(e,t,i){return["hostname","localization","layers","resolutions"].includes(i)};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:if(!!this.localization)return[3,2];e=this;return[4,fetchTranslations(this.element,"olmap")];case 1:e.localization=t.sent();t.label=2;case 2:return[2]}}))}))};e.prototype.componentWillUpdate=function(){if(this.map){this.map.setTarget(null);this.map=null}};e.prototype.componentDidRender=function(){if(this.map){return}this.initMap()};e.prototype.connectedCallback=function(){var e=this.element.closest("stzh-dialog");if(e){e.addEventListener("stzhOpen",this.handleInsideModalOpen)}};e.prototype.disconnectedCallback=function(){if(this.map){this.map.setTarget(null);this.map=null}var e=this.element.closest("stzh-dialog");if(e){e.removeEventListener("stzhOpen",this.handleInsideModalOpen)}};e.prototype.render=function(){var e=this;var t={"stzh-olmap":true};return h(Host,null,h("div",{class:t},h("div",{ref:function(t){return e.mapElement=t},class:"stzh-olmap__map"})))};Object.defineProperty(e.prototype,"element",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{zoom:["zoomWatcher"],scaleControl:["scaleControlWatcher"],printControl:["printControlWatcher"],layerControl:["layerControlWatcher"],locationControl:["locationControlWatcher"],layer:["layerWatcher"],center:["centerWatcher"],centerMarker:["centerMarkerWatcher"]}},enumerable:false,configurable:true});return e}();StzhOlmap.style=stzhOlmapCss;export{StzhOlmap as stzh_olmap};