(function(){ var project_data = JSON.parse('{"lang":"ru_RU","countryCode":"RU","languageCode":"ru","token":"5e7f0f83f3e8eb8ec1eb0af1493916f5","coordinatesOrder":"latlong","geolocation":{"longitude":39.307699,"latitude":48.573896,"isHighAccuracy":false,"zoom":12,"city":"Луганск","region":"Луганская область"},"hosts":{"api":{"main":"https://api-maps.yandex.ru/","counter":"https://yandex.ru/clck/","maps":"https://yandex.ru/maps/","ua":"https://yandex.ru/legal/maps_termsofuse/?lang={{lang}}","services":{"coverage":"https://api-maps.yandex.ru/services/coverage/","geoxml":"https://api-maps.yandex.ru/services/geoxml/","route":"https://api-maps.yandex.ru/services/route/","regions":"https://api-maps.yandex.ru/services/regions/","psearch":"https://psearch-maps.yandex.ru/","search":"https://api-maps.yandex.ru/services/search/","traffic":"https://api-maps.yandex.ru/services/traffic/","inception":"https://api-maps.yandex.ru/services/inception/"}},"layers":{"map":"https://core-renderer-tiles.maps.yandex.net/tiles?l=map&%c&%l","mapj":"https://core-renderer-tiles.maps.yandex.net/tiles?l=mapj&%c&%l&experimental_disable_toponym_hotspots=true","pmap":"https://0%d.pvec.maps.yandex.net/?l=pmap&%c&%l","pskl":"https://0%d.pvec.maps.yandex.net/?l=pskl&%c&%l","sat":"https://sat0%d.maps.yandex.net/tiles?l=sat&%c&%l","skl":"https://core-renderer-tiles.maps.yandex.net/tiles?l=skl&%c&%l","sklj":"https://core-renderer-tiles.maps.yandex.net/tiles?l=sklj&%c&%l"},"traffic":"https://core-jams-rdr-cache.maps.yandex.net/","trafficArchive":"https://core-jams-rdr-hist.maps.yandex.net/"},"layers":{"map":{"version":"25.07.16-0~b:250719104800~ib:25.07.21-0","scaled":true,"hotspotZoomRange":{"min":1,"max":23}},"sat":{"version":"3.1823.0","scaled":false},"skl":{"version":"25.07.16-0~b:250719104800~ib:25.07.21-0","scaled":true,"hotspotZoomRange":{"min":1,"max":23}}},"share":0.404468502599195}'); console.warn("API-key is required for correct API work. Get your API-key here: https://developer.tech.yandex.ru"); var init = (function (document,window) { var PROJECT_JS = { js:[ ['0aBalloon','$g$$$j1-196v6u2F6M5W0W$b'], ['0bbehavior.action','$f$d5T'], ['0cbehavior.DblClickZoom','0u0e$($t0X58'], ['0dbehavior.Drag','0u0b$T$_-e0e586y'], ['0ebehavior.factory','0F$d$X6v'], ['0fbehavior.magnifier.mouse.Component','6R2O1H$T0Y6.6u'], ['0gbehavior.LeftMouseButtonMagnifier','0e0f0u58'], ['0hbehavior.RightMouseButtonMagnifier','0e0f0u58'], ['0ibehavior.BaseMultiEngine','0X0b1A$($t'], ['0kbehavior.CurrentMultiTouchEngine',function(project){var result, browser = project.support.browser; if ((browser.name == 'MSIE' && browser.documentMode >= 10 && browser.osVersion > 6.1) || (browser.name == 'IEMobile' && browser.engineVersion >= 6)) { result = 'behavior.MultiPointerEngine'; } else { result = 'behavior.MultiTouchEngine'; } return [result]; }], ['0lbehavior.MultiTouch','0u0e0k58'], ['0mbehavior.MultiPointerEngine','$d0i'], ['0nbehavior.MultiTouchEngine','$f$W$d0i'], ['0obehavior.RouteEditor','0u0e587C$b$f7o53'], ['0rbehavior.ruler.MarkerLayout','0p$d$$$H$N5p6u1!1s6v897I1H'], ['0sbehavior.Ruler','0Y0X$J$d$X$b*x*t7d4N0e0u0r1i2E3N533,7m5y6n-1'], ['0tbehavior.ScrollZoom','$t0b0u0e58$*'], ['0ubehavior.storage','-n'], ['0vcluster.addon.balloon','0B0w1-1w'], ['0wcluster.Balloon','$f191-3M0C6y7h1u'], ['0xClusterer','$X$g0B0D0A$9$d1u2F0G$d$f$36u$b0y$j3-19$v'], ['0yclusterer.optionMapper','6w'], ['0Aclusterer.Pipe','196v$91-$3'], ['0BCluster','$d$g6v0C0F131-0E1u6u0y3-$g$v'], ['0Ccluster.optionMapper','6w'], ['0Dclusterer.util','$g$$'], ['0Ecluster.View','6O196n4Z0W'], ['0Fcollection.Item','191-0L1-6v'], ['0GCollection','$d0F$f0N'], ['0Hcomponent.array.BaseArray','$b'], ['0Icomponent.array.ParentArray','$f0H0R'], ['0Kcomponent.child.BaseChild'], ['0Lcomponent.child.MapChild','0K'], ['0Mcomponent.collection.BaseCollection','$9'], ['0Ncomponent.collection.ParentCollection','$f0M0R'], ['0Ocomponent.event.Cacher'], ['0Pcomponent.EventFreezer'], ['0Rcomponent.parent.BaseParent','$X'], ['0Scomponent.ProviderObserver','$b$3$z'], ['0Tcomponent.ZoomRangeObserver','0S$d$z'], ['0Uconstants.hotspotEvents'], ['0Vconstants.hotspotManagerTimeout'], ['0Wconstants.mapDomEvents'], ['0Xconstants.mapListenerPriority'], ['0Yconstants.zIndex'], ['00control.Base','$d0F1u5u1-5_$f$b$h$3$G6u'], ['01control.Button','$d0Z5_'], ['02control.childElementController.Base','$I$H$q'], ['03control.childElementController.Rollup','026u$d$G'], ['04control.factory','$d005_'], ['05control.BaseGroup','$d$b1b0I02001-$f$3'], ['06control.Group','$d055u'], ['07control.ListBoxItem','$d0Z5_'], ['08control.ListBox','$3$d055_$q'], ['09control.ListBoxSeparator','$d005_'], ['0$control.mapTools.behaviorButton','$d015_'], ['0-control.mapTools.button.Drag','0_0(5y01'], ['0_control.mapTools.behaviorButtonFactory','$d0$$X'], ['0.control.mapTools.button.Magnifier','0_0(5y'], ['0!control.mapTools.button.Ruler','0_0(5y'], ['0*control.MapTools','$d$b1c0q1b0(5_'], ['0(control.mapTools.storage','-n'], ['0)control.MiniMap','00$d$X1b5_6h6u'], ['0,control.BaseRadioGroup','$d05'], ['0qcontrol.RadioGroup','$d0,5u'], ['0jcontrol.RollupButton','$d$b0,035_$f'], ['0zcontrol.RouteEditor','$d0$5y1b5_'], ['0Qcontrol.ScaleLine','$d001b5_'], ['0Jcontrol.SearchControl','$d$X$f$z$b1*005y6y-H1b5_6u53-2'], ['0Zcontrol.Selectable','$d00'], ['1acontrol.SmallZoomControl','$d$(00*n1b5_'], ['1bcontrol.storage','-n'], ['1ccontrol.ToolBar','$d$306'], ['1dcontrol.ToolBarSeparator','00$d5_'], ['1econtrol.TrafficControl','90$d9*1w001b-m$H5_$f'], ['1fcontrol.TypeSelector','$d08076t5y1b$b5_066h$f'], ['1gcontrol.ZoomControl','$d1a1b5_6u'], ['1hcoordSystem.Cartesian','$X'], ['1icoordSystem.cartesian','1h'], ['1kcoordSystem.geo','$.'], ['1rdata.Base','$X$b171-0P'], ['1sdata.Adapter','$d1r'], ['1tdata.Aggregator','$d1u'], ['1udata.Manager','$d$X1r$b$J'], ['1vdata.Mapper','$X'], ['1wdata.Monitor','19$f1-'], ['1xdata.Proxy','1u$d'], ['1ydomEvent.Base','$d1-'], ['1ADomEvent','$d1y1D0O'], ['1BdomEvent.override.common','1D$U$6'], ['1CdomEvent.override.ie78','1D'], ['1DdomEvent.overrideStorage','-n'], ['1EdomEvent.isEnterLeavePrevented','1-$3$D$61H'], ['1FdomEvent.managerComponent.mouseLeaveEnterDispatcher','$C1A1E'], ['1GdomEvent.managerComponent.wheelDispatcher','$C1A'], ['1HdomEvent.manager','$31A$C17141K'], ['1IdomEvent.managerOverrides.desktop','1G1F1K'], ['1KdomEvent.managerOverrideStorage','-n'], ['1LdomEvent.managerOverrides.pointers','$C1K1X'], ['1MdomEvent.managerOverrides.touches','$C1K12'], ['1NdomEvent.MultiPointer','$d1y1P0O'], ['1OdomEvent.multiPointer.override','1P$3$6'], ['1PdomEvent.multiPointer.overrideStorage','-n'], ['1RdomEvent.MultiTouch','$d1y1T0O'], ['1SdomEvent.multiTouch.override','1T$3$6'], ['1TdomEvent.multiTouch.overrideStorage','-n'], ['1UdomEvent.Pointer','$d1y1W0O'], ['1VdomEvent.pointer.override','1W$6$3'], ['1WdomEvent.pointer.overrideStorage','-n'], ['1XdomEvent.PointerMapper','$X1U1N1E6h$f'], ['1YdomEvent.Touch','$d1y110O'], ['10domEvent.touch.override','11$6$3'], ['11domEvent.touch.overrideStorage','-n'], ['12domEvent.TouchMapper','$X$f1A$$1F1Y1R1G1E6h'], ['13event.globalize','$c19'], ['14event.ArrayGroup','$X'], ['15event.Group'], ['16event.manager.Array','$X'], ['17event.manager.Base','$3$b$X14$j'], ['18event.manager.Mixed','$X$3'], ['19event.Manager','$d171-$X'], ['1$event.MappingManager','$d19'], ['1-Event'], ['1_event.PriorityGroup','14'], ['1.event.PriorityManager','$X$9171_1-$j'], ['1!formatter','5K5G'], ['1*geocode','-H6h'], ['1(geolocation'], ['1)geometry.base.Circle','19$X0P2d'], ['1,geometry.base.LinearRing','19$X$f$p$g2u2c0P2b2g2a2h1j'], ['1qgeometry.base.LineString','19$X$f$p$o$g2c0P2g2a1j'], ['1jgeometry.base.Point','$X1-19'], ['1zgeometry.base.Polygon','19$X$f$p0P2b2g2a2h2e1,'], ['1Qgeometry.base.Rectangle','1-19$X2f'], ['1Jgeometry.component.anchor'], ['1Zgeometry.component.boundsFromPixels','$g'], ['2ageometry.component.ChildPath','$f$b'], ['2bgeometry.component.closedPathDecode','$o'], ['2cgeometry.component.findClosestPathPosition','-r'], ['2dgeometry.component.commonMethods.circle'], ['2egeometry.component.commonMethods.polygon','2u2c$g'], ['2fgeometry.component.commonMethods.rectangle','$g2c'], ['2ggeometry.component.CoordPath'], ['2hgeometry.component.FillRule'], ['2igeometry.component.pixelContains'], ['2kgeometry.component.pixelGeometryGeodesic.circle','2o2N2B$1'], ['2lgeometry.component.pixelGeometryGeodesic.lineString','2o2B$.'], ['2mgeometry.component.pixelGeometryGeodesic.polygon','2l2o2K'], ['2ngeometry.component.pixelGeometryGeodesic.rectangle','2l2o2K2N'], ['2ogeometry.component.pixelGeometryGeodesic.storage','-n'], ['2pgeometry.component.PixelGeometryShift','$g1J'], ['2rgeometry.component.pixelGeometrySimplification.lineString','4y2t'], ['2sgeometry.component.pixelGeometrySimplification.polygon','2K2r2t'], ['2tgeometry.component.pixelGeometrySimplification.storage','-n'], ['2ugeometry.component.pointInPolygon'], ['2vgeometry.component.RenderFlow','$X$b$f6v'], ['2wgeometry.component.renderFlow.stageGeodesic','2o'], ['2xgeometry.component.renderFlow.stageScale'], ['2ygeometry.component.renderFlow.stageShift','2p'], ['2Ageometry.component.renderFlow.stageSimplification','2t'], ['2Bgeometry.component.ShortestPath','1J$.'], ['2Cgeometry.Circle','$d6v1)2I2v2k2x2y2D1Z$11i2i'], ['2Dgeometry.defaultOptions','7l'], ['2Egeometry.LineString','$d$p$o6v1q2K2v2w2l2x2A2r2y2B1i2D1Z'], ['2Fgeometry.Point','$d6v1j2M2v2x2y2D'], ['2Ggeometry.Polygon','$d$p2b6v1z2N2v2w2m2y2A2s2x2B1i2D1Z2i'], ['2Hgeometry.Rectangle','$d6v1Q2O2v2w2n2x2y2B1J2D1Z1i2i'], ['2Igeometry.pixel.Circle','$X2d'], ['2Kgeometry.pixel.LineString','$X$g2c'], ['2Lgeometry.pixel.MultiPolygon','$X2N$g'], ['2Mgeometry.pixel.Point','$X'], ['2Ngeometry.pixel.Polygon','$X2e'], ['2Ogeometry.pixel.Rectangle','$X2f'], ['2PgeometryEditor.Base','$X191u6v206u'], ['2RgeometryEditor.LineString','$X$d2P3o2)3x2U2Y'], ['2SgeometryEditor.Point','$d2P2U3r2,3y'], ['2TgeometryEditor.Polygon','$X$d2P3p2q3w2U2Y'], ['2UgeometryEditor.storage','-n'], ['2VgeometryEditor.GuideLines','$c-r6v1s652K'], ['2WgeometryEditor.Menu','$c7m3N0Y53'], ['2XgeometryEditor.options.edgeMapping','20'], ['2YgeometryEditor.options.guideLinesMapping','20'], ['20geometryEditor.options.mapper','6w'], ['21geometryEditor.options.vertexMapping','20'], ['22geometryEditor.component.SubEntityManager','$X'], ['23geometryEditor.controller.Base','$X'], ['24geometryEditor.controller.BasePath','$d232z2(5y'], ['25geometryEditor.controller.BaseMarkerDragging','$d236v'], ['26geometryEditor.controller.BasePathMarkerDragging','$d252V6v'], ['27geometryEditor.controller.EdgeDragging','$d$Y$V26'], ['28geometryEditor.controller.PointDragging','$d252V'], ['29geometryEditor.controller.VertexDragging','$d$V26'], ['2$geometryEditor.controller.PathDrawing','$d23$f6u2-2_'], ['2-geometryEditor.drawing.syncObject','19'], ['2_geometryEditor.drawing.Tool','$f6u0X2V'], ['2.geometryEditor.controller.LineStringDrawing','$d2$$Y'], ['2!geometryEditor.controller.PointDrawing','$d2$6u'], ['2*geometryEditor.controller.PolygonDrawing','$d2$$Y'], ['2(geometryEditor.controller.Edge','$d2327'], ['2)geometryEditor.controller.LineString','$d242.5y'], ['2,geometryEditor.controller.Point','$d232!28'], ['2qgeometryEditor.controller.Polygon','$d232j2*5y'], ['2jgeometryEditor.controller.PolygonPath','$d245y'], ['2zgeometryEditor.controller.Vertex','$d23292W5y'], ['2QgeometryEditor.model.Base','17'], ['2JgeometryEditor.model.BaseChild','$d2Q'], ['2ZgeometryEditor.model.BaseRoot','$d2Q'], ['3ageometryEditor.model.MultiPointChild','$d2J'], ['3bgeometryEditor.model.ChildLinearRing','$d3c3g'], ['3cgeometryEditor.model.ChildLineString','$d3a3h'], ['3dgeometryEditor.model.ChildPolygon','$d3a3i'], ['3egeometryEditor.model.ChildVertex','$d3a3k1-'], ['3fgeometryEditor.model.component.BaseParent','$X221-'], ['3ggeometryEditor.model.component.LinearRing','$d3h'], ['3hgeometryEditor.model.component.LineString','$d3e3f6u223m3l1-'], ['3igeometryEditor.model.component.Polygon','$d3b3f'], ['3kgeometryEditor.model.mixin.Vertex'], ['3lgeometryEditor.model.EdgeGeometry','$X171-6v2M1i'], ['3mgeometryEditor.model.Edge','$d2Z1-'], ['3ngeometryEditor.model.RootLinearRing','$d3o3g'], ['3ogeometryEditor.model.RootLineString','$d2Z3h'], ['3pgeometryEditor.model.RootPolygon','$d2Z3i'], ['3rgeometryEditor.model.RootVertex','$d2Z3k1-'], ['3sgeometryEditor.view.Base','$X'], ['3tgeometryEditor.view.BaseParent','$d3s22'], ['3ugeometryEditor.view.BasePath','$d3t3E212X'], ['3vgeometryEditor.view.Edge','$d3A353(4j0Y2X'], ['3wgeometryEditor.view.MultiPath','$d3u3x'], ['3xgeometryEditor.view.Path','$d3u3A3v22'], ['3ygeometryEditor.view.Point','$d3s'], ['3AgeometryEditor.view.Vertex','$d$X3s$g353(4j0Y21-g'], ['3BgeoObject.addon.balloon','1-$36y3N3F0a7h'], ['3CgeoObject.addon.editor','3N2U3-$V'], ['3DgeoObject.addon.hint','$36y3N394U7h'], ['3EGeoObjectArray','136v3-1u1-193S3T3V3P3R'], ['3FgeoObject.Balloon','$f$X193M6y3-7h'], ['3GgeoObject.balloonPositioner.circle','3M'], ['3HgeoObject.balloonPositioner.lineString','3M2c'], ['3IgeoObject.balloonPositioner.point','3M'], ['3KgeoObject.balloonPositioner.polygon','3M2u'], ['3LgeoObject.balloonPositioner.rectangle','3M2c$g'], ['3MgeoObject.balloonPositioner.storage','-n'], ['3NGeoObject','131-196v3-1u3S3T3V'], ['3OGeoObjectCollection','136v3-1u1-193S3T3V3U3R'], ['3PgeoObject.component.ArrayImplementation','$f1-0I'], ['3RgeoObject.component.BoundsAggregator','$X$f$g$$$g'], ['3SgeoObject.component.castGeometry','33'], ['3TgeoObject.component.castProperties','1u'], ['3UgeoObject.component.CollectionImplementation','$f1-0N'], ['3VgeoObject.component.ObjectImplementation','1-$f3Z0L'], ['3WgeoObject.dragCallback.circle','32'], ['3XgeoObject.dragCallback.lineString','32'], ['3YgeoObject.dragCallback.point','32'], ['30geoObject.dragCallback.polygon','32'], ['31geoObject.dragCallback.rectangle','32'], ['32geoObject.dragCallback.storage','-n'], ['33geoObject.geometryFactory','-n2F2E2G2H2C'], ['34Circle','$d3N'], ['35Placemark','$d3N'], ['36Polygon','$d3N'], ['37Polyline','$d3N'], ['38Rectangle','$d3N'], ['39geoObject.Hint','$f$j193-7h'], ['3$geoObject.metaOptions','4j6h'], ['3-geoObject.optionMapper','6w'], ['3_geoObject.OverlayFactory','$d-n'], ['3.geoObject.overlayFactory.circle','3_6T'], ['3!geoObject.overlayFactory.hotspot','3_6H6K6I6L6G3J'], ['3*geoObject.overlayFactory.htmlRectangle','3_6R'], ['3(geoObject.overlayFactory.interactive','3_6O6X6W6Y6T3J'], ['3)geoObject.overlayFactory.interactiveGraphics','3_6V6X6W6Y6T3J'], ['3,geoObject.overlayFactory.placemark','3_6O'], ['3qgeoObject.overlayFactory.polygon','3_6W'], ['3jgeoObject.overlayFactory.polyline','3_6X'], ['3zgeoObject.overlayFactory.rectangle','3_6Y'], ['3QgeoObject.overlayFactory.staticGraphics','3_63656462663J'], ['3JgeoObject.overlayFactory.storage','-n'], ['3ZgeoObject.View','$f$b$h$Y$T1-6n6v6w6u324a0Y4Z3J'], ['4ageoObject.view.overlayMapping','$X-n'], ['4bgeoQueryResult.component.contain','7l$04d4f1k1i2u$-'], ['4cgeoQueryResult.component.distance','$f-r$-$b2c4d1k1i2E'], ['4dgeoQueryResult.component.geometryPicker','2C2H2E2G2F$b33'], ['4egeoQueryResult.component.intersect','7l1k1i$0$-4c4b'], ['4fgeoQueryResult.component.search','4g'], ['4ggeoQueryResult.component.util'], ['4hGeoQueryResult','$X$9$z$f$a0x$b$g4f4b4c4e4g4d3N'], ['4igeoQuery','4h'], ['4kgeoXml.getJson','$8$z4s'], ['4lgeoXml.load','4k804o4p4m4n4t$z'], ['4mgeoXml.parser.gpx.geoObjects','3E3N5y6v4r'], ['4ngeoXml.parser.kml.geoObjects','$b3E3N6A5u7I1H$z$44t'], ['4ogeoXml.parser.ymapsml.geoObjects','$b$X$o3E3N6A5u7I4t81'], ['4pgeoXml.parser.ymapsml.MapState','$b$z'], ['4rgeoXml.preset.gpx','6A2c5y1k2c$X5G1!$H196v'], ['4sgeoXml.service.loader','$8$z-t'], ['4tgeoXml.util','6A'], ['4ugetZoomRange','5b5g6t'], ['4vgraphics.CSG','$$-r4S$g'], ['4wgraphics.generator.clipper','4S4x$$'], ['4xgraphics.generator.cohenSutherland'], ['4ygraphics.generator.simplify'], ['4Agraphics.generator.stroke','-r4S'], ['4Bgraphics.layout.blankIcon','$d'], ['4Cgraphics.render.Base','$X$H$N$g-r4F191-4w4K$Z-d-a-b$4$2'], ['4Dgraphics.render.Canvas','$d$X4C$H$N$2$g'], ['4Egraphics.render.canvas.Shapes','$d$X4D4G4A$4$2'], ['4Fgraphics.render.factory'], ['4Ggraphics.render.abstract.Shapes'], ['4Hgraphics.render.SVG','$d$X4C$H$N'], ['4Igraphics.render.svg.Shapes','$d$X4H4G$N-r'], ['4Kgraphics.render.util','$b'], ['4Lgraphics.render.VML','$d$X4C$H$N'], ['4Mgraphics.render.vml.Shapes','$d$X4L4G$N-r'], ['4Ngraphics.renderManager','$H$N$c$3$H$N$9$Z$g'], ['4Ographics.Representation','$X$g4S'], ['4Pgraphics.shape.base','$d$X$N$g191-4O4F'], ['4Rgraphics.Shape','$d4P-r4S'], ['4Sgraphics.Path','-r$g'], ['4Thint.fitPane','$N$O$q'], ['4UHint','$$$j$f$X1-196v6x2F6N4T0W'], ['4Vhotspot.InternalShapeContainer','19411-$3$b'], ['4Whotspot.LayerShapeContainer','4Y191-$d$.$$'], ['4Xhotspot.overlayContainer','$c4Y19$d1-52'], ['4Yhotspot.ShapeContainer','4V1941$3'], ['40hotspot.ContainerList','$9$3$$191-$X414Z4j$f'], ['41hotspot.counter'], ['42hotspot.layer.addon.balloon','44461w$f0a$3-k'], ['43hotspot.layer.addon.hint','46451w1H$f4U$3'], ['44hotspot.layer.Balloon','$f1-195X7h$X47'], ['45hotspot.layer.Hint','191-$f$j51477h5a$X$j'], ['46hotspot.Layer','4W6n1-13$f52470F$d5f'], ['47hotspot.layer.optionMapper','6w'], ['48hotspot.loader','$X$f$8'], ['49hotspot.Manager','6f196n400U4Z4j'], ['4$hotspot.ObjectSource','$k$f484,4Z4z194(4!4.6v2N2O2L$n'], ['4-hotspot.shape.geometry.Base','6v19'], ['4_hotspot.shape.geometry.Circle','$d$g-r4)4-'], ['4.hotspot.shape.geometry.MultiPolygon','4!6v$g4)2N19'], ['4!hotspot.shape.geometry.Polygon','4*4)4-2K$d'], ['4*hotspot.shape.geometry.Polyline','2c4)4-$d'], ['4(hotspot.shape.geometry.Rectangle','2H4)$d4-'], ['4)hotspot.shape.geometryStorage','-n'], ['4,hotspot.Shape','196v4)'], ['4qInception','191H$3$X$Q'], ['4jinteractivityModel.geoObject','0W4Z'], ['4zinteractivityModel.layer','4Z$X4Q'], ['4QinteractivityModel.map','0W4Z'], ['4JinteractivityModel.opaque','0W4Z'], ['4ZinteractivityModel.storage','-n'], ['5ainteractivityModel.transparent','0W4Z'], ['5bLayerCollection','0G5g$d$f$z0S0T'], ['5clayer.component.TilePositioner','$.'], ['5dlayer.component.TileSource','$2$.'], ['5eLayer','$f$d$H$20Y130F*u5o5d5c6u'], ['5flayer.optionMapper','6w'], ['5glayer.storage','-n'], ['5hlayer.tile.CanvasTile','196v$4-e$H5y5l'], ['5klayer.tile.DomTile','$H$N1H191-6v5y5i$45l'], ['5llayer.tile.storage','-n'], ['5mlayer.tileContainer.CanvasContainer','$d$H$N$$-o-g0F5l5o5h'], ['5nlayer.tileContainer.DomContainer','$d$H$N-o0F5l5o5k'], ['5olayer.tileContainer.storage','-n'], ['5playout.Base','$X1-191H0W$b'], ['5rlayout.component.clientBounds','$N'], ['5slayout.Image','7I5u$N$H6u1H$2$4'], ['5tlayout.ImageWithContent','$d7G5s5v5u'], ['5ulayout.storage','-n'], ['5vlayout.templateBased.Base','$d5p$H$N$X$b$f$$1-$l191u1t1w5r1H0W5u5y'], ['5wlocalization.common.be'], ['5xlocalization.common.cs'], ['5ylocalization.common.current',function(project){return ['localization.common.' + project.data.lang.substr(0,2)]}], ['5Alocalization.common.en'], ['5Blocalization.common.kk'], ['5Clocalization.common.ru'], ['5Dlocalization.common.tr'], ['5Elocalization.common.tt'], ['5Flocalization.common.uk'], ['5Glocalization.lib'], ['5Hlocalization.units.be'], ['5Ilocalization.units.cs'], ['5Klocalization.units.current',function(project){return ['localization.units.' + project.data.lang.substr(0,2)]}], ['5Llocalization.units.en'], ['5Mlocalization.units.kk'], ['5Nlocalization.units.ru'], ['5Olocalization.units.tr'], ['5Plocalization.units.tt'], ['5Rlocalization.units.uk'], ['5Smap.action.Base','19'], ['5Tmap.action.Continuous','$d5S'], ['5Umap.action.Manager','19$f$g$t$_$X'], ['5Vmap.action.Sequence','$X5W$f'], ['5Wmap.action.Single','$f$d5S19'], ['5Xmap.addon.balloon','6i556n'], ['5Ymap.addon.controls','6i5-'], ['50map.addon.geoObjects','6i6d-X'], ['51map.addon.hint','6i6e6n'], ['52map.addon.hotspots','496i'], ['53map.associate.serviceGeoObjects','$c6d'], ['54map.associate.serviceLayers','-s$c6g'], ['55map.Balloon','$f$j$H190a6k'], ['56map.behavior.Manager','0u586c3U$d'], ['57map.behavior.metaOptions','6h'], ['58map.behavior.optionMapper','6w'], ['59map.Container','$H$N$O196u1H1-$f$$'], ['5$map.control.manager.Layout','6u$H$N0Y$I$X'], ['5-map.control.Manager','$d1-*n5$06'], ['5_map.control.optionMapper','6w'], ['5.map.Converter'], ['5!map.copyrights.counter','5q$3'], ['5,map.copyrights.Layout','$f$H$G$N*m7I$M1w5y-v'], ['5qmap.Copyrights','0S5,5j*o191u$z$f6t7l7k'], ['5jmap.copyrights.Promo','1u6u4q6h7l7k$H$N-k0Y-V'], ['6bmap.event.Manager','1.6n$d$X'], ['6cmap.GeneralCollection','6v191-3U'], ['6dmap.GeoObjects','1-6c$d3U3R6k3-'], ['6emap.Hint','$f$j$H194U6k'], ['6fmap.hotspot.Controller','0U'], ['6gmap.layer.Manager','5b$d5f6v6k'], ['6hmap.metaOptions','6v7l4Q'], ['6iMap','*Y595.5q6m6h6b566l5U6g$f6n*p136r1H0W4Z6t5W5V6v6k$g5b5g(l0Y$g$N$m9Z$$-m-W-v'], ['6kmap.optionMapper','6w'], ['6lmap.pane.Manager','7d'], ['6mmap.ZoomRange','19$f$z6u$$0T'], ['6nMapEvent','$d1-6p0O'], ['6omapEvent.override.common','1-6p'], ['6pmapEvent.overrideStorage','-n'], ['6rMapEventController','6n'], ['6sMapType'], ['6tmapType.storage','-n'], ['6uMonitor','$X$f$b'], ['6voption.Manager','$X0K6A171-'], ['6woption.Mapper','191-'], ['6xoption.monitor.Manager','$X6y'], ['6yoption.Monitor','$f'], ['6Aoption.presetStorage','-n'], ['6Boverlay.Base','$X19606v6u'], ['6Coverlay.component.CursorManager','$X$A6y'], ['6Doverlay.component.DomView','$X$$$H$N$Z6v6u5u*x*y*w*v*r'], ['6Eoverlay.component.Interactivity','6u4Z6r1-'], ['6Foverlay.hotspot.Base','$d4X6B6E6C4,4j'], ['6Goverlay.hotspot.Circle','$d6F674_'], ['6Hoverlay.hotspot.Placemark','$d2O6F674('], ['6Ioverlay.hotspot.Polygon','$d6F674!'], ['6Koverlay.hotspot.Polyline','$d6F674*'], ['6Loverlay.hotspot.Rectangle','$d6F674('], ['6Moverlay.html.Balloon','$d$N1-*y6v606B676E6D6C4J1w6v$b'], ['6Noverlay.html.Label','$d$N6B676E6D6C4J'], ['6Ooverlay.html.Placemark','$d$N6v60*y6B676E6D6C4j'], ['6Poverlay.html.rectangle.Layout','$d$N$H$b5p4K6u'], ['6Roverlay.html.Rectangle','$d$N2O6B676E6D6C6P4j'], ['6Soverlay.interactiveGraphics.Base','$d$J6U6B'], ['6Toverlay.interactiveGraphics.Circle','$d6S6G67'], ['6Uoverlay.interactiveGraphics.LoadingDispatcher','$X'], ['6Voverlay.interactiveGraphics.Placemark','$d6S6u6I2N67'], ['6Woverlay.interactiveGraphics.Polygon','$d6S6I67'], ['6Xoverlay.interactiveGraphics.Polyline','$d6S6K67'], ['6Yoverlay.interactiveGraphics.Rectangle','$d6S6L67'], ['60overlay.optionMapper','6w'], ['61overlay.staticGraphics.Base','$d*t*l4N6B'], ['62overlay.staticGraphics.Circle','61$d4R67'], ['63overlay.staticGraphics.Placemark','616O6B$d$X4R672O5s1w4E'], ['64overlay.staticGraphics.Polygon','61$d4R674v4S2N2K'], ['65overlay.staticGraphics.Polyline','61$d4R67'], ['66overlay.staticGraphics.Rectangle','61$d4R67'], ['67overlay.storage','-n'], ['68pane.ControlPane','1m7c0Y7d$d'], ['69pane.CopyrightsPane','$d7c0Y7d'], ['6$pane.EventPane','$d6.7d0Y'], ['6-pane.FloatPane','$d7c$N7d0Y'], ['6.pane.GlassPane','$d$N$X7c0Y1H7d(k$A'], ['6!pane.graphics.StepwisePane','6J0Y7d$d'], ['6*pane.graphics.TransitionPane','6Z0Y7d$d'], ['6(pane.layer.StepwisePane','6,0Y7d$d'], ['6)pane.layer.TransitionPane','6q0Y7d$d'], ['6,pane.movable.StepwisePane','$X$H$N19$Z-e'], ['6qpane.movable.TransitionPane','$X$H$N1H19'], ['6jpane.movableOuter.StepwisePane','$d$X$N6,0Y7d'], ['6zpane.movableOuter.TransitionPane','$d$X$N6q0Y7d'], ['6Qpane.OuterPane','$d7c$N7d$O7c0Y'], ['6Jpane.overlay.StepwisePane','$d$X$N6,0Y7d'], ['6Zpane.overlay.TransitionPane','$d$X6q0Y7d'], ['7apane.shadow.StepwisePane','6J0Y7d$d'], ['7bpane.shadow.TransitionPane','6Z0Y7d$d'], ['7cpane.StaticPane','$H19$N'], ['7dpane.storage','-n'], ['7epoi.BalloonManager','-s44-Y$J$u-v'], ['7fprojection.Cartesian','$.1h'], ['7gprojection.GeoToGlobalPixels','7i1k$.'], ['7hprojection.idle'], ['7iprojection.Mercator','$($.'], ['7kprojection.sphericalMercator','7g'], ['7lprojection.wgs84Mercator','7g'], ['7mprojection.zeroZoom'], ['7nregions','$8$e$z$d$35!0Y3N3E*O3)5y'], ['7oroute','7C7E$z'], ['7prouter.addon.editor','7C7x'], ['7rrouter.editor.component.viaPoint.Adder','197F2c$f'], ['7srouter.editor.component.viaPoint.Editor','$f19'], ['7trouter.editor.component.viaPoint.Remover','19'], ['7urouter.editor.component.wayPoint.Adder','35190X7E'], ['7vrouter.editor.component.wayPoint.Editor','$f197E'], ['7wrouter.editor.component.wayPoint.Remover','19'], ['7xrouter.Editor','7o$X7E6v191u1w7s7v7r7u7t7w'], ['7yrouter.Path','$d$.2c$b3N1!'], ['7Arouter.preset','6A7I$.$X5a3N53'], ['7Brouter.restrict','$b'], ['7Crouter.Route','6v1u1-19133S3T3V3U3E3N$X7F7y7E1!-0'], ['7Drouter.Segment','1u5y5G1!'], ['7Erouter.util','$z$8$b$X$o$0$g7D7l7B1*'], ['7Frouter.ViaPoint','$d3N'], ['7GTemplate','$3$X$b'], ['7HTemplateLayoutFactory','$d$X5v7G1s1t'], ['7ItemplateLayoutFactory','7H'], ['7Ktheme.browser.common','6h1B6o'], ['7Ltheme.browser.desktop.gecko','6h1M1S105n'], ['7Mtheme.browser.desktop.ie7','1I6h1C5n'], ['7Ntheme.browser.desktop.ie8','1I6h1C5n'], ['7Otheme.browser.desktop.ie9','6h5m1M1S10'], ['7Ptheme.browser.desktop.presto','1I6h5n'], ['7Rtheme.browser.desktop.safari','5n6h1M1S10'], ['7Stheme.browser.desktop.webkit','5m6h1M1S10'], ['7Ttheme.browser.pointer.ie10','6h1L1O1V1B5m'], ['7Utheme.browser.touch.common','6h1M1S105n'], ['7Vtheme.browser.touch.webkit','6h'], ['7Wtheme.browser.unknown','6h1M1S105n'], ['74theme.twirl.balloon.layout.CloseButton','1H1-7I5u!n'], ['75theme.twirl.balloon.layout.content.Body','5u7I'], ['76theme.twirl.balloon.layout.content.Footer','5u7I'], ['77theme.twirl.balloon.layout.content.Header','7I5u'], ['78theme.twirl.balloon.layout.Content','5u7I!o'], ['79theme.twirl.balloon.Layout','7I5u$N$b1-!p$G$q'], ['7$theme.twirl.balloon.layout.Shadow','5u7I$H$G$N6y!r'], ['7-theme.twirl.balloon.meta','6A6h7_'], ['7_theme.twirl.balloon.preset','6A79787775767$74(m4J0Y'], ['7.theme.twirl.behavior.meta','6h'], ['7!theme.twirl.clusterAccordion.layout.ItemContent','5u6u7I!w$H$N'], ['7*theme.twirl.clusterAccordion.layout.ItemTitle','5u6u7I!x$H$N6v5s6A'], ['7(theme.twirl.clusterAccordion.layout.ListItem','5u6u7I!v1H$H$N$X$G$f'], ['7)theme.twirl.clusterAccordion.layout.List','5u6u7I!u$H1u$b$N$f'], ['7,theme.twirl.clusterCarousel.layout.ContentItem','5u7I!y6u$H'], ['7qtheme.twirl.clusterCarousel.layout.Content','5u6h7I!A6u1u1H$b$H$N$G'], ['7jtheme.twirl.clusterCarousel.layout.Pager','5u7I!B6u1u$b$H$3$N'], ['7ztheme.twirl.clusterCarousel.layout.PagerItem','5u7I!C6u$H$G'], ['7Qtheme.twirl.cluster.balloon.layout.MainContent','5u7I$H6u!D'], ['7Jtheme.twirl.cluster.balloon.layout.ContentBody','5u7I!E6u$H'], ['7Ztheme.twirl.cluster.balloon.layout.Sidebar','5u7I$H1u$N$f$36u$b!F'], ['8atheme.twirl.cluster.balloon.layout.SidebarItem','5u7I!G6u$H$G'], ['8btheme.twirl.cluster.layout.IconContent','5u7I'], ['8ftheme.twirl.cluster.layout.Icon','$H$N1H191-5u0W(o6y$2'], ['8gtheme.twirl.cluster.layout.NightIconContent','5u7I(n'], ['8htheme.twirl.cluster.metaOptions','6h8i6A'], ['8itheme.twirl.cluster.layout.preset','6A7Z7Q7J8f8b8a4j8g8b7q7,7j7z7)7(7*7!'], ['8ktheme.twirl.control.layout.Button','7I!s!t1w5u$M$L5u$H$G1-5r$N$46u'], ['8mtheme.twirl.control.layout.Group','5p5u$d8l1-5r$$$H$N$f$3'], ['8ntheme.twirl.control.layout.ListBoxItem','7I!X!U5r6u$M$H$N5u'], ['8otheme.twirl.control.layout.ListBox','$H$N$G$M$L$q7I6u5u5r$3!V!W5y'], ['8ptheme.twirl.control.layout.ListBoxSeparator','7I5r!Y5u$N'], ['8ucontrol.miniMap.DragComponent','$T5T'], ['8vcontrol.miniMap.LayerPane','1H191-6u$H$N$($A8u'], ['8wtheme.twirl.control.miniMap.Layout','5p$d5u$N(r6t5g6u0G$$8v$H$N$G5f5r1-'], ['8xtheme.twirl.control.miniMap.switcher.Layout','5p$d1H$G$N5y5u'], ['8ytheme.twirl.control.layout.Rollup','7I!H5r$M$H1H1A$T5u'], ['8Btheme.twirl.control.layout.ScaleLine','7I8A5u$H5r1!1i'], ['8Ctheme.twirl.control.layout.SmallZoom','$H$N$G6u1H$M7I5u5r*i'], ['8Dtheme.twirl.control.layout.ToolBarSeparator','7I5u'], ['8Etheme.twirl.control.layout.Zoom','$d$H$N$G6u1H$M$T7I7G5u8C*h*i'], ['8Ftheme.twirl.control.meta','6A6h8G'], ['8Gtheme.twirl.control.preset.core','6A6h5y8H(p'], ['8Htheme.twirl.control.preset.geolocation','6A5s'], ['8Itheme.twirl.geometryEditor.layout.Edge','$X$H$N1H191-5u0W'], ['8Ktheme.twirl.geometryEditor.layout.Menu','$H$N1H195u'], ['8Ltheme.twirl.geometryEditor.layout.Vertex','$H$N$d5p6u1H1-5u'], ['8Mtheme.twirl.geometryEditor.meta','6h8L8I8K0Y7m'], ['8Ntheme.twirl.geoObject.layout.BalloonBodyContent','5u7I'], ['8Otheme.twirl.geoObject.layout.BalloonFooterContent','$d5u1v76'], ['8Ptheme.twirl.geoObject.layout.BalloonHeaderContent','5u7I'], ['8Rtheme.twirl.geoObject.layout.HintContent','5u7I'], ['8Stheme.twirl.geoObject.layout.IconContent','5u7I'], ['8Ttheme.twirl.geoObject.layout.StretchyIcon','5u7I$H$N$G6u!0$$'], ['8Utheme.twirl.geoObject.meta.editor','6A6h'], ['8Vtheme.twirl.geoObject.meta.full','6A6h818W8U'], ['8Wtheme.twirl.geoObject.meta.standard','6A6h4j3(5s8S8R8N8O8P8Y8X80'], ['8Xtheme.twirl.geoObject.preset.blankIcon','6A5t'], ['8Ytheme.twirl.geoObject.preset.dotIcon','6A5s'], ['80theme.twirl.geoObject.preset.poiIcon','6A5s'], ['81theme.twirl.geoObject.preset.stretchyIcon','6A8T'], ['82theme.twirl.hint.meta','6A6h83'], ['83theme.twirl.hint.preset','6A8988(t*w4J0Y'], ['84theme.twirl.hotspot.meta.balloon','6h7I'], ['85theme.twirl.hotspot.meta.hint','6h7I'], ['88theme.twirl.label.layout.Content','5u7I'], ['89theme.twirl.label.Layout','7I5u19'], ['8$theme.twirl.label.meta','6A6h8-'], ['8-theme.twirl.label.preset','6A8988(t'], ['8_theme.twirl.poi.layout.balloon.ContentBody','!15u7I$b$H$N1u6u4q7l7k-V'], ['8.theme.twirl.routeEditor.meta','6h6A8!'], ['8!theme.twirl.routeEditor.preset','6A6h(p'], ['8*theme.twirl.control.search.Layout','7I5u5y$G5r$L$M$H$N$f$b$q1H5u6u!5!4!6!7!8'], ['8(theme.twirl.search.meta','6h6A8)'], ['8)theme.twirl.search.preset','6A6h5y8*'], ['8,theme.twirl.traffic.layout.control.actual.OpenedPanelContent','$G7I'], ['8qtheme.twirl.traffic.layout.control.ActualServicesList','7I$H5u$H6A'], ['8jtheme.twirl.traffic.layout.control.trafficEvents','7I1H$H$G1w5u!$'], ['8ztheme.twirl.traffic.layout.control.actual.StateHint','7I$H$N5y1w!.'], ['8Qtheme.twirl.traffic.layout.control.actual.TimeHint','7I$H$N5y1w'], ['8Jtheme.twirl.traffic.layout.control.archive.OpenedPanelContent','7I'], ['8Ztheme.twirl.traffic.layout.control.archive.PanelFoot','7I!_$H5y'], ['9atheme.twirl.traffic.layout.control.archive.StateHint','7I$H$N5y1w!.'], ['9btheme.twirl.traffic.layout.control.archive.TimeControl','7I$H$N$G1x1w9d9o6v'], ['9ctheme.twirl.traffic.layout.control.archive.TimeLine','7I$H$N1w1H$T$($.!(9o'], ['9dtheme.twirl.traffic.layout.control.archive.WeekDays','7I!Q$H$G1H$X5y9f6u'], ['9etheme.twirl.traffic.layout.control.archive.weekDays.SelectButton','7I$H$G1H*a5y6u'], ['9ftheme.twirl.traffic.layout.control.archive.WeekDay','7I$H$G6u9J1H'], ['9gtheme.twirl.traffic.layout.control.archive.TimeHint','7I$H$N5y1w'], ['9htheme.twirl.traffic.layout.control.ChooseCity','7I!q'], ['9itheme.twirl.traffic.layout.control.Body','$H$N$G1w7I1H9o!,'], ['9ktheme.twirl.traffic.layout.control.Switcher','7I$H$G$N1H$T*c7G5y'], ['9ltheme.twirl.traffic.layout.control.Points','$H$N1w1!5y7I!z$N'], ['9mtheme.twirl.traffic.layout.control.Header','$H$N$G$M$L1w7I1H9o!j'], ['9ntheme.twirl.traffic.layout.control.ContentLayout','7I9o90*d$N5u5r$H'], ['9otheme.twirl.traffic.layout.control.constants'], ['9ptheme.twirl.traffic.layout.control.forecast.EmptyTimeHint','19$N'], ['9rtheme.twirl.traffic.layout.control.forecast.StateHint','7I$H$N5y1w!.'], ['9stheme.twirl.traffic.layout.control.forecast.TimeLine','7I$H$N6u1H$T$.*b9o'], ['9ttheme.twirl.traffic.layout.control.forecast.TimeHint','7I$H$N5y1w'], ['9utheme.twirl.control.layout.Traffic','7I5u9v1w$N$G6A6v1u$f9!'], ['9vtheme.twirl.control.layout.TurnedOff','7I5r1H$H!j*d$G$N$M$L'], ['9xtraffic.balloon.layout.InfoContentBody','5u7I$H(u5y1H-m90'], ['9Btraffic.balloon.layout.Distance','5u5y$H1!'], ['9Ctraffic.balloon.layout.ContentBody','5u7I$H$G9B(v(w1H5y1!1-'], ['9Mtheme.twirl.traffic.layout.trafficJamLayer.hint.Content','5u7I$H5y1!'], ['9Ntheme.twirl.traffic.layout.trafficLight.balloon.ContentBody','5u7I$H$G5y(v(w1H90'], ['9Otheme.twirl.traffic.metaOptions.control','6h9u'], ['9Ptheme.twirl.traffic.metaOptions.trafficJamLayer.hint','6A6h'], ['9Rtheme.twirl.traffic.metaOptions.trafficLight.balloon','6A6h9N'], ['9Stheme.twirl.traffic.preset.control.actual','6A9m9i9h9l8q8z9k8Q8,'], ['9Ttheme.twirl.traffic.preset.control.actualServicesList','6A8j'], ['9Utheme.twirl.traffic.preset.control.archive','6A9m9i9h9l9g8J9c8Z9b9k9a9e'], ['9Vtheme.twirl.traffic.preset.trafficLight.balloon','6A9N'], ['9Wtheme.twirl.traffic.preset.trafficLight.icon','6A90'], ['9Xtraffic.AutoUpdater'], ['9Ytraffic.balloonDataSource','$X'], ['90traffic.constants'], ['91traffic.layer.Png','5e$d'], ['92traffic.loader','486i'], ['93traffic.ActualMultiSource','959048$d-m$H9)'], ['94traffic.BaseMultiSource','4$$d$f48$b'], ['95traffic.MultiSource','9448$d9)'], ['96traffic.provider.actual.metaOptions','6A6h98'], ['97traffic.provider.Actual','46915_6k6u*Z9X90939_9*9)9q9J9,$d$f$8-y$.'], ['98traffic.provider.actual.preset','6A9Y7l9C(v(w9x9N'], ['99traffic.provider.archive.metaOptions','6A6h9-'], ['9$traffic.provider.Archive','1w4648915_6k6u90959_9*9)9,9j9J$d$f$X$.-y'], ['9-traffic.provider.archive.preset','6A7l'], ['9_traffic.provider.Base','6v1u9(19'], ['9.traffic.provider.Forecast','979*'], ['9!traffic.provider.layoutStorage','-n'], ['9*traffic.provider.storage','-n'], ['9(traffic.provider.optionMapper','6w'], ['9)traffic.regionData','$f$b$8$z'], ['9,traffic.timeZone','-y90$f'], ['9qtraffic.view.Actual','9z$d9!'], ['9jtraffic.view.Archive','9z$d9!'], ['9ztraffic.view.Base','1w$b5b9Q-3'], ['9Qtraffic.view.optionMapper','6w'], ['9Jtraffic.weekDays'], ['9Zutil.animation.getFlyingTicks'], ['$autil.ArrayIterator'], ['$butil.array'], ['$cutil.Associate','$3'], ['$dutil.augment','$X'], ['$eutil.base64'], ['$futil.bind'], ['$gutil.bounds','7l$.$v$X'], ['$hutil.callbackChunker','$f$X$c-g'], ['$iutil.cancelableCallback','-s'], ['$kutil.Chunker','$f$X'], ['$lutil.ContentSizeObserver','191-$5$q'], ['$mutil.coordinates.getClosestPixelPosition'], ['$nutil.coordinates.convert','$s'], ['$outil.coordinates.decode','$e'], ['$putil.coordinates.encode','$e'], ['$rutil.coordinates.parse'], ['$sutil.coordinates.reverse','$b'], ['$tutil.coordinates.scaleInvert'], ['$uutil.coordinates.toLatLong','$s'], ['$vutil.correctMargin'], ['$wutil.css.selectorMatcher','$x'], ['$xutil.css.selectorParser'], ['$yutil.cursor.Accessor','19'], ['$Autil.cursor.Manager','$b$N$B$y19'], ['$Butil.cursor.storage','-n$X'], ['$Cutil.data','$3'], ['$Dutil.dom.getBranchDifference'], ['$Eutil.dom.ClassName.byClassList'], ['$Futil.dom.ClassName.byClassName'], ['$Gutil.dom.className',function(project){return ['util.dom.ClassName.byClass'+(('classList' in document.createElement('a'))?'List':'Name')];}], ['$Hutil.dom.element','$N'], ['$Iutil.dom.positionController','$3'], ['$Kutil.dom.reaction.common','$G$X$Z'], ['$Lutil.dom.reaction.hold','$X1H$Z$K$N'], ['$Mutil.dom.reaction.hover','$X1H$K'], ['$Nutil.dom.style','$X$b'], ['$Outil.dom.viewport'], ['$Putil.dragEngine.current',function(project){var result, browser = project.support.browser; if ((browser.name == 'MSIE' || browser.name == 'IEMobile') && browser.documentMode < 9) { // Старые версии ie. result = 'util.dragEngine.mouse'; } else { result = 'util.dragEngine.mouseTouch'; } return [result]; }], ['$Rutil.dragEngine.mouse','1-1A-p'], ['$Sutil.dragEngine.mouseTouch','1-1A1H-p'], ['$Tutil.Dragger','$G$X$P191H'], ['$Uutil.eventId','$3'], ['$Vutil.EventPropagator'], ['$Wutil.EventSieve','$f'], ['$Xutil.extend'], ['$Yutil.fireWithBeforeEvent','$X1-'], ['$0util.geoBounds','$g$.'], ['$1util.getPixelRadius'], ['$2util.hd'], ['$3util.id'], ['$4util.imageLoader','1H$Z-a'], ['$5util.ImageLoadObserver','191H1-$N$3-k'], ['$6util.instantCache'], ['$7util.json'], ['$8util.jsonp','$3-m$z5y'], ['$9util.List','$3'], ['$$util.math.areEqual'], ['$-util.math.calculateLineIntersection'], ['$_util.math.cubicBezier'], ['$.util.math.cycleRestrict'], ['$!util.math.geoBounds','$0'], ['$*util.math.getSign'], ['$(util.math.restrict'], ['$)util.mbr','$g'], ['$qutil.nodeSize','$X$N$H$X$,$G$H$Z-g-a'], ['$jutil.once'], ['$zutil.Promise'], ['$Qutil.querystring'], ['$Jutil.safeAccess'], ['$Zutil.scheduler','$3$f-i-h'], ['-autil.scheduler.strategy.asap','$d-c-k'], ['-butil.scheduler.strategy.background','$d-c-l'], ['-cutil.scheduler.strategy.base','-i'], ['-dutil.scheduler.strategy.now','$d-c'], ['-eutil.scheduler.strategy.processing','$d-c-l'], ['-futil.scheduler.strategy.quantum','$d-c-k'], ['-gutil.scheduler.strategy.Raf','$d-c-k'], ['-hutil.scheduler.strategy.scheduled','$d-c-l'], ['-iutil.scheduler.strategy.storage','-n'], ['-kutil.scheduler.asap','$f$31H'], ['-lutil.scheduler.timescheduler','-g'], ['-mutil.script'], ['-nutil.Storage'], ['-outil.tile.Storage','191-'], ['-putil.tremorer'], ['-rutil.vector','$$'], ['-sutil.ymAdapter','$J'], ['-tvendor.geoxmlParser'], ['-uyandex.searchToGeocodeConverter','$b$X'], ['-vyandex.counter','-m$X'], ['-wyandex.coverage','$8$z-x'], ['-xyandex.coverageCache','7n2u2c7l2B'], ['-yyandex.dataProvider','-w$z$X'], ['-Ayandex.enterprise.layerRestriction','$X$b-D-B$H$N5m$2'], ['-Byandex.enterprise.mapRestriction.imageMap','-D2G2B4S$g7l'], ['-Cyandex.enterprise.mapRestriction.route','-B-D4b4e2G2E4i7l2u4v4S-r'], ['-Dyandex.enterprise.mapRestriction.vector','7n'], ['-Eyandex.enterprise.enable','-A7B-C5m6h-K91'], ['-Fyandex.geocodeProvider.map','-H-u$z$8$0$b4o7l'], ['-Gyandex.geocodeProvider.metaOptions','6h-F'], ['-Hyandex.geocodeProvider.storage','-n$z'], ['-Iyandex.layer.factory','5e$d$X$z-y-P5y$H6u-M'], ['-Kyandex.layer.Map','-I-P5g6h7l6k'], ['-Lyandex.layer.metaOptions','6h6k$X7e8_'], ['-Myandex.layer.poi','-s$c5f$b54$z19$f1-467e4542-L524$-P'], ['-Nyandex.layer.Satellite','-I5g7l6h-L'], ['-Oyandex.layer.Skeleton','-I5g7l6h-L'], ['-Pyandex.layers'], ['-Ryandex.mapType.hybrid','5y6t6s6h'], ['-Syandex.mapType.map','5y6t6s6h'], ['-Tyandex.mapType.metaOptions','6h'], ['-Uyandex.mapType.satellite','5y6t6s6h'], ['-Vyandex.state.associate','-4$c'], ['-Wyandex.state.component.Map','-V6u$X$d$u'], ['-Xyandex.state.component.MapGeoObjects','-V$u'], ['-Yyandex.state.component.PoiBalloon','-s-V'], ['-0yandex.state.component.Router','-V$b$u'], ['-1yandex.state.component.RulerBehavior','-V$b'], ['-2yandex.state.component.SearchControl','-V$X'], ['-3yandex.state.component.Traffic','6u-V'], ['-4yandex.State','1u$b$d'], ['!nballoon.layout.closeButton.html','(y!I'], ['!oballoon.layout.content.html','(y!I'], ['!pballoon.layout.html','(y!I'], ['!rballoon.layout.Shadow.html','(y!I'], ['!sbutton.layout.html','(N(G(F_c_g_b_h(H_d(K_f_w'], ['!tbutton.layout.text.html','(9'], ['!uclusterAccordion.layout.html','-,(A-8-9'], ['!vclusterAccordion.layout.Item.html','-,(A-8-9'], ['!wclusterAccordion.layout.itemContent.html','-,(A-8-9'], ['!xclusterAccordion.layout.itemTitle.html','-,(A-8-9'], ['!yclusterCarousel.layout.contentItem.html','-,(D(B(C'], ['!AclusterCarousel.layout.html','-,(D(B(C'], ['!BclusterCarousel.layout.pager.html','-,(D(B(C'], ['!CclusterCarousel.layout.pagerItem.html','-,(D(B(C'], ['!DclusterTabs.layout.content.html','-,-q'], ['!EclusterTabs.layout.html','-,-q'], ['!FclusterTabs.layout.menu.html','-,-q'], ['!GclusterTabs.layout.menuItem.html','-,-q'], ['!Hdropdownbutton.layout.html','(E'], ['!Tlistbox.layout.button.html','(N(G(F_c_g_b_h(H_d(K_f'], ['!Ulistbox.layout.checkbox.html','($(S(O(T(P(R'], ['!Vlistbox.layout.content.html',')f'], ['!Wlistbox.layout.html',')f(z)a(N(G(F_c_g_b_h(H_d(K_f(*(_(!!S)t!R)r)s($(S(O(T(P(R'], ['!Xlistbox.layout.item.html','($(S(O(T(P(R'], ['!Ylistbox.layout.separat.html','($(S(O(T(P(R'], ['!0placemark.layout.html','.h.g'], ['!1poiBalloonContent.layout.html','(--5'], ['!2ruler.layout.content.html','())g'], ['!3ruler.layout.html','())g'], ['!4search.layout.form.html','(((j(,.B(X(V_P(W(U_M_T(N(G(F_c_g_b_h(H_d(K_f'], ['!5search.layout.html',')f(Q(J(((j(q.7)b)d'], ['!6search.layout.item.html','.7.8'], ['!7search.layout.pager.html',')f(J(Q)b)d(((j(q.7'], ['!8search.layout.popup.html','(*(_(!!S)t!R)r)s)f(Q(Z(q'], ['!9tip.layout.html',')g'], ['!$traffic.layout.control.actual.ServicesList.html',')k)h(S(O(T(P(R'], ['!-traffic.layout.control.archive.OpenedPanelContent.html'], ['!_traffic.layout.control.archive.PanelFoot.html',')k.j'], ['!.traffic.layout.control.archive.stateHint.html',')k.,'], ['!!traffic.layout.control.archive.timeControl.html'], ['!*traffic.layout.control.archive.TimeDay.html','(2(Y_4(0(1(4(3)l'], ['!(traffic.layout.control.archive.timeLine.html',')k)i(*(_(!!S)t!R)r)s(..r'], ['!)traffic.layout.control.archive.weekDays.html','(2(Y_4(0(1(4(3)l'], ['!,traffic.layout.control.Body.html','(*(_(!!S)t!R)r)s)k'], ['!qtraffic.layout.control.ChooseCity.html',')k.j'], ['!jtraffic.layout.control.Header.html','(N(G(F_c_g_b_h(H_d(K_f_w(9'], ['!ztraffic.layout.control.points.html',')k.q'], ['!Qtraffic.layout.control.prognos.html',')f)e(*(_(!!S)t!R)r)s($(S(O(T(P(R'], ['!Jtraffic.layout.control.prognos.oneDay.html','($(S(O(T(P(R'], ['!Ztraffic.layout.control.prognos.onTheNearestTime.html','($(S(O(T(P(R'], ['*atraffic.layout.control.prognos.selectButton.html','(N(G(F_c_g_b_h(H_d(K_f_e(I)f(z'], ['*btraffic.layout.control.prognos.timeLine.html',')k)i(*(_(!!S)t!R)r)s(..r'], ['*ctraffic.layout.control.Switcher.html','(8_,(5_)(7(6'], ['*dtraffic.layout.html',')f(Z(z(..0)c'], ['*etrafficBallonInfo.layout.html','.!._-5'], ['*ftrafficBallonLevel.layout.html','.!(('], ['*gtrafficBallonTip.layout.html','.!.-..'], ['*hzoom.layout.hint.html',')p)m'], ['*izoom.layout.html',')p)o)n!f(N(G(F_c_g_b_h(H_d(K_f_i(L'] ], css:[ ['0pbehavior.ruler.css'], ['1lcss.common'], ['1mcss.control.layer'], ['1ncss.overlay.common'], ['1ocss.overlay.commonIe'], ['1pcss.overlay.label'], ['5ilayer.tile.domTile.css'], ['5*map.copyrights.css.common'], ['5(map.copyrights.css.ie'], ['5)map.copyrights.css.standards'], ['5zmap.css.en.ie'], ['5Qmap.css.en.standards'], ['5Jmap.css'], ['5Zmap.css.ru.ie'], ['6amap.css.ru.standards'], ['6_pane.GlassPane.css-ie'], ['7Xtheme.twirl.balloon.css.ie'], ['7Ytheme.twirl.balloon.css.ie6','7X'], ['70theme.twirl.balloon.css.ie7','7X'], ['71theme.twirl.balloon.css.ie8','7X'], ['72theme.twirl.balloon.css.ie9','73'], ['73theme.twirl.balloon.css.standards'], ['8ctheme.twirl.clusterNightContent.common.css'], ['8dtheme.twirl.cluster.default.common.css'], ['8etheme.twirl.cluster.default.ie.css'], ['8lgroupControl.css'], ['8rcontrol.minimap.css.common'], ['8scontrol.minimap.css.ie'], ['8tcontrol.minimap.css.ie8'], ['8Acontrol.scaleline.css'], ['86theme.twirl.label.css.common'], ['87theme.twirl.label.css.ie'], ['9wfake.css'], ['9ytraffic.balloon.infoLayout.css.common'], ['9Atraffic.balloon.infoLayout.css.ie'], ['9Dtraffic.balloon.layout.css.common'], ['9Etraffic.balloon.layout.css.ie'], ['9Ftraffic.balloon.tip.css.common'], ['9Gtraffic.balloon.tip.css.ie'], ['9Htraffic.balloon.tip.brown.css'], ['9Itraffic.balloon.tip.green.css'], ['9Ktraffic.balloon.tip.red.css'], ['9Ltraffic.balloon.tip.yellow.css'], ['$,util.nodeSize.css.common'], ['-5b-api-link'], ['-6b-balloon.ie'], ['-7b-balloon.standards'], ['-8b-cluster-accordion_list_marker'], ['-9b-cluster-accordion_list_numeric'], ['-$b-cluster-accordion.ie'], ['--b-cluster-accordion.standards'], ['-_b-cluster-carousel_pager_marker.ie'], ['-.b-cluster-carousel_pager_marker.standards'], ['-!b-cluster-carousel_pager_numeric.ie'], ['-*b-cluster-carousel_pager_numeric.standards'], ['-(b-cluster-carousel.ie'], ['-)b-cluster-carousel.standards'], ['-,b-cluster-content'], ['-qb-cluster-tabs'], ['-jb-dropdown-button.ie'], ['-zb-dropdown-button.standards'], ['-Qb-form-button__click.ie'], ['-Jb-form-button__click.standards'], ['-Zb-form-button__input.ie'], ['_ab-form-button__input.standards'], ['_bb-form-button_disabled_yes'], ['_cb-form-button_focused_yes'], ['_db-form-button_height_19'], ['_eb-form-button_height_22'], ['_fb-form-button_height_26'], ['_gb-form-button_hovered_yes'], ['_hb-form-button_pressed_yes'], ['_ib-form-button_size_sm'], ['_kb-form-button_theme_grey-19.ie'], ['_lb-form-button_theme_grey-19.standards'], ['_mb-form-button_theme_grey-22.ie'], ['_nb-form-button_theme_grey-22.standards'], ['_ob-form-button_theme_grey-no-transparent-26.ie'], ['_pb-form-button_theme_grey-no-transparent-26.standards'], ['_rb-form-button_theme_grey-sm.ie'], ['_sb-form-button_theme_grey-sm.standards'], ['_tb-form-button_theme_simple-grey.ie'], ['_ub-form-button_theme_simple-grey.standards'], ['_vb-form-button_type_simple'], ['_wb-form-button_valign_middle'], ['_xb-form-button.ie'], ['_yb-form-button.standards'], ['_Ab-form-checkbox_checked_yes.ie'], ['_Bb-form-checkbox_checked_yes.standards'], ['_Cb-form-checkbox_disabled_yes.ie'], ['_Db-form-checkbox_disabled_yes.standards'], ['_Eb-form-checkbox_focused_yes.ie'], ['_Fb-form-checkbox_focused_yes.standards'], ['_Gb-form-checkbox_size_13.ie'], ['_Hb-form-checkbox_size_13.standards'], ['_Ib-form-checkbox.ie'], ['_Kb-form-checkbox.ie8'], ['_Lb-form-checkbox.standards'], ['_Mb-form-input__clear_visibility_visible'], ['_Nb-form-input__clear.ie'], ['_Ob-form-input__clear.standards'], ['_Pb-form-input__hint_visibility_visible'], ['_Rb-form-input__hint.ie'], ['_Sb-form-input__hint.standards'], ['_Tb-form-input_has-clear_yes'], ['_Ub-form-input_size_16.ie'], ['_Vb-form-input_size_16.standards'], ['_Wb-form-input.ie'], ['_Xb-form-input.standards'], ['_Yb-form-radio__button_checked_yes.ie'], ['_0b-form-radio__button_checked_yes.ie8'], ['_1b-form-radio__button_checked_yes.standards'], ['_2b-form-radio__button_disabled_yes.ie'], ['_3b-form-radio__button_disabled_yes.standards'], ['_4b-form-radio__button_focused_yes'], ['_5b-form-radio__button_side_both.ie'], ['_6b-form-radio__button_side_both.standards'], ['_7b-form-radio__button.ie'], ['_8b-form-radio__button.ie8'], ['_9b-form-radio__button.standards'], ['_$b-form-radio_size_11.ie'], ['_-b-form-radio_size_11.standards'], ['__b-form-radio.ie'], ['_.b-form-radio.ie8'], ['_!b-form-radio.standards'], ['_*b-form-switch_disabled_yes.ie'], ['_(b-form-switch_disabled_yes.standards'], ['_)b-form-switch_focused_yes'], ['_,b-form-switch_pressed_yes'], ['_qb-form-switch_theme_switch-s.ie'], ['_jb-form-switch_theme_switch-s.ie8'], ['_zb-form-switch_theme_switch-s.standards'], ['_Qb-form-switch_type_switch.ie'], ['_Jb-form-switch_type_switch.standards'], ['_Zb-form-switch.ie'], ['.ab-form-switch.standards'], ['.bb-ico.ie'], ['.cb-ico.standards'], ['.db-listbox-panel.ie'], ['.eb-listbox-panel.ie8'], ['.fb-listbox-panel.standards'], ['.gb-placemark_theme'], ['.hb-placemark'], ['.ib-poi-balloon-content.ie'], ['.kb-poi-balloon-content.standards'], ['.lb-popupa__shadow.ie'], ['.mb-popupa__shadow.ie8'], ['.nb-popupa__shadow.standards'], ['.ob-popupa__tail.ie'], ['.pb-popupa__tail.standards'], ['.rb-popupa_scale-slider_yes'], ['.sb-popupa_theme_ffffff.ie'], ['.tb-popupa_theme_ffffff.standards'], ['.ub-popupa.ie'], ['.vb-popupa.standards'], ['.wb-pseudo-link.ie'], ['.xb-pseudo-link.standards'], ['.yb-ruler.ie'], ['.Ab-ruler.standards'], ['.Bb-search__button'], ['.Cb-search__input.ie'], ['.Db-search__input.standards'], ['.Eb-search-panel.ie'], ['.Fb-search-panel.standards'], ['.Gb-search.ie'], ['.Hb-search.standards'], ['.Ib-select__arrow.ie'], ['.Kb-select__arrow.standards'], ['.Lb-select__hint.ie'], ['.Mb-select__hint.standards'], ['.Nb-select__pager.ie'], ['.Ob-select__pager.standards'], ['.Pb-select__panel-switcher.ie'], ['.Rb-select__panel-switcher.standards'], ['.Sb-select_control_listbox.ie'], ['.Tb-select_control_listbox.standards'], ['.Ub-select_control_search.ie'], ['.Vb-select_control_search.ie8'], ['.Wb-select_control_search.standards'], ['.Xb-select_control_traffic.ie'], ['.Yb-select_control_traffic.standards'], ['.0b-select_data_no-data'], ['.1b-select_search.ie'], ['.2b-select_search.standards'], ['.3b-select_type_prognos.ie'], ['.4b-select_type_prognos.standards'], ['.5b-select.ie'], ['.6b-select.standards'], ['.7b-serp-item'], ['.8b-serp-url'], ['.9b-tip.ie'], ['.$b-tip.standards'], ['.-b-traffic-balloon__line'], ['._b-traffic-balloon_type_info'], ['..b-traffic-balloon_type_tip'], ['.!b-traffic-balloon'], ['.*b-traffic-panel__layer.ie'], ['.(b-traffic-panel__layer.ie8'], ['.)b-traffic-panel__layer.standards'], ['.,b-traffic-panel__level-hint'], ['.qb-traffic-panel__level'], ['.jb-traffic-panel__msg'], ['.zb-traffic-panel__scale.ie'], ['.Qb-traffic-panel__scale.ie8'], ['.Jb-traffic-panel__scale.standards'], ['.Zb-traffic-panel.ie'], ['!ab-traffic-panel.standards'], ['!bb-traffic-week.ie8'], ['!cb-traffic-week.standards'], ['!db-zoom__hint.ie'], ['!eb-zoom__hint.standards'], ['!fb-zoom__mark'], ['!gb-zoom__scale.ie'], ['!hb-zoom__scale.standards'], ['!ib-zoom__sprite.ie'], ['!kb-zoom__sprite.standards'], ['!lb-zoom.ie'], ['!mb-zoom.standards'], ['!Ii-custom-scroll'], ['!Ki-popup__under_color_white.ie'], ['!Li-popup__under_color_white.standards'], ['!Mi-popup__under_type_paranja.ie'], ['!Ni-popup__under_type_paranja.standards'], ['!Oi-popup__under.ie'], ['!Pi-popup__under.standards'], ['!Ri-popup_visibility_visible'], ['!Si-popup'] ], package:[ ['*kgraphics.render.detect.all',function(project){var depends = []; if (project.support.graphics.hasCanvas()) depends.push('graphics.render.canvas.Shapes'); if (project.support.graphics.hasSVG()) depends.push('graphics.render.svg.Shapes'); if (project.support.graphics.hasVML()) depends.push('graphics.render.vml.Shapes'); return depends;}], ['*lgraphics.render.detect.bestMatch',function(project){if (project.support.graphics.hasCanvas() && project.support.browser.name != 'MSIE' && project.support.browser.name != 'IEMobile') return ['graphics.render.canvas.Shapes']; if (project.support.graphics.hasSVG()) return ['graphics.render.svg.Shapes']; if (project.support.graphics.hasVML()) return ['graphics.render.vml.Shapes']; return []; }], ['*mmap.copyrights.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['map.copyrights.css.ie'] : ['map.copyrights.css.standards'];}], ['*npane.controls','68'], ['*opane.copyrights','69'], ['*ppane.events','6$'], ['*rpane.floats','6-'], ['*spane.glass','6.'], ['*tpane.graphics',function(project){return project.support.browser.transformTransition ? ['pane.graphics.TransitionPane'] : ['pane.graphics.StepwisePane']}], ['*upane.layers',function(project){return project.support.browser.transformTransition ? ['pane.layer.TransitionPane'] : ['pane.layer.StepwisePane']}], ['*vpane.movableOuters',function(project){return project.support.browser.transformTransition ? ['pane.movableOuter.TransitionPane'] : ['pane.movableOuter.StepwisePane']}], ['*wpane.outers','6Q'], ['*xpane.overlays',function(project){return project.support.browser.transformTransition ? ['pane.overlay.TransitionPane'] : ['pane.overlay.StepwisePane']}], ['*ypane.shadows',function(project){return project.support.browser.transformTransition ? ['pane.shadow.TransitionPane'] : ['pane.shadow.StepwisePane']}], ['*Apackage.behaviors.base.dynamic','0u7.0d0g0c0t0h0l'], ['*Bpackage.behaviors.base','0u7.0d0g0c*A'], ['*Cpackage.clusters.core','0v8f0x*W*1*3*N8h'], ['*Dpackage.clusters.theme.twirl','8h*2*4'], ['*Epackage.controls.core','04060q0807091c1d010j0*0-0d0.0g0!0s0)0Q1f1a1g0s5Y'], ['*Fpackage.controls.theme.twirl','8F'], ['*Gpackage.editor.core','*L2S2R2T3C2S2R2T'], ['*Hpackage.editor.theme.twirl','*S8M'], ['*Ipackage.full.core','*_*C*G***T*L*6*8(a*J(d*V(e6s6t1H1!4l1*1(5g6t'], ['*Kpackage.full.theme.twirl','*.*D*H*S*(*U*7*97.8V7-8$828F(s'], ['*Lpackage.geoObjects.core','3N3O3E*N*P*O*R*M3Q3)3!3(3J*W'], ['*Mpackage.geoObjects.circle','*1*32C343W3G3.3B3D3$50'], ['*Npackage.geoObjects.placemark','50*1*3352F3Y3I3,3B3D3$5s5t'], ['*Opackage.geoObjects.polygon','50*1*3362G303K3q3B3D3$'], ['*Ppackage.geoObjects.polyline','*1*32E373X3H3j3B3D3$50'], ['*Rpackage.geoObjects.rectangle','*1*32H38313L3z3B3D3$50'], ['*Spackage.geoObjects.theme.twirl','8V*2*4'], ['*Tpackage.geoXml.core','3(*3*14l503Y3I3K3H3B3D3$'], ['*Upackage.geoXml.theme.twirl','8V*2*4'], ['*Vpackage.hotspots','464243484$4Y4,4)4*4!4.4(4_*W(s7-82'], ['*Wpackage.layouts','5u5v7I'], ['*Xpackage.map.core','(l1(1!6i6h575W5T7g7l7k7f1k1i0G0F$T5e5b5g6s6t*B1u6v6u6A191.1-6n1H4u4Q4J4j5a4z4Z$g$d$X$z-n$f$2$$$.$('], ['*Ypackage.map.css',function(project){return ['map.css', 'map.css.' + {"en":"en","ru":"ru","tr":"en","uk":"ru"}[project.data.lang.substr(0,2)] + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')];}], ['*0package.map.yandex.layers',function(project){var allowedLayers = { map: 'Map', sat: 'Satellite', skl: 'Skeleton' }, allowedMapTypes = { map: ['map'], satellite: ['sat'], hybrid: ['sat', 'skl'] } if (project.data.restrictions && project.data.restrictions.prohibitedLayers) { var prohibited = project.data.restrictions.prohibitedLayers; for (var i = 0, l = prohibited.length; i < l; i++) { delete allowedLayers[prohibited[i]]; } } var deps = ['MapType', 'mapType.storage', 'layer.storage', 'yandex.mapType.metaOptions', 'package.hotspots']; for (var l in allowedLayers) { if (allowedLayers.hasOwnProperty(l)) { deps.push('yandex.layer.' + allowedLayers[l]); } } for (var mapType in allowedMapTypes) { if (allowedMapTypes.hasOwnProperty(mapType)) { var layers = allowedMapTypes[mapType]; for (var i = 0, l = layers.length; i < l; i++) { if (!allowedLayers[layers[i]]) { break; } } if (i == l) { deps.push('yandex.mapType.' + mapType); } } } return deps; }], ['*1package.mapBalloon.core','5X*W0a'], ['*2package.mapBalloon.theme.twirl','7-'], ['*3package.mapHint.core','51*W4U'], ['*4package.mapHint.theme.twirl','8$82'], ['*5package.staticGraphicsOverlays','6365646266'], ['*6package.route.core','7o3(*3*1503Y3I3K3H3B3D3$'], ['*7package.route.theme.twirl','8V*2*47A'], ['*8package.routeEditor.core','*67p0z0o'], ['*9package.routeEditor.theme.twirl','8.8W*2*4'], ['*$package.search.core','*Q5Y0J502F3Y3I3,3B3D3$'], ['*-package.search.theme.twirl','8(8W*2*4'], ['*_package.standard.core','(c*E*$*N*1*33O3E*W*V*!'], ['*.package.standard.theme.twirl','*-*F*2*48W'], ['*!package.tileContainer','5h5k5m5n'], ['**package.traffic.core','1e4342979$9.5Y2F3Y3I3(3B3D3$50'], ['*(package.traffic.theme.twirl','99969S9U9T8W*2*49W9R9O9P9n'], ['*)package.private.yandex.enterprise','-E'], ['*,package.clusters','*C*D'], ['*qpackage.controls','*E*F'], ['*jpackage.editor','*G*H'], ['*zpackage.full','*I*K'], ['*Qpackage.geocode','1*-H-F-G*N*S'], ['*Jpackage.geometries','1j1q1,1z1)1Q2M2K2N2I2O2F2E2G2C2H'], ['*Zpackage.geoObjects','*L*S'], ['(apackage.geoQuery','4i4h'], ['(bpackage.geoXml','*T*U'], ['(cpackage.map','*X*0'], ['(dpackage.overlays','2M2K2N2I2O6M6N6O6R6V6X6W6Y6T6H6K6I6L6G*5'], ['(epackage.regions','7n'], ['(fpackage.route','*6*7*8*9(g'], ['(gpackage.search','*$*-'], ['(hpackage.standard','*_*.'], ['(ipackage.traffic','***('], ['(kpane.GlassPane.css',function(project){var depends = []; if (project.support.browser.name == 'MSIE' || project.support.browser.name == 'IEMobile') depends.push(['pane.GlassPane.css-ie']); return depends;}], ['(ltheme.browser.current',function(project){var browser = project.support.browser, documentMode = browser.documentMode, browserEngineLoweCase = browser.engine.toLowerCase(), result = ['theme.browser.common']; if ((browser.name == 'MSIE' && documentMode >= 10 && browser.osVersion > 6.1) || (browser.name == 'IEMobile' && browser.engineVersion >= 6)) { result.push('theme.browser.pointer.ie10'); } else if (browser.multiTouch) { result.push('theme.browser.touch.common'); if (browser.engine == 'WebKit') { result.push('theme.browser.touch.webkit'); } } else { switch (browser.engine) { case 'WebKit': result.push('theme.browser.desktop.' + (browser.name == 'Safari' ? 'safari' : browserEngineLoweCase)); break; case 'Gecko': case 'Presto': result.push('theme.browser.desktop.' + browserEngineLoweCase); break; default: if (browser.name == 'MSIE') { result.push('theme.browser.desktop.ie' + (documentMode ? Math.min(9, Math.max(documentMode, 7)) : 7)); } else { result.push('theme.browser.unknown'); } break; } } return result; }], ['(mtheme.twirl.balloon.css',function(project){var modulePrefix = 'theme.twirl.balloon.css.', modules = '', browser = project.support.browser; if (browser.name == 'IEMobile') { modules = [modulePrefix + 'ie9']; } else if (browser.name == 'MSIE') { var ieVersion = Math.max(browser.documentMode, 7), modules = [modulePrefix + 'ie' + (ieVersion > 9 ? 9 : ieVersion)]; } else { modules = [modulePrefix + 'standards']; } return modules;}], ['(ntheme.twirl.clusterNightContent.css','8c'], ['(otheme.twirl.cluster.default.css',function(project){return project.support.browser.msie && project.support.browser.documentMode < 8 ? ['theme.twirl.cluster.default.common.css', 'theme.twirl.cluster.default.ie.css'] : ['theme.twirl.cluster.default.common.css'];}], ['(ptheme.twirl.control.layouts.core','8w8x8m8o8n8p8k8B8D8C8E8y'], ['(rcontrol.minimap.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['control.minimap.css.ie'] : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? ['control.minimap.css.ie8'] : ['control.minimap.css.common']);}], ['(stheme.twirl.hotspot.meta.full','8485'], ['(ttheme.twirl.label.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['theme.twirl.label.css.common','theme.twirl.label.css.ie'] : ['theme.twirl.label.css.common'];}], ['(utraffic.balloon.infoLayout.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['traffic.balloon.infoLayout.css.common','traffic.balloon.infoLayout.css.ie'] : ['traffic.balloon.infoLayout.css.common'];}], ['(vtraffic.balloon.layout.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['traffic.balloon.layout.css.common','traffic.balloon.layout.css.ie'] : ['traffic.balloon.layout.css.common'];}], ['(wtraffic.balloon.tip.css',function(project){return project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? ['traffic.balloon.tip.css.common','traffic.balloon.tip.css.ie', 'traffic.balloon.tip.theme.css'] : ['traffic.balloon.tip.css.common', 'traffic.balloon.tip.theme.css'];}], ['(xtraffic.balloon.tip.theme.css','9H9I9K9L'], ['(yb-balloon',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Ab-cluster-accordion',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Bb-cluster-carousel_pager_marker',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Cb-cluster-carousel_pager_numeric',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Db-cluster-carousel',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Eb-dropdown-button',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Fb-form-button__click',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Gb-form-button__input',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Hb-form-button_theme_grey-19',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Ib-form-button_theme_grey-22',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Kb-form-button_theme_grey-no-transparent-26',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Lb-form-button_theme_grey-sm',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Mb-form-button_theme_simple-grey',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Nb-form-button',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Ob-form-checkbox_checked_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Pb-form-checkbox_disabled_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Rb-form-checkbox_focused_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Sb-form-checkbox_size_13',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Tb-form-checkbox',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(Ub-form-input__clear',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Vb-form-input__hint',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Wb-form-input_size_16',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Xb-form-input',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Yb-form-radio__button_checked_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(0b-form-radio__button_disabled_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(1b-form-radio__button_side_both',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(2b-form-radio__button',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(3b-form-radio_size_11',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(4b-form-radio',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(5b-form-switch_disabled_yes',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(6b-form-switch_theme_switch-s',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(7b-form-switch_type_switch',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(8b-form-switch',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(9b-ico',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['($b-listbox-panel',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(-b-poi-balloon-content',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(_b-popupa__shadow',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], ['(.b-popupa__tail',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(!b-popupa_theme_ffffff',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(*b-popupa',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['((b-pseudo-link',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['()b-ruler',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(,b-search__input',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(qb-search-panel',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(jb-search',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(zb-select__arrow',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Qb-select__hint',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Jb-select__pager',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], ['(Zb-select__panel-switcher',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')ab-select_control_listbox',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')bb-select_control_search',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], [')cb-select_control_traffic',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')db-select_search',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')eb-select_type_prognos',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')fb-select',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')gb-tip',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')hb-traffic-panel__layer',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], [')ib-traffic-panel__scale',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 8 ? '.ie' : '.standards'))]}], [')kb-traffic-panel',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')lb-traffic-week',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode == 8 ? '.ie8' : '.standards')]}], [')mb-zoom__hint',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')nb-zoom__scale',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')ob-zoom__sprite',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')pb-zoom',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')ri-popup__under_color_white',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')si-popup__under_type_paranja',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}], [')ti-popup__under',function(project){return [this.name + (project.support.browser.name == 'MSIE' && project.support.browser.documentMode < 9 ? '.ie' : '.standards')]}] ] }; function Support (browser) { this.browser = browser; this.css = new CSSSupport(this); this.graphics = new GraphicsSupport(); } function CSSSupport (support) { var testDiv, transitableProperties = { 'transform': 'transform', 'opacity': 'opacity', 'transitionTimingFunction': 'transition-timing-function', 'userSelect': 'user-select', 'height': 'height' }, transitionPropertiesCache = {}, cssPropertiesCache = {}; function checkCssProperty (name) { return typeof cssPropertiesCache[name] == 'undefined' ? cssPropertiesCache[name] = checkDivStyle(name) : cssPropertiesCache[name]; } this.checkProperty = checkCssProperty; function checkDivStyle (name) { return checkTestDiv(name) || checkTestDiv(support.browser.cssPrefix + upperCaseFirst(name)); } function checkTestDiv (name) { return typeof getTestDiv().style[name] != 'undefined' ? name : null; } function getTestDiv () { return testDiv || (testDiv = document.createElement('div')); } function upperCaseFirst (str) { return str ? str.substr(0, 1).toUpperCase() + str.substr(1) : str; } this.checkTransitionProperty = function (name) { return typeof transitionPropertiesCache[name] == 'undefined' ? transitionPropertiesCache[name] = checkTransitionAvailability(name) : transitionPropertiesCache[name]; }; function checkTransitionAvailability (name) { if (transitableProperties[name] && checkCssProperty('transitionProperty')) { return checkCssTransitionProperty(transitableProperties[name]); } return null; } function checkCssTransitionProperty (name) { var cssProperty = checkCssProperty(name); if (cssProperty && cssProperty != name) { cssProperty = '-' + support.browser.cssPrefix.toLowerCase() + '-' + name; } return cssProperty; } } function GraphicsSupport () { /** * проверка поддержки SVG */ this.hasSVG = function () { return document.implementation && document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"); }; /** * проверка на поддержку Canvas */ this.hasCanvas = function () { // функция создания канваса должна быть доступна // у элемента который не добавлен в документ(защита от extCanvas) var sandbox = document.createElement('canvas'); return !!('getContext' in sandbox && sandbox.getContext('2d')); }; /** * проверка на поддержку VML */ this.hasVML = function () { var supported = false; var topElement = document.createElement('div'); topElement.innerHTML = ''; var testElement = topElement.firstChild; if (testElement) { testElement.style.behavior = 'url(#default#VML)'; supported = testElement ? typeof testElement.adj == 'object' : true; topElement.removeChild(testElement); } this.hasVML = function () {return supported}; return supported; } } var project; var modules; function Loader (params, modulesHash, jsonpPrefix) { project = new Project(params, this); if (project.DEBUG) { project.log = window.console ? function () { // Chrome ругается на некорректный вызов, если вызывать в контексте null. window.console.log.apply(window.console, arguments); } : function () {} } modules = new Modules(modulesHash); var sourceLoader = new SourceLoader(jsonpPrefix); /** * Сведения конкурирующих загрузок в данной реализации нет. * @param ns - пространство в которое впоследстии добавить provide модулей * @param moduleNameList - список модулей * @param callback * @param context */ this.load = function (ns, moduleNameList, callback, context) { if (typeof moduleNameList == "string") { moduleNameList = [moduleNameList]; } var moduleList = [], module; forEach(moduleNameList, function (moduleName) { if (module = modules.byName[moduleName]) { moduleList.push(module); } if (project.DEBUG) { if (!modules.byName[moduleName]) { throw new Error('Loader.load: unknow module ' + moduleName); } } }); sourceLoader.load(moduleList, function () { provideResponse(ns, moduleList, function () { if (callback) { callback.call(context); } }); }); }; } /** * Объект хранящий в себе описание всех модулей. * @param modulesHash - описание модулей из project.js */ function Modules (modulesHash) { var _this = this; this.byName = {}; this.byAlias = {}; for (var type in modulesHash) { forEach(modulesHash[type], function (module) { module = { _origDsc: module, // сохраняем оригинальное описание модуля type: type, alias: module[0].substr(0,2), name: module[0].substr(2) /// ,_depends: null, // в _depends лeжат разрезолвленные зависимости, т.е. указатели на модули /// ,source: null, // функция тела js-модуля или текст css-модуля /// ,execute: null, // информация процесса выполнения /// ,provides: null // список того что провайдит данный модуль }; _this.byName[module.name] = _this.byAlias[module.alias] = module; }) } this.getDepends = function (module) { if (!module._depends) { var depends = module._origDsc[1], // строка с алиасами или функция resolvedDepends = []; if (depends) { var adrs, by; // строка с алиасами или функция if (typeof depends == 'string') { adrs = []; for (var i = 0, l = depends.length; i < l; i += 2) { adrs.push(depends.substr(i,2)); } by = 'byAlias'; } else { adrs = depends.call(module, project); by = 'byName'; } forEach(adrs, function (adr) { if (project.DEBUG) { if (!_this[by][adr]) { throw new Error('Loader.load: unknow depend \'' + adr + '\' in module \'' + module.name + '\''); } } resolvedDepends.push(_this[by][adr]); }) } module._depends = resolvedDepends; } return module._depends; }; this.execByType = function (moduleList, handlers) { forEach(moduleList, function (module) { var handler = handlers[module.type]; if (handler) { handler(module); } }) } } /** * Этот объект рассылает в модули при выполнении. * @param params * @param loader */ function Project (params, loader) { for (var param in params) { this[param] = params[param]; } this.load = function () { loader.load.apply(loader, arguments) } } function provideResponse (ns, moduleList, callback) { provideModules(ns, moduleList, function () { writeCSSModules(); callback(); }); } var provideCSSModule, writeCSSModules; (function () { var newCssText = ''; /* в слайсах IE 7 нельзя читать содержимое тега link MAPSAPI-4755 поэтому аккумулируем весь css в одной переменной */ var cssText = ''; /* Для IE используем один тег под все стили http://dean.edwards.name/weblog/2010/02/bug85/ */ var tag; provideCSSModule = function (ns, module, callback) { if (!module.execute) { provideModules(ns, modules.getDepends(module), function () { newCssText += module.source(project); module.execute = true; callback(); }); } else { callback(); } }; writeCSSModules = function () { if (!newCssText) { return; } if (!tag) { tag = document.createElement("style"); tag.type = "text/css"; } if (tag.styleSheet) { cssText += newCssText; tag.styleSheet.cssText = cssText; if (!tag.parentNode) { document.getElementsByTagName("head")[0].appendChild(tag); } } else { tag.appendChild(document.createTextNode(newCssText)); document.getElementsByTagName("head")[0].appendChild(tag); tag = null; } newCssText = ''; }; })(); function provideJSModule (ns, module, callback) { executeJSModule(module, function () { if (module.providedPaths) { forEach(module.providedPaths, function (provide) { createNS(ns, provide.path, provide.data); }) } callback(); }); } function executeJSModule (module, callback) { var execute = module.execute; if (execute) { if (execute.done) { callback(); } else { execute.callbacks.push(callback); } } else { execute = module.execute = {callbacks: [callback]}; var imports = {}; // собираем импорты для модуля provideModules(imports, modules.getDepends(module), function () { var providedPaths = []; var waitCount = 0; function finish() { execute.done = true; if (providedPaths.length) { module.providedPaths = providedPaths; } forEach(execute.callbacks, function (callback) { callback(); }); } module.source( // функция provide function (path, data) { providedPaths.push({path: path.split('.'), data: data}) }, // функция wait function (callback) { waitCount++; callback(function () { waitCount--; if (!waitCount) { finish(); } }) }, defineClass, imports, project ); if (!waitCount) { finish(); } }); } } function provideModules (ns, moduleList, callback) { if (!moduleList.length) { callback(); } else { var counter = 0; var complete = function () { if (++counter == moduleList.length) { callback() } }; forEach(moduleList, function (module) { if (module.type == 'css') { provideCSSModule(ns, module, complete); } else if (module.type == 'js') { provideJSModule(ns, module, complete); } else { providePackage(ns, module, complete); } }) } } function providePackage (ns, module, callback) { // у пакета нет своих provide, вместо них отдает все provide своих зависимостей provideModules(ns, modules.getDepends(module), callback); } function SourceLoader (jsonpPrefix) { var sourceLoadedIndex = {}; this.load = function (moduleList, callback) { moduleList = moduleList.slice(0); if (project.DEBUG) { var request = []; forEach(moduleList, function (module) { request.push(module.name); }) var logObject = {request: request.join(','), depends:[], require:{}}; moduleList.__log = logObject; } moduleList = getUnloadedModulesAndDepends(moduleList); if (project.DEBUG) { // дебаг-информация в консоли сильно тормозит не-вебкит браузеры var printLogObject = window.console && project.support.browser.engine == 'WebKit' && !project.support.browser.multiTouch ? function () { console.groupCollapsed('loader.load: ' + logObject.request); console.group('request'); console.log(logObject.request.split(',')); console.groupEnd(); console.group('loaded modules'); forEach(logObject.depends, function (depend) { var module = depend.module; var text = module.name + ' {' + module.type + ',' + depend.status + (module.source ? ',' + module.source.toString().length : '') + '}'; console.groupCollapsed(text); if (logObject.require[module.name]) { console.log("require", logObject.require[module.name]); } else { console.log("require: request"); } if (module._depends.length) { var depends = []; forEach(module._depends, function (depend) { depends.push(depend.name); }) console.log("depends:", depends) } console.groupEnd(); }) console.groupEnd(); console.groupEnd(); } : function () {}; } if (project.DEBUG) { callback = (function (callback) { return function () { printLogObject(); callback(); } })(callback) } load(moduleList, callback) }; function getUnloadedModulesAndDepends (moduleList) { var unloadedModuleAndDepends = []; var moduleIndex = {}; var module; while (moduleList.length) { module = moduleList.shift(); if (project.DEBUG) { var logObject = arguments[0].__log; if (!moduleIndex[module.name]) { logObject.depends.push({ module: module, status: (!sourceLoadedIndex[module.name] ? "new" : "cache") }); } } // если еще не в списке на загрузку и еще не загружен if (!moduleIndex[module.name] && !sourceLoadedIndex[module.name]) { moduleIndex[module.name] = true; unloadedModuleAndDepends.push(module); // добавляем в кандидаты на загрузку все зависимости, циклических зависимостей нет moduleList.push.apply(moduleList, modules.getDepends(module)); if (project.DEBUG) { forEach(modules.getDepends(module), function (depend) { if (!logObject.require[depend.name]) { logObject.require[depend.name] = []; } logObject.require[depend.name].push(module.name); }) } } } return unloadedModuleAndDepends; } function load (moduleList, callback) { var modulesForLoad = []; var addToModuleForLoad = function (module) { modulesForLoad.push(module); }; modules.execByType(moduleList, { css: addToModuleForLoad, js: addToModuleForLoad }); if (modulesForLoad.length) { request(modulesForLoad, function (data) { forEach(data, function (moduleData) { var module = modules.byAlias[moduleData[0]]; // модуль мог загрузиться конкурирующим запросом, но мы считаем что контент тот же // если он уже успел выполниться переписывание указателя на функцию исхдник ничего не изменит sourceLoadedIndex[module.name] = true; module.source = moduleData[1]; }); // пакеты состоят только из зависимостей, а значит загрузились, когда загрузились все зависимости modules.execByType(moduleList, { 'package': function (module) { sourceLoadedIndex[module.name] = true; } }); callback(); }); } else { callback(); } } function request (moduleList, callback) { var aliases = []; forEach(moduleList, function (module) { aliases.push(module.alias); }); aliases = aliases.join(''); // var jsonp = jsonpPrefix + '_' + aliases; //! `/combine` endpoint - deprecated (https://st.yandex-team.ru/MAPSAPI-18263) var jsonp = jsonpPrefix + '_' + 'FULL_BUNDLE'; // если такого запроса не протекает инициируем его if (!window[jsonp]) { createCombineJsonpCallback( aliases, jsonp, function (data) { callback(data); // Удаляем jsonp-функцию window[jsonp] = undefined; // IE не дает делать delete объектов window try { delete window[jsonp]; } catch (e) {} } ); } else { window[jsonp].listeners.push(callback); } } function createCombineJsonpCallback (aliases, jsonp, callback) { var listeners = [callback], combineJsonpCallback = function (data) { forEach(listeners, function (listener) { listener(data); }); listeners = null; }; // создаем новый запрос var tag = document.createElement('script'); // кодировку выставляем прежде src, дабы если файл берется из кеша, он брался не в кодировке страницы // подобная проблема наблюдалась во всех IE до текущей (восьмой) tag.charset = 'utf-8'; tag.async = true; // tag.src = project.PATH + 'combine?modules=' + aliases + '&jsonp_prefix=' + jsonpPrefix; //! `/combine` endpoint - deprecated (https://st.yandex-team.ru/MAPSAPI-18263) tag.src = project.PATH + '_YMaps.js'; // запускаем удаление тега в обработчике загрузки listeners.push(function () { // Удаляем тег по таймауту, чтобы не нарваться на синхронную обработку, // в странных разных браузерах (IE, Опера старая, Сафари, Хром, ФФ4 ), // когда содержимое запрошенного скрипта исполняется прямо на строчке head.appendChild(tag) // и соответственно, при попытке удалить тэг кидается исключение. window.setTimeout(function () { tag.parentNode.removeChild(tag); }, 0); }); combineJsonpCallback.listeners = listeners; window[jsonp] = combineJsonpCallback; document.getElementsByTagName("head")[0].appendChild(tag); } } // Функция имеет нечеткую сигнатуру. // Принимает: // 1. constructor: Function - обязательный конструктор класса; // 2. baseConstructor: Function - необязательный конструктор базового класса; // 3. произвольное число объектов с методами класса. function defineClass (constructor) { var argIndex = 1, baseConstructor = typeof arguments[argIndex] == "function" ? arguments[argIndex++] : null; if (baseConstructor) { augment(constructor, baseConstructor); } var argLength = arguments.length; while (argIndex < argLength) { extend(constructor.prototype, arguments[argIndex++]); } return constructor; } var augment = function (constructor, baseConstructor) { if (project.DEBUG) { if (typeof constructor != "function") { throw new Error('defineClass: Incorrect "constructor" argument'); } } constructor.prototype = createObject(baseConstructor.prototype); constructor.prototype.constructor = constructor; constructor.superclass = baseConstructor.prototype; constructor.superclass.constructor = baseConstructor; }, createObject = Object.create || function (obj) { function F () {} F.prototype = obj; return new F(); }, extend = Object.keys ? function (target, source) { var keys = Object.keys(source); for (var j = 0, k = keys.length; j < k; j++) { target[keys[j]] = source[keys[j]]; } return target; } : function (target, source) { for (var name in source) { if (source.hasOwnProperty(name)) { target[name] = source[name]; } } return target; }; function forEach (array, func) { for (var i = 0, item; item = array[i++];) { func(item); } } function createNS (parentNs, path, data) { // http://jsperf.com/create-ns/2 var subObj = parentNs; var i = 0, l = path.length - 1, name; for (; i < l; i++) { subObj = subObj[name = path[i]] || (subObj[name] = {}); } subObj[path[l]] = data; } function getNS (parentNs, path) { var subObj = parentNs; path = path.split('.'); var i = 0, l = path.length - 1; for (; i < l; i++) { subObj = subObj[path[i]]; if(!subObj){ return undefined; } } return subObj[path[l]]; } function init (nsName, path, debug, browser, loadModuleList, data, jsonpPrefix, onload) { if (!browser) { // значит до сервера не добарлся userAgent // нужно сделать запрос с помощью которого передать userAgent явно //TODO:!!! } if (browser.name == 'MSIE') { if (document.documentMode) { browser.documentMode = document.documentMode; } else { browser.documentMode = (document.compatMode == "BackCompat") ? 0 : 7; } } /* Флаг поддержки transition для свойства transform. В данный момент transition работают без нареканий в webkit-браузерах, IE10 и в FF, начиная с версии 4.0 (Gecko 2.0). */ browser.transformTransition = (browser.name == 'MSIE' && browser.documentMode >= 10) || (browser.engine == 'WebKit' && browser.osFamily == 'iOS'); // (browser.engine == 'Gecko' && parseInt(browser.engineVersion.split('.')[0]) >= 2); /* Флаг, показывающий наличие в браузере нормально работающей поддержки CSS 3D transforms. В данный момент 3d-преобразования поддерживают webkit-ы, кроме андроидного 2.x (Bada поддерживает). FF (Gecko) научился 3d с 10-й версии (https://developer.mozilla.org/en/CSS/-moz-transform#Browser_compatibility) */ browser.css3DTransform = (browser.engine == 'WebKit' && !(browser.osFamily == 'Android' && parseFloat(browser.osVersion) < 3)) || (browser.engine == 'Gecko' && parseInt(browser.engineVersion.split('.')[0]) >= 10); var loader = new Loader( { PATH: path, DEBUG: debug, support: new Support(browser), data: data }, PROJECT_JS, jsonpPrefix ); var ns = {}; createNS(window, nsName.split('.'), ns); ns.load = function (moduleList, callback, context) { loader.load(ns, moduleList, callback, context); }; var readyList = [], domReady = document.readyState == "complete", modulesReady = !loadModuleList; function readyCheck () { if (modulesReady && domReady) { var readyCallback; while (readyCallback = readyList.shift()) { readyCallback[0].call(readyCallback[1]); } readyList = []; } } if (!domReady) { function onDOMReady () { if (!domReady) { domReady = true; readyCheck(); } } // проверяем довольно просто, кому нужны изыски пусть подключают jQuery if (document.addEventListener) { document.addEventListener('DOMContentLoaded', onDOMReady, false); // для случая когда АПИ подключили уже после domReady, но до complete слушаем полную загрузку window.addEventListener('load', onDOMReady, false); } else if (document.attachEvent) { window.attachEvent('onload', onDOMReady); } } if (loadModuleList) { loader.load(ns, loadModuleList.split(','), function () { modulesReady = true; readyCheck(); // в onload лежит имя функции, которую нужно вызвать после загрузки if (onload) { callOnLoad(0); } }) } function callOnLoad (i) { // Если функция обработчик описана ниже подключения АПИ, то в ситуации поднятия АПИ из кеша и синхронного // в результате этого выполнения кода, получаем ошибку при вызове несуществующей функции. Стабильно // повторяется в браузере Opera. var callback = getNS(window,onload); if (callback) { callback(ns); } else { window.setTimeout(function () {callOnLoad(++i)}, 100 * Math.pow(2, i)); } } ns.ready = function (callback, context) { readyList.push([callback, context]); readyCheck(); }; } return init})(document,window); init( 'ymaps', 'https://yastatic.net/s3/front-maps-static/maps-front-jsapi-v2-0/17070294/out/src/client/', false, JSON.parse('{"name":"Unknown","engine":"Unknown","osFamily":"Unknown","isMobile":false}'), 'package.full', project_data, 'ymaps', '' ); })();