{"version":3,"sources":["node_modules/jquery/dist/jquery.min.js","node_modules/jquery-migrate/dist/jquery-migrate.min.js","node_modules/jquery.browser/dist/jquery.browser.min.js","node_modules/bootstrap/dist/js/bootstrap.bundle.min.js","node_modules/sammy/lib/min/sammy-0.7.6.min.js","node_modules/iban/iban.js","node_modules/lazysizes/lazysizes.min.js","Scripts/bic.js","Scripts/shop.alertServiceBs4.js","Scripts/shop.emptyStateAsClass.js","Scripts/shop.models.js","Scripts/shop.newsletter.js","Scripts/shop.gridLayout.ie.js","Scripts/shop.common/shop.namespace.js","Scripts/shop.common/cSharpDefTrueFalse.js","Scripts/shop.common/startsWith.js","Scripts/shop.common/find.js","Scripts/shop.common/endsWith.js","Scripts/shop.common/htmlDecode.js","Scripts/shop.common/setWidthToAuto.js","Scripts/shop.common/resetWidth.js","Scripts/shop.common/getCurrency.js","Scripts/shop.common/getTranslateableResource.js","Scripts/shop.common/scrollTo.js","Scripts/shop.common/shop.liveZillaEvents.js","Scripts/shop.common/scrollDownFunction.js","Scripts/shop.common/jquery.retryPromise.js","Scripts/shop.common/formValidationBs4.js","Scripts/shop.common/shop.stickyHeader.ie.js","Scripts/shop.common/countryHelper.js","Scripts/Shopsystem/ViewModelWithLoadingEvents.js"],"names":["root","factory","define","amd","exports","nodeName","IBAN","this","Array","prototype","map","fun","TypeError","t","Object","len","length","res","thisArg","arguments","i","call","A","charCodeAt","Z","iso13616Prepare","iban","toUpperCase","substr","split","n","code","join","iso7064Mod97_10","block","remainder","slice","parseInt","electronicFormat","replace","NON_ALPHANUM","Specification","countryCode","structure","example","_regex","_cachedRegex","regex","match","format","pattern","repeats","RegExp","isValid","test","toBBAN","separator","exec","fromBBAN","bban","isValidBBAN","Error","checkDigit","countries","addSpecification","EVERY_FOUR_CHARS","isString","v","String","countryStructure","printFormat","validBicRegex","window","BIC","bic","showAlert","alert","options","alertElement","preventFadeOut","templateWithCloseButton","alertClass","message","$","template","setTimeout","remove","append","on","onClose","toast","alertService","success","data","info","warning","error","alerts","emptyValAsClass","element","jqueryElement","val","removeClass","addClass","emptyOptionSelectedAsClass","children","text","trim","overrideValueProperty","hasOwnProperty","realValueProperty","getOwnPropertyDescriptor","__proto__","defineProperty","get","set","newValue","trigger","overrideSelectedIndexProperty","realSelectedIndexProperty","applyEmptyValAsClass","applyEmptyOptionSelectedAsClass","ko","bindingHandlers","emptyStateAsClass","init","elementType","toLowerCase","not","add","each","index","shop","NewsletterModel","Email","observable","FirstName","LastName","SalutationId","TitleId","UserHasNewsletter","GoogleRecaptchaCode","Saved","Loading","Errors","observableArray","ContactModel","self","Firstname","extend","required","Lastname","Company","email","Street","ZipCode","Country","City","Phone","Fax","Request","SendingRequest","FirstNameHasError","LastNameHasError","PhoneHasError","FaxHasError","EmailHasError","StreetHasError","CityHasError","ZipCodeHasError","CountryHasError","FirstNameProxy","computed","read","write","newFirstName","notifySubscribers","deferEvaluation","owner","LastNameProxy","newLastName","PhoneProxy","newPhone","FaxProxy","newFax","EmailProxy","newEmail","StreetProxy","newStreet","CityProxy","newCity","ZipCodeProxy","newZipCode","PopulateContactModel","jsonData","IsValid","valid","models","validate","hasError","AccessPointModel","Descriptor","ConsigneeName","APName","APDetails","APStreet","APZip","APCity","APCountry","APCountryId","ConsigneeEmail","ConsigneeMobile","APCountryCode","APID","ConsigneeCountryCode","ConsigneeStreet","ConsigneeCity","ConsigneePhoneNumber","AddressModel","pageModelHndl","that","AddressId","undefined","CountryId","StateProvinceCode","params","onlyIf","countryHasStateProvinceCode","Salutation","VatId","ISO","CMwSt","DebitorNumber","Skonto","IsPrivateCustomerAddress","IsPrivateCustomer","CommissionReceiverId","CommissionReceiver","IsCountryUSA","PhoneNumber","Cities","CreditData","EditMode","AdditionalAddressInformation","AdditionalAddressInformationModel","IsChangeInProgress","IsVatIdValid","IsVatIdRecommended","IsVatCheckInProgress","ShowVat","IsStateProvinceCodeRequired","CompanyHasError","PhoneNumberHasError","StateProvinceCodeHasError","EmailVisible","DebitorNumberHasError","CountryCaption","constants","OptionTexts","SelectCountryOption","SalutationCaption","SelectSalutationOption","CompanyProxy","newCompany","CompanyDisplayProxy","PhoneNumberProxy","minLength","_ZipCodeProxy","StateProvinceCodeProxy","newStateProvinceCode","DebitorNumberProxy","newDebitorNumber","subscribe","ajax","type","url","ajaxUrls","order","CheckVat","vat","always","erg","fail","Countries","filterRequest","filter","country","CountryName","DefaultCountryISO","IsEU","countryIds","UnitedStates","Salutations","salutation","CommissionReceivers","commissionreceiver","CommissionReceiverName","PopulateAddressModel","address","Populate","IsEuCountry","area","id","done","isEu","CreditCardModel","CreditCardOwner","CreditCardNumber","CreditInstituteCode","CreditInstituteName","CreditIban","CreditBic","EditHasError","CreditCardNumberHasError","CreditCardNumberProxy","value","CreditInstituteCodeHasError","CreditInstituteCodeProxy","CreditIbanHasError","CreditIbanProxy","CreditBicHasError","CreditBicProxy","evaluateIban","e","args","currentTarget","evaluateBic","PopulateCreditCardModel","bankAccount","AccountOwner","AccountNumber","BankCode","BankName","Iban","Bic","checkBankAccount","IsIncomplete","shoppingCart","CheckBankAccount","dataType","contentType","toJSON","mapping","fromJS","result","Success","BankOK","AddressCreditDataModel","utils","BankAccountId","CreditCardDataToEditHasError","CreditCardDataToEditErrorMessage","IsSaving","GetBankAccountByAddressOrderReference","orderReference","GetBankAccountByOrderReference","BankAccount","GetBankAccountByAddressId","addressId","SaveCreditDataChanges","bankAccountIndicator","show","css","SaveBankAccount","successCallback","failureCallback","post","SetBankAccountForAddressId","SaveOrderBankAccount","SetBankAccountForOrder","bankAccountId","BillPayModel","UserAgreesToTerms","IsValidating","BirthdayHasError","BillPayOptionNetPrice","BillPayOptionGrossPrice","BillPayOptionVatAmount","ValidBillPayCountries","MaxYearForBirthday","now","Date","getFullYear","getMonth","getDate","LegalFormCollection","FilteredLegalFormCollection","staticAvailableIdMap","InvoiceAddress","arrayForEach","item","indexOf","LegalFormId","push","BillPayErrors","BillPayAvailableForCountry","ValidateClient","IsHolderNameRequired","HolderName","IsRegisterNumberRequired","RegisterNumber","staticRequireIdMap","LegalFormModel","name","displayText","LegalFormName","LegalFormDisplayText","Birthday","LongBirthdayDate","parentAddress","LegalForm","NewsletterPageModel","isRegistered","Submit","GetRecaptchaCode","newsletter","AddUserToNewsletter","returnArr","removeAll","location","pathname","PreConfirmation","grecaptcha","reset","fireDataLayerEventRegister","dataLayer","event","form_name","browser","msie","applyGridLayout","encounteredClasses","Map","classList","cssClass","gridTemplateColumnsValue","getStyleRuleValue","currentElement","numberOfColumns","getNumberOfColumns","currentRow","currentColumn","child","jQueryChild","styleAttribute","attr","extractValueFromCssText","existingGridRowValue","existingGridRowNumber","Number","isNaN","existingGridColumnValue","existingGridColumnNumber","attribute","selector","l","document","styleSheets","sheet","cssRules","j","k","rule","selectorText","style","cssText","regexResult","prop","html","appendTo","True","False","startsWith","searchString","position","lastIndexOf","find","predicate","o","kValue","endsWith","suffix","htmlDecode","input","createElement","innerHTML","childNodes","nodeValue","SetWidthToAuto","drpLst","width","ResetWidth","GetCurrency","currencyFormat","getCurrencyWithoutDecimalPlaces","kendo","cultures","userSettings","currentCurrencyCode","culture","toString","currentCurrencyMultiplicator","currentCulture","GetTranslateableResource","resource","ResourceValue","scrollTo","complFunc","stickyHeaderOffset","hasClass","outerHeight","scrollTop","offset","top","animate","liveZillaUsedIds","idsAddedSoFar","observer","MutationObserver","liveZillaLoaded","mutations","forEach","mutation","addedNodes","addedNode","disconnect","observe","childList","scrollToTop","page","liveZillaButtonsPanel","liveZillaChat","liveZillaPointer","scrollDownFunction","click","stop","off","onscroll","retry","count","delay","callback","deferred","currentTry","Deferred","reject","promise","validateVat","forms","querySelectorAll","form","addEventListener","preventDefault","mobileHeaderHeight","desktopHeaderHeight","header","headerSpacer","insertAfter","ready","pageYOffset","documentElement","body","parentNode","transitionVal","headerSpacerHeight","styles","height","transition","attributes","subtree","countryId","countryIdAsString","Canada","ViewModelWithLoadingEvents","IsLoading","IsLoaded","IsSaved","HandleLoadEvent","HandleSaveEvent"],"mappings":"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","file":"shop_coreBs4.min.js","sourcesContent":["/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.5.1\",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+xe(l[o]);c=l.join(\",\")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return g(t.replace($,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement(\"div\")),\"undefined\"!=typeof e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length}),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||v.push(\"~=\"),(t=C.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")}),ce(function(e){e.innerHTML=\"\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",F)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&m(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[\":\"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(fe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"\",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"\",y.option=!!ce.lastChild;var ge={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n\",\"\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\\s*$/g;function qe(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&S(e).children(\"tbody\")[0]||e}function Le(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function He(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\\?(?=&|$)|\\?\\?/;S.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Xt.pop()||S.expando+\"_\"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Vt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||S.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"
\",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1\").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,\"position\"),c=S(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=S.css(e,\"top\"),u=S.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):(\"number\"==typeof f.top&&(f.top+=\"px\"),\"number\"==typeof f.left&&(f.left+=\"px\"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===S.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===S.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,\"borderTopWidth\",!0),i.left+=S.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-S.css(r,\"marginTop\",!0),left:t.left-i.left-S.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===S.css(e,\"position\"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each([\"top\",\"left\"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+\"px\":t})}),S.each({Height:\"height\",Width:\"width\"},function(a,s){S.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){S.fn[n]=function(e,t){return 0+o[i])return 1;if(+n[i]<+o[i])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion=\"3.1.0\",n.console&&n.console.log&&(s&&e(\"3.0.0\")||n.console.log(\"JQMIGRATE: jQuery 3.0.0+ REQUIRED\"),s.migrateWarnings&&n.console.log(\"JQMIGRATE: Migrate plugin loaded multiple times\"),n.console.log(\"JQMIGRATE: Migrate is installed\"+(s.migrateMute?\"\":\" with logging active\")+\", version \"+s.migrateVersion));var r={};function u(e){var t=n.console;r[e]||(r[e]=!0,s.migrateWarnings.push(e),t&&t.warn&&!s.migrateMute&&(t.warn(\"JQMIGRATE: \"+e),s.migrateTrace&&t.trace&&t.trace()))}function t(e,t,r,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n),r},set:function(e){u(n),r=e}})}function o(e,t,r,n){e[t]=function(){return u(n),r.apply(this,arguments)}}s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){r={},s.migrateWarnings.length=0},\"BackCompat\"===n.document.compatMode&&u(\"jQuery is not compatible with Quirks Mode\");var i,a=s.fn.init,c=s.isNumeric,d=s.find,l=/\\[(\\s*[-\\w]+\\s*)([~|^$*]?=)\\s*([-\\w#]*?#[-\\w#]*)\\s*\\]/,p=/\\[(\\s*[-\\w]+\\s*)([~|^$*]?=)\\s*([-\\w#]*?#[-\\w#]*)\\s*\\]/g;for(i in s.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return\"string\"==typeof e&&\"#\"===e&&(u(\"jQuery( '#' ) is not a valid selector\"),t[0]=[]),a.apply(this,t)},s.fn.init.prototype=s.fn,s.find=function(t){var r=Array.prototype.slice.call(arguments);if(\"string\"==typeof t&&l.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(p,function(e,t,r,n){return\"[\"+t+r+'\"'+n+'\"]'});try{n.document.querySelector(t),u(\"Attribute selector with '#' must be quoted: \"+r[0]),r[0]=t}catch(e){u(\"Attribute selector with '#' was not fixed: \"+r[0])}}return d.apply(this,r)},d)Object.prototype.hasOwnProperty.call(d,i)&&(s.find[i]=d[i]);s.fn.size=function(){return u(\"jQuery.fn.size() is deprecated and removed; use the .length property\"),this.length},s.parseJSON=function(){return u(\"jQuery.parseJSON is deprecated; use JSON.parse\"),JSON.parse.apply(null,arguments)},s.isNumeric=function(e){var t,r,n=c(e),o=(r=(t=e)&&t.toString(),!s.isArray(t)&&0<=r-parseFloat(r)+1);return n!==o&&u(\"jQuery.isNumeric() should not be called on constructed objects\"),o},e(\"3.3.0\")&&o(s,\"isWindow\",function(e){return null!=e&&e===e.window},\"jQuery.isWindow() is deprecated\"),o(s,\"holdReady\",s.holdReady,\"jQuery.holdReady is deprecated\"),o(s,\"unique\",s.uniqueSort,\"jQuery.unique is deprecated; use jQuery.uniqueSort\"),t(s.expr,\"filters\",s.expr.pseudos,\"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos\"),t(s.expr,\":\",s.expr.pseudos,\"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos\"),e(\"3.2.0\")&&o(s,\"nodeName\",s.nodeName,\"jQuery.nodeName is deprecated\");var f=s.ajax;s.ajax=function(){var e=f.apply(this,arguments);return e.promise&&(o(e,\"success\",e.done,\"jQXHR.success is deprecated and removed\"),o(e,\"error\",e.fail,\"jQXHR.error is deprecated and removed\"),o(e,\"complete\",e.always,\"jQXHR.complete is deprecated and removed\")),e};var y=s.fn.removeAttr,m=s.fn.toggleClass,h=/\\S+/g;s.fn.removeAttr=function(e){var r=this;return s.each(e.match(h),function(e,t){s.expr.match.bool.test(t)&&(u(\"jQuery.fn.removeAttr no longer sets boolean properties: \"+t),r.prop(t,!1))}),y.apply(this,arguments)};var g=!(s.fn.toggleClass=function(t){return void 0!==t&&\"boolean\"!=typeof t?m.apply(this,arguments):(u(\"jQuery.fn.toggleClass( boolean ) is deprecated\"),this.each(function(){var e=this.getAttribute&&this.getAttribute(\"class\")||\"\";e&&s.data(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===t?\"\":s.data(this,\"__className__\")||\"\")}))});s.swap&&s.each([\"height\",\"width\",\"reliableMarginRight\"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return g=!0,e=r.apply(this,arguments),g=!1,e})}),s.swap=function(e,t,r,n){var o,i,a={};for(i in g||u(\"jQuery.swap() is undocumented and deprecated\"),t)a[i]=e.style[i],e.style[i]=t[i];for(i in o=r.apply(e,n||[]),t)e.style[i]=a[i];return o};var v=s.data;s.data=function(e,t,r){var n;if(t&&\"object\"==typeof t&&2===arguments.length){n=s.hasData(e)&&v.call(this,e);var o={};for(var i in t)i!==s.camelCase(i)?(u(\"jQuery.data() always sets/gets camelCased names: \"+i),n[i]=t[i]):o[i]=t[i];return v.call(this,e,o),t}return t&&\"string\"==typeof t&&t!==s.camelCase(t)&&(n=s.hasData(e)&&v.call(this,e))&&t in n?(u(\"jQuery.data() always sets/gets camelCased names: \"+t),2=0&&/(rv)(?::| )([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a)||[],c=/(ipad)/.exec(a)||/(ipod)/.exec(a)||/(windows phone)/.exec(a)||/(iphone)/.exec(a)||/(kindle)/.exec(a)||/(silk)/.exec(a)||/(android)/.exec(a)||/(win)/.exec(a)||/(mac)/.exec(a)||/(linux)/.exec(a)||/(cros)/.exec(a)||/(playbook)/.exec(a)||/(bb)/.exec(a)||/(blackberry)/.exec(a)||[],d={},e={browser:b[5]||b[3]||b[1]||\"\",version:b[2]||b[4]||\"0\",versionNumber:b[4]||b[2]||\"0\",platform:c[0]||\"\"};if(e.browser&&(d[e.browser]=!0,d.version=e.version,d.versionNumber=parseInt(e.versionNumber,10)),e.platform&&(d[e.platform]=!0),(d.android||d.bb||d.blackberry||d.ipad||d.iphone||d.ipod||d.kindle||d.playbook||d.silk||d[\"windows phone\"])&&(d.mobile=!0),(d.cros||d.mac||d.linux||d.win)&&(d.desktop=!0),(d.chrome||d.opr||d.safari)&&(d.webkit=!0),d.rv||d.iemobile){var f=\"msie\";e.browser=f,d[f]=!0}if(d.edge){delete d.edge;var g=\"msedge\";e.browser=g,d[g]=!0}if(d.safari&&d.blackberry){var h=\"blackberry\";e.browser=h,d[h]=!0}if(d.safari&&d.playbook){var i=\"playbook\";e.browser=i,d[i]=!0}if(d.bb){var j=\"blackberry\";e.browser=j,d[j]=!0}if(d.opr){var k=\"opera\";e.browser=k,d[k]=!0}if(d.safari&&d.android){var l=\"android\";e.browser=l,d[l]=!0}if(d.safari&&d.kindle){var m=\"kindle\";e.browser=m,d[m]=!0}if(d.safari&&d.silk){var n=\"silk\";e.browser=n,d[n]=!0}return d.name=e.browser,d.platform=e.platform,d}return window.jQBrowser=b(window.navigator.userAgent),window.jQBrowser.uaMatch=b,a&&(a.browser=window.jQBrowser),window.jQBrowser});","/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"jquery\"],t):t((e=e||self).bootstrap={},e.jQuery)}(this,function(e,p){\"use strict\";function i(e,t){for(var n=0;nthis._items.length-1||e<0))if(this._isSliding)p(this._element).one(V.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n=i.clientWidth&&n>=i.clientHeight}),u=0l[e]&&!i.escapeWithReference&&(n=Math.min(h[t],l[e]-(\"right\"===e?h.width:h.height))),Ye({},t,n)}};return c.forEach(function(e){var t=-1!==[\"left\",\"top\"].indexOf(e)?\"primary\":\"secondary\";h=ze({},h,u[t](e))}),e.offsets.popper=h,e},priority:[\"left\",\"right\",\"top\",\"bottom\"],padding:5,boundariesElement:\"scrollParent\"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,o=e.placement.split(\"-\")[0],r=Math.floor,s=-1!==[\"top\",\"bottom\"].indexOf(o),a=s?\"right\":\"bottom\",l=s?\"left\":\"top\",c=s?\"width\":\"height\";return n[a]r(i[a])&&(e.offsets.popper[l]=r(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!gt(e.instance.modifiers,\"arrow\",\"keepTogether\"))return e;var i=t.element;if(\"string\"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn(\"WARNING: `arrow.element` must be child of its popper element!\"),e;var o=e.placement.split(\"-\")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==[\"left\",\"right\"].indexOf(o),c=l?\"height\":\"width\",h=l?\"Top\":\"Left\",u=h.toLowerCase(),f=l?\"left\":\"top\",d=l?\"bottom\":\"right\",p=nt(i)[c];a[d]-ps[d]&&(e.offsets.popper[u]+=a[u]+p-s[d]),e.offsets.popper=Xe(e.offsets.popper);var m=a[u]+a[c]/2-p/2,g=ke(e.instance.popper),_=parseFloat(g[\"margin\"+h],10),v=parseFloat(g[\"border\"+h+\"Width\"],10),y=m-e.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),e.arrowElement=i,e.offsets.arrow=(Ye(n={},u,Math.round(y)),Ye(n,f,\"\"),n),e},element:\"[x-arrow]\"},flip:{order:600,enabled:!0,fn:function(m,g){if(at(m.instance.modifiers,\"inner\"))return m;if(m.flipped&&m.placement===m.originalPlacement)return m;var _=Ze(m.instance.popper,m.instance.reference,g.padding,g.boundariesElement,m.positionFixed),v=m.placement.split(\"-\")[0],y=it(v),E=m.placement.split(\"-\")[1]||\"\",b=[];switch(g.behavior){case Et:b=[v,y];break;case bt:b=yt(v);break;case wt:b=yt(v,!0);break;default:b=g.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return m;v=m.placement.split(\"-\")[0],y=it(v);var n=m.offsets.popper,i=m.offsets.reference,o=Math.floor,r=\"left\"===v&&o(n.right)>o(i.left)||\"right\"===v&&o(n.left)o(i.top)||\"bottom\"===v&&o(n.top)o(_.right),l=o(n.top)o(_.bottom),h=\"left\"===v&&s||\"right\"===v&&a||\"top\"===v&&l||\"bottom\"===v&&c,u=-1!==[\"top\",\"bottom\"].indexOf(v),f=!!g.flipVariations&&(u&&\"start\"===E&&s||u&&\"end\"===E&&a||!u&&\"start\"===E&&l||!u&&\"end\"===E&&c),d=!!g.flipVariationsByContent&&(u&&\"start\"===E&&a||u&&\"end\"===E&&s||!u&&\"start\"===E&&c||!u&&\"end\"===E&&l),p=f||d;(r||h||p)&&(m.flipped=!0,(r||h)&&(v=b[t+1]),p&&(E=function(e){return\"end\"===e?\"start\":\"start\"===e?\"end\":e}(E)),m.placement=v+(E?\"-\"+E:\"\"),m.offsets.popper=ze({},m.offsets.popper,ot(m.instance.popper,m.offsets.reference,m.placement)),m=st(m.instance.modifiers,m,\"flip\"))}),m},behavior:\"flip\",padding:5,boundariesElement:\"viewport\",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split(\"-\")[0],i=e.offsets,o=i.popper,r=i.reference,s=-1!==[\"left\",\"right\"].indexOf(n),a=-1===[\"top\",\"left\"].indexOf(n);return o[s?\"left\":\"top\"]=r[n]-(a?o[s?\"width\":\"height\"]:0),e.placement=it(t),e.offsets.popper=Xe(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!gt(e.instance.modifiers,\"hide\",\"preventOverflow\"))return e;var t=e.offsets.reference,n=rt(e.instance.modifiers,function(e){return\"preventOverflow\"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.rightdocument.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+\"px\"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+\"px\")},e._resetAdjustments=function(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right
',trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:0,container:!1,fallbackPlacement:\"flip\",boundary:\"scrollParent\",sanitize:!0,sanitizeFn:null,whiteList:Cn,popperConfig:null},Fn=\"show\",Mn=\"out\",Wn={HIDE:\"hide\"+Nn,HIDDEN:\"hidden\"+Nn,SHOW:\"show\"+Nn,SHOWN:\"shown\"+Nn,INSERTED:\"inserted\"+Nn,CLICK:\"click\"+Nn,FOCUSIN:\"focusin\"+Nn,FOCUSOUT:\"focusout\"+Nn,MOUSEENTER:\"mouseenter\"+Nn,MOUSELEAVE:\"mouseleave\"+Nn},Un=\"fade\",Bn=\"show\",qn=\".tooltip-inner\",Kn=\".arrow\",Qn=\"hover\",Vn=\"focus\",Yn=\"click\",zn=\"manual\",Xn=function(){function i(e,t){if(\"undefined\"==typeof St)throw new TypeError(\"Bootstrap's tooltips require Popper.js (https://popper.js.org/)\");this._isEnabled=!0,this._timeout=0,this._hoverState=\"\",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=p(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(Bn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(\".modal\").off(\"hide.bs.modal\",this._hideModalHandler),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if(\"none\"===p(this.element).css(\"display\"))throw new Error(\"Please use show on visible elements\");var e=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(e);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute(\"id\",r),this.element.setAttribute(\"aria-describedby\",r),this.setContent(),this.config.animation&&p(o).addClass(Un);var s=\"function\"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new St(this.element,o,this._getPopperConfig(a)),p(o).addClass(Bn),\"ontouchstart\"in document.documentElement&&p(document.body).children().on(\"mouseover\",null,p.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,p(t.element).trigger(t.constructor.Event.SHOWN),e===Mn&&t._leave(null,t)};if(p(this.tip).hasClass(Un)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(e){function t(){n._hoverState!==Fn&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute(\"aria-describedby\"),p(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()}var n=this,i=this.getTipElement(),o=p.Event(this.constructor.Event.HIDE);if(p(this.element).trigger(o),!o.isDefaultPrevented()){if(p(i).removeClass(Bn),\"ontouchstart\"in document.documentElement&&p(document.body).children().off(\"mouseover\",null,p.noop),this._activeTrigger[Yn]=!1,this._activeTrigger[Vn]=!1,this._activeTrigger[Qn]=!1,p(this.tip).hasClass(Un)){var r=m.getTransitionDurationFromElement(i);p(i).one(m.TRANSITION_END,t).emulateTransitionEnd(r)}else t();this._hoverState=\"\"}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){p(this.getTipElement()).addClass(Ln+\"-\"+e)},e.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(p(e.querySelectorAll(qn)),this.getTitle()),p(e).removeClass(Un+\" \"+Bn)},e.setElementContent=function(e,t){\"object\"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=In(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?p(t).parent().is(e)||e.empty().append(t):e.text(p(t).text())},e.getTitle=function(){var e=this.element.getAttribute(\"data-original-title\");return e=e||(\"function\"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},e._getPopperConfig=function(e){var t=this;return l({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Kn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return\"function\"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},e._getAttachment=function(e){return Hn[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(\" \").forEach(function(e){if(\"click\"===e)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==zn){var t=e===Qn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Qn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}}),this._hideModalHandler=function(){i.element&&i.hide()},p(this.element).closest(\".modal\").on(\"hide.bs.modal\",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:\"manual\",selector:\"\"}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute(\"data-original-title\");!this.element.getAttribute(\"title\")&&\"string\"==e||(this.element.setAttribute(\"data-original-title\",this.element.getAttribute(\"title\")||\"\"),this.element.setAttribute(\"title\",\"\"))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger[\"focusin\"===e.type?Vn:Qn]=!0),p(t.getTipElement()).hasClass(Bn)||t._hoverState===Fn?t._hoverState=Fn:(clearTimeout(t._timeout),t._hoverState=Fn,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Fn&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger[\"focusout\"===e.type?Vn:Qn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=Mn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===Mn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=p(this.element).data();return Object.keys(t).forEach(function(e){-1!==xn.indexOf(e)&&delete t[e]}),\"number\"==typeof(e=l({},this.constructor.Default,{},t,{},\"object\"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),\"number\"==typeof e.title&&(e.title=e.title.toString()),\"number\"==typeof e.content&&(e.content=e.content.toString()),m.typeCheckConfig(An,e,this.constructor.DefaultType),e.sanitize&&(e.template=In(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr(\"class\").match(Pn);null!==t&&t.length&&e.removeClass(t.join(\"\"))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute(\"x-placement\")&&(p(e).removeClass(Un),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(On),t=\"object\"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(On,e)),\"string\"==typeof n)){if(\"undefined\"==typeof e[n])throw new TypeError('No method named \"'+n+'\"');e[n]()}})},s(i,null,[{key:\"VERSION\",get:function(){return\"4.4.1\"}},{key:\"Default\",get:function(){return Rn}},{key:\"NAME\",get:function(){return An}},{key:\"DATA_KEY\",get:function(){return On}},{key:\"Event\",get:function(){return Wn}},{key:\"EVENT_KEY\",get:function(){return Nn}},{key:\"DefaultType\",get:function(){return jn}}]),i}();p.fn[An]=Xn._jQueryInterface,p.fn[An].Constructor=Xn,p.fn[An].noConflict=function(){return p.fn[An]=kn,Xn._jQueryInterface};var Gn=\"popover\",$n=\"bs.popover\",Jn=\".\"+$n,Zn=p.fn[Gn],ei=\"bs-popover\",ti=new RegExp(\"(^|\\\\s)\"+ei+\"\\\\S+\",\"g\"),ni=l({},Xn.Default,{placement:\"right\",trigger:\"click\",content:\"\",template:'

'}),ii=l({},Xn.DefaultType,{content:\"(string|element|function)\"}),oi=\"fade\",ri=\"show\",si=\".popover-header\",ai=\".popover-body\",li={HIDE:\"hide\"+Jn,HIDDEN:\"hidden\"+Jn,SHOW:\"show\"+Jn,SHOWN:\"shown\"+Jn,INSERTED:\"inserted\"+Jn,CLICK:\"click\"+Jn,FOCUSIN:\"focusin\"+Jn,FOCUSOUT:\"focusout\"+Jn,MOUSEENTER:\"mouseenter\"+Jn,MOUSELEAVE:\"mouseleave\"+Jn},ci=function(e){function i(){return e.apply(this,arguments)||this}!function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}(i,e);var t=i.prototype;return t.isWithContent=function(){return this.getTitle()||this._getContent()},t.addAttachmentClass=function(e){p(this.getTipElement()).addClass(ei+\"-\"+e)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var e=p(this.getTipElement());this.setElementContent(e.find(si),this.getTitle());var t=this._getContent();\"function\"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(ai),t),e.removeClass(oi+\" \"+ri)},t._getContent=function(){return this.element.getAttribute(\"data-content\")||this.config.content},t._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr(\"class\").match(ti);null!==t&&0=this._offsets[o]&&(\"undefined\"==typeof this._offsets[o+1]||e li > .active\",qi='[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',Ki=\".dropdown-toggle\",Qi=\"> .dropdown-menu .active\",Vi=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(ji)||p(this._element).hasClass(Hi))){var e,i,t=p(this._element).closest(Wi)[0],o=m.getSelectorFromElement(this._element);if(t){var r=\"UL\"===t.nodeName||\"OL\"===t.nodeName?Bi:Ui;i=(i=p.makeArray(p(t).find(r)))[i.length-1]}var s=p.Event(Pi.HIDE,{relatedTarget:this._element}),a=p.Event(Pi.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(e=document.querySelector(o)),this._activate(this._element,t);var l=function(){var e=p.Event(Pi.HIDDEN,{relatedTarget:n._element}),t=p.Event(Pi.SHOWN,{relatedTarget:i});p(i).trigger(e),p(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){p.removeData(this._element,Ni),this._element=null},e._activate=function(e,t,n){function i(){return o._transitionComplete(e,r,n)}var o=this,r=(!t||\"UL\"!==t.nodeName&&\"OL\"!==t.nodeName?p(t).children(Ui):p(t).find(Bi))[0],s=n&&r&&p(r).hasClass(Ri);if(r&&s){var a=m.getTransitionDurationFromElement(r);p(r).removeClass(Fi).one(m.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},e._transitionComplete=function(e,t,n){if(t){p(t).removeClass(ji);var i=p(t.parentNode).find(Qi)[0];i&&p(i).removeClass(ji),\"tab\"===t.getAttribute(\"role\")&&t.setAttribute(\"aria-selected\",!1)}if(p(e).addClass(ji),\"tab\"===e.getAttribute(\"role\")&&e.setAttribute(\"aria-selected\",!0),m.reflow(e),e.classList.contains(Ri)&&e.classList.add(Fi),e.parentNode&&p(e.parentNode).hasClass(xi)){var o=p(e).closest(Mi)[0];if(o){var r=[].slice.call(o.querySelectorAll(Ki));p(r).addClass(ji)}e.setAttribute(\"aria-expanded\",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(Ni);if(t||(t=new i(this),e.data(Ni,t)),\"string\"==typeof n){if(\"undefined\"==typeof t[n])throw new TypeError('No method named \"'+n+'\"');t[n]()}})},s(i,null,[{key:\"VERSION\",get:function(){return\"4.4.1\"}}]),i}();p(document).on(Pi.CLICK_DATA_API,qi,function(e){e.preventDefault(),Vi._jQueryInterface.call(p(this),\"show\")}),p.fn.tab=Vi._jQueryInterface,p.fn.tab.Constructor=Vi,p.fn.tab.noConflict=function(){return p.fn.tab=Li,Vi._jQueryInterface};var Yi=\"toast\",zi=\"bs.toast\",Xi=\".\"+zi,Gi=p.fn[Yi],$i={CLICK_DISMISS:\"click.dismiss\"+Xi,HIDE:\"hide\"+Xi,HIDDEN:\"hidden\"+Xi,SHOW:\"show\"+Xi,SHOWN:\"shown\"+Xi},Ji=\"fade\",Zi=\"hide\",eo=\"show\",to=\"showing\",no={animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},io={animation:!0,autohide:!0,delay:500},oo='[data-dismiss=\"toast\"]',ro=function(){function i(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=i.prototype;return e.show=function(){var e=this,t=p.Event($i.SHOW);if(p(this._element).trigger(t),!t.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Ji);var n=function(){e._element.classList.remove(to),e._element.classList.add(eo),p(e._element).trigger($i.SHOWN),e._config.autohide&&(e._timeout=setTimeout(function(){e.hide()},e._config.delay))};if(this._element.classList.remove(Zi),m.reflow(this._element),this._element.classList.add(to),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains(eo)){var e=p.Event($i.HIDE);p(this._element).trigger(e),e.isDefaultPrevented()||this._close()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(eo)&&this._element.classList.remove(eo),p(this._element).off($i.CLICK_DISMISS),p.removeData(this._element,zi),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},io,{},p(this._element).data(),{},\"object\"==typeof e&&e?e:{}),m.typeCheckConfig(Yi,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;p(this._element).on($i.CLICK_DISMISS,oo,function(){return e.hide()})},e._close=function(){function e(){t._element.classList.add(Zi),p(t._element).trigger($i.HIDDEN)}var t=this;if(this._element.classList.remove(eo),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(zi);if(t||(t=new i(this,\"object\"==typeof n&&n),e.data(zi,t)),\"string\"==typeof n){if(\"undefined\"==typeof t[n])throw new TypeError('No method named \"'+n+'\"');t[n](this)}})},s(i,null,[{key:\"VERSION\",get:function(){return\"4.4.1\"}},{key:\"DefaultType\",get:function(){return no}},{key:\"Default\",get:function(){return io}}]),i}();p.fn[Yi]=ro._jQueryInterface,p.fn[Yi].Constructor=ro,p.fn[Yi].noConflict=function(){return p.fn[Yi]=Gi,ro._jQueryInterface},e.Alert=_,e.Button=x,e.Carousel=he,e.Collapse=De,e.Dropdown=en,e.Modal=wn,e.Popover=ci,e.Scrollspy=Oi,e.Tab=Vi,e.Toast=ro,e.Tooltip=Xn,e.Util=m,Object.defineProperty(e,\"__esModule\",{value:!0})});\n//# sourceMappingURL=bootstrap.bundle.min.js.map","// -- Sammy.js -- /sammy.js\n// http://sammyjs.org\n// Version: 0.7.6\n// Built: 2014-08-26 10:45:34 +0300\n(function(factory){if(typeof define===\"function\"&&define.amd){define([\"jquery\"],factory)}else{jQuery.sammy=window.Sammy=factory(jQuery)}})(function($){var Sammy,PATH_REPLACER=\"([^/]+)\",PATH_NAME_MATCHER=/:([\\w\\d]+)/g,QUERY_STRING_MATCHER=/\\?([^#]*)?$/,_makeArray=function(nonarray){return Array.prototype.slice.call(nonarray)},_isFunction=function(obj){return Object.prototype.toString.call(obj)===\"[object Function]\"},_isArray=function(obj){return Object.prototype.toString.call(obj)===\"[object Array]\"},_isRegExp=function(obj){return Object.prototype.toString.call(obj)===\"[object RegExp]\"},_decode=function(str){return decodeURIComponent((str||\"\").replace(/\\+/g,\" \"))},_encode=encodeURIComponent,_escapeHTML=function(s){return String(s).replace(/&(?!\\w+;)/g,\"&\").replace(//g,\">\").replace(/\"/g,\""\")},_routeWrapper=function(verb){return function(){return this.route.apply(this,[verb].concat(Array.prototype.slice.call(arguments)))}},_template_cache={},_has_history=!!(window.history&&history.pushState),loggers=[];Sammy=function(){var args=_makeArray(arguments),app,selector;Sammy.apps=Sammy.apps||{};if(args.length===0||args[0]&&_isFunction(args[0])){return Sammy.apply(Sammy,[\"body\"].concat(args))}else if(typeof(selector=args.shift())==\"string\"){app=Sammy.apps[selector]||new Sammy.Application;app.element_selector=selector;if(args.length>0){$.each(args,function(i,plugin){app.use(plugin)})}if(app.element_selector!=selector){delete Sammy.apps[selector]}Sammy.apps[app.element_selector]=app;return app}};Sammy.VERSION=\"0.7.6\";Sammy.addLogger=function(logger){loggers.push(logger)};Sammy.log=function(){var args=_makeArray(arguments);args.unshift(\"[\"+Date()+\"]\");$.each(loggers,function(i,logger){logger.apply(Sammy,args)})};if(typeof window.console!=\"undefined\"){if(typeof window.console.log===\"function\"&&_isFunction(window.console.log.apply)){Sammy.addLogger(function(){window.console.log.apply(window.console,arguments)})}else{Sammy.addLogger(function(){window.console.log(arguments)})}}else if(typeof console!=\"undefined\"){Sammy.addLogger(function(){console.log.apply(console,arguments)})}$.extend(Sammy,{makeArray:_makeArray,isFunction:_isFunction,isArray:_isArray});Sammy.Object=function(obj){return $.extend(this,obj||{})};$.extend(Sammy.Object.prototype,{escapeHTML:_escapeHTML,h:_escapeHTML,toHash:function(){var json={};$.each(this,function(k,v){if(!_isFunction(v)){json[k]=v}});return json},toHTML:function(){var display=\"\";$.each(this,function(k,v){if(!_isFunction(v)){display+=\"\"+k+\" \"+v+\"
\"}});return display},keys:function(attributes_only){var keys=[];for(var property in this){if(!_isFunction(this[property])||!attributes_only){keys.push(property)}}return keys},has:function(key){return this[key]&&$.trim(this[key].toString())!==\"\"},join:function(){var args=_makeArray(arguments);var delimiter=args.shift();return args.join(delimiter)},log:function(){Sammy.log.apply(Sammy,arguments)},toString:function(include_functions){var s=[];$.each(this,function(k,v){if(!_isFunction(v)||include_functions){s.push('\"'+k+'\": '+v.toString())}});return\"Sammy.Object: {\"+s.join(\",\")+\"}\"}});Sammy.targetIsThisWindow=function targetIsThisWindow(event,tagName){var targetElement=$(event.target).closest(tagName);if(targetElement.length===0){return true}var targetWindow=targetElement.attr(\"target\");if(!targetWindow||targetWindow===window.name||targetWindow===\"_self\"){return true}if(targetWindow===\"_blank\"){return false}if(targetWindow===\"top\"&&window===window.top){return true}return false};Sammy.DefaultLocationProxy=function(app,run_interval_every){this.app=app;this.is_native=false;this.has_history=_has_history;this._startPolling(run_interval_every)};Sammy.DefaultLocationProxy.fullPath=function(location_obj){var matches=location_obj.toString().match(/^[^#]*(#.+)$/);var hash=matches?matches[1]:\"\";return[location_obj.pathname,location_obj.search,hash].join(\"\")};$.extend(Sammy.DefaultLocationProxy.prototype,{bind:function(){var proxy=this,app=this.app,lp=Sammy.DefaultLocationProxy;$(window).bind(\"hashchange.\"+this.app.eventNamespace(),function(e,non_native){if(proxy.is_native===false&&!non_native){proxy.is_native=true;window.clearInterval(lp._interval);lp._interval=null}app.trigger(\"location-changed\")});if(_has_history&&!app.disable_push_state){$(window).bind(\"popstate.\"+this.app.eventNamespace(),function(e){app.trigger(\"location-changed\")});$(document).delegate(\"a\",\"click.history-\"+this.app.eventNamespace(),function(e){if(e.isDefaultPrevented()||e.metaKey||e.ctrlKey){return}var full_path=lp.fullPath(this),hostname=this.hostname?this.hostname:function(a){var l=document.createElement(\"a\");l.href=a.href;return l.hostname}(this);if(hostname==window.location.hostname&&app.lookupRoute(\"get\",full_path)&&Sammy.targetIsThisWindow(e,\"a\")){e.preventDefault();proxy.setLocation(full_path);return false}})}if(!lp._bindings){lp._bindings=0}lp._bindings++},unbind:function(){$(window).unbind(\"hashchange.\"+this.app.eventNamespace());$(window).unbind(\"popstate.\"+this.app.eventNamespace());$(document).undelegate(\"a\",\"click.history-\"+this.app.eventNamespace());Sammy.DefaultLocationProxy._bindings--;if(Sammy.DefaultLocationProxy._bindings<=0){window.clearInterval(Sammy.DefaultLocationProxy._interval);Sammy.DefaultLocationProxy._interval=null}},getLocation:function(){return Sammy.DefaultLocationProxy.fullPath(window.location)},setLocation:function(new_location){if(/^([^#\\/]|$)/.test(new_location)){if(_has_history&&!this.app.disable_push_state){new_location=\"/\"+new_location}else{new_location=\"#!/\"+new_location}}if(new_location!=this.getLocation()){if(_has_history&&!this.app.disable_push_state&&/^\\//.test(new_location)){history.pushState({path:new_location},window.title,new_location);this.app.trigger(\"location-changed\")}else{return window.location=new_location}}},_startPolling:function(every){var proxy=this;if(!Sammy.DefaultLocationProxy._interval){if(!every){every=10}var hashCheck=function(){var current_location=proxy.getLocation();if(typeof Sammy.DefaultLocationProxy._last_location==\"undefined\"||current_location!=Sammy.DefaultLocationProxy._last_location){window.setTimeout(function(){$(window).trigger(\"hashchange\",[true])},0)}Sammy.DefaultLocationProxy._last_location=current_location};hashCheck();Sammy.DefaultLocationProxy._interval=window.setInterval(hashCheck,every)}}});Sammy.Application=function(app_function){var app=this;this.routes={};this.listeners=new Sammy.Object({});this.arounds=[];this.befores=[];this.namespace=(new Date).getTime()+\"-\"+parseInt(Math.random()*1e3,10);this.context_prototype=function(){Sammy.EventContext.apply(this,arguments)};this.context_prototype.prototype=new Sammy.EventContext;if(_isFunction(app_function)){app_function.apply(this,[this])}if(!this._location_proxy){this.setLocationProxy(new Sammy.DefaultLocationProxy(this,this.run_interval_every))}if(this.debug){this.bindToAllEvents(function(e,data){app.log(app.toString(),e.cleaned_type,data||{})})}};Sammy.Application.prototype=$.extend({},Sammy.Object.prototype,{ROUTE_VERBS:[\"get\",\"post\",\"put\",\"delete\"],APP_EVENTS:[\"run\",\"unload\",\"lookup-route\",\"run-route\",\"route-found\",\"event-context-before\",\"event-context-after\",\"changed\",\"error\",\"check-form-submission\",\"redirect\",\"location-changed\"],_last_route:null,_location_proxy:null,_running:false,element_selector:\"body\",debug:false,raise_errors:false,run_interval_every:50,disable_push_state:false,template_engine:null,toString:function(){return\"Sammy.Application:\"+this.element_selector},$element:function(selector){return selector?$(this.element_selector).find(selector):$(this.element_selector)},use:function(){var args=_makeArray(arguments),plugin=args.shift(),plugin_name=plugin||\"\";try{args.unshift(this);if(typeof plugin==\"string\"){plugin_name=\"Sammy.\"+plugin;plugin=Sammy[plugin]}plugin.apply(this,args)}catch(e){if(typeof plugin===\"undefined\"){this.error(\"Plugin Error: called use() but plugin (\"+plugin_name.toString()+\") is not defined\",e)}else if(!_isFunction(plugin)){this.error(\"Plugin Error: called use() but '\"+plugin_name.toString()+\"' is not a function\",e)}else{this.error(\"Plugin Error\",e)}}return this},setLocationProxy:function(new_proxy){var original_proxy=this._location_proxy;this._location_proxy=new_proxy;if(this.isRunning()){if(original_proxy){original_proxy.unbind()}this._location_proxy.bind()}},log:function(){Sammy.log.apply(Sammy,Array.prototype.concat.apply([this.element_selector],arguments))},route:function(verb,path){var app=this,param_names=[],add_route,path_match,callback=Array.prototype.slice.call(arguments,2);if(callback.length===0&&_isFunction(path)){callback=[path];path=verb;verb=\"any\"}verb=verb.toLowerCase();if(path.constructor==String){PATH_NAME_MATCHER.lastIndex=0;while((path_match=PATH_NAME_MATCHER.exec(path))!==null){param_names.push(path_match[1])}path=new RegExp(path.replace(PATH_NAME_MATCHER,PATH_REPLACER)+\"$\")}$.each(callback,function(i,cb){if(typeof cb===\"string\"){callback[i]=app[cb]}});add_route=function(with_verb){var r={verb:with_verb,path:path,callback:callback,param_names:param_names};app.routes[with_verb]=app.routes[with_verb]||[];app.routes[with_verb].push(r)};if(verb===\"any\"){$.each(this.ROUTE_VERBS,function(i,v){add_route(v)})}else{add_route(verb)}return this},get:_routeWrapper(\"get\"),post:_routeWrapper(\"post\"),put:_routeWrapper(\"put\"),del:_routeWrapper(\"delete\"),any:_routeWrapper(\"any\"),mapRoutes:function(route_array){var app=this;$.each(route_array,function(i,route_args){app.route.apply(app,route_args)});return this},eventNamespace:function(){return[\"sammy-app\",this.namespace].join(\"-\")},bind:function(name,data,callback){var app=this;if(typeof callback==\"undefined\"){callback=data}var listener_callback=function(){var e,context,data;e=arguments[0];data=arguments[1];if(data&&data.context){context=data.context;delete data.context}else{context=new app.context_prototype(app,\"bind\",e.type,data,e.target)}e.cleaned_type=e.type.replace(app.eventNamespace(),\"\");callback.apply(context,[e,data])};if(!this.listeners[name]){this.listeners[name]=[]}this.listeners[name].push(listener_callback);if(this.isRunning()){this._listen(name,listener_callback)}return this},trigger:function(name,data){this.$element().trigger([name,this.eventNamespace()].join(\".\"),[data]);return this},refresh:function(){this.last_location=null;this.trigger(\"location-changed\");return this},before:function(options,callback){if(_isFunction(options)){callback=options;options={}}this.befores.push([options,callback]);return this},after:function(callback){return this.bind(\"event-context-after\",callback)},around:function(callback){this.arounds.push(callback);return this},onComplete:function(callback){this._onComplete=callback;return this},isRunning:function(){return this._running},helpers:function(extensions){$.extend(this.context_prototype.prototype,extensions);return this},helper:function(name,method){this.context_prototype.prototype[name]=method;return this},run:function(start_url){if(this.isRunning()){return false}var app=this;$.each(this.listeners.toHash(),function(name,callbacks){$.each(callbacks,function(i,listener_callback){app._listen(name,listener_callback)})});this.trigger(\"run\",{start_url:start_url});this._running=true;this.last_location=null;if(!/\\#(.+)/.test(this.getLocation())&&typeof start_url!=\"undefined\"){this.setLocation(start_url)}this._checkLocation();this._location_proxy.bind();this.bind(\"location-changed\",function(){app._checkLocation()});this.bind(\"submit\",function(e){if(!Sammy.targetIsThisWindow(e,\"form\")){return true}var returned=app._checkFormSubmission($(e.target).closest(\"form\"));return returned===false?e.preventDefault():false});$(window).bind(\"unload\",function(){app.unload()});return this.trigger(\"changed\")},unload:function(){if(!this.isRunning()){return false}var app=this;this.trigger(\"unload\");this._location_proxy.unbind();this.$element().unbind(\"submit\").removeClass(app.eventNamespace());$.each(this.listeners.toHash(),function(name,listeners){$.each(listeners,function(i,listener_callback){app._unlisten(name,listener_callback)})});this._running=false;return this},destroy:function(){this.unload();delete Sammy.apps[this.element_selector];return this},bindToAllEvents:function(callback){var app=this;$.each(this.APP_EVENTS,function(i,e){app.bind(e,callback)});$.each(this.listeners.keys(true),function(i,name){if($.inArray(name,app.APP_EVENTS)==-1){app.bind(name,callback)}});return this},routablePath:function(path){return path.replace(QUERY_STRING_MATCHER,\"\")},lookupRoute:function(verb,path){var app=this,routed=false,i=0,l,route;if(typeof this.routes[verb]!=\"undefined\"){l=this.routes[verb].length;for(;i0){before=befores.shift();if(app.contextMatchesOptions(context,before[0])){returned=before[1].apply(context,[context]);if(returned===false){return false}}}app.last_route=route;context.trigger(\"event-context-before\",{context:context});if(typeof route.callback===\"function\"){route.callback=[route.callback]}if(route.callback&&route.callback.length){i=-1;nextRoute=function(){i++;if(route.callback[i]){returned=route.callback[i].apply(context,callback_args)}else if(app._onComplete&&typeof(app._onComplete===\"function\")){app._onComplete(context)}};callback_args.push(nextRoute);nextRoute()}context.trigger(\"event-context-after\",{context:context});return returned};$.each(arounds.reverse(),function(i,around){var last_wrapped_route=wrapped_route;wrapped_route=function(){return around.apply(context,[last_wrapped_route])}});try{final_returned=wrapped_route()}catch(e){this.error([\"500 Error\",verb,path].join(\" \"),e)}return final_returned}else{return this.notFound(verb,path)}},contextMatchesOptions:function(context,match_options,positive){var options=match_options;if(typeof options===\"string\"||_isRegExp(options)){options={path:options}}if(typeof positive===\"undefined\"){positive=true}if($.isEmptyObject(options)){return true}if(_isArray(options.path)){var results,numopt,opts,len;results=[];for(numopt=0,len=options.path.length;numopt-1?true:false;return positive?matched:!matched}if(options.only){return this.contextMatchesOptions(context,options.only,true)}else if(options.except){return this.contextMatchesOptions(context,options.except,false)}var path_matched=true,verb_matched=true;if(options.path){if(!_isRegExp(options.path)){options.path=new RegExp(options.path.toString()+\"$\")}path_matched=options.path.test(context.path)}if(options.verb){if(typeof options.verb===\"string\"){verb_matched=options.verb===context.verb}else{verb_matched=options.verb.indexOf(context.verb)>-1}}return positive?verb_matched&&path_matched:!(verb_matched&&path_matched)},getLocation:function(){return this._location_proxy.getLocation()},setLocation:function(new_location){return this._location_proxy.setLocation(new_location)},swap:function(content,callback){var $el=this.$element().html(content);if(_isFunction(callback)){callback(content)}return $el},templateCache:function(key,value){if(typeof value!=\"undefined\"){return _template_cache[key]=value}else{return _template_cache[key]}},clearTemplateCache:function(){return _template_cache={}},notFound:function(verb,path){var ret=this.error([\"404 Not Found\",verb,path].join(\" \"));return verb===\"get\"?ret:true},error:function(message,original_error){if(!original_error){original_error=new Error}original_error.message=[message,original_error.message].join(\" \");this.trigger(\"error\",{message:original_error.message,error:original_error});if(this.raise_errors){throw original_error}else{this.log(original_error.message,original_error)}},_checkLocation:function(){var location,returned;location=this.getLocation();if(!this.last_location||this.last_location[0]!=\"get\"||this.last_location[1]!=location){this.last_location=[\"get\",location];returned=this.runRoute(\"get\",location)}return returned},_getFormVerb:function(form){var $form=$(form),verb,$_method;$_method=$form.find('input[name=\"_method\"]');if($_method.length>0){verb=$_method.val()}if(!verb){verb=$form[0].getAttribute(\"method\")}if(!verb||verb===\"\"){verb=\"get\"}return $.trim(verb.toString().toLowerCase())},_checkFormSubmission:function(form){var $form,path,verb,params,returned;this.trigger(\"check-form-submission\",{form:form});$form=$(form);path=$form.attr(\"action\")||\"\";verb=this._getFormVerb($form);if(this.debug){this.log(\"_checkFormSubmission\",$form,path,verb)}if(verb===\"get\"){params=this._serializeFormParams($form);if(params!==\"\"){path+=\"?\"+params}this.setLocation(path);returned=false}else{params=$.extend({},this._parseFormParams($form));returned=this.runRoute(verb,path,params,form.get(0))}return typeof returned==\"undefined\"?false:returned},_serializeFormParams:function($form){var queryString=\"\",fields=$form.serializeArray(),i;if(fields.length>0){queryString=this._encodeFormPair(fields[0].name,fields[0].value);for(i=1;i0){this.then(this.callbacks.shift())}},load:function(location,options,callback){var context=this;return this.then(function(){var should_cache,cached,is_json,location_array;if(_isFunction(options)){callback=options;options={}}else{options=$.extend({},options)}if(callback){this.then(callback)}if(typeof location===\"string\"){is_json=location.match(/\\.json(\\?|$)/)||options.json;should_cache=is_json?options.cache===true:options.cache!==false;context.next_engine=context.event_context.engineFor(location);delete options.cache;delete options.json;if(options.engine){context.next_engine=options.engine;delete options.engine}if(should_cache&&(cached=this.event_context.app.templateCache(location))){return cached}this.wait();$.ajax($.extend({url:location,data:{},dataType:is_json?\"json\":\"text\",type:\"get\",success:function(data){if(should_cache){context.event_context.app.templateCache(location,data)}context.next(data)}},options));return false}else{if(location.nodeType){return location.innerHTML}if(location.selector){context.next_engine=location.attr(\"data-engine\");if(options.clone===false){return location.remove()[0].innerHTML.toString()}else{return location[0].innerHTML.toString()}}}})},loadPartials:function(partials){var name;if(partials){this.partials=this.partials||{};for(name in partials){(function(context,name){context.load(partials[name]).then(function(template){this.partials[name]=template})})(this,name)}}return this},render:function(location,data,callback,partials){if(_isFunction(location)&&!data){return this.then(location)}else{if(_isFunction(data)){partials=callback;callback=data;data=null}else if(callback&&!_isFunction(callback)){partials=callback;callback=null}return this.loadPartials(partials).load(location).interpolate(data,location).then(callback)}},partial:function(location,data,callback,partials){if(_isFunction(callback)){return this.render(location,data,partials).swap(callback)}else if(_isFunction(data)){return this.render(location,{},callback).swap(data)}else{return this.render(location,data,callback).swap()}},send:function(){var context=this,args=_makeArray(arguments),fun=args.shift();if(_isArray(args[0])){args=args[0]}return this.then(function(content){args.push(function(response){context.next(response)});context.wait();fun.apply(fun,args);return false})},collect:function(array,callback,now){var context=this;var coll=function(){if(_isFunction(array)){callback=array;array=this.content}var contents=[],doms=false;$.each(array,function(i,item){var returned=callback.apply(context,[i,item]);if(returned.jquery&&returned.length==1){returned=returned[0];doms=true}contents.push(returned);return returned});return doms?contents:contents.join(\"\")};return now?coll():this.then(coll)},renderEach:function(location,name,data,callback){if(_isArray(name)){callback=data;data=name;name=null}return this.load(location).then(function(content){var rctx=this;if(!data){data=_isArray(this.previous_content)?this.previous_content:[]}if(callback){$.each(data,function(i,value){var idata={},engine=this.next_engine||location;if(name){idata[name]=value}else{idata=value}callback(value,rctx.event_context.interpolate(content,idata,engine))})}else{return this.collect(data,function(i,value){var idata={},engine=this.next_engine||location;if(name){idata[name]=value}else{idata=value}return this.event_context.interpolate(content,idata,engine)},true)}})},interpolate:function(data,engine,retain){var context=this;return this.then(function(content,prev){if(!data&&prev){data=prev}if(this.next_engine){engine=this.next_engine;this.next_engine=false}var rendered=context.event_context.interpolate(content,data,engine,this.partials);return retain?prev+rendered:rendered})},swap:function(callback){return this.then(function(content){this.event_context.swap(content,callback);return content}).trigger(\"changed\",{})},appendTo:function(selector){return this.then(function(content){$(selector).append(content)}).trigger(\"changed\",{})},prependTo:function(selector){return this.then(function(content){$(selector).prepend(content)}).trigger(\"changed\",{})},replace:function(selector){return this.then(function(content){$(selector).html(content)}).trigger(\"changed\",{})},trigger:function(name,data){return this.then(function(content){if(typeof data==\"undefined\"){data={content:content}}this.event_context.trigger(name,data);return content})}});Sammy.EventContext=function(app,verb,path,params,target){this.app=app;this.verb=verb;this.path=path;this.params=new Sammy.Object(params);this.target=target};Sammy.EventContext.prototype=$.extend({},Sammy.Object.prototype,{$element:function(){return this.app.$element(_makeArray(arguments).shift())},engineFor:function(engine){var context=this,engine_match;if(_isFunction(engine)){return engine}engine=(engine||context.app.template_engine).toString();if(engine_match=engine.match(/\\.([^\\.\\?\\#]+)(\\?|$)/)){engine=engine_match[1]}if(engine&&_isFunction(context[engine])){return context[engine]}if(context.app.template_engine){return this.engineFor(context.app.template_engine)}return function(content,data){return content}},interpolate:function(content,data,engine,partials){return this.engineFor(engine).apply(this,[content,data,partials])},render:function(location,data,callback,partials){return new Sammy.RenderContext(this).render(location,data,callback,partials)},renderEach:function(location,name,data,callback){return new Sammy.RenderContext(this).renderEach(location,name,data,callback)},load:function(location,options,callback){return new Sammy.RenderContext(this).load(location,options,callback)},loadPartials:function(partials){return new Sammy.RenderContext(this).loadPartials(partials)},partial:function(location,data,callback,partials){return new Sammy.RenderContext(this).partial(location,data,callback,partials)},send:function(){var rctx=new Sammy.RenderContext(this);return rctx.send.apply(rctx,arguments)},redirect:function(){var to,args=_makeArray(arguments),current_location=this.app.getLocation(),l=args.length;if(l>1){var i=0,paths=[],pairs=[],params={},has_params=false;for(;i>> 0;\n if (typeof fun !== \"function\")\n throw new TypeError();\n\n var res = new Array(len);\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n for (var i = 0; i < len; i++)\n {\n // NOTE: Absolute correctness would demand Object.defineProperty\n // be used. But this method is fairly new, and failure is\n // possible only if Object.prototype or Array.prototype\n // has a property |i| (very unlikely), so use a less-correct\n // but more portable alternative.\n if (i in t)\n res[i] = fun.call(thisArg, t[i], i, t);\n }\n\n return res;\n };\n }\n\n var A = 'A'.charCodeAt(0),\n Z = 'Z'.charCodeAt(0);\n\n /**\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n *\n * @param {string} iban the IBAN\n * @returns {string} the prepared IBAN\n */\n function iso13616Prepare(iban) {\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0,4);\n\n return iban.split('').map(function(n){\n var code = n.charCodeAt(0);\n if (code >= A && code <= Z){\n // A = 10, B = 11, ... Z = 35\n return code - A + 10;\n } else {\n return n;\n }\n }).join('');\n }\n\n /**\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @param iban\n * @returns {number}\n */\n function iso7064Mod97_10(iban) {\n var remainder = iban,\n block;\n\n while (remainder.length > 2){\n block = remainder.slice(0, 9);\n remainder = parseInt(block, 10) % 97 + remainder.slice(block.length);\n }\n\n return parseInt(remainder, 10) % 97;\n }\n\n /**\n * Parse the BBAN structure used to configure each IBAN Specification and returns a matching regular expression.\n * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\n * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\n * are allowed in this group and the following 2-digits number tells the length of the group.\n *\n * @param {string} structure the structure to parse\n * @returns {RegExp}\n */\n function parseStructure(structure){\n // split in blocks of 3 chars\n var regex = structure.match(/(.{3})/g).map(function(block){\n\n // parse each structure block (1-char + 2-digits)\n var format,\n pattern = block.slice(0, 1),\n repeats = parseInt(block.slice(1), 10);\n\n switch (pattern){\n case \"A\": format = \"0-9A-Za-z\"; break;\n case \"B\": format = \"0-9A-Z\"; break;\n case \"C\": format = \"A-Za-z\"; break;\n case \"F\": format = \"0-9\"; break;\n case \"L\": format = \"a-z\"; break;\n case \"U\": format = \"A-Z\"; break;\n case \"W\": format = \"0-9a-z\"; break;\n }\n\n return '([' + format + ']{' + repeats + '})';\n });\n\n return new RegExp('^' + regex.join('') + '$');\n }\n\n /**\n *\n * @param iban\n * @returns {string}\n */\n function electronicFormat(iban){\n return iban.replace(NON_ALPHANUM, '').toUpperCase();\n }\n\n\n /**\n * Create a new Specification for a valid IBAN number.\n *\n * @param countryCode the code of the country\n * @param length the length of the IBAN\n * @param structure the structure of the underlying BBAN (for validation and formatting)\n * @param example an example valid IBAN\n * @constructor\n */\n function Specification(countryCode, length, structure, example){\n\n this.countryCode = countryCode;\n this.length = length;\n this.structure = structure;\n this.example = example;\n }\n\n /**\n * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\n */\n Specification.prototype._regex = function(){\n return this._cachedRegex || (this._cachedRegex = parseStructure(this.structure))\n };\n\n /**\n * Check if the passed iban is valid according to this specification.\n *\n * @param {String} iban the iban to validate\n * @returns {boolean} true if valid, false otherwise\n */\n Specification.prototype.isValid = function(iban){\n return this.length == iban.length\n && this.countryCode === iban.slice(0,2)\n && this._regex().test(iban.slice(4))\n && iso7064Mod97_10(iso13616Prepare(iban)) == 1;\n };\n\n /**\n * Convert the passed IBAN to a country-specific BBAN.\n *\n * @param iban the IBAN to convert\n * @param separator the separator to use between BBAN blocks\n * @returns {string} the BBAN\n */\n Specification.prototype.toBBAN = function(iban, separator) {\n return this._regex().exec(iban.slice(4)).slice(1).join(separator);\n };\n\n /**\n * Convert the passed BBAN to an IBAN for this country specification.\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\n *\n * @param bban the BBAN to convert to IBAN\n * @returns {string} the IBAN\n */\n Specification.prototype.fromBBAN = function(bban) {\n if (!this.isValidBBAN(bban)){\n throw new Error('Invalid BBAN');\n }\n\n var remainder = iso7064Mod97_10(iso13616Prepare(this.countryCode + '00' + bban)),\n checkDigit = ('0' + (98 - remainder)).slice(-2);\n\n return this.countryCode + checkDigit + bban;\n };\n\n /**\n * Check of the passed BBAN is valid.\n * This function only checks the format of the BBAN (length and matching the letetr/number specs) but does not\n * verify the check digit.\n *\n * @param bban the BBAN to validate\n * @returns {boolean} true if the passed bban is a valid BBAN according to this specification, false otherwise\n */\n Specification.prototype.isValidBBAN = function(bban) {\n return this.length - 4 == bban.length\n && this._regex().test(bban);\n };\n\n var countries = {};\n\n function addSpecification(IBAN){\n countries[IBAN.countryCode] = IBAN;\n }\n\n addSpecification(new Specification(\"AD\", 24, \"F04F04A12\", \"AD1200012030200359100100\"));\n addSpecification(new Specification(\"AE\", 23, \"F03F16\", \"AE070331234567890123456\"));\n addSpecification(new Specification(\"AL\", 28, \"F08A16\", \"AL47212110090000000235698741\"));\n addSpecification(new Specification(\"AT\", 20, \"F05F11\", \"AT611904300234573201\"));\n addSpecification(new Specification(\"AZ\", 28, \"U04A20\", \"AZ21NABZ00000000137010001944\"));\n addSpecification(new Specification(\"BA\", 20, \"F03F03F08F02\", \"BA391290079401028494\"));\n addSpecification(new Specification(\"BE\", 16, \"F03F07F02\", \"BE68539007547034\"));\n addSpecification(new Specification(\"BG\", 22, \"U04F04F02A08\", \"BG80BNBG96611020345678\"));\n addSpecification(new Specification(\"BH\", 22, \"U04A14\", \"BH67BMAG00001299123456\"));\n addSpecification(new Specification(\"BR\", 29, \"F08F05F10U01A01\", \"BR9700360305000010009795493P1\"));\n addSpecification(new Specification(\"BY\", 28, \"A04F04A16\", \"BY13NBRB3600900000002Z00AB00\"));\n addSpecification(new Specification(\"CH\", 21, \"F05A12\", \"CH9300762011623852957\"));\n addSpecification(new Specification(\"CR\", 22, \"F04F14\", \"CR72012300000171549015\"));\n addSpecification(new Specification(\"CY\", 28, \"F03F05A16\", \"CY17002001280000001200527600\"));\n addSpecification(new Specification(\"CZ\", 24, \"F04F06F10\", \"CZ6508000000192000145399\"));\n addSpecification(new Specification(\"DE\", 22, \"F08F10\", \"DE89370400440532013000\"));\n addSpecification(new Specification(\"DK\", 18, \"F04F09F01\", \"DK5000400440116243\"));\n addSpecification(new Specification(\"DO\", 28, \"U04F20\", \"DO28BAGR00000001212453611324\"));\n addSpecification(new Specification(\"EE\", 20, \"F02F02F11F01\", \"EE382200221020145685\"));\n addSpecification(new Specification(\"EG\", 29, \"F04F04F17\", \"EG800002000156789012345180002\"));\n addSpecification(new Specification(\"ES\", 24, \"F04F04F01F01F10\", \"ES9121000418450200051332\"));\n addSpecification(new Specification(\"FI\", 18, \"F06F07F01\", \"FI2112345600000785\"));\n addSpecification(new Specification(\"FO\", 18, \"F04F09F01\", \"FO6264600001631634\"));\n addSpecification(new Specification(\"FR\", 27, \"F05F05A11F02\", \"FR1420041010050500013M02606\"));\n addSpecification(new Specification(\"GB\", 22, \"U04F06F08\", \"GB29NWBK60161331926819\"));\n addSpecification(new Specification(\"GE\", 22, \"U02F16\", \"GE29NB0000000101904917\"));\n addSpecification(new Specification(\"GI\", 23, \"U04A15\", \"GI75NWBK000000007099453\"));\n addSpecification(new Specification(\"GL\", 18, \"F04F09F01\", \"GL8964710001000206\"));\n addSpecification(new Specification(\"GR\", 27, \"F03F04A16\", \"GR1601101250000000012300695\"));\n addSpecification(new Specification(\"GT\", 28, \"A04A20\", \"GT82TRAJ01020000001210029690\"));\n addSpecification(new Specification(\"HR\", 21, \"F07F10\", \"HR1210010051863000160\"));\n addSpecification(new Specification(\"HU\", 28, \"F03F04F01F15F01\", \"HU42117730161111101800000000\"));\n addSpecification(new Specification(\"IE\", 22, \"U04F06F08\", \"IE29AIBK93115212345678\"));\n addSpecification(new Specification(\"IL\", 23, \"F03F03F13\", \"IL620108000000099999999\"));\n addSpecification(new Specification(\"IS\", 26, \"F04F02F06F10\", \"IS140159260076545510730339\"));\n addSpecification(new Specification(\"IT\", 27, \"U01F05F05A12\", \"IT60X0542811101000000123456\"));\n addSpecification(new Specification(\"IQ\", 23, \"U04F03A12\", \"IQ98NBIQ850123456789012\"));\n addSpecification(new Specification(\"JO\", 30, \"A04F22\", \"JO15AAAA1234567890123456789012\"));\n addSpecification(new Specification(\"KW\", 30, \"U04A22\", \"KW81CBKU0000000000001234560101\"));\n addSpecification(new Specification(\"KZ\", 20, \"F03A13\", \"KZ86125KZT5004100100\"));\n addSpecification(new Specification(\"LB\", 28, \"F04A20\", \"LB62099900000001001901229114\"));\n addSpecification(new Specification(\"LC\", 32, \"U04F24\", \"LC07HEMM000100010012001200013015\"));\n addSpecification(new Specification(\"LI\", 21, \"F05A12\", \"LI21088100002324013AA\"));\n addSpecification(new Specification(\"LT\", 20, \"F05F11\", \"LT121000011101001000\"));\n addSpecification(new Specification(\"LU\", 20, \"F03A13\", \"LU280019400644750000\"));\n addSpecification(new Specification(\"LV\", 21, \"U04A13\", \"LV80BANK0000435195001\"));\n addSpecification(new Specification(\"MC\", 27, \"F05F05A11F02\", \"MC5811222000010123456789030\"));\n addSpecification(new Specification(\"MD\", 24, \"U02A18\", \"MD24AG000225100013104168\"));\n addSpecification(new Specification(\"ME\", 22, \"F03F13F02\", \"ME25505000012345678951\"));\n addSpecification(new Specification(\"MK\", 19, \"F03A10F02\", \"MK07250120000058984\"));\n addSpecification(new Specification(\"MR\", 27, \"F05F05F11F02\", \"MR1300020001010000123456753\"));\n addSpecification(new Specification(\"MT\", 31, \"U04F05A18\", \"MT84MALT011000012345MTLCAST001S\"));\n addSpecification(new Specification(\"MU\", 30, \"U04F02F02F12F03U03\", \"MU17BOMM0101101030300200000MUR\"));\n addSpecification(new Specification(\"NL\", 18, \"U04F10\", \"NL91ABNA0417164300\"));\n addSpecification(new Specification(\"NO\", 15, \"F04F06F01\", \"NO9386011117947\"));\n addSpecification(new Specification(\"PK\", 24, \"U04A16\", \"PK36SCBL0000001123456702\"));\n addSpecification(new Specification(\"PL\", 28, \"F08F16\", \"PL61109010140000071219812874\"));\n addSpecification(new Specification(\"PS\", 29, \"U04A21\", \"PS92PALS000000000400123456702\"));\n addSpecification(new Specification(\"PT\", 25, \"F04F04F11F02\", \"PT50000201231234567890154\"));\n addSpecification(new Specification(\"QA\", 29, \"U04A21\", \"QA30AAAA123456789012345678901\"));\n addSpecification(new Specification(\"RO\", 24, \"U04A16\", \"RO49AAAA1B31007593840000\"));\n addSpecification(new Specification(\"RS\", 22, \"F03F13F02\", \"RS35260005601001611379\"));\n addSpecification(new Specification(\"SA\", 24, \"F02A18\", \"SA0380000000608010167519\"));\n addSpecification(new Specification(\"SC\", 31, \"U04F04F16U03\", \"SC18SSCB11010000000000001497USD\"));\n addSpecification(new Specification(\"SE\", 24, \"F03F16F01\", \"SE4550000000058398257466\"));\n addSpecification(new Specification(\"SI\", 19, \"F05F08F02\", \"SI56263300012039086\"));\n addSpecification(new Specification(\"SK\", 24, \"F04F06F10\", \"SK3112000000198742637541\"));\n addSpecification(new Specification(\"SM\", 27, \"U01F05F05A12\", \"SM86U0322509800000000270100\"));\n addSpecification(new Specification(\"ST\", 25, \"F08F11F02\", \"ST68000100010051845310112\"));\n addSpecification(new Specification(\"SV\", 28, \"U04F20\", \"SV62CENR00000000000000700025\"));\n addSpecification(new Specification(\"TL\", 23, \"F03F14F02\", \"TL380080012345678910157\"));\n addSpecification(new Specification(\"TN\", 24, \"F02F03F13F02\", \"TN5910006035183598478831\"));\n addSpecification(new Specification(\"TR\", 26, \"F05F01A16\", \"TR330006100519786457841326\"));\n addSpecification(new Specification(\"UA\", 29, \"F25\", \"UA511234567890123456789012345\"));\n addSpecification(new Specification(\"VA\", 22, \"F18\", \"VA59001123000012345678\"));\n addSpecification(new Specification(\"VG\", 24, \"U04F16\", \"VG96VPVG0000012345678901\"));\n addSpecification(new Specification(\"XK\", 20, \"F04F10F02\", \"XK051212012345678906\"));\n\n\n // The following countries are not included in the official IBAN registry but use the IBAN specification\n\n // Angola\n addSpecification(new Specification(\"AO\", 25, \"F21\", \"AO69123456789012345678901\"));\n // Burkina\n addSpecification(new Specification(\"BF\", 27, \"F23\", \"BF2312345678901234567890123\"));\n // Burundi\n addSpecification(new Specification(\"BI\", 16, \"F12\", \"BI41123456789012\"));\n // Benin\n addSpecification(new Specification(\"BJ\", 28, \"F24\", \"BJ39123456789012345678901234\"));\n // Ivory\n addSpecification(new Specification(\"CI\", 28, \"U02F22\", \"CI70CI1234567890123456789012\"));\n // Cameron\n addSpecification(new Specification(\"CM\", 27, \"F23\", \"CM9012345678901234567890123\"));\n // Cape Verde\n addSpecification(new Specification(\"CV\", 25, \"F21\", \"CV30123456789012345678901\"));\n // Algeria\n addSpecification(new Specification(\"DZ\", 24, \"F20\", \"DZ8612345678901234567890\"));\n // Iran\n addSpecification(new Specification(\"IR\", 26, \"F22\", \"IR861234568790123456789012\"));\n // Madagascar\n addSpecification(new Specification(\"MG\", 27, \"F23\", \"MG1812345678901234567890123\"));\n // Mali\n addSpecification(new Specification(\"ML\", 28, \"U01F23\", \"ML15A12345678901234567890123\"));\n // Mozambique\n addSpecification(new Specification(\"MZ\", 25, \"F21\", \"MZ25123456789012345678901\"));\n // Senegal\n addSpecification(new Specification(\"SN\", 28, \"U01F23\", \"SN52A12345678901234567890123\"));\n\n // The following are regional and administrative French Republic subdivision IBAN specification (same structure as FR, only country code vary)\n addSpecification(new Specification(\"GF\", 27, \"F05F05A11F02\", \"GF121234512345123456789AB13\"));\n addSpecification(new Specification(\"GP\", 27, \"F05F05A11F02\", \"GP791234512345123456789AB13\"));\n addSpecification(new Specification(\"MQ\", 27, \"F05F05A11F02\", \"MQ221234512345123456789AB13\"));\n addSpecification(new Specification(\"RE\", 27, \"F05F05A11F02\", \"RE131234512345123456789AB13\"));\n addSpecification(new Specification(\"PF\", 27, \"F05F05A11F02\", \"PF281234512345123456789AB13\"));\n addSpecification(new Specification(\"TF\", 27, \"F05F05A11F02\", \"TF891234512345123456789AB13\"));\n addSpecification(new Specification(\"YT\", 27, \"F05F05A11F02\", \"YT021234512345123456789AB13\"));\n addSpecification(new Specification(\"NC\", 27, \"F05F05A11F02\", \"NC551234512345123456789AB13\"));\n addSpecification(new Specification(\"BL\", 27, \"F05F05A11F02\", \"BL391234512345123456789AB13\"));\n addSpecification(new Specification(\"MF\", 27, \"F05F05A11F02\", \"MF551234512345123456789AB13\"));\n addSpecification(new Specification(\"PM\", 27, \"F05F05A11F02\", \"PM071234512345123456789AB13\"));\n addSpecification(new Specification(\"WF\", 27, \"F05F05A11F02\", \"WF621234512345123456789AB13\"));\n\n var NON_ALPHANUM = /[^a-zA-Z0-9]/g,\n EVERY_FOUR_CHARS =/(.{4})(?!$)/g;\n\n /**\n * Utility function to check if a variable is a String.\n *\n * @param v\n * @returns {boolean} true if the passed variable is a String, false otherwise.\n */\n function isString(v){\n return (typeof v == 'string' || v instanceof String);\n }\n\n /**\n * Check if an IBAN is valid.\n *\n * @param {String} iban the IBAN to validate.\n * @returns {boolean} true if the passed IBAN is valid, false otherwise\n */\n exports.isValid = function(iban){\n if (!isString(iban)){\n return false;\n }\n iban = electronicFormat(iban);\n var countryStructure = countries[iban.slice(0,2)];\n return !!countryStructure && countryStructure.isValid(iban);\n };\n\n /**\n * Convert an IBAN to a BBAN.\n *\n * @param iban\n * @param {String} [separator] the separator to use between the blocks of the BBAN, defaults to ' '\n * @returns {string|*}\n */\n exports.toBBAN = function(iban, separator){\n if (typeof separator == 'undefined'){\n separator = ' ';\n }\n iban = electronicFormat(iban);\n var countryStructure = countries[iban.slice(0,2)];\n if (!countryStructure) {\n throw new Error('No country with code ' + iban.slice(0,2));\n }\n return countryStructure.toBBAN(iban, separator);\n };\n\n /**\n * Convert the passed BBAN to an IBAN for this country specification.\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\n *\n * @param countryCode the country of the BBAN\n * @param bban the BBAN to convert to IBAN\n * @returns {string} the IBAN\n */\n exports.fromBBAN = function(countryCode, bban){\n var countryStructure = countries[countryCode];\n if (!countryStructure) {\n throw new Error('No country with code ' + countryCode);\n }\n return countryStructure.fromBBAN(electronicFormat(bban));\n };\n\n /**\n * Check the validity of the passed BBAN.\n *\n * @param countryCode the country of the BBAN\n * @param bban the BBAN to check the validity of\n */\n exports.isValidBBAN = function(countryCode, bban){\n if (!isString(bban)){\n return false;\n }\n var countryStructure = countries[countryCode];\n return countryStructure && countryStructure.isValidBBAN(electronicFormat(bban));\n };\n\n /**\n *\n * @param iban\n * @param separator\n * @returns {string}\n */\n exports.printFormat = function(iban, separator){\n if (typeof separator == 'undefined'){\n separator = ' ';\n }\n return electronicFormat(iban).replace(EVERY_FOUR_CHARS, \"$1\" + separator);\n };\n\n exports.electronicFormat = electronicFormat;\n /**\n * An object containing all the known IBAN specifications.\n */\n exports.countries = countries;\n\n}));\n","/*! lazysizes - v5.2.2 */\n\n!function(e){var t=function(u,D,f){\"use strict\";var k,H;if(function(){var e;var t={lazyClass:\"lazyload\",loadedClass:\"lazyloaded\",loadingClass:\"lazyloading\",preloadClass:\"lazypreload\",errorClass:\"lazyerror\",autosizesClass:\"lazyautosizes\",srcAttr:\"data-src\",srcsetAttr:\"data-srcset\",sizesAttr:\"data-sizes\",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P=\"addEventListener\",$=\"getAttribute\",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=[\"load\",\"error\",\"lazyincluded\",\"_lazyloaded\"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\")}return i[t].test(e[$](\"class\")||\"\")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute(\"class\",(e[$](\"class\")||\"\").trim()+\" \"+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute(\"class\",(e[$](\"class\")||\"\").replace(i,\" \"))}},V=function(t,i,e){var a=e?P:\"removeEventListener\";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent(\"Event\");if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$](\"srcset\")){e.setAttribute(\"srcset\",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e0;if(r&&Z(a,\"overflow\")!=\"visible\"){i=a.getBoundingClientRect();r=C>i.left&&pi.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!=\"auto\"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,\"lazyloaded\")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$](\"data-media\")||e[$](\"media\")]){e.setAttribute(\"media\",t)}if(i){e.setAttribute(\"srcset\",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,\"lazybeforeunveil\",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute(\"sizes\",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||\"\")}f=e.firesLoad||\"src\"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName(\"source\"),F)}if(s){t.setAttribute(\"srcset\",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,\"ls-is-cached\")}B(u);t._lazyCache=true;I(function(){if(\"_lazyCache\"in t){delete t._lazyCache}},9)}if(t.loading==\"lazy\"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$](\"sizes\"));var r=a==\"auto\";if((r||!m)&&i&&(e[$](\"src\")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,\"lazyunveilread\").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q(\"scroll\",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+\" \"+H.preloadClass);q(\"scroll\",i,true);q(\"resize\",i,true);q(\"pageshow\",function(e){if(e.persisted){var t=D.querySelectorAll(\".\"+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P](\"DOMNodeInserted\",i,true);O[P](\"DOMAttrModified\",i,true);setInterval(i,999)}q(\"hashchange\",i,true);[\"focus\",\"mouseover\",\"click\",\"load\",\"transitionend\",\"animationend\"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q(\"load\",o);D[P](\"DOMContentLoaded\",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+=\"px\";e.setAttribute(\"sizes\",a);if(j.test(t.nodeName||\"\")){r=t.getElementsByTagName(\"source\");for(n=0,s=r.length;n\"\r\n + \"\"\r\n + \"
\"\r\n + alert.message\r\n + \"
\"\r\n + \" \";\r\n alertElement = $(templateWithCloseButton);\r\n } else {\r\n var template =\r\n \"
\"\r\n + \"
\"\r\n + alert.message\r\n + \"
\"\r\n + \"
\";\r\n alertElement = $(template);\r\n window.setTimeout(function () {\r\n alertElement.remove();\r\n }, 6000);\r\n }\r\n $(\".alert-container\").append(alertElement);\r\n alertElement.on('hidden.bs.toast', function () {\r\n if (options.onClose && typeof options.onClose === \"function\") {\r\n options.onClose();\r\n }\r\n alertElement.remove();\r\n });\r\n\r\n alertElement.toast('show');\r\n }\r\n\r\n function success(message, options) {\r\n showAlert({ alertClass: \"success\", message: message || $(\".alert-container\").data('default-success') }, options);\r\n }\r\n\r\n function info(message, options) {\r\n showAlert({ alertClass: \"info\", message: message }, options);\r\n }\r\n\r\n function warning(message, options) {\r\n showAlert({ alertClass: \"warning\", message: message }, options);\r\n }\r\n\r\n function error(message, options) {\r\n showAlert({ alertClass: \"error\", message: message || $(\".alert-container\").data('default-error') }, options);\r\n }\r\n\r\n var alertService = {\r\n showAlert: showAlert,\r\n success: success,\r\n info: info,\r\n warning: warning,\r\n error: error\r\n };\r\n\r\n window.alerts = alertService;\r\n})();\r\n","function emptyValAsClass(element) {\r\n var jqueryElement = $(element);\r\n if (jqueryElement.val()) {\r\n jqueryElement.removeClass('empty');\r\n } else {\r\n jqueryElement.addClass('empty');\r\n }\r\n}\r\n\r\nfunction emptyOptionSelectedAsClass(element) {\r\n var jqueryElement = $(element);\r\n if (jqueryElement.children('option:selected').text().trim().length === 0) {\r\n jqueryElement.addClass('empty');\r\n } else {\r\n jqueryElement.removeClass('empty');\r\n }\r\n}\r\n\r\nfunction overrideValueProperty(element) {\r\n if (element.hasOwnProperty('value')) {\r\n return;\r\n }\r\n var realValueProperty = Object.getOwnPropertyDescriptor(element.__proto__, 'value');\r\n Object.defineProperty(element, \"value\", {\r\n get: function() {\r\n return realValueProperty.get.call(element);\r\n },\r\n set: function(newValue) {\r\n realValueProperty.set.call(element, newValue);\r\n $(element).trigger('valueChanged');\r\n }\r\n });\r\n}\r\n\r\nfunction overrideSelectedIndexProperty(element) {\r\n if (element.hasOwnProperty('selectedIndex')) {\r\n return;\r\n }\r\n var realSelectedIndexProperty = Object.getOwnPropertyDescriptor(element.__proto__, 'selectedIndex');\r\n Object.defineProperty(element, \"selectedIndex\", {\r\n get: function() {\r\n return realSelectedIndexProperty.get.call(element);\r\n },\r\n set: function(newValue) {\r\n realSelectedIndexProperty.set.call(element, newValue);\r\n $(element).trigger('selectedIndexChanged');\r\n }\r\n });\r\n}\r\n\r\nfunction applyEmptyValAsClass(element) {\r\n emptyValAsClass(element);\r\n overrideValueProperty(element);\r\n $(element).on('input propertychange valueChanged', function() {\r\n emptyValAsClass(element);\r\n });\r\n}\r\n\r\nfunction applyEmptyOptionSelectedAsClass(element) {\r\n emptyOptionSelectedAsClass(element);\r\n overrideSelectedIndexProperty(element);\r\n $(element).on('change selectedIndexChanged', function() {\r\n emptyOptionSelectedAsClass(element);\r\n });\r\n}\r\n\r\n$(function() {\r\n if(typeof ko !== 'undefined') {\r\n ko.bindingHandlers.emptyStateAsClass = {\r\n init: function (element) {\r\n var elementType = element.nodeName.toLowerCase();\r\n if (elementType === 'input' || elementType === 'textarea') {\r\n applyEmptyValAsClass(element);\r\n } else if (elementType === 'select') {\r\n applyEmptyOptionSelectedAsClass(element);\r\n }\r\n }\r\n };\r\n }\r\n var relevantInputsAndTextareas = $('.form-label-group input')\r\n .not('[type=hidden]')\r\n .not('[type=radio]')\r\n .not('[type=checkbox]')\r\n .not('[type=submit]')\r\n .not('[type=button]')\r\n .not('[type=file]')\r\n .add('.form-label-group textarea');\r\n relevantInputsAndTextareas.each(function(index, element) {\r\n applyEmptyValAsClass(element);\r\n });\r\n $('.form-label-group select').each(function(index, element) {\r\n applyEmptyOptionSelectedAsClass(element);\r\n });\r\n});\r\n","var shop = shop || {};\r\nshop.models = {};\r\n\r\nfunction NewsletterModel() {\r\n var self = this;\r\n\r\n self.Email = ko.observable();\r\n self.FirstName = ko.observable();\r\n self.LastName = ko.observable();\r\n self.SalutationId = ko.observable();\r\n self.TitleId = ko.observable();\r\n self.UserHasNewsletter = ko.observable();\r\n self.GoogleRecaptchaCode = ko.observable();\r\n\r\n self.Saved = ko.observable(false);\r\n self.Loading = ko.observable(false);\r\n\r\n self.Errors = ko.observableArray();\r\n}\r\n\r\nfunction ContactModel() {\r\n var self = this;\r\n\r\n self.SalutationId = ko.observable();\r\n self.TitleId = ko.observable();\r\n self.Firstname = ko.observable().extend({required: true});\r\n self.Lastname = ko.observable().extend({required: true});\r\n self.Company = ko.observable();\r\n self.Email = ko.observable().extend({required: true, email: true});\r\n self.Street = ko.observable().extend({required: true});\r\n self.ZipCode = ko.observable().extend({required: true});\r\n self.Country = ko.observable().extend({required: true});\r\n self.City = ko.observable().extend({required: true});\r\n self.Phone = ko.observable().extend({required: true});\r\n self.Fax = ko.observable();\r\n self.Request = ko.observable().extend({required: true});\r\n self.GoogleRecaptchaCode = ko.observable();\r\n\r\n self.SendingRequest = ko.observable(false);\r\n self.Errors = ko.observableArray();\r\n\r\n //subData\r\n self.FirstNameHasError = ko.observable(false);\r\n self.LastNameHasError = ko.observable(false);\r\n self.PhoneHasError = ko.observable(false);\r\n self.FaxHasError = ko.observable(false);\r\n self.EmailHasError = ko.observable(false);\r\n self.StreetHasError = ko.observable(false);\r\n self.CityHasError = ko.observable(false);\r\n self.ZipCodeHasError = ko.observable(false);\r\n self.CountryHasError = ko.observable(false);\r\n\r\n //computed\r\n self.FirstNameProxy = ko.computed({\r\n read: function () {\r\n return self.Firstname();\r\n },\r\n write: function (newFirstName) {\r\n if (newFirstName.length <= 35) {\r\n self.Firstname(newFirstName);\r\n self.FirstNameHasError(false);\r\n } else {\r\n self.FirstNameHasError(true);\r\n self.FirstNameProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.LastNameProxy = ko.computed({\r\n read: function () {\r\n return self.Lastname();\r\n },\r\n write: function (newLastName) {\r\n if (newLastName.length <= 35) {\r\n self.Lastname(newLastName);\r\n self.LastNameHasError(false);\r\n } else {\r\n self.LastNameHasError(true);\r\n self.LastNameProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.PhoneProxy = ko.computed({\r\n read: function () {\r\n return self.Phone();\r\n },\r\n write: function (newPhone) {\r\n if (newPhone.length <= 19) {\r\n self.Phone(newPhone);\r\n self.PhoneHasError(false);\r\n } else {\r\n self.PhoneHasError(true);\r\n self.PhoneProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.FaxProxy = ko.computed({\r\n read: function () {\r\n return self.Fax();\r\n },\r\n write: function (newFax) {\r\n if (newFax.length <= 15) {\r\n self.Fax(newFax);\r\n self.FaxHasError(false);\r\n } else {\r\n self.FaxHasError(true);\r\n self.FaxProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.EmailProxy = ko.computed({\r\n read: function () {\r\n return self.Email();\r\n },\r\n write: function (newEmail) {\r\n if (newEmail.length <= 50) {\r\n self.Email(newEmail);\r\n self.EmailHasError(false);\r\n } else {\r\n self.EmailHasError(true);\r\n self.EmailProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.StreetProxy = ko.computed({\r\n read: function () {\r\n return self.Street();\r\n },\r\n write: function (newStreet) {\r\n if (newStreet.length <= 35) {\r\n self.Street(newStreet);\r\n self.StreetHasError(false);\r\n } else {\r\n self.StreetHasError(true);\r\n self.StreetProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.CityProxy = ko.computed({\r\n read: function () {\r\n return self.City();\r\n },\r\n write: function (newCity) {\r\n if (newCity.length <= 30) {\r\n self.City(newCity);\r\n self.CityHasError(false);\r\n } else {\r\n self.CityHasError(true);\r\n self.CityProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n self.ZipCodeProxy = ko.computed({\r\n read: function () {\r\n return self.ZipCode();\r\n },\r\n write: function (newZipCode) {\r\n if (newZipCode.length <= 9) {\r\n self.ZipCode(newZipCode);\r\n self.ZipCodeHasError(false);\r\n } else {\r\n self.ZipCodeHasError(true);\r\n self.ZipCodeProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: self\r\n });\r\n\r\n //functions\r\n self.PopulateContactModel = function (jsonData) {\r\n if (jsonData) {\r\n self.Country(jsonData.Country);\r\n self.Company(jsonData.Company);\r\n self.Firstname(jsonData.FirstName);\r\n self.Lastname(jsonData.LastName);\r\n self.Street(jsonData.Street);\r\n self.ZipCode(jsonData.ZipCode);\r\n self.City(jsonData.City);\r\n self.Phone(jsonData.Phone);\r\n self.Email(jsonData.Email);\r\n self.Fax(jsonData.Fax);\r\n self.SalutationId(jsonData.SalutationId);\r\n }\r\n };\r\n\r\n self.IsValid = function () {\r\n var valid = true;\r\n var models = [\r\n self.Firstname,\r\n self.Lastname,\r\n self.Street,\r\n self.ZipCode,\r\n self.City,\r\n self.Phone,\r\n self.Email,\r\n self.Request,\r\n self.Country\r\n ];\r\n\r\n for (var i = 0; i < models.length; i++) {\r\n models[i].validate(models[i]());\r\n if (models[i].hasError()) {\r\n valid = false;\r\n }\r\n }\r\n return valid;\r\n };\r\n}\r\n\r\nvar AccessPointModel = function () {\r\n var that = this;\r\n\r\n that.Descriptor = \"shop.ordermodels.AccessPointModel\";\r\n //baseData\r\n that.ConsigneeName = ko.observable('');\r\n that.APName = ko.observable().extend({required: true});\r\n that.APDetails = ko.observable('');\r\n that.APStreet = ko.observable('');\r\n that.APZip = ko.observable('');\r\n that.APCity = ko.observable('');\r\n that.APCountry = ko.observable('');\r\n that.APCountryId = ko.observable('');\r\n that.ConsigneeEmail = ko.observable('');\r\n that.ConsigneeMobile = ko.observable('');\r\n that.APCountryCode = ko.observable('');\r\n that.APID = ko.observable('');\r\n that.ConsigneeCountryCode = ko.observable('');\r\n that.ConsigneeStreet = ko.observable('');\r\n that.ConsigneeCity = ko.observable('');\r\n that.ConsigneePhoneNumber = ko.observable('');\r\n\r\n};\r\n\r\nvar AddressModel = function (pageModelHndl) {\r\n var that = this;\r\n\r\n that.Descriptor = \"shop.models.AddressModel\";\r\n //baseData\r\n that.AddressId = ko.observable(undefined);\r\n that.CountryId = ko.observable().extend({required: true});\r\n that.Country = ko.observable('');\r\n that.StateProvinceCode = ko.observable('').extend({\r\n required: {\r\n params: true,\r\n onlyIf: function() {\r\n return countryHasStateProvinceCode(that.CountryId());\r\n }\r\n }\r\n });\r\n that.SalutationId = ko.observable();\r\n that.Salutation = ko.observable('');\r\n that.Company = ko.observable('');\r\n that.FirstName = ko.observable('').extend({required: true});\r\n that.LastName = ko.observable('').extend({required: true});\r\n that.Street = ko.observable('').extend({required: true});\r\n that.ZipCode = ko.observable('').extend({required: true});\r\n that.City = ko.observable('').extend({required: true});\r\n that.VatId = ko.observable('');\r\n that.ISO = ko.observable('');\r\n that.CMwSt = ko.observable('');\r\n that.DebitorNumber = ko.observable(0);\r\n that.Skonto = ko.observable(0);\r\n that.IsPrivateCustomerAddress = (pageModelHndl) ? ko.observable(pageModelHndl.IsPrivateCustomer) : ko.observable(false);\r\n that.Email = ko.observable('').extend({email: true});\r\n that.CommissionReceiverId = ko.observable();\r\n that.CommissionReceiver = ko.observable('');\r\n that.IsCountryUSA = ko.observable(false);\r\n that.PhoneNumber = ko.observable(\"\");\r\n\r\n //subData\r\n that.Cities = ko.observableArray([]);\r\n that.CreditData = ko.observable();\r\n\r\n that.EditMode = ko.observable(false);\r\n\r\n that.AdditionalAddressInformation = ko.observable(new AdditionalAddressInformationModel());\r\n\r\n //flags\r\n that.IsChangeInProgress = ko.observable(false);\r\n that.IsVatIdValid = ko.observable(true);\r\n that.IsVatIdRecommended = ko.observable(false);\r\n that.IsVatCheckInProgress = ko.observable(false);\r\n that.ShowVat = ko.observable(false);\r\n that.IsStateProvinceCodeRequired = ko.observable(false);\r\n that.FirstNameHasError = ko.observable(false);\r\n that.LastNameHasError = ko.observable(false);\r\n that.CompanyHasError = ko.observable(false);\r\n that.PhoneNumberHasError = ko.observable(false);\r\n that.StateProvinceCodeHasError = ko.observable(false);\r\n that.StreetHasError = ko.observable(false);\r\n that.CityHasError = ko.observable(false);\r\n that.ZipCodeHasError = ko.observable(false);\r\n that.EmailVisible = ko.observable(false);\r\n that.EmailHasError = ko.observable(false);\r\n that.DebitorNumberHasError = ko.observable(false);\r\n \r\n \r\n that.CountryCaption = ko.computed(function () {\r\n if (!that.CountryId()) {\r\n return constants.OptionTexts.SelectCountryOption;\r\n }\r\n }, that);\r\n that.SalutationCaption = ko.computed(function () {\r\n if (!that.SalutationId()) {\r\n return constants.OptionTexts.SelectSalutationOption;\r\n }\r\n }, that);\r\n\r\n that.FirstNameProxy = ko.computed({\r\n read: function () {\r\n return that.FirstName();\r\n },\r\n write: function (newFirstName) {\r\n if (newFirstName.length + that.LastName().length <= 35 || that.EditMode()) {\r\n that.FirstName(newFirstName);\r\n that.FirstNameHasError(false);\r\n } else {\r\n that.FirstNameHasError(true);\r\n that.FirstNameProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n that.LastNameProxy = ko.computed({\r\n read: function () {\r\n return that.LastName();\r\n },\r\n write: function (newLastName) {\r\n if (newLastName.length + that.FirstName().length <= 35 || that.EditMode()) {\r\n that.LastName(newLastName);\r\n that.LastNameHasError(false);\r\n } else {\r\n that.LastNameHasError(true);\r\n that.LastNameProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n that.CompanyProxy = ko.computed({\r\n read: function () {\r\n return that.Company();\r\n },\r\n write: function (newCompany) {\r\n if (newCompany.length <= 100 || that.EditMode()) {\r\n that.Company(newCompany);\r\n that.CompanyHasError(false);\r\n } else {\r\n that.CompanyHasError(true);\r\n that.CompanyProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n\r\n that.CompanyDisplayProxy = ko.computed({\r\n read: function () {\r\n return that.Company().length > 35 ? that.Company().substr(0, 32) + '...' : that.Company();\r\n },\r\n write: function (newCompany) {\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n\r\n that.PhoneNumberProxy = ko.computed({\r\n read: function () {\r\n return that.PhoneNumber();\r\n },\r\n write: function (newPhone) {\r\n var minLength = 1;\r\n if(that.IsCountryUSA()){\r\n minLength = 10;\r\n }\r\n if ((newPhone.length <= 19 && newPhone.length >= minLength) || that.EditMode()) {\r\n that.PhoneNumber(newPhone);\r\n that.PhoneNumberHasError(false);\r\n } else {\r\n that.PhoneNumberHasError(true);\r\n that.PhoneNumberProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n \r\n that.StreetProxy = ko.computed({\r\n read: function () {\r\n return that.Street();\r\n },\r\n write: function (newStreet) {\r\n if (newStreet.length <= 35 || that.EditMode()) {\r\n that.Street(newStreet);\r\n that.StreetHasError(false);\r\n } else {\r\n that.StreetHasError(true);\r\n that.StreetProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n \r\n that.CityProxy = ko.computed({\r\n read: function () {\r\n return that.City();\r\n },\r\n write: function (newCity) {\r\n if (newCity.length <= 30 || that.EditMode()) {\r\n that.City(newCity);\r\n that.CityHasError(false);\r\n } else {\r\n that.CityHasError(true);\r\n that.CityProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n \r\n that._ZipCodeProxy = ko.computed({\r\n read: function () {\r\n return that.ZipCode();\r\n },\r\n write: function (newZipCode) {\r\n if (newZipCode.length <= 9 || that.EditMode()) {\r\n that.ZipCode(newZipCode);\r\n that.ZipCodeHasError(false);\r\n } else {\r\n that.ZipCodeHasError(true);\r\n that._ZipCodeProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n \r\n that.StateProvinceCodeProxy = ko.computed({\r\n read: function () {\r\n return that.StateProvinceCode();\r\n },\r\n write: function (newStateProvinceCode) {\r\n if (newStateProvinceCode.length === 2 || that.EditMode()) {\r\n that.StateProvinceCode(newStateProvinceCode);\r\n that.StateProvinceCodeHasError(false);\r\n } else {\r\n that.StateProvinceCodeHasError(true);\r\n that.StateProvinceCode.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n\r\n that.EmailProxy = ko.computed({\r\n read: function () {\r\n return that.Email();\r\n },\r\n write: function (newEmail) {\r\n if (newEmail.length <= 50) {\r\n that.Email(newEmail);\r\n that.EmailHasError(false);\r\n } else {\r\n that.EmailHasError(true);\r\n that.EmailProxy.notifySubscribers();\r\n }\r\n },\r\n deferEvaluation: true,\r\n owner: that\r\n });\r\n \r\n that.DebitorNumberProxy = ko.computed({\r\n read: function () {\r\n return that.DebitorNumber();\r\n },\r\n write: function (newDebitorNumber) {\r\n if(newDebitorNumber >= 0) {\r\n that.DebitorNumber(newDebitorNumber)\r\n that.DebitorNumberHasError(false);\r\n } else {\r\n that.DebitorNumberHasError(true);\r\n that.DebitorNumber.notifySubscribers();\r\n }\r\n }\r\n });\r\n\r\n that.validate = function () {\r\n var valid = true;\r\n var models = [\r\n that.CountryId,\r\n that.FirstName,\r\n that.LastName,\r\n that.Street,\r\n that.ZipCode,\r\n that.City,\r\n that.StateProvinceCode,\r\n that.Email\r\n ];\r\n \r\n for (var i = 0; i < models.length; i++) {\r\n models[i].validate(models[i]());\r\n if (models[i].hasError()){\r\n valid = false;\r\n }\r\n }\r\n return valid;\r\n };\r\n\r\n //subscriptions\r\n that.VatId.subscribe(function (val) {\r\n if (val.length === 0) {\r\n that.IsVatIdValid(true);\r\n that.IsVatCheckInProgress(false);\r\n return;\r\n }\r\n\r\n var regexEuVatIds = /^(^$|(AT)U[0-9]{8}|(BE)0[0-9]{9}|(BG)[0-9]{9,10}|(CY)[0-9]{8}L|(CZ)[0-9]{8,10}|(DE)[0-9]{9}|(DK)[0-9]{8}|(EE)[0-9]{9}|(EL|GR)[0-9]{9}|(ES)[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)[0-9]{8}|(FR)[0-9A-Z]{2}[0-9]{9}|(GB)([0-9]{9}([0-9]{3})?|[A-Z]{2}[0-9]{3})|(HU)[0-9]{8}|(IE)[0-9]S[0-9]{5}L|(IT)[0-9]{11}|(LT)([0-9]{9}|[0-9]{12})|(LU)[0-9]{8}|(LV)[0-9]{11}|(MT)[0-9]{8}|(NL)[0-9]{9}B[0-9]{2}|(PL)[0-9]{10}|(PT)[0-9]{9}|(RO)[0-9]{2,10}|(SE)[0-9]{12}|(SI)[0-9]{8}|(SK)[0-9]{10})$/;\r\n if (regexEuVatIds.test(val)) {\r\n $.ajax({\r\n type: \"POST\",\r\n url: ajaxUrls.order.CheckVat,\r\n data: {vat: val}\r\n }).always(function (erg) {\r\n that.IsVatIdValid(erg.valid);\r\n that.IsVatCheckInProgress(false);\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n } else {\r\n that.IsVatIdValid(false);\r\n that.IsVatCheckInProgress(false);\r\n }\r\n }, this);\r\n\r\n that.CountryId.subscribe(function (val) {\r\n if (pageModelHndl && pageModelHndl.Countries) {\r\n var filterRequest = pageModelHndl.Countries().filter(function (country) {\r\n return country.CountryId() == val;\r\n });\r\n if (filterRequest[0]) {\r\n that.ISO(filterRequest[0].ISO());\r\n that.Country(filterRequest[0].CountryName());\r\n that.ShowVat(filterRequest[0].ISO() != pageModelHndl.DefaultCountryISO() && filterRequest[0].IsEU());\r\n that.IsStateProvinceCodeRequired(countryHasStateProvinceCode(filterRequest[0].CountryId()));\r\n that.IsCountryUSA(filterRequest[0].CountryId() === constants.countryIds.UnitedStates);\r\n }\r\n }\r\n }, that);\r\n\r\n that.SalutationId.subscribe(function (val) {\r\n if (pageModelHndl && pageModelHndl.Salutations) {\r\n var filterRequest = pageModelHndl.Salutations().filter(function (salutation) {\r\n return salutation.CountryId() == val;\r\n });\r\n if (filterRequest[0]) {\r\n that.Salutation(filterRequest[0].CountryName());\r\n }\r\n } else {\r\n that.Salutation($(\"#CustomAddressSalutation option:selected\").text());\r\n }\r\n }, that);\r\n\r\n that.CommissionReceiverId.subscribe(function (val) {\r\n if (pageModelHndl && pageModelHndl.CommissionReceivers) {\r\n var filterRequest = pageModelHndl.CommissionReceivers().filter(function (commissionreceiver) {\r\n return commissionreceiver.CommissionReceiverId === val;\r\n });\r\n if (filterRequest[0]) {\r\n that.CommissionReceiver(filterRequest[0].CommissionReceiverName());\r\n }\r\n } else {\r\n that.CommissionReceiver($('#CustomCommissionReceiver option:selected').text());\r\n }\r\n }, that);\r\n\r\n //functions\r\n that.PopulateAddressModel = function (address) {\r\n if (address) {\r\n that.AddressId(address.AddressId);\r\n that.IsPrivateCustomerAddress(address.IsPrivateCustomerAddress);\r\n that.SalutationId(address.SalutationId);\r\n that.CountryId(address.CountryId);\r\n that.Country(address.Country);\r\n that.StateProvinceCode(address.StateProvinceCode);\r\n that.CommissionReceiverId(address.CommissionReceiverId);\r\n\r\n that.ZipCode(address.ZipCode ? address.ZipCode : '');\r\n that.Country(address.Country ? address.Country : '');\r\n that.PhoneNumber(address.PhoneNumber ? address.PhoneNumber : '');\r\n\r\n\r\n that.AdditionalAddressInformation(new AdditionalAddressInformationModel());\r\n that.AdditionalAddressInformation().Populate(address);\r\n\r\n that.Skonto(address.Skonto);\r\n\r\n if (address.Salutation) {\r\n that.Salutation(address.Salutation);\r\n } else {\r\n that.Salutation('');\r\n }\r\n\r\n if (address.CommissionReceiver) {\r\n that.CommissionReceiver(address.CommissionReceiver);\r\n } else {\r\n that.CommissionReceiver('');\r\n }\r\n\r\n if (address.Company) {\r\n that.Company(address.Company);\r\n }\r\n\r\n if (address.FirstName) {\r\n that.FirstName(address.FirstName);\r\n }\r\n\r\n if (address.LastName) {\r\n that.LastName(address.LastName);\r\n }\r\n\r\n if (address.Street) {\r\n that.Street(address.Street);\r\n }\r\n\r\n if (address.VatId) {\r\n that.VatId(address.VatId);\r\n }\r\n\r\n if (address.City) {\r\n that.City(address.City);\r\n }\r\n\r\n if (address.CMwSt !== undefined && address.CMwSt != null) {\r\n that.CMwSt(address.CMwSt);\r\n }\r\n\r\n if (address.DebitorNumber && address.DebitorNumber > 0) {\r\n that.DebitorNumber(address.DebitorNumber);\r\n }\r\n\r\n if (address.Email) {\r\n that.Email(address.Email);\r\n }\r\n\r\n if (countryHasStateProvinceCode(address.CountryId)) {\r\n that.IsStateProvinceCodeRequired(true);\r\n \r\n if(address.CountryId === constants.countryIds.UnitedStates){\r\n that.IsCountryUSA(true);\r\n }\r\n } else {\r\n that.IsCountryUSA(false);\r\n that.IsStateProvinceCodeRequired(false);\r\n }\r\n\r\n if (address.IsEuCountry !== undefined) {\r\n that.ShowVat(address.IsEuCountry);\r\n } else {\r\n $.ajax({\r\n type: \"GET\",\r\n url: ajaxUrls.area.ajax.country.IsEuCountry,\r\n data: {id: address.CountryId}\r\n }).done(function (isEu) {\r\n that.ShowVat(isEu);\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n }\r\n }\r\n };\r\n};\r\n\r\nshop.models.AddressModel = AddressModel;\r\n\r\nvar CreditCardModel = function (pageModelHndl) {\r\n var that = this;\r\n\r\n //baseData\r\n that.CreditCardOwner = ko.observable('');\r\n that.CreditCardNumber = ko.observable('');\r\n that.CreditInstituteCode = ko.observable('');\r\n that.CreditInstituteName = ko.observable('');\r\n that.CreditIban = ko.observable('');\r\n that.CreditBic = ko.observable('');\r\n that.EditHasError = ko.observable(false);\r\n\r\n //proxy\r\n that.CreditCardNumberHasError = ko.observable(false);\r\n that.CreditCardNumberProxy = ko.computed({\r\n read: function () {\r\n return that.CreditCardNumber();\r\n },\r\n write: function (value) {\r\n that.CreditCardNumber(value);\r\n if (value.match(/^[0-9]*$|^$/)) {\r\n that.CreditCardNumberHasError(false);\r\n } else {\r\n that.CreditCardNumberHasError(true);\r\n }\r\n },\r\n deferEvaluation: false,\r\n owner: that\r\n });\r\n\r\n that.CreditInstituteCodeHasError = ko.observable(false);\r\n that.CreditInstituteCodeProxy = ko.computed({\r\n read: function () {\r\n return that.CreditInstituteCode();\r\n },\r\n write: function (value) {\r\n that.CreditInstituteCode(value);\r\n if (value.match(/^[0-9]*$|^$/)) {\r\n that.CreditInstituteCodeHasError(false);\r\n } else {\r\n that.CreditInstituteCodeHasError(true);\r\n }\r\n },\r\n deferEvaluation: false,\r\n owner: that\r\n });\r\n\r\n that.CreditIbanHasError = ko.observable(false);\r\n that.CreditIbanProxy = ko.computed({\r\n read: function () {\r\n return that.CreditIban();\r\n },\r\n write: function (value) {\r\n that.CreditIban(value);\r\n that.EditHasError(false);\r\n if (value !== \"\") {\r\n that.CreditIbanHasError(!IBAN.isValid(value));\r\n }\r\n },\r\n deferEvaluation: false,\r\n owner: that\r\n });\r\n\r\n that.CreditBicHasError = ko.observable(false);\r\n that.CreditBicProxy = ko.computed({\r\n read: function () {\r\n return that.CreditBic();\r\n },\r\n write: function (value) {\r\n that.CreditBic(value);\r\n that.EditHasError(false);\r\n if (value !== \"\") {\r\n that.CreditBicHasError(!BIC.isValid(value));\r\n }\r\n },\r\n deferEvaluation: false,\r\n owner: that\r\n });\r\n\r\n that.evaluateIban = function (e, args) {\r\n var value = args.currentTarget.value;\r\n if (value.length >= 15) {\r\n that.CreditIbanHasError(!IBAN.isValid(value));\r\n } else {\r\n that.CreditIbanHasError(true);\r\n }\r\n };\r\n\r\n that.evaluateBic = function (e, args) {\r\n var value = args.currentTarget.value;\r\n if (value.length >= 8) {\r\n that.CreditBicHasError(!BIC.isValid(value));\r\n } else {\r\n that.CreditBicHasError(true);\r\n }\r\n };\r\n\r\n //functions\r\n that.PopulateCreditCardModel = function (bankAccount) {\r\n that.CreditCardNumberHasError(false);\r\n that.CreditInstituteCodeHasError(false);\r\n that.CreditIbanHasError(false);\r\n that.CreditBicHasError(false);\r\n\r\n that.CreditCardOwner(bankAccount.AccountOwner);\r\n that.CreditCardNumber(bankAccount.AccountNumber);\r\n that.CreditInstituteCode(bankAccount.BankCode);\r\n that.CreditInstituteName(bankAccount.BankName);\r\n that.CreditIban(bankAccount.Iban);\r\n that.CreditBic(bankAccount.Bic);\r\n\r\n that.checkBankAccount();\r\n };\r\n\r\n // This must be set to \"null\" and will be changed after the \"CheckBankAccount\" ajax call.\r\n that.IsValid = ko.observable(null);\r\n that.IsIncomplete = ko.observable(false);\r\n\r\n that.validate = ko.computed(function () {\r\n // Minimum length to execute the ajax call.\r\n if (that.CreditIban().length >= 10 && that.CreditBic().length > 6) {\r\n if ($('input[name=PAYMENT]:checked').val() != 'DIRECT_DEBIT') {\r\n return true;\r\n }\r\n\r\n that.checkBankAccount();\r\n return true;\r\n }\r\n\r\n return false;\r\n }, that);\r\n\r\n that.checkBankAccount = function () {\r\n $.ajax({\r\n type: \"POST\",\r\n url: ajaxUrls.shoppingCart.CheckBankAccount,\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n data: ko.toJSON(ko.mapping.fromJS({iban: that.CreditIban(), bic: that.CreditBic()})),\r\n success: function (result) {\r\n that.IsValid(result.Success);\r\n if (result.BankOK) {\r\n that.IsIncomplete(false);\r\n } else {\r\n that.CreditInstituteName(\"\");\r\n }\r\n }\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n };\r\n};\r\n\r\nvar AddressCreditDataModel = function (pageModelHndl) {\r\n var that = this;\r\n ko.utils.extend(that, new CreditCardModel());\r\n\r\n that.AddressId = ko.observable();\r\n that.BankAccountId = ko.observable();\r\n that.CreditCardDataToEditHasError = ko.observable(false);\r\n that.CreditCardDataToEditErrorMessage = ko.observable('');\r\n\r\n that.IsSaving = ko.observable(false);\r\n\r\n that.GetBankAccountByAddressOrderReference = function (orderReference) {\r\n $.get(ajaxUrls.shoppingCart.GetBankAccountByOrderReference, {orderReference: orderReference}, function (data) {\r\n if (data.Success) {\r\n that.PopulateCreditCardModel(data.BankAccount);\r\n }\r\n that.AddressId(data.AddressId);\r\n that.BankAccountId(data.BankAccount.BankAccountId);\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n };\r\n\r\n that.GetBankAccountByAddressId = function (addressId) {\r\n $.get(ajaxUrls.shoppingCart.GetBankAccountByAddressId, {id: addressId}, function (data) {\r\n if (data.Success) {\r\n that.PopulateCreditCardModel(data.BankAccount);\r\n that.BankAccountId(data.BankAccount.BankAccountId);\r\n }\r\n that.AddressId(addressId);\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n };\r\n\r\n that.SaveCreditDataChanges = function () {\r\n var bankAccountIndicator = $(\"#BankAccountIndicator\");\r\n if (that.CreditIban() === \"\" || that.CreditBic() === \"\") {\r\n that.EditHasError(true);\r\n bankAccountIndicator\r\n .removeClass(\"ErrorIcon\")\r\n .removeClass(\"Loading\")\r\n .removeClass(\"ValidIcon\");\r\n bankAccountIndicator.show();\r\n bankAccountIndicator.css('display', 'inline-block');\r\n return false;\r\n } else {\r\n that.EditHasError(false);\r\n bankAccountIndicator\r\n .removeClass(\"ValidIcon\")\r\n .removeClass(\"ErrorIcon\")\r\n .addClass(\"Loading\");\r\n\r\n bankAccountIndicator.show();\r\n bankAccountIndicator.css('display', 'inline-block');\r\n }\r\n\r\n that.SaveBankAccount(function () {\r\n bankAccountIndicator.removeClass(\"Loading\").addClass(\"ValidIcon\");\r\n bankAccountIndicator.css('display', 'inline-block');\r\n }, function () {\r\n bankAccountIndicator.removeClass(\"Loading\").addClass(\"ErrorIcon\");\r\n bankAccountIndicator.css('display', 'inline-block');\r\n });\r\n };\r\n\r\n that.SaveBankAccount = function (successCallback, failureCallback) {\r\n that.IsSaving(true);\r\n $.post(ajaxUrls.shoppingCart.SetBankAccountForAddressId, {\r\n addressId: that.AddressId(),\r\n iban: that.CreditIban(),\r\n bic: that.CreditBic(),\r\n owner: that.CreditCardOwner()\r\n }, function (data) {\r\n that.IsSaving(false);\r\n if (data.Success) {\r\n successCallback();\r\n } else {\r\n failureCallback();\r\n }\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n };\r\n\r\n that.SaveOrderBankAccount = function (successCallback, failureCallback) {\r\n that.IsSaving(true);\r\n $.post(ajaxUrls.shoppingCart.SetBankAccountForOrder, {\r\n bankAccountId: that.BankAccountId(),\r\n iban: that.CreditIban(),\r\n bic: that.CreditBic(),\r\n owner: that.CreditCardOwner()\r\n }, function (data) {\r\n that.IsSaving(false);\r\n if (data.Success) {\r\n successCallback(that, data);\r\n } else {\r\n failureCallback(that, data);\r\n }\r\n }).fail(function () {\r\n alerts.error();\r\n });\r\n };\r\n};\r\n\r\nvar BillPayModel = function (pageModelHndl) {\r\n var that = this;\r\n that.UserAgreesToTerms = ko.observable(false);\r\n that.IsValidating = ko.observable(false);\r\n that.BirthdayHasError = ko.observable(false);\r\n that.BillPayOptionNetPrice = ko.observable(0);\r\n that.BillPayOptionGrossPrice = ko.observable(2);\r\n that.BillPayOptionVatAmount = ko.computed(function () {\r\n return that.BillPayOptionGrossPrice() - that.BillPayOptionNetPrice();\r\n });\r\n\r\n that.ValidBillPayCountries = ko.observableArray([]);\r\n\r\n that.MaxYearForBirthday = ko.computed(function () {\r\n var now = new Date();\r\n return new Date(now.getFullYear() - 18, now.getMonth(), now.getDate());\r\n });\r\n\r\n that.LegalFormCollection = ko.observableArray([]);\r\n\r\n that.FilteredLegalFormCollection = ko.computed(function () {\r\n\r\n var staticAvailableIdMap = [];\r\n var result = [];\r\n\r\n if (!pageModelHndl.IsPrivateCustomer()) {\r\n if (pageModelHndl.InvoiceAddress() !== undefined) {\r\n\r\n switch (pageModelHndl.InvoiceAddress().Country().CountryId()) {\r\n case 2: //Deutschland\r\n //ag, eg, ek, ev, freelancer, gbr, gmbh, gmbh_ig, gmbh_co_kg, kg, kgaa, ltd, ltd_co_kg, ohg, public_inst, misc_capital, misc, foundation, ug\r\n staticAvailableIdMap = [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 23];\r\n break;\r\n case 5: //Schweiz\r\n //ag, eg, einzel, e_ges, ev, freelancer, gmbh, inv_kk, kg, kgaa, k_ges, ltd, public_inst, misc_capital, misc, foundation\r\n staticAvailableIdMap = [1, 2, 3, 5, 6, 7, 9, 12, 13, 14, 15, 16, 19, 20, 21, 22];\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n ko.utils.arrayForEach(that.LegalFormCollection(), function (item) {\r\n if (staticAvailableIdMap.indexOf(item.LegalFormId) > -1) {\r\n result.push(item);\r\n }\r\n });\r\n }\r\n }\r\n return result;\r\n });\r\n\r\n that.BillPayErrors = ko.observableArray([]);\r\n\r\n //Data for hints in shoppingcart page 3\r\n that.BillPayAvailableForCountry = ko.observable(false);\r\n\r\n //Validierung für Fehleranzeige\r\n that.ValidateClient = function () {\r\n\r\n if (!that.UserAgreesToTerms()) {\r\n that.BillPayErrors.push(\"Sie müssen die AGB von BillPay akzeptieren.\");\r\n }\r\n\r\n //Validierung Firmenkunden\r\n if (!pageModelHndl.IsPrivateCustomer()) {\r\n if (that.IsHolderNameRequired()) {\r\n if (!(pageModelHndl.InvoiceAddress().AdditionalAddressInformation().HolderName())) {\r\n that.BillPayErrors.push(\"Bitte ergänzen Sie den Namen des Inhabers.\");\r\n }\r\n }\r\n\r\n if (that.IsRegisterNumberRequired()) {\r\n if (!(pageModelHndl.InvoiceAddress().AdditionalAddressInformation().RegisterNumber())) {\r\n that.BillPayErrors.push(\"Bitte ergänzen Sie die Handelsregisternummer.\");\r\n }\r\n }\r\n\r\n if (!(pageModelHndl.InvoiceAddress().Company())) {\r\n that.BillPayErrors.push(\"Bitte ergänzen Sie den Firmennamen.\");\r\n }\r\n }\r\n\r\n //Validierung Privatkunden\r\n if (pageModelHndl.IsPrivateCustomer()) {\r\n if (!pageModelHndl.InvoiceAddress().AdditionalAddressInformation()) {\r\n that.BillPayErrors.push(\"Bitte ergänzen Sie das Geburtsdatum.\");\r\n }\r\n }\r\n\r\n return (that.BillPayErrors().length === 0);\r\n };\r\n\r\n that.IsHolderNameRequired = ko.computed(function () {\r\n var staticRequireIdMap = [];\r\n\r\n if (!pageModelHndl.IsPrivateCustomer()) {\r\n if (pageModelHndl.InvoiceAddress() !== undefined) {\r\n\r\n switch (pageModelHndl.InvoiceAddress().Country().CountryId()) {\r\n case 2: //Deutschland\r\n staticRequireIdMap = [7, 8]; //freelancer, gbr\r\n break;\r\n case 5: //Schweiz\r\n staticRequireIdMap = [3, 5, 7, 15]; //einzel, e-ges, freelancer, k_ges\r\n break;\r\n default:\r\n break;\r\n }\r\n return pageModelHndl.InvoiceAddress().AdditionalAddressInformation()\r\n && (staticRequireIdMap.indexOf(pageModelHndl.InvoiceAddress().AdditionalAddressInformation().LegalFormId()) > -1);\r\n }\r\n }\r\n return false;\r\n });\r\n\r\n that.IsRegisterNumberRequired = ko.computed(function () {\r\n\r\n var staticRequireIdMap = [];\r\n\r\n if (!pageModelHndl.IsPrivateCustomer()) {\r\n if (pageModelHndl.InvoiceAddress() !== undefined) {\r\n switch (pageModelHndl.InvoiceAddress().Country().CountryId()) {\r\n case 2: //Deutschland\r\n staticRequireIdMap = [1, 4, 9, 11, 13, 17, 18, 23]; //ag, ek, gmbh, gmbh_co_kg, kg,ltd_co_kg, ohg, ug\r\n break;\r\n case 5: //Schweiz\r\n staticRequireIdMap = [1, 2, 9, 13, 14, 22]; //ag, eg, gmbh, kg, kgaa, foundation\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return pageModelHndl.InvoiceAddress().AdditionalAddressInformation()\r\n && (staticRequireIdMap.indexOf(pageModelHndl.InvoiceAddress().AdditionalAddressInformation().LegalFormId()) > -1);\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n};\r\n\r\nvar LegalFormModel = function (name, id, displayText) {\r\n var that = this;\r\n that.LegalFormName = name;\r\n that.LegalFormId = id;\r\n that.LegalFormDisplayText = displayText;\r\n};\r\n\r\nvar AdditionalAddressInformationModel = function () {\r\n var that = this;\r\n that.HolderName = ko.observable();\r\n that.RegisterNumber = ko.observable();\r\n that.Birthday = ko.observable();\r\n that.LegalFormId = ko.observable(-1);\r\n that.LongBirthdayDate = ko.observable();\r\n\r\n that.Populate = function (parentAddress) {\r\n if (parentAddress && parentAddress.AdditionalAddressInformation) {\r\n if (parentAddress.AdditionalAddressInformation.LegalForm) {\r\n that.LegalFormId(parentAddress.AdditionalAddressInformation.LegalForm.LegalFormId);\r\n }\r\n\r\n if (parentAddress.AdditionalAddressInformation.HolderName) {\r\n that.HolderName(parentAddress.AdditionalAddressInformation.HolderName);\r\n }\r\n\r\n if (parentAddress.AdditionalAddressInformation.RegisterNumber) {\r\n that.RegisterNumber(parentAddress.AdditionalAddressInformation.RegisterNumber);\r\n }\r\n\r\n if (parentAddress.AdditionalAddressInformation.LongBirthdayDate && (parentAddress.AdditionalAddressInformation.LongBirthdayDate !== -1)) {\r\n that.Birthday(new Date(parentAddress.AdditionalAddressInformation.LongBirthdayDate));\r\n that.LongBirthdayDate(parentAddress.AdditionalAddressInformation.LongBirthdayDate);\r\n }\r\n }\r\n };\r\n};\r\n","function NewsletterPageModel() {\r\n var self = this;\r\n\r\n self.NewsletterModel = ko.observable(new NewsletterModel());\r\n self.isRegistered = ko.observable(false);\r\n\r\n self.Submit = function () {\r\n self.NewsletterModel().GoogleRecaptchaCode(self.GetRecaptchaCode());\r\n var data = ko.mapping.toJSON(self.NewsletterModel);\r\n self.NewsletterModel().Loading(true);\r\n $.ajax({\r\n url: ajaxUrls.newsletter.AddUserToNewsletter,\r\n type: 'POST',\r\n data: data,\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n }).done(function (returnArr) {\r\n self.NewsletterModel().Errors.removeAll();\r\n if (!returnArr.Success) {\r\n $.each(returnArr.Errors, function (index, item) {\r\n self.NewsletterModel().Errors.push(item);\r\n });\r\n grecaptcha.reset();\r\n } else {\r\n self.NewsletterModel().Saved(true);\r\n // redirect to confirmation page\r\n window.location.pathname = ajaxUrls.newsletter.PreConfirmation;\r\n }\r\n }).fail(function () {\r\n alerts.error();\r\n grecaptcha.reset();\r\n }).always(function() {\r\n fireDataLayerEventRegister();\r\n self.NewsletterModel().Loading(false);\r\n });\r\n };\r\n\r\n self.GetRecaptchaCode = function () {\r\n return $('.g-recaptcha-response').val();\r\n };\r\n}\r\n\r\nfunction fireDataLayerEventRegister() {\r\n window.dataLayer =\r\n window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'formSubmission',\r\n 'form_name':\r\n 'Newsletter_pre_registration',\r\n });\r\n}","if ($.browser.msie) {\r\n $(\"