1(self.webpackChunklib=self.webpackChunklib||[]).push([[6373],{6152:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>C});var i=r(141),a=r(37800),n=r(78021),s=r(36107),o=r(19893);function l(e,t,r,i,a,n,s){try{var o=e[n](s),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(i,a)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(i,a){var n=e.apply(t,r);function s(e){l(n,i,a,s,o,"next",e)}function o(e){l(n,i,a,s,o,"throw",e)}s(void 0)}))}}function d(e,t){u(e,t),t.add(e)}function h(e,t,r){u(e,t),t.set(e,r)}function u(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function p(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}function m(e,t){return function(e,t){if(t.get)return t.get.call(e);return t.value}(e,g(e,t,"get"))}function v(e,t,r){return function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,g(e,t,"set"),r),r}function g(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}var f=new WeakMap,y=new WeakMap,w=new WeakSet,b=new WeakSet,k=new WeakSet;class L extends a.Z{constructor(e){if(super(e),d(this,k),d(this,b),d(this,w),h(this,f,{writable:!0,value:null}),h(this,y,{writable:!0,value:void 0}),v(this,y,this.container.querySelector(".js-new-calendar-wrapper")),!m(this,y))throw new Error("AvailFormView: calendar wrapper element not found");m(this,y).addEventListener("click",(()=>this.openCalendar()),{once:!0}),p(this,w,S).call(this),this._initGuestsDropdown(),this.formUpdate(),s.Z.on("update",this.formUpdate.bind(this))}initCalendar(){var e=this;return c((function*(){m(e,f)||(yield p(e,b,_).call(e)),m(e,f).inited||(yield m(e,f).init())}))()}openCalendar(){var e=this;return c((function*(){yield e.initCalendar(),m(e,f).open()}))()}closeCalendar(){var e;null===(e=m(this,f))||void 0===e||e.close()}formUpdate(){var e=this;return c((function*(){var t;e.container.adults.value=s.Z.adultsCount,e.container.children.value=s.Z.childrenCount,yield p(e,k,P).call(e,s.Z.dateFrom,s.Z.dateTo);var r=function(){var e=c((function*(e){return yield n.Z.getDateInFormat(e,"YYYY-MM-DD",!0)}));return function(t){return e.apply(this,arguments)}}();e.container.from.value=yield r(s.Z.dateFrom),e.container.to.value=yield r(s.Z.dateTo),null===(t=m(e,f))||void 0===t||t.updateDates(s.Z.dateFrom,s.Z.dateTo);var i=!s.Z.children.length;e.childsAgeWrap.hidden=i;var o=[...e.childsAgeWrap.querySelectorAll("fieldset")];o.splice(s.Z.children.length).forEach((t=>{t.querySelector(".js-child-age-select").removeEventListener("change",e._inputChangeChildAge),t.remove()}));for(var l=o.length;l<s.Z.children.length;l++){var d=(0,a.p)("childAge".concat(l+1),s.Z.children[l].age),h=d.querySelector(".js-child-age-select");h.addEventListener("change",e._inputChangeChildAge),h.dataset.index=l,e.childsAgeWrap.appendChild(d)}e.container.querySelectorAll(".js-child-age-select").forEach(((e,t)=>e.value=s.Z.children[t].age))}))()}hasCity(){return!!this.container.cityID}updateErrors(e){this._inputClearChildAgeValidation();var t=[...this.childsAgeWrap.querySelectorAll(".js-child-age-select")];e.children.forEach(((e,r)=>!e&&t[r].classList.add("error-age")));var r,i=this.container.querySelector(".js-ch-error-one"),a=this.container.querySelector(".js-ch-error-plural"),n=e.children.filter((e=>!e)).length;n&&((1===n?i:a).classList.remove("hidden"),null===(r=this.guestsDropdown)||void 0===r||r.show());var s=this.container.querySelector(".js-city-error");s&&(e.cityId?(this.container.classList.remove("is-city-error"),s.classList.add("hidden")):(s.classList.remove("hidden"),this.container.classList.add("is-city-error")))}}function S(){var e=this.container.querySelector(".js-new-calendar-from-input"),t=this.container.querySelector(".js-new-calendar-to-input");s.Z.dateFrom=(0,i.l)(e.value),s.Z.dateTo=(0,i.l)(t.value)}function _(){return j.apply(this,arguments)}function j(){return(j=c((function*(){var e={dateFrom:s.Z.dateFrom,dateTo:s.Z.dateTo},{Calendar:t}=yield r.e(9269).then(r.bind(r,9269));v(this,f,new t(m(this,y),e));var i=(0,o._)(((e,t)=>p(this,k,P).call(this,e,t)));m(this,f).on("change",o.J),m(this,f).on("dates-hover",i.update),m(this,f).on("dates-hover-cancel",i.restore),m(this,f).on("secondDaySelected",(()=>{var e;return null===(e=this.guestsDropdown)||void 0===e?void 0:e.show()}))}))).apply(this,arguments)}function P(e,t){return M.apply(this,arguments)}function M(){return(M=c((function*(e,t){var r=n.Z.localFormater;this.container.querySelector(".js-new-calendar-from-text").textContent=yield r(e),this.container.querySelector(".js-new-calendar-to-text").textContent=yield r(t)}))).apply(this,arguments)}const C=L},21678:(e,t,r)=>{"use strict";r.r(t);
1var i=r(92235),a=r.n(i),n=r(7618),s=r(24754),o=r(50650),l=r(96926),c=r(7742),d=r(75644),h=JSON.parse(document.getElementById("js-filters-titles").innerText);const u=class{static createHtml(e){var t=document.createDocumentFragment(),r=this._createTextfieldBlock("Name",e.Name);return t.appendChild(r),Object.keys(e).filter((t=>Array.isArray(e[t])&&e[t].length)).reduce(((t,r)=>{var i=this._createCheckboxesBlock(r,e[r]);return t.appendChild(i),t}),t)}static _createCheckboxesBlock(e,t){var r=this._createBlock(".js-map-filters-checkbox-block-tpl",e),i=r.querySelector(".js-map-filters-block-list");return t.forEach((t=>{var r=this._createCheckbox(t,e);i.append(r)})),r}static _createTextfieldBlock(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=this._createBlock(".js-map-filters-textfield-block-tpl",e),i=r.querySelector(".js-map-filters-input-textfield");return i.setAttribute("name",e),i.setAttribute("type","text"),i.value=t,r}static _createBlock(e,t){var r=document.querySelector(e),i=document.createElement("div");return i.innerHTML=r.innerHTML,i.classList.add("map-filters__block","js-map-filters-block","map-filters__block--".concat(t.toLowerCase())),i.dataset.filter=t,i.querySelector(".map-filters__block-title").innerHTML=h[t],i}static _createCheckbox(e,t){var r=document.querySelector(".js-map-filters-checkbox-tpl"),i=document.createElement("div"),a="RAmenityID"===t?"AmenityID":t;i.classList.add("map-filters__block-item","filters-item","js-map-filters-item"),i.innerHTML=r.innerHTML;var n=i.querySelector(".js-map-filters-input"),s="".concat(a,"_").concat(e.ID);return n.setAttribute("id",s),n.setAttribute("value",e.ID),n.setAttribute("name",a+"[]"),n.checked=e.Selected,i.querySelector(".js-map-filters-label").setAttribute("for",s),i.querySelector(".filters-item__title-text").innerHTML=e.Name,i.querySelector(".filters-item__title-count").innerHTML="(".concat(e.Count,")"),i}};var p=window.matchMedia("(min-width: 1025px)").matches;class m extends d.Z{constructor(e){super(),this._modal=new l.default(".js-map-filters-popup",{trigger:".js-map-filters-open",selectors:{close:".js-map-filters-close",content:".map-filters-popup__form"}}),this.form=e instanceof HTMLElement?e:document.querySelector(e),this.list=this.form.querySelector(".js-map-filters-list"),this.submitBtn=this.form.querySelector(".js-map-filters-submit"),this.clearBtn=this.form.querySelector(".js-map-filters-clear"),this.items=this.form.querySelector(".js-map-filters-item"),this.labels=this.form.querySelector(".js-map-filters-label"),this.textInputs=this.form.querySelector(".js-map-filters-input-textfield"),this.activeFiltersCounterContainer=document.querySelector(".js-map-filters-count"),this._initEvents()}_initEvents(){this.form.addEventListener("change",(e=>{this.emit("change",{type:e.target.name,value:e.target.value,checked:e.target.checked})})),this.submitBtn.addEventListener("click",(e=>{e.preventDefault(),this._submit(e)})),this.clearBtn.addEventListener("click",(e=>{e.preventDefault(),this.form.reset(),this.emit("reset",this.getFormData()),this.hide()})),this.form.addEventListener("change",(()=>this._updateActiveCount()))}_submit(){this.form.part.value=1,this.emit("submit",this.getFormData()),this._updateActiveCount(),this.hide()}_updateActiveCount(){var e=this.form.querySelectorAll("input:checked").length,t=[...this.form.querySelectorAll("input[type=text]")].filter((e=>e.value)).length;this.activeFiltersCounterContainer.innerHTML=e+t||""}updateHtml(e){this.list.innerHTML="";var t,r=u.createHtml(e);(this.list.appendChild(r),this._updateActiveCount(),p)||(null===(t=this.mobAccordion)||void 0===t||t.destroy(),this.mobAccordion=new c.default(".js-map-filters-list .js-map-filters-block-btn",{multiple:!0}))}getFormData(){return new FormData(this.form)}show(){this._modal.show()}hide(){this._modal.hide()}}var v=r(1103),g=r(21092),f=["part"];function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function w(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){if(null==e)return{};var r,i,a=function(e,t){if(null==e)return{};var r,i,a={},n=Object.keys(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function k(e,t,r,i,a,n,s){try{var o=e[n](s),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(i,a)}class L extends v.Z{constructor(){super(...arguments)}_fetchHotels(e){var t,r=this;return(t=function*(){var t,{part:i=1}=e,a=b(e,f);
1null===(t=r.abortController)||void 0===t||t.abort(),r.abortController=new AbortController;var n=yield(0,g.SN)(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){w(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({signal:r.abortController.signal,part:i},a));return n},function(){var e=this,r=arguments;return new Promise((function(i,a){var n=t.apply(e,r);function s(e){k(n,i,a,s,o,"next",e)}function o(e){k(n,i,a,s,o,"throw",e)}s(void 0)}))})()}getNotAvailHotel(){return(0,g._2)()}}const S=L;var _=r(94922),j=r(17924),P=r(97652),M=r(31634),C=window.innerWidth>=768;class E{constructor(e){this.container=e,C&&(this.slider=new P.Z(e.querySelector(".swiper"),{modules:[M.W_],speed:400,watchSlidesVisibility:!0,slidesPerView:1,initialSlide:0,navigation:{nextEl:".js-uk-map-hotelcard-gallery-next",prevEl:".js-uk-map-hotelcard-gallery-prev"}}))}static createTempalate(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=document.getElementById("uk-map-hotelcard-template").content.cloneNode(!0);r.querySelector(".card-hotel").dataset.id="hotel-"+e.ID,r.querySelector(".card-hotel").setAttribute("data-multihotelavail-hotel-id",e.ID),t.className&&r.querySelector(".card-hotel").classList.add(t.className),e.NotAvail&&r.querySelector(".card-hotel").classList.add("card-hotel-not-avail");var i=r.querySelector(".js-uk-map-hotelcard-gallery-wrapper");e.Photos.forEach(((e,t)=>{var r=document.createElement("img");r.setAttribute("class","swiper-slide"),r.setAttribute("src","/data/Photos/450x450w/".concat(e)),r.setAttribute("loading","lazy"),r.setAttribute("width","398px"),r.setAttribute("height","175px"),i.appendChild(r)})),0!==e.AvgMark&&e.AvgMark<=10&&(r.querySelector(".js-hotel-reviews").classList.add("map-hotel-reviews--active"),r.querySelector(".js-hotel-reviews-number").innerText=e.AvgMark,r.querySelector(".js-hotel-reviews-text").innerText=e.AvgMarkName,r.querySelector(".js-hotel-reviews-count").innerText=e.ReviewCountText),r.querySelector(".map-hotel__title-text").innerText=e.Name;var a=r.querySelector(".map-hotel__link");a.setAttribute("href",e.HotelURL+a.getAttribute("href"));var n=r.querySelector(".map-hotel__stars");if(parseInt(e.Stars)>1)for(var s=0;s<parseInt(e.Stars)-1;s++)n.appendChild(n.querySelector("svg").cloneNode(!0));else n.classList.add("map-hotel__stars--no-stars");return r.querySelector(".map-hotel__price .map-hotel__price-value").innerText=e.Price,r}destroy(){var e;null===(e=this.slider)||void 0===e||e.destroy()}}var T=window.matchMedia("(min-width: 1025px)").matches;class O extends d.Z{constructor(){super(),this.store={},this.hotels=[],this.cards=[],this.container=document.getElementById("js-hotel-list"),this.scrollContainer=document.querySelector("#js-custom-scroll"),T&&(this.customScrollBar=new j.Z(this.scrollContainer,{autoHide:!1,scrollbarMinSize:200})),this._listeners={mouseenter:this.mouseEnterHandler.bind(this),mouseleave:this.mouseLeaveHandler.bind(this),click:this.mouseClickHandler.bind(this)};var e={capture:!0,passive:!0};T?(this.container.addEventListener("mouseenter",this._listeners.mouseenter,e),this.container.addEventListener("mouseleave",this._listeners.mouseleave,e)):this.container.addEventListener("click",this._listeners.click,e)}setList(e){var t;this.hotels=e,this.clear();var r=this.generateTempalate(e);this.container.appendChild(r),null===(t=this.customScrollBar)||void 0===t||t.recalculate(),this.initCards()}clear(){this.cards.forEach((e=>e.destroy())),this.container.innerHTML=""}generateTempalate(){var e=document.createDocumentFragment();
1return this.hotels.forEach((t=>{var r=E.createTempalate(t);e.appendChild(r)})),e}mouseEnterHandler(e){var t=e.target.matches(".card-hotel")?e.target:e.target.closest(".card-hotel");t&&this.emit("card-enter",t.dataset.id)}mouseLeaveHandler(e){var t=e.target.matches(".card-hotel")?e.target:e.target.closest(".card-hotel");t&&this.emit("card-leave",t.dataset.id)}mouseClickHandler(e){var t=e.target.closest("[data-prevent-pane-scroll]"),r=e.target.matches(".card-hotel")?e.target:e.target.closest(".card-hotel");if(r&&(this.emit("card-enter",r.dataset.id),!t)){var i=r.offsetLeft;this.container.parentElement.scrollTo({left:i-10,behavior:"smooth"})}}initCards(){this.cards=[...this.container.querySelectorAll(".card-hotel")].map((e=>new E(e)))}destroy(){var e;this.cards.forEach((e=>e.destroy())),null===(e=this.customScrollBar)||void 0===e||e.unMount(),this.container.removeEventListener("mouseenter",this._listeners.mouseenter),this.container.removeEventListener("mouseleave",this._listeners.mouseleave)}}function q(e,t,r,i,a,n,s){try{var o=e[n](s),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(i,a)}var A=window.innerWidth>1024;class x extends d.Z{constructor(e){super(),this.container="string"==typeof e?document.querySelector(e):e,this.container.classList.remove("hidden"),this.labelElem=this.container.querySelector(".js-pane-pagination-vocab"),this.paginationInstance,this.hotelsCount=30,this.current=1}getItemPerPage(){return this.hotelsCount}update(e){var t,i=this;return(t=function*(){var{total:t,current:a=1,label:n}=e;if(i.container.hidden=Math.ceil(t/i.hotelsCount)<=1,!i.container.hidden){if(!window.jQuery){var{default:s}=yield Promise.resolve().then(r.t.bind(r,19755,23));window.$=s,window.jQuery=s}yield r.e(7382).then(r.t.bind(r,37382,23)),i.labelElem.innerHTML=n,i.current=a,i.paginationInstance&&i.paginationInstance.pagination("destroy"),i.paginationInstance=$(i.container.querySelector("[data-pagintaion-container]")).pagination({dataSource:new Array(t),pageSize:i.hotelsCount,pageRange:1,pageNumber:i.current,triggerPagingOnInit:!1,callback:(e,t)=>{i.emit("update",t)}}),A||i._updatePageNumbers(t)}},function(){var e=this,r=arguments;return new Promise((function(i,a){var n=t.apply(e,r);function s(e){q(n,i,a,s,o,"next",e)}function o(e){q(n,i,a,s,o,"throw",e)}s(void 0)}))})()}_updatePageNumbers(e){document.querySelectorAll(".J-paginationjs-page").forEach((t=>{var r=t.querySelector("a"),i=+t.dataset.num,a=(i-1)*this.hotelsCount+1,n=this.hotelsCount*i,s=n>=e?e:n;r.innerHTML="".concat(a,"-").concat(s)}))}getCurrentPage(){return this.current}}class H extends d.Z{constructor(e){var t,r;super(),this.container=e instanceof HTMLElement?e:document.querySelector(e),this.openFiltersBtn=this.container.querySelector(".js-map-filters-open"),this.expandMapAreaBtn=this.container.querySelector(".js-map-expand-btn"),null===(t=this.openFiltersBtn)||void 0===t||t.addEventListener("click",(()=>
1this.emit("open-filter"))),null===(r=this.expandMapAreaBtn)||void 0===r||r.addEventListener("click",(()=>this.emit("reset-map")))}show(){this.container.hidden=!1}hide(){this.container.hidden=!0}}const F=H;class B extends d.Z{constructor(e){var t;super(),this.container=e instanceof HTMLElement?e:document.querySelector(e),this.list=this.container.querySelector("#js-active-hotel-pane-content"),this.closeButton=this.container.querySelector(".js-active-hotel-pane-close"),null===(t=this.closeButton)||void 0===t||t.addEventListener("click",(()=>{this.unlock(),this.hide()})),this.currentCard=null,this.locked=!1}showHotel(e){this.show();var t=E.createTempalate(e);this.reset(),this.list.appendChild(t),this.currentCard=new E(this.list.children[0])}reset(){var e;null===(e=this.currentCard)||void 0===e||e.destroy(),this.currentCard=null,this.list.innerHTML=""}close(){this.locked||(this.reset(),this.hide())}show(){this.container.hidden=!1}lock(){this.locked=!0}unlock(){this.locked=!1}hide(){this.locked||(this.container.hidden=!0,this.emit("close"))}}const D=B;class I extends d.Z{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;super(),this.itemsPerPage=t,this.container="string"==typeof e?document.querySelector(e):e,this.textContainer=this.container.querySelector(".js-pane-list-prev-text"),this.textTemplate=this.textContainer.textContent,this.currentPage=1,this.container.addEventListener("click",(()=>
1this.emit("click")))}setActivePage(e){this.currentPage=e,this.container.hidden=1===this.currentPage,this.updateText()}updateText(){var e=(this.currentPage-1)*this.itemsPerPage+1,t=this.itemsPerPage*this.currentPage;this.textContainer.innerHTML=this.textTemplate.replace("number_from",e).replace("number_to",t)}hide(){this.container.hidden=!0}show(){this.container.hidden=!1}}var Z=new l.default("#js-form-popup",{trigger:"#map-calendar",selectors:{close:".js-form-popup-close",content:".form-popup__content"}}),N=r(6152),z=r(31630),W=r(98654),V=r(6158),R=r.n(V);class U{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mapbox",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.map=null,this.options=r,this.container=e,this.longitude=(null==t?void 0:t.long)||travel.options.mapParameters.hotelLongitude,this.latitude=(null==t?void 0:t.lat)||travel.options.mapParameters.hotelLatitude,this.init()}init(){this.map=new(R().Map)({container:this.container,zoom:this.options.zoom||17,minZoom:this.options.minZoom||5,maxZoom:this.options.maxZoom||20,center:[this.longitude,this.latitude],customAttribution:['<a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>'],style:this.options.style||"/map-styles/3/map-style.json",pitch:this.options.pitch||0,bearing:this.options.bearing||0,transformRequest:this.transformRequest,attributionControl:void 0===this.options.attributionControl||this.options.attributionControl}),this.options.attributionOptions&&this.map.addControl(new(R().AttributionControl)(this.options.attributionOptions)),this.options.control&&this.map.addControl(new(R().NavigationControl)({visualizePitch:!0}),this.options.control)}transformRequest(e,t){var r=e;return"Tile"===t&&-1!==e.indexOf("/tiles-data/map3/")?r=location.origin+e:"SpriteJSON"!==t&&"SpriteImage"!==t||-1===e.indexOf("/maps-data/mapboxgl/sprite")||(r=e.replace("https://",location.origin+"/")),{url:r}}addControl(e,t){this.map.addControl(e,t)}addMarker(e,t){return new(R().Marker)(e).setLngLat(t).addTo(this.map)}addHotelMarker(e,t){var r="function"==typeof e?e(t):e.cloneNode(!0);return r.dataset.id=t.properties.id,this.addMarker({element:r,anchor:"bottom"},t.geometry.coordinates)}addMarkers(e,t){var r=[];return e.features.forEach((e=>{var i=this.addHotelMarker(t,e);r.push(i)})),r}getCenterCoords(){return[this.longitude,this.latitude]}getMap(){return this.map}getContainer(){return this.container}on(){this.map.on(...arguments)}once(){this.map.once(...arguments)}off(){this.map.off(...arguments)}isStyleLoaded(){return this.map.isStyleLoaded(...arguments)}flyTo(){return this.map.flyTo(...arguments)}getZoom(){return this.map.getZoom(...arguments)}addSource(){return this.map.addSource(...arguments)}getSource(){return this.map.getSource(...arguments)}removeSource(){if(this.map.getSource(...arguments))return this.map.removeSource(...arguments)}addLayer(){return this.map.addLayer(...arguments)}getLayer(){return this.map.getLayer(...arguments)}setLayoutProperty(){return this.map.setLayoutProperty(...arguments)}removeLayer(){if(this.map.getLayer(...arguments))return this.map.removeLayer(...arguments)}createPopup(e){return new(R().Popup)(e)}generateBounds(e){var t=new(R().LngLatBounds);return e.forEach((e=>t.extend(e))),t}fitBounds(e){var{padding:t=50,animate:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.map.fitBounds(e,{padding:t,animate:r})}fitBoundsByCoordinates(e){this.fitBounds(this.generateBounds(e))}getBounds(){return this.map.getBounds()}resize(){return this.map.resize()}}class Y{constructor(e){this.attraction=e}fillTemplate(e){if(e.dataset.id=this.attraction.id,e.querySelector(".marker-card__title").innerHTML=this.attraction.title,e.querySelector(".marker-card__rating").innerHTML="",e.querySelector(".marker-card__address").innerHTML=this.attraction.address,e.querySelector(".marker-card__distance").innerHTML=this.attraction.distance,e.querySelector(".marker-card__tags").innerHTML=this.attraction.tags.map((e=>"<span>".concat(e,"</span>"))).join(""),this.attraction.photo){var t=e.querySelector(".marker-card__image");t.style.backgroundImage="url(".concat(this.attraction.photo,")"),t.style.backgroundSize="cover"}return e}}var J=r(28244);class G{constructor(e){this.attraction=e}fillTemplate(e){if(e.dataset.id=this.attraction.id,e.querySelector(".marker-card__title").innerHTML=this.attraction.title,e.querySelector(".restaurant-prices").innerHTML=this.generatePrices(),e.querySelector(".restaurant-reviews").innerHTML="(".concat(this.attraction.reviewsCount,") •"),e.querySelector(".restaurant-rate").innerHTML="".concat(this.attraction.rating),e.querySelector(".rate-stars").innerHTML=this.generateRating(),e.querySelector(".restaurant-type").innerHTML=this.attraction.types[0],e.querySelector(".marker-card__address").innerHTML=this.attraction.address,e.querySelector(".marker-card__distance").innerHTML=this.attraction.distance,e.querySelector(".marker-card__tags").innerHTML=this.attraction.tags.slice(0,4).map((e=>"<span>".concat(e,"</span>"))).join(""),this.attraction.photo){var t=e.querySelector(".marker-card__image");t.style.backgroundImage="url(".concat(this.attraction.photo,")"),t.style.backgroundSize="cover"}return e}generatePrices(){var e={[J.V.HIGH]:"$$$$ •",[J.V.MIDDLE]:"$$-$$$ •",[J.V.LOW]:"$ •"};return e[this.attraction.price]||e[J.V.LOW]}generateRating(){for(var e='<div class="restaurant-star"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13"><path fill-rule="evenodd" d="M7 10.5l-4.114 2.163.785-4.581L.343 4.837l4.6-.669L7 0l2.057 4.168 4.6.669-3.328 3.245.785 4.581z"/></svg></div>',t='<div class="restaurant-star"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13"><g fill="none" fill-rule="evenodd"><path fill="#D1DDE9" d="M7 10.5l-4.114 2.163.785-4.581L.343 4.837l4.6-.669L7 0l2.057 4.168 4.6.669-3.328 3.245.785 4.581z"/><path fill="#FF5722" d="M7 10.5l-4.114 2.163.785-4.581L.343 4.837l4.6-.669L7 0z"/></g></svg></div>',r='<div class="restaurant-star"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13"><path fill="#D1DDE9" fill-rule="evenodd" d="M7 10.5l-4.114 2.163.785-4.581L.343 4.837l4.6-.669L7 0l2.057 4.168 4.6.669-3.328 3.245.785 4.581z"/></svg></div>',i="",a=0,n=0;n<5&&n<Math.floor(this.attraction.rating);n++,a++)i+=e;Number.isInteger(+this.attraction.rating)||(i+=t,a++);for(var s=0;s<5-a;s++)i+=r;return i}}var Q,K=["airports","nearbyTransports","railLines","railStations"],X=["subwayLines","subwayStations"],ee=["subway","train"],te={transport:"railLines",subway:"subwayLines"},re=r(30684),ie=r.n(re),ae=(null===(Q=document.querySelector(".js-map"))||void 0===Q?void 0:Q.dataset.distance)||"0",ne=ie()("99");class se{constructor(e){this.transport=e,this.template=document.getElementById("transport-popup-template").content}fillTemplate(){var e=this.template.cloneNode(!0);e.querySelector(".mapboxgl-popup-content__name").innerHTML=this.transport.name,e.querySelector(".mapboxgl-popup-content__type").innerHTML=this.transport.type?"".concat(this.transport.type,":"):"";var t,r,i=e.querySelector(".mapboxgl-popup-content__distance");return this.transport.distance&&(i.innerHTML=ae.replace("<distance>",this.transport.distance)),t=e,(r=document.createElement("div")).appendChild(t),r.innerHTML}}class oe{constructor(e){this.station=e,this.tempalate=document.getElementById("marker-rail-station-template").content}createMarkerElement(){var e=this.tempalate.cloneNode(!0),t=ee.includes(this.station.type)?"subway":"train",r=e.querySelector(".js-map-marker-transport"),i=r.querySelector(".js-transport-marker-image");if(r.classList.add("marker--".concat(t),"js-map-marker-transport","".concat(t)),r.dataset.type=ee.includes(this.station.type)?"subway":"transport","subway"===t){i.src=this.station.properties["marker-img"],e.querySelector("svg").remove()}else{var a=this.station.properties.linescolor;r.style.borderColor=a,r.style.color=a,i.remove()}return this.station.highlighted&&r.classList.add("highlighted"),e.children[0]}}class le{constructor(e){this.tempalate=document.getElementById("marker-airport-template").content,this.airport=e}createMarkerElement(){return this.tempalate.cloneNode(!0).children[0]}}class ce{constructor(e){this.tempalate=document.getElementById("marker-nearby-trans
1port-template").content,this.transport=e}createMarkerElement(){var e=this.tempalate.cloneNode(!0),t=e.querySelector(".js-transport-marker"),r=this.transport.properties.TransportTypeName;t.classList.add(r.replace(/\s/g,"-")),this.transport.highlighted&&t.classList.add("highlighted");var i=e.querySelector("svg use");return i.dataset.fill||i.setAttribute("xlink:href","".concat(ne,"build/hotel-map.svg#icon-").concat(r)),e.children[0]}}var de=r(18925),he=r(6428),ue=r(58941);const pe=(e,t)=>{var[r,i]=e,[a,n]=t,s=i-n,o=180/Math.PI*69.09*Math.acos(Math.sin(r*(Math.PI/180))*Math.sin(a*(Math.PI/180))+Math.cos(r*(Math.PI/180))*Math.cos(a*(Math.PI/180))*Math.cos(s*(Math.PI/180)));return Math.round(1.609344*o*100)/100};function me(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function ve(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?me(Object(r),!0).forEach((function(t){ge(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):me(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ge(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fe(e,t,r,i,a,n,s){try{var o=e[n](s),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(i,a)}function ye(e){return function(){var t=this,r=arguments;return new Promise((function(i,a){var n=e.apply(t,r);function s(e){fe(n,i,a,s,o,"next",e)}function o(e){fe(n,i,a,s,o,"throw",e)}s(void 0)}))}}function we(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function be(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}class ke extends d.Z{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["landmark","restaurant","transport"];super(),this.container=document.querySelector(".js-map-additional-filters"),this.container.classList.add("is-active"),this.activeInputs=e,this.showActiveInput()}showActiveInput(){this.activeInputs.forEach((e=>{var t=this.container.querySelector('[data-filter-type="'.concat(e,'"]'));t.classList.add("is-active"),t.addEventListener("click",(e=>this.toggleInput(e.currentTarget)))}))}toggleInput(e){e.classList.toggle("is-checked"),this.emit("change",e.dataset.filterType),this.emit("change","subway")}}var Le=new WeakSet,Se=new WeakSet,_e=new WeakSet,je=new WeakSet;class Pe{constructor(e){we(this,je),we(this,_e),we(this,Se),we(this,Le),this.map=e,this.attractionsStorage=new de.Z,this.restaurantsStorage=new he.Z,this.transportStorage=new ue.Z,this.mapContainer=document.querySelector(".js-map-wrap"),this.filtersPanel=null,this.landmarks=[],this.restaurants=[],this.transport={airports:[],nearbyTransports:[],railStations:[],railLines:[],subwayStations:[],subwayLines:[]},this.minimumZoomForMarkerPreviewMode=16,this.minimumZoomForSmallTransportMarker=12,this.addListeners(),this.map.getMap().resize()}fetchData(){var e=arguments,t=this;return ye((function*(){var r=e.length>0&&void 0!==e[0]?e[0]:[],i={landmarks:t.getLandmarks(),restaurants:t.getRestaurants(),transport:t.getTransport()},a=r.length?r:["landmarks","restaurants","transport"],n=a.map((e=>i[e]));yield Promise.all(n)}))()}mapOnloadAction(e){this.map.isStyleLoaded()?e():this.map.provider.on("load",e)}addListeners(){this.map.provider.on("click",this.deactivateAllMarkers.bind(this)),this.map.provider.on("zoomend",this.updateSizeOfTransportMarkers.bind(this)),travel.isMobile()&&this.map.provider.on("click",this.hideAllPlaceCards.bind(this)),document.body.addEventListener("click",(e=>{var t=e.target.closest(".js-map-filter-item, .js-map-marker");t&&this.setMarkerActive(t)})),document.querySelector(".js-map-cards").addEventListener("click",(e=>{var t=e.target.closest(".js-map-card");t&&t.classList.toggle("is-open")}))}getLandmarks(){var e=this;return ye((function*(){e.landmarks=yield e.attractionsStorage.getAttractions()}))()}getRestaurants(){var e=this;return ye((function*(){e.restaurants=yield e.restaurantsStorage.getRestaurants()}))()}getTransport(){var e=this;return ye((function*(){var t,r,i,a,n=e.transportStorage.getRailData(travel.options.hotelDestinationId||travel.options.objectId),s=e.transportStorage.getNearbyData(),o=e.transportStorage.getAirportsData(),[l={},c,d]=yield Promise.all([n,s,o]);return e.transport={railStations:(null===(t=l.stations)||void 0===t?void 0:t.filter((e=>!ee.includes(e.type))))||[],railLines:(null===(r=l.lines)||void 0===r?void 0:r.filter((e=>!ee.includes(e.type))))||[],subwayStations:(null===(i=l.stations)||void 0===i?void 0:i.filter((e=>ee.includes(e.type))))||[],subwayLines:(null===(a=l.lines)||void 0===a?void 0:a.filter((e=>ee.includes(e.type))))||[],nearbyTransports:c,airports:d}}))()}getCoordinates(){var e=arguments,t=this;return ye((function*(){var{landmarks:r=!0,restaurants:i=!0}=e.length>0&&void 0!==e[0]?e[0]:{};return[...r?yield t.attractionsStorage.getCoordinates():[],...i?yield t.restaurantsStorage.getCoordinates():[],[t.map.longitude,t.map.latitude]]}))()}setMapZoom(){var e=this;return ye((function*(){var t=yield e.getCoordinates();e.map.fitBoundsByCoordinates(t)}))()}setMarkerActive(e){travel.isMobile()?this.showMarkerCard(e):(this.deactivateAllMarkers(),this.setFlyToPlace(e.dataset.id)),e.classList.add("is-active")}showMarkerCard(e){var t=e.dataset.type,r=e.dataset.id,i=[...this.landmarks,...this.restaurants].find((e=>r===e.id)),a=document.querySelector(".js-map .js-map-cards"),n="restaurant"===t?G:Y,s="restaurant"===t?"marker-restaurant-mobile-template":"marker-landmark-mobile-template",o=document.getElementById(s).content.children[0].cloneNode(!0),l=new n(i).fillTemplate(o);a.innerHTML="",a.appendChild(l)}hideAllPlaceCards(){document.querySelector(".js-map-cards").innerHTML=""}deactivateAllMarkers(){[...document.querySelectorAll(".js-map-marker.is-active")].forEac
1h((e=>e.classList.remove("is-active")))}updateSizeOfTransportMarkers(){this.map.provider.getZoom()<this.minimumZoomForSmallTransportMarker?(document.querySelectorAll(".js-map-marker-transport").forEach((e=>e.classList.add("marker--small"))),document.querySelectorAll(".js-transport-marker").forEach((e=>e.classList.add("marker-transport--small")))):(document.querySelectorAll(".js-map-marker-transport").forEach((e=>e.classList.remove("marker--small"))),document.querySelectorAll(".js-transport-marker").forEach((e=>e.classList.remove("marker-transport--small"))))}drawTransport(){var e,t,r=e=>new oe(e).createMarkerElement();this.transport.railStations&&this.drawTransportPins(be(this,Le,Me).call(this,this.transport.railStations),r),this.transport.subwayStations&&this.drawTransportPins(be(this,Le,Me).call(this,this.transport.subwayStations),r),this.transport.nearbyTransports&&this.drawTransportPins(be(this,Le,Me).call(this,this.transport.nearbyTransports),(e=>new ce(e).createMarkerElement())),this.transport.airports&&this.drawTransportPins(this.transport.airports,(e=>new le(e).createMarkerElement())),null!==(e=this.transport.railLines)&&void 0!==e&&e.length&&this.drawLines(this.transport.railLines,{name:"railLines"}),null!==(t=this.transport.subwayLines)&&void 0!==t&&t.length&&this.drawLines(this.transport.subwayLines,{name:"subwayLines"})}initFiltersPanelIfNeed(){var e=[];this.landmarks.length&&e.push("landmark"),this.restaurants.length&&e.push("restaurant"),Object.values(this.transport).some((e=>e.length))&&e.push("transport"),e.length&&(this.filtersPanel=new ke(e),this.filtersPanel.on("change",this.toggleMarkersVisibility.bind(this)))}toggleMarkersVisibility(e){var t=this.mapContainer.querySelectorAll('[data-type="'.concat(e,'"]'));t.forEach((e=>e.classList.toggle("is-filtered")));var r=!!t[0]&&!t[0].classList.contains("is-filtered");this.hideAllPlaceCards(),"transport"===e&&this.toggleTransportVisability("railLines",r),"subway"===e&&this.toggleTransportVisability("subwayLines",r)}toggleTransportVisability(e,t){var r=!!this.map.getMap().getLayer(e);t||document.querySelectorAll(".js-mapboxgl-transport-popup").forEach((e=>e.remove()));r&&this.map.getMap().setLayoutProperty(e,"visibility",t?"visible":"none")}getActiveTypes(){var e=[],t=be(this,_e,Ee).call(this);return this.landmarks.length&&e.push("landmark"),this.restaurants.length&&e.push("restaurant"),t.length&&e.push(...t),e}toggleVisibilityByType(e){this.toggleMarkersByType(e),this.toggleLinesByType(e)}toggleMarkersByType(e){be(this,je,Te).call(this,e).forEach((e=>e.classList.toggle("is-filtered")))}toggleLinesByType(e){var t=te[e],r=this.map.getMap().getLayer(t);if(r){var i=!("visible"!==r.visibility);this.toggleTransportVisability(t,!i)}}createLandmarkHtmlMarker(e){var t=document.getElementById("marker-landmark-template").content.children[0].cloneNode(!0);return new Y(e).fillTemplate(t)}createRestaurantHtmlMarker(e){var t=document.getElementById("marker-restaurant-template").content.children[0].cloneNode(!0);return new G(e).fillTemplate(t)}setFlyToPlace(e){var t=[...this.landmarks,...this.restaurants].find((t=>e===t.id));t?this.map.flyTo({center:t.coords,essential:!0}):console.warn("Map Filters setFlyToPlace: Can not find target coords")}drawPins(e,t){e.map(t).forEach(((t,r)=>this.map.addMarker({anchor:"bottom",element:t},e[r].coords)))}drawTransportPins(e,t){var r=e.map(t),i=e.map((e=>new se(e).fillTemplate()));r.forEach(((t,r)=>{var a=this.map.addMarker({element:t},e[r].coords);if(e[r].name){var n=new(R().Popup)({offset:15,className:"js-mapboxgl-transport-popup",maxWidth:"none"}).setHTML(i[r]);a.setPopup(n)}}))}drawLines(e,t){var{name:r}=t;this.map.addSource(r,{type:"geojson",data:{type:"FeatureCollection",features:e.map((e=>e.feature))}}),this.map.addLayer({id:r,type:"line",source:r,layout:{visibility:"none","line-join":"round","line-cap":"round"},paint:{"line-color":["get","marker-color"],"line-opacity":.4,"line-width":{stops:[[10,1],[14,2]]}}})}}function Me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.map((e=>e.distance?e.distance<=t?ve(ve({},e),{},{highlighted:!0}):e:pe(e.coords,this.map.getCenterCoords())<=t?ve(ve({},e),{},{highlighted:!0}):e))}function Ce(e){return e.some((e=>this.transport[e].length))}function Ee(){var e=[];return be(this,Se,Ce).call(this,K)&&e.push("transport"),be(this,Se,Ce).call(this,X)&&e.push("subway"),e}function Te(e){return this.mapContainer.querySelectorAll('[data-type="'.concat(e,'"]'))}var Oe=()=>"ontouchstart"in window||navigator.maxTouchPoints||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform);function qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Ae(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?qe(Object(r),!0).forEach((function(t){xe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function xe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var He={attraction:e=>({type:"Feature",geometry:{type:"Point",coordinates:e.coords},properties:Ae(Ae({},e),{},{id:"attraction-"+e.id})}),hotel:(e,t)=>({type:"Feature",geometry:{type:"Point",coordinates:[e.Longitude,e.Latitude]},properties:Object.assign(Object.assign({},t),{},{id:"hotel-"+e.HotelID,mr:e.mr,notAvail:e.NotAvail,price:e.Price,options:e})})};function Fe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Be(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function De(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}var Ie=new WeakSet;class Ze extends d.Z{constructor(e){if(super(),De(this,Ie),Be(this,"_removeMarker",(function(e){e.getElement().removeEventListener("mouseenter",this.listeners._markerMouseEnter),e.getElement().removeEventListener("mouseleave",this.listeners._markerMouseLeave),e.remove()})),this.config=e,!this.config.provider)throw new Error("Map option Provider is required");this.provider=e.provider,this.config=e,this.latitude=this.provider.latitude,this.longitude=this.provider.longitude,this.markers=[],this.markersSizeZoom=12,this.notAvailMarker=null,this.listeners={_markerMouseEnter:this._markerMouseEnter.bind(this),_markerMouseLeave:this._markerMouseLeave.bind(this)},this.init()}init(){this.provider.on("click",(e=>{this.resetActivePlaces(),this.resetLockedPlaces(),this.emit("marker-unlock");var t=e.originalEvent.target.closest(".marker");t&&t.dataset.id&&this.lockMarker(t.dataset.id)})),this.provider.on("load",(e=>this.emit("load",e))),this.provider.on("moveend",(()=>{this.emit("viewport-change",this.getBounds()),this.updateMarkersSize()})),this.provider.on("idle",(e=>this.emit("idle",e))),this.provider.on("zoom",(()=>
1this.emit("zoom",this.provider.getZoom()))),this.removeLogo()}onceViewportChange(e){this.provider.once("moveend",e)}_markerMouseEnter(e){var t=e.target.closest(".marker");t&&(t.classList.add("marker--active"),this.emit("marker-enter",t.dataset.id))}_markerMouseLeave(e){var t=e.target.closest(".marker");t&&(t.classList.remove("marker--active"),this.emit("marker-leave",t.dataset.id))}setBounds(e,t){return this.provider.fitBounds(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fe(Object(r),!0).forEach((function(t){Be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({animate:!0},t))}addPoints(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ze,r=arguments.length>2?arguments[2]:void 0,i={type:"FeatureCollection",features:e.filter((e=>{var t=!0;return this.markers.forEach((function(r){r.getElement().dataset.id==="hotel-"+e.HotelID&&(t=!1)})),t})).map(r)},a=this.provider.getZoom()<this.markersSizeZoom?"marker--small":"",n=this.config.provider.addMarkers(i,(e=>{var r=a;return e.properties.notAvail&&(r+="marker--not_avail"),t(r,e.properties)}));Oe()||function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,Ie,Ne).call(this,n),this.markers=this.markers.concat(n)}removePoints(e){var t=[];this.markers.filter((function(r){if(!e)return!0;var i=!0;return e.forEach((function(e){"hotel-"+e===r.getElement().dataset.id&&(i=!1)})),i||t.push(r),i})).forEach(this._removeMarker.bind(this)),this.markers=t}updateMarkersSize(){var e=this;this.markers.forEach((function(t){var r=t.getElement();e.provider.getZoom()<e.markersSizeZoom?r.classList.add("marker--small"):r.classList.remove("marker--small")}))}resetActivePlaces(){this.markers.forEach((function(e){e.getElement().classList.remove("marker--active")}))}resetLockedPlaces(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"marker--lock";this.markers.forEach((t=>{t.getElement().classList.remove(e)}))}activateMarker(e){this.resetActivePlaces(),this.markers.forEach((t=>{var r=t.getElement();r.dataset.id===e&&r.classList.add("marker--active")}))}lockMarker(e){var t=this.markers.map((e=>e.getElement())),r=t.find((t=>t.dataset.id===e));r&&(r.classList.add("marker--lock"),this.emit("marker-lock",e))}removeLogo(){document.querySelector(".mapboxgl-ctrl-logo").remove()}createHotelMarker(){var e=We(),t=[this.longitude,this.latitude];this.provider.addMarker({anchor:"bottom",element:e},t)}createPopup(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.provider.createPopup(e)}getCenterCoords(){return[this.longitude,this.latitude]}flyTo(e){this.config.provider.flyTo(e)}resize(){return this.provider.resize()}isStyleLoaded(){return this.provider.isStyleLoaded()}getContainer(){return this.provider.getContainer()}getLayer(){return this.provider.getLayer(...arguments)}setLayoutProperty(){return this.provider.setLayoutProperty(...arguments)}addMarker(e,t){return this.config.provider.addMarker(e,t)}addSource(){return this.provider.addSource(...arguments)}addLayer(){return this.provider.addLayer(...arguments)}getZoom(){return this.provider.getZoom(...arguments)}off(){return this.provider.off(...arguments)}getMap(){return this.provider}generateBounds(e){return this.config.provider.generateBounds(e)}fitBounds(e){var{padding:t=50,animate:r=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.provider.fitBounds(e,{padding:t,animate:r})}fitBoundsByCoordinates(e,t){this.fitBounds(this.generateBounds(e),t)}
1getBounds(){var e=this.provider.getBounds(),t=e.getSouthWest(),r=e.getNorthEast();return{NELng:r.lng,NELat:r.lat,SWLng:t.lng,SWLat:t.lat}}resetView(){this.flyTo({center:[travel.options.mapParameters.hotelLongitude,travel.options.mapParameters.hotelLatitude],essential:!0,zoom:11})}addPlaces(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"hotel";this.addPoints(e,t,(e=>((e,t)=>{var r=He[t];if(!r)throw new Error("Unsupported type: ".concat(t));return r(e)})(e,r)))}removePlaces(e){var t=e.reduce(((e,t)=>(e.push(t.HotelID),e)),[]);this.removePoints(t)}removeAllMarkers(){this.markers.forEach((e=>{this._removeMarker(e)})),this.markers=[]}replaceAllMarkers(e,t){this.removeAllMarkers(),this.addPlaces(e,t)}addControl(e,t){this.provider.addControl(e,t)}}function Ne(e){e.forEach((e=>{e.getElement().addEventListener("mouseenter",this.listeners._markerMouseEnter),e.getElement().addEventListener("mouseleave",this.listeners._markerMouseLeave)}))}var ze=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=document.createElement("div"),r=document.createElement("div");r.className="marker-inner",t.className="marker "+e,t.appendChild(r);var i='<svg class="marker__icon" xmlns="http://www.w3.org/2000/svg" width="22" height="24" viewBox="0 0 22 24"><g fill="none"><path fill="#FFF" d="M18.144 3.109C16.139 1.104 13.474 0 10.638 0c-2.835 0-5.5 1.104-7.506 3.109C1.128 5.114.023 7.779.023 10.614c0 5.002 3.497 9.32 8.355 10.373L10.638 24l2.26-3.013c4.858-1.052 8.354-5.37 8.354-10.373 0-2.835-1.104-5.5-3.108-7.505z"></path>\n\t<circle cx="10.638" cy="10.568" r="6.387" fill="currentColor"></circle><path fill="currentColor" d="M18.144 3.109C16.139 1.104 13.474 0 10.638 0c-2.835 0-5.5 1.104-7.506 3.109C1.128 5.114.023 7.779.023 10.614c0 5.002 3.497 9.32 8.355 10.373L10.638 24l2.26-3.013c4.858-1.052 8.354-5.37 8.354-10.373 0-2.835-1.104-5.5-3.108-7.505zm-7.506-.338c4.299 0 7.796 3.498 7.796 7.797 0 4.298-3.497 7.796-7.796 7.796s-7.797-3.498-7.797-7.796c0-4.3 3.498-7.797 7.797-7.797z"></path></g></svg>';return r.innerHTML=i,t},We=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=document.createElement("div");return t.className="marker marker--hotel",t.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat((null==e?void 0:e.width)||"30",'" height="').concat((null==e?void 0:e.height)||"42",'" viewBox="0 0 30 42" class=""><g fill="#242C4A" fill-rule="nonzero" stroke="#FFF"><path d="M13.791 0h0C6.186 0 0 6.313 0 14.072c0 4.689 2.188 10.426 6.504 17.05 3.169 4.865 6.29 8.345 6.421 8.49.223.247.537.388.866.388.329 0 .643-.14.865-.388.132-.145 3.253-3.625 6.421-8.49 4.316-6.624 6.505-12.361 6.505-17.05C27.582 6.312 21.395 0 13.79 0z" transform="translate(-321 -951) translate(322 952)"></path></g><path fill="#FFF" d="M19.885 22.885L16.477 22.885 16.477 16.948 11.428 16.948 11.428 22.885 8 22.885 8 8.667 11.428 8.667 11.428 14.311 16.477 14.311 16.477 8.667 19.885 8.667z" transform="translate(-321 -951) translate(322 952)"></path></svg>'),t};function Ve(e,t){$e(e,t),t.add(e)}function Re(e,t,r){$e(e,t),t.set(e,r)}function $e(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ue(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}function Ye(e,t){return function(e,t){if(t.get)return t.get.call(e);return t.value}(e,Ge(e,t,"get"))}function Je(e,t,r){return function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,Ge(e,t,"set"),r),r}function Ge(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qe(Object(r),!0).forEach((function(t){Xe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEac
1h((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var et=new WeakMap,tt=new WeakMap,rt=new WeakMap,it=new WeakSet,at=new WeakSet;class nt extends d.Z{constructor(e){var{multiple:t=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Ve(this,at),Ve(this,it),Re(this,et,{writable:!0,value:[]}),Re(this,tt,{writable:!0,value:[]}),Re(this,rt,{writable:!0,value:void 0}),this.update(e),Je(this,rt,t)}select(e){Ye(this,rt)||Ue(this,it,st).call(this),Je(this,tt,Ye(this,tt).map((t=>t.id===e?Ke(Ke({},t),{},{selected:!0}):t))),this.emit("change",{selectedFilters:this.getSelected(),triggeredFilter:Ue(this,at,ot).call(this,e)})}unselect(e){Je(this,tt,Ye(this,tt).map((t=>t.id===e?Ke(Ke({},t),{},{selected:!1}):t))),this.emit("change",{selectedFilters:this.getSelected(),triggeredFilter:Ue(this,at,ot).call(this,e)})}selectAll(){Je(this,tt,Ye(this,tt).map((e=>Ke(Ke({},e),{},{selected:!0})))),this.emit("change",{selectedFilters:this.getSelected(),triggeredFilter:null})}resetSelected(){Ue(this,it,st).call(this),this.emit("change",{selectedFilters:this.getSelected(),triggeredFilter:null})}getSelected(){return Ye(this,tt).filter((e=>e.selected))}getAvailable(){return Ye(this,et).filter((e=>!e.disable))}checkSelected(e){var t=Ye(this,tt).find((t=>t.id===e));return null==t?void 0:t.selected}update(e){Je(this,et,(e=>e.map((e=>Ke({disable:!!e.disable,selected:!1},e))))(e)),Je(this,tt,this.getAvailable()),this.emit("update",Ye(this,et))}}function st(){Je(this,tt,Ye(this,tt).map((e=>Ke(Ke({},e),{},{selected:!1}))))}function ot(e){return Ye(this,tt).find((t=>t.id===e))}var lt=r(408);function ct(e,t){ht(e,t),t.add(e)}function dt(e,t,r){ht(e,t),t.set(e,r)}function ht(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function ut(e,t){return function(e,t){if(t.get)return t.get.call(e);return t.value}(e,vt(e,t,"get"))}function pt(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}function mt(e,t,r){return function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,vt(e,t,"set"),r),r}function vt(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}var gt=new WeakMap,ft=new WeakMap,yt=new WeakSet,wt=new WeakSet,bt=new WeakSet,kt=new WeakSet;class Lt extends nt{constructor(e){var{filters:t,filtersContainer:r,filtersElements:i="[data-filter]",resetSelectedButtons:a="[data-reset-btn]",selectedClass:n="active",disableClass:s="disable"}=e;super(t),ct(this,kt),ct(this,bt),ct(this,wt),ct(this,yt),dt(this,gt,{writable:!0,value:null}),dt(this,ft,{writable:!0,value:[]}),mt(this,ft,(0,lt.Nm)(i,r)),mt(this,gt,(0,lt.Nm)(a,r)),this.selectedClass=n,this.disableClass=s,pt(this,yt,St).call(this)}handleElementClick(e){pt(this,wt,_t).call(this,e.currentTarget.dataset.id)}}function St(){this.on("change",(e=>{var{selectedFilters:t}=e;return pt(this,bt,jt).call(this,t)})),this.on("update",(e=>pt(this,kt,Pt).call(this,e))),ut(this,gt).forEach((e=>e.addEventListener("click",this.resetSelected.bind(this)))),ut(this,ft).forEach((e=>e.addEventListener("click",this.handleElementClick.bind(this))))}function _t(e){this.checkSelected(e)?this.unselect(e):this.select(e)}function jt(e){ut(this,ft).forEach((t=>{!e.find((e=>e.id===t.dataset.id))?t.classList.remove(this.selectedClass):t.classList.add(this.selectedClass)}))}function Pt(e){ut(this,ft).forEach((t=>{var r=e.find((e=>e.id===t.dataset.id));r&&!r.disable?t.classList.remove(this.disableClass):t.classList.add(this.disableClass)}))}var Mt=r(79364);function Ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Et(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Tt(e,t,r,i,a,n,s){try{var o=e[n](s),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(i,a)}function Ot(e){return function(){var t=this,r=arguments;return new Promise((function(i,a){var n=e.apply(t,r);function s(e){Tt(n,i,a,s,o,"next",e)}function o(e){Tt(n,i,a,s,o,"throw",e)}s(void 0)}))}}function qt(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}var At={transport:!0,subway:!1},xt=12.5,Ht=8,Ft=travel.options.availableParams.use===String(1),Bt=new WeakSet;function Dt(e){if(!e)return null;var t=(0,lt.sf)(".js-map-additional-filters");[...(0,lt.Nm)("[data-filter]",t)].filter((t=>
1!e.includes(t.dataset.id))).forEach((e=>e.classList.add("is-disabled"))),t.classList.add("is-active");var r=e.map((e=>({id:"".concat(e),selected:At[e],disable:!1})));return new Lt({filters:r,filterContainer:t,selectedClass:"is-selected",disableClass:"is-disable"})}function It(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,r=document.createElement("div"),i=document.createElement("div"),a=document.createElement("div"),n='<svg class="hotel-marker__icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="16" height="16" rx="8" fill-opacity="0.1"/> <path d="M11.6793 6.3375L8.95015 4.15417C8.41681 3.72917 7.58348 3.725 7.05431 4.15L4.32515 6.3375C3.93348 6.65 3.69598 7.275 3.77931 7.76667L4.30431 10.9083C4.42515 11.6125 5.07931 12.1667 5.79181 12.1667H10.2085C10.9126 12.1667 11.5793 11.6 11.7001 10.9042L12.2251 7.7625C12.3001 7.275 12.0626 6.65 11.6793 6.3375ZM8.31265 10.5C8.31265 10.6708 8.17098 10.8125 8.00015 10.8125C7.82931 10.8125 7.68765 10.6708 7.68765 10.5V9.25C7.68765 9.07917 7.82931 8.9375 8.00015 8.9375C8.17098 8.9375 8.31265 9.07917 8.31265 9.25V10.5Z" /> </svg>';return a.textContent="".concat(t.price," ").concat(travel.options.currency),r.className="marker hotel-marker "+e,i.className="hotel-marker__inner",a.className="hotel-marker__price",i.insertAdjacentHTML("afterbegin",n),i.appendChild(a),r.appendChild(i),r}const Zt=class{constructor(){var e=this;qt(this,Bt),this._checkAvail=new S(this._filtersForm),this._roomsLoader=new s.Z("#splash"),this._hotelList=new O,this._emptyHotelList=new F("#js-not-found-hotels"),this._hotelListLoader=document.querySelector("#hotellist-loader"),this._activeCardList=new D("#js-active-hotel-pane"),this.filtersFormView=new m(".js-map-filters"),this._filtersForm=new o.Z(this.filtersFormView),this._mapAvailFormView=new N.default(".js-avail-form"),new(this._mapAvailFormView.hasCity()?W.Z:z.default)(this._mapAvailFormView),this._pagination=new x(".js-pane-pagination"),this._prevPaginationMobButton=new I(".js-pane-list-prev",this._pagination.getItemPerPage()),this._mapLoader=document.querySelector(".js-map-refresh"),this.mapZoom=travel.options.cityID?xt:Ht;var t=new U(document.querySelector("#destination-map"),null,{style:"/map-styles/11/map-style.json",zoom:this.mapZoom,minZoom:1,maxZoom:20,control:"bottom-right"});this._map=new Ze({provider:t}),this._mapFilters=new Pe(this._map);var r=function(){var t=Ot((function*(t){yield t.fetchData(["transport"]);var r=t.getActiveTypes(),i=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(e,Bt,Dt).call(e,r);null==i||i.on("change",(e=>{var{selectedFilters:i}=e;r.forEach((e=>{i.some((t=>t.id===e))&&t.toggleVisibilityByType(e)}))})),t.drawTransport(),t.toggleLinesByType("transport"),t.toggleMarkersByType("subway")}));return function(e){return t.apply(this,arguments)}}();this._mapFilters.mapOnloadAction(r.bind(null,this._mapFilters)),this._init()}_init(){var e=this;return Ot((function*(){e._filtersForm.model.on("update",(()=>e._getHotels())),e._map.on("viewport-change",(()=>e._getHotelsInNewBounds())),e._map.on("marker-enter",(t=>{e._activeCardList.locked||e._showHotelInActivePanel(t)})),e._map.on("marker-leave",(()=>e._activeCardList.close())),e._map.on("marker-lock",(t=>{e._activeCardList.lock(),e._showHotelInActivePanel(t)})),e._map.on("marker-unlock",(()=>{e._activeCardList.unlock(),e._activeCardList.hide()})),e._activeCardList.on("close",(()=>{e._map.resetActivePlaces(),e._map.resetLockedPlaces()})),e._hotelList.on("card-enter",(t=>e._map.activateMarker(t))),e._hotelList.on("card-leave",(()=>e._map.resetActivePlaces())),e._emptyHotelList.on("open-filter",(()=>e.filtersFormView.show())),e._emptyHotelList.on("reset-map",(()=>e._map.resetView())),e._pagination.on("update",(t=>{var{pageNumber:r}=t;return e._filtersForm.setFields({part:r})})),e._pagination.on("update",(t=>{var{pageNumber:r}=t;return e._prevPaginationMobButton.setActivePage(r)})),e._initSorting(),yield e._roomsLoader.show();var t=yield e._getHotels();yield e._roomsLoader.hide(),(0,Mt.Z)(t.avail_hotels_count),e._prevPaginationMobButton.setActivePage(e._pagination.getCurrentPage())}))()}handleMissingCityId(){this._hotelListLoader.hidden=!0,this._emptyHotelList.show(),Z.show(),this._mapAvailFormView.updateErrors({cityId:!1,children:[]})}_getHotels(){var e=this;return Ot((function*(){var t;if(travel.options.cityID||!Ft){e._prevPaginationMobButton.hide(),e._hotelListLoader.hidden=!1,e._hotelList.clear(),e._pagination.container.hidden=!0,e._emptyHotelList.hide();var r=e._map.getBounds(),i=e._filtersForm.getFilters(),a=null===(t=i.find((e=>"part"===e.type)))||void 0===t?void 0:t.value,n=yield e._checkAvail._fetchHotels({part:a,mapBounds:r,filters:i,updateProgressCb:t=>e._roomsLoader.updateProgress(t)}),{hotels:s=[],total:o=0,filters:l=[],texts:c={}}=n;return s.length||e._emptyHotelList.show(),e._hotelList.setList(s),e._map.removePlaces(e._concatNotAvailHotel(s)),e._map.addPlaces(e._concatNotAvailHotel(s),It),e._pagination.update({total:o,current:parseInt(a)||1,label:c.pagination_text}),e.filtersFormView.updateHtml(l),e._hotelListLoader.hidden=!0,n}e.handleMissingCityId()}))()}_getHotelsInNewBounds(){var e=this;return Ot((function*(){e._mapLoader.hidden=!1,yield e._getHotels(),e._mapLoader.hidden=!0}))()}_initSorting(){var e,t;null===(e=this._sorting)||void 0===e||e.destroy(),null===(t=this._sortingDropdown)||void 0===t||t.destroy(),this._sortingDropdown=new n.Z(".js-sort-by",{target:".js-sort-select-block"}),this._sorting=new _.Z(".js-sort-select-block .js-sort-item"),this._sorting.on("change",(e=>{this._filtersForm.setFields(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?Ct(Object(r),!0).forEach((function(t){Et(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({part:1},e))})),this._sorting.on("update-active",(e=>{document.querySelector(".js-sort-by .sort__select-text").innerHTML=e.innerHTML}))}_showHotelInActivePanel(e){var t=e.replace("hotel-",""),r=this._concatNotAvailHotel(this._hotelList.hotels).find((e=>e.ID===+t));this._activeCardList.showHotel(r)}_concatNotAvailHotel(e){var t=this._checkAvail.getNotAvailHotel();return t?[t,...e]:e}};var Nt=r(36107),zt=travel.options.language;a()()&&new Zt,new class{constructor(e){this.container=e instanceof HTMLElement?e:document.querySelector(e),Nt.Z.on("update",(()=>this._update())),this._update()}_update(){var e=this.container.querySelector("#checkin-date");this._updateField(e,Nt.Z.dateFrom);var t=this.container.querySelector("#checkout-date");this._updateField(t,Nt.Z.dateTo)}_updateField(e,t){var r=new Intl.DateTimeFormat(zt,{month:"short"}),i=new Intl.DateTimeFormat(zt,{day:"2-digit"}),a=e.querySelector(".js-date"),n=e.querySelector(".js-month"),s=e.querySelector(".js-year");a.innerHTML=i.format(t),n.innerHTML=r.format(t),s.innerHTML=t.getFullYear()}}("#map-calendar")},98654:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});var i=r(31630);class a extends i.default{constructor(){super(...arguments)}validate(){var e={cityId:!!this.formStore.cityId,children:this.formStore.children.map((e=>""!==e.age))},t=!e.cityId||e.children.some((e=>!e));return this.view.updateErrors(e),!t}}const n=a},78492:(e,t,r)=>{"use strict";function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{ej:()=>s,d8:()=>o,kT:()=>l});var s=e=>{var t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},o=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(r=a({path:"/"},r)).expires instanceof Date&&(r.expires=r.expires.toUTCString());var i=encodeURIComponent(e)+"="+encodeURIComponent(t);for(var n in r){i+="; "+n;var s=r[n];!0!==s&&(i+="="+s)}document.cookie=i},l=e=>{o(e,"",{"max-age":-1})}},408:(e,t,r)=>{"use strict";r.d(t,{sf:()=>i,Nm:()=>a,NS:()=>n});var i=(e,t)=>{if(e&&(!t||t instanceof HTMLElement))return e instanceof HTMLElement?e:t?t.querySelector(e):document.querySelector(e)},a=(e,t)=>{var r=t&&t instanceof HTMLElement?t:document;return"string"==typeof e?[...r.querySelectorAll(e)]:e},n=e=>(new DOMParser).parseFromString(e,"text/html").body.textContent},30684:e=>{var t={10:"/public/static/base/",11:"/site/files/default/",20:"/frontend/lib/shared/",30:"/site/static/common/",31:"/site/static/assets/",40:"/platform/ui/global/",50:"/content/media/common/",70:"/system/resources/web/",77:"/h/cdn/resources/shared/",80:"/cdn/files/base/",90:"/frontend/static/core/",99:"/web/assets/core/"};e.exports=e=>{var r=e.toString(),i=t[r];return i||console.error("Unknown design theme: ".concat(e)),i}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.