vendor: 4,263 bytes, lines 1-2
1/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */ 2!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*ne
vendor: 26,191 bytes, line 2
2w Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];
vendor: 4,079 bytes, lines 2-3
2e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0, 3r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;
vendor: 17,080 bytes, line 3
3if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!
vendor: 15,095 bytes, lines 3-4
3o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K); 4if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];
vendor: 19,642 bytes, line 4
4while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
vendor: 23,447 bytes, lines 4-6
4 5 6!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Handlebars=e():t.Handlebars=e()}(this,function(){return function(t){function e(s){if(r[s])return r[s].exports;var i=r[s]={exports:{},id:s,loaded:!1};return t[s].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function s(){var t=u();return t.compile=function(e,r){return c.compile(e,r,t)},t.precompile=function(e,r){return c.precompile(e,r,t)},t.AST=n.default,t.Compiler=c.Compiler,t.JavaScriptCompiler=h.default,t.Parser=o.parser,t.parse=o.parse,t}var i=r(1).default;e.__esModule=!0;var a=i(r(2)),n=i(r(21)),o=r(22),c=r(27),h=i(r(28)),l=i(r(25)),p=i(r(20)),u=a.default.create,f=s();f.create=s,p.default(f),f.Visitor=l.default,f.default=f,e.default=f,t.exports=e.default},function(t,e){"use strict";e.default=function(t){return t&&t.__esModule?t:{default:t}},e.__esModule=!0},function(t,e,r){"use strict";function s(){var t=new n.HandlebarsEnvironment;return h.extend(t,n),t.SafeString=o.default,t.Exception=c.default,t.Utils=h,t.escapeExpression=h.escapeExpression,t.VM=l,t.template=function(e){return l.template(e,t)},t}var i=r(3).default,a=r(1).default;e.__esModule=!0;var n=i(r(4)),o=a(r(18)),c=a(r(6)),h=i(r(5)),l=i(r(19)),p=a(r(20)),u=s();u.create=s,p.default(u),u.default=u,e.default=u,t.exports=e.default},function(t,e){"use strict";e.default=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e},e.__esModule=!0},function(t,e,r){"use strict";function s(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},o.registerDefaultHelpers(this),c.registerDefaultDecorators(this)}var i=r(1).default;e.__esModule=!0,e.HandlebarsEnvironment=s;var a=r(5),n=i(r(6)),o=r(7),c=r(15),h=i(r(17));e.VERSION="4.0.5";e.COMPILER_REVISION=7;e.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0"};s.prototype={constructor:s,logger:h.default,log:h.default.log,registerHelper:function(t,e){if("[object Object]"===a.toString.call(t)){if(e)throw new n.default("Arg not supported with multiple helpers");a.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if("[object Object]"===a.toString.call(t))a.extend(this.partials,t);else{if(void 0===e)throw new n.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if("[object Object]"===a.toString.call(t)){if(e)throw new n.default("Arg not supported with multiple decorators");a.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]}};var l=h.default.log;e.log=l,e.createFrame=a.createFrame,e.logger=h.default},function(t,e){"use strict";function r(t){return i[t]}function s(t){for(var e=1;e<arguments.length;e++)for(var r in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],r)&&(t[r]=arguments[e][r]);return t}e.__esModule=!0,e.extend=s,e.indexOf=function(t,e){for(var r=0,s=t.length;r<s;r++)if(t[r]===e)return r;return-1},e.escapeExpression=function(t){if("string"!=typeof t){if(t&&t.toHTML)return t.toHTML();if(null==t)return"";if(!t)return t+"";t=""+t}return n.test(t)?t.replace(a,r):t},e.isEmpty=function(t){return!t&&0!==t||!(!h(t)||0!==t.length)},e.createFrame=function(t){var e=s({},t);return e._parent=t,e},e.blockParams=function(t,e){return t.path=e,t},e.appendContextPath=function(t,e){return(t?t+".":"")+e};var i={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},a=/[&<>"'`=]/g,n=/[&<>"'`=]/,o=Object.prototype.toString;e.toString=o;var c=function(t){return"function"==typeof t};c(/x/)&&(e.isFunction=c=function(t){return"function"==typeof t&&"[object Function]"===o.call(t)}),e.isFunction=c;var h=Array.isArray||function(t){return!(!t||"object"!=typeof t)&&"[object Array]"===o.call(t)};e.isArray=h},function(t,e){"use strict";function r(t,e){var i=e&&e.loc,a=void 0,n=void 0;i&&(t+=" - "+(a=i.start.line)+":"+(n=i.start.column));for(var o=Error.prototype.constructor.call(this,t),c=0;c<s.length;c++)this[s[c]]=o[s[c]];Error.captureStackTrace&&Error.captureStackTrace(this,r),i&&(this.lineNumber=a,this.column=n)}e.__esModule=!0;var s=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=new Error,e.default=r,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.registerDefaultHelpers=function(t){i.default(t),a.default(t),n.default(t),o.default(t),c.default(t),h.default(t),l.default(t)};var i=s(r(8)),a=s(r(9)),n=s(r(10)),o=s(r(11)),c=s(r(12)),h=s(r(13)),l=s(r(14))},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerHelper("blockHelperMissing",function(e,r){var i=r.inverse,a=r.fn;if(!0===e)return a(this);if(!1===e||null==e)return i(this);if(s.isArray(e))return e.length>0?(r.ids&&(r.ids=[r.name]),t.helpers.each(e,r)):i(this);if(r.data&&r.ids){var n=s.createFrame(r.data);n.contextPath=s.appendContextPath(r.data.contextPath,r.name),r={data:n}}return a(e,r)})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var i=r(5),a=s(r(6));e.default=function(t){t.registerHelper("each",function(t,e){function r(e,r,a){h&&(h.key=e,h.index=r,h.first=0===r,h.last=!!a,l&&(h.contextPath=l+e)),c+=s(t[e],{data:h,blockParams:i.blockParams([t[e],e],[l+e,null])})}if(!e)throw new a.default("Must pass iterator to #each");var s=e.fn,n=e.inverse,o=0,c="",h=void 0,l=void 0;if(e.data&&e.ids&&(l=i.appendContextPath(e.data.contextPath,e.ids[0])+"."),i.isFunction(t)&&(t=t.call(this)),e.data&&(h=i.createFrame(e.data)),t&&"object"==typeof t)if(i.isArray(t))for(var p=t.length;o<p;o++)o in t&&r(o,o,o===t.length-1);else{var u=void 0;for(var f in t)t.hasOwnProperty(f)&&(void 0!==u&&r(u,o-1),u=f,o++);void 0!==u&&r(u,o-1,!0)}return 0===o&&(c=n(this)),c})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var i=s(r(6));e.default=function(t){t.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new i.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=e.default},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerHelper("if",function(t,e){return s.isFunction(t)&&(t=t.call(this)),!e.hash.includeZero&&!t||s.isEmpty(t)?e.inverse(this):e.fn(this)}),t.registerHelper("unless",function(e,r){return t.helpers.if.call(this,e,{fn:r.inverse,inverse:r.fn,hash:r.hash})})},t.exports=e.default},function(t,e){"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],r=arguments[arguments.length-1],s=0;s<arguments.length-1;s++)e.push(arguments[s]);var i=1;null!=r.hash.level?i=r.hash.level:r.data&&null!=r.data.level&&(i=r.data.level),e[0]=i,t.log.apply(t,e)})},t.exports=e.default},function(t,e){"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("lookup",function(t,e){return t&&t[e]})},t.exports=e.default},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerHelper("with",function(t,e){s.isFunction(t)&&(t=t.call(this));var r=e.fn;if(s.isEmpty(t))return e.inverse(this);var i=e.data;return e.data&&e.ids&&((i=s.createFrame(e.data)).contextPath=s.appendContextPath(e.data.contextPath,e.ids[0])),r(t,{data:i,blockParams:s.blockParams([t],[i&&i.contextPath])})})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.registerDefaultDecorators=function(t){i.default(t)};var i=s(r(16))},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerDecorator("inline",function(t,e,r,i){var a=t;return e.partials||(e.partials={},a=function(i,a){var n=r.partials;r.partials=s.extend({},n,e.partials);var o=t(i,a);return r.partials=n,o}),e.partials[i.args[0]]=i.fn,a})},t.exports=e.default},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if("string"==typeof t){var e=s.indexOf(i.methodMap,t.toLowerCase());t=e>=0?e:parseInt(t,10)}return t},log:function(t){if(t=i.lookupLevel(t),"undefined"!=typeof console&&i.lookupLevel(i.level)<=t){var e=i.methodMap[t];console[e]||(e="log");for(var r=arguments.length,s=Array(r>1?r-1:0),a=1;a<r;a++)s[a-1]=arguments[a];console[e].apply(console,s)}}};e.default=i,t.exports=e.default},function(t,e){"use strict";function r(t){this.string=t}e.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},e.default=r,t.exports=e.default},function(t,e,r){"use strict";function s(t,e){function r(e){function i(e){return""+t.main(s,e,s.helpers,s.partials,o,h,c)}var a=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],o=a.data;r._setup(a),!a.partial&&t.useData&&(o=function(t,e){e&&"root"in e||((e=e?p.createFrame(e):{}).root=t);return e}(e,o));var c=void 0,h=t.useBlockParams?[]:void 0;return t.useDepths&&(c=a.depths?e!==a.depths[0]?[e].concat(a.depths):a.depths:[e]),(i=n(t.main,i,s,a.depths||[],o,h))(e,a)}if(!e)throw new l.default("No environment passed to template");if(!t||!t.main)throw new l.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var s={strict:function(t,e){if(!(e in t))throw new l.default('"'+e+'" not defined in '+t);return t[e]},lookup:function(t,e){for(var r=t.length,s=0;s<r;s++)if(t[s]&&null!=t[s][e])return t[s][e]},lambda:function(t,e){return"function"==typeof t?t.call(e):t},escapeExpression:h.escapeExpression,invokePartial:function(r,s,i){i.hash&&(s=h.extend({},s,i.hash),i.ids&&(i.ids[0]=!0)),r=e.VM.resolvePartial.call(this,r,s,i);var a=e.VM.invokePartial.call(this,r,s,i);if(null==a&&e.compile&&(i.partials[i.name]=e.compile(r,t.compilerOptions,e),a=i.partials[i.name](s,i)),null!=a){if(i.indent){for(var n=a.split("\n"),o=0,c=n.length;o<c&&(n[o]||o+1!==c);o++)n[o]=i.indent+n[o];a=n.join("\n")}return a}throw new l.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")},fn:function(e){var r=t[e];return r.decorator=t[e+"_d"],r},programs:[],program:function(t,e,r,s,a){var n=this.programs[t],o=this.fn(t);return e||a||s||r?n=i(this,t,o,e,r,s,a):n||(n=this.programs[t]=i(this,t,o)),n},data:function(t,e){for(;t&&e--;)t=t._parent;return t},merge:function(t,e){var r=t||e;return t&&e&&t!==e&&(r=h.extend({},e,t)),r},noop:e.VM.noop,compilerInfo:t.compiler};return r.isTop=!0,r._setup=function(r){r.partial?(s.helpers=r.helpers,s.partials=r.partials,s.decorators=r.decorators):(s.helpers=s.merge(r.helpers,e.helpers),t.usePartial&&(s.partials=s.merge(r.partials,e.partials)),(t.usePartial||t.useDecorators)&&(s.decorators=s.merge(r.decorators,e.decorators)))},r._child=function(e,r,a,n){if(t.useBlockParams&&!a)throw new l.default("must pass block params");if(t.useDepths&&!n)throw new l.default("must pass parent depths");return i(s,e,t[e],r,0,a,n)},r}function i(t,e,r,s,i,a,o){function c(e){var i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=o;return o&&e!==o[0]&&(n=[e].concat(o)),r(t,e,t.helpers,t.partials,i.data||s,a&&[i.blockParams].concat(a),n)}return c=n(r,c,t,o,s,a),c.program=e,c.depth=o?o.length:0,c.blockParams=i||0,c}function a(){return""}function n(t,e,r,s,i,a){if(t.decorator){var n={};e=t.decorator(e,n,r,s&&s[0],i,a,s),h.extend(e,n)}return e}var o=r(3).default,c=r(1).default;e.__esModule=!0,e.checkRevision=function(t){var e=t&&t[0]||1,r=p.COMPILER_REVISION;if(e!==r){if(e<r){var s=p.REVISION_CHANGES[r],i=p.REVISION_CHANGES[e];throw new l.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+s+") or downgrade your runtime to an older version ("+i+").")}throw new l.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}},e.template=s,e.wrapProgram=i,e.resolvePartial=function(t,e,r){return t?t.call||r.name||(r.name=t,t=r.partials[t]):t="@partial-block"===r.name?r.data["partial-block"]:r.partials[r.name],t},e.invokePartial=function(t,e,r){r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var s=void 0;if(r.fn&&r.fn!==a&&(r.data=p.createFrame(r.data),(s=r.data["partial-block"]=r.fn).partials&&(r.partials=h.extend({},r.partials,s.partials))),void 0===t&&s&&(t=s),void 0===t)throw new l.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)},e.noop=a;var h=o(r(5)),l=c(r(6)),p=r(4)},function(t,e){(function(r){"use strict";e.__esModule=!0,e.default=function(t){var e=void 0!==r?r:window,s=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=s),t}},t.exports=e.default}).call(e,function(){return this}())},function(t,e){"use strict";e.__esModule=!0;var r={helpers:{helperExpression:function(t){return"SubExpression"===t.type||("MustacheStatement"===t.type||"BlockStatement"===t.type)&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return 1===t.parts.length&&!r.helpers.scopedId(t)&&!t.depth}}};e.default=r,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default,i=r(3).default;e.__esModule=!0,e.parse=function(t,e){return"Program"===t.type?t:(a.default.yy=h,h.locInfo=function(t){return new h.SourceLocation(e&&e.srcName,t)},new n.default(e).accept(a.default.parse(t)))};var a=s(r(23)),n=s(r(24)),o=i(r(26)),c=r(5);e.parser=a.default;var h={};c.extend(h,o)},function(t,e){"use strict";var r=function(){function t(){this.yy={}}var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition_plus0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,1],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(t,e,r,s,i,a,n){var o=a.length-1;switch(i){case 1:return a[o-1];case 2:this.$=s.prepareProgram(a[o]);break;case 3:case 4:case 5:case 6:case 7:case 8:this.$=a[o];break;case 9:this.$={type:"CommentStatement",value:s.stripComment(a[o]),strip:s.stripFlags(a[o],a[o]),loc:s.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:a[o],value:a[o],loc:s.locInfo(this._$)};break;case 11:this.$=s.prepareRawBlock(a[o-2],a[o-1],a[o],this._$);break;case 12:this.$={path:a[o-3],params:a[o-2],hash:a[o-1]};break;case 13:this.$=s.prepareBlock(a[o-3],a[o-2],a[o-1],a[o],!1,this._$);break;case 14:this.$=s.prepareBlock(a[o-3],a[o-2],a[o-1],a[o],!0,this._$);break;case 15:this.$={open:a[o-5],path:a[o-4],params:a[o-3],hash:a[o-2],blockParams:a[o-1],strip:s.stripFlags(a[o-5],a[o])};break;case 16:case 17:this.$={path:a[o-4],params:a[o-3],hash:a[o-2],blockParams:a[o-1],strip:s.stripFlags(a[o-5],a[o])};break;case 18:this.$={strip:s.stripFlags(a[o-1],a[o-1]),program:a[o]};break;case 19:var c=s.prepareBlock(a[o-2],a[o-1],a[o],a[o],!1,this._$),h=s.prepareProgram([c],a[o-1].loc);h.chained=!0,this.$={strip:a[o-2].strip,program:h,chain:!0};break;case 20:this.$=a[o];break;case 21:this.$={path:a[o-1],strip:s.stripFlags(a[o-2],a[o])};break;case 22:case 23:this.$=s.prepareMustache(a[o-3],a[o-2],a[o-1],a[o-4],s.stripFlags(a[o-4],a[o]),this._$);break;case 24:this.$={type:"PartialStatement",name:a[o-3],params:a[o-2],hash:a[o-1],indent:"",strip:s.stripFlags(a[o-4],a[o]),loc:s.locInfo(this._$)};break;case 25:this.$=s.preparePartialBlock(a[o-2],a[o-1],a[o],this._$);break;case 26:this.$={path:a[o-3],params:a[o-2],hash:a[o-1],strip:s.stripFlags(a[o-4],a[o])};break;case 27:case 28:this.$=a[o];break;case 29:this.$={type:"SubExpression",path:a[o-3],params:a[o-2],hash:a[o-1],loc:s.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:a[o],loc:s.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:s.id(a[o-2]),value:a[o],loc:s.locInfo(this._$)};break;case 32:this.$=s.id(a[o-1]);break;case 33:case 34:this.$=a[o];break;case 35:this.$={type:"StringLiteral",value:a[o],original:a[o],loc:s.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(a[o]),original:Number(a[o]),loc:s.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===a[o],original:"true"===a[o],loc:s.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:s.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:s.locInfo(this._$)};break;case 40:case 41:this.$=a[o];break;case 42:this.$=s.preparePath(!0,a[o],this._$);break;case 43:this.$=s.preparePath(!1,a[o],this._$);break;case 44:a[o-2].push({part:s.id(a[o]),original:a[o],separator:a[o-1]}),this.$=a[o-2];break;case 45:this.$=[{part:s.id(a[o]),original:a[o]}];break;case 46:this.$=[];break;case 47:a[o-1].push(a[o]);break;case 48:this.$=[a[o]];break;case 49:a[o-1].push(a[o]);break;case 50:this.$=[];break;case 51:a[o-1].push(a[o]);break;case 58:this.$=[];break;case 59:a[o-1].push(a[o]);break;case 64:this.$=[];break;case 65:a[o-1].push(a[o]);break;case 70:this.$=[];break;case 71:a[o-1].push(a[o]);break;case 78:this.$=[];break;case 79:a[o-1].push(a[o]);break;case 82:this.$=[];break;case 83:a[o-1].push(a[o]);break;case 86:this.$=[];break;case 87:a[o-1].push(a[o]);break;case 90:this.$=[];break;case 91:a[o-1].push(a[o]);break;case 94:this.$=[];break;case 95:a[o-1].push(a[o]);break;case 98:this.$=[a[o]];break;case 99:a[o-1].push(a[o]);break;case 100:this.$=[a[o]];break;case 101:a[o-1].push(a[o])}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:45,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:48,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:42,56:49,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:50,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37
vendor: 4,137 bytes, line 6
6],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,51]},{72:[1,35],86:52},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:53,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:65,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:66,47:[1,67]},{30:68,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:69,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:70,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:71,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,80]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:84,47:[1,67]},{47:[2,55]},{4:85,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:86,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:87,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:88,47:[1,67]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:92,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:93,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,106]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]}
vendor: 6,544 bytes, line 6
6,{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:107,72:[1,108],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,109],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,110]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,114]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,118]},{32:119,33:[2,62],74:120,75:[1,121]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:122,74:123,75:[1,121]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,124]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,125]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,109]},{20:75,63:126,64:76,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,130]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:135,74:136,75:[1,121]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,138],77:[1,137]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},parseError:function(t,e){throw new Error(t)},parse:function(t){function e(){var t;return"number"!=typeof(t=r.lexer.lex()||1)&&(t=r.symbols_[t]||t),t}var r=this,s=[0],i=[null],a=[],n=this.table,o="",c=0,h=0,l=0;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var p=this.lexer.yylloc;a.push(p);var u=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var f,d,m,g,v,y,k,S,b,_={};;){if(m=s[s.length-1],this.defaultActions[m]?g=this.defaultActions[m]:(null!==f&&void 0!==f||(f=e()),g=n[m]&&n[m][f]),void 0===g||!g.length||!g[0]){var P="";if(!l){b=[];for(y in n[m])this.terminals_[y]&&y>2&&b.push("'"+this.terminals_[y]+"'");P=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+b.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(P,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:p,expected:b})}}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(g[0]){case 1:s.push(f),i.push(this.lexer.yytext),a.push(this.lexer.yylloc),s.push(g[1]),f=null,d?(f=d,d=null):(h=this.lexer.yyleng,o=this.lexer.yytext,c=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:if(k=this.productions_[g[1]][1],_.$=i[i.length-k],_._$={first_line:a[a.length-(k||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(k||1)].first_column,last_column:a[a.length-1].last_column},u&&(_._$.range=[a[a.length-(k||1)].range[0],a[a.length-1].range[1]]),void 0!==(v=this.performAction.call(_,o,h,c,this.yy,g[1],i,a)))return v;k&&(s=s.slice(0,-1*k*2),i=i.slice(0,-1*k),a=a.slice(0,-1*k)),s.push(this.productions_[g[1]][0]),i.push(_.$),a.push(_._$),S=n[s[s.length-2]][s[s.length-1]],s.push(S);break;case 3:return!0}}return!0}},r=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}
vendor: 5,884 bytes, line 6
6,input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;return t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===s.length?this.yylloc.first_column:0)+s[s.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,s,i;this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),n=0;n<a.length&&(!(r=this._input.match(this.rules[a[n]]))||e&&!(r[0].length>e[0].length)||(e=r,s=n,this.options.flex));n++);return e?((i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,a[s],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}};return t.options={},t.performAction=function(t,e,r,s){function i(t,r){return e.yytext=e.yytext.substr(t,e.yyleng-r)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(i(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(e.yytext=e.yytext.substr(5,e.yyleng-9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=i(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=i(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},t.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],t.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},t}();return e.lexer=r,t.prototype=e,e.Parser=t,new t}();
vendor: 9,305 bytes, line 6
6e.__esModule=!0,e.default=r},function(t,e,r){"use strict";function s(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function i(t,e,r){void 0===e&&(e=t.length);var s=t[e-1],i=t[e-2];return s?"ContentStatement"===s.type?(i||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(s.original):void 0:r}function a(t,e,r){void 0===e&&(e=-1);var s=t[e+1],i=t[e+2];return s?"ContentStatement"===s.type?(i||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(s.original):void 0:r}function n(t,e,r){var s=t[null==e?0:e+1];if(s&&"ContentStatement"===s.type&&(r||!s.rightStripped)){var i=s.value;s.value=s.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),s.rightStripped=s.value!==i}}function o(t,e,r){var s=t[null==e?t.length-1:e-1];if(s&&"ContentStatement"===s.type&&(r||!s.leftStripped)){var i=s.value;return s.value=s.value.replace(r?/\s+$/:/[ \t]+$/,""),s.leftStripped=s.value!==i,s.leftStripped}}var c=r(1).default;e.__esModule=!0;var h=c(r(25));(s.prototype=new h.default).Program=function(t){var e=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var s=t.body,c=0,h=s.length;c<h;c++){var l=s[c],p=this.accept(l);if(p){var u=i(s,c,r),f=a(s,c,r),d=p.openStandalone&&u,m=p.closeStandalone&&f,g=p.inlineStandalone&&u&&f;p.close&&n(s,c,!0),p.open&&o(s,c,!0),e&&g&&(n(s,c),o(s,c)&&"PartialStatement"===l.type&&(l.indent=/([ \t]+$)/.exec(s[c-1].original)[1])),e&&d&&(n((l.program||l.inverse).body),o(s,c)),e&&m&&(n(s,c),o((l.inverse||l.program).body))}}return t},s.prototype.BlockStatement=s.prototype.DecoratorBlock=s.prototype.PartialBlockStatement=function(t){this.accept(t.program),this.accept(t.inverse);var e=t.program||t.inverse,r=t.program&&t.inverse,s=r,c=r;if(r&&r.chained)for(s=r.body[0].program;c.chained;)c=c.body[c.body.length-1].program;var h={open:t.openStrip.open,close:t.closeStrip.close,openStandalone:a(e.body),closeStandalone:i((s||e).body)};if(t.openStrip.close&&n(e.body,null,!0),r){var l=t.inverseStrip;l.open&&o(e.body,null,!0),l.close&&n(s.body,null,!0),t.closeStrip.open&&o(c.body,null,!0),!this.options.ignoreStandalone&&i(e.body)&&a(s.body)&&(o(e.body),n(s.body))}else t.closeStrip.open&&o(e.body,null,!0);return h},s.prototype.Decorator=s.prototype.MustacheStatement=function(t){return t.strip},s.prototype.PartialStatement=s.prototype.CommentStatement=function(t){var e=t.strip||{};return{inlineStandalone:!0,open:e.open,close:e.close}},e.default=s,t.exports=e.default},function(t,e,r){"use strict";function s(){this.parents=[]}function i(t){this.acceptRequired(t,"path"),this.acceptArray(t.params),this.acceptKey(t,"hash")}function a(t){i.call(this,t),this.acceptKey(t,"program"),this.acceptKey(t,"inverse")}function n(t){this.acceptRequired(t,"name"),this.acceptArray(t.params),this.acceptKey(t,"hash")}var o=r(1).default;e.__esModule=!0;var c=o(r(6));s.prototype={constructor:s,mutating:!1,acceptKey:function(t,e){var r=this.accept(t[e]);if(this.mutating){if(r&&!s.prototype[r.type])throw new c.default('Unexpected node type "'+r.type+'" found when accepting '+e+" on "+t.type);t[e]=r}},acceptRequired:function(t,e){if(this.acceptKey(t,e),!t[e])throw new c.default(t.type+" requires "+e)},acceptArray:function(t){for(var e=0,r=t.length;e<r;e++)this.acceptKey(t,e),t[e]||(t.splice(e,1),e--,r--)},accept:function(t){if(t){if(!this[t.type])throw new c.default("Unknown type: "+t.type,t);this.current&&this.parents.unshift(this.current),this.current=t;var e=this[t.type](t);return this.current=this.parents.shift(),!this.mutating||e?e:!1!==e?t:void 0}},Program:function(t){this.acceptArray(t.body)},MustacheStatement:i,Decorator:i,BlockStatement:a,DecoratorBlock:a,PartialStatement:n,PartialBlockStatement:function(t){n.call(this,t),this.acceptKey(t,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:i,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(t){this.acceptArray(t.pairs)},HashPair:function(t){this.acceptRequired(t,"value")}},e.default=s,t.exports=e.default},function(t,e,r){"use strict";function s(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new a.default(t.path.original+" doesn't match "+e,r)}}var i=r(1).default;e.__esModule=!0,e.SourceLocation=function(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}},e.id=function(t){return/^\[.*\]$/.test(t)?t.substr(1,t.length-2):t},e.stripFlags=function(t,e){return{open:"~"===t.charAt(2),close:"~"===e.charAt(e.length-3)}},e.stripComment=function(t){return t.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")},e.preparePath=function(t,e,r){r=this.locInfo(r);for(var s=t?"@":"",i=[],n=0,o=0,c=e.length;o<c;o++){var h=e[o].part,l=e[o].original!==h;if(s+=(e[o].separator||"")+h,l||".."!==h&&"."!==h&&"this"!==h)i.push(h);else{if(i.length>0)throw new a.default("Invalid path: "+s,{loc:r});".."===h&&n++}}return{type:"PathExpression",data:t,depth:n,parts:i,original:s,loc:r}},e.prepareMustache=function(t,e,r,s,i,a){var n=s.charAt(3)||s.charAt(2),o="{"!==n&&"&"!==n;return{type:/\*/.test(s)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:o,strip:i,loc:this.locInfo(a)}},e.prepareRawBlock=function(t,e,r,i){s(t,r);var a={type:"Program",body:e,strip:{},loc:i=this.locInfo(i)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:a,openStrip:{},inverseStrip:{},closeStrip:{},loc:i}},e.prepareBlock=function(t,e,r,i,n,o){i&&i.path&&s(t,i);var c=/\*/.test(t.open);e.blockParams=t.blockParams;var h=void 0,l=void 0;if(r){if(c)throw new a.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=i.strip),l=r.strip,h=r.program}return n&&(n=h,h=e,e=n),{type:c?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:h,openStrip:t.strip,inverseStrip:l,closeStrip:i&&i.strip,loc:this.locInfo(o)}},e.prepareProgram=function(t,e){if(!e&&t.length){var r=t[0].loc,s=t[t.length-1].loc;r&&s&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:s.end.line,column:s.end.column}})}return{type:"Program",body:t,strip:{},loc:e}},e.preparePartialBlock=function(t,e,r,i){return s(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(i)}};var a=i(r(6))},function(t,e,r){"use strict";function s(){}function i(t,e){if(t===e)return!0;if(c.isArray(t)&&c.isArray(e)&&t.length===e.length){for(var r=0;r<t.length;r++)if(!i(t[r],e[r]))return!1;return!0}}function a(t){if(!t.path.parts){var e=t.path;t.path={type:"PathExpression",data:!1,depth:0,parts:[e.original+""],original:e.original+"",loc:e.loc}}}var n=r(1).default;e.__esModule=!0,e.Compiler=s,e.precompile=function(t,e,r){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new o.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0),e.compat&&(e.useDepths=!0);var s=r.parse(t,e),i=(new r.Compiler).compile(s,e);return(new r.JavaScriptCompiler).compile(i,e)},e.compile=function(t,e,r){function s(){var s=r.parse(t,e),i=(new r.Compiler).compile(s,e),a=(new r.JavaScriptCompiler).compile(i,e,void 0,!0);return r.template(a)}function i(t,e){return a||(a=s()),a.call(this,t,e)}if(void 0===e&&(e={}),null==t||"string"!=typeof t&&"Program"!==t.type)throw new o.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in e||(e.data=!0),e.compat&&(e.useDepths=!0);var a=void 0;return i._setup=function(t){return a||(a=s()),a._setup(t)},i._child=function(t,e,r,i){return a||(a=s()),a._child(t,e,r,i)},i};var o=n(r(6)),c=r(5),h=n(r(21)),l=[].slice;s.prototype={compiler:s,equals:function(t){var e=this.opcodes.length;if(t.opcodes.length!==e)return!1;for(a=0;a<e;a++){var r=this.opcodes[a],s=t.opcodes[a];if(r.opcode!==s.opcode||!i(r.args,s.args))return!1}e=this.children.length;for(var a=0;a<e;a++)if(!this.children[a].equals(t.children[a]))return!1;return!0},guid:0,compile:function(t,e){this.sourceNode=[],this.opcodes=[],this.children=[],this.options=e,this.stringParams=e.stringParams,this.trackIds=e.trackIds,e.blockParams=e.blockParams||[];var r=e.knownHelpers;if(e.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},r)for(var s in r)s in r&&(e.knownHelpers[s]=r[s]);return this.accept(t)},compileProgram:function(t){var e=(new this.compiler).compile(t,this.options),r=this.guid++;return this.usePartial=this.usePartial||e.usePartial,this.children[r]=e,this.useDepths=this.useDepths||e.useDepths,r},accept:function(t){if(!this[t.type])throw new o.default("Unknown type: "+t.type,t);this.sourceNode.unshift(t);var e=this[t.type](t);return this.sourceNode.shift(),e},Program:function(t){this.options.blockParams.unshift(t.blockParams);for(var e=t.body,r=e.length,s=0;s<r;s++)this.accept(e[s]);return this.options.blockParams.shift(),this.isSimple=1===r,this.blockParams=t.blockParams?t.blockParams.length:0,this},BlockStatement:function(t){a(t);var e=t.program,r=t.inverse;e=e&&this.compileProgram(e),r=r&&this.compileProgram(r);var s=this.classifySexpr(t);"helper"===s?this.helperSexpr(t,e,r):"simple"===s?(this.simpleSex
vendor: 1,844 bytes, line 6
6pr(t),this.opcode("pushProgram",e),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("blockValue",t.path.original)):(this.ambiguousSexpr(t,e,r),this.opcode("pushProgram",e),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(t){var e=t.program&&this.compileProgram(t.program),r=this.setupFullMustacheParams(t,e,void 0),s=t.path;this.useDecorators=!0,this.opcode("registerDecorator",r.length,s.original)},PartialStatement:function(t){this.usePartial=!0;var e=t.program;e&&(e=this.compileProgram(t.program));var r=t.params;if(r.length>1)throw new o.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var s=t.name.original,i="SubExpression"===t.name.type;i&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var a=t.indent||"";this.options.preventIndent&&a&&(this.opcode("appendContent",a),a=""),this.opcode("invokePartial",i,s,a),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){a(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,r){var s=t.path,i=s.parts[0],a=null!=e||null!=r;this.opcode("getContext",s.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",r),s.strict=!0,this.accept(s),this.opcode("invokeAmbiguous",i,a)}
vendor: 6,976 bytes, line 6
6,simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,r){var s=this.setupFullMustacheParams(t,e,r),i=t.path,a=i.parts[0];if(this.options.knownHelpers[a])this.opcode("invokeKnownHelper",s.length,a);else{if(this.options.knownHelpersOnly)throw new o.default("You specified knownHelpersOnly, but used the unknown helper "+a,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",s.length,i.original,h.default.helpers.simpleId(i))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],r=h.default.helpers.scopedId(t),s=!t.depth&&!r&&this.blockParamIndex(e);s?this.opcode("lookupBlockParam",s,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,r):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,r=0,s=e.length;for(this.opcode("pushHash");r<s;r++)this.pushParam(e[r].value);for(;r--;)this.opcode("assignToHash",e[r].key);this.opcode("popHash")},opcode:function(t){this.opcodes.push({opcode:t,args:l.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(t){t&&(this.useDepths=!0)},classifySexpr:function(t){var e=h.default.helpers.simpleId(t.path),r=e&&!!this.blockParamIndex(t.path.parts[0]),s=!r&&h.default.helpers.helperExpression(t),i=!r&&(s||e);if(i&&!s){var a=t.path.parts[0],n=this.options;n.knownHelpers[a]?s=!0:n.knownHelpersOnly&&(i=!1)}return s?"helper":i?"ambiguous":"simple"},pushParams:function(t){for(var e=0,r=t.length;e<r;e++)this.pushParam(t[e])},pushParam:function(t){var e=null!=t.value?t.value:t.original||"";if(this.stringParams)e.replace&&(e=e.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",e,t.type),"SubExpression"===t.type&&this.accept(t);else{if(this.trackIds){var r=void 0;if(!t.parts||h.default.helpers.scopedId(t)||t.depth||(r=this.blockParamIndex(t.parts[0])),r){var s=t.parts.slice(1).join(".");this.opcode("pushId","BlockParam",r,s)}else(e=t.original||e).replace&&(e=e.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",t.type,e)}this.accept(t)}},setupFullMustacheParams:function(t,e,r,s){var i=t.params;return this.pushParams(i),this.opcode("pushProgram",e),this.opcode("pushProgram",r),t.hash?this.accept(t.hash):this.opcode("emptyHash",s),i},blockParamIndex:function(t){for(var e=0,r=this.options.blockParams.length;e<r;e++){var s=this.options.blockParams[e],i=s&&c.indexOf(s,t);if(s&&i>=0)return[e,i]}}}},function(t,e,r){"use strict";function s(t){this.value=t}function i(){}var a=r(1).default;e.__esModule=!0;var n=r(4),o=a(r(6)),c=r(5),h=a(r(29));i.prototype={nameLookup:function(t,e){return i.isValidJavaScriptVariableName(e)?[t,".",e]:[t,"[",JSON.stringify(e),"]"]},depthedLookup:function(t){return[this.aliasable("container.lookup"),'(depths, "',t,'")']},compilerInfo:function(){var t=n.COMPILER_REVISION;return[t,n.REVISION_CHANGES[t]]},appendToBuffer:function(t,e,r){return c.isArray(t)||(t=[t]),t=this.source.wrap(t,e),this.environment.isSimple?["return ",t,";"]:r?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},compile:function(t,e,r,s){this.environment=t,this.options=e,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!s,this.name=this.environment.name,this.isChild=!!r,this.context=r||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,e),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var i=t.opcodes,a=void 0,n=void 0,c=void 0,h=void 0;for(c=0,h=i.length;c<h;c++)a=i[c],this.source.currentLocation=a.loc,n=n||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=n,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new o.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend("var decorators = container.decorators;\n"),this.decorators.push("return fn;"),s?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var l=this.createFunctionContext(s);if(this.isChild)return l;var p={compiler:this.compilerInfo(),main:l};this.decorators&&(p.main_d=this.decorators,p.useDecorators=!0);var u=this.context,f=u.programs,d=u.decorators;for(c=0,h=f.length;c<h;c++)f[c]&&(p[c]=f[c],d[c]&&(p[c+"_d"]=d[c],p.useDecorators=!0));return this.environment.usePartial&&(p.usePartial=!0),this.options.data&&(p.useData=!0),this.useDepths&&(p.useDepths=!0),this.useBlockParams&&(p.useBlockParams=!0),this.options.compat&&(p.compat=!0),s?p.compilerOptions=this.options:(p.compiler=JSON.stringify(p.compiler),this.source.currentLocation={start:{line:1,column:0}},p=this.objectLiteral(p),e.srcName?(p=p.toStringWithSourceMap({file:e.destName})).map=p.map&&p.map.toString():p=p.toString()),p},preamble:function(){this.lastContext=0,this.source=new h.default(this.options.srcName),this.decorators=new h.default(this.options.srcName)},createFunctionContext:function(t){var e="",r=this.stackVars.concat(this.registers.list);r.length>0&&(e+=", "+r.join(", "));var s=0;for(var i in this.aliases){var a=this.aliases[i];this.aliases.hasOwnProperty(i)&&a.children&&a.referenceCount>1&&(e+=", alias"+ ++s+"="+i,a.children[0]="alias"+s)}var n=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths");var o=this.mergeSource(e);return t?(n.push(o),Function.apply(this,n)):this.source.wrap(["function(",n.join(","),") {\n ",o,"}"])},mergeSource:function(t){var e=this.environment.isSimple,r=!this.forceBuffer,s=void 0,i=void 0,a=void 0,n=void 0;return this.source.each(function(t){t.appendToBuffer?(a?t.prepend(" + "):a=t,n=t):(a&&(i?a.prepend("buffer += "):s=!0,n.add(";"),a=n=void 0),i=!0,e||(r=!1))}),r?a?(a.prepend("return "),n.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(s?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),n.add(";")):this.source.push("return buffer;
6")),t&&this.source.prepend("var "+t.substring(2)+(s?"":";\n")),this.source.merge()},blockValue:function(t){var e=this.aliasable("helpers.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var s=this.popStack();r.splice(1,0,s),this.push(this.source.functionCall(e,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("helpers.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var r=this.topStack();e.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(t){return[" != null ? ",t,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,r,s){var i=0;s||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[i++])),this.resolvePath("context",t,i,e,r)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,r)},resolvePath:function(t,e,r,s,i){var a=this;if(this.options.strict||this.options.assumeObjects)this.push(function(t,e,r,s){var i=e.popStack(),a=0,n=r.length;for(t&&n--;a<n;a++)i=e.nameLookup(i,r[a],s);return t?[e.aliasable("container.strict"),"(",i,", ",e.quotedString(r[a]),")"]:i}(this.options.strict&&i,this,e,t));else for(var n=e.length;r<n;r++)this.replaceStack(function(i){var n=a.nameLookup(i,e[r],t);return s?[" && ",n]:[" != null ? ",n," : ",i]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,e){this.pushContext(),this.pushString(e),"SubExpression"!==e&&("string"==typeof t?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){null!=t?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,e){var r=this.nameLookup("decorators",e,"decorator"),s=this.setupHelperArgs(e,t);this.decorators.push(["fn = ",this.decorators.functionCall(r,"",["fn","props","container",s])," || fn;"])},invokeHelper:function(t,e,r){var s=this.popStack(),i=this.setupHelper(t,e),a=r?[i.name," || "]:"",n=["("].concat(a,s);this.options.strict||n.push(" || ",this.aliasable("helpers.helperMissing")),n.push(")"),this.push(this.source.functionCall(n,"call",i.callParams))},invokeKnownHelper:function(t,e){var r=this.setupHelper(t,e);this.push(this.source.functionCall(r.name,"call",r.callParams))},invokeAmbiguous:function(t,e){this.useRegister("helper");var r=this.popStack();this.emptyHash();var s=this.setupHelper(0,t,e),i=["(","(helper = ",this.lastHelper=this.nameLookup("helpers",t,"helper")," || ",r,")"];this.options.strict||(i[0]="(helper = ",i.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",i,s.paramsInit?["),(",s.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",s.callParams)," : helper))"])},invokePartial:function(t,e,r){var s=[],i=this.setupParams(e,1,s);t&&(e=this.popStack(),delete i.name),r&&(i.indent=JSON.stringify(r)),i.helpers="helpers",i.partials="partials",i.decorators="container.decorators",t?s.unshift(e):s.unshift(this.nameLookup("partials",e,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),s.push(i),this.push(this.source.functionCall("container.invokePartial","",s))},assignToHash:function(t){var e=this.popStack(),r=void 0,s=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(s=this.popStack(),r=this.popStack());var a=this.hash;r&&(a.contexts[t]=r),s&&(a.types[t]=s),i&&(a.ids[t]=i),a.values[t]=e},pushId:function(t,e,r){"BlockParam"===t?this.pushStackLiteral("blockParams["+e[0]+"].path["+e[1]+"]"+(r?" + "+JSON.stringify("."+r):"")):"PathExpression"===t?this.pushString(e):"SubExpression"===t?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:i,compileChildren:function(t,e){for(var r=t.children,s=void 0,i=void 0,a=0,n=r.length;a<n;a++){s=r[a],i=new this.compiler;var o=this.matchExistingProgram(s);null==o?(this.context.programs.push(""),o=this.context.programs.length,s.index=o,s.name="program"+o,this.context.programs[o]=i.compile(s,e,this.context,!this.prec
vendor: 4,418 bytes, line 6
6ompile),this.context.decorators[o]=i.decorators,this.context.environments[o]=s,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams):(s.index=o,s.name="program"+o,this.useDepths=this.useDepths||s.useDepths,this.useBlockParams=this.useBlockParams||s.useBlockParams)}},matchExistingProgram:function(t){for(var e=0,r=this.context.environments.length;e<r;e++){var s=this.context.environments[e];if(s&&s.equals(t))return e}},programExpression:function(t){var e=this.environment.children[t],r=[e.index,"data",e.blockParams];return(this.useBlockParams||this.useDepths)&&r.push("blockParams"),this.useDepths&&r.push("depths"),"container.program("+r.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof s||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new s(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var e=["("],r=void 0,i=void 0,a=void 0;if(!this.isInline())throw new o.default("replaceStack on non-inline");var n=this.popStack(!0);if(n instanceof s)e=["(",r=[n.value]],a=!0;else{i=!0;var c=this.incrStack();e=["((",this.push(c)," = ",n,")"],r=this.topStack()}var h=t.call(this,r);a||this.popStack(),i&&this.stackSlot--,this.push(e.concat(h,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,r=t.length;e<r;e++){var i=t[e];if(i instanceof s)this.compileStack.push(i);else{var a=this.incrStack();this.pushSource([a," = ",i,";"]),this.compileStack.push(a)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var e=this.isInline(),r=(e?this.inlineStack:this.compileStack).pop();if(!t&&r instanceof s)return r.value;if(!e){if(!this.stackSlot)throw new o.default("Invalid stack pop");this.stackSlot--}return r},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,e=t[t.length-1];return e instanceof s?e.value:e},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var e=this.aliases[t];return e?(e.referenceCount++,e):(e=this.aliases[t]=this.source.wrap(t),e.aliasable=!0,e.referenceCount=1,e)},setupHelper:function(t,e,r){var s=[];return{params:s,paramsInit:this.setupHelperArgs(e,t,s,r),name:this.nameLookup("helpers",e,"helper"),callParams:[this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : {}")].concat(s)}},setupParams:function(t,e,r){var s={},i=[],a=[],n=[],o=!r,c=void 0;o&&(r=[]),s.name=this.quotedString(t),s.hash=this.popStack(),this.trackIds&&(s.hashIds=this.popStack()),this.stringParams&&(s.hashTypes=this.popStack(),s.hashContexts=this.popStack());var h=this.popStack(),l=this.popStack();(l||h)&&(s.fn=l||"container.noop",s.inverse=h||"container.noop");for(var p=e;p--;)c=this.popStack(),r[p]=c,this.trackIds&&(n[p]=this.popStack()),this.stringParams&&(a[p]=this.popStack(),i[p]=this.popStack());return o&&(s.args=this.source.generateArray(r)),this.trackIds&&(s.ids=this.source.generateArray(n)),this.stringParams&&(s.types=this.source.generateArray(a),s.contexts=this.source.generateArray(i)),this.options.data&&(s.data="data"),this.useBlockParams&&(s.blockParams="blockParams"),s},setupHelperArgs:function(t,e,r,s){var i=this.setupParams(t,e,r);return i=this.objectLiteral(i),s?(this.useRegister("options"),r.push("options"),["options=",i]):r?(r.push(i),""):i}},function(){for(var t="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),e=i.RESERVED_WORDS={},r=0,s=t.length;r<s;r++)e[t[r]]=!0}
vendor: 2,039 bytes, line 6
6(),i.isValidJavaScriptVariableName=function(t){return!i.RESERVED_WORDS[t]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(t)},e.default=i,t.exports=e.default},function(t,e,r){"use strict";function s(t,e,r){if(a.isArray(t)){for(var s=[],i=0,n=t.length;i<n;i++)s.push(e.wrap(t[i],r));return s}return"boolean"==typeof t||"number"==typeof t?t+"":t}function i(t){this.srcFile=t,this.source=[]}e.__esModule=!0;var a=r(5),n=void 0;try{}catch(t){}n||((n=function(t,e,r,s){this.src="",s&&this.add(s)}).prototype={add:function(t){a.isArray(t)&&(t=t.join("")),this.src+=t},prepend:function(t){a.isArray(t)&&(t=t.join("")),this.src=t+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),i.prototype={isEmpty:function(){return!this.source.length},prepend:function(t,e){this.source.unshift(this.wrap(t,e))},push:function(t,e){this.source.push(this.wrap(t,e))},merge:function(){var t=this.empty();return this.each(function(e){t.add([" ",e,"\n"])}),t},each:function(t){for(var e=0,r=this.source.length;e<r;e++)t(this.source[e])},empty:function(){var t=this.currentLocation||{start:{}};return new n(t.start.line,t.start.column,this.srcFile)},wrap:function(t){var e=arguments.length<=1||void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return t instanceof n?t:(t=s(t,this,e),new n(e.start.line,e.start.column,this.srcFile,t))},functionCall:function(t,e,r){return r=this.generateList(r),this.wrap([t,e?"."+e+"(":"(",r,")"])},quotedString:function(t){return'"'+(t+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(t){var e=[];for(var r in t)if(t.hasOwnProperty(r)){var i=s(t[r],this);"undefined"!==i&&e.push([this.quotedString(r),":",i])}var a=this.generateList(e);return a.prepend("{"),a.add("}"),a},generateList:function(t){for(var e=this.empty(),r=0,i=t.length;r<i;r++)r&&e.add(","),e.add(s(t[r],this));return e},generateArray:function(t){var e=this.generateList(t);
6return e.prepend("["),e.add("]"),e}},e.default=i,t.exports=e.default}])}); 7/* 8 * Copyright 2016 Small Batch, Inc. 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 11 * use this file except in compliance with the License. You may obtain a copy of 12 * the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 19 * License for the specific language governing permissions and limitations under 20 * the License. 21 */ 22/* Web Font Loader v1.6.16 - (c) Adobe Systems, Google. License: Apache 2.0 */ 23(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function n(a,b,c){n=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return n.apply(null,arguments)}var p=Date.now||function(){return+new Date};function r(a,b){this.F=a;this.k=b||a;this.H=this.k.document}var ca=!!window.FontFace;r.prototype.createElement=function(a,b,c){a=this.H.createElement(a);if(b)for(var d in b)b.hasOwnProperty(d)&&("style"==d?a.style.cssText=b[d]:a.setAttribute(d,b[d]));c&&a.appendChild(this.H.createTextNode(c));return a};function s(a,b,c){a=a.H.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(c,a.lastChild)} 24function t(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function u(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1} 25function v(a){if("string"===typeof a.fa)return a.fa;var b=a.k.location.protocol;"about:"==b&&(b=a.F.location.protocol);return"https:"==b?"https:":"http:"}function x(a,b,c){function d(){l&&e&&f&&(l(g),l=null)}b=a.createElement("link",{rel:"stylesheet",href:b,media:"all"});var e=!1,f=!0,g=null,l=c||null;ca?(b.onload=function(){e=!0;d()},b.onerror=function(){e=!0;g=Error("Stylesheet failed to load");d()}):setTimeout(function(){e=!0;d()},0);s(a,"head",b)} 26function y(a,b,c,d){var e=a.H.getElementsByTagName("head")[0];if(e){var f=a.createElement("script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,c&&c(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,c&&c(Error("Script load timeout")))},d||5E3);return f}return null};function z(){this.S=0;this.K=null}function A(a){a.S++;return function(){a.S--;B(a)}}function C(a,b){a.K=b;B(a)}function B(a){0==a.S&&a.K&&(a.K(),a.K=null)};function D(a){this.ea=a||"-"}D.prototype.d=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.ea)};function E(a,b){this.Q=a;this.M=4;this.L="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.L=c[1],this.M=parseInt(c[2],10))}E.prototype.getName=function(){return this.Q};function da(a){return F(a)+" "+(a.M+"00")+" 300px "+G(a.Q)}function G(a){var b=[];a=a.split(/,\s*/);for(var c=0;c<a.length;c++){var d=a[c].replace(/['"]/g,"");-1!=d.indexOf(" ")||/^\d/.test(d)?b.push("'"+d+"'"):b.push(d)}return b.join(",")}function I(a){return a.L+a.M} 27function F(a){var b="normal";"o"===a.L?b="oblique":"i"===a.L&&(b="italic");return b}function ea(a){var b=4,c="n",d=null;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function fa(a,b){this.a=a;this.j=a.k.document.documentElement;this.O=b;this.f="wf";this.e=new D("-");this.da=!1!==b.events;this.u=!1!==b.classes}function ga(a){a.u&&t(a.j,[a.e.d(a.f,"loading")]);J(a,"loading")}function K(a){if(a.u){var b=u(a.j,a.e.d(a.f,"active")),c=[],d=[a.e.d(a.f,"loading")];b||c.push(a.e.d(a.f,"inactive"));t(a.j,c,d)}J(a,"inactive")}function J(a,b,c){if(a.da&&a.O[b])if(c)a.O[b](c.getName(),I(c));else a.O[b]()};function ha(){this.t={}}function ia(a,b,c){var d=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.t[e];f&&d.push(f(b[e],c))}return d};function L(a,b){this.a=a;this.h=b;this.m=this.a.createElement("span",{"aria-hidden":"true"},this.h)}function M(a,b){var c=a.m,d;d="display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+G(b.Q)+";"+("font-style:"+F(b)+";font-weight:"+(b.M+"00")+";");c.style.cssText=d}function N(a){s(a.a,"body",a.m)}L.prototype.remove=function(){var a=this.m;a.parentNode&&a.parentNode.removeChild(a)};function O(a,b,c,d,e,f){this.G=a;this.J=b;this.g=d;this.a=c;this.v=e||3E3;this.h=f||void 0}O.prototype.start=function(){function a(){p()-d>=c.v?c.J(c.g):b.fonts.load(da(c.g),c.h).then(function(b){1<=b.length?c.G(c.g):setTimeout(a,25)},function(){c.J(c.g)})}var b=this.a.k.document,c=this,d=p();a()};function P(a,b,c,d,e,f,g){this.G=a;this.J=b;this.a=c;this.g=d;this.h=g||"BESbswy";this.s={};this.v=e||3E3;this.Z=f||null;this.D=this.C=this.A=this.w=null;this.w=new L(this.a,this.h);this.A=new L(this.a,this.h);this.C=new L(this.a,this.h);this.D=new L(this.a,this.h);M(this.w,new E(this.g.getName()+",serif",I(this.g)));M(this.A,new E(this.g.getName()+",sans-serif",I(this.g)));M(this.C,new E("serif",I(this.g)));M(this.D,new E("sans-serif",I(this.g)));N(this.w);N(this.A);N(this.C);N(this.D)} 28var Q={ia:"serif",ha:"sans-serif"},R=null;
28function S(){if(null===R){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);R=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return R}P.prototype.start=function(){this.s.serif=this.C.m.offsetWidth;this.s["sans-serif"]=this.D.m.offsetWidth;this.ga=p();ja(this)};function ka(a,b,c){for(var d in Q)if(Q.hasOwnProperty(d)&&b===a.s[Q[d]]&&c===a.s[Q[d]])return!0;return!1} 29function ja(a){var b=a.w.m.offsetWidth,c=a.A.m.offsetWidth,d;(d=b===a.s.serif&&c===a.s["sans-serif"])||(d=S()&&ka(a,b,c));d?p()-a.ga>=a.v?S()&&ka(a,b,c)&&(null===a.Z||a.Z.hasOwnProperty(a.g.getName()))?T(a,a.G):T(a,a.J):la(a):T(a,a.G)}function la(a){setTimeout(n(function(){ja(this)},a),50)}function T(a,b){setTimeout(n(function(){this.w.remove();this.A.remove();this.C.remove();this.D.remove();b(this.g)},a),0)};function U(a,b,c){this.a=a;this.p=b;this.P=0;this.ba=this.Y=!1;this.v=c}var V=null;U.prototype.V=function(a){var b=this.p;b.u&&t(b.j,[b.e.d(b.f,a.getName(),I(a).toString(),"active")],[b.e.d(b.f,a.getName(),I(a).toString(),"loading"),b.e.d(b.f,a.getName(),I(a).toString(),"inactive")]);J(b,"fontactive",a);this.ba=!0;ma(this)}; 30U.prototype.W=function(a){var b=this.p;if(b.u){var c=u(b.j,b.e.d(b.f,a.getName(),I(a).toString(),"active")),d=[],e=[b.e.d(b.f,a.getName(),I(a).toString(),"loading")];c||d.push(b.e.d(b.f,a.getName(),I(a).toString(),"inactive"));t(b.j,d,e)}J(b,"fontinactive",a);ma(this)};function ma(a){0==--a.P&&a.Y&&(a.ba?(a=a.p,a.u&&t(a.j,[a.e.d(a.f,"active")],[a.e.d(a.f,"loading"),a.e.d(a.f,"inactive")]),J(a,"active")):K(a.p))};function na(a){this.F=a;this.q=new ha;this.$=0;this.T=this.U=!0}na.prototype.load=function(a){this.a=new r(this.F,a.context||this.F);this.U=!1!==a.events;this.T=!1!==a.classes;oa(this,new fa(this.a,a),a)}; 31function pa(a,b,c,d,e){var f=0==--a.$;(a.T||a.U)&&setTimeout(function(){var a=e||null,l=d||null||{};if(0===c.length&&f)K(b.p);else{b.P+=c.length;f&&(b.Y=f);var h,k=[];for(h=0;h<c.length;h++){var m=c[h],w=l[m.getName()],q=b.p,H=m;q.u&&t(q.j,[q.e.d(q.f,H.getName(),I(H).toString(),"loading")]);J(q,"fontloading",H);q=null;null===V&&(V=window.FontFace?(q=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent))?42<parseInt(q[1],10):!0:!1);q=V?new O(n(b.V,b),n(b.W,b),b.a,m,b.v,w):new P(n(b.V,b),n(b.W,b), 32b.a,m,b.v,a,w);k.push(q)}for(h=0;h<k.length;h++)k[h].start()}},0)}function oa(a,b,c){var d=[],e=c.timeout;ga(b);var d=ia(a.q,c,a.a),f=new U(a.a,b,e);a.$=d.length;b=0;for(c=d.length;b<c;b++)d[b].load(function(b,c,d){pa(a,f,b,c,d)})};function qa(a,b,c){this.N=a?a:b+ra;this.o=[];this.R=[];this.ca=c||""}var ra="//fonts.googleapis.com/css";function sa(a,b){for(var c=b.length,d=0;d<c;d++){var e=b[d].split(":");3==e.length&&a.R.push(e.pop());var f="";2==e.length&&""!=e[1]&&(f=":");a.o.push(e.join(f))}} 33qa.prototype.d=function(){if(0==this.o.length)throw Error("No fonts to load!");if(-1!=this.N.indexOf("kit="))return this.N;for(var a=this.o.length,b=[],c=0;c<a;c++)b.push(this.o[c].replace(/ /g,"+"));a=this.N+"?family="+b.join("%7C");0<this.R.length&&(a+="&subset="+this.R.join(","));0<this.ca.length&&(a+="&text="+encodeURIComponent(this.ca));return a};function ta(a){this.o=a;this.aa=[];this.I={}} 34var ua={latin:"BESbswy",cyrillic:"йяЖ",greek:"αβΣ",khmer:"កខគ",Hanuman:"កខគ"},va={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},wa={i:"i",italic:"i",n:"n",normal:"n"},xa=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/; 35ta.prototype.parse=function(){for(var a=this.o.length,b=0;b<a;b++){var c=this.o[b].split(":"),d=c[0].replace(/\+/g," "),e=["n4"];if(2<=c.length){var f;var g=c[1];f=[];if(g)for(var g=g.split(","),l=g.length,h=0;h<l;h++){var k;k=g[h];if(k.match(/^[\w-]+$/))if(k=xa.exec(k.toLowerCase()),null==k)k="";else{var m;m=k[1];if(null==m||""==m)m="4";else{var w=va[m];m=w?w:isNaN(m)?"4":m.substr(0,1)}k=k[2];k=[null==k||""==k?"n":wa[k],m].join("")}else k="";k&&f.push(k)}0<f.length&&(e=f);3==c.length&&(c=c[2],f= 36[],c=c?c.split(","):f,0<c.length&&(c=ua[c[0]])&&(this.I[d]=c))}this.I[d]||(c=ua[d])&&(this.I[d]=c);for(c=0;c<e.length;c+=1)this.aa.push(new E(d,e[c]))}};function ya(a,b){this.a=a;this.c=b}var za={Arimo:!0,Cousine:!0,Tinos:!0};ya.prototype.load=function(a){var b=new z,c=this.a,d=new qa(this.c.api,v(c),this.c.text),e=this.c.families;sa(d,e);var f=new ta(e);f.parse();x(c,d.d(),A(b));C(b,function(){a(f.aa,f.I,za)})};function W(a,b){this.a=a;this.c=b;this.X=[]}W.prototype.B=function(a){var b=this.a;return v(this.a)+(this.c.api||"//f.fontdeck.com/s/css/js/")+(b.k.location.hostname||b.F.location.hostname)+"/"+a+".js"}; 37W.prototype.load=function(a){var b=this.c.id,c=this.a.k,d=this;b?(c.__webfontfontdeckmodule__||(c.__webfontfontdeckmodule__={}),c.__webfontfontdeckmodule__[b]=function(b,c){for(var g=0,l=c.fonts.length;g<l;++g){var h=c.fonts[g];d.X.push(new E(h.name,ea("font-weight:"+h.weight+";font-style:"+h.style)))}a(d.X)},y(this.a,this.B(b),function(b){b&&a([])})):a([])};function X(a,b){this.a=a;this.c=b}X.prototype.B=function(a){return(this.c.api||"https://use.typekit.net")+"/"+a+".js"};X.prototype.load=function(a){var b=this.c.id,c=this.a.k;b?y(this.a,this.B(b),function(b){if(b)a([]);else if(c.Typekit&&c.Typekit.config&&c.Typekit.config.fn){b=c.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],l=b[f+1],h=0;h<l.length;
37h++)e.push(new E(g,l[h]));try{c.Typekit.load({events:!1,classes:!1,async:!0})}catch(k){}a(e)}},2E3):a([])};function Y(a,b){this.a=a;this.c=b}Y.prototype.B=function(a,b){var c=v(this.a),d=(this.c.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return c+"//"+d+"/"+a+".js"+(b?"?v="+b:"")}; 38Y.prototype.load=function(a){function b(){if(e["__mti_fntLst"+c]){var d=e["__mti_fntLst"+c](),g=[],l;if(d)for(var h=0;h<d.length;h++){var k=d[h].fontfamily;void 0!=d[h].fontStyle&&void 0!=d[h].fontWeight?(l=d[h].fontStyle+d[h].fontWeight,g.push(new E(k,l))):g.push(new E(k))}a(g)}else setTimeout(function(){b()},50)}var c=this.c.projectId,d=this.c.version;if(c){var e=this.a.k;y(this.a,this.B(c,d),function(c){c?a([]):b()}).id="__MonotypeAPIScript__"+c}else a([])};function Aa(a,b){this.a=a;this.c=b}Aa.prototype.load=function(a){var b,c,d=this.c.urls||[],e=this.c.families||[],f=this.c.testStrings||{},g=new z;b=0;for(c=d.length;b<c;b++)x(this.a,d[b],A(g));var l=[];b=0;for(c=e.length;b<c;b++)if(d=e[b].split(":"),d[1])for(var h=d[1].split(","),k=0;k<h.length;k+=1)l.push(new E(d[0],h[k]));else l.push(new E(d[0]));C(g,function(){a(l,f)})};var Z=new na(window);Z.q.t.custom=function(a,b){return new Aa(b,a)};Z.q.t.fontdeck=function(a,b){return new W(b,a)};Z.q.t.monotype=function(a,b){return new Y(b,a)};Z.q.t.typekit=function(a,b){return new X(b,a)};Z.q.t.google=function(a,b){return new ya(b,a)};var $={load:n(Z.load,Z)};"function"===typeof define&&define.amd?define(function(){return $}):"undefined"!==typeof module&&module.exports?module.exports=$:(window.WebFont=$,window.WebFontConfig&&Z.load(window.WebFontConfig));}()); 39 40!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},r=n(1),a=(o(r),n(6)),u=o(a),c=n(7),f=o(c),s=n(8),d=o(s),l=n(9),p=o(l),m=n(10),b=o(m),v=n(11),y=o(v),g=n(14),h=o(g),w=[],k=!1,x={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},j=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},_=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},S=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},z=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?_():(document.querySelector("body").setAttribute("data-aos-easing",x.easing),document.querySelector("body").setAttribute("data-aos-duration",x.duration),document.querySelector("body").setAttribute("data-aos-delay",x.delay),"DOMContentLoaded"===x.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?j(!0):"load"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener("resize",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("orientationchange",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||(0,d.default)("[data-aos]",O),w)};e.exports={init:z,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(s,t),_?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=O();return c(e)?d(e):void(h=setTimeout(s,a(e)))}function d(e){return h=void 0,z&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),o(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,k=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(f);return t=u(t)||0,i(n)&&(_=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(f);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return s;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?s:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f="Expected a function",s=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(s,t),_?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function f(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=j();return f(e)?d(e):void(h=setTimeout(s,u(e)))}function d(e){return h=void 0,z&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=f(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),i(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,O=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==s}function a(e){if("number"==typeof e)return e;if(r(e))return f;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?f:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",f=NaN,s="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e,t){var n=window.document,r=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,a=new r(o);i=t,a.observe(n.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes
40),o=t.concat(n).filter(function(e){return e.hasAttribute&&e.hasAttribute("data-aos")}).length;o&&i()})}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){};t.default=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,a=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,u=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,c=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
40sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,f=function(){function e(){n(this,e)}return i(e,[{key:"phone",value:function(){var e=o();return!(!r.test(e)&&!a.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=o();return!(!u.test(e)&&!c.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n){var o=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])}); 41var Mobypicture = {}; 42//! moment.js 43//! version : 2.14.1 44//! authors : Tim Wood, Iskren Chernev, Moment.js contributors 45//! license : MIT 46//! momentjs.com 47!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return je.apply(null,arguments)} 48// This is done to register the method called with moment() 49// without creating circular dependencies. 50function b(a){je=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a) 51// even if its not own property I'd still call it non-empty 52return!1;return!0}function f(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function g(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function h(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function i(a,b){for(var c in b)h(b,c)&&(a[c]=b[c]);return h(b,"toString")&&(a.toString=b.toString),h(b,"valueOf")&&(a.valueOf=b.valueOf),a}function j(a,b,c,d){return qb(a,b,c,d,!0).utc()}function k(){ 53// We need to deep clone this object. 54return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invali
vendor: 13,743 bytes, lines 54-117
54dFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function l(a){return null==a._pf&&(a._pf=k()),a._pf}function m(a){if(null==a._isValid){var b=l(a),c=ke.call(b.parsedDateParts,function(a){return null!=a});a._isValid=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c),a._strict&&(a._isValid=a._isValid&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour)}return a._isValid}function n(a){var b=j(NaN);return null!=a?i(l(b),a):l(b).userInvalidated=!0,b}function o(a){return void 0===a}function p(a,b){var c,d,e;if(o(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),o(b._i)||(a._i=b._i),o(b._f)||(a._f=b._f),o(b._l)||(a._l=b._l),o(b._strict)||(a._strict=b._strict),o(b._tzm)||(a._tzm=b._tzm),o(b._isUTC)||(a._isUTC=b._isUTC),o(b._offset)||(a._offset=b._offset),o(b._pf)||(a._pf=l(b)),o(b._locale)||(a._locale=b._locale),le.length>0)for(c in le)d=le[c],e=b[d],o(e)||(a[d]=e);return a} 55// Moment prototype object 56function q(b){p(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),me===!1&&(me=!0,a.updateOffset(this),me=!1)}function r(a){return a instanceof q||null!=a&&null!=a._isAMomentObject}function s(a){return 0>a?Math.ceil(a)||0:Math.floor(a)}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=s(b)),c} 57// compare two arrays, return the number of differences 58function u(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function v(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function w(b,c){var d=!0;return i(function(){return null!=a.deprecationHandler&&a.deprecationHandler(null,b),d&&(v(b+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),d=!1),c.apply(this,arguments)},c)}function x(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),ne[b]||(v(c),ne[b]=!0)}function y(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function z(a){var b,c;for(c in a)b=a[c],y(b)?this[c]=b:this["_"+c]=b;this._config=a, 59// Lenient ordinal parsing accepts just a number in addition to 60// number + (possibly) stuff coming from _ordinalParseLenient. 61this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function A(a,b){var c,e=i({},a);for(c in b)h(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},i(e[c],a[c]),i(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)h(a,c)&&!h(b,c)&&d(a[c])&&( 62// make sure changes to properties don't modify parent config 63e[c]=i({},e[c]));return e}function B(a){null!=a&&this.set(a)}function C(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return y(d)?d.call(b,c):d}function D(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function E(){return this._invalidDate}function F(a){return this._ordinal.replace("%d",a)}function G(a,b,c,d){var e=this._relativeTime[c];return y(e)?e(a,b,c,d):e.replace(/%d/i,a)}function H(a,b){var c=this._relativeTime[a>0?"future":"past"];return y(c)?c(b):c.replace(/%s/i,b)}function I(a,b){var c=a.toLowerCase();we[c]=we[c+"s"]=we[b]=a}function J(a){return"string"==typeof a?we[a]||we[a.toLowerCase()]:void 0}function K(a){var b,c,d={};for(c in a)h(a,c)&&(b=J(c),b&&(d[b]=a[c]));return d}function L(a,b){xe[a]=b}function M(a){var b=[];for(var c in a)b.push({unit:c,priority:xe[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function N(b,c){return function(d){return null!=d?(P(this,b,d),a.updateOffset(this,c),this):O(this,b)}}function O(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function P(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)} 64// MOMENTS 65function Q(a){return a=J(a),y(this[a])?this[a]():this}function R(a,b){if("object"==typeof a){a=K(a);for(var c=M(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=J(a),y(this[a]))return this[a](b);return this}function S(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d} 66// token: 'M' 67// padded: ['MM', 2] 68// ordinal: 'Mo' 69// callback: function () { this.month() + 1 } 70function T(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Be[a]=e),b&&(Be[b[0]]=function(){return S(e.apply(this,arguments),b[1],b[2])}),c&&(Be[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function U(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function V(a){var b,c,d=a.match(ye);for(b=0,c=d.length;c>b;b++)Be[d[b]]?d[b]=Be[d[b]]:d[b]=U(d[b]);return function(b){var e,f="";for(e=0;c>e;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}} 71// format date using native date object 72function W(a,b){return a.isValid()?(b=X(b,a.localeData()),Ae[b]=Ae[b]||V(b),Ae[b](a)):a.localeData().invalidDate()}function X(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(ze.lastIndex=0;d>=0&&ze.test(a);)a=a.replace(ze,c),ze.lastIndex=0,d-=1;return a}function Y(a,b,c){Te[a]=y(b)?b:function(a,d){return a&&c?c:b}}function Z(a,b){return h(Te,a)?Te[a](b._strict,b._locale):new RegExp($(a))} 73// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript 74function $(a){return _(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function _(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function aa(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=t(a)}),c=0;c<a.length;c++)Ue[a[c]]=d}function ba(a,b){aa(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function ca(a,b,c){null!=b&&h(Ue,a)&&Ue[a](b,c._a,c,a)}function da(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function ea(a,b){return c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||cf).test(b)?"format":"standalone"][a.month()]}function fa(a,b){return c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[cf.test(b)?"format":"standalone"][a.month()]}function ga(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for( 75// this is not used 76this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;12>d;++d)f=j([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=pe.call(this._shortMonthsParse,g),-1!==e?e:null):(e=pe.call(this._longMonthsParse,g),-1!==e?e:null):"MMM"===b?(e=pe.call(this._shortMonthsParse,g),-1!==e?e:(e=pe.call(this._longMonthsParse,g),-1!==e?e:null)):(e=pe.call(this._longMonthsParse,g),-1!==e?e:(e=pe.call(this._shortMonthsParse,g),-1!==e?e:null))}function ha(a,b,c){var d,e,f;if(this._monthsParseExact)return ga.call(this,a,b,c); 77// TODO: add sorting 78// Sorting makes sure if one month (or abbr) is a prefix of another 79// see sorting in computeMonthsParse 80for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){ 81// test the regex 82if(e=j([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}} 83// MOMENTS 84function ia(a,b){var c;if(!a.isValid()) 85// No op 86return a;if("string"==typeof b)if(/^\d+$/.test(b))b=t(b);else 87// TODO: Another silent failure? 88if(b=a.localeData().monthsParse(b),"number"!=typeof b)return a;return c=Math.min(a.date(),da(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ja(b){return null!=b?(ia(this,b),a.updateOffset(this,!0),this):O(this,"Month")}function ka(){return da(this.year(),this.month())}function la(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=ff),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function ma(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=gf),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function na(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;12>b;b++)c=j([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for( 89// Sorting makes sure if one month (or abbr) is a prefix of another it 90// will match the longer piece. 91d.sort(a),e.sort(a),f.sort(a),b=0;12>b;b++)d[b]=_(d[b]),e[b]=_(e[b]);for(b=0;24>b;b++)f[b]=_(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")} 92// HELPERS 93function oa(a){return pa(a)?366:365}function pa(a){return a%4===0&&a%100!==0||a%400===0}function qa(){return pa(this.year())}function ra(a,b,c,d,e,f,g){ 94//can't just apply() to create a date: 95//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply 96var h=new Date(a,b,c,d,e,f,g); 97//the date constructor remaps years 0-99 to 1900-1999 98return 100>a&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function sa(a){var b=new Date(Date.UTC.apply(null,arguments)); 99//the Date.UTC function remaps years 0-99 to 1900-1999 100return 100>a&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b} 101// start-of-first-week - start-of-year 102function ta(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other) 103d=7+b-c, 104// first-week day local weekday -- which local weekday is fwd 105e=(7+sa(a,0,d).getUTCDay()-b)%7;return-e+d-1} 106//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday 107function ua(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ta(a,d,e),j=1+7*(b-1)+h+i;return 0>=j?(f=a-1,g=oa(f)+j):j>oa(a)?(f=a+1,g=j-oa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function va(a,b,c){var d,e,f=ta(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return 1>g?(e=a.year()-1,d=g+wa(e,b,c)):g>wa(a.year(),b,c)?(d=g-wa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function wa(a,b,c){var d=ta(a,b,c),e=ta(a+1,b,c);return(oa(a)-d+e)/7} 108// HELPERS 109// LOCALES 110function xa(a){return va(a,this._week.dow,this._week.doy).week}function ya(){return this._week.dow}function za(){return this._week.doy} 111// MOMENTS 112function Aa(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ba(a){var b=va(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")} 113// HELPERS 114function Ca(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Da(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Ea(a,b){return c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]}function Fa(a){return this._weekdaysShort[a.day()]}function Ga(a){return this._weekdaysMin[a.day()]}function Ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;7>d;++d)f=j([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=pe.call(this._weekdaysParse,g),-1!==e?e:null):"ddd"===b?(e=pe.call(this._shortWeekdaysParse,g),-1!==e?e:null):(e=pe.call(this._minWeekdaysParse,g),-1!==e?e:null):"dddd"===b?(e=pe.call(this._weekdaysParse,g),-1!==e?e:(e=pe.call(this._shortWeekdaysParse,g),-1!==e?e:(e=pe.call(this._minWeekdaysParse,g),-1!==e?e:null))):"ddd"===b?(e=pe.call(this._shortWeekdaysParse,g),-1!==e?e:(e=pe.call(this._weekdaysParse,g),-1!==e?e:(e=pe.call(this._minWeekdaysParse,g),-1!==e?e:null))):(e=pe.call(this._minWeekdaysParse,g),-1!==e?e:(e=pe.call(this._weekdaysParse,g),-1!==e?e:(e=pe.call(this._shortWeekdaysParse,g),-1!==e?e:null)))}function Ia(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ha.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;7>d;d++){ 115// test the regex 116if(e=j([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}} 117// MOMENTS
vendor: 1,286 bytes, lines 118-122
118function Ja(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Ca(a,this.localeData()),this.add(a-b,"d")):b}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function La(a){if(!this.isValid())return null!=a?this:NaN; 119// behaves the same as moment#day except 120// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) 121// as a setter, sunday should belong to the previous week. 122if(null!=a){var b=Da(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Ma(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=nf),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Na(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=of),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Oa(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.
vendor: 23,999 bytes, lines 122-332
122call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=pf),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Pa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],k=[];for(b=0;7>b;b++)c=j([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),k.push(d),k.push(e),k.push(f);for( 123// Sorting makes sure if one weekday (or abbr) is a prefix of another it 124// will match the longer piece. 125g.sort(a),h.sort(a),i.sort(a),k.sort(a),b=0;7>b;b++)h[b]=_(h[b]),i[b]=_(i[b]),k[b]=_(k[b]);this._weekdaysRegex=new RegExp("^("+k.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")} 126// FORMATTING 127function Qa(){return this.hours()%12||12}function Ra(){return this.hours()||24}function Sa(a,b){T(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})} 128// PARSING 129function Ta(a,b){return b._meridiemParse} 130// LOCALES 131function Ua(a){ 132// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays 133// Using charAt should be more compatible. 134return"p"===(a+"").toLowerCase().charAt(0)}function Va(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wa(a){return a?a.toLowerCase().replace("_","-"):a} 135// pick the locale from the array 136// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each 137// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root 138function Xa(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Wa(a[f]).split("-"),b=e.length,c=Wa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Ya(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&u(e,c,!0)>=b-1) 139//the next array item is better than a shallower substring of this one 140break;b--}f++}return null}function Ya(a){var b=null; 141// TODO: Find a better way to register and load all the locales in Node 142if(!uf[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=qf._abbr,require("./locale/"+a), 143// because defineLocale currently also sets the global locale, we 144// want to undo that for lazy loaded locales 145Za(b)}catch(c){}return uf[a]} 146// This function will load locale and then set the global locale. If 147// no arguments are passed in, it will simply return the current global 148// locale key. 149function Za(a,b){var c; 150// moment.duration._locale = moment._locale = data; 151return a&&(c=o(b)?ab(a):$a(a,b),c&&(qf=c)),qf._abbr}function $a(a,b){if(null!==b){var c=tf; 152// treat as if there is no base config 153// backwards compat for now: also set the locale 154return b.abbr=a,null!=uf[a]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=uf[a]._config):null!=b.parentLocale&&(null!=uf[b.parentLocale]?c=uf[b.parentLocale]._config:x("parentLocaleUndefined","specified parentLocale is not defined yet. See http://momentjs.com/guides/#/warnings/parent-locale/")),uf[a]=new B(A(c,b)),Za(a),uf[a]} 155// useful for testing 156return delete uf[a],null}function _a(a,b){if(null!=b){var c,d=tf; 157// MERGE 158null!=uf[a]&&(d=uf[a]._config),b=A(d,b),c=new B(b),c.parentLocale=uf[a],uf[a]=c, 159// backwards compat for now: also set the locale 160Za(a)}else 161// pass null for config to unupdate, useful for tests 162null!=uf[a]&&(null!=uf[a].parentLocale?uf[a]=uf[a].parentLocale:null!=uf[a]&&delete uf[a]);return uf[a]} 163// returns locale data 164function ab(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return qf;if(!c(a)){if(b=Ya(a))return b;a=[a]}return Xa(a)}function bb(){return oe(uf)}function cb(a){var b,c=a._a;return c&&-2===l(a).overflow&&(b=c[We]<0||c[We]>11?We:c[Xe]<1||c[Xe]>da(c[Ve],c[We])?Xe:c[Ye]<0||c[Ye]>24||24===c[Ye]&&(0!==c[Ze]||0!==c[$e]||0!==c[_e])?Ye:c[Ze]<0||c[Ze]>59?Ze:c[$e]<0||c[$e]>59?$e:c[_e]<0||c[_e]>999?_e:-1,l(a)._overflowDayOfYear&&(Ve>b||b>Xe)&&(b=Xe),l(a)._overflowWeeks&&-1===b&&(b=af),l(a)._overflowWeekday&&-1===b&&(b=bf),l(a).overflow=b),a} 165// date from iso format 166function db(a){var b,c,d,e,f,g,h=a._i,i=vf.exec(h)||wf.exec(h);if(i){for(l(a).iso=!0,b=0,c=yf.length;c>b;b++)if(yf[b][1].exec(i[1])){e=yf[b][0],d=yf[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=zf.length;c>b;b++)if(zf[b][1].exec(i[3])){ 167// match[2] should be 'T' or space 168f=(i[2]||" ")+zf[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!xf.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),jb(a)}else a._isValid=!1} 169// date from iso format or fallback 170function eb(b){var c=Af.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(db(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))} 171// Pick the first defined of two or three arguments. 172function fb(a,b,c){return null!=a?a:null!=b?b:c}function gb(b){ 173// hooks is actually the exported moment object 174var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]} 175// convert an array to a date. 176// the array should mirror the parameters below 177// note: all values past the year are optional and will default to the lowest possible value. 178// [year, month, day , hour, minute, second, millisecond] 179function hb(a){var b,c,d,e,f=[];if(!a._d){ 180// Default to current date. 181// * if no year, month, day of month are given, default to today 182// * if day of month is given, default month and year 183// * if month is given, default only year 184// * if year is given, don't default anything 185for(d=gb(a),a._w&&null==a._a[Xe]&&null==a._a[We]&&ib(a),a._dayOfYear&&(e=fb(a._a[Ve],d[Ve]),a._dayOfYear>oa(e)&&(l(a)._overflowDayOfYear=!0),c=sa(e,0,a._dayOfYear),a._a[We]=c.getUTCMonth(),a._a[Xe]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b]; 186// Zero out whatever was not defaulted, including time 187for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b]; 188// Check for 24:00:00.000 18924===a._a[Ye]&&0===a._a[Ze]&&0===a._a[$e]&&0===a._a[_e]&&(a._nextDay=!0,a._a[Ye]=0),a._d=(a._useUTC?sa:ra).apply(null,f), 190// Apply timezone offset from input. The actual utcOffset can be changed 191// with parseZone. 192null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[Ye]=24)}}function ib(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=fb(b.GG,a._a[Ve],va(rb(),1,4).year),d=fb(b.W,1),e=fb(b.E,1),(1>e||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=fb(b.gg,a._a[Ve],va(rb(),f,g).year),d=fb(b.w,1),null!=b.d?(e=b.d,(0>e||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),1>d||d>wa(c,f,g)?l(a)._overflowWeeks=!0:null!=i?l(a)._overflowWeekday=!0:(h=ua(c,d,e,f,g),a._a[Ve]=h.year,a._dayOfYear=h.dayOfYear)} 193// date from string and format string 194function jb(b){ 195// TODO: Move this to another part of the creation flow to prevent circular deps 196if(b._f===a.ISO_8601)return void db(b);b._a=[],l(b).empty=!0; 197// This array is used to make a Date, either with `new Date` or `Date.UTC` 198var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=X(b._f,b._locale).match(ye)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(Z(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&l(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Be[f]?(d?l(b).empty=!1:l(b).unusedTokens.push(f),ca(f,d,b)):b._strict&&!d&&l(b).unusedTokens.push(f); 199// add remaining unparsed input length to the string 200l(b).charsLeftOver=i-j,h.length>0&&l(b).unusedInput.push(h), 201// clear _12h flag if hour is <= 12 202b._a[Ye]<=12&&l(b).bigHour===!0&&b._a[Ye]>0&&(l(b).bigHour=void 0),l(b).parsedDateParts=b._a.slice(0),l(b).meridiem=b._meridiem, 203// handle meridiem 204b._a[Ye]=kb(b._locale,b._a[Ye],b._meridiem),hb(b),cb(b)}function kb(a,b,c){var d; 205// Fallback 206return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b} 207// date from string and array of format strings 208function lb(a){var b,c,d,e,f;if(0===a._f.length)return l(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=p({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],jb(b),m(b)&&(f+=l(b).charsLeftOver,f+=10*l(b).unusedTokens.length,l(b).score=f,(null==d||d>f)&&(d=f,c=b));i(a,c||b)}function mb(a){if(!a._d){var b=K(a._i);a._a=g([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),hb(a)}}function nb(a){var b=new q(cb(ob(a))); 209// Adding is smart enough around DST 210return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function ob(a){var b=a._i,d=a._f;return a._locale=a._locale||ab(a._l),null===b||void 0===d&&""===b?n({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),r(b)?new q(cb(b)):(c(d)?lb(a):f(b)?a._d=b:d?jb(a):pb(a),m(a)||(a._d=null),a))}function pb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):f(d)?b._d=new Date(d.valueOf()):"string"==typeof d?eb(b):c(d)?(b._a=g(d.slice(0),function(a){return parseInt(a,10)}),hb(b)):"object"==typeof d?mb(b):"number"==typeof d? 211// from milliseconds 212b._d=new Date(d):a.createFromInputFallback(b)}function qb(a,b,f,g,h){var i={}; 213// object construction must be done this way. 214// https://github.com/moment/moment/issues/1423 215return"boolean"==typeof f&&(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,nb(i)}function rb(a,b,c,d){return qb(a,b,c,d,!1)} 216// Pick a moment m from moments so that m[fn](other) is true for all 217// other. This relies on the function fn to be transitive. 218// 219// moments should either be an array of moment objects or an array, whose 220// first element is an array of moment objects. 221function sb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return rb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d} 222// TODO: Use [].sort instead? 223function tb(){var a=[].slice.call(arguments,0);return sb("isBefore",a)}function ub(){var a=[].slice.call(arguments,0);return sb("isAfter",a)}function vb(a){var b=K(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0; 224// representation for dateAddRemove 225this._milliseconds=+k+1e3*j+// 1000 2266e4*i+// 1000 * 60 2271e3*h*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 228// Because of dateAddRemove treats 24 hours as different from a 229// day when working around DST, we need to store them separately 230this._days=+g+7*f, 231// It is impossible translate months into days without knowing 232// which months you are are talking about, so we have to store 233// it separately. 234this._months=+e+3*d+12*c,this._data={},this._locale=ab(),this._bubble()}function wb(a){return a instanceof vb} 235// FORMATTING 236function xb(a,b){T(a,0,0,function(){var a=this.utcOffset(),c="+";return 0>a&&(a=-a,c="-"),c+S(~~(a/60),2)+b+S(~~a%60,2)})}function yb(a,b){var c=(b||"").match(a)||[],d=c[c.length-1]||[],e=(d+"").match(Ef)||["-",0,0],f=+(60*e[1])+t(e[2]);return"+"===e[0]?f:-f} 237// Return a moment from input, that is local/utc/zone equivalent to model. 238function zb(b,c){var d,e; 239// Use low-level api, because this fn is low-level api. 240return c._isUTC?(d=c.clone(),e=(r(b)||f(b)?b.valueOf():rb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):rb(b).local()}function Ab(a){ 241// On Firefox.24 Date#getTimezoneOffset returns a floating point. 242// https://github.com/moment/moment/pull/1871 243return 15*-Math.round(a._d.getTimezoneOffset()/15)} 244// MOMENTS 245// keepLocalTime = true means only change the timezone, without 246// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> 247// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset 248// +0200, so we adjust the time as needed, to be valid. 249// 250// Keeping the time actually adds/subtracts (one hour) 251// from the actual represented time. That is why we call updateOffset 252// a second time. In case it wants us to change the offset again 253// _changeInProgress == true case, then we have to adjust, because 254// there is no such time in the given timezone. 255function Bb(b,c){var d,e=this._offset||0;return this.isValid()?null!=b?("string"==typeof b?b=yb(Qe,b):Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ab(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Sb(this,Mb(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ab(this):null!=b?this:NaN}function Cb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Db(a){return this.utcOffset(0,a)}function Eb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ab(this),"m")),this}function Fb(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(yb(Pe,this._i)),this}function Gb(a){return this.isValid()?(a=a?rb(a).utcOffset():0,(this.utcOffset()-a)%60===0):!1}function Hb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ib(){if(!o(this._isDSTShifted))return this._isDSTShifted;var a={};if(p(a,this),a=ob(a),a._a){var b=a._isUTC?j(a._a):rb(a._a);this._isDSTShifted=this.isValid()&&u(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Jb(){return this.isValid()?!this._isUTC:!1}function Kb(){return this.isValid()?this._isUTC:!1}function Lb(){return this.isValid()?this._isUTC&&0===this._offset:!1}function Mb(a,b){var c,d,e,f=a, 256// matching against regexp is expensive, do it on demand 257g=null;// checks for null or undefined 258return wb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=Ff.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[Xe])*c,h:t(g[Ye])*c,m:t(g[Ze])*c,s:t(g[$e])*c,ms:t(g[_e])*c}):(g=Gf.exec(a))?(c="-"===g[1]?-1:1,f={y:Nb(g[2],c),M:Nb(g[3],c),w:Nb(g[4],c),d:Nb(g[5],c),h:Nb(g[6],c),m:Nb(g[7],c),s:Nb(g[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Pb(rb(f.from),rb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new vb(f),wb(a)&&h(a,"_locale")&&(d._locale=a._locale),d}function Nb(a,b){ 259// We'd normally use ~~inp for this, but unfortunately it also 260// converts floats to ints. 261// inp may be undefined, so careful calling replace on it. 262var c=a&&parseFloat(a.replace(",",".")); 263// apply sign while we're at it 264return(isNaN(c)?0:c)*b}function Ob(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Pb(a,b){var c;return a.isValid()&&b.isValid()?(b=zb(b,a),a.isBefore(b)?c=Ob(a,b):(c=Ob(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Qb(a){return 0>a?-1*Math.round(-1*a):Math.round(a)} 265// TODO: remove 'name' arg after deprecation is removed 266function Rb(a,b){return function(c,d){var e,f; 267//invert the arguments, but complain about it 268return null===d||isNaN(+d)||(x(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Mb(c,d),Sb(this,e,a),this}}function Sb(b,c,d,e){var f=c._milliseconds,g=Qb(c._days),h=Qb(c._months);b.isValid()&&(e=null==e?!0:e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&P(b,"Date",O(b,"Date")+g*d),h&&ia(b,O(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Tb(a,b){var c=a.diff(b,"days",!0);return-6>c?"sameElse":-1>c?"lastWeek":0>c?"lastDay":1>c?"sameDay":2>c?"nextDay":7>c?"nextWeek":"sameElse"}function Ub(b,c){ 269// We want to compare the start of today, vs this. 270// Getting start-of-today depends on whether we're local/utc/offset or not. 271var d=b||rb(),e=zb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(y(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,rb(d)))}function Vb(){return new q(this)}function Wb(a,b){var c=r(a)?a:rb(a);return this.isValid()&&c.isValid()?(b=J(o(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf()):!1}function Xb(a,b){var c=r(a)?a:rb(a);return this.isValid()&&c.isValid()?(b=J(o(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf()):!1}function Yb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function Zb(a,b){var c,d=r(a)?a:rb(a);return this.isValid()&&d.isValid()?(b=J(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf())):!1}function $b(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function _b(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function ac(a,b,c){var d,e,f,g;// 1000 272// 1000 * 60 273// 1000 * 60 * 60 274// 1000 * 60 * 60 * 24, negate dst 275// 1000 * 60 * 60 * 24 * 7, negate dst 276return this.isValid()?(d=zb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=J(b),"year"===b||"month"===b||"quarter"===b?(g=bc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:s(g)):NaN):NaN}function bc(a,b){ 277// difference in months 278var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()), 279// b is in (anchor - 1 month, anchor + 1 month) 280f=a.clone().add(e,"months"); 281//check for negative zero, return zero if negative zero 282// linear across the month 283// linear across the month 284return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function cc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function dc(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?y(Date.prototype.toISOString)?this.toDate().toISOString():W(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):W(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function ec(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=W(this,b);return this.localeData().postformat(c)}function fc(a,b){return this.isValid()&&(r(a)&&a.isValid()||rb(a).isValid())?Mb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function gc(a){return this.from(rb(),a)}function hc(a,b){return this.isValid()&&(r(a)&&a.isValid()||rb(a).isValid())?Mb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.to(rb(),a)} 285// If passed a locale key, it will set the locale for this 286// instance. Otherwise, it will return the locale configuration 287// variables for this instance. 288function jc(a){var b;return void 0===a?this._locale._abbr:(b=ab(a),null!=b&&(this._locale=b),this)}function kc(){return this._locale}function lc(a){ 289// the following switch intentionally omits break keywords 290// to utilize falling through the cases. 291switch(a=J(a)){case"year":this.month(0);/* falls through */ 292case"quarter":case"month":this.date(1);/* falls through */ 293case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */ 294case"hour":this.minutes(0);/* falls through */ 295case"minute":this.seconds(0);/* falls through */ 296case"second":this.milliseconds(0)} 297// weeks are a special case 298// quarters are also special 299return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function mc(a){ 300// 'date' is an alias for 'day', so it should be considered as such. 301return a=J(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function nc(){return this._d.valueOf()-6e4*(this._offset||0)}function oc(){return Math.floor(this.valueOf()/1e3)}function pc(){return new Date(this.valueOf())}function qc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function rc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function sc(){ 302// new Date(NaN).toJSON() === null 303return this.isValid()?this.toISOString():null}function tc(){return m(this)}function uc(){return i({},l(this))}function vc(){return l(this).overflow}function wc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function xc(a,b){T(0,[a,a.length],0,b)} 304// MOMENTS 305function yc(a){return Cc.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function zc(a){return Cc.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Ac(){return wa(this.year(),1,4)}function Bc(){var a=this.localeData()._week;return wa(this.year(),a.dow,a.doy)}function Cc(a,b,c,d,e){var f;return null==a?va(this,d,e).year:(f=wa(a,d,e),b>f&&(b=f),Dc.call(this,a,b,c,d,e))}function Dc(a,b,c,d,e){var f=ua(a,b,c,d,e),g=sa(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this} 306// MOMENTS 307function Ec(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)} 308// HELPERS 309// MOMENTS 310function Fc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Gc(a,b){b[_e]=t(1e3*("0."+a))} 311// MOMENTS 312function Hc(){return this._isUTC?"UTC":""}function Ic(){return this._isUTC?"Coordinated Universal Time":""}function Jc(a){return rb(1e3*a)}function Kc(){return rb.apply(null,arguments).parseZone()}function Lc(a){return a}function Mc(a,b,c,d){var e=ab(),f=j().set(d,b);return e[c](f,a)}function Nc(a,b,c){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return Mc(a,b,c,"month");var d,e=[];for(d=0;12>d;d++)e[d]=Mc(a,d,c,"month");return e} 313// () 314// (5) 315// (fmt, 5) 316// (fmt) 317// (true) 318// (true, 5) 319// (true, fmt, 5) 320// (true, fmt) 321function Oc(a,b,c,d){"boolean"==typeof a?("number"==typeof b&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,"number"==typeof b&&(c=b,b=void 0),b=b||"");var e=ab(),f=a?e._week.dow:0;if(null!=c)return Mc(b,(c+f)%7,d,"day");var g,h=[];for(g=0;7>g;g++)h[g]=Mc(b,(g+f)%7,d,"day");return h}function Pc(a,b){return Nc(a,b,"months")}function Qc(a,b){return Nc(a,b,"monthsShort")}function Rc(a,b,c){return Oc(a,b,c,"weekdays")}function Sc(a,b,c){return Oc(a,b,c,"weekdaysShort")}function Tc(a,b,c){return Oc(a,b,c,"weekdaysMin")}function Uc(){var a=this._data;return this._milliseconds=Sf(this._milliseconds),this._days=Sf(this._days),this._months=Sf(this._months),a.milliseconds=Sf(a.milliseconds),a.seconds=Sf(a.seconds),a.minutes=Sf(a.minutes),a.hours=Sf(a.hours),a.months=Sf(a.months),a.years=Sf(a.years),this}function Vc(a,b,c,d){var e=Mb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()} 322// supports only 2.0-style add(1, 's') or add(duration) 323function Wc(a,b){return Vc(this,a,b,1)} 324// supports only 2.0-style subtract(1, 's') or subtract(duration) 325function Xc(a,b){return Vc(this,a,b,-1)}function Yc(a){return 0>a?Math.floor(a):Math.ceil(a)}function Zc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data; 326// if we have a mix of positive and negative values, bubble down first 327// check: https://github.com/moment/moment/issues/2166 328// The following code bubbles up values, see the tests for 329// examples of what that means. 330// convert days to months 331// 12 months -> 1 year 332return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>
332=h||(f+=864e5*Yc(_c(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=s(f/1e3),i.seconds=a%60,b=s(a/60),i.minutes=b%60,c=s(b/60),i.hours=c%24,g+=s(c/24),e=s($c(g)),h+=e,g-=Yc(_c(e)),d=s(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function $c(a){ 333// 400 years have 146097 days (taking into account leap year rules) 334// 400 years have 12 months === 4800 335return 4800*a/146097}function _c(a){ 336// the reverse of daysToMonths 337return 146097*a/4800}function ad(a){var b,c,d=this._milliseconds;if(a=J(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+$c(b),"month"===a?c:c/12;switch(b=this._days+Math.round(_c(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3; 338// Math.floor prevents floating point math errors here 339case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}} 340// TODO: Use this.as('ms')? 341function bd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)}function cd(a){return function(){return this.as(a)}}function dd(a){return a=J(a),this[a+"s"]()}function ed(a){return function(){return this._data[a]}}function fd(){return s(this.days()/7)} 342// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize 343function gd(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function hd(a,b,c){var d=Mb(a).abs(),e=gg(d.as("s")),f=gg(d.as("m")),g=gg(d.as("h")),h=gg(d.as("d")),i=gg(d.as("M")),j=gg(d.as("y")),k=e<hg.s&&["s",e]||1>=f&&["m"]||f<hg.m&&["mm",f]||1>=g&&["h"]||g<hg.h&&["hh",g]||1>=h&&["d"]||h<hg.d&&["dd",h]||1>=i&&["M"]||i<hg.M&&["MM",i]||1>=j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,gd.apply(null,k)} 344// This function allows you to set the rounding function for relative time strings 345function id(a){return void 0===a?gg:"function"==typeof a?(gg=a,!0):!1} 346// This function allows you to set a threshold for relative time strings 347function jd(a,b){return void 0===hg[a]?!1:void 0===b?hg[a]:(hg[a]=b,!0)}function kd(a){var b=this.localeData(),c=hd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function ld(){ 348// for ISO strings we do not use the normal bubbling rules: 349// * milliseconds bubble up until they become hours 350// * days do not bubble at all 351// * months bubble up until they become years 352// This is because there is no context-free conversion between hours and days 353// (think of clock changes) 354// and also not between days and months (28-31 days per month) 355var a,b,c,d=ig(this._milliseconds)/1e3,e=ig(this._days),f=ig(this._months);a=s(d/60),b=s(a/60),d%=60,a%=60,c=s(f/12),f%=12; 356// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js 357var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}function md(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function nd(a,b,c){var d={mm:b?"Ñ Ð²ÑлÑна_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн":"Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн",hh:b?"гадзÑна_гадзÑнÑ_гадзÑн":"гадзÑнÑ_гадзÑнÑ_гадзÑн",dd:"дзенÑ_днÑ_дзÑн",MM:"меÑÑÑ_меÑÑÑÑ_меÑÑÑаÑ",yy:"год_гадÑ_гадоÑ"};return"m"===c?b?"Ñ Ð²ÑлÑна":"Ñ Ð²ÑлÑнÑ":"h"===c?b?"гадзÑна":"гадзÑнÑ":a+" "+md(d[c],+a)}function od(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+rd(d[c],a)}function pd(a){switch(qd(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function qd(a){return a>9?qd(a%10):a}function rd(a,b){return 2===b?sd(a):a}function sd(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)}function td(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function ud(a){return a>1&&5>a&&1!==~~(a/10)}function vd(a,b,c,d){var e=a+" ";switch(c){case"s":// a few seconds / in a few seconds / a few seconds ago 358return b||d?"pár sekund":"pár sekundami";case"m":// a minute / in a minute / a minute ago 359return b?"minuta":d?"minutu":"minutou";case"mm":// 9 minutes / in 9 minutes / 9 minutes ago 360// 9 minutes / in 9 minutes / 9 minutes ago 361return b||d?e+(ud(a)?"minuty":"minut"):e+"minutami";break;case"h":// an hour / in an hour / an hour ago 362return b?"hodina":d?"hodinu":"hodinou";case"hh":// 9 hours / in 9 hours / 9 hours ago 363// 9 hours / in 9 hours / 9 hours ago 364return b||d?e+(ud(a)?"hodiny":"hodin"):e+"hodinami";break;case"d":// a day / in a day / a day ago 365return b||d?"den":"dnem";case"dd":// 9 days / in 9 days / 9 days ago 366// 9 days / in 9 days / 9 days ago 367return b||d?e+(ud(a)?"dny":"dnÃ"):e+"dny";break;case"M":// a month / in a month / a month ago 368return b||d?"mÄsÃc":"mÄsÃcem";case"MM":// 9 months / in 9 months / 9 months ago 369// 9 months / in 9 months / 9 months ago 370return b||d?e+(ud(a)?"mÄsÃce":"mÄsÃců"):e+"mÄsÃci";break;case"y":// a year / in a year / a year ago 371return b||d?"rok":"rokem";case"yy":// 9 years / in 9 years / 9 years ago 372// 9 years / in 9 years / 9 years ago 373return b||d?e+(ud(a)?"roky":"let"):e+"lety"}}function wd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}function xd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}function yd(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function zd(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Ad(a,d)+" "+e}function Ad(a,b){return 10>a?b?Jg[a]:Ig[a]:a}function Bd(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Cd(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function Dd(a){return(a?"":"[múlt] ")+"["+Tg[this.day()]+"] LT[-kor]"}function Ed(a){return a%100===11?!0:a%10!==1}function Fd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekúndur":"nokkrum sekúndum";
373case"m":return b?"mÃnúta":"mÃnútu";case"mm":return Ed(a)?e+(b||d?"mÃnútur":"mÃnútum"):b?e+"mÃnúta":e+"mÃnútu";case"hh":return Ed(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return Ed(a)?b?e+"dagar":e+(d?"daga":"dögum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mánuður":d?"mánuð":"mánuði";case"MM":return Ed(a)?b?e+"mánuðir":e+(d?"mánuði":"mánuðum"):b?e+"mánuður":e+(d?"mánuð":"mánuði");case"y":return b||d?"ár":"ári";case"yy":return Ed(a)?e+(b||d?"ár":"árum"):e+(b||d?"ár":"ári")}}function Gd(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function Hd(a){var b=a.substr(0,a.indexOf(" "));return Jd(b)?"a "+a:"an "+a}function Id(a){var b=a.substr(0,a.indexOf(" "));return Jd(b)?"viru "+a:"virun "+a}/** 374 * Returns true if the word before the given number loses the '-n' ending. 375 * e.g. 'an 10 Deeg' but 'a 5 Deeg' 376 * 377 * @param number {integer} 378 * @returns {boolean} 379 */ 380function Jd(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a) 381// Negative Number --> always true 382return!0;if(10>a) 383// Only 1 digit 384return a>=4&&7>=a;if(100>a){ 385// 2 digits 386var b=a%10,c=a/10;return Jd(0===b?c:b)}if(1e4>a){ 387// 3 or 4 digits --> recursively check first digit 388for(;a>=10;)a/=10;return Jd(a)} 389// Anything larger than 4 digits: recursively check first n-3 digits 390return a/=1e3,Jd(a)}function Kd(a,b,c,d){return b?"kelios sekundÄs":d?"kelių sekundžių":"kelias sekundes"}function Ld(a,b,c,d){return b?Nd(c)[0]:d?Nd(c)[1]:Nd(c)[2]}function Md(a){return a%10===0||a>10&&20>a}function Nd(a){return Wg[a].split("_")}function Od(a,b,c,d){var e=a+" ";return 1===a?e+Ld(a,b,c[0],d):b?e+(Md(a)?Nd(c)[1]:Nd(c)[0]):d?e+Nd(c)[1]:e+(Md(a)?Nd(c)[1]:Nd(c)[2])}/** 391 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. 392 */ 393function Pd(a,b,c){return c?b%10===1&&b%100!==11?a[2]:a[3]:b%10===1&&b%100!==11?a[0]:a[1]}function Qd(a,b,c){return a+" "+Pd(Xg[c],a,b)}function Rd(a,b,c){return Pd(Xg[c],a,b)}function Sd(a,b){return b?"dažas sekundes":"dažÄm sekundÄm"}function Td(a,b,c,d){var e="";if(b)switch(c){case"s":e="à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦";break;case"m":e="à¤à¤ मिनिà¤";break;case"mm":e="%d मिनिà¤à¥";break;case"h":e="à¤à¤ तास";break;case"hh":e="%d तास";break;case"d":e="à¤à¤ दिवस";break;case"dd":e="%d दिवस";break;case"M":e="à¤à¤ महिना";break;case"MM":e="%d महिनà¥";break;case"y":e="à¤à¤ वरà¥à¤·";break;case"yy":e="%d वरà¥à¤·à¥"}else switch(c){case"s":e="à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦à¤¾à¤";break;case"m":e="à¤à¤à¤¾ मिनिà¤à¤¾";break;case"mm":e="%d मिनिà¤à¤¾à¤";break;case"h":e="à¤à¤à¤¾ तासा";break;case"hh":e="%d तासाà¤";break;case"d":e="à¤à¤à¤¾ दिवसा";break;case"dd":e="%d दिवसाà¤";break;case"M":e="à¤à¤à¤¾ महिनà¥à¤¯à¤¾";break;case"MM":e="%d महिनà¥à¤¯à¤¾à¤";break;case"y":e="à¤à¤à¤¾ वरà¥à¤·à¤¾";break;case"yy":e="%d वरà¥à¤·à¤¾à¤"}return e.replace(/%d/i,a)}function Ud(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function Vd(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutÄ";case"mm":return d+(Ud(a)?"minuty":"minut");case"h":return b?"godzina":"godzinÄ";case"hh":return d+(Ud(a)?"godziny":"godzin");case"MM":return d+(Ud(a)?"miesiÄ ce":"miesiÄcy");case"yy":return d+(Ud(a)?"lata":"lat")}}function Wd(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}function Xd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Yd(a,b,c){var d={mm:b?"минÑÑа_минÑÑÑ_минÑÑ":"минÑÑÑ_минÑÑÑ_минÑÑ",hh:"ÑаÑ_ÑаÑа_ÑаÑов",dd:"денÑ_днÑ_дней",MM:"меÑÑÑ_меÑÑÑа_меÑÑÑев",yy:"год_года_леÑ"};
393return"m"===c?b?"минÑÑа":"минÑÑÑ":a+" "+Xd(d[c],+a)}function Zd(a){return a>1&&5>a}function $d(a,b,c,d){var e=a+" ";switch(c){case"s":// a few seconds / in a few seconds / a few seconds ago 394return b||d?"pár sekúnd":"pár sekundami";case"m":// a minute / in a minute / a minute ago 395return b?"minúta":d?"minútu":"minútou";case"mm":// 9 minutes / in 9 minutes / 9 minutes ago 396// 9 minutes / in 9 minutes / 9 minutes ago 397return b||d?e+(Zd(a)?"minúty":"minút"):e+"minútami";break;case"h":// an hour / in an hour / an hour ago 398return b?"hodina":d?"hodinu":"hodinou";case"hh":// 9 hours / in 9 hours / 9 hours ago 399// 9 hours / in 9 hours / 9 hours ago 400return b||d?e+(Zd(a)?"hodiny":"hodÃn"):e+"hodinami";break;case"d":// a day / in a day / a day ago 401return b||d?"deÅ":"dÅom";case"dd":// 9 days / in 9 days / 9 days ago 402// 9 days / in 9 days / 9 days ago 403return b||d?e+(Zd(a)?"dni":"dnÃ"):e+"dÅami";break;case"M":// a month / in a month / a month ago 404return b||d?"mesiac":"mesiacom";case"MM":// 9 months / in 9 months / 9 months ago 405// 9 months / in 9 months / 9 months ago 406return b||d?e+(Zd(a)?"mesiace":"mesiacov"):e+"mesiacmi";break;case"y":// a year / in a year / a year ago 407return b||d?"rok":"rokom";case"yy":// 9 years / in 9 years / 9 years ago 408// 9 years / in 9 years / 9 years ago 409return b||d?e+(Zd(a)?"roky":"rokov"):e+"rokmi"}}function _d(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}function ae(a){var b=a;return b=-1!==a.indexOf("jaj")?b.slice(0,-3)+"leS":-1!==a.indexOf("jar")?b.slice(0,-3)+"waQ":-1!==a.indexOf("DIS")?b.slice(0,-3)+"nem":b+" pIq"}function be(a){var b=a;return b=-1!==a.indexOf("jaj")?b.slice(0,-3)+"Huâ":-1!==a.indexOf("jar")?b.slice(0,-3)+"wen":-1!==a.indexOf("DIS")?b.slice(0,-3)+"ben":b+" ret"}function ce(a,b,c,d){var e=de(a);switch(c){case"mm":return e+" tup";case"hh":return e+" rep";case"dd":return e+" jaj";case"MM":return e+" jar";case"yy":return e+" DIS"}}function de(a){var b=Math.floor(a%1e3/100),c=Math.floor(a%100/10),d=a%10,e="";return b>0&&(e+=qh[b]+"vatlh"),c>0&&(e+=(""!==e?" ":"")+qh[c]+"maH"),d>0&&(e+=(""!==e?" ":"")+qh[d]),""===e?"pagh":e}function ee(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n mÃut","'iens mÃut"],mm:[a+" mÃuts",""+a+" mÃuts"],h:["'n þora","'iensa þora"],hh:[a+" þoras",""+a+" þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",""+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",""+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",""+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1]}function fe(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function ge(a,b,c){var d={mm:b?"Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½":"Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½",hh:b?"година_години_годин":"годинÑ_години_годин",dd:"денÑ_днÑ_днÑв",MM:"мÑÑÑÑÑ_мÑÑÑÑÑ_мÑÑÑÑÑв",yy:"ÑÑк_Ñоки_ÑокÑв"};return"m"===c?b?"Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°":"Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ":"h"===c?b?"година":"годинÑ":a+" "+fe(d[c],+a)}function he(a,b){var c={nominative:"недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑеда_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑа".split("_"),accusative:"недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑедÑ_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑÑ".split("_"),genitive:"недÑлÑ_понедÑлка_вÑвÑоÑка_ÑеÑеди_ÑеÑвеÑга_пâÑÑниÑÑ_ÑÑбоÑи".split("_")},d=/(\[[ÐвУÑ]\]) ?dddd/.test(b)?"accusative":/\[?(?:минÑлоÑ|наÑÑÑпноÑ)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function ie(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var je,ke;ke=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;c>d;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1}; 410// Plugins that add properties should also add the key here (null value), 411// so we can properly clone ourselves. 412var le=a.momentProperties=[],me=!1,ne={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var oe;oe=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)h(a,b)&&c.push(b);return c};var pe,qe={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},re={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},se="Invalid date",te="%d",ue=/\d{1,2}/,ve={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},we={},xe={},ye=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}
vendor: 11,819 bytes, lines 412-562
412|x|X|zz?|ZZ?|.)/g,ze=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ae={},Be={},Ce=/\d/,De=/\d\d/,Ee=/\d{3}/,Fe=/\d{4}/,Ge=/[+-]?\d{6}/,He=/\d\d?/,Ie=/\d\d\d\d?/,Je=/\d\d\d\d\d\d?/,Ke=/\d{1,3}/,Le=/\d{1,4}/,Me=/[+-]?\d{1,6}/,Ne=/\d+/,Oe=/[+-]?\d+/,Pe=/Z|[+-]\d\d:?\d\d/gi,Qe=/Z|[+-]\d\d(?::?\d\d)?/gi,Re=/[+-]?\d+(\.\d{1,3})?/,Se=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Te={},Ue={},Ve=0,We=1,Xe=2,Ye=3,Ze=4,$e=5,_e=6,af=7,bf=8;pe=Array.prototype.indexOf?Array.prototype.indexOf:function(a){ 413// I know 414var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1},T("M",["MM",2],"Mo",function(){return this.month()+1}),T("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),T("MMMM",0,0,function(a){return this.localeData().months(this,a)}),I("month","M"),L("month",8),Y("M",He),Y("MM",He,De),Y("MMM",function(a,b){return b.monthsShortRegex(a)}),Y("MMMM",function(a,b){return b.monthsRegex(a)}),aa(["M","MM"],function(a,b){b[We]=t(a)-1}),aa(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[We]=e:l(c).invalidMonth=a}); 415// LOCALES 416var cf=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,df="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ef="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ff=Se,gf=Se; 417// FORMATTING 418T("Y",0,0,function(){var a=this.year();return 9999>=a?""+a:"+"+a}),T(0,["YY",2],0,function(){return this.year()%100}),T(0,["YYYY",4],0,"year"),T(0,["YYYYY",5],0,"year"),T(0,["YYYYYY",6,!0],0,"year"), 419// ALIASES 420I("year","y"), 421// PRIORITIES 422L("year",1), 423// PARSING 424Y("Y",Oe),Y("YY",He,De),Y("YYYY",Le,Fe),Y("YYYYY",Me,Ge),Y("YYYYYY",Me,Ge),aa(["YYYYY","YYYYYY"],Ve),aa("YYYY",function(b,c){c[Ve]=2===b.length?a.parseTwoDigitYear(b):t(b)}),aa("YY",function(b,c){c[Ve]=a.parseTwoDigitYear(b)}),aa("Y",function(a,b){b[Ve]=parseInt(a,10)}), 425// HOOKS 426a.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)}; 427// MOMENTS 428var hf=N("FullYear",!0); 429// FORMATTING 430T("w",["ww",2],"wo","week"),T("W",["WW",2],"Wo","isoWeek"), 431// ALIASES 432I("week","w"),I("isoWeek","W"), 433// PRIORITIES 434L("week",5),L("isoWeek",5), 435// PARSING 436Y("w",He),Y("ww",He,De),Y("W",He),Y("WW",He,De),ba(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=t(a)});var jf={dow:0,// Sunday is the first day of the week. 437doy:6}; 438// FORMATTING 439T("d",0,"do","day"),T("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),T("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),T("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),T("e",0,0,"weekday"),T("E",0,0,"isoWeekday"), 440// ALIASES 441I("day","d"),I("weekday","e"),I("isoWeekday","E"), 442// PRIORITY 443L("day",11),L("weekday",11),L("isoWeekday",11), 444// PARSING 445Y("d",He),Y("e",He),Y("E",He),Y("dd",function(a,b){return b.weekdaysMinRegex(a)}),Y("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Y("dddd",function(a,b){return b.weekdaysRegex(a)}),ba(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict); 446// if we didn't get a weekday name, mark the date as invalid 447null!=e?b.d=e:l(c).invalidWeekday=a}),ba(["d","e","E"],function(a,b,c,d){b[d]=t(a)}); 448// LOCALES 449var kf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),lf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),mf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),nf=Se,of=Se,pf=Se;T("H",["HH",2],0,"hour"),T("h",["hh",2],0,Qa),T("k",["kk",2],0,Ra),T("hmm",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)}),T("hmmss",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)+S(this.seconds(),2)}),T("Hmm",0,0,function(){return""+this.hours()+S(this.minutes(),2)}),T("Hmmss",0,0,function(){return""+this.hours()+S(this.minutes(),2)+S(this.seconds(),2)}),Sa("a",!0),Sa("A",!1), 450// ALIASES 451I("hour","h"), 452// PRIORITY 453L("hour",13),Y("a",Ta),Y("A",Ta),Y("H",He),Y("h",He),Y("HH",He,De),Y("hh",He,De),Y("hmm",Ie),Y("hmmss",Je),Y("Hmm",Ie),Y("Hmmss",Je),aa(["H","HH"],Ye),aa(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),aa(["h","hh"],function(a,b,c){b[Ye]=t(a),l(c).bigHour=!0}),aa("hmm",function(a,b,c){var d=a.length-2;b[Ye]=t(a.substr(0,d)),b[Ze]=t(a.substr(d)),l(c).bigHour=!0}),aa("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[Ye]=t(a.substr(0,d)),b[Ze]=t(a.substr(d,2)),b[$e]=t(a.substr(e)),l(c).bigHour=!0}),aa("Hmm",function(a,b,c){var d=a.length-2;b[Ye]=t(a.substr(0,d)),b[Ze]=t(a.substr(d))}),aa("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[Ye]=t(a.substr(0,d)),b[Ze]=t(a.substr(d,2)),b[$e]=t(a.substr(e))});var qf,rf=/[ap]\.?m?\.?/i,sf=N("Hours",!0),tf={calendar:qe,longDateFormat:re,invalidDate:se,ordinal:te,ordinalParse:ue,relativeTime:ve,months:df,monthsShort:ef,week:jf,weekdays:kf,weekdaysMin:mf,weekdaysShort:lf,meridiemParse:rf},uf={},vf=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,wf=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,xf=/Z|[+-]\d\d(?::?\d\d)?/,yf=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/], 454// YYYYMM is NOT allowed by the standard 455["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],zf=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Af=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}), 456// constant that refers to the ISO standard 457a.ISO_8601=function(){};var Bf=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?this>a?this:a:n()}),Cf=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:n()}),Df=function(){return Date.now?Date.now():+new Date};xb("Z",":"),xb("ZZ",""), 458// PARSING 459Y("Z",Qe),Y("ZZ",Qe),aa(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=yb(Qe,a)}); 460// HELPERS 461// timezone chunker 462// '+10:00' > ['10', '00'] 463// '-1530' > ['-15', '30'] 464var Ef=/([\+\-]|\d\d)/gi; 465// HOOKS 466// This function will be called whenever a moment is mutated. 467// It is intended to keep the offset in sync with the timezone. 468a.updateOffset=function(){}; 469// ASP.NET json date format regex 470var Ff=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,Gf=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Mb.fn=vb.prototype;var Hf=Rb(1,"add"),If=Rb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Jf=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)}); 471// FORMATTING 472T(0,["gg",2],0,function(){return this.weekYear()%100}),T(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xc("gggg","weekYear"),xc("ggggg","weekYear"),xc("GGGG","isoWeekYear"),xc("GGGGG","isoWeekYear"), 473// ALIASES 474I("weekYear","gg"),I("isoWeekYear","GG"), 475// PRIORITY 476L("weekYear",1),L("isoWeekYear",1), 477// PARSING 478Y("G",Oe),Y("g",Oe),Y("GG",He,De),Y("gg",He,De),Y("GGGG",Le,Fe),Y("gggg",Le,Fe),Y("GGGGG",Me,Ge),Y("ggggg",Me,Ge),ba(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=t(a)}),ba(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}), 479// FORMATTING 480T("Q",0,"Qo","quarter"), 481// ALIASES 482I("quarter","Q"), 483// PRIORITY 484L("quarter",7), 485// PARSING 486Y("Q",Ce),aa("Q",function(a,b){b[We]=3*(t(a)-1)}), 487// FORMATTING 488T("D",["DD",2],"Do","date"), 489// ALIASES 490I("date","D"), 491// PRIOROITY 492L("date",9), 493// PARSING 494Y("D",He),Y("DD",He,De),Y("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),aa(["D","DD"],Xe),aa("Do",function(a,b){b[Xe]=t(a.match(He)[0],10)}); 495// MOMENTS 496var Kf=N("Date",!0); 497// FORMATTING 498T("DDD",["DDDD",3],"DDDo","dayOfYear"), 499// ALIASES 500I("dayOfYear","DDD"), 501// PRIORITY 502L("dayOfYear",4), 503// PARSING 504Y("DDD",Ke),Y("DDDD",Ee),aa(["DDD","DDDD"],function(a,b,c){c._dayOfYear=t(a)}), 505// FORMATTING 506T("m",["mm",2],0,"minute"), 507// ALIASES 508I("minute","m"), 509// PRIORITY 510L("minute",14), 511// PARSING 512Y("m",He),Y("mm",He,De),aa(["m","mm"],Ze); 513// MOMENTS 514var Lf=N("Minutes",!1); 515// FORMATTING 516T("s",["ss",2],0,"second"), 517// ALIASES 518I("second","s"), 519// PRIORITY 520L("second",15), 521// PARSING 522Y("s",He),Y("ss",He,De),aa(["s","ss"],$e); 523// MOMENTS 524var Mf=N("Seconds",!1); 525// FORMATTING 526T("S",0,0,function(){return~~(this.millisecond()/100)}),T(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),T(0,["SSS",3],0,"millisecond"),T(0,["SSSS",4],0,function(){return 10*this.millisecond()}),T(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),T(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),T(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),T(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),T(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}), 527// ALIASES 528I("millisecond","ms"), 529// PRIORITY 530L("millisecond",16), 531// PARSING 532Y("S",Ke,Ce),Y("SS",Ke,De),Y("SSS",Ke,Ee);var Nf;for(Nf="SSSS";Nf.length<=9;Nf+="S")Y(Nf,Ne);for(Nf="S";Nf.length<=9;Nf+="S")aa(Nf,Gc); 533// MOMENTS 534var Of=N("Milliseconds",!1); 535// FORMATTING 536T("z",0,0,"zoneAbbr"),T("zz",0,0,"zoneName");var Pf=q.prototype;Pf.add=Hf,Pf.calendar=Ub,Pf.clone=Vb,Pf.diff=ac,Pf.endOf=mc,Pf.format=ec,Pf.from=fc,Pf.fromNow=gc,Pf.to=hc,Pf.toNow=ic,Pf.get=Q,Pf.invalidAt=vc,Pf.isAfter=Wb,Pf.isBefore=Xb,Pf.isBetween=Yb,Pf.isSame=Zb,Pf.isSameOrAfter=$b,Pf.isSameOrBefore=_b,Pf.isValid=tc,Pf.lang=Jf,Pf.locale=jc,Pf.localeData=kc,Pf.max=Cf,Pf.min=Bf,Pf.parsingFlags=uc,Pf.set=R,Pf.startOf=lc,Pf.subtract=If,Pf.toArray=qc,Pf.toObject=rc,Pf.toDate=pc,Pf.toISOString=dc,Pf.toJSON=sc,Pf.toString=cc,Pf.unix=oc,Pf.valueOf=nc,Pf.creationData=wc, 537// Year 538Pf.year=hf,Pf.isLeapYear=qa, 539// Week Year 540Pf.weekYear=yc,Pf.isoWeekYear=zc, 541// Quarter 542Pf.quarter=Pf.quarters=Ec, 543// Month 544Pf.month=ja,Pf.daysInMonth=ka, 545// Week 546Pf.week=Pf.weeks=Aa,Pf.isoWeek=Pf.isoWeeks=Ba,Pf.weeksInYear=Bc,Pf.isoWeeksInYear=Ac, 547// Day 548Pf.date=Kf,Pf.day=Pf.days=Ja,Pf.weekday=Ka,Pf.isoWeekday=La,Pf.dayOfYear=Fc, 549// Hour 550Pf.hour=Pf.hours=sf, 551// Minute 552Pf.minute=Pf.minutes=Lf, 553// Second 554Pf.second=Pf.seconds=Mf, 555// Millisecond 556Pf.millisecond=Pf.milliseconds=Of, 557// Offset 558Pf.utcOffset=Bb,Pf.utc=Db,Pf.local=Eb,Pf.parseZone=Fb,Pf.hasAlignedHourOffset=Gb,Pf.isDST=Hb,Pf.isLocal=Jb,Pf.isUtcOffset=Kb,Pf.isUtc=Lb,Pf.isUTC=Lb, 559// Timezone 560Pf.zoneAbbr=Hc,Pf.zoneName=Ic, 561// Deprecations 562Pf.dates=w("dates accessor is deprecated. Use date instead.",Kf),Pf.months=w("months accessor is deprecated. Use month instead",ja),Pf.years=w("years accessor is deprecated. Use year instead",hf),Pf.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Cb),Pf.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ib);var Qf=Pf,Rf=B.prototype;
vendor: 10,195 bytes, lines 562-587
562Rf.calendar=C,Rf.longDateFormat=D,Rf.invalidDate=E,Rf.ordinal=F,Rf.preparse=Lc,Rf.postformat=Lc,Rf.relativeTime=G,Rf.pastFuture=H,Rf.set=z, 563// Month 564Rf.months=ea,Rf.monthsShort=fa,Rf.monthsParse=ha,Rf.monthsRegex=ma,Rf.monthsShortRegex=la, 565// Week 566Rf.week=xa,Rf.firstDayOfYear=za,Rf.firstDayOfWeek=ya, 567// Day of Week 568Rf.weekdays=Ea,Rf.weekdaysMin=Ga,Rf.weekdaysShort=Fa,Rf.weekdaysParse=Ia,Rf.weekdaysRegex=Ma,Rf.weekdaysShortRegex=Na,Rf.weekdaysMinRegex=Oa, 569// Hours 570Rf.isPM=Ua,Rf.meridiem=Va,Za("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}), 571// Side effect imports 572a.lang=w("moment.lang is deprecated. Use moment.locale instead.",Za),a.langData=w("moment.langData is deprecated. Use moment.localeData instead.",ab);var Sf=Math.abs,Tf=cd("ms"),Uf=cd("s"),Vf=cd("m"),Wf=cd("h"),Xf=cd("d"),Yf=cd("w"),Zf=cd("M"),$f=cd("y"),_f=ed("milliseconds"),ag=ed("seconds"),bg=ed("minutes"),cg=ed("hours"),dg=ed("days"),eg=ed("months"),fg=ed("years"),gg=Math.round,hg={s:45,// seconds to minute 573m:45,// minutes to hour 574h:22,// hours to day 575d:26,// days to month 576M:11},ig=Math.abs,jg=vb.prototype;jg.abs=Uc,jg.add=Wc,jg.subtract=Xc,jg.as=ad,jg.asMilliseconds=Tf,jg.asSeconds=Uf,jg.asMinutes=Vf,jg.asHours=Wf,jg.asDays=Xf,jg.asWeeks=Yf,jg.asMonths=Zf,jg.asYears=$f,jg.valueOf=bd,jg._bubble=Zc,jg.get=dd,jg.milliseconds=_f,jg.seconds=ag,jg.minutes=bg,jg.hours=cg,jg.days=dg,jg.weeks=fd,jg.months=eg,jg.years=fg,jg.humanize=kd,jg.toISOString=ld,jg.toString=ld,jg.toJSON=ld,jg.locale=jc,jg.localeData=kc, 577// Deprecations 578jg.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ld),jg.lang=Jf, 579// Side effect imports 580// FORMATTING 581T("X",0,0,"unix"),T("x",0,0,"valueOf"), 582// PARSING 583Y("x",Oe),Y("X",Re),aa("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),aa("x",function(a,b,c){c._d=new Date(t(a))}),a.version="2.14.1",b(rb),a.fn=Qf,a.min=tb,a.max=ub,a.now=Df,a.utc=j,a.unix=Jc,a.months=Pc,a.isDate=f,a.locale=Za,a.invalid=n,a.duration=Mb,a.isMoment=r,a.weekdays=Rc,a.parseZone=Kc,a.localeData=ab,a.isDuration=wb,a.monthsShort=Qc,a.weekdaysMin=Tc,a.defineLocale=$a,a.updateLocale=_a,a.locales=bb,a.weekdaysShort=Sc,a.normalizeUnits=J,a.relativeTimeRounding=id,a.relativeTimeThreshold=jd,a.calendarFormat=Tb,a.prototype=Qf;var kg=a,lg=(kg.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Maandag is die eerste dag van die week. 584doy:4}}),kg.defineLocale("ar-ma",{months:"ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±".split("_"),monthsShort:"ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±".split("_"),weekdays:"Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª".split("_"),weekdaysShort:"Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextDay:"[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastDay:"[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",sameElse:"L"},relativeTime:{future:"ÙÙ %s",past:"Ù ÙØ° %s",s:"Ø«ÙØ§Ù",m:"دÙÙÙØ©",mm:"%d Ø¯ÙØ§Ø¦Ù",h:"ساعة",hh:"%d ساعات",d:"ÙÙÙ ",dd:"%d Ø£ÙØ§Ù ",M:"Ø´ÙØ±",MM:"%d Ø£Ø´ÙØ±",y:"Ø³ÙØ©",yy:"%d سÙÙØ§Øª"},week:{dow:6,// Saturday is the first day of the week. 585doy:12}}),{1:"Ù¡",2:"Ù¢",3:"Ù£",4:"Ù¤",5:"Ù¥",6:"Ù¦",7:"Ù§",8:"Ù¨",9:"Ù©",0:"Ù "}),mg={"Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Ù ":"0"},ng=(kg.defineLocale("ar-sa",{months:"ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر".split("_"),monthsShort:"ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر".split("_"),weekdays:"Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª".split("_"),weekdaysShort:"Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|Ù /,isPM:function(a){return"Ù "===a},meridiem:function(a,b,c){return 12>a?"ص":"Ù "},calendar:{sameDay:"[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextDay:"[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastDay:"[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",sameElse:"L"},relativeTime:{future:"ÙÙ %s",past:"Ù ÙØ° %s",s:"Ø«ÙØ§Ù",m:"دÙÙÙØ©",mm:"%d Ø¯ÙØ§Ø¦Ù",h:"ساعة",hh:"%d ساعات",d:"ÙÙÙ ",dd:"%d Ø£ÙØ§Ù ",M:"Ø´ÙØ±",MM:"%d Ø£Ø´ÙØ±",y:"Ø³ÙØ©",yy:"%d سÙÙØ§Øª"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return mg[a]}).replace(/Ø/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return lg[a]}).replace(/,/g,"Ø")},week:{dow:6,// Saturday is the first day of the week. 586doy:12}}),kg.defineLocale("ar-tn",{months:"جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر".split("_"),monthsShort:"جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر".split("_"),weekdays:"Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª".split("_"),weekdaysShort:"Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextDay:"[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastDay:"[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastWeek:"dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT",sameElse:"L"},relativeTime:{future:"ÙÙ %s",past:"Ù ÙØ° %s",s:"Ø«ÙØ§Ù",m:"دÙÙÙØ©",mm:"%d Ø¯ÙØ§Ø¦Ù",h:"ساعة",hh:"%d ساعات",d:"ÙÙÙ ",dd:"%d Ø£ÙØ§Ù ",M:"Ø´ÙØ±",MM:"%d Ø£Ø´ÙØ±",y:"Ø³ÙØ©",yy:"%d سÙÙØ§Øª"},week:{dow:1,// Monday is the first day of the week. 587doy:4}}),{1:"Ù¡",2:"Ù¢",3:"Ù£",4:"Ù¤",5:"Ù¥",6:"Ù¦",7:"Ù§",8:"Ù¨",9:"Ù©",0:"Ù "}),og={"Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Ù ":"0"},pg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},qg={s:["Ø£Ù٠٠٠ثاÙÙØ©","ثاÙÙØ© ÙØ§ØØ¯Ø©",["ثاÙÙØªØ§Ù","ثاÙÙØªÙÙ"],"%d Ø«ÙØ§Ù","%d ثاÙÙØ©","%d ثاÙÙØ©"],m:["Ø£Ù٠٠٠دÙÙÙØ©","دÙÙÙØ© ÙØ§ØØ¯Ø©",["دÙÙÙØªØ§Ù","دÙÙÙØªÙÙ"],"%d Ø¯ÙØ§Ø¦Ù","%d دÙÙÙØ©","%d دÙÙÙØ©"],h:["Ø£Ù٠٠٠ساعة","ساعة ÙØ§ØØ¯Ø©",["ساعتاÙ","ساعتÙÙ"],"%d ساعات","%d ساعة","%d ساعة"],d:["Ø£ÙÙ Ù Ù ÙÙÙ ","ÙÙÙ ÙØ§ØØ¯",["ÙÙ٠اÙ","ÙÙÙ ÙÙ"],"%d Ø£ÙØ§Ù ","%d ÙÙÙ ÙØ§","%d ÙÙÙ "],M:["Ø£ÙÙ Ù Ù Ø´ÙØ±","Ø´ÙØ± ÙØ§ØØ¯",["Ø´ÙØ±Ø§Ù","Ø´ÙØ±ÙÙ"],"%d Ø£Ø´ÙØ±","%d Ø´ÙØ±Ø§","%d Ø´ÙØ±"],y:["Ø£Ù٠٠٠عا٠","Ø¹Ø§Ù ÙØ§ØØ¯",["عا٠اÙ","عا٠ÙÙ"],"%d Ø£Ø¹ÙØ§Ù ","%d Ø¹Ø§Ù ÙØ§","%d عا٠"]},rg=function(a){return function(b,c,d,e){var f=pg(b),g=qg[a][pg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},sg=["ÙØ§ÙÙÙ Ø§ÙØ«Ø§ÙÙ ÙÙØ§Ùر","شباط ÙØ¨Ø±Ø§Ùر","آذار ٠ارس","ÙÙØ³Ø§Ù أبرÙÙ","Ø£ÙØ§Ø± ٠اÙÙ","ØØ²Ùرا٠ÙÙÙÙÙ","ØªÙ ÙØ² ÙÙÙÙÙ","آب أغسطس","Ø£ÙÙÙ٠سبت٠بر","تشرÙÙ Ø§ÙØ£ÙÙ Ø£ÙØªÙبر","تشرÙÙ Ø§ÙØ«Ø§ÙÙ ÙÙÙ٠بر","ÙØ§ÙÙÙ Ø§ÙØ£ÙÙ Ø¯ÙØ³Ù بر"],tg=(kg.defineLocale("ar",{months:sg,monthsShort:sg,weekdays:"Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª".split("_"),weekdaysShort:"Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت".split("_"),weekdaysMin:"Ø_Ù_Ø«_ر_Ø®_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/âM/âYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|Ù /,isPM:function(a){return"Ù "===a},meridiem:function(a,b,c){return 12>a?"ص":"Ù "},calendar:{sameDay:"[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextDay:"[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT",nextWeek:"dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastDay:"[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT",lastWeek:"dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"Ù ÙØ° %s",s:rg("s"),m:rg("m"),mm:rg("m"),h:rg("h"),hh:rg("h"),d:rg("d"),dd:rg("d"),M:rg("M"),MM:rg("M"),y:rg("y"),yy:rg("y")}
587,preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return og[a]}).replace(/Ø/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return ng[a]}).replace(/,/g,"Ø")},week:{dow:6,// Saturday is the first day of the week. 588doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"}),ug=(kg.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertÉsi_ÃÉrÅÉnbÉ axÅamı_ÃÉrÅÉnbÉ_CümÉ axÅamı_CümÉ_ÅÉnbÉ".split("_"),weekdaysShort:"Baz_BzE_ÃAx_ÃÉr_CAx_Cüm_ÅÉn".split("_"),weekdaysMin:"Bz_BE_ÃA_ÃÉ_CA_Cü_ÅÉ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gÉlÉn hÉftÉ] dddd [saat] LT",lastDay:"[dünÉn] LT",lastWeek:"[keçÉn hÉftÉ] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s ÉvvÉl",s:"birneÃ§É saniyyÉ",m:"bir dÉqiqÉ",mm:"%d dÉqiqÉ",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecÉ|sÉhÉr|gündüz|axÅam/,isPM:function(a){return/^(gündüz|axÅam)$/.test(a)},meridiem:function(a,b,c){return 4>a?"gecÉ":12>a?"sÉhÉr":17>a?"gündüz":"axÅam"},ordinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)// special case for zero 589return a+"-ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(tg[b]||tg[c]||tg[d])},week:{dow:1,// Monday is the first day of the week. 590doy:7}}),kg.defineLocale("be",{months:{format:"ÑÑÑдзенÑ_лÑÑага_ÑакавÑка_кÑаÑавÑка_ÑÑаÑнÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑÑнÑ_веÑаÑнÑ_каÑÑÑÑÑнÑка_лÑÑÑапада_ÑнежнÑ".split("_"),standalone:"ÑÑÑдзенÑ_лÑÑÑ_ÑакавÑк_кÑаÑавÑк_ÑÑавенÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑвенÑ_веÑаÑенÑ_каÑÑÑÑÑнÑк_лÑÑÑапад_ÑнежанÑ".split("_")},monthsShort:"ÑÑÑд_лÑÑ_Ñак_кÑаÑ_ÑÑав_ÑÑÑв_лÑп_жнÑв_веÑ_каÑÑ_лÑÑÑ_Ñнеж".split("_"),weekdays:{format:"нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑадÑ_ÑаÑвеÑ_пÑÑнÑÑÑ_ÑÑбоÑÑ".split("_"),standalone:"нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑада_ÑаÑвеÑ_пÑÑнÑÑа_ÑÑбоÑа".split("_"),isFormat:/\[ ?[Ðв] ?(?:мÑнÑлÑÑ|наÑÑÑпнÑÑ)? ?\] ?dddd/},weekdaysShort:"нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),weekdaysMin:"нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[СÑÐ½Ð½Ñ Ñ] LT",nextDay:"[ÐаÑÑÑа Ñ] LT",lastDay:"[УÑоÑа Ñ] LT",nextWeek:function(){return"[У] dddd [Ñ] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мÑнÑлÑÑ] dddd [Ñ] LT";case 1:case 2:case 4:return"[У мÑнÑлÑ] dddd [Ñ] LT"}},sameElse:"L"},relativeTime:{future:"пÑаз %s",past:"%s ÑамÑ",s:"некалÑÐºÑ ÑекÑнд",m:nd,mm:nd,h:nd,hh:nd,d:"дзенÑ",dd:nd,M:"меÑÑÑ",MM:nd,y:"год",yy:nd},meridiemParse:/ноÑÑ|ÑанÑÑÑ|днÑ|веÑаÑа/,isPM:function(a){return/^(днÑ|веÑаÑа)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ноÑÑ":12>a?"ÑанÑÑÑ":17>a?"днÑ":"веÑаÑа"},ordinalParse:/\d{1,2}-(Ñ|Ñ|га)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-Ñ":a+"-Ñ";case"D":return a+"-га";default:return a}},week:{dow:1,// Monday is the first day of the week. 591doy:7}}),kg.defineLocale("bg",{months:"ÑнÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_май_Ñни_Ñли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи".split("_"),monthsShort:"ÑнÑ_Ñев_маÑ_апÑ_май_Ñни_Ñли_авг_Ñеп_окÑ_ное_дек".split("_"),weekdays:"неделÑ_понеделник_вÑоÑник_ÑÑÑда_ÑеÑвÑÑÑÑк_пеÑÑк_ÑÑбоÑа".split("_"),weekdaysShort:"нед_пон_вÑо_ÑÑÑ_ÑеÑ_пеÑ_ÑÑб".split("_"),weekdaysMin:"нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ÐÐ½ÐµÑ Ð²] LT",nextDay:"[УÑÑе в] LT",nextWeek:"dddd [в] LT",lastDay:"[ÐÑеÑа в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[РизминалаÑа] dddd [в] LT";case 1:case 2:case 4:case 5:return"[РизминалиÑ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"Ñлед %s",past:"пÑеди %s",s:"нÑколко ÑекÑнди",m:"минÑÑа",mm:"%d минÑÑи",h:"ÑаÑ",hh:"%
591d ÑаÑа",d:"ден",dd:"%d дни",M:"меÑеÑ",MM:"%d меÑеÑа",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-Ñи":1===b?a+"-ви":2===b?a+"-Ñи":7===b||8===b?a+"-ми":a+"-Ñи"},week:{dow:1,// Monday is the first day of the week. 592doy:7}}),{1:"à§§",2:"২",3:"à§©",4:"৪",5:"à§«",6:"৬",7:"à§",8:"à§®",9:"৯",0:"০"}),vg={"à§§":"1","২":"2","à§©":"3","৪":"4","à§«":"5","৬":"6","à§":"7","à§®":"8","৯":"9","০":"0"},wg=(kg.defineLocale("bn",{months:"à¦à¦¾à¦¨à§à§à¦¾à¦°à§_ফà§à¦¬à§à§à¦¾à¦°à§_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_ঠà¦à¦¾à¦¸à§à¦_সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°_ঠà¦à§à¦à§à¦¬à¦°_নà¦à§à¦®à§à¦¬à¦°_ডিসà§à¦®à§à¦¬à¦°".split("_"),monthsShort:"à¦à¦¾à¦¨à§_ফà§à¦¬_মারà§à¦_à¦à¦ªà¦°_মà§_à¦à§à¦¨_à¦à§à¦²_ঠà¦_সà§à¦ªà§à¦_ঠà¦à§à¦à§_নà¦_ডিসà§à¦®à§".split("_"),weekdays:"রবিবার_সà§à¦®à¦¬à¦¾à¦°_মà¦à§à¦à¦²à¦¬à¦¾à¦°_বà§à¦§à¦¬à¦¾à¦°_বà§à¦¹à¦¸à§à¦ªà¦¤à§à¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦à§à¦°à¦¬à¦¾à¦°_শনিবার".split("_"),weekdaysShort:"রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹à¦¸à§à¦ªà¦¤à§à¦¤à¦¿_শà§à¦à§à¦°_শনি".split("_"),weekdaysMin:"রব_সম_মà¦à§à¦_বà§_বà§à¦°à¦¿à¦¹_শà§_শনি".split("_"),longDateFormat:{LT:"A h:mm সমà§",LTS:"A h:mm:ss সমà§",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সমà§",LLLL:"dddd, D MMMM YYYY, A h:mm সমà§"},calendar:{sameDay:"[à¦à¦] LT",nextDay:"[à¦à¦à¦¾à¦®à§à¦à¦¾à¦²] LT",nextWeek:"dddd, LT",lastDay:"[à¦à¦¤à¦à¦¾à¦²] LT",lastWeek:"[à¦à¦¤] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরà§",past:"%s à¦à¦à§",s:"à¦à§à§à¦ সà§à¦à§à¦¨à§à¦¡",m:"à¦à¦ মিনিà¦",mm:"%d মিনিà¦",h:"à¦à¦ à¦à¦¨à§à¦à¦¾",hh:"%d à¦à¦¨à§à¦à¦¾",d:"à¦à¦ দিন",dd:"%d দিন",M:"à¦à¦ মাস",MM:"%d মাস",y:"à¦à¦ বà¦à¦°",yy:"%d বà¦à¦°"},preparse:function(a){return a.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g,function(a){return vg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return ug[a]})},meridiemParse:/রাত|সà¦à¦¾à¦²|দà§à¦ªà§à¦°|বিà¦à¦¾à¦²|রাত/,meridiemHour:function(a,b){return 12===a&&(a=0),"রাত"===b&&a>=4||"দà§à¦ªà§à¦°"===b&&5>a||"বিà¦à¦¾à¦²"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"রাত":10>a?"সà¦à¦¾à¦²":17>a?"দà§à¦ªà§à¦°":20>a?"বিà¦à¦¾à¦²":"রাত"},week:{dow:0,// Sunday is the first day of the week. 593doy:6}}),{1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"}),xg={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"},yg=(kg.defineLocale("bo",{months:"à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½".split("_"),monthsShort:"à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½".split("_"),weekdays:"à½à½à½ à¼à½à½²à¼à½à¼_à½à½à½ à¼à½à¾³à¼à½à¼_à½à½à½ à¼à½à½²à½à¼à½à½à½¢à¼_à½à½à½ à¼à½£à¾·à½à¼à½à¼_à½à½à½ à¼à½à½´à½¢à¼à½à½´_à½à½à½ à¼à½à¼à½¦à½à½¦à¼_à½à½à½ à¼à½¦à¾¤à½ºà½à¼à½à¼".split("_"),weekdaysShort:"à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼".split("_"),weekdaysMin:"à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[à½à½²à¼à½¢à½²à½] LT",nextDay:"[སà½à¼à½à½²à½] LT",nextWeek:"[à½à½à½´à½à¼à½à¾²à½à¼à½¢à¾à½ºà½¦à¼à½], LT",lastDay:"[à½à¼à½¦à½] LT",lastWeek:"[à½à½à½´à½à¼à½à¾²à½à¼à½à½à½ à¼à½] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལà¼",past:"%s སà¾à½à¼à½£",s:"ལà½à¼à½¦à½",m:"སà¾à½¢à¼à½à¼à½à½ ིà½",mm:"%d སà¾à½¢à¼à½",h:"à½à½´à¼à½à½¼à½à¼à½à½ ིà½",hh:"%
vendor: 4,226 bytes, lines 593-596
593d à½à½´à¼à½à½¼à½",d:"à½à½²à½à¼à½à½ ིà½",dd:"%d à½à½²à½à¼",M:"à½à¾³à¼à½à¼à½à½ ིà½",MM:"%d à½à¾³à¼à½",y:"ལོà¼à½à½ ིà½",yy:"%d ལོ"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return xg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return wg[a]})},meridiemParse:/à½à½à½à¼à½à½¼|à½à½¼à½à½¦à¼à½à½¦|à½à½²à½à¼à½à½´à½|à½à½à½¼à½à¼à½à½|à½à½à½à¼à½à½¼/,meridiemHour:function(a,b){return 12===a&&(a=0),"à½à½à½à¼à½à½¼"===b&&a>=4||"à½à½²à½à¼à½à½´à½"===b&&5>a||"à½à½à½¼à½à¼à½à½"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"à½à½à½à¼à½à½¼":10>a?"à½à½¼à½à½¦à¼à½à½¦":17>a?"à½à½²à½à¼à½à½´à½":20>a?"à½à½à½¼à½à¼à½à½":"à½à½à½à¼à½à½¼"},week:{dow:0,// Sunday is the first day of the week. 594doy:6}}),kg.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:od,h:"un eur",hh:"%d eur",d:"un devezh",dd:od,M:"ur miz",MM:od,y:"ur bloaz",yy:pd},ordinalParse:/\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,// Monday is the first day of the week. 595doy:4}}),kg.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._Äet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_Äe_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅ¡lu] dddd [u] LT";case 6:return"[proÅ¡le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅ¡li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:td,mm:td,h:td,hh:td,d:"dan",dd:td,M:"mjesec",MM:td,y:"godinu",yy:td},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 596doy:7}}),kg.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%
596d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return"w"!==b&&"W"!==b||(c="a"),a+c},week:{dow:1,// Monday is the first day of the week. 597doy:4}}),"leden_únor_bÅezen_duben_kvÄten_Äerven_Äervenec_srpen_záÅÃ_ÅÃjen_listopad_prosinec".split("_")),zg="led_úno_bÅe_dub_kvÄ_Ävn_Ävc_srp_záÅ_ÅÃj_lis_pro".split("_"),Ag=(kg.defineLocale("cs",{months:yg,monthsShort:zg,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++) 598// use custom parser to solve problem with July (Äervenec) 599d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(yg,zg),shortMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(zg),longMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(yg),weekdays:"nedÄle_pondÄlÃ_úterý_stÅeda_Ätvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_Ät_pá_so".split("_"),weekdaysMin:"ne_po_út_st_Ät_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zÃtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedÄli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve stÅedu v] LT";case 4:return"[ve Ätvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[vÄera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou nedÄli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou stÅedu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pÅed %s",s:vd,m:vd,mm:vd,h:vd,hh:vd,d:vd,dd:vd,M:vd,MM:vd,y:vd,yy:vd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 600doy:4}}),kg.defineLocale("cv",{months:"кÓÑлаÑ_наÑÓÑ_пÑÑ_ака_май_Ò«ÓÑÑме_ÑÑÓ_Ò«ÑÑла_авÓн_Ñпа_Ñӳк_ÑаÑÑав".split("_"),monthsShort:"кÓÑ_наÑ_пÑÑ_ака_май_Ò«ÓÑ_ÑÑÓ_Ò«ÑÑ_авн_Ñпа_Ñӳк_ÑаÑ".split("_"),weekdays:"вÑÑÑаÑникÑн_ÑÑнÑикÑн_ÑÑлаÑикÑн_ÑнкÑн_кÓҫнеÑникÑн_ÑÑнекÑн_ÑÓмаÑкÑн".split("_"),weekdaysShort:"вÑÑ_ÑÑн_ÑÑл_Ñн_кÓÒ«_ÑÑн_ÑÓм".split("_"),weekdaysMin:"вÑ_Ñн_ÑÑ_Ñн_кҫ_ÑÑ_Ñм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ]",LLL:"YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm",LLLL:"dddd, YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm"},calendar:{sameDay:"[ÐаÑн] LT [ÑÐµÑ ÐµÑÑе]",nextDay:"[ЫÑан] LT [ÑÐµÑ ÐµÑÑе]",lastDay:"[ÓнеÑ] LT [ÑÐµÑ ÐµÑÑе]",nextWeek:"[ҪиÑеÑ] dddd LT [ÑÐµÑ ÐµÑÑе]",lastWeek:"[ÐÑÑнÓ] dddd LT [ÑÐµÑ ÐµÑÑе]",sameElse:"L"},relativeTime:{future:function(a){var b=/ÑÐµÑ ÐµÑ$/i.exec(a)?"Ñен":/Ò«Ñл$/i.exec(a)?"Ñан":"Ñан";return a+b},past:"%s каÑлла",s:"пÓÑ-ик ҫеккÑнÑ",m:"пÓÑ Ð¼Ð¸Ð½ÑÑ",mm:"%d минÑÑ",h:"пÓÑ ÑÐµÑ ÐµÑ",hh:"%d ÑÐµÑ ÐµÑ",d:"пÓÑ ÐºÑн",dd:"%d кÑн",M:"пÓÑ ÑйÓÑ ",MM:"%d ÑйÓÑ ",y:"пÓÑ Ò«Ñл",yy:"%d Ò«Ñл"},ordinalParse:/\d{1,2}-мÓÑ/,ordinal:"%d-мÓÑ",week:{dow:1,// Monday is the first day of the week. 601doy:7}}),kg.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0, 602// time formats are the same as en-gb 603longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, 604// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh 605ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed",// 1af to 10fed 606"eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,// Monday is the first day of the week. 607doy:4}}),kg.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I gÃ¥r kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"fÃ¥ sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en mÃ¥ned",MM:"%d mÃ¥neder",y:"et Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 608doy:4}}),kg.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:wd,mm:"%d Minuten",h:wd,hh:"%d Stunden",d:wd,dd:wd,M:wd,MM:wd,y:wd,yy:wd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 609doy:4}}),kg.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:xd,mm:"%d Minuten",h:xd,hh:"%d Stunden",d:xd,dd:xd,M:xd,MM:xd,y:xd,yy:xd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 610doy:4}}),["ÞÞ¬ÞÞªÞÞ¦ÞÞ©","ÞÞ¬ÞÞ°ÞÞªÞÞ¦ÞÞ©","ÞÞ§ÞÞ¨ÞÞª","ÞÞÞÞ°ÞÞ©ÞÞª","ÞÞ","ÞÞ«ÞÞ°","ÞÞªÞÞ¦ÞÞ¨","ÞÞ¯ÞÞ¦ÞÞ°ÞÞª","ÞÞ¬ÞÞ°ÞÞ¬ÞÞ°ÞÞ¦ÞÞª","ÞÞ®ÞÞ°ÞÞ¯ÞÞ¦ÞÞª","ÞÞ®ÞÞ¬ÞÞ°ÞÞ¦ÞÞª","ÞÞ¨ÞÞ¬ÞÞ°ÞÞ¦ÞÞª"]),Bg=["ÞÞ§ÞÞ¨ÞÞ°ÞÞ¦","ÞÞ¯ÞÞ¦","ÞÞ¦ÞÞ°ÞÞ§ÞÞ¦","ÞÞªÞÞ¦","ÞÞªÞÞ§ÞÞ°ÞÞ¦ÞÞ¨","ÞÞªÞÞªÞÞª","ÞÞ®ÞÞ¨ÞÞ¨ÞÞª"],Cg=(kg.defineLocale("dv",{months:Ag,monthsShort:Ag,weekdays:Bg,weekdaysShort:Bg,weekdaysMin:"ÞÞ§ÞÞ¨_ÞÞ¯ÞÞ¦_ÞÞ¦ÞÞ°_ÞÞªÞÞ¦_ÞÞªÞÞ§_ÞÞªÞÞª_ÞÞ®ÞÞ¨".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ÞÞ|ÞÞ/,isPM:function(a){return"ÞÞ"===a},meridiem:function(a,b,c){return 12>a?"ÞÞ":"ÞÞ"},calendar:{sameDay:"[ÞÞ¨ÞÞ¦ÞÞª] LT",nextDay:"[ÞÞ§ÞÞ¦ÞÞ§] LT",nextWeek:"dddd LT",lastDay:"[ÞÞ¨ÞÞ°ÞÞ¬] LT",lastWeek:"[ÞÞ§ÞÞ¨ÞÞªÞÞ¨] dddd LT",sameElse:"L"},relativeTime:{future:"ÞÞ¬ÞÞÞÞ¦ÞÞ¨ %s",past:"ÞÞªÞÞ¨ÞÞ° %s",
vendor: 7,194 bytes, lines 610-615
610s:"ÞÞ¨ÞÞªÞÞ°ÞÞªÞÞ®Þ Þ¬ÞÞ°",m:"ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°",mm:"ÞÞ¨ÞÞ¨ÞÞª %d",h:"ÞÞ¦ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°",hh:"ÞÞ¦ÞÞ¨ÞÞ¨ÞÞª %d",d:"ÞÞªÞÞ¦ÞÞ¬ÞÞ°",dd:"ÞÞªÞÞ¦ÞÞ° %d",M:"ÞÞ¦ÞÞ¬ÞÞ°",MM:"ÞÞ¦ÞÞ° %d",y:"ÞÞ¦ÞÞ¦ÞÞ¬ÞÞ°",yy:"ÞÞ¦ÞÞ¦ÞÞª %d"},preparse:function(a){return a.replace(/Ø/g,",")},postformat:function(a){return a.replace(/,/g,"Ø")},week:{dow:7,// Sunday is the first day of the week. 611doy:12}}),kg.defineLocale("el",{monthsNominativeEl:"ÎÎ±Î½Î¿Ï Î¬ÏιοÏ_ΦεβÏÎ¿Ï Î¬ÏιοÏ_ÎάÏÏιοÏ_ÎÏÏίλιοÏ_ÎάιοÏ_ÎοÏνιοÏ_ÎοÏλιοÏ_ÎÏÎ³Î¿Ï ÏÏοÏ_ΣεÏÏÎμβÏιοÏ_ÎκÏÏβÏιοÏ_ÎοÎμβÏιοÏ_ÎεκÎμβÏιοÏ".split("_"),monthsGenitiveEl:"ÎÎ±Î½Î¿Ï Î±ÏÎ¯Î¿Ï _ΦεβÏÎ¿Ï Î±ÏÎ¯Î¿Ï _ÎαÏÏÎ¯Î¿Ï _ÎÏÏÎ¹Î»Î¯Î¿Ï _ÎαÎÎ¿Ï _ÎÎ¿Ï Î½Î¯Î¿Ï _ÎÎ¿Ï Î»Î¯Î¿Ï _ÎÏ Î³Î¿ÏÏÏÎ¿Ï _ΣεÏÏεμβÏÎ¯Î¿Ï _ÎκÏÏβÏÎ¯Î¿Ï _ÎοεμβÏÎ¯Î¿Ï _ÎεκεμβÏÎ¯Î¿Ï ".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Îαν_Φεβ_ÎαÏ_ÎÏÏ_ÎαÏ_ÎÎ¿Ï Î½_ÎÎ¿Ï Î»_ÎÏ Î³_ΣεÏ_ÎκÏ_Îοε_Îεκ".split("_"),weekdays:"ÎÏ Ïιακή_ÎÎµÏ ÏÎÏα_ΤÏίÏη_ΤεÏάÏÏη_Î ÎμÏÏη_ΠαÏαÏÎºÎµÏ Î®_ΣάββαÏο".split("_"),weekdaysShort:"ÎÏ Ï_ÎÎµÏ _ΤÏι_ΤεÏ_Πεμ_ΠαÏ_Σαβ".split("_"),weekdaysMin:"ÎÏ _Îε_ΤÏ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ÎÎ":c?"Ïμ":"Î Î"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[Î Î]\.?Î?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[ΣήμεÏα {}] LT",nextDay:"[ÎÏÏιο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Î§Î¸ÎµÏ {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[Ïο ÏÏοηγοÏμενο] dddd [{}] LT";default:return"[Ïην ÏÏοηγοÏμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return y(c)&&(c=c.apply(b)),c.replace("{}",d%12===1?"ÏÏη":"ÏÏιÏ")},relativeTime:{future:"Ïε %s",past:"%s ÏÏιν",s:"λίγα Î´ÎµÏ ÏεÏÏλεÏÏα",m:"Îνα λεÏÏÏ",mm:"%d λεÏÏά",h:"μία ÏÏα",hh:"%d ÏÏεÏ",d:"μία μÎÏα",dd:"%d μÎÏεÏ",M:"ÎÎ½Î±Ï Î¼Î®Î½Î±Ï",MM:"%d μήνεÏ",y:"ÎÎ½Î±Ï ÏÏÏνοÏ",yy:"%d ÏÏÏνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,// Monday is the first day of the week. 612doy:4}}),kg.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week. 613doy:4}}),kg.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),kg.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week. 614doy:4}}),kg.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week. 615doy:4}}),kg.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LT
615S:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week. 616doy:4}}),kg.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec".split("_"),weekdays:"DimanÄo_Lundo_Mardo_Merkredo_Ä´aÅdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ä´aÅ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ä´a_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-an de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[HodiaÅ je] LT",nextDay:"[MorgaÅ je] LT",nextWeek:"dddd [je] LT",lastDay:"[HieraÅ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaÅ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",//ne 'diurno', Äar estas uzita por proksimumo 617dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,// Monday is the first day of the week. 618doy:7}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Dg="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Eg=(kg.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Dg[a.month()]:Cg[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un dÃa",dd:"%d dÃas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week. 619doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Fg="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Gg=(kg.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Fg[a.month()]:Eg[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%
619d horas",d:"un dÃa",dd:"%d dÃas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week. 620doy:4}}),kg.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:yd,m:yd,mm:yd,h:yd,hh:yd,d:yd,dd:"%d päeva",M:yd,MM:yd,y:yd,yy:yd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 621doy:4}}),kg.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 622doy:7}}),{1:"Û±",2:"Û²",3:"Û³",4:"Û´",5:"Ûµ",6:"Û¶",7:"Û·",8:"Û¸",9:"Û¹",0:"Û°"}),Hg={"Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9","Û°":"0"},Ig=(kg.defineLocale("fa",{months:"ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر".split("_"),monthsShort:"ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر".split("_"),weekdays:"ÛÚ©âØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙâØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬âØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù".split("_"),weekdaysShort:"ÛÚ©âØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙâØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬âØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù".split("_"),weekdaysMin:"Û_د_س_Ú_Ù¾_ج_Ø´".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ÙØ¨Ù از Ø¸ÙØ±|بعد از Ø¸ÙØ±/,isPM:function(a){return/بعد از Ø¸ÙØ±/.test(a)},meridiem:function(a,b,c){return 12>a?"ÙØ¨Ù از Ø¸ÙØ±":"بعد از Ø¸ÙØ±"},calendar:{sameDay:"[Ø§Ù Ø±ÙØ² ساعت] LT",nextDay:"[ÙØ±Ø¯Ø§ ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[Ø¯ÛØ±Ùز ساعت] LT",lastWeek:"dddd [Ù¾ÛØ´] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s Ù¾ÛØ´",s:"ÚÙØ¯Û٠ثاÙÛÙ",m:"ÛÚ© دÙÛÙÙ",mm:"%d دÙÛÙÙ",h:"ÛÚ© ساعت",hh:"%d ساعت",d:"ÛÚ© Ø±ÙØ²",dd:"%d Ø±ÙØ²",M:"ÛÚ© ٠اÙ",MM:"%d ٠اÙ",y:"ÛÚ© ساÙ",yy:"%d ساÙ"},preparse:function(a){return a.replace(/[Û°-Û¹]/g,function(a){return Hg[a]}).replace(/Ø/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Gg[a]}).replace(/,/g,"Ø")},ordinalParse:/\d{1,2}Ù /,ordinal:"%dÙ ",week:{dow:6,// Saturday is the first day of the week. 623doy:12}}),"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" ")),Jg=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",Ig[7],Ig[8],Ig[9]],Kg=(kg.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_t
623i_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:zd,m:zd,mm:zd,h:zd,hh:zd,d:zd,dd:zd,M:zd,MM:zd,y:zd,yy:zd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 624doy:4}}),kg.defineLocale("fo",{months:"januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frÃ_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[à dag kl.] LT",nextDay:"[à morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[à gjár kl.] LT",lastWeek:"[sÃðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s sÃðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tÃmi",hh:"%d tÃmar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 625doy:4}}),kg.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à ] LT",nextDay:"[Demain à ] LT",nextWeek:"dddd [à ] LT",lastDay:"[Hier à ] LT",lastWeek:"dddd [dernier à ] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}}),kg.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à ] LT",nextDay:"[Demain à ] LT",nextWeek:"dddd [à ] LT",lastDay:"[Hier à ] LT",lastWeek:"dddd [dernier à ] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")},week:{dow:1,// Monday is the first day of the week. 626doy:4}}),kg.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à ] LT",nextDay:"[Demain à ] LT",nextWeek:"dddd [à ] LT",lastDay:"[Hier à ] LT",lastWeek:"dddd [dernier à ] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,// Monday is the first day of the week. 627doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),Lg="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),Mg=(kg.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Lg[a.month()]:Kg[a.month()]},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Monday is the first day of the week. 628doy:4}}),["Am Faoilleach","An Gearran","Am Mà rt","An Giblean","An Cèitean","An t-Ãgmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dà mhair","An t-Samhain","An Dùbhlachd"]),Ng=["Faoi","Gear","Mà rt","Gibl","Cèit","Ãgmh","Iuch","Lùn","Sult","Dà mh","Samh","Dùbh"],Og=["Didòmhnaich","Diluain","Dimà irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],Pg=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],Qg=["Dò","Lu","Mà ","Ci","Ar","Ha","Sa"],Rg=(kg.defineLocale("gd",{months:Mg,monthsShort:Ng,monthsParseExact:!0,weekdays:Og,weekdaysShort:Pg,weekdaysMin:Qg,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-mà ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig]
628LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},ordinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(a){var b=1===a?"d":a%10===2?"na":"mh";return a+b},week:{dow:1,// Monday is the first day of the week. 629doy:4}}),kg.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),monthsParseExact:!0,weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un dÃa",dd:"%d dÃas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week. 630doy:7}}),kg.defineLocale("he",{months:"×× ××ר_פ×ר××ר_×רץ_×פר××_×××_××× ×_××××_××××ס×_ספ×××ר_×××§×××ר_× ××××ר_×צ××ר".split("_"),monthsShort:"×× ×׳_פ×ר׳_×רץ_×פר׳_×××_××× ×_××××_×××׳_ספ×׳_××ק׳_× ××׳_×צ×׳".split("_"),weekdays:"ר×ש××_×©× ×_ש××ש×_ר×××¢×_×××ש×_ש×ש×_ש×ת".split("_"),weekdaysShort:"×׳_×׳_×׳_×׳_×׳_×׳_ש׳".split("_"),weekdaysMin:"×_×_×_×_×_×_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [×]MMMM YYYY",LLL:"D [×]MMMM YYYY HH:mm",LLLL:"dddd, D [×]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[×××× ×Ö¾]LT",nextDay:"[××ר ×Ö¾]LT",nextWeek:"dddd [×שע×] LT",lastDay:"[×ת××× ×Ö¾]LT",lastWeek:"[××××] dddd [×××ר×× ×שע×] LT",sameElse:"L"},relativeTime:{future:"××¢×× %s",past:"××¤× × %s",s:"×ספר ×©× ××ת",m:"××§×",mm:"%d ××§×ת",h:"שע×",hh:function(a){return 2===a?"שעת×××":a+" שע×ת"},d:"×××",dd:function(a){return 2===a?"××××××":a+" ××××"},M:"×××ש",MM:function(a){return 2===a?"×××ש×××":a+" ×××ש××"},y:"×©× ×",yy:function(a){return 2===a?"×©× ×ª×××":a%10===0&&10!==a?a+" ×©× ×":a+" ×©× ××"}},meridiemParse:/×××"צ|××¤× ×"צ|×××¨× ×צ×ר×××|××¤× × ×צ×ר×××|××¤× ×ת ××קר|×××קר|×ער×/i,isPM:function(a){return/^(×××"צ|×××¨× ×צ×ר×××|×ער×)$/.test(a)},meridiem:function(a,b,c){return 5>a?"××¤× ×ת ××קר":10>a?"×××קר":12>a?c?'××¤× ×"צ':"××¤× × ×צ×ר×××":18>a?c?'×××"צ':"×××¨× ×צ×ר×××":"×ער×"}}),{1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"à¥",8:"८",9:"९",0:"०"}),Sg={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","à¥":"7","८":"8","९":"9","०":"0"},Tg=(kg.defineLocale("hi",{months:"à¤à¤¨à¤µà¤°à¥_फ़रवरà¥_मारà¥à¤_ठपà¥à¤°à¥à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤¸à¥à¤¤_सितमà¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°".split("_"),monthsShort:"à¤à¤¨._फ़र._मारà¥à¤_ठपà¥à¤°à¥._मà¤_à¤à¥à¤¨_à¤à¥à¤²._ठà¤._सित._ठà¤à¥à¤à¥._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤²à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार".split("_"),weekdaysShort:"रवि_सà¥à¤®_मà¤à¤à¤²_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि".split("_"),weekdaysMin:"र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श".split("_"),longDateFormat:{LT:"A h:mm बà¤à¥",LTS:"A h:mm:ss बà¤à¥",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बà¤à¥",LLLL:"dddd, D MMMM YYYY, A h:mm बà¤à¥"}
630,calendar:{sameDay:"[à¤à¤] LT",nextDay:"[à¤à¤²] LT",nextWeek:"dddd, LT",lastDay:"[à¤à¤²] LT",lastWeek:"[पिà¤à¤²à¥] dddd, LT",sameElse:"L"},relativeTime:{future:"%s मà¥à¤",past:"%s पहलà¥",s:"à¤à¥à¤ हॠà¤à¥à¤·à¤£",m:"à¤à¤ मिनà¤",mm:"%d मिनà¤",h:"à¤à¤ à¤à¤à¤à¤¾",hh:"%d à¤à¤à¤à¥",d:"à¤à¤ दिन",dd:"%d दिन",M:"à¤à¤ महà¥à¤¨à¥",MM:"%d महà¥à¤¨à¥",y:"à¤à¤ वरà¥à¤·",yy:"%d वरà¥à¤·"},preparse:function(a){return a.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g,function(a){return Sg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Rg[a]})}, 631// Hindi notation for meridiems are quite fuzzy in practice. While there exists 632// a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. 633meridiemParse:/रात|सà¥à¤¬à¤¹|दà¥à¤ªà¤¹à¤°|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सà¥à¤¬à¤¹"===b?a:"दà¥à¤ªà¤¹à¤°"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सà¥à¤¬à¤¹":17>a?"दà¥à¤ªà¤¹à¤°":20>a?"शाम":"रात"},week:{dow:0,// Sunday is the first day of the week. 634doy:6}}),kg.defineLocale("hr",{months:{format:"sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._Äet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_Äe_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅ¡lu] dddd [u] LT";case 6:return"[proÅ¡le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅ¡li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Bd,mm:Bd,h:Bd,hh:Bd,d:"dan",dd:Bd,M:"mjesec",MM:Bd,y:"godinu",yy:Bd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 635doy:7}}),"vasárnap hétfÅn kedden szerdán csütörtökön pénteken szombaton".split(" ")),Ug=(kg.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfÅ_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Dd.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Dd.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:Cd,m:Cd,mm:Cd,h:Cd,hh:Cd,d:Cd,dd:Cd,M:Cd,MM:Cd,y:Cd,yy:Cd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 636doy:7}}),kg.defineLocale("hy-am",{months:{format:"Õ°Õ¸ÖÕ¶Õ¾Õ¡ÖÕ«_ÖÕ¥Õ¿ÖÕ¾Õ¡ÖÕ«_Õ´Õ¡ÖÕ¿Õ«_Õ¡ÕºÖÕ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸ÖÕ¶Õ«Õ½Õ«_Õ°Õ¸ÖÕ¬Õ«Õ½Õ«_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥ÖÕ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«".split("_"),standalone:"Õ°Õ¸ÖÕ¶Õ¾Õ¡Ö_ÖÕ¥Õ¿ÖÕ¾Õ¡Ö_Õ´Õ¡ÖÕ¿_Õ¡ÕºÖÕ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸ÖÕ¶Õ«Õ½_Õ°Õ¸ÖÕ¬Õ«Õ½_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö".split("_")},monthsShort:"Õ°Õ¶Õ¾_ÖÕ¿Ö_Õ´ÖÕ¿_Õ¡ÕºÖ_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿".split("_"),weekdays:"Õ¯Õ«ÖÕ¡Õ¯Õ«_Õ¥ÖÕ¯Õ¸ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¥ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸ÖÖÕ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©".split("_"),weekdaysShort:"Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©".split("_"),weekdaysMin:"Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Õ©.",LLL:"D MMMM YYYY Õ©., HH:mm",LLLL:"dddd, D MMMM YYYY Õ©., HH:mm"},calendar:{sameDay:"[Õ¡ÕµÕ½Ö Ö] LT",nextDay:"[Õ¾Õ¡Õ²Õ¨] LT",lastDay:"[Õ¥ÖÕ¥Õ¯] LT",nextWeek:function(){return"dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT"},lastWeek:function(){return"[Õ¡Õ¶ÖÕ¡Õ®] dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT"},sameElse:"L"},relativeTime:{future:"%s Õ°Õ¥Õ¿Õ¸",past:"%s Õ¡Õ¼Õ¡Õ»",s:"Õ´Õ« ÖÕ¡Õ¶Õ« Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶",m:"ÖÕ¸ÕºÕ¥",mm:"%d ÖÕ¸ÕºÕ¥",h:"ÕªÕ¡Õ´",hh:"%d ÕªÕ¡Õ´",d:"Ö Ö",dd:"%d Ö Ö",M:"Õ¡Õ´Õ«Õ½",MM:"%d Õ¡Õ´Õ«Õ½",y:"Õ¿Õ¡ÖÕ«",yy:"%d Õ¿Õ¡ÖÕ«"},meridiemParse:/Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶/,isPM:function(a){return/^(ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(a)},meridiem:function(a){return 4>a?"Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡":12>
vendor: 5,901 bytes, lines 636-641
636a?"Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡":17>a?"ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡":"Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶"},ordinalParse:/\d{1,2}|\d{1,2}-(Õ«Õ¶|ÖÕ¤)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-Õ«Õ¶":a+"-ÖÕ¤";default:return a}},week:{dow:1,// Monday is the first day of the week. 637doy:7}}),kg.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week. 638doy:7}}),kg.defineLocale("is",{months:"janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Ãr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[à dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[à gær kl.] LT",lastWeek:"[sÃðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s sÃðan",s:Fd,m:Fd,mm:Fd,h:"klukkustund",hh:Fd,d:Fd,dd:Fd,M:Fd,MM:Fd,y:Fd,yy:Fd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 639doy:4}}),kg.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week. 640doy:4}}),kg.defineLocale("ja",{months:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),monthsShort:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),weekdays:"æ¥ææ¥_æææ¥_ç«ææ¥_æ°´ææ¥_æ¨ææ¥_éææ¥_åææ¥".split("_"),weekdaysShort:"æ¥_æ_ç«_æ°´_æ¨_é_å".split("_"),weekdaysMin:"æ¥_æ_ç«_æ°´_æ¨_é_å".split("_"),longDateFormat:{LT:"Ahæmå",LTS:"Ahæmåsç§",L:"YYYY/MM/DD",LL:"YYYYå¹´MæDæ¥",LLL:"YYYYå¹´MæDæ¥Ahæmå",LLLL:"YYYYå¹´MæDæ¥Ahæmå dddd"},meridiemParse:/åå|åå¾/i,isPM:function(a){return"åå¾"===a},meridiem:function(a,b,c){return 12>a?"åå":"åå¾"},calendar:{sameDay:"[仿¥] LT",nextDay:"[ææ¥] LT",nextWeek:"[æ¥é±]dddd LT",lastDay:"[æ¨æ¥] LT",lastWeek:"[åé±]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}æ¥/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ¥";default:return a}},relativeTime:{future:"%så¾",past:"%så",s:"æ°ç§",m:"1å",mm:"%då",h:"1æé",hh:"%dæé",d:"1æ¥",dd:"%dæ¥",M:"1ã¶æ",MM:"%dã¶æ",y:"1å¹´",yy:"%då¹´"}}),kg.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"enjing":15>a?"siyang":19>a?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,// Monday is the first day of the week. 641doy:7}}
641),kg.defineLocale("ka",{months:{standalone:"áááááá á_ááááá áááá_ááá á¢á_ááá ááá_áááá¡á_ááááá¡á_ááááá¡á_ááááá¡á¢á_á¡áá¥á¢ááááá á_áá¥á¢ááááá á_ááááááá á_áááááááá á".split("_"),format:"áááááá á¡_ááááá áááá¡_ááá á¢á¡_ááá áááá¡_áááá¡á¡_ááááá¡á¡_ááááá¡á¡_ááááá¡á¢á¡_á¡áá¥á¢ááááá á¡_áá¥á¢ááááá á¡_ááááááá á¡_áááááááá á¡".split("_")},monthsShort:"ááá_ááá_ááá _ááá _ááá_ááá_ááá_ááá_á¡áá¥_áá¥á¢_ááá_ááá".split("_"),weekdays:{standalone:"áááá á_áá á¨ááááá_á¡ááá¨ááááá_ááá®á¨ááááá_á®á£áá¨ááááá_ááá áá¡áááá_á¨ááááá".split("_"),format:"áááá áá¡_áá á¨ááááá¡_á¡ááá¨ááááá¡_ááá®á¨ááááá¡_á®á£áá¨ááááá¡_ááá áá¡áááá¡_á¨ááááá¡".split("_"),isFormat:/(á¬ááá|á¨ááááá)/},weekdaysShort:"ááá_áá á¨_á¡áá_ááá®_á®á£á_ááá _á¨áá".split("_"),weekdaysMin:"áá_áá _á¡á_áá_á®á£_áá_á¨á".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[áá¦áá¡] LT[-áá]",nextDay:"[á®ááá] LT[-áá]",lastDay:"[áá£á¨áá] LT[-áá]",nextWeek:"[á¨ááááá] dddd LT[-áá]",lastWeek:"[á¬ááá] dddd LT-áá",sameElse:"L"},relativeTime:{future:function(a){return/(á¬ááá|á¬á£áá|á¡áááá|á¬ááá)/.test(a)?a.replace(/á$/,"á¨á"):a+"á¨á"},past:function(a){return/(á¬ááá|á¬á£áá|á¡áááá|áá¦á|ááá)/.test(a)?a.replace(/(á|á)$/,"áá¡ á¬áá"):/á¬ááá/.test(a)?a.replace(/á¬ááá$/,"á¬ááá¡ á¬áá"):void 0},s:"á áááááááá á¬ááá",m:"á¬á£áá",mm:"%d á¬á£áá",h:"á¡áááá",hh:"%d á¡áááá",d:"áá¦á",dd:"%d áá¦á",M:"ááá",MM:"%d ááá",y:"á¬ááá",yy:"%d á¬ááá"},ordinalParse:/0|1-áá|áá-\d{1,2}|\d{1,2}-á/,ordinal:function(a){return 0===a?a:1===a?a+"-áá":20>a||100>=a&&a%20===0||a%100===0?"áá-"+a:a+"-á"},week:{dow:1,doy:7}}),{0:"-ÑÑ",1:"-ÑÑ",2:"-ÑÑ",3:"-ÑÑ",4:"-ÑÑ",5:"-ÑÑ",6:"-ÑÑ",7:"-ÑÑ",8:"-ÑÑ",9:"-ÑÑ",10:"-ÑÑ",20:"-ÑÑ",30:"-ÑÑ",40:"-ÑÑ",50:"-ÑÑ",60:"-ÑÑ",70:"-ÑÑ",80:"-ÑÑ",90:"-ÑÑ",100:"-ÑÑ"}),Vg=(kg.defineLocale("kk",{months:"ÒаңÑаÑ_аÒпан_наÑÑÑз_ÑÓÑÑÑ_мамÑÑ_маÑÑÑм_ÑÑлде_ÑамÑз_ÒÑÑкүйек_Òазан_ÒаÑаÑа_желÑоÒÑан".split("_"),monthsShort:"Òаң_аÒп_наÑ_ÑÓÑ_мам_маÑ_ÑÑл_Ñам_ÒÑÑ_Òаз_ÒаÑ_жел".split("_"),weekdays:"жекÑенбÑ_дүйÑенбÑ_ÑейÑенбÑ_ÑÓÑÑенбÑ_бейÑенбÑ_жұма_ÑенбÑ".split("_"),weekdaysShort:"жек_дүй_Ñей_ÑÓÑ_бей_жұм_Ñен".split("_"),weekdaysMin:"жк_дй_Ñй_ÑÑ_бй_жм_Ñн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ÐүгÑн ÑаÒаÑ] LT",nextDay:"[ÐÑÑең ÑаÒаÑ] LT",nextWeek:"dddd [ÑаÒаÑ] LT",lastDay:"[ÐеÑе ÑаÒаÑ] LT",lastWeek:"[Ó¨Ñкен апÑанÑÒ£] dddd [ÑаÒаÑ] LT",sameElse:"L"},relativeTime:{future:"%s ÑÑÑнде",past:"%s бұÑÑн",s:"бÑÑнеÑе ÑекÑнд",m:"бÑÑ Ð¼Ð¸Ð½ÑÑ",mm:"%d минÑÑ",h:"бÑÑ ÑаÒаÑ",hh:"%d ÑаÒаÑ",d:"бÑÑ ÐºÒ¯Ð½",dd:"%d күн",M:"бÑÑ Ð°Ð¹",MM:"%d ай",y:"бÑÑ Ð¶Ñл",yy:"%d жÑл"},ordinalParse:/\d{1,2}-(ÑÑ|ÑÑ)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(Ug[a]||Ug[b]||Ug[c])},week:{dow:1,// Monday is the first day of the week. 642doy:7}}),kg.defineLocale("km",{months:"áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼".split("_"),monthsShort:"áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼".split("_"),weekdays:"á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá".split("_"),weekdaysShort:"á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá".split("_"),weekdaysMin:"á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}
642,calendar:{sameDay:"[ááááááá áááá] LT",nextDay:"[ááá¢áá áááá] LT",nextWeek:"dddd [áááá] LT",lastDay:"[áááá·ááá·á áááá] LT",lastWeek:"dddd [ááááá¶á ááá»á] [áááá] LT",sameElse:"L"},relativeTime:{future:"%sááá",past:"%sáá»á",s:"ááá»áááá¶ááá·áá¶áá¸",m:"áá½ááá¶áá¸",mm:"%d áá¶áá¸",h:"áá½ááááá",hh:"%d áááá",d:"áá½ááááá",dd:"%d áááá",M:"áá½ááá",MM:"%d áá",y:"áá½ááááá¶á",yy:"%d áááá¶á"},week:{dow:1,// Monday is the first day of the week. 643doy:4}}),kg.defineLocale("ko",{months:"1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì".split("_"),monthsShort:"1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì".split("_"),weekdays:"ì¼ìì¼_ììì¼_íìì¼_ììì¼_목ìì¼_ê¸ìì¼_í ìì¼".split("_"),weekdaysShort:"ì¼_ì_í_ì_목_ê¸_í ".split("_"),weekdaysMin:"ì¼_ì_í_ì_목_ê¸_í ".split("_"),longDateFormat:{LT:"A hì më¶",LTS:"A hì më¶ sì´",L:"YYYY.MM.DD",LL:"YYYYë MMMM Dì¼",LLL:"YYYYë MMMM Dì¼ A hì më¶",LLLL:"YYYYë MMMM Dì¼ dddd A hì më¶"},calendar:{sameDay:"ì¤ë LT",nextDay:"ë´ì¼ LT",nextWeek:"dddd LT",lastDay:"ì´ì LT",lastWeek:"ì§ë주 dddd LT",sameElse:"L"},relativeTime:{future:"%s í",past:"%s ì ",s:"ëª ì´",ss:"%dì´",m:"ì¼ë¶",mm:"%dë¶",h:"í ìê°",hh:"%dìê°",d:"í루",dd:"%dì¼",M:"í ë¬",MM:"%dë¬",y:"ì¼ ë ",yy:"%dë "},ordinalParse:/\d{1,2}ì¼/,ordinal:"%dì¼",meridiemParse:/ì¤ì |ì¤í/,isPM:function(a){return"ì¤í"===a},meridiem:function(a,b,c){return 12>a?"ì¤ì ":"ì¤í"}}),{0:"-ÑÒ¯",1:"-Ñи",2:"-Ñи",3:"-ÑÒ¯",4:"-ÑÒ¯",5:"-Ñи",6:"-ÑÑ",7:"-Ñи",8:"-Ñи",9:"-ÑÑ",10:"-ÑÑ",20:"-ÑÑ",30:"-ÑÑ",40:"-ÑÑ",50:"-ÑÒ¯",60:"-ÑÑ",70:"-Ñи",80:"-Ñи",90:"-ÑÑ",100:"-ÑÒ¯"}),Wg=(kg.defineLocale("ky",{months:"ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ".split("_"),monthsShort:"Ñнв_Ñев_маÑÑ_апÑ_май_иÑнÑ_иÑлÑ_авг_Ñен_окÑ_ноÑ_дек".split("_"),weekdays:"ÐекÑемби_ÐүйÑөмбү_ШейÑемби_ШаÑÑемби_ÐейÑемби_ÐÑма_ÐÑемби".split("_"),weekdaysShort:"Ðек_Ðүй_Шей_ШаÑ_Ðей_ÐÑм_ÐÑе".split("_"),weekdaysMin:"Ðк_Ðй_Шй_ШÑ_Ðй_Ðм_ÐÑ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ðүгүн ÑааÑ] LT",nextDay:"[ÐÑÑең ÑааÑ] LT",nextWeek:"dddd [ÑааÑ] LT",lastDay:"[ÐеÑе ÑааÑ] LT",lastWeek:"[Ó¨Ñкен апÑанÑн] dddd [күнү] [ÑааÑ] LT",sameElse:"L"},relativeTime:{future:"%s иÑинде",past:"%s мÑÑÑн",s:"биÑнеÑе ÑекÑнд",m:"Ð±Ð¸Ñ Ð¼Ò¯Ð½Ó©Ñ",mm:"%d мүнөÑ",h:"Ð±Ð¸Ñ ÑааÑ",hh:"%
643d ÑааÑ",d:"Ð±Ð¸Ñ ÐºÒ¯Ð½",dd:"%d күн",M:"Ð±Ð¸Ñ Ð°Ð¹",MM:"%d ай",y:"Ð±Ð¸Ñ Ð¶Ñл",yy:"%d жÑл"},ordinalParse:/\d{1,2}-(Ñи|ÑÑ|ÑÒ¯|ÑÑ)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(Vg[a]||Vg[b]||Vg[c])},week:{dow:1,// Monday is the first day of the week. 644doy:7}}),kg.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){ 645// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule 646switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:Hd,past:Id,s:"e puer Sekonnen",m:Gd,mm:"%d Minutten",h:Gd,hh:"%d Stonnen",d:Gd,dd:"%d Deeg",M:Gd,MM:"%d Méint",y:Gd,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 647doy:4}}),kg.defineLocale("lo",{months:"ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²".split("_"),monthsShort:"ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²".split("_"),weekdays:"àºàº²àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²".split("_"),weekdaysShort:"àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²".split("_"),weekdaysMin:"àº_àº_àºàº_àº_àºàº«_ສàº_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັàºdddd D MMMM YYYY HH:mm"},meridiemParse:/àºàºàºà»àºàº»à»àº²|àºàºàºà»àº¥àº/,isPM:function(a){return"àºàºàºà»àº¥àº"===a},meridiem:function(a,b,c){return 12>a?"àºàºàºà»àºàº»à»àº²":"àºàºàºà»àº¥àº"},calendar:{sameDay:"[ມືà»àºàºµà»à»àº§àº¥àº²] LT",nextDay:"[ມືà»àºàº·à»àºà»àº§àº¥àº²] LT",nextWeek:"[ວັàº]dddd[à»à»àº²à»àº§àº¥àº²] LT",lastDay:"[ມືà»àº§àº²àºàºàºµà»à»àº§àº¥àº²] LT",lastWeek:"[ວັàº]dddd[à»àº¥à»àº§àºàºµà»à»àº§àº¥àº²] LT",sameElse:"L"},relativeTime:{future:"àºàºµàº %s",past:"%sàºà»àº²àºàº¡àº²",s:"àºà»à»à»àºàº»à»àº²à»àºàº§àº´àºàº²àºàºµ",m:"1 àºàº²àºàºµ",mm:"%d àºàº²àºàºµ",h:"1 àºàº»à»àº§à»àº¡àº",hh:"%d àºàº»à»àº§à»àº¡àº",d:"1 ມືà»",dd:"%d ມືà»",M:"1 à»àºàº·àºàº",MM:"%d à»àºàº·àºàº",y:"1 àºàºµ",yy:"%d àºàºµ"},ordinalParse:/(àºàºµà»)\d{1,2}/,ordinal:function(a){return"àºàºµà»"+a}}),{m:"minutÄ_minutÄs_minutÄ",mm:"minutÄs_minuÄių_minutes",h:"valanda_valandos_valandÄ ",hh:"valandos_valandų_valandas",d:"diena_dienos_dienÄ ",dd:"dienos_dienų_dienas",M:"mÄnuo_mÄnesio_mÄnesį",MM:"mÄnesiai_mÄnesių_mÄnesius",y:"metai_metų_metus",yy:"metai_metų_metus"}),Xg=(kg.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužÄs_birželio_liepos_rugpjÅ«Äio_rugsÄjo_spalio_lapkriÄio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužÄ_birželis_liepa_rugpjÅ«tis_rugsÄjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?|MMMM?(\[[^\[\]]*\]|\s+)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_treÄiadienį_ketvirtadienį_penktadienį_Å¡eÅ¡tadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Å eÅ¡".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Å ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Å iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[PraÄjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieÅ¡ %s",s:Kd,m:Ld,mm:Od,h:Ld,hh:Od,d:Ld,dd:Od,M:Ld,MM:Od,y:Ld,yy:Od},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,// Monday is the first day of the week. 648doy:4}}),{m:"minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes".split("_"),mm:"minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes".split("_"),h:"stundas_stundÄm_stunda_stundas".split("_"),hh:"stundas_stundÄm_stunda_stundas".split("_"),d:"dienas_die
648nÄm_diena_dienas".split("_"),dd:"dienas_dienÄm_diena_dienas".split("_"),M:"mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i".split("_"),MM:"mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")}),Yg=(kg.defineLocale("lv",{months:"janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec".split("_"),weekdays:"svÄtdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Å odien pulksten] LT",nextDay:"[RÄ«t pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[PagÄjuÅ¡Ä] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pÄc %s",past:"pirms %s",s:Sd,m:Rd,mm:Qd,h:Rd,hh:Qd,d:Rd,dd:Qd,M:Rd,MM:Qd,y:Rd,yy:Qd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 649doy:4}}),{words:{//Different grammatical cases 650m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=Yg.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Yg.correctGrammaticalCase(a,d)}}),Zg=(kg.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._Äet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_Äe_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄe u] LT",lastWeek:function(){var a=["[proÅ¡le] [nedjelje] [u] LT","[proÅ¡log] [ponedjeljka] [u] LT","[proÅ¡log] [utorka] [u] LT","[proÅ¡le] [srijede] [u] LT","[proÅ¡log] [Äetvrtka] [u] LT","[proÅ¡log] [petka] [u] LT","[proÅ¡le] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:Yg.translate,mm:Yg.translate,h:Yg.translate,hh:Yg.translate,d:"dan",dd:Yg.translate,M:"mjesec",MM:Yg.translate,y:"godinu",yy:Yg.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 651doy:7}}),kg.defineLocale("mk",{months:"ÑанÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_маÑ_ÑÑни_ÑÑли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи".split("_"),monthsShort:"Ñан_Ñев_маÑ_апÑ_маÑ_ÑÑн_ÑÑл_авг_Ñеп_окÑ_ное_дек".split("_"),weekdays:"недела_понеделник_вÑоÑник_ÑÑеда_ÑеÑвÑÑок_пеÑок_ÑабоÑа".split("_"),weekdaysShort:"нед_пон_вÑо_ÑÑе_ÑеÑ_пеÑ_Ñаб".split("_"),weekdaysMin:"нe_пo_вÑ_ÑÑ_Ñе_пе_Ña".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ÐÐµÐ½ÐµÑ Ð²Ð¾] LT",nextDay:"[УÑÑе во] LT",nextWeek:"[Ðо] dddd [во] LT",lastDay:"[ÐÑеÑа во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[ÐзминаÑаÑа] dddd [во] LT";case 1:case 2:case 4:case 5:return"[ÐзминаÑиоÑ] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"поÑле %s",past:"пÑед %s",s:"Ð½ÐµÐºÐ¾Ð»ÐºÑ ÑекÑнди",m:"минÑÑа",mm:"%d минÑÑи",h:"ÑаÑ",hh:"%
651d ÑаÑа",d:"ден",dd:"%d дена",M:"меÑеÑ",MM:"%d меÑеÑи",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-Ñи":1===b?a+"-ви":2===b?a+"-Ñи":7===b||8===b?a+"-ми":a+"-Ñи"},week:{dow:1,// Monday is the first day of the week. 652doy:7}}),kg.defineLocale("ml",{months:"à´à´¨àµà´µà´°à´¿_à´«àµà´¬àµà´°àµà´µà´°à´¿_മാർà´àµà´àµ_à´à´ªàµà´°à´¿àµ½_à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ_à´à´à´¸àµà´±àµà´±àµ_à´¸àµà´ªàµà´±àµà´±à´à´¬àµ¼_à´à´àµà´àµà´¬àµ¼_നവà´à´¬àµ¼_à´¡à´¿à´¸à´à´¬àµ¼".split("_"),monthsShort:"à´à´¨àµ._à´«àµà´¬àµà´°àµ._മാർ._à´à´ªàµà´°à´¿._à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ._à´à´._à´¸àµà´ªàµà´±àµà´±._à´à´àµà´àµ._നവà´._à´¡à´¿à´¸à´.".split("_"),monthsParseExact:!0,weekdays:"à´à´¾à´¯à´±à´¾à´´àµà´_തിà´àµà´à´³à´¾à´´àµà´_à´àµà´µàµà´µà´¾à´´àµà´_à´¬àµà´§à´¨à´¾à´´àµà´_à´µàµà´¯à´¾à´´à´¾à´´àµà´_à´µàµà´³àµà´³à´¿à´¯à´¾à´´àµà´_ശനിയാഴàµà´".split("_"),weekdaysShort:"à´à´¾à´¯àµ¼_തിà´àµà´àµ¾_à´àµà´µàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´_à´µàµà´³àµà´³à´¿_ശനി".split("_"),weekdaysMin:"à´à´¾_തി_à´àµ_à´¬àµ_à´µàµà´¯à´¾_à´µàµ_à´¶".split("_"),longDateFormat:{LT:"A h:mm -à´¨àµ",LTS:"A h:mm:ss -à´¨àµ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -à´¨àµ",LLLL:"dddd, D MMMM YYYY, A h:mm -à´¨àµ"},calendar:{sameDay:"[à´à´¨àµà´¨àµ] LT",nextDay:"[നാളàµ] LT",nextWeek:"dddd, LT",lastDay:"[à´à´¨àµà´¨à´²àµ] LT",lastWeek:"[à´à´´à´¿à´àµà´] dddd, LT",sameElse:"L"},relativeTime:{future:"%s à´à´´à´¿à´àµà´àµ",past:"%s à´®àµàµ»à´ªàµ",s:"ഠൽപ നിമിഷà´àµà´àµ¾",m:"à´à´°àµ മിനിറàµà´±àµ",mm:"%d മിനിറàµà´±àµ",h:"à´à´°àµ മണിà´àµà´àµàµ¼",hh:"%d മണിà´àµà´àµàµ¼",d:"à´à´°àµ ദിവസà´",dd:"%d ദിവസà´",M:"à´à´°àµ മാസà´",MM:"%d മാസà´",y:"à´à´°àµ വർഷà´",yy:"%d വർഷà´"},meridiemParse:/രാതàµà´°à´¿|രാവിലàµ|à´à´àµà´ à´à´´à´¿à´àµà´àµ|à´µàµà´àµà´¨àµà´¨àµà´°à´|രാതàµà´°à´¿/i,meridiemHour:function(a,b){return 12===a&&(a=0),"രാതàµà´°à´¿"===b&&a>=4||"à´à´àµà´ à´à´´à´¿à´àµà´àµ"===b||"à´µàµà´àµà´¨àµà´¨àµà´°à´"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"രാതàµà´°à´¿":12>a?"രാവിലàµ":17>a?"à´à´àµà´ à´à´´à´¿à´àµà´àµ":20>a?"à´µàµà´àµà´¨àµà´¨àµà´°à´":"രാതàµà´°à´¿"}}),{1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"à¥",8:"८",9:"९",0:"०"}),$g={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","à¥":"7","८":"8","९":"9","०":"0"},_g=(kg.defineLocale("mr",{months:"à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥_मारà¥à¤_à¤à¤ªà¥à¤°à¤¿à¤²_मà¥_à¤à¥à¤¨_à¤à¥à¤²à¥_à¤à¤à¤¸à¥à¤_सपà¥à¤à¥à¤à¤¬à¤°_à¤à¤à¥à¤à¥à¤¬à¤°_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°_डिसà¥à¤à¤¬à¤°".split("_"),monthsShort:"à¤à¤¾à¤¨à¥._फà¥à¤¬à¥à¤°à¥._मारà¥à¤._à¤à¤ªà¥à¤°à¤¿._मà¥._à¤à¥à¤¨._à¤à¥à¤²à¥._à¤à¤._सपà¥à¤à¥à¤._à¤à¤à¥à¤à¥._नà¥à¤µà¥à¤¹à¥à¤._डिसà¥à¤.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤³à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार".split("_"),weekdaysShort:"रवि_सà¥à¤®_मà¤à¤à¤³_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि".split("_"),weekdaysMin:"र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श".split("_"),longDateFormat:{LT:"A h:mm वाà¤à¤¤à¤¾",LTS:"A h:mm:ss वाà¤à¤¤à¤¾",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾",LLLL:"dddd, D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾"},calendar:{sameDay:"[à¤à¤] LT",nextDay:"[à¤à¤¦à¥à¤¯à¤¾] LT",nextWeek:"dddd, LT",lastDay:"[à¤à¤¾à¤²] LT",lastWeek:"[माà¤à¥à¤²] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमधà¥à¤¯à¥",past:"%sपà¥à¤°à¥à¤µà¥",s:Td,m:Td,mm:Td,h:Td,hh:Td,d:Td,dd:Td,M:Td,MM:Td,y:Td,yy:Td},preparse:function(a){return a.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g,function(a){return $g[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Zg[a]})},meridiemParse:/रातà¥à¤°à¥|सà¤à¤¾à¤³à¥|दà¥à¤ªà¤¾à¤°à¥|सायà¤à¤à¤¾à¤³à¥/,meridiemHour:function(a,b){return 12===a&&(a=0),"राà
652¤¤à¥à¤°à¥"===b?4>a?a:a+12:"सà¤à¤¾à¤³à¥"===b?a:"दà¥à¤ªà¤¾à¤°à¥"===b?a>=10?a:a+12:"सायà¤à¤à¤¾à¤³à¥"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रातà¥à¤°à¥":10>a?"सà¤à¤¾à¤³à¥":17>a?"दà¥à¤ªà¤¾à¤°à¥":20>a?"सायà¤à¤à¤¾à¤³à¥":"रातà¥à¤°à¥"},week:{dow:0,// Sunday is the first day of the week. 653doy:6}}),kg.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week. 654doy:7}}),kg.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week. 655doy:7}}),{1:"á",2:"á",3:"á",4:"á",5:"á ",6:"á",7:"á",8:"á",9:"á",0:"á"}),ah={"á":"1","á":"2","á":"3","á":"4","á ":"5","á":"6","á":"7","á":"8","á":"9","á":"0"},bh=(kg.defineLocale("my",{months:"áááºááá«áá®_áá±áá±á¬áºáá«áá®_áááº_á§áá¼á®_áá±_áá½ááº_áá°ááá¯ááº_áá¼áá¯ááº_á ááºáááºáá¬_á¡á±á¬ááºááá¯áá¬_ááá¯áááºáá¬_áá®áááºáá¬".split("_"),monthsShort:"áááº_áá±_áááº_áá¼á®_áá±_áá½ááº_ááá¯ááº_áá¼_á ááº_á¡á±á¬ááº_ááá¯_áá®".split("_"),weekdays:"ááááºá¹ááá½á±_ááááºá¹áá¬_á¡ááºá¹áá«_áá¯áá¹ááá°á¸_áá¼á¬áááá±á¸_áá±á¬áá¼á¬_á áá±".split("_"),weekdaysShort:"áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±".split("_"),weekdaysMin:"áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ááá±.] LT [áá¾á¬]",nextDay:"[ááááºáá¼ááº] LT [áá¾á¬]",nextWeek:"dddd LT [áá¾á¬]",lastDay:"[ááá±.á] LT [áá¾á¬]",lastWeek:"[áá¼á®á¸áá²á·áá±á¬] dddd LT [áá¾á¬]",sameElse:"L"},relativeTime:{future:"áá¬áááºá· %s áá¾á¬",past:"áá½ááºáá²á·áá±á¬ %s á",s:"á áá¹áááº.á¡ááá
655ºá¸áááº",m:"áá áºáááá áº",mm:"%d áááá áº",h:"áá áºáá¬áá®",hh:"%d áá¬áá®",d:"áá áºáááº",dd:"%d áááº",M:"áá áºá",MM:"%d á",y:"áá áºáá¾á áº",yy:"%d áá¾á áº"},preparse:function(a){return a.replace(/[ááááá ááááá]/g,function(a){return ah[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return _g[a]})},week:{dow:1,// Monday is the first day of the week. 656doy:4}}),kg.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i gÃ¥r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en mÃ¥ned",MM:"%d mÃ¥neder",y:"ett Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 657doy:4}}),{1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"à¥",8:"८",9:"९",0:"०"}),ch={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","à¥":"7","८":"8","९":"9","०":"0"},dh=(kg.defineLocale("ne",{months:"à¤à¤¨à¤µà¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤°à¥_मारà¥à¤_ठपà¥à¤°à¤¿à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤·à¥à¤_सà¥à¤ªà¥à¤à¥à¤®à¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नà¥à¤à¥à¤®à¥à¤¬à¤°_डिसà¥à¤®à¥à¤¬à¤°".split("_"),monthsShort:"à¤à¤¨._फà¥à¤¬à¥à¤°à¥._मारà¥à¤_ठपà¥à¤°à¤¿._मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤._ठà¤._सà¥à¤ªà¥à¤._ठà¤à¥à¤à¥._नà¥à¤à¥._डिसà¥.".split("_"),monthsParseExact:!0,weekdays:"à¤à¤à¤¤à¤¬à¤¾à¤°_सà¥à¤®à¤¬à¤¾à¤°_मà¤à¥à¤à¤²à¤¬à¤¾à¤°_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤à¥à¤°à¤¬à¤¾à¤°_शनिबार".split("_"),weekdaysShort:"à¤à¤à¤¤._सà¥à¤®._मà¤à¥à¤à¤²._बà¥à¤§._बिहि._शà¥à¤à¥à¤°._शनि.".split("_"),weekdaysMin:"à¤._सà¥._मà¤._बà¥._बि._शà¥._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aà¤à¥ h:mm बà¤à¥",LTS:"Aà¤à¥ h:mm:ss बà¤à¥",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥",LLLL:"dddd, D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥"},preparse:function(a){return a.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g,function(a){return ch[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return bh[a]})},meridiemParse:/राति|बिहान|दिà¤à¤à¤¸à¥|साà¤à¤/,meridiemHour:function(a,b){return 12===a&&(a=0),"राति"===b?4>a?a:a+12:"बिहान"===b?a:"दिà¤à¤à¤¸à¥"===b?a>=10?a:a+12:"साà¤à¤"===b?a+12:void 0},meridiem:function(a,b,c){return 3>a?"राति":12>a?"बिहान":16>a?"दिà¤à¤à¤¸à¥":20>a?"साà¤à¤":"राति"},calendar:{sameDay:"[à¤à¤] LT",nextDay:"[à¤à¥à¤²à¤¿] LT",nextWeek:"[à¤à¤à¤à¤¦à¥] dddd[,] LT",lastDay:"[हिà¤à¥] LT",lastWeek:"[à¤à¤à¤à¥] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s ठà¤à¤¾à¤¡à¤¿",s:"à¤à¥à¤¹à¥ à¤à¥à¤·à¤£",m:"à¤à¤ मिनà¥à¤",mm:"%d मिनà¥à¤",h:"à¤à¤ à¤à¤£à¥à¤à¤¾",hh:"%d à¤à¤£à¥à¤à¤¾",d:"à¤à¤ दिन",dd:"%d दिन",M:"à¤à¤ महिना",MM:"%d महिना",y:"à¤à¤ बरà¥à¤·",yy:"%d बरà¥à¤·"},week:{dow:0,// Sunday is the first day of the week. 658doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),eh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),fh=(kg.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?eh[a.month()]:dh[a.month()]},monthsParseExact:!0,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Monday is the first day of the week. 659doy:4}}),kg.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mÃ¥n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_mÃ¥_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I gÃ¥r klokka] LT",lastWeek:"[FøregÃ¥ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein mÃ¥nad",MM:"%d mÃ¥nader",y:"eit Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 660doy:4}}),{1:"à©§",2:"੨",3:"à©©",4:"੪",5:"à©«",6:"੬",7:"à©",8:"à©®",9:"੯",0:"੦"}),gh={"à©§":"1","੨":"2","à©©":"3","੪":"4","à©«":"5","੬":"6","à©":"7","à©®":"8","੯":"9","੦":"0"},hh=(kg.defineLocale("pa-in",{ 661// There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi. 662months:"à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"à¨à¨¤à¨µà¨¾à¨°_ਸà©à¨®à¨µà¨¾à¨°_ਮੰà¨à¨²à¨µà¨¾à¨°_ਬà©à¨§à¨µà¨¾à¨°_ਵà©à¨°à¨µà¨¾à¨°_ਸ਼à©à©±à¨à¨°à¨µà¨¾à¨°_ਸ਼ਨà©à¨à¨°à¨µà¨¾à¨°".split("_"),weekdaysShort:"à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©".split("_"),weekdaysMin:"à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©".split("_"),longDateFormat:{LT:"A h:mm ਵà¨à©",LTS:"A h:mm:ss ਵà¨à©",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵà¨à©",LLLL:"dddd, D MMMM YYYY, A h:mm ਵà¨à©"},calendar:{sameDay:"[ਠà¨] LT",nextDay:"[à¨à¨²] LT",nextWeek:"dddd, LT",lastDay:"[à¨à¨²] LT",lastWeek:"[ਪਿà¨à¨²à©] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱà¨",past:"%s ਪਿà¨à¨²à©",s:"à¨à©à¨ ਸà¨à¨¿à©°à¨",m:"à¨à¨ ਮਿੰà¨",mm:"%d ਮਿੰà¨",h:"à¨à©±à¨ à¨à©°à¨à¨¾",hh:"%d à¨à©°à¨à©",d:"à¨à©±à¨ ਦਿਨ",dd:"%d ਦਿਨ",M:"à¨à©±à¨ ਮਹà©à¨¨à¨¾",MM:"%d ਮਹà©à¨¨à©",y:"à¨à©±à¨ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(a){return a.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g,function(a){return gh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return fh[a]})}, 663// Punjabi notation for meridiems are quite fuzzy in practice. While there exists 664// a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. 665meridiemParse:/ਰਾਤ|ਸਵà©à¨°|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ਰਾਤ"===b?4>a?a:a+12:"ਸਵà©à¨°"===b?a:"ਦà©à¨ªà¨¹à¨¿à¨°"===b?a>=10?a:a+12:"ਸ਼ਾਮ"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ਰਾਤ":10>a?"ਸਵà©à¨°":17>a?"ਦà©à¨ªà¨¹à¨¿à¨°":20>a?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,// Sunday is the first day of the week. 666doy:6}}
666),"styczeÅ_luty_marzec_kwiecieÅ_maj_czerwiec_lipiec_sierpieÅ_wrzesieÅ_październik_listopad_grudzieÅ".split("_")),ih="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅnia_października_listopada_grudnia".split("_"),jh=(kg.defineLocale("pl",{months:function(a,b){return""===b?"("+ih[a.month()]+"|"+hh[a.month()]+")":/D MMMM/.test(b)?ih[a.month()]:hh[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziaÅek_wtorek_Åroda_czwartek_piÄ tek_sobota".split("_"),weekdaysShort:"nie_pon_wt_År_czw_pt_sb".split("_"),weekdaysMin:"Nd_Pn_Wt_År_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DziÅ o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszÅÄ niedzielÄ o] LT";case 3:return"[W zeszÅÄ ÅrodÄ o] LT";case 6:return"[W zeszÅÄ sobotÄ o] LT";default:return"[W zeszÅy] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:Vd,mm:Vd,h:Vd,hh:Vd,d:"1 dzieÅ",dd:"%d dni",M:"miesiÄ c",MM:Vd,y:"rok",yy:Vd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 667doy:4}}),kg.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [à s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [à s] HH:mm"},calendar:{sameDay:"[Hoje à s] LT",nextDay:"[Amanhã à s] LT",nextWeek:"dddd [à s] LT",lastDay:"[Ontem à s] LT",lastWeek:function(){// Saturday + Sunday 668return 0===this.day()||6===this.day()?"[Ãltimo] dddd [à s] LT":"[Ãltima] dddd [à s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"}),kg.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje à s] LT",nextDay:"[Amanhã à s] LT",nextWeek:"dddd [à s] LT",lastDay:"[Ontem à s] LT",lastWeek:function(){// Saturday + Sunday 669return 0===this.day()||6===this.day()?"[Ãltimo] dddd [à s] LT":"[Ãltima] dddd [à s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week. 670doy:4}}),kg.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminicÄ_luni_marÈi_miercuri_joi_vineri_sâmbÄtÄ".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmÄ",s:"câteva secunde",m:"un minut",mm:Wd,h:"o orÄ",hh:Wd,d:"o zi",dd:Wd,M:"o lunÄ",MM:Wd,y:"un an",yy:Wd},week:{dow:1,// Monday is the first day of the week. 671doy:7}}),[/^Ñнв/i,/^Ñев/i,/^маÑ/i,/^апÑ/i,/^ма[йÑ]/i,/^иÑн/i,/^иÑл/i,/^авг/i,/^Ñен/i,/^окÑ/i,/^ноÑ/i,/^дек/i]),kh=(kg.defineLocale("ru",{months:{format:"ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ".split("_"),standalone:"ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ".split("_")},monthsShort:{ 672// по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑÐºÑ ? 673format:"Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.".split("_"),standalone:"Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.".split("_")},weekdays:{standalone:"воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа".split("_"),format:"воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ".split("_"),isFormat:/\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?\] ?dddd/},weekdaysShort:"вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),weekdaysMin:"вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),monthsParse:jh,longMonthsParse:jh,shortMonthsParse:jh, 674// полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по ÑÑи бÑквÑ, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ , по 4 бÑквÑ, ÑокÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑкой и без ÑоÑки 675monthsRegex:/^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i,
vendor: 4,143 bytes, lines 676-683
676// ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедÑдÑÑего 677monthsShortRegex:/^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 678// полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ 679monthsStrictRegex:/^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[Ñй]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i, 680// ÐÑÑажение, коÑоÑое ÑооÑвеÑÑвÑÐµÑ ÑолÑко ÑокÑаÑÑннÑм ÑоÑмам 681monthsShortStrictRegex:/^(Ñнв\.|ÑевÑ?\.|маÑ[Ñ.]|апÑ\.|ма[Ñй]|иÑн[ÑÑ.]|иÑл[ÑÑ.]|авг\.|ÑенÑ?\.|окÑ\.|ноÑб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ð²] LT",nextDay:"[ÐавÑÑа в] LT",lastDay:"[ÐÑеÑа в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Ðо] dddd [в] LT":"[Ð] dddd [в] LT";switch(this.day()){case 0:return"[Ð ÑледÑÑÑее] dddd [в] LT";case 1:case 2:case 4:return"[Ð ÑледÑÑÑий] dddd [в] LT";case 3:case 5:case 6:return"[Ð ÑледÑÑÑÑÑ] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Ðо] dddd [в] LT":"[Ð] dddd [в] LT";switch(this.day()){case 0:return"[РпÑоÑлое] dddd [в] LT";case 1:case 2:case 4:return"[РпÑоÑлÑй] dddd [в] LT";case 3:case 5:case 6:return"[РпÑоÑлÑÑ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"ÑеÑез %s",past:"%s назад",s:"неÑколÑко ÑекÑнд",m:Yd,mm:Yd,h:"ÑаÑ",hh:Yd,d:"денÑ",dd:Yd,M:"меÑÑÑ",MM:Yd,y:"год",yy:Yd},meridiemParse:/ноÑи|ÑÑÑа|днÑ|веÑеÑа/i,isPM:function(a){return/^(днÑ|веÑеÑа)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ноÑи":12>a?"ÑÑÑа":17>a?"днÑ":"веÑеÑа"},ordinalParse:/\d{1,2}-(й|го|Ñ)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-Ñ";default:return a}},week:{dow:1,// Monday is the first day of the week. 682doy:7}}),kg.defineLocale("se",{months:"oÄÄajagemánnu_guovvamánnu_njukÄamánnu_cuoÅománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_ÄakÄamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"oÄÄj_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maÅÅebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maÅ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maÅit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 683doy:4}}),kg.defineLocale("si",{months:"ජනà·à·à¶»à·_à¶´à·à¶¶à¶»à·à·à¶»à·_මà·à¶»à·à¶à·_à¶ à¶´à·âà¶»à·à¶½à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·à·à·à¶à·_à·à·à¶´à·à¶à·à¶¸à·à¶¶à¶»à·_à¶à¶à·à¶à·à¶¶à¶»à·_à¶±à·à·à·à¶¸à·à¶¶à¶»à·_දà·à·à·à¶¸à·à¶¶à¶»à·".split("_"),monthsShort:"ජන_à¶´à·à¶¶_මà·à¶»à·_à¶ à¶´à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·_à·à·à¶´à·_à¶à¶à·_à¶±à·à·à·_දà·à·à·".split("_"),weekdays:"à¶à¶»à·à¶¯à·_à·à¶³à·à¶¯à·_à¶ à¶à·à¶»à·à·à·à¶¯à·_බදà·à¶¯à·_à¶¶à·âà¶»à·
683à·à·à¶´à¶à·à¶±à·à¶¯à·_à·à·à¶à·à¶»à·à¶¯à·_à·à·à¶±à·à·à¶»à·à¶¯à·".split("_"),weekdaysShort:"à¶à¶»à·_à·à¶³à·_à¶ à¶_බදà·_à¶¶à·âà¶»à·_à·à·à¶à·_à·à·à¶±".split("_"),weekdaysMin:"à¶_à·_à¶ _à¶¶_à¶¶à·âà¶»_à·à·_à·à·".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [à·à·à¶±à·] dddd, a h:mm:ss"},calendar:{sameDay:"[චද] LT[à¶§]",nextDay:"[à·à·à¶§] LT[à¶§]",nextWeek:"dddd LT[à¶§]",lastDay:"[à¶à¶ºà·] LT[à¶§]",lastWeek:"[à¶´à·à·à¶à·à¶º] dddd LT[à¶§]",sameElse:"L"},relativeTime:{future:"%sà¶à·à¶±à·",past:"%sà¶à¶§ à¶´à·à¶»",s:"à¶à¶à·à¶´à¶» à¶à·à·à·à¶´à¶º",m:"මà·à¶±à·à¶à·à¶à·à·",mm:"මà·à¶±à·à¶à·à¶à· %d",h:"à¶´à·à¶º",hh:"à¶´à·à¶º %d",d:"දà·à¶±à¶º",dd:"දà·à¶± %d",M:"මà·à·à¶º",MM:"මà·à· %d",y:"à·à·à¶»",yy:"à·à·à¶» %d"},ordinalParse:/\d{1,2} à·à·à¶±à·/,ordinal:function(a){return a+" à·à·à¶±à·"},meridiemParse:/à¶´à·à¶» à·à¶»à·|à¶´à·à· à·à¶»à·|à¶´à·.à·|à¶´.à·./,isPM:function(a){return"à¶´.à·."===a||"à¶´à·à· à·à¶»à·"===a},meridiem:function(a,b,c){return a>11?c?"à¶´.à·.":"à¶´à·à· à·à¶»à·":c?"à¶´à·.à·.":"à¶´à·à¶» à·à¶»à·"}}),"január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december".split("_")),lh="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),mh=(kg.defineLocale("sk",{months:kh,monthsShort:lh,weekdays:"nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_Å¡t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_Å¡t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo Å¡tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[vÄera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:$d,m:$d,mm:$d,h:$d,hh:$d,d:$d,dd:$d,M:$d,MM:$d,y:$d,yy:$d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 684doy:4}}),kg.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._Äet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_Äe_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[vÄeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejÅ¡njo] [nedeljo] [ob] LT";case 3:return"[prejÅ¡njo] [sredo] [ob] LT";case 6:return"[prejÅ¡njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejÅ¡nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"Äez %s",past:"pred %s",s:_d,m:_d,mm:_d,h:_d,hh:_d,d:_d,dd:_d,M:_d,MM:_d,y:_d,yy:_d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 685doy:7}}),kg.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 686doy:4}}),{words:{//Different grammatical cases 687m:["Ñедан минÑÑ","Ñедне минÑÑе"],mm:["минÑÑ","минÑÑе","минÑÑа"],h:["Ñедан ÑаÑ","Ñедног ÑаÑа"],hh:["ÑаÑ","ÑаÑа","ÑаÑи"],dd:["дан","дана","дана"],MM:["меÑеÑ","меÑеÑа","меÑеÑи"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=mh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+mh.correctGrammaticalCase(a,d)}}),nh=(kg.defineLocale("sr-cyrl",{months:"ÑанÑаÑ_ÑебÑÑаÑ_маÑÑ_апÑил_маÑ_ÑÑн_ÑÑл_авгÑÑÑ_ÑепÑембаÑ_ок
687ÑобаÑ_новембаÑ_деÑембаÑ".split("_"),monthsShort:"Ñан._Ñеб._маÑ._апÑ._маÑ_ÑÑн_ÑÑл_авг._Ñеп._окÑ._нов._деÑ.".split("_"),monthsParseExact:!0,weekdays:"недеÑа_понедеÑак_ÑÑоÑак_ÑÑеда_ÑеÑвÑÑак_пеÑак_ÑÑбоÑа".split("_"),weekdaysShort:"нед._пон._ÑÑо._ÑÑе._ÑеÑ._пеÑ._ÑÑб.".split("_"),weekdaysMin:"не_по_ÑÑ_ÑÑ_Ñе_пе_ÑÑ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Ð´Ð°Ð½Ð°Ñ Ñ] LT",nextDay:"[ÑÑÑÑа Ñ] LT",nextWeek:function(){switch(this.day()){case 0:return"[Ñ] [недеÑÑ] [Ñ] LT";case 3:return"[Ñ] [ÑÑедÑ] [Ñ] LT";case 6:return"[Ñ] [ÑÑбоÑÑ] [Ñ] LT";case 1:case 2:case 4:case 5:return"[Ñ] dddd [Ñ] LT"}},lastDay:"[ÑÑÑе Ñ] LT",lastWeek:function(){var a=["[пÑоÑле] [недеÑе] [Ñ] LT","[пÑоÑлог] [понедеÑка] [Ñ] LT","[пÑоÑлог] [ÑÑоÑка] [Ñ] LT","[пÑоÑле] [ÑÑеде] [Ñ] LT","[пÑоÑлог] [ÑеÑвÑÑка] [Ñ] LT","[пÑоÑлог] [пеÑка] [Ñ] LT","[пÑоÑле] [ÑÑбоÑе] [Ñ] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пÑе %s",s:"неколико ÑекÑнди",m:mh.translate,mm:mh.translate,h:mh.translate,hh:mh.translate,d:"дан",dd:mh.translate,M:"меÑеÑ",MM:mh.translate,y:"годинÑ",yy:mh.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 688doy:7}}),{words:{//Different grammatical cases 689m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=nh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+nh.correctGrammaticalCase(a,d)}}),oh=(kg.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._Äet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_Äe_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄe u] LT",lastWeek:function(){var a=["[proÅ¡le] [nedelje] [u] LT","[proÅ¡log] [ponedeljka] [u] LT","[proÅ¡log] [utorka] [u] LT","[proÅ¡le] [srede] [u] LT","[proÅ¡log] [Äetvrtka] [u] LT","[proÅ¡log] [petka] [u] LT","[proÅ¡le] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:nh.translate,mm:nh.translate,h:nh.translate,hh:nh.translate,d:"dan",dd:nh.translate,M:"mesec",MM:nh.translate,y:"godinu",yy:nh.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 690doy:7}}),kg.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%
690d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(a,b,c){return 11>a?"ekuseni":15>a?"emini":19>a?"entsambama":"ebusuku"},meridiemHour:function(a,b){return 12===a&&(a=0),"ekuseni"===b?a:"emini"===b?a>=11?a:a+12:"entsambama"===b||"ebusuku"===b?0===a?0:a+12:void 0},ordinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,// Monday is the first day of the week. 691doy:4}}),kg.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mÃ¥n_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_mÃ¥_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[IgÃ¥r] LT",nextWeek:"[PÃ¥] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"nÃ¥gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en mÃ¥nad",MM:"%d mÃ¥nader",y:"ett Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,// Monday is the first day of the week. 692doy:4}}),kg.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,// Monday is the first day of the week. 693doy:7}}),{1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"à¯",8:"௮",9:"௯",0:"௦"}),ph={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","à¯":"7","௮":"8","௯":"9","௦":"0"},qh=(kg.defineLocale("ta",{months:"à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯".split("_"),monthsShort:"à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯".split("_"),weekdays:"à®à®¾à®¯à®¿à®±à¯à®±à¯à®à¯à®à®¿à®´à®®à¯_திà®à¯à®à®à¯à®à®¿à®´à®®à¯_à®à¯à®µà¯à®µà®¾à®¯à¯à®à®¿à®´à®®à¯_பà¯à®¤à®©à¯à®à®¿à®´à®®à¯_வியாழà®à¯à®à®¿à®´à®®à¯_வà¯à®³à¯à®³à®¿à®à¯à®à®¿à®´à®®à¯_à®à®©à®¿à®à¯à®à®¿à®´à®®à¯".split("_"),weekdaysShort:"à®à®¾à®¯à®¿à®±à¯_திà®à¯à®à®³à¯_à®à¯à®µà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வà¯à®³à¯à®³à®¿_à®à®©à®¿".split("_"),weekdaysMin:"à®à®¾_தி_à®à¯_பà¯_வி_வà¯_à®".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[à®à®©à¯à®±à¯] LT",nextDay:"[நாளà¯] LT",nextWeek:"dddd, LT",lastDay:"[நà¯à®±à¯à®±à¯] LT",lastWeek:"[à®à®à®¨à¯à®¤ வாரமà¯] dddd, LT",sameElse:"L"},relativeTime:{future:"%s à®à®²à¯",past:"%s à®®à¯à®©à¯",s:"à®à®°à¯ à®à®¿à®² விநாà®à®¿à®à®³à¯",m:"à®à®°à¯ நிமிà®à®®à¯",mm:"%d நிமிà®à®à¯à®à®³à¯",h:"à®à®°à¯ மணி நà¯à®°à®®à¯",hh:"%d மணி நà¯à®°à®®à¯",d:"à®à®°à¯ நாளà¯",dd:"%d நாà®à¯à®à®³à¯",M:"à®à®°à¯ மாதமà¯",MM:"%d மாதà®à¯à®à®³à¯",y:"à®à®°à¯ வரà¯à®à®®à¯",yy:"%d à®à®£à¯à®à¯à®à®³à¯"},ordinalParse:/\d{1,2}வதà¯/,ordinal:function(a){return a+"வதà¯"},preparse:function(a){return a.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g,function(a){return ph[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return oh[a]})}, 694// refer http://ta.wikipedia.org/s/1er1
695meridiemParse:/யாமமà¯|வà¯à®à®±à¯|à®à®¾à®²à¯|நணà¯à®ªà®à®²à¯|à®à®±à¯à®ªà®¾à®à¯|மாலà¯/,meridiem:function(a,b,c){return 2>a?" யாமமà¯":6>a?" வà¯à®à®±à¯":10>a?" à®à®¾à®²à¯":14>a?" நணà¯à®ªà®à®²à¯":18>a?" à®à®±à¯à®ªà®¾à®à¯":22>a?" மாலà¯":" யாமமà¯"},meridiemHour:function(a,b){return 12===a&&(a=0),"யாமமà¯"===b?2>a?a:a+12:"வà¯à®à®±à¯"===b||"à®à®¾à®²à¯"===b?a:"நணà¯à®ªà®à®²à¯"===b&&a>=10?a:a+12},week:{dow:0,// Sunday is the first day of the week. 696doy:6}}),kg.defineLocale("te",{months:"à°à°¨à°µà°°à°¿_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°à°¿_à°à°ªà±à°°à°¿à°²à±_à°®à±_à°à±à°¨à±_à°à±à°²à±à±_à°à°à°¸à±à°à±_à°¸à±à°ªà±à°à±à°à°¬à°°à±_à° à°à±à°à±à°¬à°°à±_నవà°à°¬à°°à±_à°¡à°¿à°¸à±à°à°¬à°°à±".split("_"),monthsShort:"à°à°¨._à°«à°¿à°¬à±à°°._మారà±à°à°¿_à°à°ªà±à°°à°¿._à°®à±_à°à±à°¨à±_à°à±à°²à±à±_à°à°._à°¸à±à°ªà±._à° à°à±à°à±._నవ._à°¡à°¿à°¸à±.".split("_"),monthsParseExact:!0,weekdays:"à°à°¦à°¿à°µà°¾à°°à°_à°¸à±à°®à°µà°¾à°°à°_à°®à°à°à°³à°µà°¾à°°à°_à°¬à±à°§à°µà°¾à°°à°_à°à±à°°à±à°µà°¾à°°à°_à°¶à±à°à±à°°à°µà°¾à°°à°_శనివారà°".split("_"),weekdaysShort:"à°à°¦à°¿_à°¸à±à°®_à°®à°à°à°³_à°¬à±à°§_à°à±à°°à±_à°¶à±à°à±à°°_శని".split("_"),weekdaysMin:"à°_à°¸à±_à°®à°_à°¬à±_à°à±_à°¶à±_à°¶".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[à°¨à±à°¡à±] LT",nextDay:"[à°°à±à°ªà±] LT",nextWeek:"dddd, LT",lastDay:"[నినà±à°¨] LT",lastWeek:"[à°à°¤] dddd, LT",sameElse:"L"},relativeTime:{future:"%s à°²à±",past:"%s à°à±à°°à°¿à°¤à°",s:"à°à±à°¨à±à°¨à°¿ à°à±à°·à°£à°¾à°²à±",m:"à°à° నిమిషà°",mm:"%d నిమిషాలà±",h:"à°à° à°à°à°",hh:"%d à°à°à°à°²à±",d:"à°à° à°°à±à°à±",dd:"%d à°°à±à°à±à°²à±",M:"à°à° à°¨à±à°²",MM:"%d à°¨à±à°²à°²à±",y:"à°à° à°¸à°à°µà°¤à±à°¸à°°à°",yy:"%d à°¸à°à°µà°¤à±à°¸à°°à°¾à°²à±"},ordinalParse:/\d{1,2}à°µ/,ordinal:"%dà°µ",meridiemParse:/రాతà±à°°à°¿|à°à°¦à°¯à°|మధà±à°¯à°¾à°¹à±à°¨à°|సాయà°à°¤à±à°°à°/,meridiemHour:function(a,b){return 12===a&&(a=0),"రాతà±à°°à°¿"===b?4>a?a:a+12:"à°à°¦à°¯à°"===b?a:"మధà±à°¯à°¾à°¹à±à°¨à°"===b?a>=10?a:a+12:"సాయà°à°¤à±à°°à°"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"రాతà±à°°à°¿":10>a?"à°à°¦à°¯à°":17>a?"మధà±à°¯à°¾à°¹à±à°¨à°":20>a?"సాయà°à°¤à±à°°à°":"రాతà±à°°à°¿"},week:{dow:0,// Sunday is the first day of the week. 697doy:6}}),kg.defineLocale("th",{months:"มà¸à¸£à¸²à¸à¸¡_à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹_มีà¸à¸²à¸à¸¡_à¹à¸¡à¸©à¸²à¸¢à¸_à¸à¸¤à¸©à¸ าà¸à¸¡_มิà¸à¸¸à¸à¸²à¸¢à¸_à¸à¸£à¸à¸à¸²à¸à¸¡_สิà¸à¸«à¸²à¸à¸¡_à¸à¸±à¸à¸¢à¸²à¸¢à¸_à¸à¸¸à¸¥à¸²à¸à¸¡_à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸_à¸à¸±à¸à¸§à¸²à¸à¸¡".split("_"),monthsShort:"ม.à¸._à¸.à¸._มี.à¸._à¹à¸¡.ย._à¸.à¸._มิ.ย._à¸.à¸._ส.à¸._à¸.ย._à¸.à¸._à¸.ย._à¸.à¸.".split("_"),monthsParseExact:!0,weekdays:"à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹".split("_"),weekdaysShort:"à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ª_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹".split("_"),// yes, three characters difference 698weekdaysMin:"à¸à¸²._à¸._à¸._à¸._à¸à¸¤._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H à¸à¸²à¸¬à¸´à¸à¸² m à¸à¸²à¸à¸µ",LTS:"H à¸à¸²à¸¬à¸´à¸à¸² m à¸à¸²à¸à¸µ s วิà¸à¸²à¸à¸µ",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY à¹à¸§à¸¥à¸² H à¸à¸²à¸¬à¸´à¸à¸² m à¸à¸²à¸à¸µ",LLLL:"วัà¸ddddà¸à¸µà¹ D MMMM YYYY à¹à¸§à¸¥à¸² H à¸à¸²à¸¬à¸´à¸à¸² m à¸à¸²à¸à¸µ"},meridiemParse:/à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸|หลัà¸à¹à¸à¸µà¹à¸¢à¸/,isPM:function(a){return"หลัà¸à¹à¸à¸µà¹à¸¢à¸"===a},meridiem:function(a,b,c){return 12>a?"à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸":"หลัà¸à¹à¸à¸µà¹à¸¢à¸"},calendar:{sameDay:"[วัà¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT",nextDay:"[à¸à¸£à¸¸à¹à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT",nextWeek:"dddd[หà¸à¹à¸² à¹à¸§à¸¥à¸²] LT",lastDay:"[à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT",lastWeek:"[วัà¸]dddd[à¸à¸µà¹à¹à¸¥à¹à¸§ à¹à¸§à¸¥à¸²] LT",sameElse:"L"},relativeTime:{future:"à¸à¸µà¸ %s",past:"%sà¸à¸µà¹à¹à¸¥à¹à¸§",s:"à¹à¸¡à¹à¸à¸µà¹à¸§à¸´à¸à¸²à¸à¸µ",m:"1 à¸à¸²à¸à¸µ",mm:"%d à¸à¸²à¸à¸µ",h:"1 à¸à¸±à¹à¸§à¹à¸¡à¸",hh:"%d à¸à¸±à¹à¸§à¹à¸¡à¸",d:"1 วัà¸",dd:"%d วัà¸",M:"1 à¹à¸à¸·à¸à¸",MM:"%d à¹à¸à¸·à¸à¸",y:"1 à¸à¸µ",yy:"%d à¸à¸µ"}}),kg.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%
698d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,// Monday is the first day of the week. 699doy:4}}),"pagh_waâ_chaâ_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_")),rh=(kg.defineLocale("tlh",{months:"teraâ jar waâ_teraâ jar chaâ_teraâ jar wej_teraâ jar loS_teraâ jar vagh_teraâ jar jav_teraâ jar Soch_teraâ jar chorgh_teraâ jar Hut_teraâ jar waâmaH_teraâ jar waâmaH waâ_teraâ jar waâmaH chaâ".split("_"),monthsShort:"jar waâ_jar chaâ_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar waâmaH_jar waâmaH waâ_jar waâmaH chaâ".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[waâleS] LT",nextWeek:"LLL",lastDay:"[waâHuâ] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:ae,past:be,s:"puS lup",m:"waâ tup",mm:ce,h:"waâ rep",hh:ce,d:"waâ jaj",dd:ce,M:"waâ jar",MM:ce,y:"waâ DIS",yy:ce},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 700doy:4}}),{1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"}),sh=(kg.defineLocale("tr",{months:"Ocak_Åubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Åub_Mar_Nis_May_Haz_Tem_AÄu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_ÃarÅamba_PerÅembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Ãar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ãa_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)// special case for zero 701return a+"'ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(rh[b]||rh[c]||rh[d])},week:{dow:1,// Monday is the first day of the week. 702doy:7}}),kg.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à ] LT",nextDay:"[demà à ] LT",nextWeek:"dddd [à ] LT",lastDay:"[ieiri à ] LT",lastWeek:"[sür el] dddd [lasteu à ] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ee,m:ee,mm:ee,h:ee,hh:ee,d:ee,dd:ee,M:ee,MM:ee,y:ee,yy:ee},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week. 703doy:4}}),kg.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibr
703ir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuá¸",mm:"%d minuá¸",h:"saÉa",hh:"%d tassaÉin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,// Saturday is the first day of the week. 704doy:12}}),kg.defineLocale("tzm",{months:"âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ".split("_"),monthsShort:"âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ".split("_"),weekdays:"â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ".split("_"),weekdaysShort:"â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ".split("_"),weekdaysMin:"â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[â´°âµâ´·âµ â´´] LT",nextDay:"[â´°âµâ´½â´° â´´] LT",nextWeek:"dddd [â´´] LT",lastDay:"[â´°âµâ´°âµâµ â´´] LT",lastWeek:"dddd [â´´] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵠⵠⵢⴰⵠ%s",past:"ⵢⴰⵠ%s",s:"âµâµâµâ´½",m:"âµâµâµâµâ´º",mm:"%d âµâµâµâµâ´º",h:"âµâ´°âµâ´°",hh:"%d âµâ´°âµâµâ´°âµâµâµ",d:"â´°âµâµ",dd:"%d oâµâµâ´°âµ",M:"â´°âµ¢oâµâµ",MM:"%d âµâµ¢âµ¢âµâµâµ",y:"â´°âµâ´³â´°âµ",yy:"%d âµâµâ´³â´°âµâµ"},week:{dow:6,// Saturday is the first day of the week. 705doy:12}}),kg.defineLocale("uk",{months:{format:"ÑÑÑнÑ_лÑÑого_беÑезнÑ_квÑÑнÑ_ÑÑавнÑ_ÑеÑвнÑ_липнÑ_ÑеÑпнÑ_веÑеÑнÑ_жовÑнÑ_лиÑÑопада_гÑÑднÑ".split("_"),standalone:"ÑÑÑенÑ_лÑÑий_беÑезенÑ_квÑÑенÑ_ÑÑавенÑ_ÑеÑвенÑ_липенÑ_ÑеÑпенÑ_веÑеÑенÑ_жовÑенÑ_лиÑÑопад_гÑÑденÑ".split("_")},monthsShort:"ÑÑÑ_лÑÑ_беÑ_квÑÑ_ÑÑав_ÑеÑв_лип_ÑеÑп_веÑ_жовÑ_лиÑÑ_гÑÑд".split("_"),weekdays:he,weekdaysShort:"нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),weekdaysMin:"нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Ñ.",LLL:"D MMMM YYYY Ñ., HH:mm",LLLL:"dddd, D MMMM YYYY Ñ., HH:mm"},calendar:{sameDay:ie("[СÑÐ¾Ð³Ð¾Ð´Ð½Ñ "),nextDay:ie("[ÐавÑÑа "),lastDay:ie("[ÐÑоÑа "),nextWeek:ie("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ie("[ÐинÑлоÑ] dddd [").call(this);case 1:case 2:case 4:return ie("[ÐинÑлого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s ÑомÑ",s:"декÑлÑка ÑекÑнд",m:ge,mm:ge,h:"годинÑ",hh:ge,d:"денÑ",dd:ge,M:"мÑÑÑÑÑ",MM:ge,y:"ÑÑк",yy:ge}, 706// M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason 707meridiemParse:/ноÑÑ|ÑанкÑ|днÑ|веÑоÑа/,isPM:function(a){return/^(днÑ|веÑоÑа)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ноÑÑ":12>a?"ÑанкÑ":17>a?"днÑ":"веÑоÑа"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,// Monday is the first day of the week. 708doy:7}}),kg.defineLocale("uz",{months:"ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ".split("_"),monthsShort:"Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек".split("_"),weekdays:"ЯкÑанба_ÐÑÑанба_СеÑанба_ЧоÑÑанба_ÐайÑанба_ÐÑма_Шанба".split("_"),weekdaysShort:"ЯкÑ_ÐÑÑ_СеÑ_ЧоÑ_Ðай_ÐÑм_Шан".split("_"),weekdaysMin:"Як_ÐÑ_Се_Чо_Ðа_ÐÑ_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[ÐÑгÑн ÑоаÑ] LT [да]",nextDay:"[ÐÑÑага] LT [да]",nextWeek:"dddd [кÑни ÑоаÑ] LT [да]",lastDay:"[ÐеÑа ÑоаÑ] LT [да]",lastWeek:"[УÑган] dddd [кÑни ÑоаÑ] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s иÑида",past:"ÐÐ¸Ñ Ð½ÐµÑа %s олдин",s:"ÑÑÑÑаÑ",m:"Ð±Ð¸Ñ Ð´Ð°ÐºÐ¸ÐºÐ°",mm:"%d дакика",h:"Ð±Ð¸Ñ ÑоаÑ",hh:"%
708d ÑоаÑ",d:"Ð±Ð¸Ñ ÐºÑн",dd:"%d кÑн",M:"Ð±Ð¸Ñ Ð¾Ð¹",MM:"%d ой",y:"Ð±Ð¸Ñ Ð¹Ð¸Ð»",yy:"%d йил"},week:{dow:1,// Monday is the first day of the week. 709doy:7}}),kg.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chá»§ nháºt_thứ hai_thứ ba_thứ tư_thứ nÄm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [nÄm] YYYY",LLL:"D MMMM [nÄm] YYYY HH:mm",LLLL:"dddd, D MMMM [nÄm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngà y mai lúc] LT",nextWeek:"dddd [tuần tá»i lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rá»i lúc] LT",sameElse:"L"},relativeTime:{future:"%s tá»i",past:"%s trưá»c",s:"và i giây",m:"má»t phút",mm:"%d phút",h:"má»t giá»",hh:"%d giá»",d:"má»t ngà y",dd:"%d ngà y",M:"má»t tháng",MM:"%d tháng",y:"má»t nÄm",yy:"%d nÄm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,// Monday is the first day of the week. 710doy:4}}),kg.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ã~ctób~ér_Ã~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Ãct_~Ãóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ã~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"Ã~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~mÃñ~út
710é",mm:"%d m~Ãñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week. 711doy:4}}),kg.defineLocale("zh-cn",{months:"䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ".split("_"),monthsShort:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),weekdays:"æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå ".split("_"),weekdaysShort:"卿¥_å¨ä¸_å¨äº_å¨ä¸_å¨å_å¨äº_å¨å ".split("_"),weekdaysMin:"æ¥_ä¸_äº_ä¸_å_äº_å ".split("_"),longDateFormat:{LT:"Ahç¹mmå",LTS:"Ahç¹måsç§",L:"YYYY-MM-DD",LL:"YYYYå¹´MMMDæ¥",LLL:"YYYYå¹´MMMDæ¥Ahç¹mmå",LLLL:"YYYYå¹´MMMDæ¥ddddAhç¹mmå",l:"YYYY-MM-DD",ll:"YYYYå¹´MMMDæ¥",lll:"YYYYå¹´MMMDæ¥Ahç¹mmå",llll:"YYYYå¹´MMMDæ¥ddddAhç¹mmå"},meridiemParse:/忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/,meridiemHour:function(a,b){return 12===a&&(a=0),"忍"===b||"æ©ä¸"===b||"ä¸å"===b?a:"ä¸å"===b||"æä¸"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"忍":900>d?"æ©ä¸":1130>d?"ä¸å":1230>d?"ä¸å":1800>d?"ä¸å":"æä¸"},calendar:{sameDay:function(){return 0===this.minutes()?"[ä»å¤©]Ah[ç¹æ´]":"[ä»å¤©]LT"},nextDay:function(){return 0===this.minutes()?"[æå¤©]Ah[ç¹æ´]":"[æå¤©]LT"},lastDay:function(){return 0===this.minutes()?"[æ¨å¤©]Ah[ç¹æ´]":"[æ¨å¤©]LT"},nextWeek:function(){var a,b;return a=kg().startOf("week"),b=this.diff(a,"days")>=7?"[ä¸]":"[æ¬]",0===this.minutes()?b+"dddAhç¹æ´":b+"dddAhç¹mm"},lastWeek:function(){var a,b;return a=kg().startOf("week"),b=this.unix()<a.unix()?"[ä¸]":"[æ¬]",0===this.minutes()?b+"dddAhç¹æ´":b+"dddAhç¹mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(æ¥|æ|å¨)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ¥";case"M":return a+"æ";case"w":case"W":return a+"å¨";default:return a}},relativeTime:{future:"%så ",past:"%så",s:"å ç§",m:"1 åé",mm:"%d åé",h:"1 å°æ¶",hh:"%d å°æ¶",d:"1 天",dd:"%d 天",M:"1 个æ",MM:"%d 个æ",y:"1 å¹´",yy:"%d å¹´"},week:{ 712// GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 713dow:1,// Monday is the first day of the week. 714doy:4}}),kg.defineLocale("zh-tw",{months:"䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ".split("_"),monthsShort:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),weekdays:"æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå ".split("_"),weekdaysShort:"鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å ".split("_"),weekdaysMin:"æ¥_ä¸_äº_ä¸_å_äº_å ".split("_"),longDateFormat:{LT:"Ahé»mmå",LTS:"Ahé»måsç§",L:"YYYYå¹´MMMDæ¥",LL:"YYYYå¹´MMMDæ¥",LLL:"YYYYå¹´MMMDæ¥Ahé»mmå",LLLL:"YYYYå¹´MMMDæ¥ddddAhé»mmå",l:"YYYYå¹´MMMDæ¥",ll:"YYYYå¹´MMMDæ¥",lll:"YYYYå¹´MMMDæ¥Ahé»mmå",llll:"YYYYå¹´MMMDæ¥ddddAhé»mmå"},meridiemParse:/忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/,meridiemHour:function(a,b){return 12===a&&(a=0),"忍"===b||"æ©ä¸"===b||"ä¸å"===b?a:"ä¸å"===b?a>=11?a:a+12:"ä¸å"===b||"æä¸"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"忍":900>d?"æ©ä¸":1130>d?"ä¸å":1230>d?"ä¸å":1800>d?"ä¸å":"æä¸"},calendar:{sameDay:"[ä»å¤©]LT",nextDay:"[æå¤©]LT",nextWeek:"[ä¸]ddddLT",lastDay:"[æ¨å¤©]LT",lastWeek:"[ä¸]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(æ¥|æ|é±)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ¥";case"M":return a+"æ";case"w":case"W":return a+"é±";default:return a}},relativeTime:{future:"%så §",past:"%så",s:"å¹¾ç§",m:"1 åé",mm:"%d åé",h:"1 å°æ",hh:"%d å°æ",d:"1 天",dd:"%d 天",M:"1 åæ",MM:"%d åæ",y:"1 å¹´",yy:"%d å¹´"}}),kg);return sh.locale("en"),sh}); 715/*! 716 * css-vars-ponyfill 717 * v1.7.2 718 * https://github.com/jhildenbiddle/css-vars-ponyfill 719 * (c) 2018 John Hildenbiddle <http://hildenbiddle.com> 720 * MIT license 721 */ 722!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.cssVars=n()}(this,function(){"use strict";function e(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={mimeType:n.mimeType||null,onBeforeSend:n.onBeforeSend||Function.prototype,onSuccess:n.onSuccess||Function.prototype,onError:n.onError||Function.prototype,onComplete:n.onComplete||Function.prototype},t=Array.isArray(e)?e:[e],o=Array.apply(null,Array(t.length)).map(function(e){return null});function s(e,n){r.onError(e,t[n],n)}function a(e,n){var s=r.onSuccess(e,t[n],n);e=!1===s?"":s||e,o[n]=e,-1===o.indexOf(null)&&r.onComplete(o)}t.forEach(function(e,n){var t=document.createElement("a");t.setAttribute("href",e),t.href=t.href;var o=t.host!==location.host,i=t.protocol===location.protocol;if(o&&"undefined"!=typeof XDomainRequest)if(i){var u=new XDomainRequest;
722u.open("GET",e),u.timeout=0,u.onprogress=Function.prototype,u.ontimeout=Function.prototype,u.onload=function(){a(u.responseText,n)},u.onerror=function(e){s(u,n)},setTimeout(function(){u.send()},0)}else console.log("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol"),s(null,n);else{var c=new XMLHttpRequest;c.open("GET",e),r.mimeType&&c.overrideMimeType&&c.overrideMimeType(r.mimeType),r.onBeforeSend(c,e,n),c.onreadystatechange=function(){4===c.readyState&&(200===c.status?a(c.responseText,n):s(c,n))},c.send()}})}function n(n){var t={cssComments:/\/\*[\s\S]+?\*\//g,cssImports:/(?:@import\s*)(?:url\(\s*)?(?:['"])([^'"]*)(?:['"])(?:\s*\))?(?:[^;]*;)/g},o={include:n.include||'style,link[rel="stylesheet"]',exclude:n.exclude||null,filter:n.filter||null,onBeforeSend:n.onBeforeSend||Function.prototype,onSuccess:n.onSuccess||Function.prototype,onError:n.onError||Function.prototype,onComplete:n.onComplete||Function.prototype},s=Array.apply(null,document.querySelectorAll(o.include)).filter(function(e){return n=e,r=o.exclude,!(n.matches||n.matchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector).call(n,r);var n,r}),a=Array.apply(null,Array(s.length)).map(function(e){return null});function i(){if(-1===a.indexOf(null)){var e=a.join("");o.onComplete(e,a,s)}}function u(n,r,t,s){var u=o.onSuccess(n,t,s);(function n(r,t,s,a){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];var u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];var l=c(r,s,u);l.rules.length?e(l.absoluteUrls,{onBeforeSend:function(e,n,r){o.onBeforeSend(e,t,n)},onSuccess:function(e,n,r){var s=o.onSuccess(e,t,n),a=c(e=!1===s?"":s||e,n,u);
722return a.rules.forEach(function(n,r){e=e.replace(n,a.absoluteRules[r])}),e},onError:function(e,o,c){i.push({xhr:e,url:o}),u.push(l.rules[c]),n(r,t,s,a,i,u)},onComplete:function(e){e.forEach(function(e,n){r=r.replace(l.rules[n],e)}),n(r,t,s,a,i,u)}}):a(r,i)})(n=!1===u?"":u||n,t,s,function(e,n){null===a[r]&&(n.forEach(function(e){return o.onError(e.xhr,t,e.url)}),!o.filter||o.filter.test(e)?a[r]=e:a[r]="",i())})}function c(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s={};return s.rules=(e.replace(t.cssComments,"").match(t.cssImports)||[]).filter(function(e){return-1===o.indexOf(e)}),s.urls=s.rules.map(function(e){return e.replace(t.cssImports,"$1")}),s.absoluteUrls=s.urls.map(function(e){return r(e,n)}),s.absoluteRules=s.rules.map(function(e,t){var o=s.urls[t],a=r(s.absoluteUrls[t],n);return e.replace(o,a)}),s}s.length?s.forEach(function(n,t){var s=n.getAttribute("href"),c=n.getAttribute("rel"),l="LINK"===n.nodeName&&s&&c&&"stylesheet"===c.toLowerCase(),f="STYLE"===n.nodeName;l?e(s,{mimeType:"text/css",onBeforeSend:function(e,r,t){o.onBeforeSend(e,n,r)},onSuccess:function(e,o,a){var i=r(s,location.href);u(e,t,n,i)},onError:function(e,r,s){a[t]="",o.onError(e,n,r),i()}}):f?u(n.textContent,t,n,location.href):(a[t]="",i())}):o.onComplete("",[])}function r(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:location.href,r=document.implementation.createHTMLDocument(""),t=r.createElement("base"),o=r.createElement("a");return r.head.appendChild(t),r.body.appendChild(o),t.href=n,o.href=e,o.href}function t(){for(var e=function(e){return e instanceof Object&&e.constructor===Object},n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return r.reduce(function(n,r){return Object.keys(r).forEach(function(o){var s=n[o],a=r[o];e(s)&&e(a)?n[o]=t(s,a):n[o]=a}),n},{})}var o=s;function s(e,n,r){e instanceof RegExp&&(e=a(e,r)),n instanceof RegExp&&(n=a(n,r));var t=i(e,n,r);return t&&{start:t[0],end:t[1],pre:r.slice(0,t[0]),body:r.slice(t[0]+e.length,t[1]),post:r.slice(t[1]+n.length)}}function a(e,n){var r=n.match(e);return r?r[0]:null}function i(e,n,r){var t,o,s,a,i,u=r.indexOf(e),c=r.indexOf(n,u+1),l=u;if(u>=0&&c>0){for(t=[],s=r.length;l>=0&&!i;)l==u?(t.push(l),u=r.indexOf(e,l+1)):1==t.length?i=[t.pop(),c]:((o=t.pop())<s&&(s=o,a=c),c=r.indexOf(n,l+1)),l=u<c&&u>=0?u:c;t.length&&(i=[s,a])}return i}function u(e){function n(e){throw new Error("CSS parse error: "+e)}function r(n){var r=n.exec(e);if(r)return e=e.slice(r[0].length),r}function t(){r(/^\s*/)}function o(){return r(/^{\s*/)}function s(){return r(/^}/)}function a(){if(t(),"/"===e[0]&&"*"===e[1]){for(var r=2;e[r]&&("*"!==e[r]||"/"!==e[r+1]);)r++;if(!e[r])return n("end of comment is missing");var o=e.slice(2,r);return e=e.slice(r+2),{type:"comment",comment:o}}}function i(){for(var e=[],n=void 0;n=a();)e.push(n);return e}function u(){for(t();"}"===e[0];)n("extra closing bracket");
722var o=r(/^(("(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^{])+)/);if(o)return o[0].trim().replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,function(e){return e.replace(/,/g,"â")}).split(/\s*(?![^(]*\)),\s*/).map(function(e){return e.replace(/\u200C/g,",")})}function c(){r(/^([;\s]*)+/);var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=r(/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(t){if(t=t[0].trim(),!r(/^:\s*/))return n("property missing ':'");var o=r(/^((?:\/\*.*?\*\/|'(?:\\'|.)*?'|"(?:\\"|.)*?"|\((\s*'(?:\\'|.)*?'|"(?:\\"|.)*?"|[^)]*?)\s*\)|[^};])+)/),s={type:"declaration",property:t.replace(e,""),value:o?o[0].replace(e,"").trim():""};return r(/^[;\s]*/),s}}function l(){if(!o())return n("missing '{'");for(var e=void 0,r=i();e=c();)r.push(e),r=r.concat(i());return s()?r:n("missing '}'")}function f(){t();for(var e=[],n=void 0;n=r(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)e.push(n[1]),r(/^,\s*/);if(e.length)return{type:"keyframe",values:e,declarations:l()}}function p(){if(t(),"@"===e[0])return function(){var e=r(/^@([-\w]+)?ke
722yframes\s*/);if(e){var t=e[1];if(!(e=r(/^([-\w]+)\s*/)))return n("@keyframes missing name");var a=e[1];if(!o())return n("@keyframes missing '{'");for(var u=void 0,c=i();u=f();)c.push(u),c=c.concat(i());return s()?{type:"keyframes",name:a,vendor:t,keyframes:c}:n("@keyframes missing '}'")}}()||function(){var e=r(/^@supports *([^{]+)/);if(e)return{type:"supports",supports:e[1].trim(),rules:d()}}()||function(){if(r(/^@host\s*/))return{type:"host",rules:d()}}()||function(){var e=r(/^@media *([^{]+)/);if(e)return{type:"media",media:e[1].trim(),rules:d()}}()||function(){var e=r(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(e)return{type:"custom-media",name:e[1].trim(),media:e[2].trim()}}()||function(){if(r(/^@page */))return{type:"page",selectors:u()||[],declarations:l()}}()||function(){var e=r(/^@([-\w]+)?document *([^{]+)/);if(e)return{type:"document",document:e[2].trim(),vendor:e[1]?e[1].trim():null,rules:d()}}()||function(){if(r(/^@font-face\s*/))return{type:"font-face",declarations:l()}}()||function(){var e=r(/^@(import|charset|namespace)\s*([^;]+);/);if(e)return{type:e[1],name:e[2].trim()}}()}function d(r){if(!r&&!o())return n("missing '{'");for(var t,a=void 0,c=i();e.length&&(r||"}"!==e[0])&&(a=p()||(void 0,(t=u()||[]).length||n("selector missing"),{type:"rule",selectors:t,declarations:l()}));)c.push(a),c=c.concat(i());return r||s()?c:n("missing '}'")}return{type:"stylesheet",stylesheet:{rules:d(!0),errors:[]}}}s.range=i;var c={},l="--",f="var";function p(e){var n,r,s={},a=t({fixNestedCalc:!0,onlyVars:!0,persist:!1,preserve:!1,variables:{},onWarning:function(){}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),i=a.persist?c:a.variables,p=u(e);if(a.onlyVars&&(p.stylesheet.rules=function e(n){return n.filter(function(n){if(n.declarations){var r=n.declarations.filter(function(e){var n=e.property&&0===e.property.indexOf(l),r=e.value&&e.value.indexOf(f+"(")>-1;return n||r});return"font-face"!==n.type&&(n.declarations=r),Boolean(r.length)}return n.keyframes?Boolean(n.keyframes.filter(function(e){return Boolean(e.declarations.filter(function(e){var n=e.property&&0===e.property.indexOf(l),r=e.value&&e.value.indexOf(f+"(")>-1;return n||r}).length)}).length):!n.rules||(n.rules=e(n.rules).filter(function(e){return e.declarations&&e.declarations.length}),Boolean(n.rules.length))})}
722(p.stylesheet.rules)),p.stylesheet.rules.forEach(function(e){var n=[];if("rule"===e.type&&1===e.selectors.length&&":root"===e.selectors[0]&&(e.declarations.forEach(function(e,r){var t=e.property,o=e.value;t&&0===t.indexOf(l)&&(s[t]=o,n.push(r))}),!a.preserve))for(var r=n.length-1;r>=0;r--)e.declarations.splice(n[r],1)}),Object.keys(a.variables).forEach(function(e){var n="--"+e.replace(/^-+/,""),r=a.variables[e];e!==n&&(a.variables[n]=r,delete a.variables[e]),a.persist&&(c[n]=r)}),Object.keys(i).length){var m={declarations:[],selectors:[":root"],type:"rule"};Object.keys(i).forEach(function(e){s[e]=i[e],m.declarations.push({type:"declaration",property:e,value:i[e]}),a.persist&&(c[e]=i[e])}),a.preserve&&p.stylesheet.rules.push(m)}return function e(n,r){n.rules.forEach(function(t){t.rules?e(t,r):t.keyframes?t.keyframes.forEach(function(e){"keyframe"===e.type&&r(e.declarations,t)}):t.declarations&&r(t.declarations,n)})}(p.stylesheet,function(e,n){for(var r=void 0,t=void 0,o=void 0,i=0;i<e.length;i++)o=(r=e[i]).value,"declaration"===r.type&&o&&-1!==o.indexOf(f+"(")&&"undefined"!==(t=d(o,s,a))&&(a.preserve?(e.splice(i,0,{type:r.type,property:r.property,value:t}),i++):r.value=t)}),a.fixNestedCalc&&(n=p.stylesheet.rules,r=/(-[a-z]+-)?calc\(/,n.forEach(function(e){e.declarations&&e.declarations.forEach(function(e){for(var n=e.value,t="";r.test(n);){var s=o("calc(",")",n||"");for(n=n.slice(s.end);r.test(s.body);){var a=o(r,")",s.body);s.body=a.pre+"("+a.body+")"+a.post}t+=s.pre+"calc("+s.body,t+=r.test(n)?"":")"+s.post}e.value=t||e.value})})),function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments[2],t={charset:function(e){return"@charset "+e.name+";"},comment:function(e){return 0===e.comment.indexOf("__CSSVARSPONYFILL")?"/*"+e.comment+"*/":""},"custom-media":function(e){return"@custom-media "+e.name+" "+e.media+";"},declaration:function(e){return e.property+":"+e.value+";"},document:function(e){return"@"+(e.vendor||"")+"document "+e.document+"{"+o(e.rules)+"}"},"font-face":function(e){return"@font-face{"+o(e.declarations)+"}"},host:function(e){return"@host{"+o(e.rules)+"}"},import:function(e){return"@import "+e.name+";"},keyframe:function(e){return e.values.join(",")+"{"+o(e.declarations)+"}"},keyframes:function(e){return"@"+(e.vendor||"")+"keyframes "+e.name+"{"+o(e.keyframes)+"}"},media:function(e){return"@media "+e.media+"{"+o(e.rules)+"}"},namespace:function(e){return"@namespace "+e.name+";"},page:function(e){return"@page "+(e.selectors.length?e.selectors.join(", "):"")+"{"+o(e.declarations)+"}"},rule:function(e){var n=e.declarations;if(n.length)return e.selectors.join(",")+"{"+o(n)+"}"},supports:function(e){return"@supports "+e.supports+"{"+o(e.rules)+"}"}};function o(e){for(var o="",s=0;s<e.length;s++){var a=e[s];r&&r(a);var i=t[a.type](a);i&&(o+=i,i.length&&a.selectors&&(o+=n))}return o}return o(e.stylesheet.rules)}(p)}function d(e,n,r){var t=o("(",")",e),s=e.indexOf("var("),a=o("(",")",e.substring(s)).body,i="CSS transform warning:";t||r.onWarning(i+' missing closing ")" in the value "'+e+'"'),""===a&&r.onWarning(i+" var() must contain a non-whitespace string");var u=f+"("+a+")",c=a.replace(/([\w-]+)(?:\s*,\s*)?(.*)?/,function(e,t,o){var s=n[t];return s||o||r.onWarning(i+' variable "'+t+'" is undefined'),!s&&o?o:s});return-1!==(e=e.split(u).join(c)).indexOf(f+"(")&&(e=d(e,n,r)),e}var m="css-vars-ponyfill",v={include:"style,link[rel=stylesheet]",exclude:"",fixNestedCalc:!0,onlyLegacy:!0,onlyVars:!1,preserve:!1,silent:!1,updateDOM:!0,updateURLs:!0,variables:{},onBeforeSend:function(){},onSuccess:function(){},onWarning:function(){},onError:function(){},onComplete:function(){}},y={cssComments:/\/\*[\s\S]+?\*\//g,cssUrls:/url\((?!['"]?(?:data|http|\/\/):)['"]?([^'")]*)['"]?\)/g,cssVars:/(?:(?::root\s*{\s*[^;]*;*\s*)|(?:var\(\s*))(--[^:)]+)(?:\s*[:)])/};function h(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:location.href,r=document.implementation.createHTMLDocument(""),t=r.createElement("base"),o=r.createElement("a");return r.head.appendChild(t),r.body.appendChild(o),t.href=n,o.href=e,o.href}return function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t(v,r);function s(e,n,r,t){o.silent||console.error(e+"\n",n),o.onError(e,n,r,t)}function a(e){o.silent||console.warn(e),o.onWarning(e)}if("loading"!==document.readyState){var i=window.CSS&&window.CSS.supports&&window.CSS.supports("(--a: 0)");if(i&&o.onlyLegacy)i&&o.updateDOM&&Object.keys(o.variables).forEac
722h(function(e){var n="--"+e.replace(/^-+/,""),r=o.variables[e];document.documentElement.style.setProperty(n,r)});else{var u=m;n({include:o.include,exclude:"#"+u+(o.exclude?","+o.exclude:""),filter:o.onlyVars?y.cssVars:null,onBeforeSend:o.onBeforeSend,onSuccess:function(e,n,r){var t=o.onSuccess(e,n,r);return e=!1===t?"":t||e,o.updateURLs&&(e.replace(y.cssComments,"").match(y.cssUrls)||[]).forEach(function(n){var t=n.replace(y.cssUrls,"$1"),o=h(t,r);e=e.replace(n,n.replace(t,o))}),e},onError:function(e,n,r){var t=e.responseURL||h(r,location.href),o=e.statusText?"("+e.statusText+")":"Unspecified Error"+(0===e.status?" (possibly CORS related)":"");s("CSS XHR Error: "+t+" "+e.status+" "+o,n,e,t)},onComplete:function(e,n,r){var t=/\/\*__CSSVARSPONYFILL-(\d+)__\*\//g,i=null;e=n.map(function(e,n){return y.cssVars.test(e)?e:"/*__CSSVARSPONYFILL-"+n+"__*/"}).join("");try{e=p(e,{fixNestedCalc:o.fixNestedCalc,onlyVars:o.onlyVars,persist:o.updateDOM,preserve:o.preserve,variables:o.variables,onWarning:a});for(var c=t.exec(e);null!==c;){var l=c[0],f=c[1];e=e.replace(l,n[f]),c=t.exec(e)}if(o.updateDOM&&r&&r.length){var d=r[r.length-1];(i=document.querySelector("#"+u)||document.createElement("style")).setAttribute("id",u),i.textContent!==e&&(i.textContent=e),d.nextSibling!==i&&d.parentNode.insertBefore(i,d.nextSibling)}}catch(e){var m=!1;n.forEach(function(e,n){try{e=p(e,o)}catch(e){var t=r[n-0];m=!0,s(e.message,t)}}),m||s(e.message||e)}o.onComplete(e,i)}})}}else document.addEventListener("DOMContentLoaded",function n(t){e(r),document.removeEventListener("DOMContentLoaded",n)})}}); 723//# sourceMappingURL=css-vars-ponyfill.min.js.map 724 725Mobypicture.Player = function($el){ 726 this.$el = $el; 727 this.$videoEl = this.$el.find('video'); 728 this.videoEl = this.$videoEl[0]; 729 730 this.mmdToken = null; 731 732 this.uiMode = 'idle'; 733 734 this.mediaState = 'idle'; 735 this.mediaSource = null; 736 this.mediaItem = null; 737 738 739 this.mediaFileUrl = ''; 740 741 this.isModeFullScreen = false; 742 743 this.attachHandlers(); 744 745 746 this.draggingProgress = false; 747 748 this.triggers = {}; 749 750 751 this.setVolume(90); 752 753 this.updateCurrentTimeInterval = null; 754 this.hideControlsTimeout = null; 755 756 this.supportsNativeHls = this.checkSupportsNativeHls(); 757}; 758 759Mobypicture.Player.prototype.checkSupportsNativeHls = function() { 760 var canPlayTypeHls = document.createElement('video').canPlayType('application/vnd.apple.mpegURL'); 761 762 if (canPlayTypeHls == 'probably' || canPlayTypeHls == 'maybe') { 763 764 if (window.navigator.userAgent.indexOf("iPhone") > -1) { 765 return true; 766 } 767 768 if (window.navigator.userAgent.indexOf("Safari") > -1) { 769 if (window.navigator.userAgent.indexOf("Macintosh") > -1) { 770 return true; 771 } 772 } 773 774 } 775 776 /*if (canPlayTypeHls == 'maybe') { 777 if (window.navigator.userAgent.indexOf("Edge") > -1) { 778 return false; 779 } 780 781 return true; 782 }*/ 783 784 return false; 785}; 786 787Mobypicture.Player.prototype.on = function(eventName, cb) { 788 if (typeof this.triggers[eventName] === 'undefined') { 789 this.triggers[eventName] = []; 790 } 791 792 this.triggers[eventName].push(cb); 793}; 794 795Mobypicture.Player.prototype.trigger = function(eventName, ...args) { 796 if (typeof this.triggers[eventName] == 'undefined') { 797 return; 798 } 799 800 var cbs = this.triggers[eventName]; 801 for (var i = 0; i < cbs.length; i++) { 802 var cb = cbs[i]; 803 804 cb.apply(null, args); 805 } 806}; 807 808Mobypicture.Player.prototype.setMmdToken = function(mmdToken) { 809 this.mmdToken = mmdToken; 810}; 811 812Mobypicture.Player.prototype.setVolume = function(volume) { 813 this.videoEl.volume = (1 / 100) * parseInt(volume); 814}; 815 816Mobypicture.Player.prototype.getVolume = function() { 817 return this.videoEl.volume * 100; 818}; 819 820 821Mobypicture.Player.prototype.seekTo = function(val) { 822 this.videoEl.currentTime = val; 823}; 824 825Mobypicture.Player.prototype.hideControls = function(val) { 826 this.$el.find('.player-controls').addClass('disabled'); 827 this.trigger('hideControls'); 828}; 829 830Mobypicture.Player.prototype.showControls = function(val) { 831 this.$el.find('.player-controls').removeClass('disabled'); 832 this.trigger('showControls'); 833}; 834 835Mobypicture.Player.prototype.startHideControlsTimeout = function() { 836 if (this.hideControlsTimeout !== null || this.uiMode != 'playing') { 837 return; 838 } 839 840 var self = this; 841 this.hideControlsTimeout = setTimeout(function(){ 842 self.hideControls(); 843 self.hideControlsTimeout = null; 844 }, 6000); 845} 846 847Mobypicture.Player.prototype.restartHideControlsTimeout = function() { 848 clearTimeout(this.hideControlsTimeout); 849 this.hideControlsTimeout = null; 850 this.startHideControlsTimeout(); 851}; 852 853Mobypicture.Player.prototype.startCurrentTimeInterval = function() { 854 if (this.updateCurrentTimeInterval !== null) { 855 return; 856 } 857 858 var self = this; 859 this.updateCurrentTimeInterval = setInterval(function(){ 860 if (self.videoEl.currentTime >= 0) { 861 self.updateUiTime(self.videoEl.currentTime); 862 } 863 }, 300); 864}; 865 866Mobypicture.Player.prototype.stopCurrentTimeInterval = function() { 867 clearInterval(this.updateCurrentTimeInterval); 868 this.updateCurrentTimeInterval = null; 869}; 870 871Mobypicture.Player.prototype.attachHandlers = function() { 872 var self = this; 873 874 $(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange', function(e) { 875 self.isModeFullScreen = self.isFullScreen(); 876 877 //if (self.isFullScreen === true) { 878 // self.isFullScreen = false;
879 //self.$el.removeClass('is-fullscreen'); 880 //} else { 881 // self.isFullScreen = true; 882 //self.$el.addClass('is-fullscreen'); 883 //} 884 }); 885 886 this.videoEl.addEventListener('mousemove', function(e) { 887 888 if (self.uiMode == 'playing') { 889 self.showControls(); 890 self.restartHideControlsTimeout(); 891 } 892 }); 893 894 this.videoEl.addEventListener('playing', function(e){ 895 self.startCurrentTimeInterval(); 896 self.trigger('modeChange', 'playing'); 897 }); 898 899 this.videoEl.addEventListener('progress', function(e){ 900 self.updateUiDuration(self.videoEl.duration); 901 902 let buffer = self.videoEl.buffered; 903 if (typeof buffer.start !== 'undefined' && typeof buffer.end !== 'undefined') { 904 let bufferStart = buffer.start(0); 905 let bufferEnd = buffer.end(0); 906 907 self.updateUiBuffer(bufferEnd); 908 } 909 }); 910 this.videoEl.addEventListener('play', function(e){ 911 self.startCurrentTimeInterval(); 912 self.startHideControlsTimeout(); 913 self.trigger('modeChange', 'playing'); 914 }); 915 this.videoEl.addEventListener('abort', function(e){ 916 self.stopCurrentTimeInterval(); 917 }); 918 this.videoEl.addEventListener('canplay', function(e){ 919 920 if (self.supportsNativeHls === true) { 921 if (typeof self.mediaOptions.autoplay !== 'undefined' && self.mediaOptions.autoplay === true) { 922 self.play(); 923 } 924 } 925 }); 926 this.videoEl.addEventListener('error', function(e){ 927 alert(this.error.message); 928 }); 929 this.videoEl.addEventListener('canplaythrough', function(e){ 930 //alert('Can play through!'); 931 932 console.log('canplaythrough'); 933 934 }); 935 this.videoEl.addEventListener('ended', function(e){ 936 //self.isPlaying = false; 937 self.stopCurrentTimeInterval(); 938 self.hideControls(); 939 self.trigger('ended'); 940 941 self.videoEl.stop(); 942 }); 943 this.videoEl.addEventListener('error', function(e) { 944 //self.isPlaying = false; 945 self.stopCurrentTimeInterval(); 946 }); 947 this.videoEl.addEventListener('loadeddata', function(e){ 948 if (self.videoEl.duration > 0) { 949 self.updateUiDuration(self.videoEl.duration); 950 } 951 952 self.showControls(); 953 }); 954 955 this.videoEl.addEventListener('loadedmetadata', function(e) { 956 //alert('loadedmetadata'); 957 958 self.videoEl.play(); 959 /*console.log('loadedmetadata'); 960 console.log(self.videoEl.duration); 961 if (self.videoEl.duration > 0) { 962 self.updateUiDuration(self.videoEl.duration); 963 }*/ 964 }); 965 this.videoEl.addEventListener('timeupdate', function(e){ 966 if (self.videoEl.duration > 0) { 967 self.updateUiDuration(self.videoEl.duration); 968 } 969 }); 970 this.videoEl.addEventListener('volumechange', function(e){ 971 972 }); 973 this.videoEl.addEventListener('loadstart', function(e){ 974 //alert('loadstart'); 975 if (self.videoEl.duration > 0) { 976 self.updateUiDuration(self.videoEl.duration); 977 } 978 }); 979 this.videoEl.addEventListener('pause', function(e){ 980 self.stopCurrentTimeInterval(); 981 self.trigger('modeChange', 'paused'); 982 }); 983 this.videoEl.addEventListener('stalled', function(e){ 984 //console.log('stalled (buffering!!!)'); 985 986 }); 987 this.videoEl.addEventListener('waiting', function(e) { 988 // self.setViewState('buffering'); 989 //self.isBuffering = true; 990 991 //console.log(self.videoEl.buffered); 992 }); 993 994 /*this.$el.find('.player-loading').on('click', function(e){ 995 self.play(); 996 });*/ 997 998 this.$el.find('.player-control-play').on('click', function(e){ 999 self.play(); 1000 }); 1001 1002 this.$el.find('.player-control-fullscreen').on('click', function(e){ 1003 if (self.isModeFullScreen === false) { 1004 self.enableFullscreen(); 1005 } else { 1006 self.exitFullscreen(); 1007 } 1008 }); 1009 1010 this.$el.find('.player-control-pause').on('click', function(e){ 1011 self.pause(); 1012 }); 1013 1014 this.$el.find('.player-overlay').on('click', function(e){ 1015 self.play(); 1016 }); 1017 1018 this.$videoEl.on('click', function(e){ 1019 self.pause(); 1020 }); 1021 1022 1023 this.$el.find('.player-control-progress input[type="range"]').on('mousedown', function(){ 1024 self.draggingProgress = true; 1025 }); 1026 1027 this.$el.find('.player-control-progress input[type="range"]').on('mouseup', function(){ 1028 self.draggingProgress = false; 1029 }); 1030 1031 this.$el.find('.player-control-progress input[type="range"]').on('mouseup change', function() { 1032 self.draggingProgress = false;
1033 var $inputEl = $(this); 1034 var perc = (100 / parseInt($inputEl.attr('max'))) * parseInt($inputEl.val()); 1035 $inputEl[0].style.setProperty('--value', perc + '%'); 1036 self.seekTo($inputEl.val()); 1037 }); 1038 1039 1040 this.$el.find('.player-control-volume input[type="range"]').on('input change', function(){ 1041 var $inputEl = $(this); 1042 var perc = (100 / parseInt($inputEl.attr('max'))) * parseInt($inputEl.val()); 1043 $inputEl[0].style.setProperty('--value', perc + '%'); 1044 self.setVolume($inputEl.val()); 1045 }); 1046 1047}; 1048 1049Mobypicture.Player.prototype.load = function(source, mediaItem, options) { 1050 var self = this; 1051 1052 this.mediaOptions = options; 1053 this.mediaSource = source; 1054 this.mediaItem = mediaItem; 1055 this.mediaState = 'loading'; 1056 1057 if (source == 'mmd') { 1058 var availability = mediaItem.getAvailability(); 1059 1060 Fingerprint2.get({}, function (components) { 1061 var values = components.map(function (component) { return component.value }); 1062 var fingerprintHash = Fingerprint2.x64hash128(values.join(''), 31);; 1063 1064 // Execute API call that sets the correct cookie for us to open this thing; 1065 Mfe.Api.MediaDistribution.requestMediaAccess('down-to-earth', mediaItem.getId(), options.rentalTicket, fingerprintHash, function(result, response) { 1066 if (result === false) { 1067 self.setUiMode('error', 'Could not request access to media. Are you sure you are still allowed to watch it?'); 1068 return; 1069 }; 1070 1071 //cb(result, response); 1072 self.loadMedia(mediaItem); 1073 }); 1074 1075 }); 1076 } 1077}; 1078 1079Mobypicture.Player.prototype.loadMedia = function(mediaItem) { 1080 var mediaFiles = mediaItem.getIndexedFiles(); 1081 1082 if (mediaItem.getTypeName() == 'video') { 1083 //alert('Supports: ' + fingerprintHash); 1084 1085 var videoFormats = Object.keys(mediaFiles['video-main'].video); 1086 1087 //if (supportsNativeHls === true && videoFormats.indexOf('hls') > -1) { 1088 1089 //} else if (supportsNativeHls === true && videoFormats.indexOf('cmaf') > -1) { 1090 1091 //} else 1092 if (videoFormats.indexOf('cmaf') > -1) { 1093 var videoResolutions = Object.keys(mediaFiles['video-main'].video['cmaf']); 1094 var videoFile = mediaFiles['video-main'].video['cmaf'][videoResolutions[videoResolutions.length - 1]]; 1095 1096 this.mediaFileUrl = videoFile.url; 1097 1098 this.initMedia(); 1099 } 1100 } 1101}; 1102 1103Mobypicture.Player.prototype.play = function() { 1104 this.videoEl.play(); 1105 this.setUiMode('playing'); 1106}; 1107 1108Mobypicture.Player.prototype.pause = function() { 1109 this.videoEl.pause(); 1110 this.setUiMode('paused'); 1111}; 1112 1113Mobypicture.Player.prototype.destroy = function() { 1114 clearInterval(this.updateCurrentTimeInterval); 1115 1116 this.videoEl.pause(); 1117 if (this.hls) { 1118 this.hls.destroy(); 1119 } 1120}; 1121 1122Mobypicture.Player.prototype.formatSeconds = function(seconds) { 1123 var formattedHours = Math.floor(seconds / 3600); 1124 var formattedMinutes = Math.floor((seconds - (formattedHours * 3600)) / 60); 1125 var formattedSeconds = (seconds - (formattedHours * 3600) - (formattedMinutes * 60)); 1126 1127 if (formattedHours.toString().length < 2) { 1128 formattedHours = '0' + formattedHours.toString(); 1129 } 1130 1131 if (formattedMinutes.toString().length < 2) { 1132 formattedMinutes = '0' + formattedMinutes.toString(); 1133 } 1134 1135 if (formattedSeconds.toString().length < 2) { 1136 formattedSeconds = '0' + formattedSeconds.toString(); 1137 } 1138 1139 1140 return formattedHours + ':' + formattedMinutes + ':' + formattedSeconds; 1141}; 1142 1143Mobypicture.Player.prototype.isFullScreen = function() { 1144 var result = (document.fullScreenElement && document.fullScreenElement !== null) 1145 || document.mozFullScreen 1146 || document.webkitIsFullScreen; 1147 1148 if (result !== 'undefined' && result === true) { 1149 return true; 1150 } else { 1151 return false; 1152 } 1153}; 1154 1155Mobypicture.Player.prototype.updateUiBuffer = function(seconds) { 1156 var $progressEl = this.$el.find('.player-control-progress progress'); 1157 $progressEl.attr('max', this.videoEl.duration); 1158 $progressEl.attr('value', seconds); 1159}; 1160 1161Mobypicture.Player.prototype.updateUiDuration = function(seconds) { 1162 var $rangeEl = this.$el.find('.player-control-progress input[type="range"]'); 1163 $rangeEl.attr('max', seconds); 1164 1165 var secondsLeft = parseInt(seconds) - parseInt(this.videoEl.currentTime); 1166 1167 var $timeLeftSpanEl = this.$el.find('.player-label-time-left span'); 1168 $timeLeftSpanEl.text(this.formatSeconds(secondsLeft)); 1169}; 1170 1171Mobypicture.Player.prototype.updateUiTime = function(seconds) { 1172 if (this.draggingProgress === true) { 1173 return false;
1174 } 1175 1176 var $rangeEl = this.$el.find('.player-control-progress input[type="range"]'); 1177 $rangeEl.prop('value', seconds.toString()); 1178 //console.log('this.videoEl.duration'); 1179 //console.log(this.videoEl.duration); 1180 1181 var secondsLeft = parseInt(this.videoEl.duration) - parseInt(seconds); 1182 var $timeLeftSpanEl = this.$el.find('pplayer-label-time-left span'); 1183 $timeLeftSpanEl.text(this.formatSeconds(secondsLeft)); 1184}; 1185 1186Mobypicture.Player.prototype.exitFullscreen = function() { 1187 if (document.exitFullscreen) 1188 document.exitFullscreen(); 1189 else if (document.msExitFullscreen) 1190 document.msExitFullscreen(); 1191 else if (document.mozCancelFullScreen) 1192 document.mozCancelFullScreen(); 1193 else if (document.webkitExitFullscreen) 1194 document.webkitExitFullscreen(); 1195}; 1196 1197Mobypicture.Player.prototype.enableFullscreen = function() { 1198 var self = this; 1199 1200 if (this.$el[0].webkitEnterFullscreen) { 1201 this.$el[0].webkitEnterFullscreen(); 1202 } else if (this.$el[0].requestFullscreen) { 1203 this.$el[0].requestFullscreen(); 1204 } else if (this.$el[0].webkitRequestFullscreen) { 1205 this.$el[0].webkitRequestFullscreen(); 1206 } else if (this.$el[0].mozRequestFullScreen) { 1207 this.$el[0].mozRequestFullScreen(); 1208 } 1209}; 1210 1211Mobypicture.Player.prototype.setUiMode = function(newMode, arg1) { 1212 var $posterEl = this.$el.find('.player-poster'); 1213 var $overlayEl = this.$el.find('.player-overlay'); 1214 1215 if (newMode == 'paused') { 1216 $('.player-overlay').css('display', 'flex'); 1217 $('.player-error').hide(); 1218 $('.player-poster').hide(); 1219 $('.player-loading').hide(); 1220 $('.player-controls .player-control-pause').hide(); 1221 $('.player-controls .player-control-play').show(); 1222 } else if (newMode == 'playing') { 1223 $('.player-error').hide(); 1224 $('.player-poster').hide(); 1225 $('.player-loading').hide(); 1226 $('.player-overlay').hide(); 1227 $('.player-controls .player-control-play').hide(); 1228 $('.player-controls .player-control-pause').show(); 1229 } else if (newMode == 'loading') { 1230 $('.player-error').hide(); 1231 $('.player-poster').hide(); 1232 $('.player-overlay').hide(); 1233 $('.player-controls .player-control-play').hide(); 1234 $('.player-controls .player-control-pause').hide(); 1235 1236 $('.player-loading').show(); 1237 } else if (newMode == 'error') { 1238 $('.player-poster').hide(); 1239 $('.player-overlay').hide(); 1240 $('.player-controls .player-control-play').hide(); 1241 $('.player-controls .player-control-pause').hide(); 1242 $('.player-loading').hide(); 1243 1244 $('.player-error').show(); 1245 $('.player-error .message').text(arg1); 1246 } else { 1247 $('.player-error').hide(); 1248 $('.player-overlay').hide(); 1249 $('.player-poster').hide(); 1250 } 1251 1252 this.uiMode = newMode; 1253}; 1254 1255Mobypicture.Player.prototype.initMedia = function() { 1256 var self = this; 1257 1258 1259 if ('MediaSource' in window || window.MediaSource) { 1260 alert('Using MediaSource extensions'); 1261 1262 var config = { 1263 xhrSetup: function(xhr, url) { 1264 xhr.withCredentials = true; 1265 }, 1266 withCredentials: true 1267 }; 1268 1269 this.hls = new Hls(config); 1270 this.hls.on(Hls.Events.ERROR,function(event, error, arg2) { 1271 var errorHandled = false; 1272 1273 if (event == 'hlsError') { 1274 1275 if (error.type == 'networkError') { 1276 1277 if (error.details == 'fragLoadError') { 1278 errorHandled = true; 1279 } else { 1280 self.setUiMode('error', 'Could not load video because of a network error. (' + error.details + ')'); 1281 errorHandled = true; 1282 } 1283 1284 } else if (error.type == 'mediaError') { 1285 if (error.details == 'bufferStalledError') { 1286 errorHandled = true; 1287 } else if (error.details == 'bufferFullError') { 1288 errorHandled = true; 1289 } 1290 } 1291 } 1292 1293 if (errorHandled !== true) { 1294 if (error.fatal === true) { 1295 self.setUiMode('error', 'Could not load video because of issues with HLS. (' + error.details + ')'); 1296 this.videoEl.stop(); 1297 } 1298 } 1299 }); 1300 1301 this.hls.on(Hls.Events.MANIFEST_PARSED,function(e) { 1302 self.mediaState = 'loaded'; 1303 if (typeof self.mediaOptions.autoplay !== 'undefined' && self.mediaOptions.autoplay === true) { 1304 self.play(); 1305 } 1306 }); 1307 this.hls.loadSource(this.mediaFileUrl); 1308 this.hls.attachMedia(this.videoEl); 1309
1310 return; 1311 } 1312 1313 //if (this.supportsNativeHls === true) { 1314 1315 alert('Using HLS :('); 1316 alert(window.navigator.userAgent); 1317 1318 self.mediaState = 'loaded'; 1319 this.videoEl.src = this.mediaFileUrl; 1320 this.pause(); 1321 1322 if (typeof self.mediaOptions.autoplay !== 'undefined' && self.mediaOptions.autoplay === true) { 1323 self.play(); 1324 } 1325 //} 1326}; 1327function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.LazyLoad=e()}(this,function(){"use strict";var t="undefined"!=typeof window,e=t&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),n=t&&"IntersectionObserver"in window,o=t&&"classList"in document.createElement("p"),r={elements_selector:"img",container:e||t?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,auto_unobserve:!0,callback_enter:null,callback_exit:null,callback_reveal:null,callback_loaded:null,callback_error:null,callback_finish:null,use_native:!1},a=function(t,e){var n,o=new t(e);try{n=new CustomEvent("LazyLoad::Initialized",{detail:{instance:o}})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:o})}window.dispatchEvent(n)};var i=function(t,e){return t.getAttribute("data-"+e)},s=function(t,e,n){var o="data-"+e;null!==n?t.setAttribute(o,n):t.removeAttribute(o)},c=function(t){return"true"===i(t,"was-processed")},l=function(t,e){return s(t,"ll-timeout",e)},u=function(t){return i(t,"ll-timeout")},d=function(t,e){t&&t(e)},f=function(t,e){t._loadingCount+=e,0===t._elements.length&&0===t._loadingCount&&d(t._settings.callback_finish)},_=function(t){for(var e,n=[],o=0;e=t.children[o];o+=1)"SOURCE"===e.tagName&&n.push(e);return n},v=function(t,e,n){n&&t.setAttribute(e,n)},g=function(t,e){v(t,"sizes",i(t,e.data_sizes)),v(t,"srcset",i(t,e.data_srcset)),v(t,"src",i(t,e.data_src))},m={IMG:function(t,e){var n=t.parentNode;n&&"PICTURE"===n.tagName&&_(n).forEach(function(t){g(t,e)});g(t,e)},IFRAME:function(t,e){v(t,"src",i(t,e.data_src))},VIDEO:function(t,e){_(t).forEach(function(t){v(t,"src",i(t,e.data_src))}),v(t,"src",i(t,e.data_src)),t.load()}},b=function(t,e){var n,o,r=e._settings,a=t.tagName,s=m[a];if(s)return s(t,r),f(e,1),void(e._elements=(n=e._elements,o=t,n.filter(function(t){return t!==o})));!function(t,e){var n=i(t,e.data_src),o=i(t,e.data_bg);n&&(t.style.backgroundImage='url("'.concat(n,'")')),o&&(t.style.backgroundImage=o)}(t,r)},h=function(t,e){o?t.classList.add(e):t.className+=(t.className?" ":"")+e},p=function(t,e,n){t.addEventListener(e,n)},y=function(t,e,n){t.removeEventListener(e,n)},E=function(t,e,n){y(t,"load",e),y(t,"loadeddata",e),y(t,"error",n)},w=function(t,e,n){var r=n._settings,a=e?r.class_loaded:r.class_error,i=e?r.callback_loaded:r.callback_error,s=t.target;!function(t,e){o?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")}(s,r.class_loading),h(s,a),d(i,s),f(n,-1)},I=function(t,e){var n=function n(r){w(r,!0,e),E(t,n,o)},o=function o(r){w(r,!1,e),E(t,n,o)};!function(t,e,n){p(t,"load",e),p(t,"loadeddata",e),p(t,"error",n)}(t,n,o)},k=["IMG","IFRAME","VIDEO"],A=function(t,e){var n=e._observer;z(t,e),n&&e._settings.auto_unobserve&&n.unobserve(t)},L=function(t){var e=u(t);e&&(clearTimeout(e),l(t,null))},x=function(t,e){var n=e._settings.load_delay,o=u(t);o||(o=setTimeout(function(){A(t,e),L(t)},n),l(t,o))},z=function(t,e,n){var o=e._settings;!n&&c(t)||(k.indexOf(t.tagName)>-1&&(I(t,e),h(t,o.class_loading)),b(t,e),function(t){s(t,"was-processed","true")}(t),d(o.callback_reveal,t),d(o.callback_set,t))},O=function(t){return!!n&&(t._observer=new IntersectionObserver(function(e){e.forEach(function(e){return function(t){return t.isIntersecting||t.intersectionRatio>0}(e)?function(t,e){var n=e._settings;d(n.callback_enter,t),n.load_delay?x(t,e):A(t,e)}(e.target,t):function(t,e){var n=e._settings;d(n.callback_exit,t),n.load_delay&&L(t)}(e.target,t)})},{root:(e=t._settings).container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),!0);var e},N=["IMG","IFRAME"],C=function(t,e){return function(t){return t.filter(function(t){return!c(t)})}((n=t||function(t){return t.container.querySelectorAll(t.elements_selector)}(e),Array.prototype.slice.call(n)));var n},M=function(t,e){this._settings=function(t){return _extends({},r,t)}(t),this._loadingCount=0,O(this),this.update(e)};return M.prototype={update:function(t){var n,o=this,r=this._settings;(this._elements=C(t,r),!e&&this._observer)?(function(t){return t.use_native&&"loading"in HTMLImageElement.prototype}
1327(r)&&((n=this)._elements.forEach(function(t){-1!==N.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),z(t,n))}),this._elements=C(t,r)),this._elements.forEach(function(t){o._observer.observe(t)})):this.loadAll()},destroy:function(){var t=this;this._observer&&(this._elements.forEach(function(e){t._observer.unobserve(e)}),this._observer=null),this._elements=null,this._settings=null},load:function(t,e){z(t,this,e)},loadAll:function(){var t=this;this._elements.forEach(function(e){A(e,t)})}},t&&function(t,e){if(e)if(e.length)for(var n,o=0;n=e[o];o+=1)a(t,n);else a(t,e)}(M,window.lazyLoadOptions),M}); 1328//# sourceMappingURL=lazyload.min.js.map 1329 1330 1331/* 1332 * General helper functions 1333 */ 1334 1335Array.prototype.randomize = function() { 1336 var currentIndex = this.length, temporaryValue, randomIndex; 1337 while (0 !== currentIndex) { 1338 randomIndex = Math.floor(Math.random() * currentIndex); 1339 currentIndex -= 1; 1340 temporaryValue = this[currentIndex]; 1341 this[currentIndex] = this[randomIndex]; 1342 this[randomIndex] = temporaryValue; 1343 } 1344 1345 return this; 1346}; 1347 1348String.prototype.addThousands = function(separatorThousands, separatorDecimal) { 1349 if (typeof separatorThousands == 'undefined') { 1350 separatorThousands = ','; 1351 } 1352 if (typeof separatorDecimal == 'undefined') { 1353 separatorDecimal = '.'; 1354 } 1355 var value = this; 1356 value += ''; 1357 var x = this.split(separatorDecimal); 1358 var x1 = x[0]; 1359 var x2 = x.length > 1 ? separatorDecimal + x[1] : ''; 1360 var rgx = /(\d+)(\d{3})/; 1361 while (rgx.test(x1)) { 1362 x1 = x1.replace(rgx, '$1' + separatorThousands + '$2'); 1363 } 1364 return x1 + x2; 1365} 1366 1367String.prototype.lpad = function (padString, length) { 1368 var str = this; 1369 while (str.length < length) { 1370 str = padString + str; 1371 } 1372 return str; 1373} 1374 1375String.prototype.rpad = function (padString, length) { 1376 var str = this; 1377 while (str.length < length) { 1378 str = str + padString; 1379 } 1380 return str; 1381} 1382 1383String.prototype.replaceAll = function(search, replace) { 1384 var searchEscaped = search.replace(/[.*+?^${}()|[\]\\]/g, "\\$1"); 1385 var target = this; 1386 return target.replace(new RegExp(searchEscaped, 'g'), replace); 1387}; 1388 1389Date.prototype.getUTCDateTime = function () { 1390 var utcMonth = this.getUTCMonth() + 1; // getMonth() is zero-based 1391 var utcDate = this.getUTCDate(); 1392 var utcHours = this.getUTCHours().toString().toString(); 1393 var utcMinutes = this.getUTCMinutes().toString(); 1394 var utcSeconds = this.getUTCSeconds().toString(); 1395 1396 var datePart = this.getUTCFullYear() + '-' + utcMonth.toString().lpad('0', 2) + '-' + utcDate.toString().lpad('0', 2); 1397 var timePart = [(utcHours.length == 1 ? '0' : ''), utcHours, ':', (utcMinutes.length == 1 ? '0' : ''), utcMinutes, ':', (utcSeconds.length == 1 ? '0' : ''), utcSeconds].join(''); 1398 1399 return datePart + ' ' + timePart; 1400}; 1401 1402Date.prototype.getDateTime = function () { 1403 var utcMonth = this.getMonth() + 1; // getMonth() is zero-based 1404 var utcDate = this.getDate(); 1405 var utcHours = this.getHours().toString().toString(); 1406 var utcMinutes = this.getMinutes().toString(); 1407 var utcSeconds = this.getSeconds().toString(); 1408 1409 var datePart = this.getFullYear() + '-' + utcMonth.toString().lpad('0', 2) + '-' + utcDate.toString().lpad('0', 2); 1410 var timePart = [(utcHours.length == 1 ? '0' : ''), utcHours, ':', (utcMinutes.length == 1 ? '0' : ''), utcMinutes, ':', (utcSeconds.length == 1 ? '0' : ''), utcSeconds].join(''); 1411 1412 return datePart + ' ' + timePart; 1413}; 1414 1415Date.prototype.getSimpleDate = function () { 1416 var year = this.getFullYear(); 1417 var month = this.getMonth() + 1; 1418 var day = this.getDate(); 1419 1420 return year + '-' + month.toString().lpad('0', 2) + '-' + day.toString().lpad('0', 2); 1421}; 1422 1423if (typeof Object.assign != 'function') { 1424 Object.assign = function (target) { 1425 'use strict'; 1426 if (target == null) { 1427 throw new TypeError('Cannot convert undefined or null to object'); 1428 } 1429 1430 target = Object(target); 1431 for (var index = 1; index < arguments.length; index++) { 1432 var source = arguments[index]; 1433 if (source != null) { 1434 for (var key in source) { 1435 if (Object.prototype.hasOwnProperty.call(source, key)) { 1436 target[key] = source[key]; 1437 } 1438 } 1439 } 1440 } 1441 return target; 1442 }; 1443} 1444 1445Function.prototype.inherits = function (parent) { 1446 this.prototype = Object.create(parent.prototype); 1447}; 1448 1449Handlebars.registerHelper('uc', function (str) { 1450 return encodeURIComponent(str); 1451}); 1452 1453Handlebars.registerHelper('searchHref', function (str) { 1454 if (mfe) { 1455 return mfe.generateSearchHref(str); 1456 } 1457 1458 return window.mfe.generateSearchHref(str); 1459}); 1460 1461Handlebars.registerHelper('langToFlagUrl', function (str) { 1462 const langMapping = { 1463 '': 'un', 1464 'nl': 'nl', 1465 'en': 'gb' 1466 }; 1467 1468 return '/static/img/flags/' + langMapping[str] + '.svg'; 1469}); 1470 1471Handlebars.registerHelper('langToFriendlyLang', function (str) { 1472 const langMapping = { 1473 '': 'English', 1474 'nl': 'Dutch', 1475 'en': 'English' 1476 }; 1477 1478 return langMapping[str]; 1479}); 1480 1481Handlebars.registerHelper('equal', function(lvalue, rvalue, options) { 1482 if (arguments.length < 3) 1483 throw new Error("Handlebars Helper equal needs 2 parameters"); 1484 if( lvalue!=rvalue ) { 1485 return options.inverse(this); 1486 } else { 1487 return options.fn(this); 1488 } 1489}); 1490 1491Handlebars.registerHelper('ifValue', function (conditional, options) { 1492 if (options.hash.value === conditional) { 1493 return options.fn(this) 1494 } else { 1495 return options.inverse(this); 1496 } 1497}); 1498 1499Handlebars.registerHelper('ifIn', function(elem, list, options) { 1500 if (typeof list == 'undefined' || Array.isArray(list) === false) { 1501 return options.inverse(this); 1502 } 1503 1504 if(list.indexOf(elem) > -1) { 1505 return options.fn(this); 1506 } 1507 return options.inverse(this); 1508}); 1509 1510Handlebars.registerHelper('ifKeyInObject', function(elem, obj, options) { 1511 if (typeof obj == 'undefined') { 1512 return options.inverse(this); 1513 } 1514 1515 if(typeof obj[elem] !== 'undefined') { 1516 return options.fn(this); 1517 } 1518 return options.inverse(this); 1519}); 1520 1521Handlebars.registerHelper('empty', function(list, options) { 1522 if (typeof list == 'undefined' || Array.isArray(list) === false) { 1523 return options.fn(this); 1524 } 1525 1526 if (Array.isArray(list) === true && list.length > 0) { 1527 return options.inverse(this); 1528 } else if (typeof list == 'string' && list.length > 0) { 1529 return options.inverse(this); 1530 } else { 1531 return options.fn(this); 1532 } 1533}); 1534 1535Handlebars.registerHelper('ifNotIn', function(elem, list, options) { 1536 if (typeof list == 'undefined' || Array.isArray(list) === false) { 1537 return options.fn(this); 1538 } 1539 1540 if(list.indexOf(elem) > -1) { 1541 return options.inverse(this); 1542 } 1543 return options.fn(this); 1544}); 1545 1546Handlebars.registerHelper('pathContains', function(argValLeft, argValRight, options) { 1547 if (argValLeft == argValRight) { 1548 return options.fn(this); 1549 } 1550 1551 if (argValLeft == '/') { 1552 return options.inverse(this); 1553 } 1554 1555 if (argValRight.substring(0, argValLeft.length) == argValLeft) { 1556 return options.fn(this); 1557 } 1558 1559 return options.inverse(this); 1560}); 1561 1562Handlebars.registerHelper('compare', function(argValLeft, argValMiddle, argValRight, options) { 1563 1564 var valLeft = argValLeft; 1565 var valRight = null; 1566 var valOperator = null; 1567 var valOptions = null; 1568 1569 if (arguments.length == 3) { 1570 valOperator = '=='; 1571 valRight = argValMiddle; 1572 valOptions = argValRight; 1573 } else if (arguments.length == 4) { 1574 valOperator = argValMiddle; 1575 valRight = argValRight; 1576 valOptions = options; 1577 } 1578 1579 if (arguments.length < 3) { 1580 throw new Error("Handlerbars Helper 'compare' needs 2 parameters"); 1581 } 1582 1583 var operators = { 1584 '==': function(l,r) { return l == r; }, 1585 '===': function(l,r) { return l === r; }, 1586 '!=': function(l,r) { return l != r; }, 1587 '<': function(l,r) { return l < r; }, 1588 '>': function(l,r) { return l > r; }, 1589 '<=': function(l,r) { return l <= r; }, 1590 '>=': function(l,r) { return l >= r; }, 1591 'typeof': function(l,r) { return typeof l == r; } 1592 } 1593 1594 if (!operators[valOperator]) { 1595 throw new Error("Handlerbars Helper 'compare' doesn't know the operator "+valOperator); 1596 } 1597 1598 var result = operators[valOperator](valLeft, valRight); 1599 1600 if (result) { 1601 return valOptions.fn(this); 1602 } else { 1603 return valOptions.inverse(this); 1604 } 1605}); 1606 1607Handlebars.registerHelper('groupedEach', function (every, context, options) { 1608 var out = "", subcontext = [], i; 1609 if (context && context.length > 0) { 1610 for (i = 0; i < context.length; i++) { 1611 if (i > 0 && i % every === 0) { 1612 out += options.fn(subcontext); 1613 subcontext = []; 1614 } 1615 subcontext.push(context[i]); 1616 } 1617 out += options.fn(subcontext); 1618 } 1619 return out; 1620}); 1621 1622Handlebars.registerHelper('generateYearOptions', function (context, options) { 1623 var optionsHtml = []; 1624 for (var i = context.startYear; i <= context.endYear; i++) { 1625 optionsHtml.push('<option value="' + i + '">' + i + '</option>'); 1626 } 1627 1628 return optionsHtml.join(''); 1629}); 1630 1631Handlebars.registerHelper('generateCountryOptions', function (context) { 1632 var locales; 1633 if (mfe && mfe.pageLanguage && isEmpty(Mfe.Locales[mfe.pageLanguage]) === false) { 1634 locales = Mfe.Locales[mfe.pageLanguage]; 1635 } else { 1636 locales = Mfe.Locales.en; 1637 } 1638 1639 var optionsHtml = []; 1640 for (var i = 0; i < locales.countries.length; i++) { 1641 var country = locales.countries[i]; 1642 optionsHtml.push('<option value="' + Mfe.Utils.Text.escapeHtml(country) + '">' + Mfe.Utils.Text.escapeHtml(country) + '</option>'); 1643 } 1644 1645 return optionsHtml.join(''); 1646}); 1647 1648Handlebars.registerHelper('locale', function (context, block) { 1649 if (context == 'text') { 1650 if (isEmpty(Create.Locale.active.Text[block]) === false) { 1651 return Create.Locale.active.Text[block]; 1652 } 1653 // Fallback to English 1654 return '*' + Create.Locales.en.Text[block] + '*'; 1655 } else { 1656 1657 } 1658}); 1659 1660Handlebars.registerHelper('uiSelectTimezone', function (context, block) { 1661 var templateVars = { 1662 'timezones': [], 1663 'name': context, 1664 'selectedTimezone': block 1665 }; 1666 1667 var timezoneKeys = Create.JS.getObjectKeys(Create.Locale.Timezones); 1668 for (var i = 0; i < timezoneKeys.length; i++) { 1669 var timezoneKey = timezoneKeys[i]; 1670 var timezone = Create.Locale.Timezones[timezoneKey]; 1671 templateVars.timezones.push(timezone); 1672 } 1673 1674 var selectTemplate = Create.Templates.getCompiled('ui-timezone-options'); 1675 var selectHtml = selectTemplate(templateVars); 1676 1677 return selectHtml; 1678}); 1679 1680Handlebars.registerHelper('dateCompact', function (context, block) { 1681 var f = block.hash.format || "MMM Do YYYY"; 1682 return moment.utc(context).format('MMM Do YYYY'); 1683}); 1684 1685Handlebars.registerHelper('dateFormat', function (context, block) { 1686 var f = block.hash.format || "MMM DD, YYYY hh:mm:ss A"; 1687 return moment.utc(context).format(f); 1688}); 1689 1690Handlebars.registerHelper('dateFormatShort', function (context, block) { 1691 var f = block.hash.format || "llll"; 1692 return moment.utc(context).format(f); 1693}); 1694 1695Handlebars.registerHelper('dateFormatShortLocal', function (context, block) { 1696 var f = block.hash.format || "LL"; 1697 return moment.utc(context).format(f); 1698}); 1699 1700Handlebars.registerHelper('dateFormatArticle', function (context, block) { 1701 var f = block.hash.format || "D MMMM YYYY"; 1702 return moment.utc(context).format(f); 1703}); 1704 1705Handlebars.registerHelper('dateFromNow', function (context, block) { 1706 var s = block.hash.suffix || false; 1707 return moment.utc(context).fromNow(s); 1708}); 1709 1710Handlebars.registerHelper('dateOfMonth', function (context, block) { 1711 return moment.utc(context).format('D'); 1712}); 1713 1714Handlebars.registerHelper('dateMonthYear', function (context, block) { 1715 return moment.utc(context).format('MMMM YYYY'); 1716}); 1717 1718Handlebars.registerHelper('momentListDate', function (context, block) { 1719 var f = block.hash.format || "MMM Do YYYY"; 1720 return moment.utc(context).format(f); 1721}); 1722 1723Handlebars.registerHelper('momentListTime', function (context, block) { 1724 var f = block.hash.format || "HH:mm"; 1725 return moment.utc(context).format(f); 1726}); 1727 1728Handlebars.registerHelper('truncateText', function (context, terminator, length) { 1729 1730 if (context.length < length) { 1731 return context; 1732 } 1733 1734 let contextWords = context.split(' '); 1735 let contextNewArr = []; 1736 let contextWordsLen = 0; 1737 1738 for (let contextWord of contextWords) { 1739 if (contextWordsLen + contextWord.length > length) { 1740 break; 1741 } 1742
1743 contextNewArr.push(contextWord); 1744 contextWordsLen += contextWord.length; 1745 } 1746 1747 let contextNew = contextNewArr.join(' ') + terminator; 1748 1749 return contextNew; 1750 1751 var f = block.hash.format || "HH:mm"; 1752 return moment.utc(context).format(f); 1753}); 1754 1755Handlebars.registerHelper("inc", function(value, options) { 1756 return parseInt(value) + 1; 1757}); 1758 1759Handlebars.registerHelper("toJson", function(value, options) { 1760 console.log('toJson'); 1761 console.log(value); 1762 console.log(options); 1763 1764 return JSON.stringify(value); 1765}); 1766 1767 1768Handlebars.registerHelper("uriComponent", function(value, options) { 1769 return encodeURIComponent(value); 1770}); 1771 1772Handlebars.registerHelper("asHtml", function(value, options) { 1773 let template = Handlebars.compile(value); 1774 let templateHtml = template(options.data.root); 1775 1776 return new Handlebars.SafeString(templateHtml); 1777}); 1778// From http://stackoverflow.com/questions/5306680/move-an-array-element-from-one-array-position-to-another 1779Array.prototype.move = function (from, to) { 1780 this.splice(to, 0, this.splice(from, 1)[0]); 1781}; 1782 1783function isNullOrUndefined (jsVar) { 1784 if (typeof jsVar === 'undefined' || jsVar === null) { 1785 return true; 1786 } 1787 1788 return false; 1789}; 1790 1791function isEmpty (jsVar) { 1792 return isNullOrUndefined(jsVar); 1793}; 1794 1795function isNotEmpty (jsVar) { 1796 return isNullOrUndefined(jsVar) === false; 1797}; 1798 1799function getObjValue(key, defaultVal, obj) { 1800 if (isEmpty(obj) === true || isEmpty(obj[key]) === true) { 1801 return defaultVal; 1802 } 1803 1804 return obj[key]; 1805}; 1806 1807/*! sprintf-js v1.1.1 | Copyright (c) 2007-present, Alexandru MÄrÄÈteanu <[email protected]> | BSD-3-Clause */ 1808!function(){"use strict";function e(e){return r(n(e),arguments)}function t(t,r){return e.apply(null,[t].concat(r||[]))}function r(t,r){var n,i,a,o,p,c,u,f,l,d=1,g=t.length,b="";for(i=0;i<g;i++)if("string"==typeof t[i])b+=t[i];else if(Array.isArray(t[i])){if((o=t[i])[2])for(n=r[d],a=0;a<o[2].length;a++){if(!n.hasOwnProperty(o[2][a]))throw new Error(e('[sprintf] property "%s" does not exist',o[2][a]));n=n[o[2][a]]}else n=o[1]?r[o[1]]:r[d++];if(s.not_type.test(o[8])&&s.not_primitive.test(o[8])&&n instanceof Function&&(n=n()),s.numeric_arg.test(o[8])&&"number"!=typeof n&&isNaN(n))throw new TypeError(e("[sprintf] expecting number but found %T",n));switch(s.number.test(o[8])&&(f=n>=0),o[8]){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,o[6]?parseInt(o[6]):0);break;case"e":n=o[7]?parseFloat(n).toExponential(o[7]):parseFloat(n).toExponential();break;case"f":n=o[7]?parseFloat(n).toFixed(o[7]):parseFloat(n);break;case"g":n=o[7]?String(Number(n.toPrecision(o[7]))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=o[7]?n.substring(0,o[7]):n;break;case"t":n=String(!!n),n=o[7]?n.substring(0,o[7]):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=o[7]?n.substring(0,o[7]):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=o[7]?n.substring(0,o[7]):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}s.json.test(o[8])?b+=n:(!s.number.test(o[8])||f&&!o[3]?l="":(l=f?"+":"-",n=n.toString().replace(s.sign,"")),c=o[4]?"0"===o[4]?"0":o[4].charAt(1):" ",u=o[6]-(l+n).length,p=o[6]&&u>0?c.repeat(u):"",b+=o[5]?l+n+p:"0"===c?l+p+n:p+l+n)}return b}function n(e){if(i[e])return i[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=s.text.exec(r)))n.push(t[0]);else if(null!==(t=s.modulo.exec(r)))n.push("%");else{if(null===(t=s.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=s.key.exec(p)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(p=p.substring(c[0].length));)if(null!==(c=s.key_access.exec(p)))o.push(c[1]);else{if(null===(c=s.index_access.exec(p)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push(t)}r=r.substring(t[0].length)}return i[e]=n}var s={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/},i=Object.create(null);"undefined"!=typeof exports&&(exports.sprintf=e,exports.vsprintf=t),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=t,"function"==typeof define&&define.amd&&define(function(){return{sprintf:e,vsprintf:t}}))}(); 1809 1810var Mfe = function(options) { 1811 this.options = options; 1812 1813 this.triggers = {}; 1814 1815 this.timings = []; 1816 1817 this.env = options.env;
1818 this.rendererName = options.rendererName; 1819 this.siteBundle = new Mfe.Classes.SiteBundle(options.siteBundle); 1820 this.clientMode = options.clientMode; 1821 1822 this.outputElSelector = 'body'; 1823 1824 // Api 1825 this.apiResponseBundle = null; 1826 this.apiResponseRequests = null; 1827 1828 // Webfonts 1829 this.wfLoader = null; 1830 1831 // Widgets 1832 this.lastWidgetId = 0; 1833 this.lastLayoutId = 0; 1834 this.activeWidgets = {}; 1835 this.activeLayouts = {}; 1836 this.widgetBundle = null; 1837 1838 this.cookieConsentAnalytics = false; 1839 this.pageViewAnalyticsExecuted = false; 1840 1841 // Page 1842 this.bodyClasses = {}; 1843 this.context = { 1844 'type': 'static', 1845 'id': null, 1846 'obj': null 1847 }; 1848 1849 // Modules 1850 this.modules = { 1851 'ga': { 'initialized': false }, 1852 'gtag': { 'initialized': false } 1853 }; 1854 1855 this.scripts = { 1856 1857 }; 1858 1859 // Compatibility 1860 this.supportsCssVars = true; 1861 1862 this.translateDomainMapping = { 1863 'http://static.tagthelove.com/': 'https://static.tagthelove.com/', 1864 'http://media.tagthelove.com/': 'https://d1ns18uxs7ub2o.cloudfront.net/', 1865 'https://mobynow-mobypicture.netdna-ssl.com/': 'https://static.tagthelove.com/', 1866 'https://d1ydx93l5afdxo.cloudfront.net/': 'https://static.tagthelove.com/' 1867 }; 1868 this.translateDomainKeys = Object.keys(this.translateDomainMapping); 1869 1870 this.pageTitle = ''; 1871 this.pageLanguage = 'nl'; 1872 1873 this.pathLanguageFrontPages = {}; 1874 this.pagePathBlogs = {}; 1875 this.pagePathMedia = {}; 1876 this.pagePathPages = {}; 1877 1878 if (this.rendererName == 'themeHtml') { 1879 this.themeHtmlBundle = new Mfe.Classes.ThemeHtmlBundle(options.themeBundle); 1880 this.siteThemeConfig = options.siteThemeConfig; 1881 this.siteConfig = options.siteConfig; 1882 this.renderer = new Mfe.Renderer.ThemeHtml(this); 1883 1884 1885 if (typeof this.options.apiBaseUrl !== 'undefined') { 1886 Mfe.ApiRequest.baseUrl = this.options.apiBaseUrl; 1887 } else { 1888 Mfe.ApiRequest.baseUrl = '//' + this.options.domain + Mfe.ApiRequest.baseUrl; 1889 } 1890 1891 if (typeof options.viewMode !== 'undefined') { 1892 this.viewMode = options.viewMode; 1893 } 1894 1895 if (isEmpty(this.siteConfig.dummySiteName) === false && this.siteConfig.dummySiteName.length > 0) { 1896 Mfe.ApiRequest.dummyData.siteName = this.siteConfig.dummySiteName; 1897 Mfe.ApiRequest.dummyDataEnabled = true; 1898 1899 if (isEmpty(this.siteConfig.dummyPostGroupIds) === false && this.siteConfig.dummyPostGroupIds.length > 0) { 1900 Mfe.ApiRequest.dummyData.postGroupIds = this.siteConfig.dummyPostGroupIds.split(','); 1901 } 1902 1903 if (isEmpty(this.siteConfig.dummyStreamIds) === false && this.siteConfig.dummyStreamIds.length > 0) { 1904 Mfe.ApiRequest.dummyData.streamIds = this.siteConfig.dummyStreamIds.split(','); 1905 } 1906 } 1907 1908 } else if (this.rendererName == 'themeBuilder') { 1909 //this.themeBundle = new Mfe.Classes.ThemeBuilderBundle(options.themeBundle); 1910 } else if (this.rendererName == 'html') { 1911 1912 } 1913 1914 if (options.context) { 1915 this.context = options.context; 1916 } 1917 1918 if (options.contextId) { 1919 this.contextId = options.contextId; 1920 } 1921}; 1922 1923Mfe.prototype.addTiming = function(name, section) { 1924 this.timings.push({ 1925 'time': Date.now(), 1926 'name': name, 1927 'section': section 1928 }); 1929} 1930 1931Mfe.prototype.renderTemplate = function(templateConfig) { 1932 return this.renderer.renderTemplate(templateConfig); 1933}; 1934 1935Mfe.prototype.renderComponent = function(componentConfig) { 1936 return this.renderer.renderComponent(componentConfig); 1937}; 1938 1939Mfe.prototype.exitEditMode = function() { 1940 this.renderer.exitEditMode(); 1941}; 1942 1943Mfe.prototype.updateTemplateConfig = function(type, action, settingName, settingConfig) { 1944 return this.renderer.updateTemplateConfig(type, action, settingName, settingConfig); 1945}; 1946 1947Mfe.prototype.updateTemplateConfigNew = function(path, settingName, settingConfig) { 1948 return this.renderer.updateTemplateConfigNew(path, settingName, settingConfig); 1949}; 1950 1951Mfe.prototype.render = function(path, queryParams, deviceType) { 1952 this.fullPath = this.getFullPath(path, queryParams); 1953 this.pagePath = path; 1954 1955 // Make sure API calls will not be tried to execute using XmlHttpRequest 1956 Mfe.ApiRequest.mfeInstance = this; 1957 Mfe.ApiRequest.fromApiBundle = true; 1958 1959 // Reset response requests 1960 this.apiResponseRequests = null; 1961 1962 return this.renderer.render(path, queryParams, deviceType); 1963}; 1964 1965Mfe.prototype.start = function(path, queryParams, pathVars) {
1966 this.pagePath = path; 1967 this.pathVars = pathVars; 1968 this.fullPath = this.getFullPath(path, queryParams); 1969 1970 if (Mfe.Utils.UserAgent.isIE11() === true) { 1971 this.supportsCssVars = false; 1972 } 1973 1974 if (this.clientMode == 'render') { 1975 this.navigate(path, queryParams, false); 1976 this.loadAos(); 1977 this.loadFonts(); 1978 this.loadLazyLoad(); 1979 } else if (this.clientMode == 'attach') { 1980 1981 this.currentPage = this.options.page; 1982 this.loadAos(); 1983 this.loadFonts(); 1984 this.loadLazyLoad(); 1985 1986 this.updateViewportClasses(); 1987 1988 this.loadWidgetBundle(); 1989 this.attachWidgets(); 1990 1991 this.onAttach(); 1992 1993 if (this.supportsCssVars !== true) { 1994 cssVars(); 1995 } 1996 1997 this.initializePlugins(); 1998 this.onPageView(200, path, queryParams); 1999 2000 } 2001 2002 this.attachHandlers(); 2003 2004}; 2005 2006Mfe.prototype.navigate = function(path, queryParams, updateHistory, hash) { 2007 this.renderer.navigate(path, queryParams, updateHistory, hash); 2008}; 2009 2010Mfe.prototype.loadContext = function(context, contextId, contextParams, cb) { 2011 var self = this; 2012 2013 this.context = context; 2014 this.contextId = contextId; 2015 2016 if (context == 'blog-overview') { 2017 var blogGroup = this.siteBundle.getCmsBlogGroupById(contextId); 2018 this.contextObject = blogGroup; 2019 return true; 2020 2021 } else if (context == 'blog-item') { 2022 2023 var blogPost = Mfe.Api.BlogPosts.get(this.siteBundle.getName(), contextId, function(result, response){ 2024 self.contextObject = response; 2025 cb(result, response); 2026 }); 2027 if (blogPost === null) { 2028 return false; 2029 } 2030 if (blogPost === false) { 2031 return null; 2032 } 2033 2034 2035 // @todo Check if this context exists 2036 2037 this.contextObject = blogPost; 2038 return true; 2039 2040 2041 } else if (context == 'calendar-item') { 2042 2043 var calendarEvent = Mfe.Api.CalendarEvent.get(this.siteBundle.getName(), contextId, function(result, response){ 2044 self.contextObject = response; 2045 cb(result, response); 2046 }); 2047 if (calendarEvent === null) { 2048 return false; 2049 } 2050 if (calendarEvent === false) { 2051 return null; 2052 } 2053 2054 // @todo Check if this context exists 2055 2056 this.contextObject = calendarEvent; 2057 return true; 2058 2059 } else if (context == 'stream-item') { 2060 2061 var media = Mfe.Api.StreamMedia.get(this.siteBundle.getName(), contextId, function(result, response) { 2062 self.contextObject = response; 2063 cb(result, response); 2064 }); 2065 2066 if (media === null) { 2067 return false; 2068 } 2069 if (media === false) { 2070 return null; 2071 } 2072 2073 // @todo Check if this context exists 2074 2075 this.contextObject = media; 2076 return true; 2077 } else if (context == 'cms-page' || context == 'cms-page-fallback') { 2078 2079 var cmsPostPage = Mfe.Api.CmsPages.get(this.siteBundle.getName(), contextId, function(result, response){ 2080 self.contextObject = response; 2081 cb(result, response); 2082 }); 2083 if (cmsPostPage === null) { 2084 return false; 2085 } 2086 if (cmsPostPage === false) { 2087 return null; 2088 } 2089 this.contextObject = cmsPostPage; 2090 } else if (context == 'dataset-table' || context == 'dataset-table-item') { 2091 var dataTableRecord = Mfe.Api.DatasetRecord.lookup(this.siteBundle.getName(), contextId, contextParams.lookupId, function(result, response){ 2092 self.contextObject = response; 2093 cb(result, response); 2094 }); 2095 if (dataTableRecord === null) { 2096 return false; 2097 } 2098 if (dataTableRecord === false) { 2099 return null; 2100 } 2101 this.contextObject = dataTableRecord; 2102 } else if (context == 'donation-result') { 2103 2104 var donationStatus = Mfe.Api.Donations.getStatus(this.siteBundle.getName(), contextId, function(result, response){ 2105 self.contextObject = response; 2106 cb(result, response); 2107 }); 2108 if (donationStatus === null) { 2109 return false; 2110 } 2111 if (donationStatus === false) { 2112 return null; 2113 } 2114 this.contextObject = donationStatus; 2115 2116 } else if (context == 'search') { 2117 2118 var searchParams = contextParams; 2119 2120 var searchQuery = ''; 2121 var searchTags = []; 2122 var searchAuthors = []; 2123 var searchStorylines = []; 2124 var searchPageNo = 1; 2125 2126 if (searchParams.authors.length > 0) { 2127 searchAuthors = searchParams.authors.split(','); 2128 } 2129 if (searchParams.storylines.length > 0) { 2130 searchStorylines = searchParams.storylines.split(','); 2131 } 2132 2133 if (searchParams.tags.length > 0) { 2134 searchTags = searchParams.tags.split(','); 2135 } 2136 2137 if (searchParams.page.length > 0) { 2138 searchPageNo = searchParams.page; 2139 } else if (searchParams.p.length > 0) { 2140 searchPageNo = searchParams.p; 2141 } 2142 2143 if (searchParams.query.length > 0) { 2144 searchQuery = searchParams.query; 2145 } else if (searchParams.q.length > 0) { 2146 searchQuery = searchParams.q; 2147 } 2148 2149 var searchResults = Mfe.Api.BlogPosts.search(this.siteBundle.getName(), searchQuery, searchTags, searchAuthors, searchStorylines, 12, searchPageNo, null, function(result, response) { 2150 self.contextObject = response; 2151 self.contextParams = contextParams; 2152 cb(result, response); 2153 }); 2154 if (searchResults === null) { 2155 return false;
2156 }; 2157 if (searchResults === false) { 2158 return null; 2159 } 2160 2161 2162 this.contextObject = searchResults; 2163 this.contextParams = contextParams; 2164 } else { 2165 2166 } 2167 2168 return true; 2169}; 2170 2171Mfe.prototype.hasCookieChoice = function(analyticalCookies) { 2172 var choice = Mfe.Utils.UserAgent.getCookie('cookie-consent-analyticaly'); 2173 if (typeof choice === 'undefined') { 2174 return false; 2175 } else { 2176 return true; 2177 } 2178}; 2179 2180Mfe.prototype.onCookieConsentUpdate = function(analyticalCookies) { 2181 // Save preferences in... a cookie. The irony 2182 Mfe.Utils.UserAgent.setCookie('cookie-consent-analyticaly', (analyticalCookies === true ? '1' : '0'), 1000, document.domain); 2183 2184 this.cookieConsentAnalytics = analyticalCookies; 2185 2186 if (this.pageViewAnalyticsExecuted === false) { 2187 this.executeAnalytics(); 2188 } 2189}; 2190 2191Mfe.prototype.replaceWidgetElements = function(html, isPreload) { 2192 var self = this; 2193 2194 var widgetRegEx = /<widget(.+?)>(.*?)<\/widget>/g; 2195 var attrsRegEx = /([a-zA-Z0-9\-]*)="(.*?)"/g; 2196 2197 this.addTiming('Starting to match fixed tags'); 2198 html = html.replace(widgetRegEx, function(match, contents, offset, input) { 2199 var widgetAttrs = {}; 2200 var attrMatch; 2201 2202 self.addTiming('Matching widget attributes'); 2203 do { 2204 attrMatch = attrsRegEx.exec(contents); 2205 if (attrMatch) { 2206 if (attrMatch[2].length > 0) { 2207 widgetAttrs[attrMatch[1]] = JSON.parse(Mfe.Utils.Text.unescapeHtml(attrMatch[2])); 2208 } 2209 } 2210 } while (attrMatch); 2211 2212 self.addTiming('Finished matching widget attributes'); 2213 2214 self.addTiming('Initializing widget'); 2215 var widget = self.initializeWidget(widgetAttrs); 2216 self.addTiming('Finished initializing widget'); 2217 if (widget === false) { 2218 return '<div class="error">Could not load widget \''+widgetAttrs.name+'\'</div>'; 2219 } 2220 2221 self.addTiming('Fetching widget HTML'); 2222 var widgetHtml = widget.getHtml(isPreload); 2223 self.addTiming('Done fetching widget HTML'); 2224 2225 return widgetHtml; 2226 }); 2227 2228 return html; 2229}; 2230 2231Mfe.prototype.getNextWidgetId = function() { 2232 this.lastWidgetId++; 2233 return this.lastWidgetId; 2234}; 2235 2236Mfe.prototype.getNextLayoutId = function() { 2237 this.lastLayoutId++; 2238 return this.lastLayoutId; 2239}; 2240 2241Mfe.prototype.initializeWidget = function(options, widgetId, widgetState, isPreload) { 2242 if (Mfe.Widget.exists(options.name) === false) { 2243 return false; 2244 } 2245 2246 var widgetTemplate = ''; 2247 if (this.platformType == 'custom') { 2248 widgetTemplate = this.templateBundle.default.widget[options.name]; 2249 2250 if (isEmpty(options['custom-template']) === false && isEmpty(this.templateBundle.custom.widget[options['custom-template']]) === false) { 2251 widgetTemplate = this.templateBundle.custom.widget[options['custom-template']]; 2252 } 2253 } else if (this.platformType == 'builder') { 2254 widgetTemplate = this.templateBundle.default.widget[options.name]; 2255 } 2256 2257 if (isEmpty(widgetId) === true) { 2258 var widgetId = this.getNextWidgetId(); 2259 } 2260 2261 var widget = Mfe.Widget.instantiate(this, widgetId, options); 2262 if (widget === false) { 2263 return false; 2264 } 2265 2266 this.activeWidgets[widgetId] = widget; 2267 2268 if (isEmpty(widgetState) === true) { 2269 2270 } 2271 return widget; 2272}; 2273 2274Mfe.prototype.setWidgetBundle = function(widgetBundle) { 2275 this.widgetBundle = widgetBundle; 2276}; 2277 2278Mfe.prototype.loadWidgetBundle = function() { 2279 if (this.widgetBundle === null) { 2280 return; 2281 } 2282 2283 var maxWidgetId = 0; 2284 var widgetIds = Object.keys(this.widgetBundle); 2285 for (var i = 0; i < widgetIds.length; i++) { 2286 var widgetId = widgetIds[i]; 2287 var widgetObj = this.widgetBundle[widgetId]; 2288 2289 if (parseInt(widgetId) > maxWidgetId) { 2290 maxWidgetId = widgetId; 2291 } 2292 2293 if (isEmpty(widgetObj.options) === true || Mfe.Widget.exists(widgetObj.options.name) === false) { 2294 continue; 2295 } 2296 2297 var widget = Mfe.Widget.instantiate(this, widgetId, widgetObj.options); 2298 if (widget === false) { 2299 continue; 2300 } 2301 2302 if (isEmpty(widget.restoreWidgetState) === false) { 2303 widget.restoreWidgetState(widgetObj.state); 2304 } 2305 2306 this.activeWidgets[widgetId] = widget; 2307 } 2308 2309 this.lastWidgetId = parseInt(maxWidgetId.toString()); 2310}; 2311 2312Mfe.prototype.generateWidgetBundle = function() { 2313 var widgetBundle = {}; 2314 2315 var activeWidgetIds = Object.keys(this.activeWidgets); 2316 for (var i = 0; i < activeWidgetIds.length; i++) { 2317 var activeWidgetId = activeWidgetIds[i]; 2318 var activeWidget = this.activeWidgets[activeWidgetId]; 2319
2320 widgetBundle[activeWidgetId] = { 2321 'name': activeWidget.name, 2322 'options': activeWidget.options, 2323 'state': {} 2324 }; 2325 2326 if (isEmpty(activeWidget.saveWidgetState) === false) { 2327 widgetBundle[activeWidgetId].state = activeWidget.saveWidgetState(); 2328 } 2329 } 2330 2331 return widgetBundle; 2332}; 2333 2334Mfe.prototype.attachWidgets = function() { 2335 var widgetIds = Object.keys(this.activeWidgets); 2336 2337 for (var i = 0; i < widgetIds.length; i++) { 2338 var widgetId = widgetIds[i]; 2339 var widget = this.activeWidgets[widgetId]; 2340 var $widgetEl = $('body .widget[data-widget-id="'+widgetId+'"]'); 2341 2342 widget.attach(this, $widgetEl); 2343 } 2344}; 2345 2346Mfe.prototype.setContext = function(type, id, obj) { 2347 this.context = { 2348 'type': type, 2349 'id': id, 2350 'obj': obj 2351 }; 2352}; 2353 2354Mfe.prototype.getContext = function() { 2355 return this.context; 2356}; 2357 2358Mfe.prototype.getContextType = function() { 2359 return this.context.type; 2360}; 2361 2362Mfe.prototype.getPagePath = function() { 2363 return this.pagePath; 2364}; 2365 2366Mfe.prototype.setPageHtml = function(html) { 2367 this.onBeforePageView(); 2368 $(this.outputElSelector).html(html); 2369 2370 if (typeof window.lazyLoad !== 'undefined') { 2371 window.lazyLoad.update(); 2372 } 2373}; 2374 2375Mfe.prototype.getTemplate = function(type, id, name) { 2376 2377 if (typeof name == 'undefined') { 2378 2379 var emptyTemplate = 'Could not find template ' + type + '/' + id; 2380 2381 if (isEmpty(Mfe.Templates.store[type]) === true) { 2382 return Handlebars.compile(emptyTemplate); 2383 } 2384 2385 if (isEmpty(Mfe.Templates.store[type][id]) === true) { 2386 return Handlebars.compile(emptyTemplate); 2387 } 2388 2389 var templateSpecText = Mfe.Templates.store[type][id]; 2390 2391 var templateSpec = this.parseTemplateSpec(templateSpecText); 2392 var template = Handlebars.template(templateSpec); 2393 2394 return template; 2395 } else { 2396 2397 var emptyTemplate = 'Could not find template ' + type + '/' + id + '/' + name; 2398 2399 if (isEmpty(Mfe.Templates.store[type]) === true) { 2400 return Handlebars.compile(emptyTemplate); 2401 } 2402 2403 if (isEmpty(Mfe.Templates.store[type][id]) === true) { 2404 return Handlebars.compile(emptyTemplate); 2405 } 2406 2407 if (isEmpty(Mfe.Templates.store[type][id][name]) === true) { 2408 return Handlebars.compile(emptyTemplate); 2409 } 2410 2411 var templateSpecText = Mfe.Templates.store[type][id][name]; 2412 var templateSpec = this.parseTemplateSpec(templateSpecText); 2413 var template = Handlebars.template(templateSpec); 2414 return template; 2415 } 2416}; 2417 2418Mfe.prototype.parseTemplateSpec = function(templateSpec) { 2419 return eval("(function(){return " + templateSpec + "}());"); 2420}; 2421 2422Mfe.prototype.updateOverlays = function() { 2423 if (this.renderer.updateOverlays) { 2424 this.renderer.updateOverlays(); 2425 } 2426}; 2427 2428Mfe.prototype.updateViewportClasses = function(width, height) { 2429 var viewportDefinitionMobile = { 'mode': 'mobile', 'max-width': 960 }; 2430 var viewportDefinitionDesktop = { 'mode': 'desktop', 'min-width': 960 }; 2431 2432 var siteConfig = this.options.siteConfig; 2433 2434 if (typeof siteConfig.cssQueryMobileMaxWidth !== 'undefined' && siteConfig.cssQueryMobileMaxWidth !== null && siteConfig.cssQueryMobileMaxWidth.length > 0) { 2435 viewportDefinitionMobile['max-width'] = parseInt(this.options.siteConfig.cssQueryMobileMaxWidth); 2436 } 2437 2438 if (typeof siteConfig.cssQueryDesktopMinWidth !== 'undefined' && siteConfig.cssQueryDesktopMinWidth !== null && siteConfig.cssQueryDesktopMinWidth.length > 0) { 2439 viewportDefinitionDesktop['min-width'] = parseInt(this.options.siteConfig.cssQueryDesktopMinWidth); 2440 } 2441 2442 var viewportDefinitions = [ 2443 viewportDefinitionMobile, 2444 viewportDefinitionDesktop 2445 ]; 2446 2447 if (!width) { 2448 width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); 2449 } 2450 2451 if (!height) { 2452 height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); 2453 } 2454 2455 var viewportOrientation = 'landscape'; 2456 if (width > height) { 2457 viewportOrientation = 'landscape'; 2458 } else if (width < height) { 2459 viewportOrientation = 'portrait'; 2460 } else { 2461 viewportOrientation = 'square'; 2462 } 2463 2464 var matchDefinition = null; 2465 for (var i = 0; i < viewportDefinitions.length; i++) { 2466 var viewportDefinition = viewportDefinitions[i]; 2467 2468 if (viewportDefinition['max-width']) { 2469 if (width > viewportDefinition['max-width']) { 2470 continue; 2471 } 2472 } 2473 2474 if (viewportDefinition['min-width']) { 2475 if (width < viewportDefinition['min-width']) { 2476 continue; 2477 } 2478 } 2479 2480 matchDefinition = viewportDefinition; 2481 break; 2482 } 2483 2484 var $htmlEl = $('html'); 2485 $htmlEl[0].style.setProperty('--ua-viewport-width', width.toString() + 'px'); 2486 $htmlEl[0].style.setProperty('--ua-viewport-height', height.toString() + 'px'); 2487 2488 if (matchDefinition.mode != 'desktop') { 2489 $htmlEl.removeClass('desktop'); 2490 } 2491 2492 if (matchDefinition.mode != 'tablet') { 2493 $htmlEl.removeClass('tablet'); 2494 } 2495 2496 if (matchDefinition.mode != 'mobile') { 2497 $htmlEl.removeClass('mobile'); 2498 } 2499 2500 $htmlEl.addClass(matchDefinition.mode); 2501}; 2502 2503Mfe.prototype.addBodyClass = function(className) { 2504 this.bodyClasses[className] = className; 2505 2506 if (this.env == 'client') { 2507 $(this.outputElSelector).addClass(className); 2508 } 2509}; 2510 2511Mfe.prototype.removeBodyClass = function(className) { 2512 delete this.bodyClasses[className]; 2513 $(this.outputElSelector).removeClass(className); 2514}; 2515 2516Mfe.prototype.getBodyClasses = function() { 2517 return Object.keys(this.bodyClasses); 2518}; 2519 2520Mfe.prototype.getApiResponse = function(requestHash) { 2521 if (this.apiResponseBundle === null) { 2522 return null; 2523 }else if (isEmpty(this.apiResponseBundle[requestHash]) === true) { 2524 return null; 2525 } 2526 2527 return this.apiResponseBundle[requestHash]; 2528}; 2529 2530Mfe.prototype.requestApiResponse = function(hash, options) { 2531 if (this.apiResponseRequests === null) { 2532 this.apiResponseRequests = {}; 2533 } 2534 2535 this.apiResponseRequests[hash] = options; 2536}; 2537 2538Mfe.prototype.setApiResponseBundle = function(apiResponseBundle) { 2539 this.apiResponseBundle = apiResponseBundle; 2540 2541 if (this.renderSide == 'server') { 2542 return; 2543 } 2544 2545 this.processApiResponseBundle(); 2546}; 2547 2548 2549Mfe.prototype.processApiResponseBundle = function() { 2550 var requestHashes = Object.keys(this.apiResponseBundle); 2551 for (var i = 0; i < requestHashes.length; i++) { 2552 var requestHash = requestHashes[i]; 2553 2554 var response = this.apiResponseBundle[requestHash]; 2555 2556 Mfe.ApiCache.addRequest(requestHash, response); 2557
2558 // Parse individual items 2559 if (response.class == 'queryresult') { 2560 2561 if (response.entity == 'blogposts') { 2562 var resultItems = []; 2563 2564 for (var j = 0; j < response.results.length; j++) { 2565 var resultObj = response.results[j]; 2566 var resultItem = Mfe.Classes.ContentPost.instantiate(resultObj); 2567 resultItems.push(resultItem); 2568 } 2569 2570 Mfe.ApiCache.addItems('blogpost', resultItems); 2571 } else if (response.entity == 'media') { 2572 var resultItems = []; 2573 2574 for (var j = 0; j < response.results.length; j++) { 2575 var resultObj = response.results[j]; 2576 var resultItem = new Mfe.Classes.ContentMedia(resultObj); 2577 resultItems.push(resultItem); 2578 } 2579 2580 Mfe.ApiCache.addItems('media', resultItems); 2581 } 2582 } 2583 } 2584}; 2585 2586Mfe.prototype.generateItemPathExternal = function(type, apiData) { 2587 if (type == 'blogpost') { 2588 var item = Mfe.Classes.ContentPost.instantiate(apiData); 2589 return this.generateItemPath(item); 2590 } 2591}; 2592 2593Mfe.prototype.generateItemPath = function(item) { 2594 if (item.class == 'content\\posts\\blog') { 2595 var blogId = item.getPostGroupId(); 2596 2597 var itemRevision = item.getRevisionByLanguage(this.pageLanguage); 2598 var blogItemSlug = itemRevision.getSlug(); 2599 2600 if (isEmpty(this.pagePathBlogs[blogId]) === true) { 2601 return ''; 2602 } 2603 2604 if (isEmpty(this.pagePathBlogs[blogId][this.pageLanguage]) === false) { 2605 return this.pagePathBlogs[blogId][this.pageLanguage] + '/' + blogItemSlug + '-' + item.getId(); 2606 } 2607 2608 var availableLanguages = Object.keys(this.pagePathBlogs[blogId]); 2609 return this.pagePathBlogs[blogId][availableLanguages[0]] + '/' + blogItemSlug + '-' + item.getId(); 2610 2611 } else if (item.class == 'content\\posts\\page') { 2612 var pagePath = item.getPath(); 2613 2614 if (isEmpty(this.pagePathPages[pagePath]) === true) { 2615 return ''; 2616 } 2617 2618 if (isEmpty(this.pagePathPages[pagePath][this.pageLanguage]) === false) { 2619 return this.pagePathPages[pagePath][this.pageLanguage]; 2620 } 2621 2622 var availableLanguages = Object.keys(this.pagePathPages[pagePath]); 2623 return this.pagePathPages[pagePath][availableLanguages[0]]; 2624 2625 } else if (item.class == 'content\\media') { 2626 2627 if (typeof this.pagePathMedia[item.mediaObj.streamID] !== 'undefined') { 2628 return this.pagePathMedia[item.mediaObj.streamID][this.pageLanguage] + '?mediaId=' + item.getMediaId(); 2629 } 2630 2631 return this.pagePathMedia[''][this.pageLanguage] + '?mediaId=' + item.getMediaId(); 2632 } else if (item.class == 'content\\event') { 2633 var calendarId = item.getCalendarId(); 2634 2635 if (isEmpty(this.pagePathCalendars[calendarId]) === true) { 2636 return ''; 2637 } 2638 2639 if (isEmpty(this.pagePathCalendars[calendarId][this.pageLanguage]) === false) { 2640 return this.pagePathCalendars[calendarId][this.pageLanguage] + '/' + item.getId(); 2641 } 2642 2643 var availableLanguages = Object.keys(this.pagePathCalendars[calendarId]); 2644 return this.pagePathCalendars[calendarId][availableLanguages[0]] + '/' + item.getId(); 2645 } 2646 2647 return ''; 2648}; 2649 2650Mfe.prototype.generateItemPathCmsBlog = function(blogId, itemSlug) { 2651 if (isEmpty(this.pagePathBlogs[blogId]) === true) { 2652 return ''; 2653 } 2654 2655 if (isEmpty(this.pagePathBlogs[blogId][this.pageLanguage]) === false) { 2656 return this.pagePathBlogs[blogId][this.pageLanguage] + '/' + itemSlug; 2657 } 2658 2659 var availableLanguages = Object.keys(this.pagePathBlogs[blogId]); 2660 return this.pagePathBlogs[blogId][availableLanguages[0]] + '/' + itemSlug; 2661 2662} 2663 2664Mfe.prototype.getContextTitle = function() { 2665 if (this.context == 'blog-item' || this.context == 'cms-page') { 2666 var revision = this.contextObject.getRevisionByLanguage(this.pageLanguage); 2667 if (isEmpty(revision) === false) { 2668 return revision.getTitle(); 2669 } 2670 } else if (this.context == 'stream-item') { 2671 return this.contextObject.getTitle(); 2672 } 2673 2674 return ''; 2675}; 2676 2677Mfe.prototype.getContextSummary = function() { 2678 if (this.context == 'blog-item' || this.context == 'cms-page') { 2679 var revision = this.contextObject.getRevisionByLanguage(this.pageLanguage); 2680 if (isEmpty(revision) === false) { 2681 return revision.getSummary(); 2682 } 2683 } 2684 2685 return ''; 2686}; 2687 2688Mfe.prototype.initializePlugins = function() { 2689 this.activePlugins = {}; 2690 var availablePluginNames = Object.keys(Mfe.Plugins); 2691 for (var i = 0; i < availablePluginNames.length; i++) { 2692 var availablePluginName = availablePluginNames[i]; 2693 2694 //this.activePlugins[availablePluginName] = new Mfe.Plugins[availablePluginName](this, {}); 2695 } 2696}; 2697 2698Mfe.getContentType = function(obj) { 2699 if (typeof obj == 'undefined' || isEmpty(obj) === true) { 2700 return ''; 2701 } 2702 2703 if (obj.class == 'content\\posts\\blog') { 2704 return 'blogpost'; 2705 } else if (obj.class == 'content\\posts\\page') { 2706 return 'page'; 2707 } else if (obj.class == 'content\\media') { 2708 return 'media'; 2709 } else if (obj.class == 'content\\event') { 2710 return 'event'; 2711 } else if (obj.class == 'menu\\item') { 2712 return 'menuitem'; 2713 } else if (obj.class == 'usergroup') { 2714 return 'usergroup'; 2715 } else if (obj.class == 'usergroup\\team') { 2716 return 'usergroupteam'; 2717 } else if (obj.class == 'usergroup\\team\\member') { 2718 return 'usergroupteammember'; 2719 } else if (obj.class == 'dataset\\table\\record\\lookup') { 2720 return 'datasetlookupresult'; 2721 } else if (obj.class == 'Mfe.Classes.DatasetRecordLookup') { 2722 return 'datasetlookupresult'; 2723 } else if (obj.class == 'dataset\\table\\record') { 2724 return 'datasetrecord'; 2725 } else { 2726 return obj.class; 2727 } 2728}; 2729 2730Mfe.prototype.attachHandlers = function() { 2731 var self = this; 2732 2733 var $htmlEl = $('html'); 2734 2735 var scrollbarWidth = Mfe.Utils.UserAgent.getScrollbarWidth(); 2736 $htmlEl[0].style.setProperty('--ua-scrollbar-width', scrollbarWidth + 'px'); 2737 2738 window.onpopstate = function (event) { 2739 var targetHref = document.location.href; 2740 var parsedLinkEl = document.createElement('a'); 2741 parsedLinkEl.href = targetHref; 2742 2743 if (parsedLinkEl.hostname != document.domain) { 2744 return; 2745 } 2746 2747 var path = parsedLinkEl.pathname; 2748 if (path.substring(0, 1) != '/') { 2749 path = '/' + path; 2750 } 2751 2752 var queryParams = {}; 2753 var query = parsedLinkEl.search; 2754 2755 if (query.length > 0) { 2756 queryParams = Mfe.Utils.Text.parseQueryParams(query.substring(1)); 2757 } 2758 2759 //Mfe.Utils.Text 2760 self.navigate(path, queryParams, false); 2761 }; 2762 2763 // Catch all current and future A-elements targeting the current domain and route them 2764 2765 $(this.outputElSelector).off('mouseenter', 'a'); 2766 $(this.outputElSelector).on('mouseenter', 'a', function (event) { 2767 2768 if (self.clientMode == 'edit' || (self.viewMode && self.viewMode === 'edit')) { 2769 return false;
2770 } 2771 2772 var parsedTargetHref = self.parseLinkEvent(event); 2773 if (parsedTargetHref === false) { 2774 event.preventDefault(); 2775 return false; 2776 } else if (isEmpty(parsedTargetHref) || parsedTargetHref === null) { 2777 return; 2778 } 2779 2780 //self.preloadPath(parsedTargetHref.path, parsedTargetHref.queryParams); 2781 }); 2782 2783 $(this.outputElSelector).off('click', 'a'); 2784 $(this.outputElSelector).on('click', 'a', function (event) { 2785 if (self.clientMode == 'edit' || (self.viewMode && self.viewMode === 'edit')) { 2786 return false; 2787 } 2788 2789 var parsedTargetHref = self.parseLinkEvent(event); 2790 if (parsedTargetHref === false) { 2791 event.preventDefault(); 2792 return false; 2793 } else if (isEmpty(parsedTargetHref) || parsedTargetHref === null) { 2794 return; 2795 } else if (isEmpty(parsedTargetHref.result) === false && parsedTargetHref.result == 'newWindow') { 2796 window.open(parsedTargetHref.url); 2797 return false; 2798 } else if (isEmpty(parsedTargetHref.result) === false && parsedTargetHref.result == 'navigate') { 2799 window.location.href = parsedTargetHref.url; 2800 return false; 2801 } 2802 2803 if (parsedTargetHref.path == self.pagePath) { 2804 if (parsedTargetHref.hash != window.location.hash) { 2805 2806 2807 var scrollToEl = document.querySelector(parsedTargetHref.hash); 2808 scrollToEl.scrollIntoView({ 2809 behavior: 'smooth' 2810 }); 2811 2812 history.replaceState({}, 'Site', parsedTargetHref.path + parsedTargetHref.hash); 2813 2814 event.preventDefault(); 2815 return true; 2816 } 2817 2818 /*console.log('parsedTargetHref'); 2819 console.log(parsedTargetHref); 2820 console.log(self.pagePath); 2821 2822 console.log(window.location);*/ 2823 2824 } 2825 2826 2827 //console.log('handling link'); 2828 2829 var parsedTargetHrefHash = null; 2830 if (typeof parsedTargetHref.hash !== 'undefined' && parsedTargetHref.hash !== null && parsedTargetHref.hash.length > 0) { 2831 parsedTargetHrefHash = parsedTargetHref.hash; 2832 } 2833 2834 self.handleLink(parsedTargetHref.path, parsedTargetHref.queryParams, parsedTargetHrefHash); 2835 2836 event.preventDefault(); 2837 return false; 2838 }); 2839 2840 window.addEventListener('resize', function() { 2841 self.updateViewportClasses(); 2842 }); 2843 2844 Mfe.Ui.attach(); 2845}; 2846 2847Mfe.prototype.parseLinkEvent = function(event) { 2848 if (event.ctrlKey === true || event.shiftKey === true || event.metaKey === true) { 2849 return; 2850 } 2851 2852 // Check if event.target is a link 2853 var targetNodeName = Mfe.Utils.Dom.getNodeName(event.target); 2854 var targetHref = null; 2855 let targetAttr = null; 2856 let targetRel = null; 2857 2858 if (targetNodeName == 'A') { 2859 if (event.target.attributes.href.value == '#') { 2860 return; 2861 } 2862 if (event.target.attributes.target) { 2863 targetAttr = event.target.attributes.target.value; 2864 } 2865 if (event.target.attributes.rel) { 2866 targetRel = event.target.attributes.rel.value; 2867 } 2868 targetHref = event.target.href; 2869 targetRel = event.target.rel; 2870 } else if (targetNodeName == 'INPUT' && event.target.type == 'file') { 2871 return; 2872 } else if (Mfe.Utils.Dom.getNodeName(event.currentTarget) == 'A') { 2873 if (event.currentTarget.attributes.href.value == '#') { 2874 return; 2875 } 2876 targetHref = event.currentTarget.href; 2877 targetRel = event.currentTarget.rel; 2878 } else { 2879 return null; 2880 } 2881 2882 if (targetHref === null) { 2883 return; 2884 } 2885 2886 var parsedLinkEl = document.createElement('a'); 2887 parsedLinkEl.href = targetHref; 2888 2889 let isTargetBlank = (targetAttr !== null && targetAttr === '_blank'); 2890 2891 let isDifferentDomain = parsedLinkEl.hostname != document.domain; 2892 2893 if (parsedLinkEl.hostname === 'our.kinder.world' && document.domain === 'kinder.world') { 2894 //isDifferentDomain = false; 2895 targetRel = 'internal'; 2896 } 2897 2898 2899 // Only process links on the current domain 2900 if (isTargetBlank === true || isDifferentDomain) { 2901 2902 if (targetRel !== 'internal') { 2903 var returnObj = { 2904 'result': 'newWindow', 2905 'url': targetHref 2906 }; 2907 } else { 2908 var returnObj = { 2909 'result': 'navigate', 2910 'url': targetHref 2911 }; 2912 } 2913 // If there are unsaved changes, the window.beforeunload 2914 // handler will take care of that 2915 //window.open(targetHref); 2916 2917 return returnObj; 2918 } 2919 2920 var path = parsedLinkEl.pathname; 2921 if (path.substring(0, 1) != '/') { 2922 path = '/' + path; 2923 } else if (path.length == 0) { 2924 path = '/'; 2925 } 2926 2927 if (path.length > 1 && path.substring(path.length - 1, path.length) == '/') { 2928 path = path.substring(0, path.length - 1); 2929 } 2930 2931 var queryParams = {}; 2932 var query = parsedLinkEl.search; 2933 var hash = parsedLinkEl.hash; 2934 2935 if (query.length > 0) { 2936 queryParams = Mfe.Utils.Text.parseQueryParams(query.substring(1)); 2937 } 2938 2939 var returnObj = { 2940 'path': path, 2941 'queryParams': queryParams, 2942 'hash': hash 2943 } 2944 2945 return returnObj; 2946}; 2947 2948Mfe.prototype.processUrl = function(url) { 2949 var parsedLinkEl = document.createElement('a'); 2950 parsedLinkEl.href = url; 2951 2952 let targetRel = 'internal'; 2953 let isDifferentDomain = parsedLinkEl.hostname != document.domain; 2954 2955 if (parsedLinkEl.hostname === 'our.kinder.world' && document.domain === 'kinder.world') { 2956 //isDifferentDomain = false;
2957 targetRel = 'internal'; 2958 } 2959 2960 2961 // Only process links on the current domain 2962 if (isDifferentDomain) { 2963 2964 if (targetRel !== 'internal') { 2965 var returnObj = { 2966 'result': 'newWindow', 2967 'url': url 2968 }; 2969 } else { 2970 var returnObj = { 2971 'result': 'navigate', 2972 'url': url 2973 }; 2974 } 2975 // If there are unsaved changes, the window.beforeunload 2976 // handler will take care of that 2977 //window.open(targetHref); 2978 2979 return returnObj; 2980 } 2981 2982 var path = parsedLinkEl.pathname; 2983 if (path.substring(0, 1) != '/') { 2984 path = '/' + path; 2985 } else if (path.length == 0) { 2986 path = '/'; 2987 } 2988 2989 if (path.length > 1 && path.substring(path.length - 1, path.length) == '/') { 2990 path = path.substring(0, path.length - 1); 2991 } 2992 2993 var queryParams = {}; 2994 var query = parsedLinkEl.search; 2995 var hash = parsedLinkEl.hash; 2996 2997 if (query.length > 0) { 2998 queryParams = Mfe.Utils.Text.parseQueryParams(query.substring(1)); 2999 } 3000 3001 var returnObj = { 3002 'path': path, 3003 'queryParams': queryParams, 3004 'hash': hash 3005 } 3006 3007 return returnObj; 3008} 3009 3010Mfe.prototype.parseUrl = function(url) { 3011 var parsedLinkEl = document.createElement('a'); 3012 parsedLinkEl.href = url; 3013 3014 var path = parsedLinkEl.pathname; 3015 if (path.substring(0, 1) != '/') { 3016 path = '/' + path; 3017 } else if (path.length == 0) { 3018 path = '/'; 3019 } 3020 3021 if (path.length > 1 && path.substring(path.length - 1, path.length) == '/') { 3022 path = path.substring(0, path.length - 1); 3023 } 3024 3025 var queryParams = {}; 3026 var query = parsedLinkEl.search; 3027 var hash = parsedLinkEl.hash; 3028 3029 if (query.length > 0) { 3030 queryParams = Mfe.Utils.Text.parseQueryParams(query.substring(1)); 3031 } 3032 3033 var returnObj = { 3034 'path': path, 3035 'queryParams': queryParams, 3036 'hash': hash 3037 } 3038 3039 return returnObj; 3040} 3041 3042Mfe.prototype.createHoverSelection = function() { 3043 var $hoverEl = $('<div class="mfe-hover"></div>'); 3044 $('body').append($hoverEl); 3045 this.$hoverEl = $hoverEl; 3046}; 3047 3048Mfe.prototype.resetCookieChoice = function() { 3049 Mfe.Utils.UserAgent.setCookie('cookie-consent-analyticaly', '0', -1000, document.domain); 3050 this.loadCookieBar(); 3051}; 3052 3053Mfe.prototype.loadCookieBar = function() { 3054 var self = this; 3055 3056 3057 if (this.hasCookieChoice() === true) { 3058 return; 3059 } 3060 3061 if (isEmpty(this.siteConfig.cookieBarVersion) !== false) { 3062 return; 3063 } 3064 3065 3066 3067 var cookieBarTemplate = this.getTemplate('cookie', this.siteConfig.cookieBarVersion); 3068 var cookieBarHtml = cookieBarTemplate({ 3069 'siteTitle': this.siteConfig.siteTitle, 3070 'cookieBarText': this.siteConfig.cookieBarText 3071 }); 3072 3073 var $cookieBarEl = $(cookieBarHtml); 3074 $('body').append($cookieBarEl); 3075 this.$cookieBarEl = $cookieBarEl; 3076 3077 $('html').addClass('has-cookie-overlay'); 3078 3079 this.$cookieBarEl.find('.continue button').on('click', function(e){ 3080 var allowAnalyticsCookies = self.$cookieBarEl.find('#cookie-bar-allow-analytical').prop('checked'); 3081 self.onCookieConsentUpdate(allowAnalyticsCookies); 3082 self.$cookieBarEl.remove(); 3083 $('#cookie-bar-overlay').removeClass('show'); 3084 $('html').removeClass('has-cookie-overlay'); 3085 }); 3086 3087 this.$cookieBarEl.find('.collapse').on('click', function(e){ 3088 var $collapseEl = $(this); 3089 var $sectionEl = $collapseEl.parents('.section'); 3090 3091 if ($sectionEl.hasClass('collapsed') === true) { 3092 $sectionEl.removeClass('collapsed'); 3093 $sectionEl.addClass('expanded'); 3094 } else { 3095 $sectionEl.addClass('collapsed'); 3096 $sectionEl.removeClass('expanded'); 3097 } 3098 3099 e.preventDefault(); 3100 return false; 3101 }); 3102 3103 $('#cookie-bar-overlay').addClass('show'); 3104}; 3105 3106Mfe.prototype.positionHoverSelection = function($el) { 3107 3108 //var left = $el[0]; 3109 3110 this.$hoverEl.addClass('show'); 3111}; 3112 3113Mfe.prototype.showEditHoverOptions = function($el) { 3114 if (isEmpty(this.$hoverEl) === true) { 3115 this.createHoverSelection(); 3116 } 3117}; 3118 3119Mfe.prototype.handleLink = function(path, queryParams, hash) { 3120 if (this.clientMode == 'edit') { 3121 return; 3122 } 3123 3124 if (this.viewMode && this.viewMode === 'edit') { 3125 return false; 3126 } 3127 3128 this.navigate(path, queryParams, true, hash); 3129}; 3130
3131Mfe.prototype.processFontsConfig = function() { 3132 var fontsConfig = this.siteThemeConfig.fonts; 3133 3134 var entities = Object.keys(fontsConfig); 3135 for (var i = 0; i < entities.length; i++) { 3136 var entity = entities[i]; 3137 var entityFontConfig = fontsConfig[entity]; 3138 3139 this.wfLoader.registerFontFamilyByConfig(entityFontConfig); 3140 } 3141 3142 this.wfLoader.loadFonts(); 3143}; 3144 3145Mfe.prototype.determineLanguage = function() { 3146 for (var i = 0; i < this.options.uaLanguages.length; i++) { 3147 var uaLanguage = this.options.uaLanguages[i]; 3148 3149 if (this.siteThemeConfig.languages.indexOf(uaLanguage) > -1) { 3150 return uaLanguage; 3151 } 3152 } 3153 3154 return this.siteThemeConfig.languages[0]; 3155}; 3156 3157Mfe.prototype.getOtherLanguagePaths = function() { 3158 if (this.siteThemeConfig.site.languageMode == 'single') { 3159 return []; 3160 } 3161 3162 var multiMode = this.siteThemeConfig.site.languageMultiMode; 3163 3164 var otherLanguages = []; 3165 for (var i = 0; i < this.siteThemeConfig.languages.length; i++) { 3166 var language = this.siteThemeConfig.languages[i]; 3167 if (this.pageLanguage != language) { 3168 otherLanguages.push(language); 3169 } 3170 }; 3171 3172 var languagePaths = []; 3173 // Get paths for languages 3174 for (var i = 0; i < otherLanguages.length; i++) { 3175 var otherLanguage = otherLanguages[i]; 3176 var path = '/'; 3177 3178 // Translate current URL is mode if translate 3179 if (multiMode == 'translate') { 3180 3181 } else if (multiMode == 'unique') { 3182 path = this.pathLanguageFrontPages[otherLanguage]; 3183 } 3184 3185 var code = otherLanguage; 3186 if (code.length == 5) { 3187 code = code.substring(3).toLowerCase(); 3188 } 3189 3190 if (code == 'gb') { 3191 code = 'en'; 3192 } 3193 3194 languagePaths.push({ 3195 'code': code, 3196 'path': path 3197 }); 3198 } 3199 3200 return languagePaths; 3201}; 3202 3203Mfe.prototype.getFrontPagePath = function() { 3204 if (isEmpty(this.pathLanguageFrontPages[this.pageLanguage]) === true) { 3205 return '/'; 3206 } 3207 3208 return this.pathLanguageFrontPages[this.pageLanguage]; 3209}; 3210 3211Mfe.prototype.getTranslation = function(translationKey, language) { 3212 var translationLang = null; 3213 if (isEmpty(language) === true) { 3214 translationLang = this.pageLanguage; 3215 } else { 3216 translationLang = language; 3217 } 3218 3219 if (isEmpty(this.siteThemeConfig.translations[translationKey]) === true) { 3220 return translationKey; 3221 } 3222 3223 if (isEmpty(this.siteThemeConfig.translations[translationKey][translationLang]) === true) { 3224 return translationKey; 3225 } 3226 3227 return this.siteThemeConfig.translations[translationKey][translationLang]; 3228}; 3229 3230Mfe.prototype.resolveTextVariable = function(variableObj) { 3231 if (variableObj.entity == 'site') { 3232 if (variableObj.variable == 'title') { 3233 return this.siteBundle.getTitle(); 3234 } else if (variableObj.variable == 'languageFrontPagePath') { 3235 return this.getFrontPagePath(); 3236 } 3237 } else if (variableObj.entity == 'translation') { 3238 return this.getTranslation(variableObj.name); 3239 } 3240 3241 return 'unknown variable'; 3242}; 3243 3244Mfe.prototype.getFullPath = function(path, queryParams) { 3245 3246 var queryParamStr = ''; 3247 if (isEmpty(queryParams) === false) { 3248 var queryParamsArr = []; 3249 var queryParamKeys = Object.keys(queryParams); 3250 for (var i = 0; i < queryParamKeys.length; i++) { 3251 var queryParamKey = queryParamKeys[i]; 3252 queryParamsArr.push(queryParamKey + '=' + queryParams[queryParamKey].toString()); 3253 } 3254 3255 if (queryParamKeys.length > 0) { 3256 queryParamStr = queryParamsArr.join('&'); 3257 } 3258 } 3259 3260 var fullPath = path; 3261 if (queryParamStr.length > 0) { 3262 fullPath += '?' + queryParamStr; 3263 } 3264 3265 return fullPath; 3266}; 3267 3268Mfe.prototype.onAttach = function() { 3269 if (isEmpty(this.siteConfig.featureSelectionShare) === false && this.siteConfig.featureSelectionShare === true) { 3270 this.initScript('share-selected-text'); 3271 } 3272}; 3273 3274Mfe.prototype.onBeforePageView = function() { 3275 // Save the FB root element so we don't have to reload the SDK every pageview 3276 var $fbRootEl = $('body > #fb-root'); 3277 if ($fbRootEl.length > 0) { 3278 $fbRootEl.detach(); 3279 3280 this.$fbRootEl = $fbRootEl; 3281 } 3282}; 3283 3284Mfe.prototype.executeAnalytics = function() { 3285 var loadAnalytics = true; 3286 3287 if (isEmpty(this.siteConfig.featureCookieBar) === false && this.siteConfig.featureCookieBar === true) { 3288 if (this.cookieConsentAnalytics === true) { 3289 loadAnalytics = true; 3290 } else { 3291 loadAnalytics = false;
3292 } 3293 } 3294 3295 3296 if (loadAnalytics === false) { 3297 this.pageViewAnalyticsExecuted = false; 3298 return; 3299 } 3300 3301 // GA 3302 this.loadGoogleAnalytics(); 3303 3304 // FB SDK 3305 this.loadFacebookSdk(); 3306 3307 this.pageViewAnalyticsExecuted = true; 3308}; 3309 3310Mfe.prototype.loadCookieConsent = function() { 3311 if (isEmpty(this.siteConfig.featureCookieBar) === false && this.siteConfig.featureCookieBar === true) { 3312 this.cookieConsentAnalytics = (Mfe.Utils.UserAgent.getCookie('cookie-consent-analyticaly') === '1'); 3313 } else { 3314 this.cookieConsentAnalytics = true; 3315 } 3316}; 3317 3318Mfe.prototype.onPageView = function(httpCode, path, queryParams) { 3319 AOS.refreshHard(); 3320 3321 this.loadCookieConsent(); 3322 3323 this.executeAnalytics(); 3324 3325 if (isEmpty(this.scripts['share-selected-text']) === false && this.scripts['share-selected-text'].loaded === true) { 3326 this.loadShareSelectedText(); 3327 }; 3328 3329 if (typeof mfeThemeOnPageView !== 'undefined') { 3330 mfeThemeOnPageView(); 3331 } 3332 3333 // Send view to collection 3334 Mfe.Api.Stats.sendPageView(this.siteBundle.getName(), path, queryParams, this.context, this.contextId, this.contextObject); 3335 3336 this.trigger('pageView', path, queryParams, this.currentPage); 3337 3338 //var activePluginNames = Object.keys(Mfe.Plugins); 3339 //for (var i = 0; i < activePluginNames.length; i++) { 3340 //var activePluginName = activePluginNames[i]; 3341 3342 /*if (typeof this.activePlugins[activePluginName].onPageView !== 'undefined') { 3343 this.activePlugins[activePluginName].onPageView(httpCode, path, queryParams, this.currentPage); 3344 }*/ 3345 //} 3346 3347 if (isEmpty(this.siteConfig.featureCookieBar) === false && this.siteConfig.featureCookieBar === true) { 3348 this.loadCookieBar(); 3349 } 3350 3351 if (window.lazyLoad) { 3352 window.lazyLoad.update(); 3353 } 3354}; 3355 3356Mfe.prototype.loadAos = function() { 3357 var self = this; 3358 3359 if (mfeScriptsLoaded.dom === true) { 3360 AOS.init({ 3361 duration: 1300, 3362 delay: 0, 3363 startEvent: 'startAos' 3364 }); 3365 document.dispatchEvent(new Event('startAos')); 3366 } else { 3367 document.addEventListener('DOMContentLoaded', function() { 3368 AOS.init({ 3369 duration: 1300, 3370 delay: 0, 3371 startEvent: 'startAos' 3372 }); 3373 document.dispatchEvent(new Event('startAos')); 3374 }); 3375 } 3376 3377 3378}; 3379 3380Mfe.prototype.loadLazyLoad = function() { 3381 window.lazyLoad = new LazyLoad({ 3382 elements_selector: ".lazy" 3383 }); 3384}; 3385 3386Mfe.prototype.loadFonts = function() { 3387 var googleFontsJson = $('html').attr('data-google-fonts-json'); 3388 3389 if (typeof googleFontsJson !== 'undefined' && googleFontsJson !== null && googleFontsJson.length > 0) { 3390 var googleFonts = JSON.parse(googleFontsJson); 3391 3392 if (typeof googleFonts === 'undefined' || googleFonts === null) { 3393 googleFonts = []; 3394 } 3395 3396 if (googleFonts.length > 0) { 3397 var webFontConfig = { 3398 google: { families: googleFonts } 3399 }; 3400 3401 WebFont.load(webFontConfig); 3402 } 3403 } 3404}; 3405 3406Mfe.prototype.loadShareSelectedText = function() { 3407 shareSelectedText('.widget.cms-fragments, .widget.cms-summary', { 3408 tooltipClass: '', // cool, if you want to customize the tooltip 3409 sanitize: true, // will sanitize the user selection to respect the Twitter Max length (recommended) 3410 buttons: [ // services that you want to enable you can add : 3411 'twitter', // - twitter, tumblr, buffer, stumbleupon, digg, reddit, linkedin, facebook 3412 'linkedin', 3413 'facebook' 3414 ], 3415 anchorsClass: '', // class given to each tooltip's links 3416 twitterUsername: '', // for twitter widget, will add 'via @twitterUsername' at the end of the tweet. 3417 facebookAppID: this.siteConfig.fbAppId, // Can also be an HTML element inside the <head> tag of your page : <meta property="fb:APP_ID" content="YOUR_APP_ID"/> 3418 facebookDisplayMode: 'popup', //can be 'popup' || 'page' 3419 tooltipTimeout: 250 //Timeout before that the tooltip appear in ms 3420 }); 3421}; 3422 3423Mfe.prototype.loadGoogleAnalytics = function() { 3424 3425 var fullPath = this.fullPath; 3426 3427 // Google Analytics 3428 if (isEmpty(this.siteConfig.gaUaCode) === false && this.siteConfig.gaUaCode.length > 0 && typeof ga !== 'undefined') { 3429 if (this.modules.ga.initialized === false) { 3430 ga('create', this.siteConfig.gaUaCode, 'auto'); 3431 this.modules.ga.initialized = true; 3432 } 3433 ga('set', 'page', fullPath); 3434 ga('send', 'pageview'); 3435 } else if (isEmpty(this.siteConfig.gaTagCode) === false && this.siteConfig.gaTagCode.length > 0) { 3436 3437 if (this.modules.gtag.initialized === false) { 3438 gtag('js', new Date()); 3439 gtag('config', this.siteConfig.gaTagCode); 3440 this.modules.gtag.initialized = true; 3441 } 3442 3443 gtag('event', 'page_view', { 3444 page_path: this.fullPath, 3445 send_to: this.siteConfig.gaTagCode 3446 }); 3447 3448 } else { 3449 3450 } 3451}; 3452 3453Mfe.prototype.loadFacebookSdk = function() { 3454 var fullPath = this.fullPath; 3455 3456 // FB SDK 3457 if (isEmpty(this.siteConfig.fbAppId) === false && this.siteConfig.fbAppId.length > 0) { 3458 3459 if (isEmpty(this.$fbRootEl) === false) { 3460 // Restore the RB root element 3461 $('body').prepend(this.$fbRootEl);
3462 FB.XFBML.parse(); 3463 } else { 3464 $('body').prepend($('<div id="fb-root"></div>')); 3465 delete FB; 3466 var self = this; 3467 //$.getScript('//connect.facebook.net/en_US/all.js#xfbml=1', function(data, textStatus, jqxhr){ 3468 $.getScript('//connect.facebook.net/en_US/sdk.js?version=v3.0#xfbml=1', function(data, textStatus, jqxhr) { 3469 FB.init({ 3470 appId : self.siteConfig.fbAppId, 3471 status : true, 3472 xfbml : true, 3473 version : 'v3.0' 3474 }); 3475 }); 3476 } 3477 } 3478} 3479 3480Mfe.prototype.generateSearchHref = function(query, pageNo) { 3481 if (typeof pageNo === 'undefined') { 3482 pageNo = 1; 3483 } 3484 3485 let searchTemplate = '/search?q={{query}}&p={{page}}'; 3486 if (this.siteConfig.searchTemplate && this.siteConfig.searchTemplate.length > 0) { 3487 searchTemplate = this.siteConfig.searchTemplate; 3488 } 3489 3490 let searchTemplateVars = { 3491 'query': encodeURIComponent(query), 3492 'page': pageNo 3493 }; 3494 3495 let searchTemplateHb = Handlebars.compile(searchTemplate); 3496 let searchTemplateOutput = searchTemplateHb(searchTemplateVars); 3497 3498 return searchTemplateOutput; 3499} 3500 3501Mfe.prototype.executeSiteAction = function(action, params) { 3502 3503 if (action == 'search') { 3504 var pageNo = 1; 3505 if (typeof params.page !== 'undefined') { 3506 pageNo = params.page; 3507 } 3508 3509 let searchTemplate = '/search?q={{query}}&p={{page}}'; 3510 if (this.siteConfig.searchTemplate && this.siteConfig.searchTemplate.length > 0) { 3511 searchTemplate = this.siteConfig.searchTemplate; 3512 } 3513 3514 let searchTemplateVars = { 3515 'query': encodeURIComponent(params.query), 3516 'page': pageNo 3517 }; 3518 3519 let searchTemplateHb = Handlebars.compile(searchTemplate); 3520 let searchTemplateOutput = searchTemplateHb(searchTemplateVars); 3521 3522 let linkProcessed = this.processUrl(searchTemplateOutput); 3523 if (linkProcessed.result === 'navigate') { 3524 window.location.href = linkProcessed.url; 3525 return; 3526 } 3527 3528 this.handleLink(linkProcessed.path, linkProcessed.queryParams, linkProcessed.hash); 3529 } 3530}; 3531 3532Mfe.prototype.translateUrl = function(url) { 3533 for (var j = 0; j < this.translateDomainKeys.length; j++) { 3534 var translateDomainKey = this.translateDomainKeys[j]; 3535 if (url.substring(0, translateDomainKey.length) == translateDomainKey) { 3536 return this.translateDomainMapping[translateDomainKey] + url.substring(translateDomainKey.length); 3537 } 3538 } 3539 3540 return url; 3541}; 3542 3543Mfe.prototype.initScript = function(scriptName) { 3544 var self = this; 3545 3546 var beforeEl = document.getElementsByTagName('script')[0]; 3547 var scriptEl = document.createElement('script'); 3548 scriptEl.async=1; 3549 scriptEl.src='/static/js/libs/init/' + scriptName + '.js'; 3550 scriptEl.onload = function(){ 3551 self.scripts[scriptName] = { 3552 'loaded': true 3553 }; 3554 3555 if (scriptName == 'share-selected-text') { 3556 self.loadShareSelectedText(); 3557 } 3558 } 3559 beforeEl.parentNode.insertBefore(scriptEl,beforeEl); 3560}; 3561 3562Mfe.prototype.on = function(eventName, cb) { 3563 if (typeof this.triggers[eventName] === 'undefined') { 3564 this.triggers[eventName] = []; 3565 } 3566 3567 this.triggers[eventName].push(cb); 3568}; 3569 3570Mfe.prototype.trigger = function(eventName, ...args) { 3571 if (typeof this.triggers[eventName] == 'undefined') { 3572 return; 3573 } 3574 3575 var cbs = this.triggers[eventName]; 3576 for (var i = 0; i < cbs.length; i++) { 3577 var cb = cbs[i]; 3578 3579 cb.apply(null, args); 3580 } 3581}; 3582 3583Mfe.Classes = {}; 3584Mfe.Plugins = {}; 3585Mfe.Widgets = {}; 3586Mfe.Layouts = {}; 3587Mfe.Styles = {}; 3588Mfe.Utils = {}; 3589Mfe.Renderer = {}; 3590Mfe.Templates = {}; 3591Mfe.Locales = {}; 3592Mfe.Locale = {}; 3593 3594Mfe.Ui = { 3595 'attach': function() { 3596 3597 $(mfe.outputElSelector).on('click', '.ui-slider .ui-slider-controls button', function (event) { 3598 let el = event.target; 3599 3600 let $el = $(el); 3601 let $uiSliderEl = $el.parents('.ui-slider'); 3602 let action = $el.attr('data-action'); 3603 3604 if (action === 'previous') { 3605 Mfe.Ui.sliderMovePrevious($uiSliderEl, 'manual'); 3606 } else if (action === 'next') { 3607 Mfe.Ui.sliderMoveNext($uiSliderEl, 'manual'); 3608 } 3609 3610 }); 3611 3612 setInterval(() => { 3613 3614 Mfe.Ui.checkSliders(); 3615 3616 }, 500); 3617 }, 3618 'checkSliders': function() { 3619 let $uiSliders = $('.ui-slider'); 3620 3621 if ($uiSliders.length > 0) { 3622 for (let $uiSlider of $uiSliders) { 3623 Mfe.Ui.checkSlider($($uiSlider)); 3624 } 3625 } 3626 }, 3627 'checkSlider': function($uiSlider) { 3628 let sliderInterval = 5000; 3629 let currentSlideIndex = 0; 3630 let lastSlideTs = null; 3631 3632
3633 if (typeof $uiSlider.attr('data-slide-index') !== 'undefined') { 3634 currentSlideIndex = $uiSlider.attr('data-slide-index'); 3635 } else { 3636 $uiSlider.attr('data-slide-index', 0); 3637 return; 3638 } 3639 3640 if (typeof $uiSlider.attr('data-last-slide-ts') !== 'undefined') { 3641 lastSlideTs = $uiSlider.attr('data-last-slide-ts'); 3642 } 3643 3644 3645 3646 let $totalSlideEls = $uiSlider.find(' > .wrapper > *'); 3647 let totalSlides = $totalSlideEls.length; 3648 3649 if (lastSlideTs === null) { 3650 $uiSlider.attr('data-last-slide-ts', Date.now()); 3651 return; 3652 } 3653 3654 let $childEls = $uiSlider.find('> .wrapper > *'); 3655 let $currentChildEl = $($childEls[currentSlideIndex]); 3656 let cssSlideDuration = window.getComputedStyle($currentChildEl[0]).getPropertyValue('--slider-slide-duration'); 3657 if (cssSlideDuration.length > 0) { 3658 sliderInterval = parseInt(cssSlideDuration); 3659 } 3660 3661 if (Date.now() - lastSlideTs <= sliderInterval) { 3662 return; 3663 } 3664 3665 3666 3667 let autoSlideNext = window.getComputedStyle($currentChildEl[0]).getPropertyValue('--slider-auto-slide-next'); 3668 if (autoSlideNext === '0') { 3669 return; 3670 } 3671 3672 // Perform next slide 3673 Mfe.Ui.sliderMoveNext($uiSlider, 'auto'); 3674 }, 3675 'sliderMoveNext': function(sliderEl, mode) { 3676 let $childEls = sliderEl.find('> .wrapper > *'); 3677 let childAmount = $childEls.length; 3678 let currentIndex = sliderEl.attr('data-slide-index'); 3679 //console.log('child els', $childEls.length); 3680 3681 if (currentIndex === null || typeof currentIndex === 'undefined') { 3682 //console.log('current index is null or undefined'); 3683 currentIndex = 0; 3684 } else { 3685 currentIndex = parseInt(currentIndex); 3686 } 3687 3688 if (currentIndex + 1 > childAmount - 1) { 3689 //console.log('current index + 1 is larger than 4'); 3690 currentIndex = 0; 3691 } else { 3692 currentIndex++; 3693 } 3694 3695 //console.log('setting slider index to ', currentIndex); 3696 3697 //console.log('data slide index'); 3698 //console.log(currentIndex); 3699 3700 3701 3702 sliderEl[0].style.setProperty('--slider-index', currentIndex); 3703 3704 sliderEl.attr('data-slide-index', currentIndex); 3705 sliderEl.attr('data-last-slide-ts', Date.now()); 3706 }, 3707 'sliderMovePrevious': function(sliderEl, mode) { 3708 let $childEls = sliderEl.find('> .wrapper > *'); 3709 let childAmount = $childEls.length; 3710 let currentIndex = sliderEl.attr('data-slide-index'); 3711 if (currentIndex === null || typeof currentIndex === 'undefined') { 3712 currentIndex = 0; 3713 } 3714 3715 if (currentIndex === 0) { 3716 currentIndex = childAmount - 1; 3717 } else { 3718 currentIndex--; 3719 } 3720 3721 if (currentIndex < 0) { 3722 currentIndex = 0; 3723 } 3724 3725 //console.log('setting slider index to ', currentIndex); 3726 3727 3728 sliderEl[0].style.setProperty('--slider-index', currentIndex); 3729 3730 sliderEl.attr('data-slide-index', currentIndex); 3731 sliderEl.attr('data-last-slide-ts', Date.now()); 3732 }, 3733} 3734Mfe.Api = { 3735 'Sites': { 3736 'query': function(siteName, queryObj, cb) { 3737 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/query', 'POST', null, null, queryObj, true); 3738 var apiResponse = apiRequest.execute( 3739 function(data) { 3740 var queryResult = new Mfe.Classes.QueryResult(data); 3741 3742 if (queryObj.type == 'blogposts') { 3743 Mfe.ApiCache.addItems('blogpost', queryResult.getResults()); 3744 } else if (queryObj.type == 'media') { 3745 Mfe.ApiCache.addItems('media', queryResult.getResults()); 3746 } else if (queryObj.type == 'events') { 3747 Mfe.ApiCache.addItems('event', queryResult.getResults()); 3748 } 3749 cb(true, queryResult); 3750 }, 3751 function(){ 3752 cb(false); 3753 } 3754 ); 3755 3756 if (apiResponse === null || apiResponse === false) { 3757 return null; 3758 } 3759 3760 var queryResult = new Mfe.Classes.QueryResult(apiResponse); 3761 return queryResult; 3762 } 3763 }, 3764 'Calendars': { 3765 3766 }, 3767 'UserGroups': { 3768 'getTeam': function(siteName, teamId, cb) { 3769 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/usergroups/team/' + Mfe.Utils.Js.encodeUriParam(teamId), 'GET', null, null, null, true); 3770 var apiResponse = apiRequest.execute( 3771 function(data) { 3772 var event = new Mfe.Classes.SiteUserGroupTeam(data); 3773 cb(true, event); 3774 }, 3775 function() { 3776 cb(false); 3777 } 3778 ); 3779 3780 if (apiResponse === null || apiResponse === false) { 3781 return null; 3782 } 3783 3784 var event = new Mfe.Classes.SiteUserGroupTeam(apiResponse); 3785 return event; 3786 } 3787 }, 3788 'Streams': { 3789 'getMedia': function(siteName, streamIds, type, subType, amount, cursorId, cb) { 3790 3791 var queryObj = { 3792 'type': 'media', 3793 'amount': amount, 3794 'mode': 'last', 3795 'filters': [ 3796 { 'streams': streamIds } 3797 ] 3798 }; 3799 3800 if (isEmpty(cursorId) === false) { 3801 queryObj.mode = 'before'; 3802 queryObj.after = cursorId; 3803 } else { 3804 delete queryObj.cursor; 3805 } 3806 3807 var querySiteName; 3808 if (Mfe.ApiRequest.dummyDataEnabled === true && Mfe.ApiRequest.dummyData.streamIds.length > 0) { 3809 queryObj.filters[0].streams = Mfe.ApiRequest.dummyData.streamIds; 3810 querySiteName = Mfe.ApiRequest.dummyData.siteName; 3811 } else { 3812 querySiteName = siteName; 3813 } 3814 3815 return Mfe.Api.Sites.query( 3816 querySiteName, 3817 queryObj, 3818 function(result, response) { 3819 cb(result, response); 3820 } 3821 ); 3822 } 3823 }, 3824 'StreamMedia': { 3825 'get': function(siteName, mediaId, cb) { 3826 var cachedMedia = Mfe.ApiCache.getItem('media', mediaId); 3827 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedMedia) === false && cachedMedia !== false) { 3828 return cachedMedia; 3829 } 3830 3831 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/streammedia/' + Mfe.Utils.Js.encodeUriParam(mediaId), 'GET', null, null, null, true); 3832 var apiResponse = apiRequest.execute( 3833 function(data) { 3834 var media = new Mfe.Classes.ContentMedia(data); 3835 //if (queryObj.type == 'blogposts') { 3836 //Create.API.Cache.addPosts(queryResult.getResults()); 3837 //} 3838 cb(true, media); 3839 }, 3840 function(){ 3841 cb(false); 3842 } 3843 ); 3844 3845 if (apiResponse === null || apiResponse === false) { 3846 return null; 3847 } 3848 3849 var media = new Mfe.Classes.ContentMedia(apiResponse); 3850 return media; 3851 } 3852 }, 3853 'ExternalDatasource': { 3854 'get': function(siteName, externalDataSource, cb) { 3855 //var cachedMedia = Mfe.ApiCache.getItem('media', mediaId); 3856 //if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedMedia) === false && cachedMedia !== false) { 3857 //return cachedMedia; 3858 //} 3859 3860 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/externaldatasource/' + Mfe.Utils.Js.encodeUriParam(externalDataSource), 'GET', null, null, null, true); 3861 var apiResponse = apiRequest.execute( 3862 function(data) { 3863 var media = new Mfe.Classes.ContentExternalData(data); 3864 //if (queryObj.type == 'blogposts') { 3865 //Create.API.Cache.addPosts(queryResult.getResults()); 3866 //} 3867 cb(true, media); 3868 }, 3869 function(){ 3870 cb(false); 3871 } 3872 ); 3873 if (apiResponse === null || apiResponse === false) { 3874 return null; 3875 } 3876 3877 var media = new Mfe.Classes.ContentExternalData(apiResponse); 3878 return media; 3879 } 3880 }, 3881 'Blogs': { 3882 'getPosts': function(siteName, blogIds, amount, offset, cursorId, cb) { 3883 var queryObj = { 3884 'type': 'blogposts', 3885 'amount': amount, 3886 'mode': 'last', 3887 'offset': offset, 3888 'filters': [ 3889 { 'postGroups': blogIds } 3890 ] 3891 }; 3892 3893 if (isEmpty(cursorId) === false && cursorId != 0) { 3894 queryObj.mode = 'before';
3895 queryObj.before = cursorId; 3896 3897 delete queryObj.offset; 3898 } 3899 3900 if (isEmpty(blogIds) === true) { 3901 delete queryObj.filters[0].postGroups; 3902 } 3903 3904 var querySiteName; 3905 if (Mfe.ApiRequest.dummyDataEnabled === true && Mfe.ApiRequest.dummyData.postGroupIds.length > 0) { 3906 queryObj.filters[0].postGroups = Mfe.ApiRequest.dummyData.postGroupIds; 3907 querySiteName = Mfe.ApiRequest.dummyData.siteName; 3908 } else { 3909 querySiteName = siteName; 3910 } 3911 3912 return Mfe.Api.Sites.query( 3913 querySiteName, 3914 queryObj, 3915 function(result, response) { 3916 3917 if (result !== true) { 3918 cb(result, response); 3919 return; 3920 } 3921 3922 3923 var queryResult = response; 3924 var posts = queryResult.getResults(); 3925 Mfe.ApiCache.addItems('blogpost', posts); 3926 3927 cb(result, response); 3928 } 3929 ); 3930 } 3931 }, 3932 'Calendars': { 3933 'getEvents': function(siteName, calendarIds, amount, cursor, cb) { 3934 var queryObj = { 3935 'type': 'events', 3936 'amount': amount, 3937 'mode': 'upcoming', 3938 'filters': [ 3939 { 'calendars': calendarIds } 3940 ] 3941 }; 3942 3943 return Mfe.Api.Sites.query( 3944 siteName, 3945 queryObj, 3946 function(result, response) { 3947 cb(result, response); 3948 } 3949 ); 3950 } 3951 }, 3952 'CalendarEvent': { 3953 'get': function(siteName, eventId, cb) { 3954 var cachedEvent = Mfe.ApiCache.getItem('event', eventId); 3955 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedEvent) === false) { 3956 return cachedEvent; 3957 } 3958 3959 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/events/' + Mfe.Utils.Js.encodeUriParam(eventId), 'GET', null, null, null, true); 3960 var apiResponse = apiRequest.execute( 3961 function(data) { 3962 var event = new Mfe.Classes.ContentEvent(data); 3963 //if (queryObj.type == 'blogposts') { 3964 //Create.API.Cache.addPosts(queryResult.getResults()); 3965 //} 3966 cb(true, event); 3967 }, 3968 function(){ 3969 cb(false); 3970 } 3971 ); 3972 3973 if (apiResponse === null || apiResponse === false) { 3974 return null; 3975 } 3976 3977 var event = new Mfe.Classes.ContentEvent(apiResponse); 3978 return event; 3979 } 3980 }, 3981 'BlogPosts': { 3982 'get': function(siteName, blogPostId, cb) { 3983 3984 var querySiteName; 3985 if (Mfe.ApiRequest.dummyDataEnabled === true && Mfe.ApiRequest.dummyData.siteName.length > 0) { 3986 querySiteName = Mfe.ApiRequest.dummyData.siteName; 3987 } else { 3988 querySiteName = siteName; 3989 } 3990 3991 var actualId; 3992 var actualIdIndex = blogPostId.lastIndexOf('-'); 3993 if (actualIdIndex > -1) { 3994 actualId = blogPostId.substring(actualIdIndex + 1, blogPostId.length); 3995 } else { 3996 actualId = blogPostId; 3997 } 3998 3999 var cachedBlogPost = Mfe.ApiCache.getItem('blogpost', actualId); 4000 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedBlogPost) === false) { 4001 return cachedBlogPost; 4002 } 4003 4004 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(querySiteName) + '/blogposts/' + Mfe.Utils.Js.encodeUriParam(blogPostId), 'GET', null, null, null, true); 4005 var apiResponse = apiRequest.execute( 4006 function(data) { 4007 var blogPost = Mfe.Classes.ContentPost.instantiate(data); 4008 //if (queryObj.type == 'blogposts') { 4009 //Create.API.Cache.addPosts(queryResult.getResults()); 4010 //} 4011 cb(true, blogPost); 4012 }, 4013 function(){ 4014 cb(false); 4015 } 4016 ); 4017 4018 if (apiResponse === null) { 4019 return null; 4020 } else if (apiResponse === false) { 4021 return false; 4022 } 4023 4024 var blogPost = Mfe.Classes.ContentPost.instantiate(apiResponse); 4025 return blogPost; 4026 }, 4027 'getByTags': function(siteName, tags, amount, offset, cursorId, cb) { 4028 var queryObj = { 4029 'type': 'blogposts', 4030 'amount': amount, 4031 'mode': 'last', 4032 'offset': offset, 4033 'filters': [ 4034 { 'tags': tags } 4035 ] 4036 }; 4037 4038 if (isEmpty(cursorId) === false && cursorId != 0) { 4039 queryObj.mode = 'before'; 4040 queryObj.before = cursorId; 4041 4042 delete queryObj.offset; 4043 } 4044 4045 var querySiteName; 4046 if (Mfe.ApiRequest.dummyDataEnabled === true && Mfe.ApiRequest.dummyData.postGroupIds.length > 0) { 4047 queryObj.filters[0].postGroups = Mfe.ApiRequest.dummyData.postGroupIds; 4048 querySiteName = Mfe.ApiRequest.dummyData.siteName; 4049 } else { 4050 querySiteName = siteName; 4051 } 4052 4053 return Mfe.Api.Sites.query( 4054 querySiteName, 4055 queryObj, 4056 function(result, response) { 4057 4058 if (result !== true) { 4059 cb(result, response); 4060 return; 4061 } 4062 4063 4064 var queryResult = response; 4065 var posts = queryResult.getResults(); 4066 Mfe.ApiCache.addItems('blogpost', posts); 4067 4068 cb(result, response); 4069 } 4070 ); 4071 }, 4072 'search': function(siteName, query, tags, authors, storylines, amount, page, cursorId, cb) { 4073 var queryFilter = { 4074 'query': query, 4075 'tags': tags, 4076 'authors': authors, 4077 'storylines': storylines 4078 }; 4079 4080 if (typeof page == 'undefined') { 4081 page = 1; 4082 } 4083 4084 var queryObj = { 4085 'type': 'blogposts', 4086 'amount': amount, 4087 'mode': 'page', 4088 'page': page, 4089 'filters': [ 4090 queryFilter 4091 ] 4092 }; 4093 4094 return Mfe.Api.Sites.query( 4095 siteName, 4096 queryObj, 4097 function(result, response) { 4098 cb(result, response); 4099 } 4100 ); 4101 }, 4102 'searchTest': function(siteName, cb) { 4103 var queryObj = { 4104 'type': 'blogposts', 4105 'amount': 3, 4106 'mode': 'page', 4107 'page': 1, 4108 'includeUrls': true 4109 }; 4110 4111 return Mfe.Api.Sites.query( 4112 siteName, 4113 queryObj, 4114 function(result, response) { 4115 cb(result, response); 4116 } 4117 ); 4118 } 4119 }, 4120 'Forms': { 4121 'get': function(siteName, formId, cb) { 4122 4123 var cachedForm = Mfe.ApiCache.getItem('form', formId); 4124 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedForm) === false) { 4125 //return cachedForm; 4126 } 4127 4128 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/forms/' + Mfe.Utils.Js.encodeUriParam(formId), 'GET', null, null, null, true); 4129 var apiResponse = apiRequest.execute( 4130 function(data) { 4131 var form = new Mfe.Classes.ContentForm(data); 4132 //if (queryObj.type == 'blogposts') { 4133 //Create.API.Cache.addPosts(queryResult.getResults()); 4134 //} 4135 cb(true, form); 4136 }, 4137 function(){ 4138 cb(false); 4139 } 4140 ); 4141 4142 if (apiResponse === null) { 4143 return null; 4144 } else if (apiResponse === false) { 4145 return false;
4146 } 4147 4148 var form = new Mfe.Classes.ContentForm(apiResponse); 4149 return form; 4150 }, 4151 'submit': function(siteName, formId, formData, cb) { 4152 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/forms/' + Mfe.Utils.Js.encodeUriParam(formId) + '/submit', 'POST', null, formData, null, false); 4153 apiRequest.execute( 4154 function(data) { 4155 cb(true); 4156 }, 4157 function(errors) { 4158 cb(false, errors); 4159 } 4160 ); 4161 } 4162 }, 4163 'ContentSet': { 4164 'get': function(siteName, contentSetId, cb) { 4165 4166 var cachedForm = Mfe.ApiCache.getItem('contentSet', contentSetId); 4167 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedForm) === false) { 4168 //return cachedForm; 4169 } 4170 4171 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/contentsets/' + Mfe.Utils.Js.encodeUriParam(contentSetId), 'GET', null, null, null, true); 4172 var apiResponse = apiRequest.execute( 4173 function(data) { 4174 var contentSet = new Mfe.Classes.ContentSet(data); 4175 var results = contentSet.getResults(); 4176 for (var i = 0; i < results.length; i++) { 4177 var result = results[i]; 4178 if(result.class == 'content\posts\blog') { 4179 Mfe.ApiCache.addItems('blogpost', [result]); 4180 } 4181 } 4182 4183 cb(true, contentSet); 4184 }, 4185 function(){ 4186 cb(false); 4187 } 4188 ); 4189 4190 if (apiResponse === null) { 4191 return null; 4192 } else if (apiResponse === false) { 4193 return false; 4194 } 4195 4196 var contentSet = new Mfe.Classes.ContentSet(apiResponse); 4197 return contentSet; 4198 } 4199 }, 4200 'Storyline': { 4201 'get': function(siteName, storylineId, cb) { 4202 4203 var cachedStoryline = Mfe.ApiCache.getItem('storyline', storylineId); 4204 if (Mfe.ApiRequest.fromApiBundle === false && Mfe.ApiRequest.cacheEnabled === true && isEmpty(cachedStoryline) === false) { 4205 return cachedStoryline; 4206 } 4207 4208 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/storylines/' + Mfe.Utils.Js.encodeUriParam(storylineId), 'GET', null, null, null, true); 4209 var apiResponse = apiRequest.execute( 4210 function(data) { 4211 var storyline = new Mfe.Classes.SiteStoryline(data); 4212 var results = storyline.getResults(); 4213 for (var i = 0; i < results.length; i++) { 4214 var result = results[i]; 4215 if(result.class == 'content\posts\blog') { 4216 Mfe.ApiCache.addItems('blogpost', [result]); 4217 } 4218 } 4219 4220 cb(true, storyline); 4221 }, 4222 function(){ 4223 cb(false); 4224 } 4225 ); 4226 4227 if (apiResponse === null) { 4228 return null; 4229 } else if (apiResponse === false) { 4230 return false; 4231 } 4232 4233 var storyline = new Mfe.Classes.SiteStoryline(apiResponse); 4234 return storyline; 4235 } 4236 }, 4237 'CmsPages': { 4238 'get': function(siteName, pagePath, cb) { 4239 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/cmspages', 'GET', { 'path': pagePath }, null, null, true); 4240 var apiResponse = apiRequest.execute( 4241 function(data) { 4242 var blogPost = Mfe.Classes.ContentPost.instantiate(data); 4243 //if (queryObj.type == 'blogposts') { 4244 //Create.API.Cache.addPosts(queryResult.getResults()); 4245 //} 4246 cb(true, blogPost); 4247 }, 4248 function(){ 4249 cb(false); 4250 } 4251 ); 4252 4253 if (apiResponse === null) { 4254 return null; 4255 } else if (apiResponse === false) { 4256 return false; 4257 } 4258 4259 var blogPost = Mfe.Classes.ContentPost.instantiate(apiResponse); 4260 return blogPost; 4261 } 4262 }, 4263 'MediaDistribution': { 4264 'authenticate': function(username, pwd, cb) { 4265 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/auth', 'POST', null, null, null, true); 4266 var apiResponse = apiRequest.execute( 4267 function(data) { 4268 //cb(true, contentSet); 4269 }, 4270 function(){ 4271 //cb(false); 4272 } 4273 ); 4274 4275 if (apiResponse === null) { 4276 return null; 4277 } else if (apiResponse === false) { 4278 return false; 4279 } 4280 4281 var contentSet = new Mfe.Classes.ContentSet(apiResponse); 4282 return contentSet; 4283 }, 4284 'getPlaylists': function(siteName, cb) { 4285 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/playlists', 'GET', null, null, null, true); 4286 var apiResponse = apiRequest.execute( 4287 function(data) { 4288 4289 var playlists = []; 4290 4291 for (var i = 0; i < data.length; i++) {
4292 var playlistObj = data[i]; 4293 playlists.push(new Mfe.Classes.ContentMmdPlaylist(playlistObj)); 4294 } 4295 4296 4297 /*var contentSet = new Mfe.Classes.ContentSet(data); 4298 var results = contentSet.getResults(); 4299 for (var i = 0; i < results.length; i++) { 4300 var result = results[i]; 4301 if(result.class == 'content\posts\blog') { 4302 Mfe.ApiCache.addItems('blogpost', [result]); 4303 } 4304 }*/ 4305 4306 cb(true, playlists); 4307 }, 4308 function(){ 4309 cb(false); 4310 } 4311 ); 4312 4313 if (apiResponse === null) { 4314 return null; 4315 } else if (apiResponse === false) { 4316 return false; 4317 } 4318 4319 var contentSet = new Mfe.Classes.ContentSet(apiResponse); 4320 return contentSet; 4321 }, 4322 'getMedia': function(siteName, mediaId, cb) { 4323 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/media/' + Mfe.Utils.Js.encodeUriParam(mediaId), 'GET', null, null, null, false); 4324 var apiResponse = apiRequest.execute( 4325 function(data) { 4326 4327 cb(true, new Mfe.Classes.ContentMmdMedia(data)); 4328 }, 4329 function(){ 4330 cb(false); 4331 } 4332 ); 4333 4334 if (apiResponse === null) { 4335 return null; 4336 } else if (apiResponse === false) { 4337 return false; 4338 } 4339 4340 var media = new Mfe.Classes.ContentMmdMedia(apiResponse); 4341 return media; 4342 }, 4343 'getRentalStatus': function(siteName, rentalId, cb) { 4344 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/rentalstatus/' + Mfe.Utils.Js.encodeUriParam(rentalId), 'GET', null, null, null, false); 4345 var apiResponse = apiRequest.execute( 4346 function(data) { 4347 cb(true, data); 4348 }, 4349 function(){ 4350 cb(false); 4351 } 4352 ); 4353 4354 if (apiResponse === null) { 4355 return null; 4356 } else if (apiResponse === false) { 4357 return false; 4358 } 4359 4360 var media = new Mfe.Classes.ContentMmdMedia(apiResponse); 4361 return media; 4362 }, 4363 'activatePayForward': function(siteName, rentalId, cb) { 4364 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/rental/' + Mfe.Utils.Js.encodeUriParam(rentalId) + '/activate', 'POST', null, null, null, false); 4365 var apiResponse = apiRequest.execute( 4366 function(data) { 4367 cb(true, data); 4368 }, 4369 function(){ 4370 cb(false); 4371 } 4372 ); 4373 4374 if (apiResponse === null) { 4375 return null; 4376 } else if (apiResponse === false) { 4377 return false; 4378 } 4379 4380 var media = new Mfe.Classes.ContentMmdMedia(apiResponse); 4381 return media; 4382 }, 4383 'requestMediaAccess': function(siteName, mediaId, rentalCode, fpHash, cb) { 4384 var getParams = { 4385 'fp': fpHash 4386 }; 4387 4388 if (typeof rentalCode !== 'undefined' && rentalCode !== null) { 4389 getParams.t = rentalCode; 4390 } 4391 4392 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/media/' + Mfe.Utils.Js.encodeUriParam(mediaId) + '/access', 'GET', getParams, null, null, false); 4393 var apiResponse = apiRequest.execute( 4394 function(data) { 4395 cb(true); 4396 }, 4397 function(){ 4398 cb(false); 4399 } 4400 ); 4401 4402 if (apiResponse === null) { 4403 return null; 4404 } else if (apiResponse === false) { 4405 return false; 4406 } 4407 4408 var contentSet = new Mfe.Classes.ContentSet(apiResponse); 4409 return contentSet; 4410 }, 4411 'rent': function(siteName, pageLanguage, email, rentalProductId, redirectUrl, type, payForwardName, payForwardRecipientEmail, payForwardRecipientName, payForwardNote, cb) { 4412 var rentObj = { 4413 'language': pageLanguage, 4414 'email': email, 4415 'rentalProductId': rentalProductId, 4416 'redirectUrl': redirectUrl, 4417 'type': type, 4418 'name': payForwardName, 4419 'pfEmail': payForwardRecipientEmail, 4420 'pfName': payForwardRecipientName, 4421 'pfNote': payForwardNote 4422 }; 4423 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/mediadistribution/rent', 'POST', null, rentObj, null, false); 4424 var apiResponse = apiRequest.execute( 4425 function(data) { 4426 cb(true, data); 4427 }, 4428 function(){ 4429 cb(false); 4430 } 4431 ); 4432 4433 if (apiResponse === null) { 4434 return null; 4435 } else if (apiResponse === false) { 4436 return false;
4437 } 4438 4439 var contentSet = new Mfe.Classes.ContentSet(apiResponse); 4440 return contentSet; 4441 } 4442 }, 4443 'DatasetViews': { 4444 'get': function(siteName, datasetViewId, cb) { 4445 4446 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/datasets/views/' + Mfe.Utils.Js.encodeUriParam(datasetViewId), 'GET', null, null, null, true); 4447 var apiResponse = apiRequest.execute( 4448 function(data) { 4449 var datasetView = new Mfe.Classes.DatasetView(data); 4450 4451 cb(true, datasetView); 4452 }, 4453 function(){ 4454 cb(false); 4455 } 4456 ); 4457 4458 if (apiResponse === null) { 4459 return null; 4460 } else if (apiResponse === false) { 4461 return false; 4462 } 4463 4464 var datasetView = new Mfe.Classes.DatasetView(apiResponse); 4465 return datasetView; 4466 } 4467 }, 4468 'DatasetRecord': { 4469 'lookup': function(siteName, datasetTableId, lookupId, cb) { 4470 4471 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/datasets/lookup/' + Mfe.Utils.Js.encodeUriParam(datasetTableId) + '/' +Mfe.Utils.Js.encodeUriParam(lookupId) , 'GET', null, null, null, true); 4472 var apiResponse = apiRequest.execute( 4473 function(data) { 4474 var datasetRecordLookup = new Mfe.Classes.DatasetRecordLookup(data); 4475 cb(true, datasetRecordLookup); 4476 }, 4477 function(){ 4478 cb(false); 4479 } 4480 ); 4481 4482 if (apiResponse === null) { 4483 return null; 4484 } else if (apiResponse === false) { 4485 return false; 4486 } 4487 4488 var datasetRecordLookup = new Mfe.Classes.DatasetRecordLookup(apiResponse); 4489 return datasetRecordLookup; 4490 } 4491 }, 4492 'DatasetTable': { 4493 'search': function(siteName, datasetTableId, query, cb) { 4494 4495 let postParams = { 4496 query: query 4497 }; 4498 4499 let apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/datasets/search/' + Mfe.Utils.Js.encodeUriParam(datasetTableId) , 'POST', null, null, postParams, true); 4500 let apiResponse = apiRequest.execute( 4501 function(data) { 4502 let datasetTableSearchResults = new Mfe.Classes.DatasetTableSearchResults(data); 4503 cb(true, datasetTableSearchResults); 4504 }, 4505 function(){ 4506 cb(false); 4507 } 4508 ); 4509 4510 if (apiResponse === null) { 4511 return null; 4512 } else if (apiResponse === false) { 4513 return false; 4514 } 4515 4516 let datasetTableSearchResults = new Mfe.Classes.DatasetTableSearchResults(apiResponse); 4517 return datasetTableSearchResults; 4518 } 4519 }, 4520 'Donations': { 4521 'create': function(siteName, frequency, amount, userInfo, comment, destinationId, payTransactionCosts, paymentMethod, paymentIssuer, url, cb) { 4522 4523 var donationObj = { 4524 'frequency': frequency, 4525 'amount': amount, 4526 'nameFirst': '', 4527 'nameLast': '', 4528 'email': '', 4529 'organization': '', 4530 'comment': '', 4531 'destinationId': null, 4532 'payTransactionCosts': payTransactionCosts, 4533 'paymentMethod': paymentMethod, 4534 'paymentIssuer': paymentIssuer, 4535 'url': url, 4536 'newsletter': '', 4537 }; 4538 4539 if (isEmpty(userInfo.newsletter) === true) { 4540 delete donationObj.newsletter; 4541 } else { 4542 donationObj.newsletter = userInfo.newsletter; 4543 } 4544 4545 if (isEmpty(userInfo.nameFirst) === true) { 4546 delete donationObj.nameFirst; 4547 } else { 4548 donationObj.nameFirst = userInfo.nameFirst; 4549 } 4550 4551 if (isEmpty(userInfo.nameLast) === true) { 4552 delete donationObj.nameLast; 4553 } else { 4554 donationObj.nameLast = userInfo.nameLast; 4555 } 4556 4557 4558 if (isEmpty(userInfo.email) === true) { 4559 delete donationObj.email; 4560 } else { 4561 donationObj.email = userInfo.email; 4562 } 4563 4564 if (isEmpty(userInfo.organization) === true) { 4565 delete donationObj.organization; 4566 } else { 4567 donationObj.organization = userInfo.organization; 4568 } 4569 4570 if (isEmpty(comment) === true) { 4571 delete donationObj.comment; 4572 } else { 4573 donationObj.comment = comment; 4574 } 4575 4576 if (isEmpty(destinationId) === true) { 4577 delete donationObj.destinationId; 4578 } else { 4579 donationObj.destinationId = destinationId; 4580 } 4581 4582 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/donations', 'POST', null, null, donationObj, true); 4583 apiRequest.execute( 4584 function(data) { 4585 cb(true, data); 4586 }, 4587 function(){ 4588 cb(false); 4589 } 4590 ); 4591 4592 return null; 4593 }, 4594 'getStatus': function(siteName, reference, cb) { 4595 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/donations/checkstatus/' + Mfe.Utils.Js.encodeUriParam(reference), 'GET', {}, null, null, true); 4596 var apiResponse = apiRequest.execute( 4597 function(data) { 4598 4599 var status = data.status; 4600 4601 cb(true, status); 4602 }, 4603 function(){ 4604 cb(false); 4605 } 4606 ); 4607 4608 if (apiResponse === null) { 4609 return null; 4610 } else if (apiResponse === false) { 4611 return false;
4612 } 4613 4614 var status = apiResponse.status; 4615 return status; 4616 } 4617 }, 4618 'Stats': { 4619 'sendPageView': function(siteName, path, queryParams, context, contextId, contextObject, cb) { 4620 var statObj = { 4621 'type': 'pageview', 4622 'path': path, 4623 'queryParams': queryParams, 4624 'context': { 4625 'type': context, 4626 'id': contextId 4627 } 4628 } 4629 4630 var apiRequest = new Mfe.ApiRequest('/sites/' + Mfe.Utils.Js.encodeUriParam(siteName) + '/stats', 'POST', null, null, statObj, true); 4631 apiRequest.execute( 4632 function(data) { 4633 if (cb) { 4634 cb(true, data); 4635 } 4636 }, 4637 function(){ 4638 if (cb) { 4639 cb(false); 4640 } 4641 } 4642 ); 4643 } 4644 } 4645}; 4646Mfe.ApiCache = { 4647 'store': {}, 4648 'itemStore': {}, 4649 'addRequest': function(hash, response) { 4650 Mfe.ApiCache.store[hash] = response; 4651 }, 4652 'addItems': function(type, items) { 4653 if (isEmpty(Mfe.ApiCache.itemStore[type]) === true) { 4654 Mfe.ApiCache.itemStore[type] = {}; 4655 } 4656 4657 for (var i = 0; i < items.length; i++) { 4658 var item = items[i]; 4659 4660 if (typeof item !== 'undefined' && typeof item.getId !== 'undefined') { 4661 Mfe.ApiCache.itemStore[type][item.getId()] = { 'item': item, 'ts': Date.now() }; 4662 } else { 4663 4664 } 4665 } 4666 }, 4667 'getItem': function(type, id) { 4668 if (Mfe.ApiRequest.cacheEnabled !== true) { 4669 return null; 4670 } 4671 4672 if (isEmpty(Mfe.ApiCache.itemStore[type]) === true) { 4673 return null; 4674 } 4675 4676 if (isEmpty(Mfe.ApiCache.itemStore[type][id]) === true) { 4677 return null; 4678 } 4679 4680 return Mfe.ApiCache.itemStore[type][id].item; 4681 }, 4682 'getRequestByHash': function(hash) { 4683 if (Mfe.ApiRequest.cacheEnabled !== true) { 4684 return null; 4685 } 4686 4687 if (isEmpty(Mfe.ApiCache.store[hash]) === false) { 4688 return Mfe.ApiCache.store[hash]; 4689 } 4690 4691 return null; 4692 } 4693}; 4694Mfe.ApiRequest = function(url, method, urlParams, postParams, postBody, cachable) { 4695 var self = this; 4696 4697 this.relativeUrl = url; 4698 this.usePageLoader = false;
4699 this.timeout = 10; 4700 4701 if (isNotEmpty(method)) { 4702 this.method = method; 4703 } else { 4704 this.method = 'GET'; 4705 } 4706 4707 if (isNotEmpty(urlParams)) { 4708 this.urlParams = urlParams; 4709 } else { 4710 this.urlParams = null; 4711 } 4712 4713 if (isNotEmpty(postParams)) { 4714 this.postParams = postParams; 4715 } else { 4716 this.postParams = null; 4717 } 4718 4719 if (isNotEmpty(postBody)) { 4720 this.postParams = null; 4721 this.postBody = JSON.stringify(postBody); 4722 } else { 4723 this.postBody = null; 4724 } 4725 4726 this.cachable = cachable; 4727}; 4728 4729Mfe.ApiRequest.domain = ''; 4730Mfe.ApiRequest.baseUrl = '/api'; 4731Mfe.ApiRequest.fromApiBundle = false; 4732Mfe.ApiRequest.cacheEnabled = true; 4733Mfe.ApiRequest.mfeInstance = null; 4734Mfe.ApiRequest.dummyData = { 4735 'siteName': '', 4736 'postGroupIds': [], 4737 'streamIds': [], 4738 'calendarIds': [] 4739}; 4740Mfe.ApiRequest.dummyDataEnabled = false; 4741Mfe.ApiRequest.activeRequests = {}; 4742 4743Mfe.ApiRequest.createRequestHash = function(url, method, urlParams, postParams, postBody) { 4744 var requestObj = { 4745 'url': url, 4746 'method': method, 4747 'urlParams': urlParams, 4748 'postParams': postParams, 4749 'postBody': postBody 4750 }; 4751 4752 var requestJson = JSON.stringify(requestObj); 4753 4754 var requestHash = Mfe.Utils.MD5(requestJson); 4755 4756 return requestHash; 4757}; 4758 4759Mfe.ApiRequest.prototype.getRequestHash = function() { 4760 return Mfe.ApiRequest.createRequestHash(this.relativeUrl, this.method, this.urlParams, this.postParams, this.postBody); 4761}; 4762 4763Mfe.ApiRequest.prototype.setUsePageLoader = function(value) { 4764 this.usePageLoader = value; 4765 4766}; 4767 4768Mfe.ApiRequest.prototype.setTimeout = function(value) { 4769 this.timeout = value; 4770}; 4771 4772Mfe.ApiRequest.prototype.toObject = function() { 4773 return { 4774 'relativeUrl': this.relativeUrl, 4775 'method': this.method, 4776 'urlParams': this.urlParams, 4777 'postParams': this.postParams, 4778 'postBody': this.postBody 4779 }; 4780}; 4781 4782Mfe.ApiRequest.prototype.execute = function(callbackSuccess, callbackError, callbackProgress) { 4783 var self = this; 4784 4785 var requestHash = Mfe.ApiRequest.createRequestHash(this.relativeUrl, this.method, this.urlParams, this.postParams, this.postBody); 4786 4787 var requestOptions = { 4788 'relativeUrl': this.relativeUrl, 4789 'method': this.method, 4790 'urlParams': this.urlParams, 4791 'postParams': this.postParams, 4792 'postBody': this.postBody, 4793 }; 4794 4795 if (typeof MfeEnv !== 'undefined' && typeof MfeEnv.ApiRequest !== 'undefined') { 4796 mfe.addTiming('Executing API request'); 4797 4798 var response = MfeEnv.ApiRequest.getApiResponse(requestOptions); 4799 4800 mfe.addTiming('Finished executing API request: ' + JSON.stringify(requestOptions)); 4801 return response; 4802 4803 } 4804 4805 if (Mfe.ApiRequest.fromApiBundle === true) { 4806 4807 // Check if this data is in the bundle 4808 var apiData = Mfe.ApiRequest.mfeInstance.getApiResponse(requestHash); 4809 if (apiData !== null) { 4810 return apiData; 4811 } 4812 4813 Mfe.ApiRequest.mfeInstance.requestApiResponse(requestHash, requestOptions); 4814 4815 return null; 4816 } 4817 4818 if (isEmpty(this.cachable) === false && this.cachable === true) { 4819 var response = Mfe.ApiCache.getRequestByHash(requestHash); 4820 if (isEmpty(response) === false) { 4821 //callbackSuccess(response); 4822 return response; 4823 } 4824 } 4825 4826 var url = Mfe.ApiRequest.baseUrl + this.relativeUrl; 4827 //var url = 'https://www.kinder-world.org/api' + this.relativeUrl; 4828 4829 var headers = {}; 4830 4831 var requestId = Mfe.Utils.Text.generateString('abcdef0123456789', 24); 4832 4833 if (isEmpty(this.urlParams) === false) { 4834 if (typeof this.urlParams == 'string') { 4835 url += '?' + Mfe.Utils.Js.encodeUriParam(this.urlParams); 4836 } else if (typeof this.urlParams == 'object') { 4837 4838 var urlParamKeys = Object.keys(this.urlParams); 4839 if (urlParamKeys.length > 0) { 4840 var urlParamsArr = []; 4841 for (var i = 0; i < urlParamKeys.length;i++) { 4842 var urlParamKey = urlParamKeys[i]; 4843 urlParamsArr.push(urlParamKey + '=' + Mfe.Utils.Js.encodeUriParam(this.urlParams[urlParamKey])); 4844 } 4845 url += '?' + urlParamsArr.join('&'); 4846 } 4847 } 4848 } 4849 4850 var contentType = null; 4851 var hasFile = false; 4852 var postData = null; 4853 4854 4855 var formData; 4856 if (this.postParams instanceof FormData) { 4857 formData = this.postParams; 4858 hasFile = true; 4859 } else if (isEmpty(this.postParams) === false) { 4860 4861 formData = new FormData(); 4862 var postParamKeys = Object.keys(this.postParams); 4863 for (var i = 0; i < postParamKeys.length; i++) { 4864 var postParamKey = postParamKeys[i]; 4865 4866 formData.append(postParamKey, this.postParams[postParamKey]); 4867 4868 if (this.postParams[postParamKey] instanceof File) { 4869 hasFile = true; 4870 } 4871 } 4872 4873 postData = formData; 4874 } 4875 4876 if (hasFile === true) { 4877 contentType = false;
4878 postData = formData; 4879 } else { 4880 contentType = 'application/json'; 4881 4882 if (isEmpty(this.postParams) === false) { 4883 postData = JSON.stringify(this.postParams); 4884 } 4885 } 4886 4887 var ajaxOptions = { 4888 'id': requestId, 4889 'method': this.method, 4890 'data': postData, 4891 'contentType': contentType, 4892 'dataType' : 'json', 4893 'url' : url, 4894 'processData': false, 4895 'timeout': this.timeout * 1000, 4896 'headers': headers, 4897 'success' : function(data, statusText, xhr){ 4898 var httpCode = xhr.status; 4899 4900 if (httpCode >= 200 && httpCode < 300) { 4901 if (typeof callbackSuccess !== 'undefined') { 4902 4903 if (isEmpty(self.cachable) === false && self.cachable === true) { 4904 Mfe.ApiCache.addRequest(requestHash, data.response); 4905 } 4906 4907 if (isEmpty(data) === true || isEmpty(data.response) === true) { 4908 callbackSuccess(null); 4909 } else { 4910 callbackSuccess(data.response); 4911 } 4912 4913 return; 4914 } 4915 return; 4916 } 4917 4918 var errorData = null; 4919 if (isEmpty(data) === false && isEmpty(data.response) === false) { 4920 if (isEmpty(data.response.errors) === false) { 4921 errorData = data.response.errors; 4922 } 4923 } 4924 4925 if (errorData === null) { 4926 errorData = data; 4927 } 4928 4929 callbackError(errorData); 4930 }, 4931 'error': function(xhr, arg1, arg2){ 4932 if (arg1 == 'abort') { 4933 return; 4934 } 4935 4936 var error; 4937 if (isEmpty(xhr.responseJSON) === false) { 4938 if (isEmpty(xhr.responseJSON.response) === false && isEmpty(xhr.responseJSON.response.errors) === false) { 4939 callbackError(xhr.responseJSON.response.errors); 4940 return; 4941 } 4942 4943 if (isEmpty(xhr.responseJSON.response) === false) { 4944 callbackError(xhr.responseJSON.response); 4945 return; 4946 } 4947 4948 callbackError(xhr.responseJSON); 4949 return; 4950 } else if (isEmpty(xhr.responseText) === false && xhr.responseText.length > 0) { 4951 // Create error for unexpected response 4952 /*error = new Create.Error( 4953 Create.Errors.Section.API, 4954 Create.Errors.Code.API_CLIENT_INVALID_JSON, 4955 'Invalid response', 4956 null, 4957 true 4958 );*/
4959 callbackError(error); 4960 return; 4961 } 4962 4963 /*error = new Create.Error( 4964 Create.Errors.Section.API, 4965 Create.Errors.Code.API_CLIENT_INVALID_JSON, 4966 'Invalid response', 4967 null, 4968 true 4969 );*/ 4970 4971 if (xhr.readyState == 0) { 4972 /*error = new Create.Error( 4973 Create.Errors.Section.API, 4974 Create.Errors.Code.API_CLIENT_NETWORK_ERROR, 4975 'Could not connect to Mobypicture. Do you have a working internet connection?', 4976 null, 4977 true 4978 );*/ 4979 } else { 4980 /*if (xhr.readyState == 0) { 4981 error = new Create.Error( 4982 Create.Errors.Section.API, 4983 Create.Errors.Code.API_CLIENT_NETWORK_ERROR, 4984 'Could not connect to Mobypicture. Do you have a working internet connection?', 4985 null, 4986 true 4987 ); 4988 }*/ 4989 } 4990 4991 callbackError(error); 4992 } 4993 }; 4994 4995 var self = this; 4996 4997 ajaxOptions.xhr = function () { 4998 var customXhr = $.ajaxSettings.xhr(); 4999 5000 if (isEmpty(callbackProgress) === false) { 5001 if (customXhr.upload) { 5002 customXhr.upload.addEventListener( 5003 'progress', 5004 function (e) { 5005 var bytesDone = e.position || e.loaded; 5006 var bytesTotal = e.totalSize || e.total; 5007 5008 var percentage = Math.round((100 / bytesTotal) * bytesDone); 5009 if (percentage > 100) { 5010 percentage = 100; 5011 } 5012 5013 callbackProgress(percentage, bytesTotal, bytesDone); 5014 }, 5015 false 5016 ); 5017 5018 customXhr.onreadystatechange = function (event) { 5019 5020 if (customXhr.readyState > 1) { 5021 callbackProgress(100, 0, 0); 5022 } 5023 }; 5024 5025 } 5026 } 5027 5028 return customXhr; 5029 } 5030 5031 /*if (Mfe.JS.isFormData(this.postParams) === true) { 5032 ajaxOptions.cache = false; 5033 ajaxOptions.contentType = false;
5034 ajaxOptions.processData = false; 5035 }*/ 5036 5037 if (isEmpty(this.postBody) === false) { 5038 ajaxOptions.data = this.postBody; 5039 ajaxOptions.contentType = 'application/json; charset=utf-8'; 5040 } 5041 5042 if (ajaxOptions.data === null) { 5043 delete ajaxOptions.data; 5044 } 5045 5046 var xhr = $.ajax(ajaxOptions); 5047 5048 return null; 5049}; 5050 5051Mfe.Fonts = { 5052 'translateFontStyle': function(fontStyle) { 5053 var mapping = { 5054 '100': 'Thin', 5055 '200': 'Extra light', 5056 '300': 'Light', 5057 '400': 'Regular', 5058 '500': 'Medium', 5059 '600': 'Semi bold', 5060 '700': 'Bold', 5061 '800': 'Extra Bold', 5062 '900': 'Black' 5063 }; 5064 5065 var fontWeight = fontStyle.substring(0, 3); 5066 var isItalic = (fontStyle.substring(3, 4) == 'i' ? true : false); 5067 5068 return mapping[fontWeight] + (isItalic === true ? ' italic' : ''); 5069 }, 5070 'generateColorCss': function(color) { 5071 if (typeof color == 'object') { 5072 return 'rgba(' + color.r + ', ' + color.g + ', ' + color.b + ', ' + color.a + ')'; 5073 } 5074 5075 return color; 5076 }, 5077 'generateFontConfigCss': function(fontConfig, mfe) { 5078 var cssItems = []; 5079 5080 if (isEmpty(mfe) === false) { 5081 mfe.wfLoader.registerFontFamilyByConfig(fontConfig); 5082 } 5083 5084 if (isEmpty(fontConfig) === true) { 5085 return ''; 5086 } 5087 5088 if (isEmpty(fontConfig.familyId) === false) { 5089 cssItems.push('font-family: ' + "'" + fontConfig.familyId + "'"); 5090 } 5091 5092 if (isEmpty(fontConfig.color) === false) { 5093 cssItems.push('color: ' + Mfe.Fonts.generateColorCss(fontConfig.color)); 5094 } 5095 5096 if (isEmpty(fontConfig.size) === false) { 5097 cssItems.push('font-size: ' + fontConfig.size); 5098 } 5099 5100 if (isEmpty(fontConfig.lineHeight) === false) { 5101 cssItems.push('line-height: ' + fontConfig.lineHeight); 5102 } 5103 5104 if (isEmpty(fontConfig.transform) === false) { 5105 cssItems.push('text-transform: ' + fontConfig.transform); 5106 } 5107 5108 return cssItems.join('; '); 5109 }, 5110 'generateFontConfigCssVars': function(elementType, fontConfig, mfe) { 5111 var cssVarItems = []; 5112 5113 if (isEmpty(mfe) === false) { 5114 mfe.wfLoader.registerFontFamilyByConfig(fontConfig); 5115 } 5116 5117 var prepend = '--' + elementType + '-'; 5118 if (isEmpty(fontConfig) === true) { 5119 return ''; 5120 } 5121 5122 if (isEmpty(fontConfig.familyId) === false) { 5123 cssVarItems.push(prepend + 'font-family: ' + fontConfig.familyId); 5124 } 5125 5126 if (isEmpty(fontConfig.color) === false) { 5127 cssVarItems.push(prepend + 'font-color: ' + Mfe.Fonts.generateColorCss(fontConfig.color)); 5128 } 5129 5130 if (isEmpty(fontConfig.size) === false) { 5131 cssVarItems.push(prepend + 'font-size: ' + fontConfig.size); 5132 } 5133 5134 if (isEmpty(fontConfig.lineHeight) === false) { 5135 cssVarItems.push(prepend + 'line-height: ' + fontConfig.lineHeight); 5136 } 5137 5138 if (isEmpty(fontConfig.transform) === false) { 5139 cssVarItems.push(prepend + 'text-transform: ' + fontConfig.transform); 5140 } 5141 5142 if (isEmpty(fontConfig.style) === false) { 5143 cssVarItems.push(prepend + 'font-weight: ' + fontConfig.style.substring(0, 3)); 5144 5145 if (fontConfig.style.substring(3, 4) == 'i') { 5146 cssVarItems.push(prepend + 'font-style: italic'); 5147 } 5148 } 5149 5150 return cssVarItems.join('; '); 5151 } 5152}; 5153Mfe.Plugin = function(mfe, options) { 5154 this.mfe = mfe; 5155 this.options = options; 5156}; 5157Mfe.Plugin.instantiate = function(mfe, name, options) { 5158 var plugin = new Mfe.Plugins[name](mfe, options); 5159 return plugin; 5160}; 5161Mfe.Plugin.exists = function(name) { 5162 if (isEmpty(Mfe.Plugins[name]) === true) { 5163 return false; 5164 } 5165 5166 return true; 5167}; 5168Mfe.Widget = function(mfe, widgetId, options) { 5169 this.mfe = mfe; 5170 this.widgetId = widgetId; 5171 this.options = options; 5172 5173 this.hasContent = false; 5174 5175 5176 this.widgetSettingsIndexed = {}; 5177 5178 // Index settings by key 5179 if (typeof Mfe.Widgets[this.name].getSettings !== 'undefined') { 5180 var widgetSettings = Mfe.Widgets[this.name].getSettings(); 5181 if (Array.isArray(widgetSettings) === true && widgetSettings.slice) { 5182 for (var i = 0; i < widgetSettings.length; i++) { 5183 var widgetSetting = widgetSettings[i]; 5184 this.widgetSettingsIndexed[widgetSetting.name] = widgetSetting; 5185 } 5186 } else { 5187 var widgetSettingsArray = []; 5188 for (var i = 0; i < widgetSettings.sections.length; i++) { 5189 var section = widgetSettings.sections[i]; 5190 for (var j = 0; j < section.settings.length; j++) { 5191 var widgetSetting = section.settings[j]; 5192 this.widgetSettingsIndexed[widgetSetting.name] = widgetSetting; 5193 } 5194 } 5195 } 5196 } 5197}; 5198 5199Mfe.Widget.instantiate = function(mfe, widgetId, options) { 5200 var widget = new Mfe.Widgets[options.name](mfe, widgetId, options); 5201 return widget; 5202}; 5203 5204Mfe.Widget.exists = function(name) { 5205 if (isEmpty(Mfe.Widgets[name]) === true) { 5206 return false;
5207 } 5208 5209 return true; 5210}; 5211 5212Mfe.Widget.getWidgetSettings = function (widgetName) { 5213 var baseSettings = { 5214 'sections': [ 5215 { 5216 'name': 'general', 'title': 'General', 'settings': [] 5217 }, 5218 { 5219 'name': 'extra', 'title': 'Extra', 'settings': [ 5220 { "type": "text", "name": "widget-name", "default": '', "description": "Widget name" }, 5221 { "type": "text", "name": "widget-html-id", "default": '', "description": "Widget HTML ID" }, 5222 { "type": "text", "name": "widget-title", "default": '', "description": "Widget title" }, 5223 { "type": "text", "name": "widget-subtitle", "default": '', "description": "Widget subtitle" }, 5224 { "type": "text", "name": "widget-description", "default": '', "description": "Widget description" }, 5225 { "type": "text", "name": "widget-icon", "default": '', "description": "Widget icon" }, 5226 { "type": "text", "name": "widget-height", "default": '', "description": "Widget height" }, 5227 { "type": "text", "name": "widget-width", "default": '', "description": "Widget width" }, 5228 { "type": "text", "name": "widget-max-width", "default": '', "description": "Widget max width" }, 5229 { "type": "text", "name": "widget-padding", "default": '', "description": "Widget padding" }, 5230 { "type": "text", "name": "widget-margin-top", "default": '', "description": "Widget margin top" }, 5231 { "type": "text", "name": "widget-margin-bottom", "default": '', "description": "Widget margin bottom" }, 5232 { "type": "text", "name": "widget-margin-left", "default": '', "description": "Widget margin left" }, 5233 { "type": "text", "name": "widget-margin-right", "default": '', "description": "Widget margin right" }, 5234 { "type": "backgroundCssVars", "name": "widget-background", "default": '', "description": "Widget background" } 5235 ] 5236 }, 5237 { 5238 'name': 'animation', 'title': 'Animation', 'icon': 'fas fa-fast-forward', 'settings': [ 5239 { "type": "boolean", "name": "animation-enabled", "default": false, "description": "Enable scroll animation" }, 5240 { "type": "options", "name": "animation-style", "default": "fade-in", "description": "Choose an scroll animation", "options": [ 5241 { "value": "fade-in", "label": "Fade - in" }, 5242 { "value": "fade-up", "label": "Fade - up" }, 5243 { "value": "fade-down", "label": "Fade - down" }, 5244 { "value": "fade-right", "label": "Fade - right" }, 5245 { "value": "fade-left", "label": "Fade - left" }, 5246 { "value": "fade-up-left", "label": "Fade - up left" }, 5247 { "value": "fade-up-right", "label": "Fade - up right" }, 5248 { "value": "fade-down-left", "label": "Fade - down left" }, 5249 { "value": "fade-down-right", "label": "Fade - down right" }, 5250 { "value": "flip-left", "label": "Flip - left" }, 5251 { "value": "flip-right", "label": "Flip - right" }, 5252 { "value": "flip-up", "label": "Flip - up" }, 5253 { "value": "flip-down", "label": "Flip - down" }, 5254 { "value": "zoom-in", "label": "Zoom - in" }, 5255 { "value": "zoom-in-up", "label": "Zoom - in up" }, 5256 { "value": "zoom-in-down", "label": "Zoom - in down" }, 5257 { "value": "zoom-in-left", "label": "Zoom - in left" }, 5258 { "value": "zoom-in-right", "label": "Zoom - in right" }, 5259 { "value": "zoom-out", "label": "Zoom - out" }, 5260 { "value": "zoom-out-up", "label": "Zoom - out up" }, 5261 { "value": "zoom-out-down", "label": "Zoom - out down" }, 5262 { "value": "zoom-out-left", "label": "Zoom - out left" }, 5263 { "value": "zoom-out-right", "label": "Zoom - out right" } 5264 ] 5265 } 5266 ] 5267 } 5268 ] 5269 }; 5270 5271 var widgetSettings = Mfe.Widgets[widgetName].getSettings(); 5272 5273 if (Array.isArray(widgetSettings) === true && widgetSettings.splice) { 5274 // The settings are just an array 5275 for (var i = 0; i < widgetSettings.length; i++) { 5276 baseSettings.sections[0].settings.push(widgetSettings[i]); 5277 } 5278 } else { 5279 // Index widget settings 5280 var indexedWidgetSettings = {}; 5281 for (var i = 0; i < widgetSettings.sections.length; i++) { 5282 var widgetSettingSection = widgetSettings.sections[i]; 5283 indexedWidgetSettings[widgetSettingSection.name] = widgetSettingSection; 5284 } 5285 5286 // Index widget settings 5287 var indexedBaseSettings = {}; 5288 for (var i = 0; i < baseSettings.sections.length; i++) { 5289 var baseSettingSection = baseSettings.sections[i]; 5290 indexedBaseSettings[baseSettingSection.name] = i; 5291 } 5292 5293 for (var i = 0; i < widgetSettings.sections.length; i++) { 5294 var widgetSettingSection = widgetSettings.sections[i]; 5295 if (typeof indexedBaseSettings[widgetSettingSection.name] == 'undefined') { 5296 baseSettings.sections.push(widgetSettingSection); 5297 indexedBaseSettings[widgetSettingSection.name] = baseSettings.sections.length - 1; 5298 } else { 5299 var settings = baseSettings.sections[indexedBaseSettings[widgetSettingSection.name]].settings; 5300 baseSettings.sections[indexedBaseSettings[widgetSettingSection.name]].settings = settings.concat(widgetSettingSection.settings); 5301 } 5302 } 5303 5304 // Look for general section, if there is none, add it to the top 5305 /*var hasGeneralSection = false;
5306 var generalSectionIndex = 0; 5307 for (var i = 0; i < widgetSettings.sections.length; i++) { 5308 var widgetSection = widgetSettings.sections[i]; 5309 if (widgetSection.name == 'general') { 5310 hasGeneralSection = true; 5311 generalSectionIndex = i; 5312 break; 5313 } 5314 } 5315 5316 if (hasGeneralSection === false) { 5317 widgetSettings.sections.splice(0, 0, { 'name': 'general', 'title': 'General', 'settings': [] }); 5318 } 5319 5320 for (var i = 0; i < baseSettings.length; i++) { 5321 var baseSetting = baseSettings[i]; 5322 widgetSettings.sections[generalSectionIndex].settings.splice(0 + i, 0, baseSetting); 5323 }*/ 5324 } 5325 5326 return baseSettings; 5327}; 5328 5329Mfe.Widget.prototype.getSettingConfig = function (settingKey, defaultOnEmptyString) { 5330 var stringTypes = ['text', 'html']; 5331 5332 var defaultValue; 5333 if (typeof this.widgetSettingsIndexed[settingKey].default !== 'undefined') { 5334 defaultValue = this.widgetSettingsIndexed[settingKey].default; 5335 } else { 5336 if (stringTypes.indexOf(this.widgetSettingsIndexed[settingKey].type) > -1) { 5337 defaultValue = ''; 5338 } else { 5339 defaultValue = null; 5340 } 5341 } 5342 5343 var config = this.getOption(settingKey, defaultValue); 5344 if (typeof defaultOnEmptyString !== 'undefined' && defaultOnEmptyString === true && config.length == 0) { 5345 return defaultValue; 5346 } 5347 5348 return config; 5349}; 5350 5351Mfe.Widget.prototype.getOption = function (key, defaultValue, optionsObj) { 5352 if (isEmpty(this.options) === true || isEmpty(this.options[key]) === true) { 5353 return defaultValue; 5354 } 5355 5356 return this.options[key]; 5357}; 5358 5359Mfe.Widget.prototype.getOptionBoolean = function (key, defaultValue) { 5360 var value = this.getOption(key, defaultValue); 5361 if (value === false || value == 'false') { 5362 return false; 5363 } else { 5364 return true; 5365 } 5366}; 5367 5368Mfe.Widget.prototype.getOptionInt = function (key, defaultValue) { 5369 var value = this.getOption(key, defaultValue); 5370 if (value.length === 0) { 5371 return defaultValue; 5372 } 5373 5374 return parseInt(value); 5375}; 5376 5377Mfe.Widget.prototype.setElementHtml = function(html) { 5378 if (this.$el) { 5379 this.$el.html(html); 5380 //alert('has contente is now trye!'); 5381 return true; 5382 } 5383 5384 return false; 5385}; 5386 5387Mfe.Widget.prototype.getHtml = function(isPreload) {
5388 var cssClasses = []; 5389 var style = this.getOption('style', null); 5390 if (style !== null) { 5391 var styles = style.split(' '); 5392 for (var i = 0; i < styles.length; i++) { 5393 cssClasses.push('style-' + styles[i]); 5394 } 5395 } 5396 5397 var widgetCssStyles = ''; 5398 if (this.onRequestWidgetStyles) { 5399 widgetCssStyles = this.onRequestWidgetStyles(); 5400 } 5401 5402 var optionWidgetStyle = this.getOption('widget-style', ''); 5403 5404 var optionWidgetName = this.getOption('widget-name', ''); 5405 var optionWidgetTitle = this.getOption('widget-title', ''); 5406 var optionWidgetSubTitle = this.getOption('widget-subtitle', ''); 5407 var optionWidgetDescription = this.getOption('widget-description', ''); 5408 var optionWidgetBackground = this.getOption('widget-background', null); 5409 var optionWidgetIcon = this.getOption('widget-icon', ''); 5410 var optionWidgetHeight = this.getOption('widget-height', ''); 5411 var optionWidgetWidth = this.getOption('widget-width', ''); 5412 var optionWidgetMaxWidth = this.getOption('widget-max-width', ''); 5413 var optionWidgetPadding = this.getOption('widget-padding', ''); 5414 var optionWidgetMarginTop = this.getOption('widget-margin-top', ''); 5415 var optionWidgetMarginBottom = this.getOption('widget-margin-bottom', ''); 5416 var optionWidgetMarginLeft = this.getOption('widget-margin-left', ''); 5417 var optionWidgetMarginRight = this.getOption('widget-margin-right', ''); 5418 5419 var extraCss = []; 5420 if (optionWidgetBackground !== null) { 5421 if (optionWidgetBackground.image) { 5422 extraCss.push('--background-image: url(' + optionWidgetBackground.image + ')'); 5423 } 5424 if (optionWidgetBackground.color) { 5425 extraCss.push('--widget-background-color: ' + optionWidgetBackground.color); 5426 } 5427 } 5428 5429 if (optionWidgetHeight.length > 0) { 5430 extraCss.push('height: ' + optionWidgetHeight); 5431 } 5432 5433 if (optionWidgetWidth.length > 0) { 5434 extraCss.push('width: ' + optionWidgetWidth); 5435 } 5436 5437 5438 if (optionWidgetMaxWidth.length > 0) { 5439 extraCss.push('max-width: ' + optionWidgetMaxWidth); 5440 } 5441 5442 5443 if (optionWidgetPadding.length > 0) { 5444 extraCss.push('--widget-padding: ' + optionWidgetPadding); 5445 } 5446 5447 if (optionWidgetMarginTop.length > 0) { 5448 extraCss.push('--widget-margin-top: ' + optionWidgetMarginTop); 5449 } 5450 5451 if (optionWidgetMarginBottom.length > 0) { 5452 extraCss.push('--widget-margin-bottom: ' + optionWidgetMarginBottom); 5453 } 5454 5455 if (optionWidgetMarginLeft.length > 0) { 5456 extraCss.push('--widget-margin-left: ' + optionWidgetMarginLeft); 5457 } 5458 5459 if (optionWidgetMarginRight.length > 0) { 5460 extraCss.push('--widget-margin-right: ' + optionWidgetMarginRight); 5461 } 5462 5463 if (extraCss.length > 0) { 5464 widgetCssStyles = widgetCssStyles + '; ' + extraCss.join('; '); 5465 } 5466 5467 if (optionWidgetName.length > 0) { 5468 cssClasses.push('name-' + optionWidgetName); 5469 } 5470 5471 if (optionWidgetStyle.length > 0) { 5472 cssClasses.push('style-' + optionWidgetStyle); 5473 } 5474 5475 var animationAttr = ''; 5476 var optionAnimationEnabled = this.getOptionBoolean('animation-enabled', false); 5477 if (optionAnimationEnabled === true) { 5478 var optionAnimationStyle = this.getOption('animation-style', 'fade-in'); 5479 cssClasses.push('aos-item'); 5480 animationAttr = 'data-aos="'+Mfe.Utils.Text.escapeHtml(optionAnimationStyle)+'" '; 5481 } 5482 5483 var optionWidgetHtmlId = this.getOption('widget-html-id', ''); 5484 5485 var htmlArr = [ 5486 '<div '+(optionWidgetHtmlId.length > 0 ? 'id="' + optionWidgetHtmlId + '" ' : '')+'class="widget '+this.name + (cssClasses.length > 0 ? ' ' + cssClasses.join(' ') : '')+'" data-widget-id="'+this.widgetId+'" ' + animationAttr + 'style="'+widgetCssStyles+'">', 5487 (optionWidgetTitle.length > 0 ? '<h2 class="widget-header">'+optionWidgetTitle+'</h2>' : ''), 5488 (optionWidgetSubTitle.length > 0 ? '<h3 class="widget-subtitle">'+Mfe.Utils.Text.escapeHtml(optionWidgetSubTitle)+'</h3>' : ''), 5489 (optionWidgetIcon.length > 0 ? '<div class="widget-icon"><img src="'+Mfe.Utils.Text.escapeHtml(optionWidgetIcon)+'" /></div>' : ''), 5490 (optionWidgetDescription.length > 0 ? '<p class="widget-description">'+Mfe.Utils.Text.escapeHtml(optionWidgetDescription)+'</p>' : ''), 5491 (isEmpty(this.onRender) === false ? this.onRender(isPreload) : ''), 5492 '</div>' 5493 ]; 5494 5495 return htmlArr.join(''); 5496}; 5497 5498Mfe.Widget.prototype.generateBundle = function() { 5499 var bundle = { 5500 'name': this.name, 5501 'widgetId': this.widgetId, 5502 'options': this.options 5503 }; 5504 5505 return bundle; 5506}; 5507 5508Mfe.Widget.prototype.attach = function(mfe, $el) { 5509 this.mfe = mfe; 5510 this.$el = $el; 5511 5512 if (isEmpty(this.onAttach) === false) { 5513 (function(widget) { 5514 setTimeout(function(){ 5515 widget.onAttach($el); 5516 }, 10); 5517 })(this); 5518 } 5519}; 5520Mfe.Widget.prototype.unload = function() { 5521 this.detach(); 5522}; 5523 5524Mfe.Widget.prototype.detach = function(mfe, $el) { 5525 (function(widget) { 5526 setTimeout(function(){ 5527 if (widget.onDetach) { 5528 widget.onDetach(); 5529 } 5530 }, 10); 5531 })(this); 5532}; 5533 5534Mfe.Widget.prototype.render = function() { 5535 this.$el.html(this.onRender()); 5536}; 5537 5538Mfe.Widget.Content = { 5539 'fetchContent': function(mfe, options, cursorId, mode, cb) { 5540 5541 var siteName = getObjValue('site-name', null, options); 5542 if (isEmpty(siteName) === true || siteName.length == 0) { 5543 siteName = mfe.siteBundle.getName(); 5544 } 5545 5546 var dataSource = getObjValue('data-source', 'context', options); 5547 5548 var amount = parseInt(getObjValue('data-amount', 3, options)); 5549 5550 // Return empty template with loading state 5551 var skipContext = getObjValue('skip-context', 'false', options); 5552 if (skipContext === false || skipContext == 'false') { 5553 skipContext = false;
5554 } else { 5555 skipContext = true; 5556 } 5557 5558 if (skipContext === true) { 5559 amount = amount + 1; 5560 } 5561 5562 if (dataSource == 'blogs') { 5563 5564 var blogIds = getObjValue('data-blog-ids', null, options); 5565 if (blogIds !== null) { 5566 if (Array.isArray(blogIds) === false) { 5567 blogIds = blogIds.split(','); 5568 } 5569 } 5570 5571 var offset = parseInt(getObjValue('data-offset', 0, options)) || 0; 5572 5573 var items = Mfe.Api.Blogs.getPosts(siteName, blogIds, amount, offset, cursorId, function(result, response) { 5574 cb(response); 5575 return null; 5576 }); 5577 5578 if (items !== null) { 5579 return items; 5580 } 5581 } else if (dataSource == 'external-data') { 5582 5583 var externalDataId = getObjValue('data-external-data-id', null, options); 5584 5585 var items = Mfe.Api.ExternalDatasource.get(siteName, externalDataId, function(result, response) { 5586 cb(response); 5587 return null; 5588 }); 5589 5590 if (items !== null) { 5591 return items; 5592 } 5593 } else if (dataSource == 'blogs-tags') { 5594 5595 var tags = getObjValue('data-blog-tags', null, options); 5596 if (tags !== null) { 5597 if (Array.isArray(tags) === false) { 5598 tags = tags.split(','); 5599 } 5600 } 5601 5602 var offset = parseInt(getObjValue('data-offset', 0, options)) || 0; 5603 var items = Mfe.Api.BlogPosts.getByTags(siteName, tags, amount, offset, cursorId, function(result, response) { 5604 cb(response); 5605 return null; 5606 }); 5607 5608 if (items !== null) { 5609 return items; 5610 } 5611 5612 } else if (dataSource == 'calendars') { 5613 5614 var calendarIds = getObjValue('data-calendar-ids', null, options); 5615 if (calendarIds !== null) { 5616 if (Array.isArray(calendarIds) === false) { 5617 calendarIds = calendarIds.split(','); 5618 } 5619 } 5620 5621 var items = Mfe.Api.Calendars.getEvents(siteName, calendarIds, amount, cursorId, function(result, response) { 5622 cb(response); 5623 return null; 5624 }); 5625 5626 if (items !== null) { 5627 return items; 5628 } 5629 5630 } else if (dataSource == 'userGroupTeamMembers') { 5631 5632 var userGroupTeamId = getObjValue('data-usergroupteam-id', null, options); 5633 /*if (userGroupTeamIds !== null) { 5634 if (Array.isArray(userGroupTeamIds) === false) { 5635 userGroupTeamIds = userGroupTeamIds.split(','); 5636 } 5637 }*/ 5638 5639 var items = Mfe.Api.UserGroups.getTeam(siteName, userGroupTeamId, function(result, response) { 5640 cb(response); 5641 return null; 5642 }); 5643 5644 if (items !== null) { 5645 return items; 5646 } 5647 5648 } else if (dataSource == 'streams') { 5649 var streamIds = getObjValue('data-stream-ids', null, options); 5650 if (streamIds === null) { 5651 return null; 5652 } 5653 if (Array.isArray(streamIds) === false) { 5654 streamIds = streamIds.split(','); 5655 } 5656 5657 var items = Mfe.Api.Streams.getMedia(siteName, streamIds, 'mobypicture', null, amount, cursorId, function(result, response) { 5658 cb(response); 5659 return null; 5660 }); 5661 5662 if (items !== null) { 5663 return items; 5664 } 5665 5666 5667 } else if (dataSource == 'datasetView') { 5668 5669 let datasetViewId = getObjValue('data-dataset-view-id', null, options); 5670 if (datasetViewId === null) { 5671 return null; 5672 } 5673 5674 var datasetView = Mfe.Api.DatasetViews.get(siteName, datasetViewId, function(result, response) { 5675 if (result === true) { 5676 cb(response); 5677 return; 5678 } 5679 cb(false); 5680 }); 5681 5682 if (datasetView !== null) { 5683 return datasetView; 5684 } 5685 /* 5686 5687 if (Array.isArray(streamIds) === false) { 5688 streamIds = streamIds.split(','); 5689 } 5690 5691 var items = Mfe.Api.Streams.getMedia(siteName, streamIds, 'mobypicture', null, amount, cursorId, function(result, response) { 5692 cb(response); 5693 return null; 5694 }); 5695 5696 if (items !== null) { 5697 return items; 5698 }*/ 5699 5700 } else if (dataSource == 'snippet') { 5701 5702 5703 var snippetId = getObjValue('data-snippet-id', null, options); 5704 if (snippetId === null) { 5705 return null; 5706 } 5707 5708 var snippet = Mfe.Api.CmsPages.get(siteName, snippetId, function(result, response) { 5709 cb(response); 5710 return null; 5711 }); 5712 5713 if (snippet !== null) { 5714 return snippet; 5715 } 5716 5717 } else if (dataSource == 'contentset') { 5718 5719 var contentSetId = getObjValue('data-contentset-id', null, options); 5720 if (contentSetId === null) { 5721 return null; 5722 } 5723 5724 var contentSet = Mfe.Api.ContentSet.get(siteName, contentSetId, function(result, response) { 5725 cb(response); 5726 return null; 5727 }); 5728 5729 if (contentSet !== null) { 5730 return contentSet; 5731 } 5732 5733 } else if (dataSource == 'storyline') { 5734 5735 var storylineId = getObjValue('data-storyline-id', null, options); 5736 if (storylineId === null) { 5737 return null; 5738 } 5739 5740 var contentSet = Mfe.Api.ContentSet.get(siteName, storylineId, function(result, response) { 5741 cb(response); 5742 return null; 5743 }); 5744 5745 if (contentSet !== null) { 5746 return contentSet; 5747 } 5748 5749 } else if (dataSource == 'menu') { 5750 5751 5752 var menuId = getObjValue('data-menu-id', null, options); 5753 if (menuId === null) { 5754 return null; 5755 } 5756 5757 var menu = mfe.siteBundle.getMenuById(menuId); 5758 var menuQueryResult = menu.getItemsAsQueryResult(); 5759 return menuQueryResult; 5760 5761 } else if (dataSource == 'context') { 5762 5763 if (mfe.context == 'blog-overview') { 5764 5765 var blogIds = [mfe.contextId]; 5766 var offset = getObjValue('data-offset', 0, options); 5767 var items = Mfe.Api.Blogs.getPosts(siteName, blogIds, amount, offset, cursorId, function(result, response) { 5768 cb(response); 5769 return null; 5770 }); 5771 5772 if (items !== null) { 5773 return items; 5774 } 5775 5776 } else if (mfe.context == 'search') { 5777 5778 return mfe.contextObject; 5779 } else if (mfe.context == 'dataset-table') { 5780 5781 var datasetLookupKey = getObjValue('dataset-lookup-key', '', options); 5782 5783 return mfe.contextObject.getProcessedValue(datasetLookupKey); 5784 5785 //return mfe.contextObject; 5786 /*var searchParams = mfe.contextParams; 5787 5788 var items = Mfe.Api.BlogPosts.search(siteName, searchParams.query, searchParams.tags, searchParams.authors, searchParams.storylines, amount, cursorId, function(result, response) { 5789 cb(response); 5790 return null; 5791 }); 5792 5793 if (items !== null) { 5794 return items; 5795 }*/ 5796 5797 } else if (mfe.context == 'blog-item') { 5798 5799 if (mode == 'multi') { 5800 5801 var blogIds = [mfe.contextObject.getPostGroupId()]; 5802 var offset = getObjValue('data-offset', 0, options); 5803 var items = Mfe.Api.Blogs.getPosts(siteName, blogIds, amount, offset, cursorId, function(result, response) { 5804 cb(response); 5805 return null; 5806 }); 5807 5808 if (items !== null) { 5809 return items; 5810 } 5811 5812 } else { 5813 return mfe.contextObject; 5814 } 5815 5816 5817 5818 /*var item = Mfe.Api.BlogPosts.get(siteName, mfe.contextId, function(result, response) { 5819 cb(response); 5820 return null; 5821 }); 5822 5823 if (item !== null) { 5824 return item; 5825 }*/ 5826 5827 } else if (mfe.context == 'stream-item') { 5828 5829 return mfe.contextObject; 5830 5831 } else if (mfe.context == 'calendar-item') { 5832 5833 return mfe.contextObject; 5834 } else if (mfe.context == 'cms-page') { 5835 5836 return mfe.contextObject; 5837/* 5838 alert(mfe.contextId); 5839 var item = Mfe.Api.CalendarEvent.get(siteName, mfe.contextId, function(result, response) { 5840 cb(response); 5841 return null; 5842 }); 5843 5844 if (item !== null) { 5845 return item; 5846 }*/ 5847 } 5848 } 5849 } 5850} 5851 5852 5853Mfe.Layout = function(mfe, renderer, layoutId, options) { 5854 this.mfe = mfe; 5855 this.renderer = renderer; 5856 this.layoutId = layoutId; 5857 this.options = options; 5858}; 5859 5860Mfe.Layout.instantiate = function(mfe, layoutId, options) { 5861 var layout = new Mfe.Layouts[options.name](mfe, layoutId, options); 5862 return layout; 5863}; 5864 5865Mfe.Layout.exists = function(name) { 5866 if (isEmpty(Mfe.Layouts[name]) === true) { 5867 return false;
5868 } 5869 5870 return true; 5871}; 5872 5873Mfe.Layout.getLayoutSettings = function (layoutName) { 5874 return []; 5875}; 5876 5877Mfe.Layout.prototype.getOption = function (key, defaultValue, optionsObj) { 5878 if (isEmpty(this.options) === true || isEmpty(this.options[key]) === true) { 5879 return defaultValue; 5880 } 5881 5882 return this.options[key]; 5883}; 5884 5885Mfe.Layout.prototype.getOptionBoolean = function (key, defaultValue) { 5886 var value = this.getOption(key, defaultValue); 5887 if (value === false || value == 'false') { 5888 return false; 5889 } else { 5890 return true; 5891 } 5892}; 5893 5894Mfe.Layout.prototype.getHtml = function(isPreload) { 5895 5896 var htmlArr = [ 5897 '<div class="layout '+this.name + (cssClasses.length > 0 ? ' ' + cssClasses.join(' ') : '')+'" data-layout-id="'+this.layoutId+'" style="'+layoutCssStyles+'">', 5898 (optionWidgetTitle.length > 0 ? '<h2 class="layout-header">'+optionWidgetTitle+'</h2>' : ''), 5899 (optionWidgetSubTitle.length > 0 ? '<h3 class="layout-subtitle">'+Mfe.Utils.Text.escapeHtml(optionWidgetSubTitle)+'</h3>' : ''), 5900 (optionWidgetIcon.length > 0 ? '<div class="layout-icon"><img src="'+Mfe.Utils.Text.escapeHtml(optionWidgetIcon)+'" /></div>' : ''), 5901 (optionWidgetDescription.length > 0 ? '<p class="layout-description">'+Mfe.Utils.Text.escapeHtml(optionWidgetDescription)+'</p>' : ''), 5902 (isEmpty(this.onRender) === false ? this.onRender(isPreload) : ''), 5903 '</div>' 5904 ]; 5905 5906 return htmlArr.join(''); 5907}; 5908 5909Mfe.Layout.prototype.generateBundle = function() { 5910 var bundle = { 5911 'name': this.name, 5912 'layoutId': this.layoutId, 5913 'options': this.options 5914 }; 5915 5916 return bundle; 5917}; 5918 5919Mfe.Layout.prototype.attach = function(mfe, $el) { 5920 this.mfe = mfe; 5921 this.$el = $el; 5922 5923 if (isEmpty(this.onAttach) === false) { 5924 (function(layout) { 5925 setTimeout(function(){ 5926 layout.onAttach($el); 5927 }, 10); 5928 })(this); 5929 } 5930}; 5931Mfe.Layout.prototype.unload = function() { 5932 this.detach(); 5933}; 5934Mfe.Layout.prototype.getSettingsByType = function(type) { 5935 var settings = this.getSettings(); 5936 var filteredSettings = []; 5937 5938 for (var i = 0; i < settings.length; i++) { 5939 var setting = settings[i]; 5940 5941 if (setting.type == type) { 5942 filteredSettings.push(setting); 5943 } 5944 } 5945 5946 return filteredSettings; 5947}; 5948 5949 5950Mfe.Layout.prototype.render = function() { 5951 return this.onRender(); 5952}; 5953 5954Mfe.Layout.prototype.renderWidgets = function(widgets) { 5955 return this.renderer.renderThemeWidgets(widgets); 5956}; 5957 5958Mfe.Layout.prototype.detach = function(mfe, $el) { 5959 (function(layout) { 5960 setTimeout(function(){ 5961 if (layout.onDetach) { 5962 layout.onDetach(); 5963 } 5964 }, 10); 5965 })(this); 5966}; 5967Mfe.Locale = { 5968 'Currencies': { 5969 'EUR': { 5970 5971 } 5972 }, 5973 'parseCurrencyAmount': function(amount) { 5974 var hasComma = amount.indexOf(','); 5975 var hasPeriod = amount.indexOf('.'); 5976 5977 var decimalSeparator = ','; 5978 var thousandsSeparator = '.'; 5979 if (hasComma > -1 && hasPeriod > -1) { 5980 if (hasComma < hasPeriod) { 5981 // Period = decimal separator 5982 decimalSeparator = '.'; 5983 } else if (hasPeriod < hasComma) { 5984 // Comma = decimal 5985 decimalSeparator = ','; 5986 } 5987 } else if (hasComma > -1) { 5988 if (amount.substring(amount.length - 3, amount.length - 2) == ',') { 5989 decimalSeparator = ','; 5990 } else { 5991 amount = amount.replace(/\,/g, ''); 5992 hasComma = -1; 5993 return [amount, '00']; 5994 } 5995 5996 } else if (hasPeriod > -1) { 5997 if (amount.substring(amount.length - 3, amount.length - 2) == '.') { 5998 decimalSeparator = '.'; 5999 } else { 6000 amount = amount.replace(/\./g, ''); 6001 hasPeriod = -1; 6002 return [amount, '00']; 6003 } 6004 6005 } else { 6006 return [amount, '00']; 6007 } 6008 6009 6010 6011 var newAmount = null; 6012 var amountBefore = null; 6013 var amountAfter = null; 6014 6015 if (decimalSeparator == '.') { 6016 // Remove all commas 6017 newAmount = amount.replace(/\,/g, ''); 6018 6019 hasComma = newAmount.indexOf(','); 6020 hasPeriod = newAmount.indexOf('.'); 6021 amountBefore = newAmount.substring(0, hasPeriod); 6022 amountAfter = newAmount.substring(hasPeriod + 1); 6023 } else if (decimalSeparator == ',') { 6024 // Remove all periods 6025 newAmount = amount.replace(/\./g, ''); 6026 6027 hasComma = newAmount.indexOf(','); 6028 hasPeriod = newAmount.indexOf('.'); 6029 6030 amountBefore = newAmount.substring(0, hasComma); 6031 amountAfter = newAmount.substring(hasComma + 1); 6032 } 6033 6034 return [amountBefore, amountAfter]; 6035 }, 6036 'formatCurrencyAmount': function(amount, decimalSeparator,thous
6036andsSeparator, skipThousands, skipDecimal) { 6037 if (amount.length == 0) { 6038 return amount; 6039 } 6040 6041 var currencyDecimals = 2; 6042 6043 var amount = amount.toString(); 6044 6045 var amountBeforeDecimal = ''; 6046 var amountAfterDecimal = ''; 6047 6048 var decimalPos = amount.toString().lastIndexOf(decimalSeparator); 6049 if (decimalPos >= 0) { 6050 amountAfterDecimal = amount.substring(decimalPos + 1, amount.length); 6051 if (amountAfterDecimal.length < currencyDecimals) { 6052 amountAfterDecimal = amountAfterDecimal.rpad('0', currencyDecimals); 6053 } 6054 amountBeforeDecimal = amount.substring(0, decimalPos); 6055 } else { 6056 amountBeforeDecimal = amount.toString(); 6057 amountAfterDecimal = amountAfterDecimal.rpad('0', currencyDecimals); 6058 } 6059 6060 // Strip away anything not numeric 6061 amountBeforeDecimal = amountBeforeDecimal.replace(/\D/g,''); 6062 6063 // Add thousands separator 6064 if (amountBeforeDecimal.length > 0) { 6065 if (parseInt(amountBeforeDecimal) > 999) { 6066 if (typeof skipThousands == 'undefined' || skipThousands === false) { 6067 amountBeforeDecimal = amountBeforeDecimal.addThousands(thousandsSeparator, decimalSeparator); 6068 } 6069 } 6070 } else { 6071 amountBeforeDecimal = '0'; 6072 } 6073 6074 var fixedAmount; 6075 if (typeof skipDecimal == 'undefined' || skipDecimal === false) { 6076 fixedAmount = amountBeforeDecimal + decimalSeparator + amountAfterDecimal; 6077 } else { 6078 fixedAmount = amountBeforeDecimal + amountAfterDecimal; 6079 } 6080 6081 return fixedAmount; 6082 } 6083}; 6084Mfe.Utils = { 6085 6086} 6087 6088Mfe.Utils.DateTime = { 6089 'toString': function(format, year, month, day, hour, minutes, seconds) { 6090 var paddedMonth = month.toString().lpad('0', 2); 6091 var paddedDay = day.toString().lpad('0', 2); 6092 6093 if (isEmpty(format) === false && format == 'date') { 6094 return year + '-' + paddedMonth + '-' + paddedDay; 6095 } else { 6096 var paddedHour = hour.toString().lpad('0', 2); 6097 var paddedMinutes = minutes.toString().lpad('0', 2); 6098 var paddedSeconds = seconds.toString().lpad('0', 2); 6099 return year + '-' + paddedMonth + '-' + paddedDay + ' ' + paddedHour + ':' + paddedMinutes + ':' + paddedSeconds; 6100 } 6101 }, 6102 'toTimeZone': function(dateTime, srcTimeZone, dstTimeZone) { 6103 var format = 'YYYY/MM/DD HH:mm:ss'; 6104 6105 var srcDateTime = moment.tz(dateTime, srcTimeZone); 6106 var dstMoment = srcDateTime.clone().tz(dstTimeZone); 6107 6108 var dstDateTime = dstMoment.format('YYYY-MM-DD HH:mm:ss'); 6109 return dstDateTime; 6110 }, 6111 'toUtc': function(dateTime, srcTimeZone) { 6112 if (isEmpty(srcTimeZone) === true) { 6113 srcTimeZone = Mfe.Utils.UserAgent.getTimeZone(); 6114 } 6115 6116 var srcDateTime = moment.tz(dateTime, srcTimeZone); 6117 var dstMoment = srcDateTime.clone().tz('UTC'); 6118 6119 var dstDateTime = dstMoment.format('YYYY-MM-DD HH:mm:ss'); 6120 return dstDateTime; 6121 }, 6122 'toLocalDateTime': function(utcDateTime) { 6123 if (isEmpty(utcDateTime) === true) { 6124 return null; 6125 } 6126 6127 var utcDateTimeParts = utcDateTime.split(' '); 6128 var date = new Date(utcDateTimeParts[0] + 'T' + utcDateTimeParts[1] + 'Z'); 6129 return Mfe.Utils.DateTime.toString('datetime', date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); 6130 }, 6131 'getDate': function(currentDate) { 6132 if (isEmpty(currentDate)) { 6133 currentDate = new Date(); 6134 } 6135 6136 var year = currentDate.getFullYear(); 6137 var month = currentDate.getMonth() + 1; 6138 var day = currentDate.getDate(); 6139 6140 return year + '-' + month.toString().lpad('0', 2) + '-' + day.toString().lpad('0', 2); 6141 }, 6142 'getTime': function(currentDate) { 6143 if (isEmpty(currentDate)) { 6144 currentDate = new Date(); 6145 } 6146 6147 return currentDate.getHours().toString().lpad('0', 2) + ':' + currentDate.getMinutes().toString().lpad('0', 2) + ':' + currentDate.getSeconds().toString().lpad('0', 2); 6148 }, 6149 'getDaysInMonth': function(year, month) { 6150 return new Date(year, month, 0).getDate(); 6151 }, 6152 'getDayOfWeek': function(year, month, day, firstDay) { 6153 var dow = new Date(year, month - 1, day).getDay(); 6154 var dowMappings = { 6155 'sat': [1, 2, 3, 4, 5, 6, 0], 6156 'sun': [0, 1, 2, 3, 4, 5, 6], 6157 'mon': [6, 0, 1, 2, 3, 4, 5] 6158 }; 6159 return dowMappings[firstDay][dow]; 6160 }, 6161 'subtractDays': function(year, month, day, subtractDays) { 6162 var paddedMonth = month.toString().lpad('0', 2); 6163 var paddedDay = day.toString().lpad('0', 2); 6164 var d = new Date(year + '-' + paddedMonth + '-' + paddedDay); 6165 d.setDate(d.getDate() - subtractDays); 6166 return d; 6167 },
6168 'addDaysToDate': function(date, addDays) { 6169 var year = date.getFullYear(); 6170 var month = date.getMonth() + 1; 6171 var day = date.getDate(); 6172 6173 return Mfe.Utils.DateTime.addDays(year, month, day, addDays); 6174 }, 6175 'addDays': function(year, month, day, addDays) { 6176 var paddedMonth = month.toString().lpad('0', 2); 6177 var paddedDay = day.toString().lpad('0', 2); 6178 6179 var d = new Date(year + '-' + paddedMonth + '-' + paddedDay); 6180 d.setDate(d.getDate() + addDays); 6181 return d; 6182 }, 6183 'addHours': function(date, addHours) { 6184 date.setHours(date.getHours() + addHours); 6185 return date; 6186 }, 6187 'nextMonth': function(year, month) { 6188 var newMonth = month.toString(); 6189 var newYear = year.toString(); 6190 if (month == 12) { 6191 newMonth = 1; 6192 newYear++; 6193 } else { 6194 newMonth++; 6195 } 6196 6197 return { 'year': newYear, 'month': newMonth }; 6198 }, 6199 'previousMonth': function(year, month) { 6200 var newMonth = month.toString(); 6201 var newYear = year.toString(); 6202 if (month == 1) { 6203 newMonth = 12; 6204 newYear--; 6205 } else { 6206 newMonth--; 6207 } 6208 6209 return { 'year': newYear, 'month': newMonth }; 6210 }, 6211 'getDateByWeekNo': function(week, year) { 6212 var weekDate = new Date(Date.UTC(year, 0, 1 + (week - 1) * 7)); 6213 6214 var dow = weekDate.getDay(); 6215 var weekStart = weekDate; 6216 6217 if (dow <= 4) { 6218 weekStart.setDate(weekDate.getDate() - weekDate.getDay() + 1); 6219 } else { 6220 weekStart.setDate(weekDate.getDate() + 8 - weekDate.getDay()); 6221 } 6222 6223 return weekStart; 6224 }, 6225 'getWeekNoByDate': function(year, month, day) { 6226 var monthPadded = month.toString().lpad('0', 2); 6227 var dayPadded = day.toString().lpad('0', 2); 6228 6229 var momentDate = moment.utc(year + '-' + monthPadded + '-' + dayPadded + ' 00:00:00', "YYYY-MM-DD HH:mm:ss"); 6230 var yearWeekNo = momentDate.format('GGGG W'); 6231 6232 var yearWeekNoParts = yearWeekNo.split(' '); 6233 6234 return { 'year': yearWeekNoParts[0], 'week': yearWeekNoParts[1] }; 6235 }, 6236 'getDaySpanBetweenDates': function(dateStart, dateEnd) { 6237 var dates = [ 6238 dateStart.toString() 6239 ]; 6240 6241 if (dateStart == dateEnd) { 6242 return dates; 6243 } 6244 6245 //var noDays = 1; 6246 var dateStartParts = dateStart.split('-'); 6247 var dateStartAdded = Mfe.Utils.DateTime.addDays(dateStartParts[0], dateStartParts[1], dateStartParts[2], 1).getSimpleDate(); 6248 //noDays++; 6249 dates.push(dateStartAdded); 6250 6251 while (dateStartAdded != dateEnd && dates.length < 800) { 6252 6253 var dateStartAddedParts = dateStartAdded.split('-'); 6254 dateStartAdded = Mfe.Utils.DateTime.addDays(dateStartAddedParts[0], dateStartAddedParts[1], dateStartAddedParts[2], 1).getSimpleDate(); 6255 //noDays++; 6256 dates.push(dateStartAdded); 6257 } 6258 6259 if (dateStartAdded == dateEnd) { 6260 return dates; 6261 } 6262 6263 return false; 6264 } 6265 6266}; 6267 6268Mfe.Utils.Dom = { 6269 'getNodeName': function (node) { 6270 if (isEmpty(node) === true || isEmpty(node.nodeName) === true) { 6271 return ''; 6272 } 6273 6274 return node.nodeName.toUpperCase(); 6275 } 6276} 6277 6278Mfe.Utils.Js = { 6279 'encodeUriParam': function (value) { 6280 return encodeURIComponent(value); 6281 } 6282} 6283 6284Mfe.Utils.RegExp = { 6285 'escapeVal': function(val) { 6286 return val.replace(/[-[\]{}()*+?.~,\\^$|#\s]/g, '\\$&'); 6287 } 6288} 6289 6290 6291Mfe.Utils.UserAgent = { 6292 'isSafari': function() { 6293 var REGEXP_USERAGENT = /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i; 6294 return navigator && REGEXP_USERAGENT.test(navigator.userAgent); 6295 }, 6296 'getRequestPath': function() { 6297 return document.location.pathname; 6298 }, 6299 'getCookie': function(name) { 6300 match = document.cookie.match(new RegExp(name + '=([^;]+)')); 6301 if (match) return match[1]; 6302 }, 6303 'setCookie': function(name, value, days, domain) { 6304 var expires = ""; 6305 if (days) { 6306 var date = new Date(); 6307 date.setTime(date.getTime() + (days*24*60*60*1000)); 6308 expires = "; expires=" + date.toUTCString(); 6309 } 6310 6311 document.cookie = name + "=" + value + expires + "; domain="+domain+"; path=/"; 6312 }, 6313 'getUrlVars': function() { 6314 var query = location.search.substr(1); 6315 var result = {}; 6316 query.split("&").forEach(function(part) { 6317 var item = part.split("="); 6318 result[item[0]] = decodeURIComponent(item[1]); 6319 }); 6320 return result; 6321 } 6322}; 6323Mfe.Layouts['vertical'] = function(mfe, renderer, layoutId, options) { 6324 this.mfe = mfe; 6325 this.renderer = renderer; 6326 this.name = 'vertical'; 6327 this.baseTemplate = 'base-default'; 6328 6329 Mfe.Layout.apply(this, arguments); 6330}; 6331Mfe.Layouts['vertical'].inherits(Mfe.Layout); 6332Mfe.Layouts['vertical'].title = 'Columns'; 6333Mfe.Layouts['vertical'].prototype.getSettings = function() { 6334 return [
6335 { "type": "text", "name": "columns", "default": 2 }, 6336 { "type": "background", "name": "backgroundCss" }, 6337 { "type": "background", "name": "backgroundCssColumn1" }, 6338 { "type": "background", "name": "backgroundCssColumn2" }, 6339 { "type": "widgets", "name": "widgetsColumn1" }, 6340 { "type": "widgets", "name": "widgetsColumn2" } 6341 ]; 6342}; 6343Mfe.Layouts['vertical'].prototype.onRender = function() { 6344 6345 var layoutTemplate = this.mfe.getTemplate('layouts', 'vertical', 'default'); 6346 var templateVarsColumns = []; 6347 6348 var columnsCount = parseInt(this.getOption('columns', 2)); 6349 for (var i = 1; i <= columnsCount; i++) { 6350 var widgetsConfig = this.getOption('widgetsColumn' + i, []); 6351 templateVarsColumns.push({ 6352 'index': i, 6353 'widgetsHtml': this.renderWidgets(widgetsConfig) 6354 }); 6355 } 6356 6357 var templateVars = { 6358 'mfeIncludeEditContainers': this.renderer.mfeIncludeEditContainers, 6359 'columns': templateVarsColumns 6360 }; 6361 6362 var layoutHtml = layoutTemplate(templateVars); 6363 6364 return layoutHtml; 6365}; 6366 6367Mfe.Layouts['vertical'].prototype.renderWidget = function() { 6368 6369}; 6370 6371Mfe.Layouts['vertical'].prototype.generateTemplateVars = function() { 6372 6373}; 6374Mfe.Locales.en = { 6375 'countries': [ 6376 'Afghanistan', 6377 'Albania', 6378 'Algeria', 6379 'American Samoa', 6380 'Andorra', 6381 'Angola', 6382 'Antigua and Barbuda', 6383 'Argentina', 6384 'Armenia', 6385 'Australia', 6386 'Austria', 6387 'Azerbaijan', 6388 'Bahamas', 6389 'Bahrain', 6390 'Bangladesh', 6391 'Barbados', 6392 'Belarus', 6393 'Belgium', 6394 'Belize', 6395 'Benin', 6396 'Bermuda', 6397 'Bhutan', 6398 'Bolivia', 6399 'Bosnia and Herzegovina', 6400 'Botswana', 6401 'Brazil', 6402 'Brunei', 6403 'Bulgaria', 6404 'Burkina Faso', 6405 'Burundi', 6406 'Cambodia', 6407 'Cameroon', 6408 'Canada', 6409 'Cape Verde', 6410 'Cayman Islands', 6411 'Central African Republic', 6412 'Chad', 6413 'Chile', 6414 'China', 6415 'Colombia', 6416 'Comoros', 6417 'Congo, Democratic Republic of the', 6418 'Congo, Republic of the', 6419 'Costa Rica', 6420 'Côte d\'Ivoire', 6421 'Croatia', 6422 'Cuba', 6423 'Cyprus', 6424 'Czech Republic', 6425 'Denmark', 6426 'Djibouti', 6427 'Dominica', 6428 'Dominican Republic', 6429 'East Timor', 6430 'Ecuador', 6431 'Egypt', 6432 'El Salvador', 6433 'Equatorial Guinea', 6434 'Eritrea', 6435 'Estonia', 6436 'Ethiopia', 6437 'Faroe Islands', 6438 'Fiji', 6439 'Finland', 6440 'France', 6441 'French Polynesia', 6442 'Gabon', 6443 'Gambia', 6444 'Georgia', 6445 'Germany', 6446 'Ghana', 6447 'Greece', 6448 'Greenland', 6449 'Grenada', 6450 'Guam', 6451 'Guatemala', 6452 'Guinea', 6453 'Guinea-Bissau', 6454 'Guyana', 6455 'Haiti', 6456 'Honduras', 6457 'Hong Kong', 6458 'Hungary', 6459 'Iceland', 6460 'India', 6461 'Indonesia', 6462 'Iran', 6463 'Iraq', 6464 'Ireland', 6465 'Israel', 6466 'Italy', 6467 'Jamaica', 6468 'Japan', 6469 'Jordan', 6470 'Kazakhstan', 6471 'Kenya', 6472 'Kiribati', 6473 'North Korea', 6474 'South Korea', 6475 'Kosovo', 6476 'Kuwait', 6477 'Kyrgyzstan', 6478 'Laos', 6479 'Latvia', 6480 'Lebanon', 6481 'Lesotho', 6482 'Liberia', 6483 'Libya', 6484 'Liechtenstein', 6485 'Lithuania', 6486 'Luxembourg', 6487 'Macedonia', 6488 'Madagascar', 6489 'Malawi', 6490 'Malaysia', 6491 'Maldives', 6492 'Mali', 6493 'Malta', 6494 'Marshall Islands', 6495 'Mauritania', 6496 'Mauritius', 6497 'Mexico', 6498 'Micronesia', 6499 'Moldova', 6500 'Monaco', 6501 'Mongolia', 6502 'Montenegro', 6503 'Morocco', 6504 'Mozambique', 6505 'Myanmar', 6506 'Namibia', 6507 'Nauru', 6508 'Nepal', 6509 'Netherlands', 6510 'New Zealand', 6511 'Nicaragua', 6512 'Niger', 6513 'Nigeria', 6514 'Northern Mariana Islands', 6515 'Norway', 6516 'Oman', 6517 'Pakistan', 6518 'Palau', 6519 'Palestine, State of', 6520 'Panama', 6521 'Papua New Guinea', 6522 'Paraguay', 6523 'Peru', 6524 'Philippines', 6525 'Poland', 6526 'Portugal', 6527 'Puerto Rico', 6528 'Qatar', 6529 'Romania', 6530 'Russia', 6531 'Rwanda', 6532 'Saint Kitts and Nevis', 6533 'Saint Lucia', 6534 'Saint Vincent and the Grenadines', 6535 'Samoa', 6536 'San Marino', 6537 'Sao Tome and Principe', 6538 'Saudi Arabia', 6539 'Senegal', 6540 'Serbia and Montenegro', 6541 'Seychelles', 6542 'Sierra Leone', 6543 'Singapore', 6544 'Sint Maarten', 6545 'Slovakia', 6546 'Slovenia', 6547 'Solomon Islands', 6548 'Somalia', 6549 'South Africa', 6550 'Spain', 6551 'Sri Lanka', 6552 'Sudan', 6553 'Sudan, South', 6554 'Suriname', 6555 'Swaziland', 6556 'Sweden', 6557 'Switzerland', 6558 'Syria', 6559 'Taiwan', 6560 'Tajikistan', 6561 'Tanzania', 6562 'Thailand', 6563 'Togo', 6564 'Tonga', 6565 'Trinidad and Tobago', 6566 'Tunisia', 6567 'Turkey', 6568 'Turkmenistan', 6569 'Tuvalu', 6570 'Uganda', 6571 'Ukraine', 6572 'United Arab Emirates', 6573 'United Kingdom', 6574 'United States', 6575 'Uruguay', 6576 'Uzbekistan', 6577 'Vanuatu', 6578 'Vatican City', 6579 'Venezuela', 6580 'Vietnam', 6581 'Virgin Islands, British', 6582 'Virgin Islands, U.S.', 6583 'Yemen', 6584 'Zambia', 6585 'Zimbabwe' 6586 ] 6587}; 6588 6589Mfe.Locales.nl = { 6590 'countries': [ 6591 'Afghanistan', 6592 'Albania', 6593 'Algeria', 6594 'American Samoa', 6595 'Andorra', 6596 'Angola', 6597 'Antigua and Barbuda', 6598 'Argentina', 6599 'Armenia', 6600 'Australia', 6601 'Austria', 6602 'Azerbaijan', 6603 'Bahamas', 6604 'Bahrain', 6605 'Bangladesh', 6606 'Barbados', 6607 'Belarus', 6608 'Belgium', 6609 'Belize', 6610 'Benin', 6611 'Bermuda', 6612 'Bhutan', 6613 'Bolivia', 6614 'Bosnia and Herzegovina', 6615 'Botswana', 6616 'Brazil', 6617 'Brunei', 6618 'Bulgaria', 6619 'Burkina Faso', 6620 'Burundi', 6621 'Cambodia', 6622 'Cameroon', 6623 'Canada', 6624 'Cape Verde', 6625 'Cayman Islands', 6626 'Central African Republic', 6627 'Chad', 6628 'Chile', 6629 'China', 6630 'Colombia', 6631 'Comoros', 6632 'Congo, Democratic Republic of the', 6633 'Congo, Republic of the', 6634 'Costa Rica', 6635 'Côte d\'Ivoire', 6636 'Croatia', 6637 'Cuba', 6638 'Cyprus', 6639 'Czech Republic', 6640 'Denmark', 6641 'Djibouti', 6642 'Dominica', 6643 'Dominican Republic', 6644 'East Timor', 6645 'Ecuador', 6646 'Egypt', 6647 'El Salvador', 6648 'Equatorial Guinea', 6649 'Eritrea', 6650 'Estonia', 6651 'Ethiopia', 6652 'Faroe Islands', 6653 'Fiji', 6654 'Finland', 6655 'France', 6656 'French Polynesia', 6657 'Gabon', 6658 'Gambia', 6659 'Georgia', 6660 'Germany', 6661 'Ghana', 6662 'Greece', 6663 'Greenland', 6664 'Grenada', 6665 'Guam', 6666 'Guatemala', 6667 'Guinea', 6668 'Guinea-Bissau', 6669 'Guyana', 6670 'Haiti', 6671 'Honduras', 6672 'Hong Kong', 6673 'Hungary', 6674 'Iceland', 6675 'India', 6676 'Indonesia', 6677 'Iran', 6678 'Iraq', 6679 'Ireland', 6680 'Israel', 6681 'Italy', 6682 'Jamaica', 6683 'Japan', 6684 'Jordan', 6685 'Kazakhstan', 6686 'Kenya', 6687 'Kiribati', 6688 'North Korea', 6689 'South Korea', 6690 'Kosovo', 6691 'Kuwait', 6692 'Kyrgyzstan', 6693 'Laos', 6694 'Latvia', 6695 'Lebanon', 6696 'Lesotho', 6697 'Liberia', 6698 'Libya', 6699 'Liechtenstein', 6700 'Lithuania', 6701 'Luxembourg', 6702 'Macedonia', 6703 'Madagascar', 6704 'Malawi', 6705 'Malaysia', 6706 'Maldives', 6707 'Mali', 6708 'Malta', 6709 'Marshall Islands', 6710 'Mauritania', 6711 'Mauritius', 6712 'Mexico', 6713 'Micronesia', 6714 'Moldova', 6715 'Monaco', 6716 'Mongolia', 6717 'Montenegro', 6718 'Morocco', 6719 'Mozambique', 6720 'Myanmar', 6721 'Namibia', 6722 'Nauru', 6723 'Nepal', 6724 'Netherlands', 6725 'New Zealand', 6726 'Nicaragua', 6727 'Niger', 6728 'Nigeria', 6729 'Northern Mariana Islands', 6730 'Norway', 6731 'Oman', 6732 'Pakistan', 6733 'Palau', 6734 'Palestine, State of', 6735 'Panama', 6736 'Papua New Guinea', 6737 'Paraguay', 6738 'Peru', 6739 'Philippines', 6740 'Poland', 6741 'Portugal', 6742 'Puerto Rico', 6743 'Qatar', 6744 'Romania', 6745 'Russia', 6746 'Rwanda', 6747 'Saint Kitts and Nevis', 6748 'Saint Lucia', 6749 'Saint Vincent and the Grenadines', 6750 'Samoa', 6751 'San Marino', 6752 'Sao Tome and Principe', 6753 'Saudi Arabia', 6754 'Senegal', 6755 'Serbia and Montenegro', 6756 'Seychelles', 6757 'Sierra Leone', 6758 'Singapore', 6759 'Sint Maarten', 6760 'Slovakia', 6761 'Slovenia', 6762 'Solomon Islands', 6763 'Somalia', 6764 'South Africa', 6765 'Spain', 6766 'Sri Lanka', 6767 'Sudan', 6768 'Sudan, South', 6769 'Suriname', 6770 'Swaziland', 6771 'Sweden', 6772 'Switzerland', 6773 'Syria', 6774 'Taiwan', 6775 'Tajikistan', 6776 'Tanzania', 6777 'Thailand', 6778 'Togo', 6779 'Tonga', 6780 'Trinidad and Tobago', 6781 'Tunisia', 6782 'Turkey', 6783 'Turkmenistan', 6784 'Tuvalu', 6785 'Uganda', 6786 'Ukraine', 6787 'United Arab Emirates', 6788 'United Kingdom', 6789 'United States', 6790 'Uruguay', 6791 'Uzbekistan', 6792 'Vanuatu', 6793 'Vatican City', 6794 'Venezuela', 6795 'Vietnam', 6796 'Virgin Islands, British', 6797 'Virgin Islands, U.S.', 6798 'Yemen', 6799 'Zambia', 6800 'Zimbabwe' 6801 ] 6802}; 6803 6804Mfe.Classes.ContentEvent = function(eventObj) { 6805 this.class = eventObj.class; 6806 6807 this.eventObj = eventObj; 6808 6809 this.revision = null; 6810 if (isEmpty(eventObj.revision) === false) { 6811 this.revision = new Mfe.Classes.ContentEventRevision(eventObj.revision); 6812 } 6813}; 6814 6815Mfe.Classes.ContentEvent.prototype.getId = function() { 6816 return this.eventObj.id; 6817}; 6818 6819Mfe.Classes.ContentEvent.prototype.getStatus = function() { 6820 return this.eventObj.status; 6821}; 6822 6823Mfe.Classes.ContentEvent.prototype.getSiteId = function() { 6824 return this.eventObj.site.id; 6825}; 6826 6827Mfe.Classes.ContentEvent.prototype.getCalendarId = function() { 6828 return this.eventObj.calendar.id; 6829}; 6830 6831Mfe.Classes.ContentEvent.prototype.getStartDateUtc = function() { 6832 return this.eventObj.startDateUtc; 6833}; 6834 6835Mfe.Classes.ContentEvent.prototype.getEndDateUtc = function() { 6836 return this.eventObj.endDateUtc; 6837}; 6838 6839Mfe.Classes.ContentEvent.prototype.getTimeZone = function() { 6840 return this.eventObj.revision.timezone; 6841}; 6842 6843Mfe.Classes.ContentEvent.prototype.getStartDate = function() { 6844 return this.eventObj.startDate; 6845}; 6846 6847/*Mfe.Classes.ContentEvent.prototype.getStartDate = function() { 6848 return Create.Utils.DateTime.toTimeZone(this.getStartDateUtc(), 'UTC', this.getTimeZone()); 6849};*/ 6850 6851Mfe.Classes.ContentEvent.prototype.getEndDate = function() { 6852 return this.eventObj.endDate; 6853}; 6854 6855 6856Mfe.Classes.ContentEvent.prototype.getRevision = function() { 6857 return this.revision; 6858}; 6859 6860Mfe.Classes.ContentEvent.prototype.getTemplateVars = function(mfe) { 6861 var templateVars = { 6862 'id': this.getId(),
6863 'status': this.getStatus(), 6864 'siteId': this.getSiteId(), 6865 'calendar': null, 6866 'startDate': this.eventObj.startDate, 6867 'startDateUtc': this.getStartDateUtc(), 6868 'startDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getStartDateUtc()), 6869 'endDateUtc': this.getEndDateUtc(), 6870 'endDate': this.eventObj.endDate, 6871 'endDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getEndDateUtc()), 6872 'revision': null, 6873 'isSameDay': false, 6874 'isWholeDay': false 6875 }; 6876 6877 if (this.getStartDateUtc().substring(0, 10) == this.getEndDateUtc().substring(0, 10)) { 6878 templateVars.isSameDay = true; 6879 } 6880 6881 if ( 6882 ( this.getStartDate().substring(11) == '00:00:00' || this.getStartDate().substring(11) == '23:59:59') && 6883 ( this.getEndDate().substring(11) == '00:00:00' || this.getEndDate().substring(11) == '23:59:59') 6884 ) { 6885 templateVars.isWholeDay = true; 6886 } 6887 6888 templateVars.revision = this.revision.getTemplateVars(); 6889 6890 if (templateVars.revision.hasEventPage === true) { 6891 templateVars.linkPath = mfe.generateItemPath(this); 6892 } else { 6893 templateVars.linkPath = templateVars.revision.url; 6894 } 6895 6896 return templateVars; 6897}; 6898 6899Mfe.Classes.ContentEvent.newArray = function(eventObjs) { 6900 var authors = []; 6901 6902 for (var i = 0; i < eventObjs.length; i++) { 6903 var eventObj = eventObjs[i]; 6904 authors.push(new Mfe.Classes.ContentEvent(eventObj)); 6905 } 6906 6907 return authors; 6908}; 6909 6910Mfe.Classes.ContentEvent.index = function(objs) { 6911 var index = {}; 6912 6913 for (var i = 0; i < objs.length; i++) { 6914 var obj = objs[i]; 6915 index[obj.getId()] = obj; 6916 } 6917 6918 return index; 6919} 6920 6921Mfe.Classes.ContentEventRevision = function(revisionObj) { 6922 this.class = revisionObj.class; 6923 6924 this.revisionObj = revisionObj; 6925 this.cover = null; 6926 6927 6928 this.fragments = []; 6929 for (var i = 0; i < this.revisionObj.fragments.length; i++) { 6930 var fragmentObj = this.revisionObj.fragments[i]; 6931 this.fragments.push(new Mfe.Classes.ContentFragment(fragmentObj)); 6932 } 6933 6934 if (isEmpty(revisionObj.cover) === false && revisionObj.cover instanceof Array === false) { 6935 this.cover = new Mfe.Classes.Upload(revisionObj.cover); 6936 } 6937}; 6938 6939Mfe.Classes.ContentEventRevision.prototype.getId = function() { 6940 return this.revisionObj.id; 6941}; 6942 6943Mfe.Classes.ContentEventRevision.prototype.getTitle = function() { 6944 return this.revisionObj.title; 6945}; 6946 6947Mfe.Classes.ContentEventRevision.prototype.getDescription = function() { 6948 return this.revisionObj.description; 6949}; 6950 6951Mfe.Classes.ContentEventRevision.prototype.getFragments = function() { 6952 return this.fragments; 6953}; 6954 6955Mfe.Classes.ContentEventRevision.prototype.getUrl = function() { 6956 return this.revisionObj.url; 6957}; 6958 6959Mfe.Classes.ContentEventRevision.prototype.getUrlLabel = function() { 6960 return this.revisionObj.urlLabel; 6961}; 6962 6963Mfe.Classes.ContentEventRevision.prototype.isAllDay = function() { 6964 var startTime = this.revisionObj.startDateTime.substring(11,19); 6965 var endTime = this.revisionObj.endDateTime.substring(11,19); 6966 6967 if (startTime == '00:00:00' && endTime == '23:59:59') { 6968 return true; 6969 } 6970 6971 return false; 6972}; 6973 6974Mfe.Classes.ContentEventRevision.prototype.getStartDateUtc = function() { 6975 var momentDate = moment(this.revisionObj.startDate).utc(); 6976 return momentDate.format('YYYY-MM-DD HH:mm:ss'); 6977} 6978Mfe.Classes.ContentEventRevision.prototype.getStartDate = function() { 6979 return this.revisionObj.startDateTime.substring(0, 10); 6980} 6981Mfe.Classes.ContentEventRevision.prototype.getEndDate = function() { 6982 return this.revisionObj.endDateTime.substring(0, 10); 6983} 6984Mfe.Classes.ContentEventRevision.prototype.getEndDateUtc = function() { 6985 var momentDate = moment(this.revisionObj.endDate).utc(); 6986 return momentDate.format('YYYY-MM-DD HH:mm:ss'); 6987} 6988Mfe.Classes.ContentEventRevision.prototype.getLocationAddress = function() { 6989 return this.revisionObj.location.address; 6990} 6991Mfe.Classes.ContentEventRevision.prototype.getLocationCity = function() { 6992 return this.revisionObj.location.city; 6993} 6994Mfe.Classes.ContentEventRevision.prototype.getLocationCountry = function() { 6995 return this.revisionObj.location.country; 6996} 6997Mfe.Classes.ContentEventRevision.prototype.getLocationVenue = function() { 6998 return this.revisionObj.location.venue; 6999} 7000Mfe.Classes.ContentEventRevision.prototype.hasCover = function() { 7001 return this.cover !== null; 7002} 7003Mfe.Classes.ContentEventRevision.prototype.getCover = function() { 7004 return this.cover; 7005} 7006Mfe.Classes.ContentEventRevision.prototype.hasEventPage = function() { 7007 return this.revisionObj.hasEventPage; 7008} 7009Mfe.Classes.ContentEventRevision.prototype.getTemplateVars = function() { 7010 var templateVars = { 7011 'id': this.getId(), 7012 'title': this.getTitle(), 7013 'description': this.getDescription(), 7014 'hasEventPage': this.hasEventPage(), 7015 'cover': null, 7016 'url': this.getUrl(), 7017 'urlLabel': this.getUrlLabel(), 7018 'location': { 7019 'address': this.getLocationAddress(), 7020 'city': this.getLocationCity(), 7021 'country': this.getLocationCountry(), 7022 'venue': this.getLocationVenue() 7023 }, 7024 'fragments': [] 7025 }; 7026 7027 if (isEmpty(this.cover) === false) { 7028 templateVars.cover = this.cover.getTemplateVars(); 7029 } 7030 7031 return templateVars; 7032} 7033 7034Mfe.Classes.ContentEventRevision.newArray = function(revisionObjs) { 7035 var authors = []; 7036 7037 for (var i = 0; i < revisionObjs.length; i++) { 7038 var revisionObj = revisionObjs[i]; 7039 authors.push(new Mfe.Classes.ContentEventRevision(revisionObj)); 7040 } 7041 7042 return authors; 7043}; 7044 7045Mfe.Classes.ContentEventRevision.index = function(objs) { 7046 var index = {}; 7047 7048 for (var i = 0; i < objs.length; i++) { 7049 var obj = objs[i]; 7050 index[obj.getId()] = obj; 7051 } 7052 7053 return index; 7054} 7055 7056Mfe.Classes.ContentExternalData = function(dataObj) { 7057 this.class = 'ContentExternalData'; 7058 7059 this.dataObj = dataObj; 7060}; 7061Mfe.Classes.ContentExternalData.prototype.getTemplateVars = function(mfe) { 7062 return this.dataObj; 7063}; 7064Mfe.Classes.ContentForm = function(formObj) { 7065 this.class = 'Mfe.Classes.ContentForm'; 7066 this.formObj = formObj; 7067 7068 this.panels = []; 7069 for (var i = 0; i < this.formObj.panels.length; i++) { 7070 var panelObj = this.formObj.panels[i]; 7071 this.panels.push(new Mfe.Classes.ContentFormPanel(panelObj)); 7072 } 7073}; 7074Mfe.Classes.ContentForm.prototype.getData = function() { 7075 return this.formObj; 7076}; 7077Mfe.Classes.ContentForm.prototype.getId = function() { 7078 return this.formObj.id; 7079}; 7080Mfe.Classes.ContentForm.prototype.getTitle = function() { 7081 return this.formObj.title; 7082}; 7083Mfe.Classes.ContentForm.prototype.getPanels = function() { 7084 return this.panels; 7085}; 7086Mfe.Classes.ContentForm.prototype.getFields = function() { 7087 var fields = []; 7088 var panels = this.getPanels(); 7089 7090 for (var i = 0; i < panels.length; i++) { 7091 var panel = panels[i]; 7092 var panelFields = panel.getFields(); 7093 7094 for (var j = 0; j < panelFields.length; j++) { 7095 var field = panelFields[j]; 7096 fields.push(field); 7097 } 7098 } 7099 7100 return fields; 7101}; 7102Mfe.Classes.ContentForm.prototype.getTemplateVars = function() { 7103 var templateVars = { 7104 'id': this.getId(), 7105 'title': this.getTitle(), 7106 'panels': [] 7107 }; 7108 7109 for (var i = 0; i < this.panels.length; i++) { 7110 templateVars.panels.push(this.panels[i].getTemplateVars()); 7111 } 7112 7113 return templateVars; 7114}; 7115Mfe.Classes.ContentFormPanel = function(panelObj) { 7116 this.panelObj = panelObj; 7117 7118 this.fields = []; 7119 for (var i = 0; i < this.panelObj.fields.length; i++) { 7120 var fieldObj = this.panelObj.fields[i]; 7121 this.fields.push(new Mfe.Classes.ContentFormPanelField(fieldObj)); 7122 } 7123}; 7124Mfe.Classes.ContentFormPanel.prototype.getId = function() { 7125 return this.panelObj.id; 7126}; 7127Mfe.Classes.ContentFormPanel.prototype.getLabel = function() { 7128 return this.panelObj.label; 7129}; 7130Mfe.Classes.ContentFormPanel.prototype.getDescription = function() { 7131 return this.panelObj.description; 7132}; 7133Mfe.Classes.ContentFormPanel.prototype.getFields = function() { 7134 return this.fields; 7135}; 7136Mfe.Classes.ContentFormPanel.prototype.getTemplateVars = function() { 7137 var templateVars = { 7138 'id': this.getId(), 7139 'label': this.getLabel(), 7140 'description': this.getDescription(), 7141 'fields': [] 7142 }; 7143 7144 for (var i = 0; i < this.fields.length; i++) { 7145 templateVars.fields.push(this.fields[i].getTemplateVars()); 7146 } 7147 7148 7149 return templateVars; 7150}; 7151Mfe.Classes.ContentFormPanelField = function(fieldObj) { 7152 this.fieldObj = fieldObj; 7153 7154 this.options = []; 7155 for (var i = 0; i < this.fieldObj.options.length; i++) { 7156 var optionObj = this.fieldObj.options[i]; 7157 this.options.push(new Mfe.Classes.ContentFormPanelFieldOption(optionObj)); 7158 } 7159}; 7160Mfe.Classes.ContentFormPanelField.prototype.getId = function() { 7161 return this.fieldObj.id; 7162}; 7163Mfe.Classes.ContentFormPanelField.prototype.getLabel = function() { 7164 return this.fieldObj.label; 7165}; 7166Mfe.Classes.ContentFormPanelField.prototype.getComment = function() { 7167 return this.fieldObj.comment; 7168}; 7169Mfe.Classes.ContentFormPanelField.prototype.getType = function() { 7170 return this.fieldObj.type; 7171}; 7172Mfe.Classes.ContentFormPanelField.prototype.getValidation = function() { 7173 return this.fieldObj.validation; 7174}; 7175Mfe.Classes.ContentFormPanelField.prototype.isRequired = function() { 7176 return this.fieldObj.isRequired; 7177}; 7178Mfe.Classes.ContentFormPanelField.prototype.getSettings = function() { 7179 return this.fieldObj.settings; 7180}; 7181Mfe.Classes.ContentFormPanelField.prototype.getTemplateVars = function() { 7182 var templateVars = { 7183 'id': this.getId(), 7184 'label': this.getLabel(), 7185 'comment': this.getComment(), 7186 'type': this.getType(), 7187 'isRequired': this.isRequired(), 7188 'options': [],
7189 'settings': this.getSettings() 7190 }; 7191 7192 for (var i = 0; i < this.options.length; i++) { 7193 templateVars.options.push(this.options[i].getTemplateVars()); 7194 } 7195 7196 return templateVars; 7197}; 7198Mfe.Classes.ContentFormPanelFieldOption = function(optionObj) { 7199 this.optionObj = optionObj; 7200}; 7201Mfe.Classes.ContentFormPanelFieldOption.prototype.getId = function() { 7202 return this.optionObj.id; 7203}; 7204Mfe.Classes.ContentFormPanelFieldOption.prototype.getLabel = function() { 7205 return this.optionObj.label; 7206}; 7207Mfe.Classes.ContentFormPanelFieldOption.prototype.getTemplateVars = function() { 7208 var templateVars = { 7209 'id': this.getId(), 7210 'label': this.getLabel() 7211 }; 7212 7213 return templateVars; 7214}; 7215Mfe.Classes.ContentFragment = function(fragmentObj) { 7216 this.fragmentObj = fragmentObj; 7217 7218 this.settings = this.fragmentObj.settings; 7219 this.upload = null; 7220 if (this.fragmentObj.type == 'CMSImageWidget' || this.fragmentObj.type == 'CMSTextImageWidget') { 7221 if (isEmpty(this.fragmentObj.settings) === false && isEmpty(this.fragmentObj.settings.imageSource) === false) { 7222 if (this.fragmentObj.settings.imageSource == 'upload' && isEmpty(this.fragmentObj.settings.imageUpload) === false) { 7223 this.upload = Mfe.Classes.Upload.fromOldUpload(this.fragmentObj.settings.imageUpload) 7224 } 7225 } 7226 } 7227}; 7228Mfe.Classes.ContentFragment.prototype.getType = function() { 7229 return this.fragmentObj.type; 7230}; 7231Mfe.Classes.ContentFragment.prototype.getSetting = function(name, defaultValue) { 7232 if (isEmpty(this.fragmentObj.settings[name]) === true) { 7233 return defaultValue; 7234 } 7235 7236 return this.fragmentObj.settings[name]; 7237}; 7238Mfe.Classes.ContentFragment.prototype.getSettings = function() { 7239 return this.fragmentObj.settings; 7240}; 7241Mfe.Classes.ContentFragment.prototype.getUpload = function() { 7242 return this.upload; 7243}; 7244 7245Mfe.Classes.ContentFragment.prototype.getTemplateVars = function() { 7246 var templateVars = { 7247 'type': this.getType() 7248 }; 7249 7250 var fragmentType = this.getType(); 7251 if (fragmentType == 'CMSTextWidget' || fragmentType == 'CMSTextImageWidget') { 7252 templateVars.html = this.getSetting('contentHTML', ''); 7253 } 7254 7255 if (fragmentType == 'CMSQuoteWidget') { 7256 templateVars.html = this.getSetting('contentHTML', ''); 7257 7258 var splitChar = "~"; 7259 //var splitChar = "\u2014"; 7260 var splitCharPos = templateVars.html.indexOf(splitChar); 7261 if (splitCharPos > -1) { 7262 var htmlQuotePart = templateVars.html.substring(0, splitCharPos); 7263 var htmlQuoteSourcePart = templateVars.html.substring(splitCharPos); 7264 templateVars.html = htmlQuotePart + '<div class="cite">'+htmlQuoteSourcePart+'</div>'; 7265 } 7266 } 7267 7268 if (fragmentType == 'CMSImageWidget' || fragmentType == 'CMSTextImageWidget') { 7269 var imageLink = this.getSetting('imageLink', null); 7270 var imageSource = this.getSetting('imageSource', null); 7271 7272 templateVars.imageSource = imageSource; 7273 templateVars.imageLink = imageLink; 7274 7275 if (isEmpty(imageSource) === false && imageSource == 'upload') { 7276 var imageUpload = this.getSetting('imageUpload', null); 7277 if (isEmpty(imageUpload) === false) { 7278 templateVars.media = { 7279 'type': imageUpload.mediaType, 7280 'files': imageUpload.files 7281 }; 7282 } 7283 } else if (imageSource == 'url') { 7284 templateVars.imageUrl = this.getSetting('imageURL', null); 7285 } 7286 7287 if (fragmentType == 'CMSTextImageWidget') { 7288 templateVars.imageAlignment = this.getSetting('imageAlignment', 'left'); 7289 } 7290 7291 templateVars.imageCopyright = this.getSetting('imageCopyright', ''); 7292 templateVars.imageCopyrightUrl = this.getSetting('imageCopyrightUrl', ''); 7293 } 7294 7295 if (fragmentType == 'CMSEmbedWidget') { 7296 7297 var embedHtml = this.generateEmbedHtml(this.settings); 7298 7299 templateVars.embedHtml = embedHtml; 7300 templateVars.embedVendor = this.settings.vendor; 7301 templateVars.embedStatusClass = 'loaded'; 7302 7303 if (templateVars.embedVendor == 'twitter') { 7304 templateVars.embedStatusClass = 'loading'; 7305 templateVars.embedOembedUrl = 'https://publish.twitter.com/oembed?url=' + encodeURIComponent(this.settings.vendorEmbedCode); 7306 } else if (templateVars.embedVendor == 'instagram') { 7307 templateVars.embedHtml = this.settings.vendorEmbedCode; 7308 templateVars.embedStatusClass = 'loading'; 7309 7310 if (this.settings.vendorEmbedCode.length == 0 && this.settings.vendorContentID.length > 0) { 7311 var fakeInstagramUrl = 'https://www.instagram.com/p/' + encodeURIComponent(this.settings.vendorContentID); 7312 templateVars.embedOembedUrl = 'https://api.instagram.com/oembed?url=' + encodeURIComponent(fakeInstagramUrl); 7313 } else { 7314 templateVars.embedOembedUrl = 'https://api.instagram.com/oembed?url=' + encodeURIComponent(this.settings.vendorEmbedCode); 7315 } 7316 7317 7318 } else if (templateVars.embedVendor == 'vimeo') { 7319 templateVars.embedHtml = this.settings.vendorEmbedCode; 7320 templateVars.embedStatusClass = 'loading'; 7321 7322 if (this.settings.vendorEmbedCode.length == 0 && this.settings.vendorContentID.length > 0) { 7323 var fakeVimeoUrl = 'https://vimeo.com/' + encodeURIComponent(this.settings.vendorContentID); 7324 templateVars.embedOembedUrl = 'https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(fakeVimeoUrl); 7325 } else { 7326 templateVars.embedOembedUrl = 'https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(this.settings.vendorEmbedCode); 7327 } 7328 7329 } 7330
7331 } 7332 7333 return templateVars; 7334}; 7335 7336Mfe.Classes.ContentFragment.prototype.generateEmbedHtml = function(embedSettings) { 7337 if (isEmpty(embedSettings) === true || isEmpty(embedSettings.vendor) === true) { 7338 return ''; 7339 } 7340 7341 var embedHtml = ''; 7342 if (embedSettings.vendor == 'youtube') { 7343 embedHtml = '<iframe width="100%" height="100%" src="https://www.youtube.com/embed/'+Mfe.Utils.Text.escapeHtml(Mfe.Utils.Js.encodeUriParam(embedSettings.vendorContentID))+'" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>' 7344 } else if (embedSettings.vendor == 'iframe') { 7345 7346 var hostname = Mfe.Utils.Text.parseHostname(embedSettings.vendorContentID); 7347 var hostnameClass = hostname.replace(/\./g, '-'); 7348 7349 var height = '100%'; 7350 7351 if (isEmpty(embedSettings.vendorSpecificHeight) === false) { 7352 height = embedSettings.vendorSpecificHeight.toString(); 7353 7354 if (height.substring(height.length - 2, height.length) != 'px' &&height.substring(height.length - 1, height.length) != '%') { 7355 height = height + 'px'; 7356 } 7357 } 7358 7359 embedHtml = '<iframe class="iframe-embed-fragment embed-domain-'+hostnameClass+'" width="100%" style="height: ' + height + ';" src="'+Mfe.Utils.Text.escapeHtml(embedSettings.vendorContentID)+'" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'; 7360 } else if (embedSettings.vendor == 'twitter') { 7361 7362 } 7363 7364 var htmlWrapperArr = [ 7365 '<div style="">', 7366 '<div style="">', 7367 embedHtml, 7368 '</div>', 7369 '</div>' 7370 ]; 7371 var htmlWrapper = htmlWrapperArr.join(''); 7372 7373 return htmlWrapper; 7374}; 7375Mfe.Classes.ContentMedia = function(mediaObj) { 7376 this.class = mediaObj.class; 7377 7378 this.mediaObj = mediaObj; 7379}; 7380Mfe.Classes.ContentMedia.prototype.getId = function() { 7381 return this.getMediaId(); 7382}; 7383Mfe.Classes.ContentMedia.prototype.getType = function() { 7384 return this.mediaObj.type; 7385}; 7386Mfe.Classes.ContentMedia.prototype.getMediaType = function() { 7387 return this.mediaObj.mediaType; 7388}; 7389Mfe.Classes.ContentMedia.prototype.getMediaSubType = function() { 7390 return this.mediaObj.mediaSubType; 7391}; 7392Mfe.Classes.ContentMedia.prototype.getMediaId = function() { 7393 return this.mediaObj.mediaID; 7394}; 7395Mfe.Classes.ContentMedia.prototype.getInfo = function() { 7396 return this.mediaObj.info; 7397}; 7398Mfe.Classes.ContentMedia.prototype.getTitle = function() { 7399 return this.mediaObj.info.title; 7400}; 7401Mfe.Classes.ContentMedia.prototype.getMediaUrl = function() { 7402 var url; 7403 7404 if (this.getMediaType() == 'mobypicture' && this.getMediaSubType() == 'photo') { 7405 url = this.mediaObj.info.media.location.replace('_view', '_large'); 7406 } 7407 7408 return url; 7409}; 7410Mfe.Classes.ContentMedia.prototype.getImageUrl = function() { 7411 var url; 7412 7413 if (this.getMediaType() == 'mobypicture' && this.getMediaSubType() == 'photo') { 7414 7415 if (typeof this.mediaObj.info.media.thumbnails.large !== 'undefined') { 7416 url = this.mediaObj.info.media.thumbnails.large; 7417 } else { 7418 url = this.mediaObj.info.media.thumbnails.view; 7419 } 7420 7421 } else if (this.getMediaType() == 'mobypicture' && this.getMediaSubType() == 'video') { 7422 url = this.mediaObj.info.media.thumbnails.view; 7423 } 7424 7425 return url; 7426}; 7427Mfe.Classes.ContentMedia.prototype.getDescription = function() { 7428 return this.mediaObj.info.description; 7429}; 7430Mfe.Classes.ContentMedia.prototype.getCreationDateLocal = function() { 7431 var remoteDate = new Date(this.mediaObj.datetime); 7432 var utcDateTime = remoteDate.getUTCDateTime(); 7433 7434 var localDatetime = Mfe.Utils.DateTime.toLocalDateTime(utcDateTime); 7435 7436 return localDatetime; 7437}; 7438 7439Mfe.Classes.ContentMedia.prototype.getTemplateVars = function(mfe) { 7440 var templateVars = { 7441 'id': this.getId(), 7442 'queryId': (isEmpty(this.mediaObj.streamMediaID) === false ? this.mediaObj.streamMediaID : '0'), 7443 'source': this.getMediaType(), 7444 'type': this.getMediaSubType(), 7445 'title': this.getTitle(), 7446 'description': this.getDescription(), 7447 'publicationDateUtc': new Date(this.mediaObj.datetime).getUTCDateTime(), 7448 'media': { 7449 'url': this.getMediaUrl(), 7450 'thumbnail': this.mediaObj.info.media.thumbnails.view 7451 }, 7452 'linkPath': mfe.generateItemPath(this) 7453 }; 7454 7455 return templateVars; 7456}; 7457Mfe.Classes.ContentMmdMedia = function(mediaObj) { 7458 this.class = mediaObj.class; 7459 this.mediaObj = mediaObj; 7460 7461 this.indexedFiles = {}; 7462 for (var i = 0; i < mediaObj.files.length; i++) { 7463 var fileObj = mediaObj.files[i]; 7464 7465 if (typeof this.indexedFiles[fileObj.groupKey] === 'undefined') { 7466 this.indexedFiles[fileObj.groupKey] = {}; 7467 } 7468 7469 if (typeof this.indexedFiles[fileObj.groupKey][fileObj.type] === 'undefined') { 7470 this.indexedFiles[fileObj.groupKey][fileObj.type] = {}; 7471 } 7472 7473 if (typeof this.indexedFiles[fileObj.groupKey][fileObj.type][fileObj.format] === 'undefined') { 7474 this.indexedFiles[fileObj.groupKey][fileObj.type][fileObj.format] = {}; 7475 } 7476 7477 if (typeof this.indexedFiles[fileObj.groupKey][fileObj.type][fileObj.format][fileObj.videoRes
7477olution.descriptor] === 'undefined') { 7478 this.indexedFiles[fileObj.groupKey][fileObj.type][fileObj.format][fileObj.videoResolution.descriptor] = fileObj; 7479 } 7480 } 7481}; 7482 7483Mfe.Classes.ContentMmdMedia.prototype.getId = function() { 7484 return this.mediaObj.id; 7485}; 7486 7487Mfe.Classes.ContentMmdMedia.prototype.getType = function() { 7488 return this.mediaObj.type; 7489}; 7490Mfe.Classes.ContentMmdMedia.prototype.getIndexedFiles = function() { 7491 return this.indexedFiles; 7492}; 7493Mfe.Classes.ContentMmdMedia.prototype.getTypeName = function() { 7494 if (this.getType() == 'v') { 7495 return 'video'; 7496 } 7497}; 7498 7499Mfe.Classes.ContentMmdMedia.prototype.getAvailability = function() { 7500 return this.mediaObj.availability; 7501}; 7502 7503Mfe.Classes.ContentMmdMedia.prototype.getTemplateVars = function(mfe) { 7504 var templateVars = { 7505 'id': this.getId(), 7506 'status': this.getStatus(), 7507 'siteId': this.getSiteId(), 7508 'calendar': null, 7509 'startDateUtc': this.getStartDateUtc(), 7510 'startDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getStartDateUtc()), 7511 'endDateUtc': this.getEndDateUtc(), 7512 'endDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getEndDateUtc()), 7513 'revision': null, 7514 'isSameDay': false 7515 }; 7516 7517 if (this.getStartDateUtc().substring(0, 10) == this.getEndDateUtc().substring(0, 10)) { 7518 templateVars.isSameDay = true; 7519 } 7520 7521 templateVars.revision = this.revision.getTemplateVars(); 7522 templateVars.linkPath = mfe.generateItemPath(this); 7523 7524 return templateVars; 7525}; 7526 7527Mfe.Classes.ContentMmdMedia.newArray = function(mediaObjs) { 7528 var authors = []; 7529 7530 for (var i = 0; i < mediaObjs.length; i++) { 7531 var mediaObj = mediaObjs[i]; 7532 authors.push(new Mfe.Classes.ContentMmdMedia(mediaObj)); 7533 } 7534 7535 return authors; 7536}; 7537 7538Mfe.Classes.ContentMmdMedia.index = function(objs) { 7539 var index = {}; 7540 7541 for (var i = 0; i < objs.length; i++) { 7542 var obj = objs[i]; 7543 index[obj.getId()] = obj; 7544 } 7545 7546 return index; 7547}; 7548 7549Mfe.Classes.ContentMmdPlaylist = function(playlistObj) { 7550 this.class = playlistObj.class; 7551 this.playlistObj = playlistObj; 7552 7553 this.mediaItems = []; 7554 for (var i = 0; i < this.playlistObj.media.length; i++) { 7555 var mediaItem = new Mfe.Classes.ContentMmdMedia(this.playlistObj.media[i]); 7556 this.mediaItems.push(mediaItem); 7557 } 7558}; 7559 7560Mfe.Classes.ContentMmdPlaylist.prototype.getId = function() { 7561 return this.playlistObj.id; 7562}; 7563 7564Mfe.Classes.ContentMmdPlaylist.prototype.getMediaItems = function() { 7565 return this.mediaItems; 7566}; 7567 7568Mfe.Classes.ContentMmdPlaylist.prototype.getTemplateVars = function(mfe) { 7569 var templateVars = { 7570 'id': this.getId() 7571 }; 7572 7573 return templateVars; 7574}; 7575 7576Mfe.Classes.ContentMmdPlaylist.newArray = function(playlistObjs) { 7577 var authors = []; 7578 7579 for (var i = 0; i < playlistObjs.length; i++) { 7580 var playlistObj = playlistObjs[i];
7581 authors.push(new Mfe.Classes.ContentMmdPlaylist(playlistObj)); 7582 } 7583 7584 return authors; 7585}; 7586 7587Mfe.Classes.ContentMmdPlaylist.index = function(objs) { 7588 var index = {}; 7589 7590 for (var i = 0; i < objs.length; i++) { 7591 var obj = objs[i]; 7592 index[obj.getId()] = obj; 7593 } 7594 7595 return index; 7596}; 7597 7598Mfe.Classes.ContentPost = function(postObj) { 7599 this.class = postObj.class; 7600 7601 this.postObj = postObj; 7602 7603 this.revisionsByLang = {}; 7604 this.revisions = []; 7605 7606 for (var i = 0; i < this.postObj.revisions.length; i++) { 7607 var revisionObj = this.postObj.revisions[i]; 7608 var revision = new Mfe.Classes.ContentRevision(revisionObj); 7609 7610 this.revisions.push(revision); 7611 this.revisionsByLang[revision.getLanguage()] = revision; 7612 } 7613 7614 this.updates = []; 7615 if (isEmpty(this.postObj.updates) === false) { 7616 for (var i = 0; i < this.postObj.updates.length; i++) { 7617 var updateObj = this.postObj.updates[i]; 7618 var update = new Mfe.Classes.ContentUpdate(updateObj); 7619 7620 this.updates.push(update); 7621 } 7622 } 7623 7624 this.storylines = []; 7625 if (isEmpty(this.postObj.storylines) === false) { 7626 for (var i = 0; i < this.postObj.storylines.length; i++) { 7627 var storylineObj = this.postObj.storylines[i]; 7628 var storyline = new Mfe.Classes.SiteStoryline(storylineObj); 7629 7630 this.storylines.push(storyline); 7631 } 7632 } 7633 7634 if (this.postObj.type == 'blog') { 7635 var cmsBlogGroup = mfe.siteBundle.getCmsBlogGroupById(this.postObj.postGroup.id); 7636 if (isEmpty(cmsBlogGroup) === true) { 7637 this.postObj.postGroup = { 7638 'id': 0, 7639 'title': 'Dummy Blog' 7640 }; 7641 } 7642 } 7643}; 7644Mfe.Classes.ContentPost.prototype.getId = function() { 7645 return this.postObj.id; 7646}; 7647Mfe.Classes.ContentPost.prototype.getQueryId = function() { 7648 return (isEmpty(this.postObj.queryId) === false ? this.postObj.queryId : '0'); 7649}; 7650Mfe.Classes.ContentPost.prototype.getType = function() { 7651 return this.postObj.type; 7652}; 7653Mfe.Classes.ContentPost.prototype.getStatus = function() { 7654 return this.postObj.status; 7655}; 7656Mfe.Classes.ContentPost.prototype.getSiteId = function() { 7657 return this.postObj.site.id; 7658}; 7659Mfe.Classes.ContentPost.prototype.getPostGroupId = function() { 7660 return this.postObj.postGroup.id; 7661}; 7662Mfe.Classes.ContentPost.prototype.getCreationDateUtc = function() { 7663 return this.postObj.creationDateUtc; 7664}; 7665Mfe.Classes.ContentPost.prototype.getPublicationDateTs = function() { 7666 return this.postObj.publicationDateTs; 7667}; 7668Mfe.Classes.ContentPost.prototype.getPublicationDateUtc = function() { 7669 return this.postObj.publicationDateUtc; 7670}; 7671Mfe.Classes.ContentPost.prototype.getPublicationDateIso8601 = function() { 7672 let isoDate = this.postObj.publicationDateUtc.replace(' ', 'T'); 7673 return isoDate + 'Z'; 7674}; 7675Mfe.Classes.ContentPost.prototype.getScheduledDateUtc = function() { 7676 return this.postObj.scheduleDateUtc; 7677}; 7678Mfe.Classes.ContentPost.prototype.getLastModifiedDateUtc = function() { 7679 return this.postObj.lastModifiedDateUtc; 7680}; 7681Mfe.Classes.ContentPost.prototype.getVisibilityExcludeIndexing = function() { 7682 return this.postObj.visibilityExcludeIndexing; 7683}; 7684Mfe.Classes.ContentPost.prototype.getRevisionLanguages = function() { 7685 return Object.keys(this.revisionsByLang); 7686}; 7687Mfe.Classes.ContentPost.prototype.getRevisionByLanguage = function(lang) { 7688 7689 var languageRevision; 7690 if (isEmpty(this.revisionsByLang[lang]) === false) { 7691 languageRevision = this.revisionsByLang[lang]; 7692 } else { 7693 languageRevision = this.revisions[0]; 7694 } 7695 7696 return languageRevision; 7697}; 7698Mfe.Classes.ContentPost.prototype.getUpdates = function() { 7699 return this.updates; 7700}; 7701Mfe.Classes.ContentPost.prototype.getStorylines = function() { 7702 return this.storylines; 7703}; 7704Mfe.Classes.ContentPost.prototype.getRevisionObjects = function() { 7705 var revisionObjs = {}; 7706 for (var i = 0; i < this.revisions.length; i++) { 7707 var revision = this.revisions[i]; 7708 revisionObjs[revision.getLanguage()] = revision.getRevisionObject(); 7709 } 7710 7711 return revisionObjs; 7712}; 7713 7714Mfe.Classes.ContentPost.prototype.getTemplateVars = function(mfe, revision, includeReadTime) { 7715 var templateVars = { 7716 'id': this.getId(), 7717 'queryId': (isEmpty(this.postObj.queryId) === false ? this.postObj.queryId : '0'), 7718 'status': this.getStatus(),
7719 'siteId': this.getSiteId(), 7720 'blogGroup': null, 7721 'path': null, 7722 'revision': null, 7723 'creationDateUtc': this.getCreationDateUtc(), 7724 'publicationDateUtc': this.getPublicationDateUtc(), 7725 'scheduledDateUtc': this.getScheduledDateUtc(), 7726 'creationDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getCreationDateUtc()), 7727 'publicationDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getPublicationDateUtc()), 7728 'scheduledDateLocal': Mfe.Utils.DateTime.toLocalDateTime(this.getScheduledDateUtc()) 7729 }; 7730 7731 if (isEmpty(revision) === false) { 7732 templateVars.revision = revision.getTemplateVars(includeReadTime); 7733 } else if (this.revisions.length > 0) { 7734 7735 var languageRevision; 7736 if (isEmpty(this.revisionsByLang[mfe.pageLanguage]) === false) { 7737 languageRevision = this.revisionsByLang[mfe.pageLanguage]; 7738 } else { 7739 languageRevision = this.revisions[0]; 7740 } 7741 7742 templateVars.revision = languageRevision.getTemplateVars(includeReadTime); 7743 } 7744 7745 if (this.postObj.type == 'blog') { 7746 var cmsBlogGroup = mfe.siteBundle.getCmsBlogGroupById(this.postObj.postGroup.id); 7747 if (isEmpty(cmsBlogGroup) === false) { 7748 templateVars.blogGroup = cmsBlogGroup.getTemplateVars(); 7749 templateVars.categoryBlockCssVars = [ 7750 '--wc-category-block-bg-color: var(--wc-category-block-'+templateVars.blogGroup.id+'-bg-color)', 7751 '--wc-category-block-fg-color: var(--wc-category-block-'+templateVars.blogGroup.id+'-fg-color)', 7752 '--wc-category-text-fg-color: var(--wc-category-text-'+templateVars.blogGroup.id+'-fg-color)' 7753 ].join('; '); 7754 } else { 7755 templateVars.blogGroup = this.postObj.postGroup; 7756 } 7757 7758 templateVars.linkPath = mfe.generateItemPath(this); 7759 delete templateVars.path; 7760 } else if (this.postObj.type == 'page') { 7761 templateVars.path = this.postObj.path; 7762 7763 templateVars.linkPath = mfe.generateItemPath(this); 7764 7765 delete templateVars.blogGroup; 7766 } 7767 7768 return templateVars; 7769}; 7770 7771Mfe.Classes.ContentPost.instantiate = function(postObj) { 7772 if (postObj.type == 'blog') { 7773 return new Mfe.Classes.ContentPostBlog(postObj); 7774 } else if (postObj.type == 'page') { 7775 return new Mfe.Classes.ContentPostPage(postObj); 7776 } 7777} 7778 7779Mfe.Classes.ContentPost.newArray = function(postObjs) { 7780 var posts = []; 7781 7782 for (var i = 0; i < postObjs.length; i++) { 7783 var postObj = postObjs[i]; 7784 posts.push(Mfe.Classes.ContentPost.instantiate(postObj)); 7785 } 7786 7787 return posts; 7788} 7789Mfe.Classes.ContentPostBlog = function(blogObj) { 7790 this.name = 'ContentPostBlog'; 7791 Mfe.Classes.ContentPost.apply(this, arguments); 7792 7793 var blogObj = blogObj; 7794}; 7795Mfe.Classes.ContentPostBlog.inherits(Mfe.Classes.ContentPost); 7796 7797Mfe.Classes.ContentPostPage = function(blogObj) { 7798 this.name = 'ContentPostPage'; 7799 Mfe.Classes.ContentPost.apply(this, arguments); 7800 7801 var blogObj = blogObj; 7802}; 7803Mfe.Classes.ContentPostPage.inherits(Mfe.Classes.ContentPost); 7804Mfe.Classes.ContentPostPage.prototype.getPath = function() { 7805 return this.postObj.path; 7806} 7807Mfe.Classes.ContentRevision = function(revisionObj) { 7808 this.revisionObj = revisionObj; 7809 7810 this.author = null; 7811 if (isEmpty(this.revisionObj.author) === false) { 7812 this.author = new Mfe.Classes.SiteAuthor(this.revisionObj.author); 7813 } 7814 7815 this.fragments = []; 7816 for (var i = 0; i < this.revisionObj.fragments.length; i++) { 7817 var fragmentObj = this.revisionObj.fragments[i]; 7818 this.fragments.push(new Mfe.Classes.ContentFragment(fragmentObj)); 7819 } 7820 7821 this.cover = null; 7822 if (isEmpty(this.revisionObj.cover) === false && isEmpty(this.revisionObj.cover.upload) === false) { 7823 this.cover = new Mfe.Classes.Upload(this.revisionObj.cover); 7824 } 7825}; 7826Mfe.Classes.ContentRevision.prototype.getId = function() { 7827 return this.revisionObj.id; 7828}; 7829Mfe.Classes.ContentRevision.prototype.getAuthor = function() { 7830 return this.author; 7831}; 7832Mfe.Classes.ContentRevision.prototype.getLanguage = function() { 7833 return this.revisionObj.language; 7834}; 7835Mfe.Classes.ContentRevision.prototype.getTitle = function() { 7836 return this.revisionObj.title; 7837}; 7838Mfe.Classes.ContentRevision.prototype.getSlug = function() { 7839 return this.revisionObj.slug; 7840}; 7841Mfe.Classes.ContentRevision.prototype.getSummary = function() { 7842 return this.revisionObj.summary; 7843}; 7844Mfe.Classes.ContentRevision.prototype.getFragments = function() { 7845 return this.fragments; 7846}; 7847Mfe.Classes.ContentRevision.prototype.getTags = function() { 7848 return this.revisionObj.tags; 7849}; 7850Mfe.Classes.ContentRevision.prototype.getRevisionObject = function() { 7851 return this.revisionObj; 7852}; 7853Mfe.Classes.ContentRevision.prototype.getCover = function() { 7854 return this.cover; 7855}; 7856Mfe.Classes.ContentRevision.prototype.getImageFromFragments = function() { 7857 for (var i = 0; i < this.fragments.length; i++) { 7858 var fragment = this.fragments[i]; 7859 7860 if (fragment.upload !== null) { 7861 return { 7862 'type': 'upload', 7863 'upload': fragment.upload 7864 }; 7865 } 7866 7867 if (fragment.settings.imageURL && fragment.settings.imageURL.length > 0) { 7868 return { 7869 'type': 'url', 7870 'url': fragment.settings.imageURL 7871 } 7872 } 7873 } 7874 7875 return null; 7876}; 7877Mfe.Classes.ContentRevision.prototype.getOgImage = function() { 7878 var ogImage = { 7879 'url': '', 7880 'width': '', 7881 'height': '' 7882 }; 7883 7884 var cover = this.getCover(); 7885 if (isEmpty(cover) === true) { 7886 return ogImage; 7887 } 7888 7889 var mediaFileObj = cover.getMediaFileBySize('box1024'); 7890 if (isEmpty(mediaFileObj) === true) { 7891 return ogImage; 7892 } 7893 7894 ogImage.url = mediaFileObj.url; 7895 ogImage.width = mediaFileObj.width; 7896 ogImage.height = mediaFileObj.height; 7897 7898 return ogImage; 7899 7900}; 7901Mfe.Classes.ContentRevision.prototype.getReadTime = function() { 7902 var noImages = 0; 7903 var noWords = 0; 7904 var fragments = this.getFragments(); 7905 for (var i = 0; i < fragments.length; i++) { 7906 var fragment = fragments[i]; 7907 var fragmentType = fragment.getType(); 7908 7909 if (fragmentType == 'CMSTextWidget') { 7910 var fragmentText = Mfe.Utils.Text.decodeHtmlEntities(fragment.getSetting('contentHTML', '').replace(/<(.|\n)*?>/g, ' ')); 7911 noWords += Mfe.Utils.Text.countWords(fragmentText); 7912 } else if (fragmentType == 'CMSQuoteWidget') { 7913 7914 } else if (fragmentType == 'CMSImageWidget') { 7915 noImages++; 7916 } 7917 } 7918 7919 var wpm = 275; 7920 var readTime = (noWords / (wpm / 60)) + (noImages * 12); 7921 7922 return {
7923 'minutes': Math.ceil(readTime / 60), 7924 'words': noWords 7925 }; 7926}; 7927Mfe.Classes.ContentRevision.prototype.getTemplateVars = function(includeReadTime) { 7928 var templateVars = { 7929 'id': this.getId(), 7930 'author': null, 7931 'readTime': null, 7932 'title': this.getTitle(), 7933 'slug': this.getSlug(), 7934 'summary': this.getSummary(), 7935 'cover': null, 7936 'tags': this.revisionObj.tags 7937 }; 7938 7939 if (isEmpty(includeReadTime) === false && includeReadTime === true) { 7940 templateVars.readTime = this.getReadTime(); 7941 } else { 7942 delete templateVars.readTime; 7943 } 7944 7945 if (isEmpty(this.author) === false) { 7946 templateVars.author = this.author.getTemplateVars(); 7947 } 7948 7949 if (isEmpty(this.cover) === false) { 7950 templateVars.cover = this.cover.getTemplateVars(); 7951 } else { 7952 // If there is no cover we will try to fake it using uploads from the fragments 7953 var image = this.getImageFromFragments(); 7954 7955 if (image !== null) { 7956 if (image.type == 'upload') { 7957 templateVars.cover = image.upload.getTemplateVars(); 7958 } else if (image.type == 'url') { 7959 templateVars.cover = { 7960 'id': '0', 7961 'caption': '', 7962 'filesIndexed': { 7963 'box1024': { 'type': 'box', 'size': 1024, 'width': 780, 'url': image.url }, 7964 'box1280': { 'type': 'box', 'size': 1280, 'width': 780, 'url': image.url }, 7965 'box320': { 'type': 'box', 'size': 320, 'width': 780, 'url': image.url }, 7966 'box640': { 'type': 'box', 'size': 640, 'width': 780, 'url': image.url }, 7967 'square120': { 'type': 'square', 'size': 120, 'width': 120, 'url': image.url } 7968 } 7969 } 7970 } 7971 } 7972 } 7973 7974 return templateVars; 7975}; 7976Mfe.Classes.ContentSet = function(setObj) { 7977 this.class = setObj.class; 7978 7979 this.setObj = setObj; 7980 7981 this.contents = []; 7982 for (var i = 0; i < setObj.contents.length; i++) { 7983 var resultObj = setObj.contents[i]; 7984 7985 if (resultObj.class == 'content\\posts\\blog') { 7986 this.contents.push(new Mfe.Classes.ContentPostBlog(resultObj)); 7987 } else if (resultObj.class == 'content\\posts\\page') { 7988 this.contents.push(new Mfe.Classes.ContentPostPage(resultObj)); 7989 } else if (resultObj.class == 'content\\media') { 7990 this.contents.push(new Mfe.Classes.ContentMedia(resultObj)); 7991 } else if (resultObj.class == 'content\\event') { 7992 this.contents.push(new Mfe.Classes.ContentEvent(resultObj)); 7993 } 7994 } 7995}; 7996 7997Mfe.Classes.ContentSet.prototype.getId = function() { 7998 return this.setObj.id; 7999}; 8000 8001Mfe.Classes.ContentSet.prototype.getTitle = function() { 8002 return this.setObj.title; 8003}; 8004 8005Mfe.Classes.ContentSet.prototype.getContents = function() { 8006 return this.contents; 8007}; 8008 8009Mfe.Classes.ContentSet.prototype.getResults = function() { 8010 return this.getContents(); 8011}; 8012 8013Mfe.Classes.ContentSet.prototype.getTemplateVars = function(mfe) { 8014 var templateVars = { 8015 'id': this.getId(), 8016 'title': this.getTitle() 8017 }; 8018 8019 return templateVars; 8020}; 8021 8022 8023Mfe.Classes.ContentSet.newArray = function(setObjs) { 8024 var authors = []; 8025 8026 for (var i = 0; i < setObjs.length; i++) { 8027 var setObj = setObjs[i]; 8028 authors.push(new Mfe.Classes.ContentSet(setObj)); 8029 } 8030 8031 return authors; 8032}; 8033 8034Mfe.Classes.ContentSet.index = function(objs) { 8035 var index = {}; 8036 8037 for (var i = 0; i < objs.length; i++) { 8038 var obj = objs[i]; 8039 index[obj.getId()] = obj; 8040 } 8041 8042 return index; 8043} 8044 8045Mfe.Classes.DatasetRecordLookup = function(recordObj) { 8046 this.class = 'Mfe.Classes.DatasetRecordLookup'; 8047 this.recordObj = recordObj; 8048 8049 this.templateVars = {}; 8050 8051 this.processedValues = {}; 8052 8053 var valueKeys = Object.keys(this.recordObj.values); 8054 for (var i = 0; i < valueKeys.length; i++) { 8055 var valueKey = valueKeys[i]; 8056 var value = this.recordObj.values[valueKey]; 8057 if (value !== null && typeof value.class === 'undefined') { 8058 this.templateVars[valueKey] = value; 8059 this.processedValues[valueKey] = value; 8060 continue; 8061 } 8062 8063 if (value !== null && value.class == 'content\\posts\\page') { 8064 var contentPostPage = Mfe.Classes.ContentPost.instantiate(value); 8065 this.processedValues[valueKey] = contentPostPage; 8066 8067 this.templateVars[valueKey] = value; 8068 } else { 8069 this.processedValues[valueKey] = value; 8070 } 8071 } 8072 8073}; 8074Mfe.Classes.DatasetRecordLookup.prototype.getData = function() { 8075 return this.recordObj; 8076}; 8077Mfe.Classes.DatasetRecordLookup.prototype.getValues = function() { 8078 return this.recordObj.values; 8079}; 8080Mfe.Classes.DatasetRecordLookup.prototype.getProcessedValues = function() { 8081 return this.processedValues; 8082}; 8083Mfe.Classes.DatasetRecordLookup.prototype.getProcessedValue = function(key) { 8084 return this.processedValues[key]; 8085}; 8086Mfe.Classes.DatasetRecordLookup.prototype.getTemplateVars = function(mfe) { 8087 var templateVars = {}; 8088 var valueKeys = Object.keys(this.recordObj.values); 8089 8090 for (var i = 0; i < valueKeys.length; i++) { 8091 var valueKey = valueKeys[i]; 8092 var value = this.recordObj.values[valueKey]; 8093 if (value !== null && typeof value.class === 'undefined') { 8094 templateVars[valueKey] = value; 8095 continue; 8096 } 8097 8098 if (value !== null && value.class == 'content\\posts\\page') { 8099 templateVars[valueKey] = this.processedValues[valueKey].getTemplateVars(mfe); 8100 } else { 8101 templateVars[valueKey] = value; 8102 } 8103 } 8104 8105 templateVars._id = this.recordObj.id; 8106 templateVars._createdAt = this.recordObj.createdAt; 8107 templateVars._meta = this.recordObj.meta; 8108 8109 return templateVars; 8110}; 8111Mfe.Classes.DatasetTableSearchResults = function(resultsObj) { 8112 this.class = 'Mfe.Classes.DatasetTableSearchResults'; 8113 this.resultsObj = resultsObj; 8114 this.results = []; 8115 this.buildIndex(); 8116}; 8117Mfe.Classes.DatasetTableSearchResults.prototype.getData = function() { 8118 return this.resultsObj; 8119}; 8120Mfe.Classes.DatasetTableSearchResults.prototype.getResults = function() { 8121 return this.results; 8122}; 8123 8124Mfe.Classes.DatasetTableSearchResults.prototype.buildIndex = function() { 8125 // Index tables 8126 let recordsIndexed = {}; 8127 let tableFieldsIndexed = {}; 8128 8129 this.tableIdByViewName = {}; 8130 this.recordsById = {}; 8131 this.results = []; 8132 8133 for (var i = 0; i < this.resultsObj.table.fields.length; i++) { 8134 let field = this.resultsObj.table.fields[i]; 8135 tableFieldsIndexed[field.id] = field; 8136 } 8137 8138 for (var i = 0; i < this.resultsObj.records.length; i++) { 8139 let record = this.resultsObj.records[i]; 8140 8141 let recordTemplateVars = { 8142 'id': record.id 8143 }; 8144 8145 let recordFieldIds = Object.keys(record.values); 8146 for (let recordFieldId of recordFieldIds) { 8147 let field = tableFieldsIndexed[recordFieldId]; 8148 recordTemplateVars[field.templateName] = record.values[recordFieldId]; 8149 } 8150 8151 recordsIndexed[record.id] = record; 8152 recordsIndexed[record.id].templateVars = recordTemplateVars; 8153 8154 this.results.push(recordsIndexed[record.id]); 8155 } 8156 8157 this.recordsIndexed = recordsIndexed; 8158 8159 return; 8160 8161 8162 8163 8164 var tableNames = Object.keys(this.viewObj.contents); 8165 for (var i = 0; i < tableNames.length; i++) { 8166 var tableName = tableNames[i]; 8167 var table = this.viewObj.contents[tableName]; 8168 8169 if (i === 0) { 8170 recordsIndexed[table.table.id] = this.indexTable(table, true); 8171 } else { 8172 recordsIndexed[table.table.id] = this.indexTable(table, false); 8173 } 8174 8175 8176 for (var j = 0; j < table.table.fields.length; j++) { 8177 var field = table.table.fields[j]; 8178 tableFieldsIndexed[field.id] = field; 8179 } 8180 8181 this.tableIdByViewName[tableName] = table.table.id; 8182 } 8183 8184 // Prepare records (get actual data from table-links and stuff) 8185 for (var i = 0; i < tableNames.length; i++) { 8186 var tableName = tableNames[i]; 8187 var table = this.viewObj.contents[tableName]; 8188 8189 //var tableFieldsIndexed = this.indexTableFields(table); 8190 c 8191 var records = recordsIndexed[table.table.id]; 8192 var recordIds = Object.keys(records); 8193 8194 for (var j = 0; j < recordIds.length; j++) { 8195 var recordId = recordIds[j]; 8196 var record = records[recordId]; 8197 8198 var recordTemplateVars = { 8199 'id': record.id 8200 }; 8201 8202 var recordFieldIds = Object.keys(record.values); 8203 for (var k = 0; k < recordFieldIds.length; k++) { 8204 var recordFieldId = recordFieldIds[k]; 8205 var field = tableFieldsIndexed[recordFieldId]; 8206 8207 if (field.type == 'table-link') { 8208 8209 recordTemplateVars[field.templateName] = []; 8210 8211 if (record.values[recordFieldId] !== null) { 8212 for (var l = 0; l < record.values[recordFieldId].length; l++) { 8213 8214 var recordValue = record.values[recordFieldId][l]; 8215 var tableLink = recordsIndexed[field.valueType]; 8216 8217 if (typeof tableLink == 'undefined') { 8218 continue; 8219 } 8220 8221 if (typeof tableLink[recordValue] == 'undefined') { 8222 continue; 8223 } 8224 8225 8226 var tableLinkRecord = tableLink[recordValue]; 8227 8228 // Make template vars for this record 8229 var tableLinkRecordTemplateVars = { 8230 'id': tableLinkRecord.id 8231 }; 8232 8233 var tableLinkRecordFieldIds = Object.keys(tableLinkRecord.values); 8234 for (var m = 0; m < tableLinkRecordFieldIds.length; m++) { 8235 var tableLinkRecordFieldId = tableLinkRecordFieldIds[m]; 8236 var tableLinkField = tableFieldsIndexed[tableLinkRecordFieldId]; 8237 8238 tableLinkRecordTemplateVars[tableLinkField.templateName] = tableLinkRecord.values[tableLinkRecordFieldId]; 8239 } 8240 8241 recordTemplateVars[field.templateName].push(tableLinkRecordTemplateVars); 8242 } 8243 } 8244 8245 } else { 8246 recordTemplateVars[field.templateName] = record.values[recordFieldId]; 8247 } 8248 } 8249 8250 recordsIndexed[table.table.id][recordId].templateVars = recordTemplateVars; 8251 this.recordsById[recordId] = recordsIndexed[table.table.id][recordId]; 8252 } 8253 } 8254 8255 this.recordsIndexed = recordsIndexed; 8256}; 8257 8258Mfe.Classes.DatasetTableSearchResults.prototype.generateContentTemplateVars = function() { 8259 let templateVars = { 8260 'table': null, 8261 'results': [] 8262 }; 8263 8264 8265 console.log(this.results); 8266 8267 8268 for (let result of this.results) { 8269 templateVars.results.push(result.templateVars); 8270 } 8271 8272 return templateVars; 8273 8274 var tableNames = Object.keys(this.viewObj.contents); 8275 for (var i = 0; i < tableNames.length; i++) { 8276 var tableName = tableNames[i]; 8277 var table = this.viewObj.contents[tableName]; 8278 8279 var tableFieldsIndexed = {}; 8280 var tableFieldsIndexedByTemplateKey = {}; 8281 for (let tableField of table.table.fields) { 8282 tableFieldsIndexed[tableField.id] = tableField; 8283 tableFieldsIndexedByTemplateKey[tableField.templateName] = tableField; 8284 } 8285 8286 var records = this.recordsIndexed[table.table.id]; 8287 8288 templateVars[tableName] = []; 8289 8290 var recordIds = Object.keys(records); 8291 for (var j = 0; j < recordIds.length; j++) { 8292 var recordId = recordIds[j]; 8293 var recordTemplateVars = records[recordId].templateVars; 8294 8295 if (typeof filters !== 'undefined') { 8296 if (typeof filters[tableName] !== 'undefined') { 8297 8298 var matchesAll = true; 8299 var matchesAny = false;
8300 8301 var filterFieldKeys = Object.keys(filters[tableName]); 8302 for (var k = 0; k < filterFieldKeys.length; k++) { 8303 var filterFieldKey = filterFieldKeys[k]; 8304 8305 if (Array.isArray(filters[tableName][filterFieldKey]) === true) { 8306 8307 // Tags 8308 if (filters[tableName][filterFieldKey].length == 0) { 8309 continue; 8310 } 8311 8312 for (var l = 0; l < filters[tableName][filterFieldKey].length; l++) { 8313 var filterValue = filters[tableName][filterFieldKey][l]; 8314 8315 var recordItemMatches = false; 8316 for (var m = 0; m < recordTemplateVars[filterFieldKey].length; m++) { 8317 var recordFieldItem = recordTemplateVars[filterFieldKey][m]; 8318 8319 if (recordFieldItem.id == filterValue) { 8320 recordItemMatches = true; 8321 break; 8322 } 8323 } 8324 8325 if (recordItemMatches === false) { 8326 matchesAll = false; 8327 } else { 8328 matchesAny = true; 8329 } 8330 } 8331 8332 } else { 8333 8334 var filterValue = filters[tableName][filterFieldKey]; 8335 8336 var recordItemMatches = false; 8337 for (var m = 0; m < recordTemplateVars[filterFieldKey].length; m++) { 8338 let recordFieldValue = recordTemplateVars[filterFieldKey][m]; 8339 if (recordFieldValue == filterValue || (recordFieldValue.id && recordFieldValue.id == filterValue)) { 8340 recordItemMatches = true; 8341 break; 8342 } 8343 8344 } 8345 8346 if (recordItemMatches === false) { 8347 matchesAll = false; 8348 } else { 8349 matchesAny = true; 8350 } 8351 } 8352 } 8353 8354 if (filterMode == 'any' && matchesAny === true || filterMode == 'all' && matchesAll === true) { 8355 templateVars[tableName].push(recordTemplateVars); 8356 continue; 8357 } 8358 8359 continue; 8360 } 8361 } 8362 8363 templateVars[tableName].push(recordTemplateVars); 8364 } 8365 8366 // Randomize items in array 8367 var tableSettings = this.viewObj.view.settings.tables[table.table.id]; 8368 if (typeof tableSettings.randomize !== 'undefined') { 8369 if (tableSettings.randomize == 'always') { 8370 templateVars[tableName] = templateVars[tableName].randomize(); 8371 } 8372 } else if (this.viewObj.view.data[tableName].sorting) { 8373 8374 let sortField = this.viewObj.view.data[tableName].sorting[0]; 8375 let sortDirection = this.viewObj.view.data[tableName].sorting[1]; 8376 8377 if (typeof templateVars[tableName][0][sortField] === 'undefined') { 8378 sortField = tableFieldsIndexed[sortField].templateName; 8379 } 8380 8381 templateVars[tableName].sort(function(a, b) { 8382 if (tableFieldsIndexedByTemplateKey[sortField].valueType === 'text') { 8383 const compareResult = ('' + a[sortField]).localeCompare(b[sortField]); 8384 return compareResult; 8385 } else { 8386 if (sortDirection === 'desc') { 8387 if (a[sortField] > b[sortField]) { 8388 return -1; 8389 } else if (a[sortField] < b[sortField]) { 8390 return 1; 8391 } else { 8392 return 0; 8393 } 8394 } else { 8395 if (a[sortField] > b[sortField]) { 8396 return 1; 8397 } else if (a[sortField] < b[sortField]) { 8398 return -1; 8399 } else { 8400 return 0; 8401 } 8402 } 8403 } 8404 8405 8406 }); 8407 } 8408 } 8409 8410 return templateVars; 8411}; 8412Mfe.Classes.DatasetTableSearchResults.prototype.indexTable = function(table, addToResults) { 8413 var recordsById = {}; 8414 8415 for (var i = 0; i < table.records.length; i++) { 8416 var record = table.records[i]; 8417 recordsById[record.id] = record; 8418 8419 if (typeof addToResults === 'undefined' || addToResults === true) { 8420 this.results.push(record); 8421 } 8422 } 8423 8424 return recordsById; 8425}; 8426 8427Mfe.Classes.DatasetTableSearchResults.prototype.indexTableFields = function(table) { 8428 var fieldsById = {}; 8429 8430 for (var i = 0; i < table.table.fields.length; i++) { 8431 var field = table.table.fields[i]; 8432 fieldsById[field.id] = field; 8433 } 8434 8435 return fieldsById; 8436}; 8437 8438Mfe.Classes.DatasetTableSearchResults.prototype.getTemplateVars = function() { 8439 var templateVars = { 8440 'id': this.getId(), 8441 'title': this.getTitle() 8442 }; 8443 8444 return templateVars; 8445}; 8446 8447 8448Mfe.Classes.DatasetTableSearchResults.prototype.getRecordById = function(tableName, recordId) { 8449 var tableId = this.tableIdByViewName[tableName]; 8450 return this.recordsIndexed[tableId][recordId]; 8451}; 8452 8453 8454Mfe.Classes.DatasetView = function(viewObj) { 8455 this.class = 'Mfe.Classes.DatasetView'; 8456 this.viewObj = viewObj; 8457 8458 this.results = []; 8459 this.buildIndex(); 8460}; 8461Mfe.Classes.DatasetView.prototype.getData = function() { 8462 return this.viewObj; 8463}; 8464Mfe.Classes.DatasetView.prototype.getId = function() { 8465 return this.viewObj.id; 8466}; 8467Mfe.Classes.DatasetView.prototype.getTitle = function() { 8468 return this.viewObj.title; 8469}; 8470Mfe.Classes.DatasetView.prototype.getResults = function() { 8471 return this.results; 8472}; 8473 8474Mfe.Classes.DatasetView.prototype.buildIndex = function() { 8475 // Index tables 8476 var recordsIndexed = {}; 8477 var tableFieldsIndexed = {}; 8478 8479 this.tableIdByViewName = {}; 8480 this.recordsById = {}; 8481 this.results = []; 8482 8483 var tableNames = Object.keys(this.viewObj.contents); 8484 for (var i = 0; i < tableNames.length; i++) { 8485 var tableName = tableNames[i]; 8486 var table = this.viewObj.contents[tableName]; 8487 8488 if (i === 0) { 8489 recordsIndexed[table.table.id] = this.indexTable(table, true); 8490 } else { 8491 recordsIndexed[table.table.id] = this.indexTable(table, false); 8492 } 8493 8494 8495 for (var j = 0; j < table.table.fields.length; j++) { 8496 var field = table.table.fields[j]; 8497 tableFieldsIndexed[field.id] = field; 8498 } 8499 8500 this.tableIdByViewName[tableName] = table.table.id; 8501 } 8502 8503 // Prepare records (get actual data from table-links and stuff) 8504 for (var i = 0; i < tableNames.length; i++) { 8505 var tableName = tableNames[i]; 8506 var table = this.viewObj.contents[tableName]; 8507 8508 //var tableFieldsIndexed = this.indexTableFields(table); 8509 8510 var records = recordsIndexed[table.table.id]; 8511 var recordIds = Object.keys(records); 8512 8513 for (var j = 0; j < recordIds.length; j++) { 8514 var recordId = recordIds[j]; 8515 var record = records[recordId]; 8516 8517 var recordTemplateVars = { 8518 'id': record.id 8519 }; 8520 8521 var recordFieldIds = Object.keys(record.values); 8522 for (var k = 0; k < recordFieldIds.length; k++) { 8523 var recordFieldId = recordFieldIds[k]; 8524 var field = tableFieldsIndexed[recordFieldId]; 8525 8526 if (field.type == 'table-link') { 8527 8528 recordTemplateVars[field.templateName] = []; 8529 8530 if (record.values[recordFieldId] !== null) { 8531 for (var l = 0; l < record.values[recordFieldId].length; l++) { 8532 8533 var recordValue = record.values[recordFieldId][l]; 8534 var tableLink = recordsIndexed[field.valueType]; 8535 8536 if (typeof tableLink == 'undefined') { 8537 continue; 8538 } 8539 8540 if (typeof tableLink[recordValue] == 'undefined') { 8541 continue; 8542 } 8543 8544 8545 var tableLinkRecord = tableLink[recordValue]; 8546 8547 // Make template vars for this record 8548 var tableLinkRecordTemplateVars = { 8549 'id': tableLinkRecord.id 8550 }; 8551 8552 var tableLinkRecordFieldIds = Object.keys(tableLinkRecord.values); 8553 for (var m = 0; m < tableLinkRecordFieldIds.length; m++) { 8554 var tableLinkRecordFieldId = tableLinkRecordFieldIds[m]; 8555 var tableLinkField = tableFieldsIndexed[tableLinkRecordFieldId]; 8556 8557 tableLinkRecordTemplateVars[tableLinkField.templateName] = tableLinkRecord.values[tableLinkRecordFieldId]; 8558 } 8559 8560 recordTemplateVars[field.templateName].push(tableLinkRecordTemplateVars); 8561 } 8562 } 8563 8564 } else { 8565 recordTemplateVars[field.templateName] = record.values[recordFieldId]; 8566 } 8567 } 8568 8569 recordsIndexed[table.table.id][recordId].templateVars = recordTemplateVars; 8570 this.recordsById[recordId] = recordsIndexed[table.table.id][recordId]; 8571 } 8572 } 8573 8574 this.recordsIndexed = recordsIndexed; 8575}; 8576 8577Mfe.Classes.DatasetView.prototype.generateContentTemplateVars = function(filters, filterMode) { 8578 var templateVars = {}; 8579 8580 var tableNames = Object.keys(this.viewObj.contents); 8581 for (var i = 0; i < tableNames.length; i++) { 8582 var tableName = tableNames[i]; 8583 var table = this.viewObj.contents[tableName]; 8584 8585 var tableFieldsIndexed = {}; 8586 var tableFieldsIndexedByTemplateKey = {}; 8587 for (let tableField of table.table.fields) { 8588 tableFieldsIndexed[tableField.id] = tableField; 8589 tableFieldsIndexedByTemplateKey[tableField.templateName] = tableField; 8590 } 8591 8592 var records = this.recordsIndexed[table.table.id]; 8593 8594 templateVars[tableName] = []; 8595 8596 var recordIds = Object.keys(records); 8597 for (var j = 0; j < recordIds.length; j++) { 8598 var recordId = recordIds[j]; 8599 var recordTemplateVars = records[recordId].templateVars; 8600 8601 if (typeof filters !== 'undefined') { 8602 if (typeof filters[tableName] !== 'undefined') { 8603 8604 var matchesAll = true; 8605 var matchesAny = false;
8606 8607 var filterFieldKeys = Object.keys(filters[tableName]); 8608 for (var k = 0; k < filterFieldKeys.length; k++) { 8609 var filterFieldKey = filterFieldKeys[k]; 8610 8611 if (Array.isArray(filters[tableName][filterFieldKey]) === true) { 8612 8613 // Tags 8614 if (filters[tableName][filterFieldKey].length == 0) { 8615 continue; 8616 } 8617 8618 for (var l = 0; l < filters[tableName][filterFieldKey].length; l++) { 8619 var filterValue = filters[tableName][filterFieldKey][l]; 8620 8621 var recordItemMatches = false; 8622 for (var m = 0; m < recordTemplateVars[filterFieldKey].length; m++) { 8623 var recordFieldItem = recordTemplateVars[filterFieldKey][m]; 8624 8625 if (recordFieldItem.id == filterValue) { 8626 recordItemMatches = true; 8627 break; 8628 } 8629 } 8630 8631 if (recordItemMatches === false) { 8632 matchesAll = false; 8633 } else { 8634 matchesAny = true; 8635 } 8636 } 8637 8638 } else { 8639 8640 var filterValue = filters[tableName][filterFieldKey]; 8641 8642 var recordItemMatches = false; 8643 for (var m = 0; m < recordTemplateVars[filterFieldKey].length; m++) { 8644 let recordFieldValue = recordTemplateVars[filterFieldKey][m]; 8645 if (recordFieldValue == filterValue || (recordFieldValue.id && recordFieldValue.id == filterValue)) { 8646 recordItemMatches = true; 8647 break; 8648 } 8649 8650 } 8651 8652 if (recordItemMatches === false) { 8653 matchesAll = false; 8654 } else { 8655 matchesAny = true; 8656 } 8657 } 8658 } 8659 8660 if (filterMode == 'any' && matchesAny === true || filterMode == 'all' && matchesAll === true) { 8661 templateVars[tableName].push(recordTemplateVars); 8662 continue; 8663 } 8664 8665 continue; 8666 } 8667 } 8668 8669 templateVars[tableName].push(recordTemplateVars); 8670 } 8671 8672 // Randomize items in array 8673 var tableSettings = this.viewObj.view.settings.tables[table.table.id]; 8674 if (typeof tableSettings.randomize !== 'undefined') { 8675 if (tableSettings.randomize == 'always') { 8676 templateVars[tableName] = templateVars[tableName].randomize(); 8677 } 8678 } else if (this.viewObj.view.data[tableName].sorting) { 8679 8680 let sortField = this.viewObj.view.data[tableName].sorting[0]; 8681 let sortDirection = this.viewObj.view.data[tableName].sorting[1]; 8682 8683 if (typeof templateVars[tableName][0][sortField] === 'undefined') { 8684 sortField = tableFieldsIndexed[sortField].templateName; 8685 } 8686 8687 templateVars[tableName].sort(function(a, b) { 8688 8689 if (tableFieldsIndexedByTemplateKey[sortField] && tableFieldsIndexedByTemplateKey[sortField].valueType === 'text') { 8690 const compareResult = ('' + a[sortField]).localeCompare(b[sortField]); 8691 return compareResult; 8692 } else { 8693 8694 let cmpValueA = a[sortField]; 8695 let cmpValueB = b[sortField]; 8696 8697 if (sortField === 'id') { 8698 cmpValueA = parseInt(cmpValueA); 8699 cmpValueB = parseInt(cmpValueB); 8700 } 8701 8702 if (sortDirection === 'desc') { 8703 if (cmpValueA > cmpValueB) { 8704 return -1; 8705 } else if (cmpValueA < cmpValueB) { 8706 return 1; 8707 } else { 8708 return 0; 8709 } 8710 } else { 8711 if (cmpValueA > cmpValueB) { 8712 return 1; 8713 } else if (cmpValueA < cmpValueB) { 8714 return -1; 8715 } else { 8716 return 0; 8717 } 8718 } 8719 } 8720 8721 8722 }); 8723 8724 } 8725 } 8726 8727 return templateVars; 8728}; 8729Mfe.Classes.DatasetView.prototype.indexTable = function(table, addToResults) { 8730 var recordsById = {}; 8731 8732 for (var i = 0; i < table.records.length; i++) { 8733 var record = table.records[i]; 8734 recordsById[record.id] = record; 8735 8736 if (typeof addToResults === 'undefined' || addToResults === true) { 8737 this.results.push(record); 8738 } 8739 } 8740 8741 return recordsById; 8742}; 8743 8744Mfe.Classes.DatasetView.prototype.indexTableFields = function(table) { 8745 var fieldsById = {}; 8746 8747 for (var i = 0; i < table.table.fields.length; i++) { 8748 var field = table.table.fields[i]; 8749 fieldsById[field.id] = field; 8750 } 8751 8752 return fieldsById; 8753}; 8754 8755Mfe.Classes.DatasetView.prototype.getTemplateVars = function() { 8756 var templateVars = { 8757 'id': this.getId(), 8758 'title': this.getTitle() 8759 }; 8760 8761 return templateVars; 8762}; 8763 8764 8765Mfe.Classes.DatasetView.prototype.getRecordById = function(tableName, recordId) { 8766 var tableId = this.tableIdByViewName[tableName]; 8767 return this.recordsIndexed[tableId][recordId]; 8768}; 8769 8770 8771Mfe.Classes.QueryResult = function(queryResultObj) { 8772 this.class = queryResultObj.class; 8773 this.apiData = queryResultObj; 8774 this.type = queryResultObj.type; 8775 this.results = []; 8776 this.totalMatches = 0; 8777 this.itemsPerPage = 0; 8778 8779 if (typeof this.apiData.totalMatches !== 'undefined') { 8780 this.totalMatches = this.apiData.totalMatches; 8781 } else { 8782 this.totalMatches = queryResultObj.results.length; 8783 } 8784 8785 if (typeof this.apiData.itemsPerPage !== 'undefined') { 8786 this.itemsPerPage = this.apiData.itemsPerPage; 8787 } else { 8788 this.itemsPerPage = queryResultObj.results.length; 8789 } 8790 8791 for (var i = 0; i < queryResultObj.results.length; i++) { 8792 var resultObj = queryResultObj.results[i]; 8793 8794 if (resultObj.class == 'content\\posts\\blog') { 8795 this.results.push(new Mfe.Classes.ContentPostBlog(resultObj)); 8796 } else if (resultObj.class == 'content\\posts\\page') { 8797 this.results.push(new Mfe.Classes.ContentPostPage(resultObj)); 8798 } else if (resultObj.class == 'content\\media') { 8799 this.results.push(new Mfe.Classes.ContentMedia(resultObj)); 8800 } else if (resultObj.class == 'content\\event') { 8801 this.results.push(new Mfe.Classes.ContentEvent(resultObj)); 8802 } else if (resultObj.class == 'menu\\item') { 8803 this.results.push(new Mfe.Classes.SiteMenuItem(resultObj)); 8804 }/* else if (resultObj.class == 'content\\update') { 8805 this.results.push(new Mfe.Classes.ContentUpdate(resultObj)); 8806 } else if (resultObj.class == 'content\\playlist') { 8807 this.results.push(new Mfe.Classes.ContentPlaylist(resultObj)); 8808 } else if (resultObj.class == 'content\\spotlight') { 8809 this.results.push(new Mfe.Classes.ContentSpotlight(resultObj)); 8810 } else if (resultObj.class == 'content\\bookmark') { 8811 this.results.push(new Mfe.Classes.ContentBookmark(resultObj)); 8812 } else if (resultObj.class == 'comment') { 8813 this.results.push(new Mfe.Classes.Comment(resultObj)); 8814 } else if (resultObj.class == 'calendar\\content') { 8815 this.results.push(new Mfe.Classes.CalendarContent(resultObj)); 8816 } else if (resultObj.class == 'googlecalendar\\event') { 8817 this.results.push(new Mfe.Classes.GoogleCalendarEvent(resultObj)); 8818 }*/ 8819 } 8820}; 8821 8822Mfe.Classes.QueryResult.prototype.getType = function() { 8823 return this.type; 8824}; 8825 8826Mfe.Classes.QueryResult.prototype.getEntity = function() { 8827 return this.entity; 8828}; 8829 8830Mfe.Classes.QueryResult.prototype.getTotalMatches = function() { 8831 return this.totalMatches; 8832}; 8833 8834Mfe.Classes.QueryResult.prototype.getItemsPerPage = function() { 8835 return this.itemsPerPage; 8836}; 8837 8838Mfe.Classes.QueryResult.prototype.getResults = function() { 8839 return this.results; 8840}; 8841 8842Mfe.Classes.QueryResult.prototype.getApiData = function() { 8843 return this.apiData; 8844}; 8845 8846Mfe.Classes.SiteAuthor = function(authorObj) { 8847 var authorObj = authorObj; 8848 8849 return { 8850 'getData': function() { 8851 return authorObj; 8852 }, 8853 'getId': function() { 8854 return authorObj.id; 8855 }, 8856 'getFullName': function() { 8857 return authorObj.fullName; 8858 }, 8859 'getTemplateVars': function() { 8860 return { 8861 'id': authorObj.id, 8862 'fullName': authorObj.fullName, 8863 'avatarUrl': mfe.translateUrl(authorObj.avatarUrl), 8864 }; 8865 } 8866 }; 8867}; 8868 8869Mfe.Classes.SiteAuthor.newArray = function(authorObjs) { 8870 var authors = []; 8871 8872 for (var i = 0; i < authorObjs.length; i++) { 8873 var authorObj = authorObjs[i]; 8874 authors.push(new Mfe.Classes.SiteAuthor(authorObj)); 8875 } 8876 8877 return authors; 8878}; 8879 8880Mfe.Classes.SiteAuthor.index = function(objs) { 8881 var index = {}; 8882 8883 for (var i = 0; i < objs.length; i++) { 8884 var obj = objs[i]; 8885 index[obj.getId()] = obj; 8886 } 8887 8888 return index; 8889} 8890 8891Mfe.Classes.SiteAuthor.getArrayTemplateVars = function(authors) { 8892 var templateVars = []; 8893 for (var i = 0; i < authors.length; i++) { 8894 var author = authors[i]; 8895 templateVars.push(author.getTemplateVars()); 8896 } 8897 8898 return templateVars; 8899}; 8900 8901Mfe.Classes.SiteBundle = function(siteBundleObj) { 8902 this.siteBundleObj = siteBundleObj; 8903 8904 this.cmsBlogGroups = []; 8905 this.cmsBlogGroupsIndexed = {}; 8906 for (var i = 0; i < siteBundleObj.postGroups.length; i++) { 8907 var postGroupObj = siteBundleObj.postGroups[i]; 8908 8909 var postGroup = new Mfe.Classes.SitePostGroup(postGroupObj); 8910 this.cmsBlogGroups.push(postGroup); 8911 8912 this.cmsBlogGroupsIndexed[postGroup.getId()] = postGroup; 8913 } 8914 8915 this.menus = []; 8916 this.menusIndexed = {}; 8917 for (var i = 0; i < siteBundleObj.menus.length; i++) { 8918 var menusObj = siteBundleObj.menus[i]; 8919 8920 var menu = new Mfe.Classes.SiteMenu(menusObj); 8921 this.menus.push(menu); 8922 8923 this.menusIndexed[menu.getId()] = menu; 8924 } 8925 8926 8927 this.components = []; 8928 this.componentsIndexed = {}; 8929 if (siteBundleObj.components) { 8930 for (var i = 0; i < siteBundleObj.components.length; i++) { 8931 var componentsObj = siteBundleObj.components[i]; 8932 8933 var component = new Mfe.Classes.SiteComponent(componentsObj); 8934 this.components.push(component); 8935 8936 this.componentsIndexed[component.getId()] = component; 8937 } 8938 } 8939 8940 this.presets = []; 8941 this.presetsIndexed = {}; 8942 if (siteBundleObj.presets) { 8943 for (var i = 0; i < siteBundleObj.presets.length; i++) { 8944 var presetObj = siteBundleObj.presets[i]; 8945 8946 var preset = new Mfe.Classes.SitePreset(presetObj); 8947 this.presets.push(preset); 8948 8949 this.presetsIndexed[preset.getId()] = preset; 8950 } 8951 } 8952}; 8953Mfe.Classes.SiteBundle.prototype.getName = function(){ 8954 return this.siteBundleObj.name; 8955}; 8956Mfe.Classes.SiteBundle.prototype.getTitle = function(){ 8957 return this.siteBundleObj.title; 8958}; 8959Mfe.Classes.SiteBundle.prototype.getCmsPagePaths = function(){ 8960 return this.siteBundleObj.cmsPagePaths; 8961}; 8962Mfe.Classes.SiteBundle.prototype.getCmsBlogGroups = function(){ 8963 return this.cmsBlogGroups; 8964}; 8965Mfe.Classes.SiteBundle.prototype.getContentSets = function(){ 8966 return this.contentSets; 8967}; 8968Mfe.Classes.SiteBundle.prototype.getContentSetById = function(id){ 8969 return this.contentSetsIndexed[id]; 8970}; 8971Mfe.Classes.SiteBundle.prototype.getMenus = function(){ 8972 return this.menus; 8973}; 8974Mfe.Classes.SiteBundle.prototype.getMenuById = function(id){ 8975 return this.menusIndexed[id]; 8976}; 8977Mfe.Classes.SiteBundle.prototype.getComponents = function(){ 8978 return this.components; 8979}; 8980Mfe.Classes.SiteBundle.prototype.getComponentById = function(id){ 8981 return this.componentsIndexed[id]; 8982}; 8983Mfe.Classes.SiteBundle.prototype.updatePresetByObj = function(presetObj){ 8984 var preset = new Mfe.Classes.SitePreset(presetObj); 8985 this.updatePreset(preset); 8986}; 8987Mfe.Classes.SiteBundle.prototype.updatePreset = function(preset){ 8988 for (var i = 0; i < this.presets.length; i++) { 8989 if (this.presets[i].getId() == preset.getId()) { 8990 this.presets[i] = preset; 8991 break; 8992 } 8993 } 8994 8995 this.presetsIndexed[preset.getId()] = preset; 8996}; 8997Mfe.Classes.SiteBundle.prototype.addPresetByObj = function(presetObj){ 8998 var preset = new Mfe.Classes.SitePreset(presetObj); 8999 this.addPreset(preset); 9000}; 9001Mfe.Classes.SiteBundle.prototype.addPreset = function(preset){ 9002 this.presets.push(preset); 9003 this.presetsIndexed[preset.getId()] = preset; 9004}; 9005Mfe.Classes.SiteBundle.prototype.getPresets = function(){ 9006 return this.presets; 9007}; 9008Mfe.Classes.SiteBundle.prototype.getPresetById = function(id){ 9009 return this.presetsIndexed[id]; 9010}; 9011Mfe.Classes.SiteBundle.prototype.getMenuByType = function(type){ 9012 for (var i = 0; i < this.menus.length; i++) { 9013 var menu = this.menus[i]; 9014 if (menu.getType() == type) { 9015 return menu; 9016 } 9017 } 9018 9019 return null; 9020}; 9021Mfe.Classes.SiteBundle.prototype.getMenuByLanguage = function(type, language) { 9022 var typeMenus = []; 9023 for (var i = 0; i < this.menus.length; i++) { 9024 var menu = this.menus[i]; 9025 if (menu.getType() == type) { 9026 typeMenus.push(menu); 9027 } 9028 } 9029 9030 for (var i = 0; i < typeMenus.length; i++) { 9031 var typeMenu = typeMenus[i]; 9032 if (typeMenu.getLanguage() == language) { 9033 return typeMenu; 9034 } 9035 } 9036 9037 if (typeMenus.length > 0) { 9038 return typeMenus[0]; 9039 } 9040 9041 return null; 9042}; 9043Mfe.Classes.SiteBundle.prototype.getCmsBlogGroupById = function(id){ 9044 return this.cmsBlogGroupsIndexed[id]; 9045}; 9046Mfe.Classes.SiteBundle.prototype.getDonationSettings = function(){ 9047 return this.siteBundleObj.donations; 9048}; 9049Mfe.Classes.SiteComponent = function(groupObj) { 9050 this.name = 'SiteComponent'; 9051 this.groupObj = groupObj; 9052}; 9053Mfe.Classes.SiteComponent.prototype.getId = function() { 9054 return this.groupObj.id; 9055}; 9056Mfe.Classes.SiteComponent.prototype.getConfig = function() { 9057 return this.groupObj.revision.config; 9058}; 9059 9060Mfe.Classes.SiteComponent.name = 'SiteComponent'; 9061 9062Mfe.Classes.SiteComponent.newArray = function(groupObjs) { 9063 var destinations = []; 9064 9065 for (var i = 0; i < groupObjs.length; i++) { 9066 var groupObj = groupObjs[i]; 9067 destinations.push(new Mfe.Classes.SiteComponent(groupObj)); 9068 } 9069 9070 return destinations; 9071}; 9072 9073Mfe.Classes.SiteComponent.index = function(objs) { 9074 var index = {}; 9075 9076 for (var i = 0; i < objs.length; i++) { 9077 var obj = objs[i]; 9078 index[obj.getId()] = obj; 9079 } 9080 9081 return index; 9082} 9083 9084Mfe.Classes.SiteComponent.getSimpleTemplateVars = function(groups) { 9085 var simpleTemplateVars = []; 9086 9087 for (var i = 0; i < groups.length; i++) { 9088 var obj = groups[i]; 9089 9090 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9091 } 9092 9093 return simpleTemplateVars; 9094} 9095 9096Mfe.Classes.SiteComponent.getArrayTemplateVars = function(postGroups) { 9097 var templateVars = []; 9098 for (var i = 0; i < postGroups.length; i++) { 9099 var postGroup = postGroups[i]; 9100 templateVars.push(postGroup.getTemplateVars()); 9101 } 9102 9103 return templateVars; 9104}; 9105Mfe.Classes.SiteContentSet = function(setObj) { 9106 this.name = 'SiteContentSet'; 9107 this.setObj = setObj; 9108}; 9109Mfe.Classes.SiteContentSet.prototype.getId = function() { 9110 return this.setObj.id; 9111}; 9112Mfe.Classes.SiteContentSet.prototype.getTitle = function() { 9113 return this.setObj.title; 9114}; 9115Mfe.Classes.SiteContentSet.prototype.getTemplateVars = function() { 9116 return { 9117 'id': this.setObj.id, 9118 'title': this.setObj.title 9119 }; 9120}; 9121Mfe.Classes.SiteContentSet.prototype.getSimpleTemplateVars = function() { 9122 return { 9123 'id': this.setObj.id, 9124 'title': this.setObj.title 9125 }; 9126}; 9127 9128Mfe.Classes.SiteContentSet.name = 'SiteContentSet'; 9129 9130Mfe.Classes.SiteContentSet.newArray = function(setObjs) { 9131 var destinations = []; 9132 9133 for (var i = 0; i < setObjs.length; i++) { 9134 var setObj = setObjs[i]; 9135 destinations.push(new Mfe.Classes.SiteContentSet(setObj)); 9136 } 9137 9138 return destinations; 9139}; 9140 9141Mfe.Classes.SiteContentSet.index = function(objs) { 9142 var index = {}; 9143 9144 for (var i = 0; i < objs.length; i++) { 9145 var obj = objs[i]; 9146 index[obj.getId()] = obj; 9147 } 9148 9149 return index; 9150} 9151 9152Mfe.Classes.SiteContentSet.getSimpleTemplateVars = function(groups) { 9153 var simpleTemplateVars = []; 9154 9155 for (var i = 0; i < groups.length; i++) { 9156 var obj = groups[i]; 9157 9158 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9159 } 9160 9161 return simpleTemplateVars; 9162} 9163 9164Mfe.Classes.SiteContentSet.getArrayTemplateVars = function(postGroups) { 9165 var templateVars = []; 9166 for (var i = 0; i < postGroups.length; i++) { 9167 var postGroup = postGroups[i]; 9168 templateVars.push(postGroup.getTemplateVars()); 9169 } 9170 9171 return templateVars; 9172}; 9173Mfe.Classes.SiteMenu = function(groupObj) { 9174 this.name = 'SiteMenu'; 9175 this.groupObj = groupObj; 9176}; 9177Mfe.Classes.SiteMenu.prototype.getId = function() { 9178 return this.groupObj.id; 9179}; 9180Mfe.Classes.SiteMenu.prototype.getTitle = function() { 9181 return this.groupObj.title; 9182}; 9183Mfe.Classes.SiteMenu.prototype.getType = function() { 9184 return this.groupObj.type; 9185}; 9186Mfe.Classes.SiteMenu.prototype.getLanguage = function() { 9187 return this.groupObj.language; 9188}; 9189Mfe.Classes.SiteMenu.prototype.getItemsAsQueryResult = function() { 9190 var items = this.getItems(); 9191 9192 var queryResultItems = []; 9193 9194 for (var i = 0; i < items.length; i++) { 9195 var itemObj = items[i]; 9196 itemObj.class = 'menu\\item'; 9197 queryResultItems.push(itemObj); 9198 } 9199 9200 var queryResult = new Mfe.Classes.QueryResult({ 9201 'class': 'queryresult', 9202 'type': 'menu', 9203 'results': queryResultItems 9204 }); 9205 9206 return queryResult; 9207}
9207; 9208Mfe.Classes.SiteMenu.prototype.getItems = function(pagePath, autoSelectFirstItem) { 9209 if (isEmpty(this.groupObj.revision) === true) { 9210 return []; 9211 } 9212 if (isEmpty(this.groupObj.revision.config) === true) { 9213 return []; 9214 } 9215 9216 if (typeof pagePath == 'undefined') { 9217 return this.groupObj.revision.config; 9218 } 9219 9220 var extendedItems = []; 9221 var items = JSON.parse(JSON.stringify(this.groupObj.revision.config)); 9222 9223 var selectedItemIndex = null; 9224 for (var i = 0; i < items.length; i++) { 9225 var item = items[i]; 9226 9227 var matchPath; 9228 if (item.selectedUrl) { 9229 matchPath = item.selectedUrl; 9230 } else { 9231 matchPath = item.url; 9232 } 9233 9234 items[i].matchPath = matchPath; 9235 item.matchPath = matchPath; 9236 9237 var matches = false; 9238 if (pagePath == matchPath) { 9239 matches = true; 9240 } else if (matchPath == '/') { 9241 matches = false; 9242 } else if (pagePath.substring(0, matchPath.length) == matchPath) { 9243 matches = true; 9244 } 9245 9246 if (matches === true) { 9247 if (selectedItemIndex === null) { 9248 selectedItemIndex = i; 9249 } else { 9250 var selectedMatchPath; 9251 if (items[selectedItemIndex].selectedUrl) { 9252 selectedMatchPath = items[selectedItemIndex].selectedUrl; 9253 } else { 9254 selectedMatchPath = items[selectedItemIndex].url; 9255 } 9256 9257 if (matchPath.length > selectedMatchPath.length) { 9258 selectedItemIndex = i; 9259 } 9260 } 9261 } 9262 9263 /* 9264 9265 console.log('menu item'); 9266 console.log(item); 9267 9268 if (selectedItemIndex === null) { 9269 9270 9271 9272 console.log('MATCH PATH:'); 9273 console.log(matchPath); 9274 9275 9276 9277 if (matches === true) { 9278 console.log('item matches: '); 9279 console.log(matchPath); 9280 selectedItemIndex = i; 9281 } 9282 9283 } else { 9284 9285 var matchPath; 9286 if (item.selectedUrl) { 9287 matchPath = item.selectedUrl; 9288 } else { 9289 matchPath = item.url; 9290 } 9291 9292 if (pagePath == matchPath) { 9293 selectedItemIndex = i; 9294 } else if (pagePath.substring(0, matchPath.length) == matchPath) { 9295 9296 if (matchPath.length > items[selectedItemIndex].url) { 9297 selectedItemIndex = i; 9298 } 9299 } 9300 9301 }*/ 9302 9303 item.isSelected = false; 9304 extendedItems.push(item); 9305 } 9306 9307 if (selectedItemIndex === null && (typeof autoSelectFirstItem !== 'undefined' && autoSelectFirstItem === true)) { 9308 selectedItemIndex = 0; 9309 } 9310 9311 if (selectedItemIndex !== null) { 9312 extendedItems[selectedItemIndex].isSelected = true; 9313 } 9314 9315 return extendedItems; 9316}; 9317Mfe.Classes.SiteMenu.prototype.getTemplateVars = function(pagePath) { 9318 return { 9319 'id': this.groupObj.id, 9320 'title': this.groupObj.title, 9321 'type': this.groupObj.type, 9322 'language': this.groupObj.language, 9323 'items': this.getItems(pagePath) 9324 }; 9325}; 9326Mfe.Classes.SiteMenu.prototype.getSimpleTemplateVars = function() { 9327 return { 9328 'id': this.groupObj.id, 9329 'title': this.groupObj.title 9330 }; 9331}; 9332 9333Mfe.Classes.SiteMenu.name = 'SiteMenu'; 9334 9335Mfe.Classes.SiteMenu.newArray = function(groupObjs) { 9336 var destinations = []; 9337 9338 for (var i = 0; i < groupObjs.length; i++) { 9339 var groupObj = groupObjs[i]; 9340 destinations.push(new Mfe.Classes.SiteMenu(groupObj)); 9341 } 9342 9343 return destinations; 9344}; 9345 9346Mfe.Classes.SiteMenu.index = function(objs) { 9347 var index = {}; 9348 9349 for (var i = 0; i < objs.length; i++) { 9350 var obj = objs[i]; 9351 index[obj.getId()] = obj; 9352 } 9353 9354 return index; 9355} 9356 9357Mfe.Classes.SiteMenu.getSimpleTemplateVars = function(groups) { 9358 var simpleTemplateVars = []; 9359 9360 for (var i = 0; i < groups.length; i++) { 9361 var obj = groups[i]; 9362 9363 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9364 } 9365 9366 return simpleTemplateVars; 9367} 9368 9369Mfe.Classes.SiteMenu.getArrayTemplateVars = function(postGroups) { 9370 var templateVars = []; 9371 for (var i = 0; i < postGroups.length; i++) { 9372 var postGroup = postGroups[i]; 9373 templateVars.push(postGroup.getTemplateVars()); 9374 } 9375 9376 return templateVars; 9377}; 9378Mfe.Classes.SiteMenuItem = function(itemObj) { 9379 this.name = 'SiteMenuItem'; 9380 this.itemObj = itemObj; 9381 this.class = itemObj.class; 9382}; 9383Mfe.Classes.SiteMenuItem.prototype.get = function() { 9384 return this.itemObj.id; 9385}; 9386Mfe.Classes.SiteMenuItem.prototype.getTemplateVars = function() { 9387 var templateVars = { 9388 'type': this.itemObj.type, 9389 'title': this.itemObj.title, 9390 'url': this.itemObj.url, 9391 'style': this.itemObj.style, 9392 'iconSet': 'brand', 9393 'icon': this.itemObj.icon, 9394 'imageUrl': this.itemObj.imageUrl, 9395 'buttonText': this.itemObj.buttonText, 9396 'description': this.itemObj.description 9397 }; 9398 9399 if (this.itemObj.iconSet !== 'undefined') { 9400 templateVars.iconSet = this.itemObj.iconSet; 9401 } 9402 9403 return templateVars; 9404}; 9405Mfe.Classes.SiteMenuItem.name = 'SiteMenuItem'; 9406 9407Mfe.Classes.SiteMenuItem.newArray = function(itemObjs) { 9408 var destinations = []; 9409 9410 for (var i = 0; i < itemObjs.length; i++) { 9411 var itemObj = itemObjs[i]; 9412 destinations.push(new Mfe.Classes.SiteMenuItem(itemObj)); 9413 } 9414 9415 return destinations; 9416}; 9417 9418Mfe.Classes.SiteMenuItem.index = function(objs) { 9419 var index = {}; 9420 9421 for (var i = 0; i < objs.length; i++) { 9422 var obj = objs[i]; 9423 index[obj.getId()] = obj; 9424 } 9425 9426 return index; 9427} 9428 9429Mfe.Classes.SiteMenuItem.getArrayTemplateVars = function(postGroups) { 9430 var templateVars = []; 9431 for (var i = 0; i < postGroups.length; i++) { 9432 var postGroup = postGroups[i]; 9433 templateVars.push(postGroup.getTemplateVars()); 9434 } 9435 9436 return templateVars; 9437}; 9438Mfe.Classes.SitePostGroup = function(groupObj) { 9439 this.name = 'SitePostGroup'; 9440 this.groupObj = groupObj; 9441}; 9442Mfe.Classes.SitePostGroup.prototype.getId = function() { 9443 return this.groupObj.id; 9444}; 9445Mfe.Classes.SitePostGroup.prototype.getTitle = function() { 9446 return this.groupObj.title; 9447}; 9448Mfe.Classes.SitePostGroup.prototype.getLabel = function() { 9449 return this.groupObj.label; 9450}; 9451Mfe.Classes.SitePostGroup.prototype.getType = function() { 9452 return this.groupObj.type; 9453}; 9454Mfe.Classes.SitePostGroup.prototype.getTemplateVars = function() { 9455 var label = ''; 9456 if (typeof this.groupObj.label !== 'undefined') { 9457 label = this.groupObj.label; 9458 } 9459 9460 return { 9461 'id': this.groupObj.id, 9462 'title': this.groupObj.title, 9463 'label': (label.length > 0 ? label : this.groupObj.title), 9464 'type': this.groupObj.type 9465 }; 9466}; 9467Mfe.Classes.SitePostGroup.prototype.getSimpleTemplateVars = function() { 9468 var label = ''; 9469 if (typeof this.groupObj.label !== 'undefined') { 9470 label = this.groupObj.label; 9471 } 9472 9473 9474 return { 9475 'id': this.groupObj.id, 9476 'title': this.groupObj.title, 9477 'label': (label.length > 0 ? label : this.groupObj.title) 9478 }; 9479}; 9480 9481Mfe.Classes.SitePostGroup.name = 'SiteDestination'; 9482 9483Mfe.Classes.SitePostGroup.newArray = function(groupObjs) { 9484 var destinations = []; 9485 9486 for (var i = 0; i < groupObjs.length; i++) { 9487 var groupObj = groupObjs[i]; 9488 destinations.push(new Mfe.Classes.SitePostGroup(groupObj)); 9489 } 9490 9491 return destinations; 9492}; 9493 9494Mfe.Classes.SitePostGroup.index = function(objs) { 9495 var index = {}; 9496 9497 for (var i = 0; i < objs.length; i++) { 9498 var obj = objs[i]; 9499 index[obj.getId()] = obj; 9500 } 9501 9502 return index; 9503} 9504 9505Mfe.Classes.SitePostGroup.getSimpleTemplateVars = function(groups) { 9506 var simpleTemplateVars = []; 9507 9508 for (var i = 0; i < groups.length; i++) { 9509 var obj = groups[i]; 9510 9511 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9512 } 9513 9514 return simpleTemplateVars; 9515} 9516 9517Mfe.Classes.SitePostGroup.getArrayTemplateVars = function(postGroups) { 9518 var templateVars = []; 9519 for (var i = 0; i < postGroups.length; i++) { 9520 var postGroup = postGroups[i]; 9521 templateVars.push(postGroup.getTemplateVars()); 9522 } 9523 9524 return templateVars; 9525}; 9526Mfe.Classes.SitePreset = function(presetObj) { 9527 this.name = 'SitePreset'; 9528 this.presetObj = presetObj; 9529}; 9530Mfe.Classes.SitePreset.prototype.getId = function() { 9531 return this.presetObj.id; 9532}; 9533Mfe.Classes.SitePreset.prototype.getTitle = function() { 9534 return this.presetObj.title; 9535}; 9536Mfe.Classes.SitePreset.prototype.getEntity = function() { 9537 return this.presetObj.entity; 9538}; 9539Mfe.Classes.SitePreset.prototype.getEntityType = function() { 9540 return this.presetObj.entityType; 9541}; 9542Mfe.Classes.SitePreset.prototype.getConfig = function() { 9543 return this.presetObj.config; 9544}; 9545 9546Mfe.Classes.SitePreset.name = 'SitePreset'; 9547 9548Mfe.Classes.SitePreset.newArray = function(presetObjs) { 9549 var destinations = []; 9550 9551 for (var i = 0; i < presetObjs.length; i++) { 9552 var presetObj = presetObjs[i]; 9553 destinations.push(new Mfe.Classes.SitePreset(presetObj)); 9554 } 9555 9556 return destinations; 9557}; 9558 9559Mfe.Classes.SitePreset.index = function(objs) { 9560 var index = {}; 9561 9562 for (var i = 0; i < objs.length; i++) { 9563 var obj = objs[i]; 9564 index[obj.getId()] = obj; 9565 } 9566 9567 return index; 9568} 9569 9570Mfe.Classes.SitePreset.getSimpleTemplateVars = function(groups) { 9571 var simpleTemplateVars = []; 9572 9573 for (var i = 0; i < groups.length; i++) { 9574 var obj = groups[i]; 9575 9576 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9577 } 9578 9579 return simpleTemplateVars; 9580} 9581 9582Mfe.Classes.SitePreset.getArrayTemplateVars = function(postGroups) { 9583 var templateVars = []; 9584 for (var i = 0; i < postGroups.length; i++) { 9585 var postGroup = postGroups[i]; 9586 templateVars.push(postGroup.getTemplateVars()); 9587 } 9588 9589 return templateVars; 9590}; 9591Mfe.Classes.SiteStoryline = function(storylineObj) { 9592 this.class = storylineObj.class; 9593 9594 this.storylineObj = storylineObj; 9595 9596 this.contents = []; 9597 if (isEmpty(storylineObj.contents) === false) { 9598 for (var i = 0; i < storylineObj.contents.length; i++) { 9599 var resultObj = storylineObj.contents[i]; 9600 9601 if (resultObj.class == 'content\\posts\\blog') { 9602 this.contents.push(new Mfe.Classes.ContentPostBlog(resultObj)); 9603 } else if (resultObj.class == 'content\\posts\\page') { 9604 this.contents.push(new Mfe.Classes.ContentPostPage(resultObj)); 9605 } else if (resultObj.class == 'content\\media') { 9606 this.contents.push(new Mfe.Classes.ContentMedia(resultObj)); 9607 } else if (resultObj.class == 'content\\event') { 9608 this.contents.push(new Mfe.Classes.ContentEvent(resultObj)); 9609 } 9610 } 9611 } 9612}; 9613 9614Mfe.Classes.SiteStoryline.prototype.getId = function() { 9615 return this.storylineObj.id; 9616}; 9617 9618Mfe.Classes.SiteStoryline.prototype.getTitle = function() { 9619 return this.storylineObj.title; 9620}; 9621 9622Mfe.Classes.SiteStoryline.prototype.getDescription = function() { 9623 return this.storylineObj.description; 9624}; 9625 9626Mfe.Classes.SiteStoryline.prototype.getContents = function() { 9627 return this.contents; 9628}; 9629 9630Mfe.Classes.SiteStoryline.prototype.getResults = function() { 9631 return this.getContents(); 9632}; 9633 9634Mfe.Classes.SiteStoryline.prototype.getTemplateVars = function(mfe) { 9635 var templateVars = { 9636 'id': this.getId(), 9637 'title': this.getTitle(), 9638 'description': this.getDescription() 9639 }; 9640 9641 return templateVars; 9642}; 9643 9644 9645Mfe.Classes.SiteStoryline.newArray = function(storylineObjs) { 9646 var authors = []; 9647 9648 for (var i = 0; i < storylineObjs.length; i++) { 9649 var storylineObj = storylineObjs[i]; 9650 authors.push(new Mfe.Classes.SiteStoryline(storylineObj)); 9651 } 9652 9653 return authors; 9654}; 9655 9656Mfe.Classes.SiteStoryline.index = function(objs) { 9657 var index = {}; 9658 9659 for (var i = 0; i < objs.length; i++) { 9660 var obj = objs[i]; 9661 index[obj.getId()] = obj; 9662 } 9663 9664 return index; 9665} 9666 9667Mfe.Classes.SiteUserGroup = function(groupObj) { 9668 this.class = groupObj.class; 9669 9670 this.name = 'SiteUserGroup'; 9671 this.groupObj = groupObj; 9672 9673 this.teams = []; 9674 for (var i = 0; i < this.groupObj.teams.length; i++) { 9675 var teamObj = this.groupObj.teams[i]; 9676 this.teams.push(new Mfe.Classes.SiteUserGroupTeam(teamObj)); 9677 } 9678}; 9679Mfe.Classes.SiteUserGroup.prototype.getId = function() { 9680 return this.groupObj.id; 9681}; 9682Mfe.Classes.SiteUserGroup.prototype.getTitle = function() { 9683 return this.groupObj.title; 9684}; 9685Mfe.Classes.SiteUserGroup.prototype.getTeams = function() { 9686 return this.teams; 9687}; 9688Mfe.Classes.SiteUserGroup.prototype.getTemplateVars = function() { 9689 var templateVars = { 9690 'id': this.groupObj.id, 9691 'title': this.groupObj.title, 9692 'teams': [] 9693 }; 9694
9695 this.teams.forEach(function(el){ 9696 templateVars.teams.push(el.getTemplateVars()); 9697 }); 9698 9699 9700 9701 return templateVars; 9702}; 9703Mfe.Classes.SiteUserGroup.prototype.getSimpleTemplateVars = function() { 9704 return { 9705 'id': this.groupObj.id, 9706 'title': this.groupObj.title 9707 }; 9708}; 9709 9710Mfe.Classes.SiteUserGroup.name = 'SiteUserGroup'; 9711 9712Mfe.Classes.SiteUserGroup.newArray = function(groupObjs) { 9713 var destinations = []; 9714 9715 for (var i = 0; i < groupObjs.length; i++) { 9716 var groupObj = groupObjs[i]; 9717 destinations.push(new Mfe.Classes.SiteUserGroup(groupObj)); 9718 } 9719 9720 return destinations; 9721}; 9722 9723Mfe.Classes.SiteUserGroup.index = function(objs) { 9724 var index = {}; 9725 9726 for (var i = 0; i < objs.length; i++) { 9727 var obj = objs[i]; 9728 index[obj.getId()] = obj; 9729 } 9730 9731 return index; 9732} 9733 9734Mfe.Classes.SiteUserGroup.getSimpleTemplateVars = function(groups) { 9735 var simpleTemplateVars = []; 9736 9737 for (var i = 0; i < groups.length; i++) { 9738 var obj = groups[i]; 9739 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9740 } 9741 9742 return simpleTemplateVars; 9743} 9744 9745Mfe.Classes.SiteUserGroup.getArrayTemplateVars = function(postGroups) { 9746 var templateVars = []; 9747 for (var i = 0; i < postGroups.length; i++) { 9748 var postGroup = postGroups[i]; 9749 templateVars.push(postGroup.getTemplateVars()); 9750 } 9751 9752 return templateVars; 9753}; 9754Mfe.Classes.SiteUserGroupTeam = function(teamObj) { 9755 this.class = teamObj.class; 9756 9757 this.name = 'SiteUserGroupTeam'; 9758 this.teamObj = teamObj; 9759 9760 this.members = []; 9761 this.tags = []; 9762 9763 for (var i = 0; i < this.teamObj.members.length; i++) { 9764 var memberObj = this.teamObj.members[i]; 9765 this.members.push(new Mfe.Classes.SiteUserGroupTeamMember(memberObj)); 9766 } 9767 9768 for (var i = 0; i < this.teamObj.tags.length; i++) { 9769 var tagObj = this.teamObj.tags[i]; 9770 this.tags.push(new Mfe.Classes.SiteUserGroupTeamTag(tagObj)); 9771 } 9772 9773}; 9774Mfe.Classes.SiteUserGroupTeam.prototype.getData = function() { 9775 return this.teamObj; 9776}; 9777Mfe.Classes.SiteUserGroupTeam.prototype.getId = function() { 9778 return this.teamObj.id; 9779}; 9780Mfe.Classes.SiteUserGroupTeam.prototype.getTitle = function() { 9781 return this.teamObj.title; 9782}; 9783Mfe.Classes.SiteUserGroupTeam.prototype.getMembers = function() { 9784 return this.members; 9785}; 9786Mfe.Classes.SiteUserGroupTeam.prototype.getTemplateVars = function() { 9787 return { 9788 'id': this.teamObj.id, 9789 'title': this.teamObj.title, 9790 'tags': Mfe.Classes.SiteUserGroupTeamTag.getArrayTemplateVars(this.tags), 9791 'members': Mfe.Classes.SiteUserGroupTeamMember.getArrayTemplateVars(this.members) 9792 }; 9793}; 9794Mfe.Classes.SiteUserGroupTeam.prototype.getSimpleTemplateVars = function() { 9795 return { 9796 'id': this.teamObj.id, 9797 'title': this.teamObj.title 9798 }; 9799}; 9800 9801Mfe.Classes.SiteUserGroupTeam.name = 'SiteUserGroupTeam'; 9802 9803Mfe.Classes.SiteUserGroupTeam.newArray = function(teamObjs) { 9804 var destinations = []; 9805 9806 for (var i = 0; i < teamObjs.length; i++) { 9807 var teamObj = teamObjs[i]; 9808 destinations.push(new Mfe.Classes.SiteUserGroupTeam(teamObj)); 9809 } 9810 9811 return destinations; 9812}; 9813 9814Mfe.Classes.SiteUserGroupTeam.index = function(objs) { 9815 var index = {}; 9816 9817 for (var i = 0; i < objs.length; i++) { 9818 var obj = objs[i]; 9819 index[obj.getId()] = obj; 9820 } 9821 9822 return index; 9823} 9824 9825Mfe.Classes.SiteUserGroupTeam.getSimpleTemplateVars = function(groups) { 9826 var simpleTemplateVars = []; 9827 9828 for (var i = 0; i < groups.length; i++) { 9829 var obj = groups[i]; 9830 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9831 } 9832 9833 return simpleTemplateVars; 9834} 9835 9836Mfe.Classes.SiteUserGroupTeam.getArrayTemplateVars = function(postGroups) { 9837 var templateVars = []; 9838 for (var i = 0; i < postGroups.length; i++) { 9839 var postGroup = postGroups[i]; 9840 templateVars.push(postGroup.getTemplateVars()); 9841 } 9842 9843 return templateVars; 9844}; 9845Mfe.Classes.SiteUserGroupTeamMember = function(memberObj) { 9846 this.class = memberObj.class; 9847 9848 this.name = 'SiteUserGroupTeamMember'; 9849 this.memberObj = memberObj; 9850}; 9851Mfe.Classes.SiteUserGroupTeamMember.prototype.getId = function() { 9852 return this.memberObj.id; 9853}; 9854Mfe.Classes.SiteUserGroupTeamMember.prototype.getTitle = function() { 9855 return this.memberObj.title; 9856}; 9857Mfe.Classes.SiteUserGroupTeamMember.prototype.getTemplateVars = function() { 9858 return { 9859 'id': this.memberObj.id, 9860 'name': this.memberObj.name, 9861 'title': this.memberObj.title 9862 }; 9863}; 9864Mfe.Classes.SiteUserGroupTeamMember.prototype.getSimpleTemplateVars = function() { 9865 return { 9866 'id': this.memberObj.id, 9867 'title': this.memberObj.title 9868 }; 9869}; 9870 9871Mfe.Classes.SiteUserGroupTeamMember.name = 'SiteUserGroupTeamMember'; 9872 9873Mfe.Classes.SiteUserGroupTeamMember.newArray = function(memberObjs) { 9874 var destinations = []; 9875 9876 for (var i = 0; i < memberObjs.length; i++) { 9877 var memberObj = memberObjs[i]; 9878 destinations.push(new Mfe.Classes.SiteUserGroupTeamMember(memberObj)); 9879 } 9880 9881 return destinations; 9882}; 9883 9884Mfe.Classes.SiteUserGroupTeamMember.index = function(objs) { 9885 var index = {}; 9886 9887 for (var i = 0; i < objs.length; i++) { 9888 var obj = objs[i]; 9889 index[obj.getId()] = obj; 9890 } 9891 9892 return index; 9893} 9894 9895Mfe.Classes.SiteUserGroupTeamMember.getSimpleTemplateVars = function(members) { 9896 var simpleTemplateVars = []; 9897 9898 for (var i = 0; i < members.length; i++) { 9899 var obj = members[i]; 9900 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9901 } 9902 9903 return simpleTemplateVars; 9904} 9905 9906Mfe.Classes.SiteUserGroupTeamMember.getArrayTemplateVars = function(members) { 9907 var templateVars = []; 9908 for (var i = 0; i < members.length; i++) { 9909 var postGroup = members[i]; 9910 templateVars.push(postGroup.getTemplateVars()); 9911 } 9912 9913 return templateVars; 9914}; 9915Mfe.Classes.SiteUserGroupTeamTag = function(tagObj) { 9916 this.class = tagObj.class; 9917 9918 this.name = 'SiteUserGroupTeamTag'; 9919 this.tagObj = tagObj; 9920}; 9921Mfe.Classes.SiteUserGroupTeamTag.prototype.getId = function() { 9922 return this.tagObj.id; 9923}; 9924Mfe.Classes.SiteUserGroupTeamTag.prototype.getTitle = function() { 9925 return this.tagObj.title; 9926}; 9927Mfe.Classes.SiteUserGroupTeamTag.prototype.getTemplateVars = function() { 9928 return { 9929 'id': this.tagObj.id, 9930 'title': this.tagObj.title, 9931 9932 }; 9933}; 9934Mfe.Classes.SiteUserGroupTeamTag.prototype.getSimpleTemplateVars = function() { 9935 return { 9936 'id': this.tagObj.id, 9937 'title': this.tagObj.title 9938 }; 9939}; 9940 9941Mfe.Classes.SiteUserGroupTeamTag.name = 'SiteUserGroupTeamTag'; 9942 9943Mfe.Classes.SiteUserGroupTeamTag.newArray = function(tagObjs) { 9944 var destinations = []; 9945 9946 for (var i = 0; i < tagObjs.length; i++) { 9947 var tagObj = tagObjs[i]; 9948 destinations.push(new Mfe.Classes.SiteUserGroupTeamTag(tagObj)); 9949 } 9950 9951 return destinations; 9952}; 9953 9954Mfe.Classes.SiteUserGroupTeamTag.index = function(objs) { 9955 var index = {}; 9956 9957 for (var i = 0; i < objs.length; i++) { 9958 var obj = objs[i]; 9959 index[obj.getId()] = obj; 9960 } 9961 9962 return index; 9963} 9964 9965Mfe.Classes.SiteUserGroupTeamTag.getSimpleTemplateVars = function(teamTags) { 9966 var simpleTemplateVars = []; 9967 9968 for (var i = 0; i < teamTags.length; i++) { 9969 var obj = teamTags[i]; 9970 simpleTemplateVars.push(obj.getSimpleTemplateVars()); 9971 } 9972 9973 return simpleTemplateVars; 9974} 9975 9976Mfe.Classes.SiteUserGroupTeamTag.getArrayTemplateVars = function(teamTags) { 9977 var templateVars = []; 9978 for (var i = 0; i < teamTags.length; i++) { 9979 var postGroup = teamTags[i]; 9980 templateVars.push(postGroup.getTemplateVars()); 9981 } 9982 9983 return templateVars; 9984}; 9985Mfe.Classes.ThemeHtmlBlock = function(blockObj) { 9986 this.class = 'Mfe.Classes.ThemeHtmlBlock'; 9987 this.blockObj = blockObj; 9988 9989}; 9990Mfe.Classes.ThemeHtmlBlock.prototype.getId = function() { 9991 return this.blockObj.id; 9992}; 9993Mfe.Classes.ThemeHtmlBlock.prototype.getTitle = function() { 9994 return this.blockObj.title; 9995}; 9996Mfe.Classes.ThemeHtmlBlock.prototype.getSettings = function() { 9997 return this.blockObj.settings; 9998}; 9999Mfe.Classes.ThemeHtmlBlock.prototype.getHtml = function() { 10000 return this.blockObj.html; 10001}; 10002Mfe.Classes.ThemeHtmlBlock.prototype.getHtmlTemplate = function(mfe) { 10003 if (isEmpty(this.blockObj.htmlCompiled) === false) { 10004 var templateSpec = mfe.parseTemplateSpec(this.blockObj.htmlCompiled); 10005 var template = Handlebars.template(templateSpec); 10006 return template; 10007 } else { 10008 var template = Handlebars.compile(this.blockObj.html); 10009 return template; 10010 } 10011 10012}; 10013Mfe.Classes.ThemeHtmlBlock.prototype.getTemplateVars = function() { 10014 var templateVars = { 10015 'id': this.getId(), 10016 'title': this.getTitle() 10017 }; 10018 10019 return templateVars; 10020}; 10021Mfe.Classes.ThemeHtmlBody = function(bodyObj) { 10022 this.class = 'Mfe.Classes.ThemeHtmlBody'; 10023 this.bodyObj = bodyObj; 10024 10025}; 10026Mfe.Classes.ThemeHtmlBody.prototype.getId = function() { 10027 return this.bodyObj.id; 10028}; 10029Mfe.Classes.ThemeHtmlBody.prototype.getTitle = function() { 10030 return this.bodyObj.title; 10031}; 10032Mfe.Classes.ThemeHtmlBody.prototype.getSettings = function() { 10033 return this.bodyObj.revision.settings; 10034}; 10035Mfe.Classes.ThemeHtmlBody.prototype.getHtml = function() { 10036 return this.bodyObj.revision.html; 10037}; 10038Mfe.Classes.ThemeHtmlBody.prototype.getTemplateVars = function() { 10039 var templateVars = { 10040 'id': this.getId(), 10041 'title': this.getTitle() 10042 }; 10043 10044 return templateVars; 10045}; 10046Mfe.Classes.ThemeHtmlBundle = function(themeBundleObj) { 10047 this.themeBundleObj = themeBundleObj; 10048 10049 this.blocks = []; 10050 this.blocksIndexed = {}; 10051 for (var i = 0; i < themeBundleObj.blocks.length; i++) { 10052 var blockObj = themeBundleObj.blocks[i]; 10053 var block = new Mfe.Classes.ThemeHtmlEntity(blockObj); 10054 this.blocks.push(block); 10055 this.blocksIndexed[block.getId()] = block; 10056 } 10057 10058 this.layouts = []; 10059 this.layoutsIndexed = {}; 10060 for (var i = 0; i < themeBundleObj.layouts.length; i++) { 10061 var layoutObj = themeBundleObj.layouts[i]; 10062 var layout = new Mfe.Classes.ThemeHtmlEntity(layoutObj); 10063 this.layouts.push(layout); 10064 this.layoutsIndexed[layout.getId()] = layout; 10065 } 10066 10067 this.bodies = []; 10068 this.bodiesIndexed = {}; 10069 for (var i = 0; i < themeBundleObj.bodies.length; i++) { 10070 var bodieObj = themeBundleObj.bodies[i]; 10071 var bodie = new Mfe.Classes.ThemeHtmlEntity(bodieObj); 10072 this.bodies.push(bodie); 10073 this.bodiesIndexed[bodie.getId()] = bodie; 10074 } 10075}; 10076Mfe.Classes.ThemeHtmlBundle.prototype.getId = function(){ 10077 return this.themeBundleObj.id; 10078}; 10079Mfe.Classes.ThemeHtmlBundle.prototype.getBlockById = function(id){ 10080 return this.blocksIndexed[id]; 10081}; 10082Mfe.Classes.ThemeHtmlBundle.prototype.getLayoutById = function(id){ 10083 return this.layoutsIndexed[id]; 10084}; 10085Mfe.Classes.ThemeHtmlBundle.prototype.getBodyById = function(id){ 10086 return this.bodiesIndexed[id]; 10087}; 10088Mfe.Classes.ThemeHtmlEntity = function(entityObj) { 10089 this.class = 'Mfe.Classes.ThemeHtmlEntity'; 10090 this.entityObj = entityObj; 10091 10092 this.settings; 10093 10094 if (isEmpty(this.entityObj.revision.settings.sections) === false) { 10095 this.settings = []; 10096 var sections = this.entityObj.revision.settings.sections; 10097 for (var i = 0; i < sections.length; i++) { 10098 var section = sections[i]; 10099 for (var j = 0; j < section.settings.length; j++) { 10100 var setting = section.settings[j]; 10101 this.settings.push(setting); 10102 } 10103 } 10104 } else { 10105 this.settings = this.entityObj.revision.settings; 10106 } 10107 10108}; 10109Mfe.Classes.ThemeHtmlEntity.prototype.getId = function() { 10110 return this.entityObj.id; 10111}; 10112Mfe.Classes.ThemeHtmlEntity.prototype.getType = function() { 10113 return this.entityObj.type; 10114}; 10115Mfe.Classes.ThemeHtmlEntity.prototype.getTitle = function() { 10116 return this.entityObj.title; 10117}; 10118Mfe.Classes.ThemeHtmlEntity.prototype.getSettings = function() { 10119 return this.settings; 10120}; 10121Mfe.Classes.ThemeHtmlEntity.prototype.getHtml = function() { 10122 return this.entityObj.revision.html; 10123}; 10124Mfe.Classes.ThemeHtmlEntity.prototype.getHtmlTemplate = function(mfe) { 10125 /*if (isEmpty(this.entityObj.revision.htmlCompiled) === false) { 10126 mfe.addTiming('Loading ' + this.getType() + ' entity template from compiled spec', 'getHtmlTemplate'); 10127 var templateSpec = mfe.parseTemplateSpec(this.entityObj.revision.htmlCompiled); 10128 var template = Handlebars.template(templateSpec); 10129 return template; 10130 } else {*/ 10131 mfe.addTiming('Loading ' + this.getType() + ' entity template from HTML ' + JSON.stringify(this.entityObj), 'getHtmlTemplate'); 10132 var template = Handlebars.compile(this.entityObj.revision.html); 10133 return template; 10134 //} 10135 10136}; 10137Mfe.Classes.ThemeHtmlEntity.prototype.getTemplateVars = function() { 10138 var templateVars = { 10139 'id': this.getId(), 10140 'title': this.getTitle() 10141 }; 10142 10143 return templateVars; 10144}; 10145Mfe.Classes.ThemeHtmlLayout = function(layoutObj) { 10146 this.class = 'Mfe.Classes.ThemeHtmlLayout'; 10147 this.layoutObj = layoutObj; 10148 10149}; 10150Mfe.Classes.ThemeHtmlLayout.prototype.getId = function() { 10151 return this.layoutObj.id; 10152}; 10153Mfe.Classes.ThemeHtmlLayout.prototype.getTitle = function() { 10154 return this.layoutObj.title; 10155}; 10156Mfe.Classes.ThemeHtmlLayout.prototype.getSettings = function() { 10157 return this.layoutObj.settings; 10158}; 10159Mfe.Classes.ThemeHtmlLayout.prototype.getHtml = function() { 10160 return this.layoutObj.html; 10161}; 10162Mfe.Classes.ThemeHtmlLayout.prototype.getTemplateVars = function() { 10163 var templateVars = { 10164 'id': this.getId(), 10165 'title': this.getTitle() 10166 }; 10167 10168 return templateVars; 10169}; 10170Mfe.Classes.Upload = function(uploadObj) { 10171 this.uploadObj = uploadObj.upload; 10172 this.focusObj = uploadObj.focus; 10173 10174 this.filesBySize = {}; 10175 10176 for (var i = 0; i < this.uploadObj.media.files.length; i++) { 10177 var file = this.uploadObj.media.files[i]; 10178 10179 file.url = mfe.translateUrl(file.url); 10180 10181 var fileKey = file.type + file.size; 10182 this.filesBySize[fileKey] = file; 10183 } 10184}; 10185Mfe.Classes.Upload.prototype.getId = function() { 10186 return this.uploadObj.id; 10187}; 10188Mfe.Classes.Upload.prototype.getSiteId = function() { 10189 return this.uploadObj.siteId; 10190}; 10191Mfe.Classes.Upload.prototype.getGroupId = function() { 10192 return this.uploadObj.groupId; 10193}; 10194Mfe.Classes.Upload.prototype.getMediaType = function() { 10195 return this.uploadObj.mediaType; 10196}; 10197Mfe.Classes.Upload.prototype.getMimeType = function() { 10198 return this.uploadObj.mimeType; 10199}; 10200Mfe.Classes.Upload.prototype.getFilename = function() { 10201 return this.uploadObj.filename; 10202}; 10203Mfe.Classes.Upload.prototype.getCaption = function() { 10204 return this.uploadObj.caption; 10205}; 10206Mfe.Classes.Upload.prototype.getMediaWidth = function() { 10207 return this.uploadObj.media.width; 10208}; 10209Mfe.Classes.Upload.prototype.getMediaHeight = function() { 10210 return this.uploadObj.media.height; 10211}; 10212Mfe.Classes.Upload.prototype.getMediaFiles = function() { 10213 return this.uploadObj.media.files; 10214}; 10215Mfe.Classes.Upload.prototype.getMediaFileBySize = function(size) { 10216 return this.filesBySize[size]; 10217}; 10218Mfe.Classes.Upload.prototype.getImageSourceSet = function() { 10219 var sourceSet = []; 10220 for (var i = 0; i < this.uploadObj.media.files.length; i++) { 10221 var file = this.uploadObj.media.files[i]; 10222 file.url = mfe.translateUrl(file.url); 10223 10224 sourceSet.push(file.url + ' ' + file.size + 'w'); 10225 } 10226 10227 return sourceSet.join(', '); 10228}; 10229; 10230Mfe.Classes.Upload.prototype.getTemplateVars = function() { 10231 10232 var focusObj = { 10233 'x': '50%', 10234 'y': '50%' 10235 }; 10236 10237 if (typeof this.focusObj !== 'undefined' && this.focusObj !== null) { 10238 if (typeof this.focusObj.x !== 'undefined') { 10239 focusObj.x = this.focusObj.x; 10240 } 10241 if (typeof this.focusObj.y !== 'undefined') { 10242 focusObj.y = this.focusObj.y; 10243 } 10244 } 10245 10246 var templateVars = { 10247 'id': this.getId(), 10248 'caption': this.getCaption(), 10249 'filesIndexed': this.filesBySize, 10250 'srcSet': this.getImageSourceSet(), 10251 'focusPoint': { 'x': focusObj.x, 'y': focusObj.y },
10252 'focusPointCssVars': '--focus-point-x: ' + focusObj.x + '; --focus-point-y: ' + focusObj.y + ';' 10253 }; 10254 10255 return templateVars; 10256}; 10257Mfe.Classes.Upload.prototype.toOldUploadObj = function() { 10258 var uploadObj = { 10259 'class': 'cms\\media', 10260 'id': this.getId(), 10261 'files': this.uploadObj.media.files, 10262 'mediaSizeHeight': this.getMediaHeight(), 10263 'mediaSizeWidth': this.getMediaWidth(), 10264 'mediaType': this.getMediaType(), 10265 'title': '' 10266 }; 10267 10268 /*var files = this.getMediaFiles(); 10269 for (var i = 0; i < files.length; i++) { 10270 var file = files[i]; 10271 }*/ 10272 10273 return uploadObj; 10274}; 10275 10276Mfe.Classes.Upload.newArray = function(uploadObjs) { 10277 var uploads = []; 10278 10279 for (var i = 0; i < uploadObjs.length; i++) { 10280 var uploadObj = uploadObjs[i]; 10281 uploads.push(new Mfe.Classes.Site(uploadObj)); 10282 } 10283 10284 return uploads; 10285}; 10286 10287Mfe.Classes.Upload.fromOldUpload = function(oldUploadObj) { 10288 var uploadObj = { 10289 'upload': { 10290 'id': oldUploadObj.id, 10291 'siteId': null, 10292 'groupId': null, 10293 'mediaType': oldUploadObj.mediaType, 10294 'mimeType': null, 10295 'filename': null, 10296 'caption': oldUploadObj.title, 10297 'media': { 10298 'width': oldUploadObj.mediaSizeWidth, 10299 'height': oldUploadObj.mediaSizeHeight, 10300 'files': oldUploadObj.files 10301 } 10302 } 10303 }; 10304 10305 return new Mfe.Classes.Upload(uploadObj); 10306}; 10307Mfe.Renderer.ThemeHtml = function(mfe) { 10308 this.mfe = mfe; 10309 this.paths = {}; 10310 this.pathRegexes = []; 10311 this.indexPaths(); 10312 10313 this.editOverlays = {}; 10314 10315 this.mfe.editMode = false; 10316 this.selectMode = false; 10317 10318 this.$mfeOverlayHoverEl = null; 10319 this.$hoverSourceEl = null; 10320 this.$selectedEl = null; 10321}; 10322 10323Mfe.Renderer.ThemeHtml.prototype.renderComponent = function(templateConfig, contextSettings) { 10324 this.renderTemplate(templateConfig, contextSettings, 'component'); 10325} 10326 10327Mfe.Renderer.ThemeHtml.prototype.renderTemplate = function(templateConfig, contextSettings, type) { 10328 this.mfe.lastWidgetId = 0; 10329 this.mfe.lastLayoutId = 0; 10330 this.mfe.activeWidgets = {}; 10331 this.mfe.wfLoader = new Mfe.Utils.WebfontLoader({'autoLoad': false}); 10332 10333 this.mfeIncludeEditContainers = true; 10334 10335 var htmlResult = this.generatePageHtml(templateConfig, type); 10336 this.mfe.setPageHtml(htmlResult); 10337 10338 //$('body').attr('data-template-id', processResult.pageVersion.template.id); 10339 10340 this.mfe.attachWidgets(); 10341 this.mfe.processFontsConfig(); 10342 10343 this.selectMode = true; 10344 10345 var $widgetContainerEls = $('.mfe-edit-container[data-setting-type="widgets"]'); 10346 for (var i = 0; i < $widgetContainerEls.length; i++) { 10347 var $widgetContainerEl = $($widgetContainerEls[i]); 10348 10349 if ($widgetContainerEl.find('.widget').length == 0) { 10350 $widgetContainerEl.addClass('empty'); 10351 $widgetContainerEl.parents('.layout-item-container').addClass('empty'); 10352 } 10353 } 10354 10355 this.attachEditHandlers(); 10356 10357 this.mfe.loadAos(); 10358 10359 //var fullPath = this.mfe.getFullPath(path, queryParams); 10360 //this.mfe.fullPath = fullPath; 10361 10362 //$('body').attr('data-page', processResult.page.name + (processResult.page.name.length > 0 ? '-' + processResult.matchResult.type : '')); 10363 //$('body').attr('data-template-id', processResult.pageVersion.template.id); 10364 10365 //this.mfe.onPageView(200, path, queryParams); 10366}; 10367 10368Mfe.Renderer.ThemeHtml.prototype.updateTemplateConfig = function(type, action, path, settingName, settingConfig) { 10369 if (type == 'block') { 10370 if (action == 'update') { 10371 10372 var newBlockHtml = this.renderThemeBlock(settingConfig.id, settingConfig.config); 10373 10374 var replacedHtml = this.mfe.replaceWidgetElements(newBlockHtml, false); 10375 10376 var $blockContainerEl = $(this.mfe.outputElSelector).find('.mfe-edit-container[data-setting-name="'+settingName+'"]'); 10377 $blockContainerEl.html(replacedHtml); 10378 10379 this.mfe.attachWidgets(); 10380 10381 this.mfe.processFontsConfig(); 10382 } 10383 } 10384}; 10385 10386Mfe.Renderer.ThemeHtml.prototype.getHtmlElementByPath = function(path) { 10387 if (path.type == 'block') { 10388 return $('.mfe-edit-container[data-setting="block"][data-setting-name="'+path.settingName+'"]'); 10389 } else if (path.type == 'layout') { 10390 return $('.mfe-edit-container[data-setting-name="'+path.settingName+'"] > .layout-container:nth-child(' + (path.layoutIndex + 1) + ')'); 10391 } else if (path.type == 'widget') { 10392 var $layoutEl = $('.mfe-edit-container[data-setting-name="'+path.settingName+'"] > .layout-container:nth-child(' + (path.layoutIndex + 1) + ')'); 10393 var $widgetEl = $layoutEl.find('.mfe-edit-container[data-setting-type="widgets"][data-setting-name="'+path.layoutSettingName+'"] .widget:nth-child(' + (path.widgetIndex + 1) + ')'); 10394 10395 return $widgetEl; 10396 } 10397 10398 return false;
10399}; 10400 10401Mfe.Renderer.ThemeHtml.prototype.updateTemplateConfigNew = function(path, settingName, settingValue) { 10402 var $pathEl = this.getHtmlElementByPath(path); 10403 10404 if ($pathEl === false) { 10405 return; 10406 } 10407 10408 // Update this value in the config object 10409 10410 // Update this value in the preview 10411 if (path.type == 'widget') { 10412 var $widgetEl = $pathEl; 10413 var widgetId = $widgetEl.attr('data-widget-id'); 10414 var widget = this.mfe.activeWidgets[widgetId]; 10415 10416 widget.options[settingName] = settingValue; 10417 10418 if (widget.onSettingChanged) { 10419 widget.onSettingChanged(settingName, settingValue); 10420 } else { 10421 widget.render(); 10422 } 10423 } 10424 10425 10426 10427 /*if (type == 'block') { 10428 if (action == 'update') { 10429 10430 var newBlockHtml = this.renderThemeBlock(settingConfig.id, settingConfig.config); 10431 10432 var replacedHtml = this.mfe.replaceWidgetElements(newBlockHtml, false); 10433 10434 var $blockContainerEl = $(this.mfe.outputElSelector).find('.mfe-edit-container[data-setting-name="'+settingName+'"]'); 10435 $blockContainerEl.html(replacedHtml); 10436 10437 this.mfe.attachWidgets(); 10438 10439 this.mfe.processFontsConfig(); 10440 } 10441 }*/ 10442}; 10443 10444Mfe.Renderer.ThemeHtml.prototype.indexPaths = function() { 10445 var siteThemeConfig = this.mfe.siteThemeConfig; 10446 10447 var configPages = siteThemeConfig.pages; 10448 10449 var languageFrontPagePaths = {}; 10450 var languageErrorPages = {}; 10451 var pagePathBlogs = {}; 10452 var pagePathPages = {}; 10453 var pagePathCalendars = {}; 10454 var pagePathMedia = {}; 10455 10456 var pagePathExcludes = []; 10457 10458 for (var i = 0; i < configPages.length; i++) { 10459 var configPage = configPages[i]; 10460 10461 // Alternative indexing 10462 if (configPage.type == 'frontpage' && configPage.path.length > 0) { 10463 languageFrontPagePaths[configPage.language] = configPage.path; 10464 } else if (configPage.type == 'error') { 10465 if (isEmpty(languageErrorPages[configPage.typeId]) === true) { 10466 languageErrorPages[configPage.typeId] = {}; 10467 } 10468 if (isEmpty(languageErrorPages[configPage.typeId][configPage.language]) === true) { 10469 languageErrorPages[configPage.typeId][configPage.language] = []; 10470 } 10471 10472 languageErrorPages[configPage.typeId][configPage.language].push(configPage); 10473 } else if (configPage.type == 'exclude-path') { 10474 pagePathExcludes.push(configPage.path); 10475 continue; 10476 } 10477 10478 if (configPage.path.length == 0) { 10479 continue; 10480 } 10481 10482 this.paths[configPage.path] = { 10483 'type': configPage.type, 10484 'page': configPage 10485 }; 10486 10487 if (configPage.type == 'blog') { 10488 var blogId = configPage.typeId; 10489 10490 if (isEmpty(pagePathBlogs[blogId]) === true) { 10491 pagePathBlogs[blogId] = {}; 10492 } 10493 10494 pagePathBlogs[blogId][configPage.language] = configPage.path; 10495 10496 // Blog overview 10497 this.pathRegexes.push({ 10498 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'$', 10499 'path': configPage.path, 10500 'type': 'blog-overview', 10501 'page': configPage 10502 }); 10503 10504 // Blog itempage 10505 this.pathRegexes.push({ 10506 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'\/([a-zA-Z0-9\-\_]+)$', 10507 'path': configPage.path, 10508 'type': 'blog-item', 10509 'page': configPage 10510 }); 10511 } else if (configPage.type == 'cms-page') { 10512 var cmsPagePath = configPage.typeId; 10513 10514 if (isEmpty(pagePathPages[cmsPagePath]) === true) { 10515 pagePathPages[cmsPagePath] = {}; 10516 } 10517 10518 pagePathPages[cmsPagePath][configPage.language] = configPage.path; 10519 } else if (configPage.type == 'cms-page-fallback') { 10520 // CMS page itempage 10521 this.pathRegexes.push({ 10522 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'\/([a-zA-Z0-9\-\_]+)$', 10523 'path': configPage.path, 10524 'type': 'cms-page-fallback', 10525 'page': configPage 10526 }); 10527 } else if (configPage.type == 'dataset-table') { 10528 10529 if (configPage.versions.length === 1) { 10530 // Blog itempage 10531 this.pathRegexes.push({ 10532 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'\/([a-zA-Z0-9\-\_]+)$', 10533 'path': configPage.path, 10534 'type': 'dataset-table', 10535 'page': configPage 10536 }); 10537 }
10537 else if (configPage.versions.length === 2) { 10538 10539 // Dataset overview 10540 this.pathRegexes.push({ 10541 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'$', 10542 'path': configPage.path, 10543 'type': 'dataset-table-overview', 10544 'page': configPage 10545 }); 10546 10547 // Dataset itempage 10548 this.pathRegexes.push({ 10549 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'\/([a-zA-Z0-9\-\_]+)$', 10550 'path': configPage.path, 10551 'type': 'dataset-table-item', 10552 'page': configPage 10553 }); 10554 10555 delete this.paths[configPage.path]; 10556 } 10557 10558 } else if (configPage.type == 'calendar') { 10559 10560 // Event itempage 10561 var calendarId = configPage.typeId; 10562 10563 if (isEmpty(pagePathCalendars[calendarId]) === true) { 10564 pagePathCalendars[calendarId] = {}; 10565 } 10566 10567 pagePathCalendars[calendarId][configPage.language] = configPage.path; 10568 10569 this.pathRegexes.push({ 10570 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'\/([a-zA-Z0-9\-\_]+)$', 10571 'path': configPage.path, 10572 'type': 'calendar-item', 10573 'page': configPage 10574 }); 10575 10576 } else if (configPage.type == 'donation-result') { 10577 10578 this.pathRegexes.push({ 10579 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'$', 10580 'path': configPage.path, 10581 'type': 'donation-result', 10582 'page': configPage 10583 }); 10584 10585 } else if (configPage.type == 'media') { 10586 10587 // Event itempage 10588 var mediaId = configPage.typeId; 10589 10590 if (isEmpty(pagePathMedia[mediaId]) === true) { 10591 pagePathMedia[mediaId] = {}; 10592 } 10593 10594 pagePathMedia[mediaId][configPage.language] = configPage.path; 10595 10596 this.pathRegexes.push({ 10597 'regEx': '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'$', 10598 'path': configPage.path, 10599 'type': 'stream-item', 10600 'page': configPage 10601 }); 10602 10603 } else { 10604 let regExPath = Mfe.Utils.RegExp.escapeVal(configPage.path); 10605 10606 // Parse {var} sections 10607 var pathVariables = []; 10608 var contextMatches = regExPath.match(new RegExp('\\\\{([a-zA-Z0-9]*)\\\\}', 'g')); 10609 if (contextMatches !== null) { 10610 for (var contextMatch of contextMatches) { 10611 contextMatch = contextMatch.substring(2, contextMatch.length - 2); 10612 var replaceValue = '([a-zA-Z0-9\-\_\.\$\%\~]*)'; 10613 pathVariables.push(contextMatch); 10614 regExPath = regExPath.replace('\\\{' + contextMatch + '\\\}', replaceValue); 10615 } 10616 } 10617 10618 //var regEx = '^'+Mfe.Utils.RegExp.escapeVal(configPage.path)+'$'; 10619 var regEx = '^'+regExPath+'$'; 10620 10621 this.pathRegexes.push({ 10622 'regEx': regEx, 10623 'path': configPage.path, 10624 'type': configPage.type, 10625 'page': configPage, 10626 'pathVariables': pathVariables 10627 }); 10628 } 10629 } 10630 10631 this.mfe.pathLanguageFrontPages = languageFrontPagePaths; 10632 this.mfe.languageErrorPages = languageErrorPages; 10633 this.mfe.pagePathMedia = pagePathMedia; 10634 this.mfe.pagePathPages = pagePathPages; 10635 this.mfe.pagePathBlogs = pagePathBlogs; 10636 this.mfe.pagePathCalendars = pagePathCalendars; 10637 this.mfe.pagePathExcludes = pagePathExcludes; 10638}; 10639 10640Mfe.Renderer.ThemeHtml.prototype.render = function(path, queryParams, deviceType) { 10641 var fullPath = this.mfe.getFullPath(path, queryParams); 10642 this.mfe.fullPath = fullPath; 10643 this.mfe.queryParams = queryParams; 10644 10645 this.mfe.lastWidgetId = 0; 10646 this.mfe.lastLayoutId = 0; 10647 this.mfe.activeWidgets = {}; 10648 this.mfe.wfLoader = new Mfe.Utils.WebfontLoader({'autoLoad': false}); 10649 10650 var processResult = this.processPath(path, queryParams); 10651 10652 if (isEmpty(processResult) === true || processResult === false) { 10653 return { 10654 'result': false, 10655 'error': { 'httpCode': 500, code: 'unknown', message: 'Unknown error' } 10656 }; 10657 }; 10658 10659 if (processResult.result !== true) { 10660 if (isEmpty(processResult.error) === false && isEmpty(processResult.error.httpCode) === false) { 10661 return this.renderError(processResult.error); 10662 } 10663 return processResult; 10664 } 10665 10666 if (isEmpty(processResult.redirect) === false) { 10667 return processResult; 10668 } 10669 10670 mfeTimings.push({ 10671 'ts': Date.now(),
10672 'message': 'Loading context' 10673 }); 10674 10675 var contextResult = this.mfe.loadContext(processResult.context, processResult.contextId, processResult.contextParams); 10676 if (contextResult === false) { 10677 mfeTimings.push({ 10678 'ts': Date.now(), 10679 'message': 'Context is not available. Requesting API response' 10680 }); 10681 return { 10682 'contextResult': contextResult, 10683 'result': true, 10684 'apiResponseRequired': true, 10685 'apiResponseRequests': this.mfe.apiResponseRequests 10686 }; 10687 } else if (contextResult === null) { 10688 mfeTimings.push({ 10689 'ts': Date.now(), 10690 'message': 'Could not route path' 10691 }); 10692 var errorObj = { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' }; 10693 return this.renderError(errorObj); 10694 } 10695 10696 logTime('Finished loading context'); 10697 10698 if (processResult.context == 'donation-result') { 10699 if (contextResult == 'cancelled') { 10700 return { 10701 'redirect': '/donation' 10702 } 10703 } else { 10704 return { 10705 'redirect': '/donation/thanks' 10706 } 10707 } 10708 } 10709 10710 if (isEmpty(processResult.redirect) === false) { 10711 logTime('Redirecting'); 10712 return processResult; 10713 } 10714 // 10715 10716 // Generate page meta data 10717 logTime('Processing page metadata'); 10718 this.mfe.pageMetaData = this.processPageMetaData(processResult); 10719 10720 this.mfe.pageTitle = processResult.pageTitle; 10721 this.mfe.pagePath = processResult.matchResult.page.path; 10722 this.mfe.pageLanguage = processResult.pageLanguage; 10723 this.mfe.pathVars = processResult.matchResult.pathVars; 10724 10725 logTime('Switching Moment locale to ' + this.mfe.pageLanguage); 10726 moment.locale(this.mfe.pageLanguage); 10727 10728 // Generate HTML 10729 logTime('Generating page HTML'); 10730 var htmlResult = this.generatePageHtml(processResult.pageConfig); 10731 if (typeof htmlResult !== 'string') { 10732 logTime('Could not generate HTML'); 10733 return htmlResult; 10734 } 10735 10736 if (this.mfe.apiResponseRequests !== null) { 10737 logTime('Need more API responses to render'); 10738 return { 10739 'result': true, 10740 'apiResponseRequired': true, 10741 'this.apiResponseBundle': this.mfe.apiResponseBundle, 10742 'apiResponseRequests': this.mfe.apiResponseRequests 10743 }; 10744 } 10745 10746 logTime('Process font config'); 10747 this.mfe.processFontsConfig(); 10748 10749 var pageInfo = { 10750 'metaData': this.mfe.pageMetaData, 10751 'bodyClasses': this.mfe.getBodyClasses(), 10752 'pageName': processResult.page.name + (processResult.page.name.length > 0 ? '-' + processResult.matchResult.type : ''), 10753 'pageTemplateId': processResult.pageVersion.template.id, 10754 'pageLanguage': processResult.page.language, 10755 'googleFontsUrl': this.mfe.wfLoader.generateGoogleFontsUrl(), 10756 'googleFontsFamilies': this.mfe.wfLoader.getGoogleFontsFamilies() 10757 }; 10758 10759 return { 10760 'result': true, 10761 'apiResponseRequired': false, 10762 'page': pageInfo, 10763 'context': this.mfe.context, 10764 'contextId': this.mfe.contextId, 10765 'widgetBundle': this.mfe.generateWidgetBundle(), 10766 'processResult': processResult, 10767 'html': htmlResult 10768 }; 10769 10770 //var context = pathResult.matchResult.context; 10771 //var contextId = pathResult.matchResult.contextId; 10772 //html 10773 /*return { 10774 'result': true, 10775 ' 10776 };*/ 10777}; 10778Mfe.Renderer.ThemeHtml.prototype.navigate = function(path, queryParams, updateHistory, hash) { 10779 var self = this; 10780 10781 $('html').trigger('mfeRenderPage'); 10782 10783 var processResult = this.processPath(path, queryParams); 10784 10785 if (isEmpty(processResult) === true || processResult === false) { 10786 alert('Error has occured'); 10787 return; 10788 }; 10789 10790 this.mfe.lastWidgetId = 0; 10791 this.mfe.lastLayoutId = 0; 10792 this.mfe.activeWidgets = {}; 10793 this.mfe.bodyClasses = {}; 10794 this.mfe.wfLoader = new Mfe.Utils.WebfontLoader({'autoLoad': false}); 10795 10796 if (processResult.result !== true) { 10797 if (isEmpty(processResult.error) === false && isEmpty(processResult.error.httpCode) === false) { 10798 this.navigateError(path, queryParams, processResult.error); 10799 this.mfe.onPageView(processResult.error.httpCode, path, queryParams); 10800 return; 10801 } 10802 10803 return; 10804 } 10805 10806 if (isEmpty(processResult.redirect) === false) { 10807 this.navigate(processResult.redirect, {}, 'replace'); 10808 return; 10809 } 10810 10811 var fullPath = this.mfe.getFullPath(path, queryParams); 10812 this.mfe.fullPath = fullPath; 10813 this.mfe.queryParams = queryParams; 10814 10815 this.mfe.pageTitle = processResult.pageTitle; 10816 this.mfe.pageLanguage = processResult.pageLanguage; 10817 this.mfe.pagePathVars = processResult.matchResult.pathVars; 10818 this.mfe.pagePath; 10819 this.mfe.pageHash = hash; 10820 10821 $('html').attr('lang', this.mfe.pageLanguage); 10822 10823 10824 if (processResult.matchResult.page) { 10825 this.mfe.currentPage = processResult.matchResult.page; 10826 } else { 10827 this.mfe.currentPage = null; 10828 } 10829 10830 if (processResult.matchResult.path) {
10831 this.mfe.pagePath = processResult.matchResult.path; 10832 } else if (processResult.matchResult.page.path) { 10833 this.mfe.pagePath = processResult.matchResult.page.path; 10834 } 10835 10836 moment.locale(this.mfe.pageLanguage); 10837 10838 var contextResult = this.mfe.loadContext(processResult.context, processResult.contextId, processResult.contextParams, function(result, response) { 10839 10840 if (result === false) { 10841 var errorObj = { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' }; 10842 self.navigateError(path, queryParams, errorObj); 10843 return; 10844 } 10845 10846 if (processResult.context == 'donation-result') { 10847 if (response == 'cancelled') { 10848 self.navigate('/donation', {}, 'replace'); 10849 return; 10850 } else if (response == 'paid') { 10851 self.navigate('/donation/thanks', {}, 'replace'); 10852 return; 10853 } 10854 } 10855 10856 self.continueNavigation(path, queryParams, updateHistory, processResult); 10857 }); 10858 if (contextResult === false) { 10859 return; 10860 } else if (contextResult === null) { 10861 var errorObj = { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' }; 10862 self.navigateError(path, queryParams, errorObj); 10863 return; 10864 } 10865 10866 this.continueNavigation(path, queryParams, updateHistory, processResult); 10867}; 10868 10869Mfe.Renderer.ThemeHtml.prototype.continueNavigation = function(path, queryParams, updateHistory, processResult) { 10870 this.mfe.pageMetaData = this.processPageMetaData(processResult); 10871 10872 window.scroll(0, 0); 10873 10874 var htmlResult = this.generatePageHtml(processResult.pageConfig); 10875 10876 this.mfe.setPageHtml(htmlResult); 10877 //this.mfe.setPageLanguage(htmlResult); 10878 this.mfe.attachWidgets(); 10879 10880 if (this.mfe.viewMode == 'edit') { 10881 //this.attachEditHandlers(); 10882 } 10883 10884 this.mfe.processFontsConfig(); 10885 10886 var fullPath = this.mfe.getFullPath(path, queryParams); 10887 10888 this.mfe.fullPath = fullPath; 10889 10890 if (isEmpty(updateHistory) || updateHistory === true) { 10891 history.pushState({}, 'Site', fullPath); 10892 } else if (updateHistory === 'replace') { 10893 history.replaceState({}, 'Site', fullPath); 10894 } 10895 10896 document.title = this.mfe.pageMetaData.html.title; 10897 10898 $('body').attr('data-page', processResult.page.name + (processResult.page.name.length > 0 ? '-' + processResult.matchResult.type : '')); 10899 $('body').attr('data-template-id', processResult.pageVersion.template.id); 10900 10901 this.mfe.currentPage.pageName = processResult.page.name + (processResult.page.name.length > 0 ? '-' + processResult.matchResult.type : ''); 10902 this.mfe.currentPage.pageTemplateId = processResult.pageVersion.template.id; 10903 10904 /*var pageInfo = { 10905 'metaData': this.mfe.pageMetaData, 10906 'bodyClasses': this.mfe.getBodyClasses(), 10907 'pageName': processResult.page.name + (processResult.page.name.length > 0 ? '-' + processResult.matchResult.type : ''), 10908 'pageTemplateId': processResult.pageVersion.template.id, 10909 'pageLanguage': processResult.page.language, 10910 'googleFontsUrl': this.mfe.wfLoader.generateGoogleFontsUrl(), 10911 'googleFontsFamilies': this.mfe.wfLoader.getGoogleFontsFamilies() 10912 };*/ 10913
10914 if (this.mfe.supportsCssVars !== true) { 10915 cssVars(); 10916 } 10917 10918 this.mfe.onPageView(200, path, queryParams); 10919}; 10920 10921Mfe.Renderer.ThemeHtml.prototype.renderError = function(error) { 10922 this.mfe.processFontsConfig(); 10923 10924 var pageInfo = { 10925 'metaData': this.mfe.pageMetaData, 10926 'bodyClasses': this.mfe.getBodyClasses(), 10927 'googleFontsUrl': this.mfe.wfLoader.generateGoogleFontsUrl(), 10928 'googleFontsFamilies': this.mfe.wfLoader.getGoogleFontsFamilies() 10929 }; 10930 10931 return { 10932 'result': false, 10933 'apiResponseRequired': false, 10934 'error': error, 10935 'widgetBundle': this.mfe.generateWidgetBundle(), 10936 'html': this.generateErrorPageHtml(error), 10937 'page': pageInfo 10938 }; 10939}; 10940 10941Mfe.Renderer.ThemeHtml.prototype.navigateError = function(path, queryParams, error) { 10942 10943 this.mfe.pagePath = path; 10944 10945 var errorHtml = this.generateErrorPageHtml(error); 10946 10947 this.mfe.setPageHtml(errorHtml); 10948 this.mfe.attachWidgets(); 10949 this.mfe.processFontsConfig(); 10950 10951 var fullPath = this.mfe.getFullPath(path, queryParams); 10952 this.mfe.fullPath = fullPath; 10953 10954 if (this.mfe.viewMode == 'edit') { 10955 //this.attachEditHandlers(); 10956 } 10957 10958 history.pushState({}, 'Site', fullPath); 10959}; 10960 10961Mfe.Renderer.ThemeHtml.prototype.processLanguageRedirect = function() { 10962 var availableFrontPageLanguages = this.mfe.pathLanguageFrontPages; 10963 var availableFrontPageLanguageKeys = Object.keys(availableFrontPageLanguages); 10964 10965 var language = null; 10966 if (typeof this.mfe.options.ipCountry !== 'undefined') { 10967 for (var i = 0; i < availableFrontPageLanguageKeys.length; i++) { 10968 var langKey = availableFrontPageLanguageKeys[i]; 10969 var langKeyParts = langKey.split('-'); 10970 10971 if (langKeyParts[1] == this.mfe.options.ipCountry) { 10972 language = langKey; 10973 break; 10974 } 10975 } 10976 } 10977 10978 if (language === null) { 10979 language = this.mfe.determineLanguage(); 10980 } 10981 10982 var frontPagePath = availableFrontPageLanguages[language]; 10983 10984 return { 10985 'result': true, 10986 'redirect': frontPagePath 10987 }; 10988}; 10989 10990Mfe.Renderer.ThemeHtml.prototype.processPath = function(path, queryParams) { 10991 var matchResult = this.matchPath(path, queryParams); 10992 10993 if (isEmpty(matchResult) === true || matchResult === false) { 10994 return { 10995 'result': false, 10996 'matchResult': matchResult, 10997 'pathRegexes': this.pathRegexes, 10998 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 10999 }; 11000 } 11001 11002 for (var excludePath of this.mfe.pagePathExcludes) { 11003 if (path.substring(0, excludePath.length) === excludePath) { 11004 return { 11005 'result': false, 11006 'matchResult': matchResult, 11007 'pathRegexes': this.pathRegexes, 11008 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 11009 }; 11010 } 11011 } 11012 11013 var matchType = matchResult.type; 11014 11015 if (matchResult.page.type == 'language-redirect') { 11016 return this.processLanguageRedirect(); 11017 11018 } else if (matchResult.page.type == 'redirect') { 11019 return { 11020 'result': true, 11021 'redirect': matchResult.page.typeId, 11022 'redirectStatusCode': 301 11023 }; 11024 } 11025 11026 // Determine which version of this page to use 11027 var pageConfig = {}; 11028 var pageVersion; 11029 11030 var processResult; 11031 11032 if (matchResult.page.type == 'donation-result') { 11033 11034 processResult = { 11035 'result': true, 11036 'context': matchType, 11037 'contextId': null, 11038 'contextParams': {}, 11039 'matchResult': matchResult, 11040 'pageConfig': pageConfig 11041 }; 11042 11043 } else if (matchResult.page.versions.length == 0) { 11044 return { 11045 'result': false, 11046 'matchResult': matchResult, 11047 'pathRegexes': this.pathRegexes, 11048 'error': { 'httpCode': 501, code: 'page_version_missing', message: 'Could not find version for page' } 11049 }; 11050 } else { 11051 11052 pageVersion = matchResult.page.versions[0]; 11053 pageConfig = pageVersion.template.revision.config; 11054 11055 processResult = { 11056 'result': true, 11057 'context': matchType, 11058 'contextId': null, 11059 'contextParams': {}, 11060 'pageConfig': pageConfig, 11061 'pageLanguage': matchResult.page.language, 11062 'page': matchResult.page 11063 }; 11064 } 11065 11066 if (matchType == 'static') { 11067 11068 } else if (matchType == 'cms-page') { 11069 processResult.context = matchType; 11070 processResult.contextId = matchResult.page.typeId; 11071 } else if (matchType == 'cms-page-fallback') { 11072 //console.log('this is a fallback'); 11073 processResult.context = 'cms-page'; 11074 processResult.contextId = '/' + matchResult.matchVars[0]; 11075 } else if (matchType == 'blog-overview') { 11076 11077 processResult.context = matchType; 11078 processResult.contextId = matchResult.matchVars[0]; 11079 11080 // We need to find the item page version of this page 11081 var availablePageVersions = []; 11082 var blogPageVersions = matchResult.page.versions; 11083 for (var i = 0; i < blogPageVersions.length; i++) { 11084 var blogPageVersion = blogPageVersions[i]; 11085 if (blogPageVersion.type == 'default') { 11086 availablePageVersions.push(blogPageVersion); 11087 } 11088 } 11089 11090 if (availablePageVersions.length == 0) { 11091 return { 11092 'result': false, 11093 'matchResult': matchResult, 11094 'pathRegexes': this.pathRegexes, 11095 'error': { 'httpCode': 501, code: 'page_version_missing', message: 'Could not find version for page' } 11096 }; 11097 } 11098 11099 var availablePageVersion; 11100 if (availablePageVersions.length > 1) { 11101 var chosenPageVersion = null; 11102 var fallbackPageVersion = null; 11103 11104 fallbackPageVersion = availablePageVersions[0]; 11105 for (var i = 0; i < availablePageVersions.length; i++) { 11106 var pageVersion = availablePageVersions[i]; 11107 if (fallbackPageVersion === null && pageVersion.condition === null) { 11108 fallbackPageVersion = pageVersion; 11109 continue; 11110 } 11111 11112 if (pageVersion.condition !== null) { 11113 11114 } 11115 } 11116 11117 if (chosenPageVersion === null) { 11118 11119 availablePageVersion = fallbackPageVersion; 11120 } 11121 11122 } else { 11123 availablePageVersion = availablePageVersions[0]; 11124 } 11125 11126 pageVersion = availablePageVersion; 11127
11128 processResult.pageConfig = pageVersion.template.revision.config; 11129 11130 processResult.context = matchType; 11131 processResult.contextId = matchResult.page.typeId; 11132 } else if (matchType == 'dataset-table' || matchType == 'dataset-table-item') { 11133 11134 processResult.context = 'dataset-table'; 11135 processResult.contextId = matchResult.page.typeId; 11136 processResult.contextParams = { 'lookupId': matchResult.matchVars[0] }; 11137 //processResult.pageConfig = matchResult.page.itemPageRevision.config; 11138 11139 // We need to find the item page version of this page 11140 if (matchType == 'dataset-table-item') { 11141 var availablePageVersion; 11142 var availablePageVersions = []; 11143 var blogPageVersions = matchResult.page.versions; 11144 for (var i = 0; i < blogPageVersions.length; i++) { 11145 var blogPageVersion = blogPageVersions[i]; 11146 if (blogPageVersion.type == 'item') { 11147 availablePageVersions.push(blogPageVersion); 11148 } 11149 } 11150 11151 availablePageVersion = availablePageVersions[0]; 11152 pageVersion = availablePageVersion; 11153 } 11154 11155 } else if (matchType == 'dataset-table-overview') { 11156 processResult.context = matchType; 11157 processResult.contextId = null; 11158 processResult.contextParams = { }; 11159 11160 var availablePageVersion; 11161 var availablePageVersions = []; 11162 var blogPageVersions = matchResult.page.versions; 11163 for (var i = 0; i < blogPageVersions.length; i++) { 11164 var blogPageVersion = blogPageVersions[i]; 11165 if (blogPageVersion.type == 'default') { 11166 availablePageVersions.push(blogPageVersion); 11167 } 11168 } 11169 11170 availablePageVersion = availablePageVersions[0]; 11171 pageVersion = availablePageVersion; 11172 11173 //processResult.pageConfig = matchResult.page.itemPageRevision.config; 11174 } else if (matchType == 'calendar-item') { 11175 processResult.context = matchType; 11176 processResult.contextId = matchResult.matchVars[0]; 11177 } else if (matchType == 'legacy-news-redirect') { 11178 processResult.context = matchType; 11179 processResult.contextId = matchResult.matchVars[0]; 11180 } else if (matchType == 'blog-item') { 11181 processResult.context = matchType; 11182 processResult.contextId = matchResult.matchVars[0]; 11183 11184 // We need to find the item page version of this page 11185 var availablePageVersions = []; 11186 var blogPageVersions = matchResult.page.versions; 11187 for (var i = 0; i < blogPageVersions.length; i++) { 11188 var blogPageVersion = blogPageVersions[i]; 11189 if (blogPageVersion.type == 'item') { 11190 availablePageVersions.push(blogPageVersion); 11191 } 11192 } 11193 11194 if (availablePageVersions.length == 0) { 11195 return { 11196 'result': false, 11197 'matchResult': matchResult, 11198 'pathRegexes': this.pathRegexes, 11199 'error': { 'httpCode': 501, code: 'page_version_missing', message: 'Could not find version for page' } 11200 }; 11201 } 11202 11203 var availablePageVersion; 11204 if (availablePageVersions.length > 1) { 11205 var chosenPageVersion = null; 11206 var fallbackPageVersion = null; 11207 11208 fallbackPageVersion = availablePageVersions[0]; 11209 for (var i = 0; i < availablePageVersions.length; i++) { 11210 var pageVersion = availablePageVersions[i]; 11211 if (fallbackPageVersion === null && pageVersion.condition === null) { 11212 fallbackPageVersion = pageVersion; 11213 continue; 11214 } 11215 11216 if (pageVersion.condition !== null) { 11217 11218 } 11219 11220 } 11221 11222 if (chosenPageVersion === null) { 11223 11224 availablePageVersion = fallbackPageVersion; 11225 } 11226 11227 } else { 11228 availablePageVersion = availablePageVersions[0]; 11229 } 11230 11231 pageVersion = availablePageVersion; 11232 11233 processResult.pageConfig = pageVersion.template.revision.config; 11234 11235 } else if (matchType == 'stream-item') { 11236 if (isEmpty(queryParams.mediaId) === true) { 11237 return { 11238 'result': false, 11239 'queryParams': queryParams, 11240 'pathRegexes': this.pathRegexes, 11241 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 11242 }; 11243 } 11244 11245 processResult.context = 'stream-item'; 11246 processResult.queryParams = 'stream-item'; 11247 processResult.contextId = queryParams.mediaId; 11248 11249 } else if (matchType == 'media') { 11250 if (isEmpty(queryParams.mediaId) === true) { 11251 return { 11252 'result': false, 11253 'queryParams': queryParams, 11254 'pathRegexes': this.pathRegexes, 11255 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 11256 }; 11257 } 11258 11259 processResult.context = 'stream-item'; 11260 processResult.queryParams = 'stream-item'; 11261 processResult.contextId = queryParams.mediaId; 11262 11263 } else if (matchType == 'donation-result') { 11264 if (isEmpty(queryParams.ref) === true) { 11265 return { 11266 'result': false, 11267 'queryParams': queryParams, 11268 'pathRegexes': this.pathRegexes, 11269 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 11270 }; 11271 } 11272 11273 processResult.context = 'donation-result'; 11274 processResult.queryParams = 'donation-result'; 11275 processResult.contextId = queryParams.ref; 11276 11277 return processResult; 11278 } else if (matchType == 'search') { 11279 var searchQuery = ''; 11280 var searchAuthors = ''; 11281 var searchTags = ''; 11282 var searchStorylines = ''; 11283 var searchPage = '1'; 11284 11285 if (isEmpty(queryParams.q) === false) { searchQuery = queryParams.q; } 11286 if (isEmpty(queryParams.a) === false) { searchAuthors = queryParams.a; } 11287 if (isEmpty(queryParams.t) === false) { searchTags = queryParams.t; } 11288 if (isEmpty(queryParams.s) === false) { searchStorylines = queryParams.s; } 11289 if (isEmpty(queryParams.p) === false) { searchPage = queryParams.p; } 11290 11291 /* 11292 if (isEmpty(queryParams.mediaId) === true) { 11293 return { 11294 'result': false, 11295 'queryParams': queryParams, 11296 'pathRegexes': this.pathRegexes, 11297 'error': { 'httpCode': 404, code: 'routing_failed', message: 'Could not route path' } 11298 }; 11299 }*/ 11300 11301 processResult.context = 'search'; 11302 processResult.contextParams = { 11303 'query': searchQuery, 11304 'authors': searchAuthors, 11305 'tags': searchTags, 11306 'storylines': searchStorylines, 11307 'page': searchPage 11308 } 11309 } 11310 11311 if (typeof pageVersion === 'undefined' || pageVersion === null || pageVersion === false) { 11312 pageVersion = matchResult.page.versions[0]; 11313 } 11314 11315 processResult.matchResult = matchResult; 11316 processResult.pageVersion = pageVersion; 11317 11318 return processResult; 11319}; 11320
11321Mfe.Renderer.ThemeHtml.prototype.generateErrorPageHtml = function(error) { 11322 var preferredLanguage = this.mfe.pageLanguage; 11323 11324 var errorPages = this.getErrorPage(error.httpCode, preferredLanguage); 11325 if (isEmpty(errorPages) === true || errorPages.length == 0) { 11326 return 'An error has occured.'; 11327 } 11328 11329 var errorPageVersions = errorPages[0].versions; 11330 var errorPageVersion = errorPageVersions[0]; 11331 11332 this.mfe.lastWidgetId = 0; 11333 this.mfe.lastLayoutId = 0; 11334 this.mfe.activeWidgets = {}; 11335 this.mfe.bodyClasses = {}; 11336 11337 var htmlResult = this.generatePageHtml(errorPageVersion.template.revision.config); 11338 11339 return htmlResult; 11340}; 11341 11342Mfe.Renderer.ThemeHtml.prototype.getErrorPage = function(code, language) { 11343 if (isEmpty(this.mfe.languageErrorPages) === true) { 11344 return null; 11345 } 11346 11347 if (isEmpty(this.mfe.languageErrorPages[code]) === true) { 11348 return null; 11349 } 11350 11351 if (isEmpty(this.mfe.languageErrorPages[code][language]) === false) { 11352 return this.mfe.languageErrorPages[code][language]; 11353 } 11354 11355 var availableLanguages = Object.keys(this.mfe.languageErrorPages[code]); 11356 return this.mfe.languageErrorPages[code][availableLanguages[0]]; 11357}; 11358 11359Mfe.Renderer.ThemeHtml.prototype.processPageMetaData = function(processResult) { 11360 var page = processResult.page; 11361 var pageType = processResult.page.type; 11362 11363 var pageDomain = ''; 11364 var pageTitleShort = ''; 11365 var pageTitleFull = ''; 11366 var pageDescription = isEmpty(this.mfe.siteConfig.siteDescription) === false ? this.mfe.siteConfig.siteDescription : ''; 11367 11368 pageDescription = pageDescription.replace(/\n/g, " ").trim(); 11369 11370 var metaData = { 11371 'html': {}, 11372 'og': {}, 11373 'twitter': {} 11374 }; 11375 11376 metaData.og.title = pageTitleShort; 11377 metaData.og.type = 'website'; 11378 11379 metaData.og.articleAuthor = ''; 11380 metaData.og.articlePublicationDate = ''; 11381 11382 metaData.og.description = pageDescription; 11383 metaData.og.url = ''; 11384 metaData.og.image = this.mfe.siteConfig.defaultOgImageUrl; 11385 metaData.og.imageWidth = ''; 11386 metaData.og.imageHeight = ''; 11387 11388 var contextTitle = ''; 11389 11390 if (this.mfe.context == 'blog-item' || this.mfe.context == 'cms-page' || this.mfe.context == 'cms-page-fallback') { 11391 11392 var blogItem = this.mfe.contextObject; 11393 11394 metaData.excludeIndexing = blogItem.getVisibilityExcludeIndexing(); 11395 11396 var revision = blogItem.getRevisionByLanguage(this.mfe.pageLanguage); 11397 11398 if (isEmpty(revision) === false) { 11399 contextTitle = revision.getTitle(); 11400 pageTitleShort = revision.getTitle(); 11401 pageTitleFull = revision.getTitle() + ' - ' + this.mfe.siteThemeConfig.site.title; 11402 11403 var summary = revision.getSummary(); 11404 if (summary.replace) { 11405 metaData.og.description = revision.getSummary().replace(/\n/g, " ").trim(); 11406 } 11407 11408 var ogImage = revision.getOgImage(); 11409 11410 if (ogImage.url.length > 0) { 11411 metaData.og.image = ogImage.url; 11412 metaData.og.imageWidth = ogImage.width; 11413 metaData.og.imageHeight = ogImage.height; 11414 } 11415 11416 if (this.mfe.context == 'cms-page' && page.type != 'cms-page-fallback') { 11417 if (page.title.length > 0) { 11418 contextTitle = page.title; 11419 } 11420 } 11421 11422 if (this.mfe.context == 'blog-item') { 11423 if (revision.author !== null && revision.author.getFullName) { 11424 metaData.og.articleAuthor = revision.author.getFullName(); 11425 } 11426 11427 if (blogItem.getPublicationDateIso8601) { 11428 metaData.og.articlePublicationDate = blogItem.getPublicationDateIso8601(); 11429 } 11430 11431 11432 } 11433 } 11434 11435 metaData.og.type = 'article'; 11436 } else if (this.mfe.context == 'dataset-table' || this.mfe.context == 'dataset-table-item') { 11437 11438 let datasetRecordLookup = this.mfe.contextObject; 11439 let recordTemplateData = datasetRecordLookup.getTemplateVars(this.mfe); 11440 11441 if (recordTemplateData._meta && typeof recordTemplateData._meta['ogPageTitle'] !== 'undefined') { 11442 contextTitle = recordTemplateData._meta['ogPageTitle']; 11443 pageTitleShort = recordTemplateData._meta['ogPageTitle']; 11444 pageTitleFull = recordTemplateData._meta['ogPageTitle'] + ' - ' + this.mfe.siteThemeConfig.site.title; 11445 } 11446 11447 if (recordTemplateData._meta && typeof recordTemplateData._meta['ogPageDescription'] !== 'undefined') { 11448 metaData.og.description = recordTemplateData._meta['ogPageDescription']; 11449 } 11450 11451 if (recordTemplateData._meta && typeof recordTemplateData._meta['ogImageUrl'] !== 'undefined') { 11452 metaData.og.image = recordTemplateData._meta['ogImageUrl']; 11453 } 11454 11455 } else if (pageType == 'media') { 11456 11457 var media = this.mfe.contextObject; 11458 11459 contextTitle = media.getTitle(); 11460 pageTitleShort = media.getTitle(); 11461 pageTitleFull = media.getTitle() + ' - ' + this.mfe.siteThemeConfig.site.title; 11462 11463 metaData.og.image = media.getImageUrl(); 11464 metaData.og.description = media.getDescription(); 11465 11466 } else if (pageType == 'frontpage') { 11467 pageTitleShort = this.mfe.siteThemeConfig.site.title; 11468 pageTitleFull = this.mfe.siteThemeConfig.site.title; 11469 11470 metaData.og.type = 'website'; 11471 metaData.og.image = this.mfe.siteConfig.defaultOgImageUrl; 11472 } else if (pageType == 'static') { 11473 pageTitleShort = page.title; 11474 pageTitleFull = page.title + ' - ' + this.mfe.siteThemeConfig.site.title; 11475 metaData.og.type = 'website'; 11476 metaData.og.image = this.mfe.siteConfig.defaultOgImageUrl; 11477 } else { 11478 // Temporary 11479 pageTitleShort = page.title + ' - ' + this.mfe.siteThemeConfig.site.title; 11480 pageTitleFull = page.title + ' - ' + this.mfe.siteThemeConfig.site.title; 11481 metaData.og.type = 'website'; 11482 metaData.og.image = this.mfe.siteConfig.defaultOgImageUrl; 11483 } 11484 11485 if (pageType != 'frontpage') { 11486 if (contextTitle === null || contextTitle.length == 0) { 11487 contextTitle = page.title; 11488 } 11489 11490 if (contextTitle !== null && contextTitle.length > 0) { 11491 pageTitleFull = contextTitle + ' - ' + this.mfe.siteThemeConfig.site.title; 11492 } else { 11493 pageTitleFull = this.mfe.siteThemeConfig.site.title; 11494 } 11495 } 11496 11497 metaData.og.title = pageTitleShort; 11498 metaData.og.url = ''; 11499 11500 metaData.html.title = pageTitleFull; 11501 metaData.html.description = pageDescription; 11502 11503 metaData.twitter.card = 'summary_large_image'; 11504 metaData.twitter.title = pageTitleShort; 11505 metaData.twitter.description = pageDescription; 11506 metaData.twitter.textDescription = pageDescription; 11507 metaData.twitter.domain = pageDomain; 11508 11509 if (page.metaTitle && page.metaTitle.length > 0) { 11510 metaData.html.title = page.metaTitle; 11511 metaData.twitter.title = page.metaTitle; 11512 metaData.og.title = page.metaTitle; 11513 } 11514 11515 if (page.metaDescription && page.metaDescription.length > 0) { 11516 metaData.html.description = page.metaDescription; 11517 metaData.twitter.description = page.metaDescription; 11518 metaData.og.description = page.metaDescription; 11519 } 11520 11521 if (page.metaImageUrl && page.metaImageUrl.length > 0) { 11522 //metaData.html.description = page.metaImageUrl; 11523 //metaData.twitter.description = page.metaImageUrl; 11524 metaData.og.image = page.metaImageUrl; 11525 } 11526 11527 if (page.metaType && page.metaType.length > 0) { 11528 metaData.og.type = page.metaType; 11529 } 11530 11531 return metaData; 11532}; 11533
11534Mfe.Renderer.ThemeHtml.prototype.matchPath = function(path, queryParams) { 11535 11536 var fixedPath; 11537 if (path == '/') { 11538 fixedPath = '/'; 11539 } else { 11540 if (path.substring(path.length - 1, path.length) == '/') { 11541 fixedPath = path.substring(0, path.length - 1); 11542 } else { 11543 fixedPath = path; 11544 } 11545 } 11546 11547 if (this.pathRegexes.length == 0) { 11548 return false; 11549 } 11550 11551 if (typeof this.paths[fixedPath] !== 'undefined') { 11552 11553 return this.paths[fixedPath]; 11554 } 11555 11556 for (var i = 0; i < this.pathRegexes.length; i++) { 11557 var pathRegExObj = this.pathRegexes[i]; 11558 var pathRe = new RegExp(pathRegExObj.regEx, 'g'); 11559 11560 var matchResult = pathRe.test(fixedPath); 11561 if (matchResult === true) { 11562 var pathRe = new RegExp(pathRegExObj.regEx, 'g'); 11563 var matchVars = []; 11564 var matchVar; 11565 do { 11566 matchVar = pathRe.exec(path); 11567 if (matchVar) { 11568 matchVars.push(matchVar[1]); 11569 } 11570 } while (matchVar); 11571 11572 let pathVars = {}; 11573 if (pathRegExObj.pathVariables) { 11574 for (let j = 0; j < pathRegExObj.pathVariables.length; j++) { 11575 let varKey = pathRegExObj.pathVariables[j]; 11576 let varValue = matchVars[j]; 11577 11578 pathVars[varKey] = varValue; 11579 } 11580 } 11581 11582 var matchCustomPathRegEx = Object.assign({ 'matchVars': matchVars, 'pathVars': pathVars }, pathRegExObj); 11583 return matchCustomPathRegEx; 11584 } 11585 } 11586 11587 if (isEmpty(this.paths[fixedPath]) === true) { 11588 return false; 11589 } 11590 11591 return this.paths[fixedPath]; 11592}; 11593 11594Mfe.Renderer.ThemeHtml.prototype.generatePageHtml = function(pageConfig, type) { 11595 //console.log('generatePageHtml'); 11596 //console.log(type); 11597 //console.log(pageConfig); 11598 11599 if (isEmpty(type) === true) { 11600 type = 'template'; 11601 } 11602 11603 if (type === 'template') { 11604 11605 if (isEmpty(pageConfig) === true) { 11606 return { 'result': false, 'error': { 'httpCode': 500, 'code': 'template_config_missing', 'message': 'Missing template configuration for page' } }; 11607 } 11608 11609 if (isEmpty(pageConfig.body) === true || isEmpty(pageConfig.body.id) === true) { 11610 return { 'result': false, 'error': { 'httpCode': 500, 'code': 'template_body_missing', 'message': 'Missing body template' } }; 11611 } 11612 11613 // Get page body 11614 logTime('Loading template body from bundle'); 11615 var themeBody = this.mfe.themeHtmlBundle.getBodyById(pageConfig.body.id); 11616 if (isEmpty(themeBody) === true) { 11617 return false; 11618 } 11619 11620 var bodySettings = themeBody.getSettings(); 11621 11622 logTime('Parsing body variables'); 11623 var bodyVars = this.renderSettingVars(bodySettings, pageConfig.body.config); 11624 11625 if (isEmpty(this.mfeIncludeEditContainers) === false && this.mfeIncludeEditContainers === true || this.mfe.viewMode == 'edit') { 11626 11627 } 11628 11629 bodyVars.mfeIncludeEditContainers = this.mfeIncludeEditContainers; 11630 11631 /*for (var i = 0; i < bodySettings.length; i++) { 11632 var bodySetting = bodySettings[i]; 11633 var bodyConfig = pageConfig.body.config[bodySetting.name]; 11634 11635 if (bodySetting.type == 'block') { 11636 bodyVars[bodySetting.name] = this.renderThemeBlock(bodyConfig.id, bodyConfig.config); 11637 } else if (bodySetting.type == 'layouts') { 11638 bodyVars[bodySetting.name] = this.renderThemeLayouts(bodyConfig); 11639 } 11640 }*/ 11641 11642 logTime('Compiling theme body HTML'); 11643 var htmlTemplate = Handlebars.compile(themeBody.getHtml()); 11644 logTime('Rendering HTML from template'); 11645 var html = htmlTemplate(bodyVars); 11646 11647 } else { 11648 11649 let componentSettings = [ 11650 { "type": "layouts", "name": "layouts", "description": "Content layouts" } 11651 ]; 11652 let componentVars = this.renderSettingVars(componentSettings, pageConfig); 11653 11654 let componentHtml = '{{{layouts}}}'; 11655 var htmlTemplate = Handlebars.compile(componentHtml); 11656 var html = htmlTemplate(componentVars); 11657 } 11658 11659 logTime('Replacing widget elements in HTML'); 11660 var replacedHtml = this.mfe.replaceWidgetElements(html, false); 11661 11662 return replacedHtml; 11663}; 11664
11665Mfe.Renderer.ThemeHtml.prototype.renderSettingVars = function(settings, config, configPresetId, componentConfig) { 11666 11667 var vars = {}; 11668 for (var i = 0; i < settings.length; i++) { 11669 var setting = settings[i]; 11670 var settingConfig; 11671 11672 let hasVariableMapping = false; 11673 11674 if (typeof componentConfig !== 'undefined' && 11675 typeof config.variableMapping !== 'undefined' && 11676 config.variableMapping !== null) { 11677 if (typeof config.variableMapping[setting.name] !== 'undefined') { 11678 if (typeof componentConfig[config.variableMapping[setting.name]] !== 'undefined') { 11679 settingConfig = componentConfig[config.variableMapping[setting.name]]; 11680 hasVariableMapping = true; 11681 } 11682 } 11683 } 11684 11685 if (hasVariableMapping === false) { 11686 if (typeof configPresetId !== 'undefined' && configPresetId !== null) { 11687 var configPreset = this.mfe.siteBundle.getPresetById(configPresetId); 11688 settingConfig = configPreset.getConfig(); 11689 } else if (typeof config !== 'undefined' && typeof config[setting.name] !== 'undefined') { 11690 settingConfig = config[setting.name]; 11691 } else { 11692 settingConfig = null; 11693 } 11694 11695 if (isEmpty(settingConfig) === true) { 11696 if (isEmpty(setting.default) === true) { 11697 continue; 11698 } 11699 11700 settingConfig = setting.default; 11701 } 11702 } 11703 11704 var newSettingConfig = null; 11705 11706 if (setting.type == 'block') { 11707 newSettingConfig = this.renderThemeBlock(settingConfig.id, settingConfig.config, settingConfig.configPresetId, componentConfig); 11708 } else if (setting.type == 'layouts') { 11709 newSettingConfig = this.renderThemeLayouts(settingConfig, settingConfig.config); 11710 } else if (setting.type == 'widgets') { 11711 newSettingConfig = this.renderThemeWidgets(settingConfig, componentConfig); 11712 } else if (setting.type == 'text') { 11713 if (typeof settingConfig == 'object') { 11714 newSettingConfig = this.mfe.resolveTextVariable(settingConfig); 11715 } else { 11716 newSettingConfig = settingConfig; 11717 } 11718 } else if (setting.type == 'dimension') { 11719 newSettingConfig = settingConfig; 11720 } else if (setting.type == 'html') { 11721 newSettingConfig = settingConfig; 11722 } else if (setting.type == 'imageUrl') { 11723 newSettingConfig = settingConfig; 11724 } else if (setting.type == 'background') { 11725 11726 var backgroundCssItems = []; 11727 var backgroundRepeat = 'no-repeat'; 11728 var backgroundSize = 'cover'; 11729 11730 if (isEmpty(settingConfig.backgroundRepeat) === false) { 11731 backgroundRepeat = settingConfig.backgroundRepeat; 11732 } 11733 11734 if (isEmpty(settingConfig.backgroundSize) === false) { 11735 backgroundSize = settingConfig.backgroundSize; 11736 } 11737 11738 if (setting.asCssVars && setting.asCssVars === true) { 11739 11740 var prefix = ''; 11741 if (setting.prefix) { 11742 prefix = setting.prefix + '-'; 11743 } 11744 11745 if (isEmpty(settingConfig.color) === false) { 11746 backgroundCssItems.push('--' + prefix + 'background-color: ' + settingConfig.color); 11747 } 11748 11749 if (isEmpty(settingConfig.image) === false) { 11750 backgroundCssItems.push('--' + prefix + 'background-image: url(' + settingConfig.image + ')'); 11751 } 11752 11753 if (isEmpty(settingConfig.attachment) === false) { 11754 backgroundCssItems.push('--' + prefix + 'background-attachment: ' + settingConfig.attachment); 11755 } 11756 11757 backgroundCssItems.push('--' + prefix + 'background-size: ' + backgroundSize); 11758 backgroundCssItems.push('--' + prefix + 'background-repeat: ' + backgroundRepeat); 11759 11760 } else { 11761 11762 if (isEmpty(settingConfig.color) === false) { 11763 backgroundCssItems.push('background-color: ' + settingConfig.color); 11764 } 11765 11766 if (isEmpty(settingConfig.image) === false) { 11767 backgroundCssItems.push('background-image: url(' + settingConfig.image + ')'); 11768 } 11769 11770 backgroundCssItems.push('background-size: ' + backgroundSize); 11771 backgroundCssItems.push('background-repeat: ' + backgroundRepeat); 11772 } 11773 11774 if (backgroundCssItems.length > 0) { 11775 newSettingConfig = backgroundCssItems.join('; '); 11776 } 11777 } else if (setting.type == 'backgroundCssVars') { 11778 var backgroundCssItems = []; 11779 if (isEmpty(settingConfig.color) === false) { 11780 backgroundCssItems.push('--background-color: ' + settingConfig.color); 11781 } 11782 11783 if (isEmpty(settingConfig.image) === false) { 11784 backgroundCssItems.push('--background-image: url(' + settingConfig.image + ')'); 11785 } 11786 11787 if (isEmpty(settingConfig.attachment) === false) { 11788 backgroundCssItems.push('--background-attachment: ' + settingConfig.attachment); 11789 } 11790 11791 11792 11793 if (backgroundCssItems.length > 0) { 11794 newSettingConfig = backgroundCssItems.join('; '); 11795 } 11796 11797 }
11797 else if (setting.type == 'cssBackgroundColor') { 11798 newSettingConfig = 'background-color: ' + settingConfig; 11799 } else if (setting.type == 'cssVarBackgroundColor') { 11800 newSettingConfig = '--' + setting.varName + ': ' + settingConfig; 11801 } else if (setting.type == 'options') { 11802 newSettingConfig = settingConfig; 11803 } else if (setting.type == 'font') { 11804 11805 if (setting.asCssVars) { 11806 var prefix = ''; 11807 if (setting.prefix) { 11808 prefix = setting.prefix; 11809 } 11810 11811 var fontCssVars = Mfe.Fonts.generateFontConfigCssVars(prefix, settingConfig, this.mfe); 11812 newSettingConfig = fontCssVars; 11813 } else { 11814 newSettingConfig = JSON.stringify(settingConfig); 11815 } 11816 11817 } else if (setting.type == 'menu') { 11818 11819 11820 if (isEmpty(setting.asTemplateVars) === false && setting.asTemplateVars === true) { 11821 var menu = this.mfe.siteBundle.getMenuById(settingConfig); 11822 if (isEmpty(menu) === false) { 11823 newSettingConfig = menu.getTemplateVars(); 11824 } 11825 11826 } else { 11827 newSettingConfig = JSON.stringify(settingConfig); 11828 } 11829 11830 11831 } else if (setting.type == 'boolean') { 11832 newSettingConfig = settingConfig; 11833 } 11834 11835 11836 if (isEmpty(setting.isWidgetAttribute) === false && setting.isWidgetAttribute === true) { 11837 vars[setting.name] = JSON.stringify(newSettingConfig); 11838 } else { 11839 vars[setting.name] = newSettingConfig; 11840 } 11841 } 11842 11843 return vars; 11844}; 11845 11846Mfe.Renderer.ThemeHtml.prototype.renderThemeBlock = function(id, config, configPresetId) { 11847 11848 logTime('Rendering theme block'); 11849 11850 // Get page body 11851 var themeBlock = this.mfe.themeHtmlBundle.getBlockById(id); 11852 if (isEmpty(themeBlock) === true) { 11853 return ''; 11854 } 11855 11856 var blockConfig = {}; 11857 if (typeof configPresetId !== 'undefined' && configPresetId !== null) { 11858 var configPreset = this.mfe.siteBundle.getPresetById(configPresetId); 11859 blockConfig = configPreset.getConfig(); 11860 } else if (isEmpty(this.mfe.siteThemeConfig.global.blocks) === false && isEmpty(this.mfe.siteThemeConfig.global.blocks[id]) === false) { 11861 blockConfig = Object.assign({}, this.mfe.siteThemeConfig.global.blocks[id], config); 11862 } else { 11863 blockConfig = config; 11864 } 11865 11866 // Gather variables for body settings 11867 var blockVars = {}; 11868 var blockSettings = themeBlock.getSettings(); 11869 11870 var blockVars = this.renderSettingVars(blockSettings, blockConfig); 11871 11872 11873 blockVars.mfeIncludeEditContainers = this.mfeIncludeEditContainers; 11874 /*for (var i = 0; i < blockSettings.length; i++) { 11875 var blockSetting = blockSettings[i]; 11876 var blockConfig = config[blockSetting.name]; 11877 11878 if (isEmpty(blockConfig) === true) { 11879 continue; 11880 } 11881 11882 if (blockSetting.type == 'text') { 11883 blockVars[blockSetting.name] = blockConfig; 11884 } else if (blockSetting.type == 'imageUrl') { 11885 blockVars[blockSetting.name] = blockConfig; 11886 } else if (blockSetting.type == 'cssBackgroundColor') { 11887 blockVars[blockSetting.name] = 'background-color: ' + blockConfig; 11888 } else { 11889 blockVars[blockSetting.name] = blockConfig; 11890 } 11891 }*/ 11892 11893 blockVars.mfe = { 11894 'Session': mfe.Session 11895 }; 11896 11897 logTime('Compiling theme block HTML'); 11898 var htmlTemplate = Handlebars.compile(themeBlock.getHtml()); 11899 var html = htmlTemplate(blockVars); 11900 11901 logTime('Finished generating theme block HTML'); 11902 11903 return html; 11904}; 11905 11906Mfe.Renderer.ThemeHtml.prototype.renderThemeLayouts = function(layouts, componentConfig) { 11907 logTime('Rendering theme layouts'); 11908 11909 var layoutsHtml = []; 11910 for (var i = 0; i < layouts.length; i++) { 11911 var layout = layouts[i]; 11912 11913 if (typeof layout.type !== 'undefined' && layout.type == 'static') { 11914 layoutsHtml.push(this.renderThemeLayout(layout.name, layout.config, 'static', componentConfig)); 11915 } else if (typeof layout.type !== 'undefined' && layout.type == 'component') { 11916 //console.log('hello'); 11917 //console.log(layout); 11918 //console.log(componentConfig); 11919 layoutsHtml.push(this.renderThemeLayout(layout.id, layout.config, 'component', componentConfig, layout.presetId)); 11920 } else { 11921 layoutsHtml.push(this.renderThemeLayout(layout.id, layout.config, 'default', componentConfig)); 11922 } 11923 11924 } 11925 11926 return layoutsHtml.join("\r\n"); 11927}; 11928 11929Mfe.Renderer.ThemeHtml.prototype.renderThemeLayout = function(id, config, type, componentConfiguration, configPresetId) { 11930 //console.log('Rendering theme layout'); 11931 //console.log(config); 11932 //console.log(type); 11933 //console.log(componentConfiguration); 11934 11935 if (typeof type === 'undefined' || type === null) {
11936 type = 'default'; 11937 } 11938 11939 if (type == 'default') { 11940 // Get page body 11941 var themeLayout = this.mfe.themeHtmlBundle.getLayoutById(id); 11942 if (isEmpty(themeLayout) === true) { 11943 return false; 11944 } 11945 11946 11947 // Gather variables for body settings 11948 var layoutSettings = themeLayout.getSettings(); 11949 11950 11951 var layoutVars = this.renderSettingVars(layoutSettings, config, config.presetId, componentConfiguration); 11952 layoutVars.mfeIncludeEditContainers = this.mfeIncludeEditContainers; 11953 11954 logTime('Compiling theme layout HTML'); 11955 var htmlTemplate = Handlebars.compile(themeLayout.getHtml()); 11956 var html = htmlTemplate(layoutVars); 11957 logTime('Finished generating theme layout HTML'); 11958 } else if (type == 'component') { 11959 //let component = this.mfe.siteBundle.ge 11960 11961 //console.log('rendering theme component'); 11962 //console.log(config); 11963 11964 let component = this.mfe.siteBundle.getComponentById(id); 11965 let componentConfig = component.getConfig(); 11966 11967 let useConfig = null; 11968 11969 if (typeof configPresetId !== 'undefined' && configPresetId !== null) { 11970 //console.log(configPresetId); 11971 let configPreset = this.mfe.siteBundle.getPresetById(configPresetId); 11972 //console.log(configPreset); 11973 useConfig = configPreset.getConfig(); 11974 } 11975 11976 if (useConfig === null) { 11977 useConfig = config; 11978 } 11979 11980 let componentHtml = ''; 11981 for (let componentLayoutConfig of componentConfig.layouts) { 11982 componentHtml += this.renderThemeLayout(componentLayoutConfig.id, componentLayoutConfig.config, null, useConfig); 11983 } 11984 11985 var html = componentHtml; 11986 } else { 11987 var layoutId = this.mfe.getNextLayoutId(); 11988 var layout = new Mfe.Layouts[id](this.mfe, this, layoutId, config); 11989 var html = layout.render(); 11990 } 11991 11992 /*for (var i = 0; i < layoutSettings.length; i++) { 11993 var layoutSetting = layoutSettings[i]; 11994 var layoutConfig = config[layoutSetting.name]; 11995 11996 if (isEmpty(layoutConfig) === true) { 11997 continue; 11998 } 11999 12000 if (layoutSetting.type == 'widgets') { 12001 layoutVars[layoutSetting.name] = this.renderThemeWidgets(layoutConfig); 12002 } else if (layoutSetting.type == 'text') { 12003 layoutVars[layoutSetting.name] = layoutConfig; 12004 } 12005 }*/ 12006 12007 return html; 12008}; 12009 12010Mfe.Renderer.ThemeHtml.prototype.renderThemeWidgets = function(widgets, componentConfig) { 12011 logTime('Rendering theme widgets'); 12012 12013 var widgetsHtml = []; 12014 for (var i = 0; i < widgets.length; i++) { 12015 var widget = widgets[i]; 12016 12017 widgetsHtml.push(this.renderThemeWidget(widget, componentConfig)); 12018 } 12019 12020 return widgetsHtml.join("\r\n"); 12021}; 12022 12023Mfe.Renderer.ThemeHtml.prototype.renderThemeWidget = function(config, componentConfig) { 12024 var configKeys = Object.keys(config); 12025 var widgetAttrs = []; 12026 for (var i = 0; i < configKeys.length; i++) { 12027 if (configKey === 'variableMapping') { 12028 continue; 12029 } 12030 12031 var configKey = configKeys[i]; 12032 var configVal = null; 12033 12034 if (isEmpty(componentConfig) === false && typeof config.variableMapping !== 'undefined') { 12035 if (typeof config.variableMapping[configKey] !== 'undefined') { 12036 12037 configVal = componentConfig[config.variableMapping[configKey]]; 12038 } 12039 } 12040 12041 if (typeof configVal === 'undefined' || configVal === null) { 12042 configVal = config[configKey]; 12043 } 12044 12045 widgetAttrs.push(configKey + '="' + Mfe.Utils.Text.escapeHtml(JSON.stringify(configVal)) + '"'); 12046 } 12047 12048 return '<widget ' + widgetAttrs.join(' ') + '></widget>'; 12049}; 12050 12051Mfe.Renderer.ThemeHtml.prototype.exitEditMode = function() { 12052 this.mfe.editMode = false; 12053}; 12054 12055Mfe.Renderer.ThemeHtml.prototype.attachEditHandlers = function() { 12056 var self = this; 12057 12058 var $stageEl = $('body'); 12059 12060 $stageEl.find('#mfe-edit-overlay-hover').remove(); 12061 $stageEl.find('#mfe-edit-ruler-vertical').remove(); 12062 $stageEl.find('#mfe-edit-ruler-horizontal').remove(); 12063 $stageEl.find('#mfe-edit-ruler-info').remove(); 12064 $stageEl.find('#mfe-edit-overlay-hover-container').remove(); 12065 $stageEl.find('#mfe-edit-overlay-hover-measure-container').remove(); 12066 12067 var editButtonHtml = [ 12068 '<div id="mfe-edit-floating"><button>
12068<div><i class="fas fa-pencil"></i>Edit page</div></button></div>', 12069 '<div id="mfe-edit-bg"></div>' 12070 ].join(''); 12071 12072 var $overlayHoverEl = $('<div id="mfe-edit-overlay-hover-container" class="mfe-edit-overlay"><div id="mfe-edit-overlay-hover"></div></div>'); 12073 var $overlayHoverMeasureEl = $('<div id="mfe-edit-overlay-hover-measure-container" class="mfe-edit-measure-overlay"><div id="mfe-edit-measure-overlay-hover"></div></div>'); 12074 12075 var $rulerVerticalEl = $('<div id="mfe-edit-ruler-vertical" class="mfe-edit-ruler"></div>'); 12076 var $rulerHorizontalEl = $('<div id="mfe-edit-ruler-horizontal" class="mfe-edit-ruler"></div>'); 12077 var $rulerInfoEl = $('<div id="mfe-edit-ruler-info"><div class="type"><span>Layout</span></div><div class="dimensions"><span class="width">100px</span> x <span class="height">56px</span></div></div>'); 12078 12079 $stageEl.append($overlayHoverEl); 12080 $stageEl.append($overlayHoverMeasureEl); 12081 $stageEl.append($rulerVerticalEl); 12082 $stageEl.append($rulerHorizontalEl); 12083 $stageEl.append($rulerInfoEl); 12084 12085 this.$mfeOverlayHoverEl = $overlayHoverEl; 12086 12087 $('#root-preview .widget').on('mouseenter', function(e) { 12088 if ($(this).parents('.content-area').length == 0) { 12089 return; 12090 } 12091 12092 if (self.mfe.editMode === true || self.selectMode === false) { 12093 return; 12094 } 12095 12096 self.positionHoverOverlay('widget', $(this)); 12097 }); 12098 12099 $('#mfe-edit-overlay-hover').on('mouseleave', function(e) { 12100 if (self.$selectedEl === self.$hoverSourceEl) { 12101 return; 12102 } 12103 12104 //console.log('check if this overlay is the currently selected one'); 12105 self.hideHoverOverlay(); 12106 12107 }); 12108 12109 $('#mfe-edit-overlay-hover').on('mousedown', function(e) { 12110 self.mouseDownOnOverlay = true; 12111 }); 12112 12113 $('#mfe-edit-overlay-hover').on('mouseup', function(e) { 12114 if (e.button === 2) { 12115 return; 12116 } 12117 12118 if (typeof self.mouseDownOnOverlay == 'undefined' || self.mouseDownOnOverlay === false) { 12119 return; 12120 } 12121 12122 if (typeof mfeBodyMoving == 'undefined') { 12123 return; 12124 } 12125 12126 if (mfeBodyMoving !== false) { 12127 return; 12128 } 12129 12130 self.mouseDownOnOverlay = false; 12131 if (self.$hoverSourceEl.hasClass('widget') === true) { 12132 var $widgetEl = self.$hoverSourceEl; 12133 var $layoutEl = $widgetEl.parents('.layout-container'); 12134 var $settingEl = $layoutEl.parents('.mfe-edit-container[data-setting-name]'); 12135 var settingName = $settingEl.attr('data-setting-name'); 12136 var layoutIndex = $layoutEl.prevAll('.layout-container').length; 12137 12138 var $layoutSettingEl = $widgetEl.parents('.mfe-edit-container[data-setting-type="widgets"]'); 12139 var layoutSettingName = $layoutSettingEl.attr('data-setting-name'); 12140 12141 var widgetIndex = $widgetEl.prevAll('.widget').length; 12142 12143 var elementPath = { 12144 'type': 'widget', 12145 'settingName': settingName, 12146 'layoutIndex': layoutIndex, 12147 'layoutSettingName': layoutSettingName, 12148 'widgetIndex': widgetIndex 12149 }; 12150 } else { 12151 var $blockEl = self.$hoverSourceEl; 12152 12153 if ($blockEl.hasClass('mfe-edit-container') === false) { 12154 return; 12155 } 12156 12157 var $settingEl = $blockEl; 12158 12159 if ($settingEl.attr('data-setting-type') != 'block') { 12160 return; 12161 } 12162 12163 var settingName = $settingEl.attr('data-setting-name'); 12164 var elementPath = { 12165 'type': 'block', 12166 'settingName': settingName 12167 }; 12168 } 12169 12170 self.$selectedEl = self.$hoverSourceEl; 12171 12172 if (!parent.Create || !parent.Create.CP.runtime.pageInstance) { 12173 window.parent.Create.CP.Pages['site-website-profile-template'].onWidgetClick(elementPath); 12174 } else { 12175 window.parent.Create.CP.runtime.pageInstance.onElementSelect(elementPath); 12176 } 12177 }); 12178 12179 $('#root-preview').on('click', '.mfe-edit-layout-info > .handle', function(e) { 12180 if (!parent.Create || !parent.Create.CP.runtime.pageInstance) { 12181 //console.log('no page instance'); 12182 return; 12183 } 12184 12185 if (self.$hoverSourceEl.hasClass('layout-container') !== true) { 12186 //console.log('no layout container'); 12187 return; 12188 } 12189 12190 // Figure out this path 12191 var $layoutEl = self.$hoverSourceEl; 12192 var $settingEl = $layoutEl.parents('.mfe-edit-container[data-setting-name]'); 12193 if ($settingEl.length == 0) { 12194 //console.log('no data setting name on edit container'); 12195 return; 12196 } 12197 12198 var settingName = $settingEl.attr('data-setting-name'); 12199 var layoutIndex = $layoutEl.prevAll('.layout-container').length; 12200 12201 var elementPath = { 12202 'type': 'layout', 12203 'settingName': settingName, 12204 'layoutIndex': layoutIndex 12205 }; 12206 12207 window.parent.Create.CP.runtime.pageInstance.onElementSelect(elementPath); 12208 }); 12209 12210 $('#root-preview').on('mouseenter', '.mfe-edit-layout-info > .handle', function(e) { 12211 if (self.mfe.editMode === true || self.selectMode === false) { 12212 return; 12213 } 12214 12215 var $handleEl = $(this); 12216 var $layoutEl = $handleEl.parents('.layout-container'); 12217 if ($layoutEl.length == 0) { 12218 return; 12219 } 12220 12221 if (self.$selectedEl !== null) { 12222 // position distance overlay 12223 //self.positionHoverOverlay('layout', $layoutEl); 12224 } else { 12225 self.positionHoverOverlay('layout', $layoutEl); 12226 } 12227 }); 12228 12229 $('#root-preview').on('mouseleave', '.mfe-edit-layout-info > .handle', function(e) {
12230 //console.log('layout handle mouse leaving'); 12231 self.hideHoverOverlay(); 12232 }); 12233 12234 $('#root-preview').on('mouseenter', '.mfe-edit-container[data-setting-type="block"]', function(e) { 12235 if (self.$selectedEl !== null) { 12236 // position distance overlay 12237 //self.positionHoverOverlay('block', $(this)); 12238 } else { 12239 self.positionHoverOverlay('block', $(this)); 12240 } 12241 }); 12242 12243 $('#root-preview').on('click', '.mfe-edit-container[data-setting-type="layouts"].empty', function(e) { 12244 var $editContainerEl = $(this); 12245 window.parent.Create.CP.runtime.pageInstance.onAddLayoutRequest($editContainerEl.attr('data-setting-name')); 12246 }); 12247 12248 $('#root-preview').on('click', '.mfe-edit-layout-add-widget', function(e) { 12249 12250 }); 12251 12252 $('#root-preview').on('click', '.mfe-edit-container[data-setting-type="widgets"].empty', function(e) { 12253 var $editContainerEl = $(this); 12254 12255 var settingName = $editContainerEl.parents('.mfe-edit-container').attr('data-setting-name'); 12256 12257 var $layoutContainerEl = $editContainerEl.parents('.layout-container'); 12258 var layoutIndex = $layoutContainerEl.prevAll('.layout-container').length; 12259 12260 var layoutSettingName = $editContainerEl.attr('data-setting-name'); 12261 12262 var elementPath = { 12263 'type': 'widget', 12264 'settingName': settingName, 12265 'layoutIndex': layoutIndex, 12266 'layoutSettingName': layoutSettingName 12267 }; 12268 12269 window.parent.Create.CP.runtime.pageInstance.onAddWidgetRequest(elementPath); 12270 }); 12271 12272 $(window).on('scroll', function(e) { 12273 self.updateOverlays(); 12274 }); 12275}; 12276 12277Mfe.Renderer.ThemeHtml.prototype.selectElement = function($selectEl) { 12278 12279}; 12280 12281Mfe.Renderer.ThemeHtml.prototype.enterLayoutEditableEditMode = function($editableEl) { 12282 //console.log('we are gonna be able to edit this layout editable element'); 12283 this.mfe.editMode = true; 12284 12285 $editableEl.attr('contenteditable', true); 12286 12287 $('#mfe-edit-overlay-editable').addClass('no-pointer-events'); 12288 $editableEl.addClass('mfe-editable-editing'); 12289 12290 this.mfe.editModeEditableEl = $editableEl; 12291 12292 //console.log('onblurrrrrr attached'); 12293 $editableEl.on('blur', this.onLayoutEditableBlur.bind(this)); 12294}; 12295 12296Mfe.Renderer.ThemeHtml.prototype.onLayoutEditableBlur = function(arg1, arg2) { 12297 var $editableEl = $('.mfe-editable-editing'); 12298 if ($editableEl.length == 0) { 12299 return; 12300 } 12301 12302 //console.log('mfe editable blur'); 12303 12304 this.exitLayoutEditableEditMode(); 12305}; 12306 12307Mfe.Renderer.ThemeHtml.prototype.exitLayoutEditableEditMode = function($editableEl) { 12308 this.mfe.editModeEditableEl.off('blur'); 12309 12310 this.mfe.editModeEditableEl.attr('contenteditable', false); 12311 this.mfe.editModeEditableEl.removeClass('mfe-editable-editing'); 12312 $('#mfe-edit-overlay-editable').removeClass('no-pointer-events'); 12313 12314 this.hideEditOverlay('editable', null); 12315 this.mfe.editMode = false; 12316 12317 window.getSelection().removeAllRanges(); 12318}; 12319 12320Mfe.Renderer.ThemeHtml.prototype.updateOverlays = function() { 12321 12322 12323 this.positionHoverOverlay(this.hoverSourceType, this.$hoverSourceEl, true); 12324 12325 /*var activeOverlays = Object.keys(this.editOverlays); 12326 12327 for (var i = 0; i < activeOverlays.length; i++) { 12328 var activeOverlayType = activeOverlays[i]; 12329 this.positionEditOverlay(activeOverlayType, this.editOverlays[activeOverlayType]); 12330 }*/ 12331}; 12332 12333Mfe.Renderer.ThemeHtml.prototype.positionEditOverlay = function(type, $element) { 12334 12335 var friendlyType; 12336 12337 if (type == 'widget') { 12338 12339 var realChildNodes = []; 12340 for (var i = 0; i < $element[0].childNodes.length; i++) { 12341 var childNode = $element[0].childNodes[i]; 12342 if (childNode.nodeType == 1) { 12343 realChildNodes.push(childNode); 12344 } 12345 } 12346 12347 if (realChildNodes.length == 1 && $(realChildNodes[0]).hasClass('mfe-editable') === true) { 12348 return; 12349 } 12350 12351 friendlyType = type; 12352 } else if (type == 'template') { 12353 friendlyType = $element.attr('data-setting-sub-type'); 12354 } else { 12355 friendlyType = type; 12356 } 12357 12358 var $overlayEl = $('#mfe-edit-overlay-' + type); 12359 12360 $overlayEl.addClass('show'); 12361 12362 var scrollTop = document.scrollingElement.scrollTop; 12363 var scrollLeft = document.scrollingElement.scrollLeft; 12364 var elRect = $element[0].getBoundingClientRect(); 12365 12366 $overlayEl.css('left', (elRect.left + scrollLeft) + 'px'); 12367 $overlayEl.css('top', (elRect.top + scrollTop) + 'px'); 12368 $overlayEl.css('width', elRect.width + 'px'); 12369 $overlayEl.css('height', elRect.height + 'px'); 12370 12371 var $rulerVerticalEl = $('#mfe-edit-ruler-vertical'); 12372 var $rulerHorizontalEl = $('#mfe-edit-ruler-horizontal'); 12373 var $rulerInfoEl = $('#mfe-edit-ruler-info'); 12374 12375 $rulerVerticalEl.css('left', elRect.left); 12376 $rulerVerticalEl.css('width', elRect.width); 12377 12378 $rulerHorizontalEl.css('top', elRect.top); 12379 $rulerHorizontalEl.css('height', elRect.height); 12380 12381 $rulerInfoEl.css('left', elRect.left); 12382 $rulerInfoEl.css('width', elRect.width); 12383 $rulerInfoEl.css('top', elRect.top); 12384 12385 var transformScaleVal = currentZoomPerc / 100; 12386 12387 $rulerInfoEl.find('.type span').text(friendlyType); 12388 $rulerInfoEl.find('.dimensions .width').text(Mfe.Utils.Math.round((elRect.width / transformScaleVal), 1)); 12389 $rulerInfoEl.find('.dimensions .height').text(Mfe.Utils.Math.round((elRect.height / transformScaleVal), 1)); 12390 12391 this.editOverlays[type] = $element; 12392}; 12393
12394Mfe.Renderer.ThemeHtml.prototype.positionHoverOverlay = function(type, $element, onlyReposition) { 12395 if ($element === null) { 12396 return; 12397 } 12398 12399 if (type == 'block' && $element.hasClass('empty') === true) { 12400 return; 12401 } 12402 12403 if (typeof onlyReposition == 'undefined') { 12404 onlyReposition = false; 12405 } 12406 12407 this.hoverSourceType = type; 12408 this.$hoverSourceEl = $element; 12409 12410 if (onlyReposition === false) { 12411 this.$mfeOverlayHoverEl.addClass('show'); 12412 12413 if (type == 'layout') { 12414 this.$mfeOverlayHoverEl.addClass('no-pointer-events'); 12415 } else { 12416 this.$mfeOverlayHoverEl.removeClass('no-pointer-events'); 12417 } 12418 } 12419 12420 var $rootContainerEl = $('#root-container'); 12421 12422 var scrollTop = document.scrollingElement.scrollTop; 12423 var scrollLeft = document.scrollingElement.scrollLeft; 12424 12425 var elRect = $element[0].getBoundingClientRect(); 12426 if (type == 'block') { 12427 if ($element.attr('data-setting-sub-type') == 'header') { 12428 var $headerEl = $element.find(' > header'); 12429 12430 if ($headerEl.length > 0) { 12431 var headerElRect = $element.find(' > header')[0].getBoundingClientRect(); 12432 elRect.height = headerElRect.height; 12433 } 12434 } 12435 } 12436 12437 this.$mfeOverlayHoverEl.css('left', (elRect.left + scrollLeft) + 'px'); 12438 this.$mfeOverlayHoverEl.css('top', (elRect.top + scrollTop) + 'px'); 12439 this.$mfeOverlayHoverEl.css('width', elRect.width + 'px'); 12440 this.$mfeOverlayHoverEl.css('height', elRect.height + 'px'); 12441 12442 var $rulerVerticalEl = $('#mfe-edit-ruler-vertical'); 12443 var $rulerHorizontalEl = $('#mfe-edit-ruler-horizontal'); 12444 var $rulerInfoEl = $('#mfe-edit-ruler-info'); 12445 12446 if (onlyReposition === false) { 12447 $rulerVerticalEl.addClass('show'); 12448 $rulerHorizontalEl.addClass('show'); 12449 $rulerInfoEl.addClass('show'); 12450 } 12451 12452 $rulerVerticalEl.css('left', (elRect.left + scrollLeft)); 12453 $rulerVerticalEl.css('width', elRect.width); 12454 12455 $rulerHorizontalEl.css('top', (elRect.top + scrollTop)); 12456 $rulerHorizontalEl.css('height', elRect.height); 12457 $rulerHorizontalEl.css('width', $rootContainerEl.outerWidth().toString() + 'px'); 12458 12459 $rulerInfoEl.css('left', elRect.left + scrollLeft); 12460 $rulerInfoEl.css('width', elRect.width); 12461 $rulerInfoEl.css('top', (elRect.top + scrollTop)); 12462 12463 var transformScaleVal = currentZoomPerc / 100; 12464 12465 $rulerInfoEl.find('.type span').text(type); 12466 $rulerInfoEl.find('.dimensions .width').text(Mfe.Utils.Math.round((elRect.width / transformScaleVal), 1)); 12467 $rulerInfoEl.find('.dimensions .height').text(Mfe.Utils.Math.round((elRect.height / transformScaleVal), 1)); 12468}; 12469 12470Mfe.Renderer.ThemeHtml.prototype.hideHoverOverlay = function() { 12471 this.$mfeOverlayHoverEl.removeClass('show'); 12472 12473 var $rulerVerticalEl = $('#mfe-edit-ruler-vertical'); 12474 var $rulerHorizontalEl = $('#mfe-edit-ruler-horizontal'); 12475 var $rulerInfoEl = $('#mfe-edit-ruler-info'); 12476 12477 $rulerVerticalEl.removeClass('show'); 12478 $rulerHorizontalEl.removeClass('show'); 12479 $rulerInfoEl.removeClass('show'); 12480 12481}; 12482 12483Mfe.Renderer.ThemeHtml.prototype.hideEditOverlay = function(type, $element) { 12484 if (typeof this.editOverlays[type] !== 'undefined' && $element !== null) { 12485 12486 if (this.editOverlays[type][0] != $element[0]) { 12487 return; 12488 } 12489 } 12490 12491 var $overlayEl = $('#mfe-edit-overlay-' + type); 12492 $overlayEl.removeClass('show'); 12493 delete this.editOverlays[type]; 12494}; 12495 12496Mfe.Plugins['newsletter-popup'] = function(mfe, options) { 12497 this.mfe = mfe; 12498 this.name = 'newsletter-popup'; 12499 Mfe.Plugin.apply(this, arguments); 12500 12501 this.contextMenuShown = 0; 12502 12503 this.initialize(); 12504}; 12505Mfe.Plugins['newsletter-popup'].inherits(Mfe.Plugin); 12506Mfe.Plugins['newsletter-popup'].title = 'Newsletter popup'; 12507Mfe.Plugins['newsletter-popup'].prototype.initialize = function () { 12508 var self = this; 12509 12510 $(document).on('mouseout', function(e){ 12511 var event = e.originalEvent; 12512 if (event.toElement == null && event.relatedTarget == null) { 12513 if (Date.now() - self.contextMenuShown > 5000) { 12514 self.displayPopup(); 12515 } 12516 } 12517 }); 12518 12519 $(document).on('contextmenu', function(e){ 12520 self.contextMenuShown = Date.now(); 12521 }); 12522}; 12523 12524Mfe.Plugins['newsletter-popup'].prototype.onPageView = function () { 12525 12526}; 12527 12528Mfe.Plugins['newsletter-popup'].prototype.displayPopup = function () { 12529 var template = this.mfe.getTemplate('plugins', 'newsletter-popup', 'popup'); 12530 var templateVars = {}; 12531 var templateHtml = template(templateVars); 12532 12533 //console.log(templateHtml); 12534}; 12535Mfe.Widgets['cms-cover'] = function(mfe, widgetId, options) { 12536 this.mfe = mfe; 12537 this.name = 'cms-cover'; 12538 this.baseTemplate = 'base-default'; 12539 Mfe.Widget.apply(this, arguments); 12540}; 12541Mfe.Widgets['cms-cover'].inherits(Mfe.Widget);
12542Mfe.Widgets['cms-cover'].title = 'CMS cover'; 12543Mfe.Widgets['cms-cover'].getSettings = function() { 12544 var settings = { 12545 'sections': [ 12546 { 12547 'name': 'general', 12548 'title': 'General', 12549 'settings': [ 12550 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ { "value": "default", "label": "Default" }, { "value": "height-auto", "label": "Auto height" } ] }, 12551 { "type": "boolean", "name": "link-enabled", "default": false, "description": "Add link to content" }, 12552 { "type": "boolean", "name": "show-cover-image", "default": true, "description": "Show cover image" }, 12553 { "type": "boolean", "name": "show-title", "default": true, "description": "Show title" }, 12554 { "type": "boolean", "name": "show-category", "default": true, "description": "Show category" }, 12555 { "type": "boolean", "name": "show-date", "default": true, "description": "Show date" }, 12556 { "type": "background", "name": "overlay-background", "default": false, "description": "Overlay background" }, 12557 { "type": "options", "name": "base-template", "default": "default", "description": "Template", "options": [ { "value": "default", "label": "Default" }, { "value": "rustic", "label": "Rustic" } ] }, 12558 { "type": "text", "name": "title", "default": "", "description": "Title" }, 12559 { "type": "options", "name": "title-text-align", "default": "auto", "description": "Title text align", "options": [ 12560 { "value": "auto", "label": "Auto" }, 12561 { "value": "left", "label": "Left" }, 12562 { "value": "center", "label": "Center" }, 12563 { "value": "right", "label": "Right" } 12564 ] 12565 } 12566 ] 12567 }, 12568 { 12569 'name': 'data', 12570 'title': 'Data', 12571 'settings': [ 12572 { "type": "options", "name": "data-source", "default": "context", "description": "Data source", "options": [ { "value": "context", "label": "Context" }, { "value": "snippet", "label": "Snippet" }, { "value": "blogs", "label": "Blogs" }, { "value": "streams", "label": "Streams" }, { "value": "calendars", "label": "Calendars" } ] }, 12573 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "dependency": { "key": "data-source", "value": "blogs" }, "description": "Data source blogs" }, 12574 { "type": "streams", "name": "data-stream-ids", "default": [], "dependency": { "key": "data-source", "value": "streams" }, "description": "Data source streams" }, 12575 { "type": "calendars", "name": "data-calendar-ids", "default": [], "dependency": { "key": "data-source", "value": "calendars" }, "description": "Data source calendars" }, 12576 { "type": "text", "name": "data-snippet-id", "default": [], "dependency": { "key": "data-source", "value": "snippet" }, "description": "Data source snippet" } 12577 ] 12578 } 12579 ] 12580 }; 12581 12582 return settings; 12583}; 12584Mfe.Widgets['cms-cover'].prototype.onRender = function() { 12585 this.baseTemplate = 'base-' + this.getOption('base-template', 'default'); 12586 12587 var fetchResult = this.fetch(); 12588 if (isEmpty(fetchResult) === false) { 12589 return this.renderCover(fetchResult); 12590 } 12591 12592 // Return empty template with loading state 12593 12594 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-cover', this.baseTemplate); 12595 var templateVars = { 12596 'showCoverImage': this.getOptionBoolean('show-cover-image', true) 12597 }; 12598 12599 var baseTemplateHtml = baseTemplate(templateVars); 12600 return baseTemplateHtml; 12601}; 12602 12603Mfe.Widgets['cms-cover'].prototype.onAttach = function() { 12604 this.baseTemplate = 'base-' + this.getOption('base-template', 'default'); 12605}; 12606 12607Mfe.Widgets['cms-cover'].prototype.fetch = function() { 12608 var self = this; 12609 12610 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 12611 var cmsPost = response; 12612 self.display(self.renderCover(cmsPost)); 12613 }); 12614}; 12615 12616Mfe.Widgets['cms-cover'].prototype.display = function(html) { 12617 this.setElementHtml(html); 12618}; 12619 12620Mfe.Widgets['cms-cover'].prototype.renderCover = function(cmsItemSource) { 12621 12622 var cmsItem; 12623 if (cmsItemSource.class == 'queryresult') { 12624 var cmsItems = cmsItemSource.getResults(); 12625 cmsItem = cmsItems[0]; 12626 } else { 12627 cmsItem = cmsItemSource; 12628 } 12629 12630 /*var revisionLanguages = cmsPost.getRevisionLanguages(); 12631 var revisionLanguage = revisionLanguages[0]; 12632 var revision = cmsPost.getRevisionByLanguage(revisionLanguages[0]);*/ 12633 12634 var itemType = Mfe.getContentType(cmsItem); 12635 12636 if (itemType == 'blogpost') { 12637 12638 } else if (itemType == 'media') { 12639 12640 } else if (itemType == 'event') { 12641 12642 } 12643 12644 var showLink = this.getOption('link-enabled', 'false'); 12645 if (showLink === false || showLink == 'false') { 12646 showLink = false;
12647 } else { 12648 showLink = true; 12649 } 12650 12651 var title = this.getOption('title', ''); 12652 12653 var titleTextAlign = this.getOption('title-text-align', 'left'); 12654 if (titleTextAlign != 'auto' && titleTextAlign != 'left' && titleTextAlign != 'center' && titleTextAlign != 'right') { 12655 titleTextAlign = 'left'; 12656 } 12657 12658 var templateVars = cmsItem.getTemplateVars(this.mfe); 12659 templateVars.itemType = itemType; 12660 templateVars.linkEnabled = showLink; 12661 templateVars.title = title; 12662 templateVars.showCoverImage = this.getOptionBoolean('show-cover-image', true); 12663 templateVars.showTitle = this.getSettingConfig('show-title'); 12664 templateVars.showDate = this.getSettingConfig('show-date'); 12665 templateVars.showCategory = this.getSettingConfig('show-category'); 12666 templateVars.titleTextAlign = titleTextAlign; 12667 12668 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-cover', this.baseTemplate + '-' + itemType); 12669 var baseTemplateHtml = baseTemplate(templateVars); 12670 12671 return baseTemplateHtml; 12672}; 12673 12674Mfe.Widgets['cms-fragments'] = function(mfe, widgetId, options) { 12675 this.mfe = mfe; 12676 this.name = 'cms-fragments'; 12677 this.baseTemplate = 'base-default'; 12678 this.itemFragmentTemplate = 'item-fragment'; 12679 Mfe.Widget.apply(this, arguments); 12680 12681 this.language = null; 12682 this.post = null; 12683}; 12684Mfe.Widgets['cms-fragments'].inherits(Mfe.Widget); 12685Mfe.Widgets['cms-fragments'].title = 'CMS fragments'; 12686Mfe.Widgets['cms-fragments'].getSettings = function() { 12687 return [ 12688 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ 12689 { "value": "context", "label": "From context" }, 12690 { "value": "snippet", "label": "Snippet" } 12691 ] }, 12692 { "type": "text", "name": "data-snippet-id", "default": [], "description": "Data source snippet" }, 12693 { "type": "text", "name": "dataset-lookup-key", "default": [], "description": "Dataset record key" }, 12694 { "type": "text", "name": "width", "default": "100%", "description": "Widget max width" }, 12695 { "type": "boolean", "name": "text-image-text-wrap", "default": true, "description": "Text+Image: Enable text wrap around" }, 12696 { "type": "boolean", "name": "add-article-tag", "default": false, "description": "Add article HTML tag" }, 12697 { "type": "boolean", "name": "show-language-picker", "default": false, "description": "Show language picker" }, 12698 { "type": "text", "name": "fragments-json", "default": false, "description": "Fragments JSON" } 12699 ]; 12700}; 12701Mfe.Widgets['cms-fragments'].prototype.onRender = function() { 12702 let fragmentsJson = this.getOption('fragments-json', ''); 12703 12704 if (typeof mfe.queryParams !== 'undefined' && typeof mfe.queryParams['lang'] !== 'undefined') { 12705 this.language = mfe.queryParams['lang']; 12706 } else if (typeof mfe.currentPage !== 'undefined' && typeof mfe.currentPage.language !== 'undefined' && mfe.currentPage.language.length > 0) { 12707 this.language = mfe.currentPage.language; 12708 } 12709 12710 if (fragmentsJson.length > 0) { 12711 12712 let fragmentObjs = JSON.parse(fragmentsJson); 12713 let fragments = []; 12714 12715 for (let fragmentObj of fragmentObjs) { 12716 fragments.push(new Mfe.Classes.ContentFragment(fragmentObj)); 12717 } 12718 12719 return this.renderOnlyFragments(fragments); 12720 } 12721 12722 var fetchResult = this.fetch(); 12723 12724 if (isEmpty(fetchResult) === false) { 12725 return this.renderWidget(fetchResult); 12726 } 12727 12728 var settingTextImageWrap = this.getOption('text-image-text-wrap', true); 12729 if (settingTextImageWrap == 'false') { 12730 settingTextImageWrap = false; 12731 } else if (settingTextImageWrap == 'true') { 12732 settingTextImageWrap = true; 12733 } 12734 12735 let showLanguagePicker = this.getOption('show-language-picker', false); 12736 if (showLanguagePicker == 'false') { 12737 settingTextImageWrap = false; 12738 } else if (showLanguagePicker == 'true') { 12739 showLanguagePicker = true; 12740 } 12741 12742 // Return empty template with loading state 12743 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-fragments', this.baseTemplate); 12744 var templateVars = { 12745 'isLoading': true, 12746 'allowTextWrap': settingTextImageWrap, 12747 'fragmentsHtml': '', 12748 'currentLanguage': this.language, 12749 'showLanguagePicker': showLanguagePicker 12750 }; 12751 12752 var baseTemplateHtml = baseTemplate(templateVars); 12753 return baseTemplateHtml; 12754}; 12755 12756Mfe.Widgets['cms-fragments'].prototype.saveWidgetState = function() { 12757 12758 let state = { 12759 'language': this.language, 12760 }; 12761 if (typeof this.post !== 'undefined' && this.post !== null) { 12762 state.postObj = this.post.postObj; 12763 state.postClass = this.post.class; 12764 } 12765 12766 return state; 12767 /* 12768 return { 12769 'language': this.language, 12770 'postObj': this.post.postObj 12771 };*/ 12772}; 12773 12774Mfe.Widgets['cms-fragments'].prototype.restoreWidgetState = function(state) { 12775 this.language = state.language; 12776 12777 if (typeof state.postObj !== 'undefined') { 12778 if (state.postClass === 'content\\posts\\blog') { 12779 this.post = new Mfe.Classes.ContentPostBlog(state.postObj); 12780 } else { 12781 this.post = new Mfe.Classes.ContentPostPage(state.postObj); 12782 } 12783 } 12784}; 12785 12786Mfe.Widgets['cms-fragments'].prototype.onAttach = function(obj) { 12787 var self = this; 12788 12789 var $embedLoadingEls = this.$el.find('.fragment.cms-embed.loading'); 12790 for (var i = 0; i < $embedLoadingEls.length; i++) { 12791 var $embedLoadingEl = $($embedLoadingEls[i]); 12792 12793 var oembedUrl = $embedLoadingEl.attr('data-oembed-url');
12794 var oembedVendor = $embedLoadingEl.attr('data-oembed-vendor'); 12795 12796 let dataType = 'json'; 12797 if (typeof oembedVendor !== 'undefined' && oembedVendor === 'twitter') { 12798 dataType = 'jsonp'; 12799 } 12800 12801 $.ajax({ 12802 dataType: dataType, 12803 url: oembedUrl, 12804 crossDomain: true, 12805 extras: { 'url': JSON.parse(JSON.stringify(oembedUrl)) } 12806 }).always(function(data) { 12807 12808 if (data.html) { 12809 var $embedEl = self.$el.find('.fragment.cms-embed.loading[data-oembed-url="'+this.extras.url+'"]'); 12810 let $embedHtmlEl = $embedEl.find('.fragment-content > div > div'); 12811 if ($embedHtmlEl.length === 0) { 12812 $embedHtmlEl = $embedEl.find('.fragment-content > div'); 12813 } 12814 if ($embedHtmlEl.length === 0) { 12815 $embedHtmlEl = $embedEl.find('.fragment-content'); 12816 } 12817 12818 $embedHtmlEl.html(data.html); 12819 $embedEl.removeClass('loading'); 12820 } 12821 }); 12822 } 12823 12824 if (isEmpty(this.mfe.siteConfig.featureSelectionShare) === false && this.mfe.siteConfig.featureSelectionShare === true) { 12825 this.$el.find('.fragment.cms-quote .fragment-content').on('mouseenter', function(e){ 12826 12827 var $fragmentContentEl = $(this); 12828 12829 var positionQuote = $fragmentContentEl.offset(); 12830 var quoteContent = $fragmentContentEl.text(); 12831 12832 $('.share-selected-text-main-container:last').addClass('active').css({ 12833 'left': ((0 - positionQuote.left) / 2) - 22, 12834 'top': (positionQuote.top - 42) 12835 }); 12836 12837 var $twitterShareEl = $('.share-selected-text-main-container:last .share-selected-text-btn-twitter'), 12838 $linkedinShareEl = $('.share-selected-text-main-container:last .share-selected-text-btn-linkedin'), 12839 $facebookShareEl = $('.share-selected-text-main-container:last .share-selected-text-btn-facebook'); 12840 12841 $twitterShareEl.attr('href', "https://twitter.com/intent/tweet?url="+encodeURIComponent(window.location)+"&text="+encodeURIComponent(quoteContent)); 12842 $linkedinShareEl.attr('href', "https://www.linkedin.com/shareArticle?url="+encodeURIComponent(window.location)+"&title="+encodeURIComponent(quoteContent)); 12843 $facebookShareEl.attr('href', "https://facebook.com/dialog/share?display=popup&href="+encodeURIComponent(window.location)+""e="+encodeURIComponent(quoteContent)); 12844 }); 12845 } 12846 12847 this.$el.find('.language-picker .button').on('click', function(e){ 12848 let $buttonEl = $(this); 12849 let language = $buttonEl.attr('data-language'); 12850 12851 self.switchLanguage(language); 12852 }); 12853}; 12854 12855Mfe.Widgets['cms-fragments'].prototype.fetch = function() { 12856 var self = this; 12857 12858 var fetchResult = Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 12859 self.displayFragments(self.renderFragments(response)); 12860 }); 12861 12862 return fetchResult; 12863}; 12864 12865Mfe.Widgets['cms-fragments'].prototype.display = function(html) { 12866 this.setElementHtml(html); 12867}; 12868 12869Mfe.Widgets['cms-fragments'].prototype.displayFragments = function(itemsHtml) { 12870 this.$el.find('.content').html(itemsHtml); 12871}; 12872 12873Mfe.Widgets['cms-fragments'].prototype.renderFragments = function(cmsItem) { 12874 var fragments; 12875 if (isEmpty(cmsItem) === false) { 12876 var itemType = Mfe.getContentType(cmsItem); 12877 if (itemType == 'blogpost' || itemType == 'page') { 12878 if (isEmpty(cmsItem) === true) { 12879 return false; 12880 } 12881 12882 if (isEmpty(cmsItem.getRevisionLanguages) === true) { 12883 return false; 12884 } 12885 12886 let revision; 12887 12888 if (typeof this.language !== 'undefined' && this.language !== null) { 12889 revision = cmsItem.getRevisionByLanguage(this.language); 12890 12891 } else { 12892 let revisionLanguages = cmsItem.getRevisionLanguages(); 12893 let revisionLanguage = revisionLanguages[0]; 12894 revision = cmsItem.getRevisionByLanguage(revisionLanguages[0]); 12895 } 12896 12897 fragments = revision.getFragments(); 12898 } else if (itemType == 'event') { 12899 var revision = cmsItem.getRevision(); 12900 fragments = revision.getFragments(); 12901 } else if (itemType == 'datasetlookupresult') { 12902 fragments = []; 12903 } else { 12904 fragments = []; 12905 } 12906 } else { 12907 fragments = []; 12908 } 12909 12910 var fragmentsHtmlArr = []; 12911 var itemTemplate = this.mfe.getTemplate('widgets', 'cms-fragments', this.itemFragmentTemplate); 12912 for (var i = 0; i < fragments.length; i++) { 12913 var fragment = fragments[i]; 12914 fragmentsHtmlArr.push(itemTemplate(fragment.getTemplateVars())
12914); 12915 }; 12916 12917 return fragmentsHtmlArr.join(''); 12918}; 12919 12920Mfe.Widgets['cms-fragments'].prototype.renderOnlyFragments = function(fragments) { 12921 var fragmentsHtmlArr = []; 12922 var itemTemplate = this.mfe.getTemplate('widgets', 'cms-fragments', this.itemFragmentTemplate); 12923 for (var i = 0; i < fragments.length; i++) { 12924 var fragment = fragments[i]; 12925 fragmentsHtmlArr.push(itemTemplate(fragment.getTemplateVars())); 12926 }; 12927 12928 return fragmentsHtmlArr.join(''); 12929}; 12930 12931Mfe.Widgets['cms-fragments'].prototype.renderWidget = function(queryResult) { 12932 if (this.post === null) { 12933 this.post = queryResult; 12934 } 12935 12936 let availableLanguages = []; 12937 if (typeof this.post !== 'undefined' && typeof this.post.getRevisionLanguages !== 'undefined') { 12938 availableLanguages = this.post.getRevisionLanguages(); 12939 } 12940 12941 if (isEmpty(this.post) === true) { 12942 var fragmentsHtml = ''; 12943 } else { 12944 var fragmentsHtml = this.renderFragments(this.post); 12945 } 12946 12947 var settingTextImageWrap = this.getOption('text-image-text-wrap', true); 12948 if (settingTextImageWrap == 'false') { 12949 settingTextImageWrap = false; 12950 } else if (settingTextImageWrap == 'true') { 12951 settingTextImageWrap = true; 12952 } 12953 12954 12955 let showLanguagePicker = this.getOption('show-language-picker', false); 12956 if (showLanguagePicker == 'false') { 12957 settingTextImageWrap = false; 12958 } else if (showLanguagePicker == 'true') { 12959 showLanguagePicker = true; 12960 } 12961 12962 12963 let currentLanguage = ''; 12964 12965 if (typeof this.language !== 'undefined' && this.language !== null) { 12966 currentLanguage = this.language; 12967 } 12968 12969 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-fragments', this.baseTemplate); 12970 var templateVars = { 12971 'isLoading': false, 12972 'allowTextWrap': settingTextImageWrap, 12973 'fragmentsHtml': fragmentsHtml, 12974 'addArticleTag': this.getSettingConfig('add-article-tag', false), 12975 'availableLanguages': availableLanguages, 12976 'hasMultipleLanguages': availableLanguages.length > 0, 12977 'currentLanguage': currentLanguage, 12978 'showLanguagePicker': showLanguagePicker 12979 }; 12980 12981 var baseTemplateHtml = baseTemplate(templateVars); 12982 return baseTemplateHtml; 12983}; 12984 12985Mfe.Widgets['cms-fragments'].prototype.switchLanguage = function(language) { 12986 this.language = language; 12987 12988 this.display(this.renderWidget(this.post)); 12989 this.onAttach(); 12990 12991 // Update current URL 12992 let newPath = window.location.pathname; 12993 if (language.length > 0) { 12994 newPath = '?lang=' + language; 12995 } 12996 12997 window.history.replaceState({}, '', newPath); 12998}; 12999 13000Mfe.Widgets['cms-metadata'] = function(mfe, widgetId, options) { 13001 this.mfe = mfe; 13002 this.name = 'cms-metadata'; 13003 this.baseTemplate = 'base-default'; 13004 options['data-source'] = 'context'; 13005 Mfe.Widget.apply(this, arguments); 13006}; 13007Mfe.Widgets['cms-metadata'].inherits(Mfe.Widget); 13008Mfe.Widgets['cms-metadata'].title = 'CMS Metadata'; 13009Mfe.Widgets['cms-metadata'].getSettings = function() { 13010 var settings = { 13011 'sections': [ 13012 { 13013 'name': 'general', 13014 'title': 'General', 13015 'settings': [ 13016 { "type": "boolean", "name": "show-text", "default": true, "description": "Show text" }, 13017 { "type": "boolean", "name": "show-category", "default": false, "description": "Show category" }, 13018 { "type": "boolean", "name": "show-author-avatar", "default": true, "description": "Show author avatar" }, 13019 { "type": "boolean", "name": "show-author", "default": true, "description": "Show author" }, 13020 { "type": "boolean", "name": "link-author-to-search", "default": true, "description": "Link author to search" }, 13021 ] 13022 } 13023 ] 13024 }; 13025 13026 return settings; 13027}; 13028Mfe.Widgets['cms-metadata'].prototype.onRender = function() { 13029 var fetchResult = this.fetch(); 13030 if (isEmpty(fetchResult) === false) { 13031 return this.renderItem(fetchResult); 13032 } 13033 13034 return ''; 13035 13036 // Return empty template with loading state 13037 /*var baseTemplate = this.mfe.getTemplate('widgets', 'cms-metadata', this.baseTemplate); 13038 var templateVars = {}; 13039 13040 var baseTemplateHtml = baseTemplate(templateVars); 13041 return baseTemplateHtml;*/ 13042}; 13043 13044Mfe.Widgets['cms-metadata'].prototype.onAttach = function() { 13045 13046}; 13047 13048Mfe.Widgets['cms-metadata'].prototype.fetch = function() { 13049 var self = this; 13050 13051 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 13052 var cmsItem = response;
13053 self.display(self.renderItem(cmsItem)); 13054 }); 13055}; 13056 13057Mfe.Widgets['cms-metadata'].prototype.display = function(html) { 13058 this.setElementHtml(html); 13059}; 13060 13061Mfe.Widgets['cms-metadata'].prototype.renderItem = function(cmsItem) { 13062 13063 var itemType = Mfe.getContentType(cmsItem); 13064 13065 13066 /*var revisionLanguages = cmsPost.getRevisionLanguages(); 13067 var revisionLanguage = revisionLanguages[0]; 13068 var revision = cmsPost.getRevisionByLanguage(revisionLanguages[0]);*/ 13069 13070 var templateVars = cmsItem.getTemplateVars(this.mfe, null, true); 13071 13072 templateVars.showText = this.getOptionBoolean('show-text', true); 13073 templateVars.showAuthorAvatar = this.getOptionBoolean('show-author-avatar', true); 13074 templateVars.showAuthor = this.getOptionBoolean('show-author', true); 13075 templateVars.showCategory = this.getOptionBoolean('show-category', false); 13076 templateVars.linkAuthorToSearch = this.getOptionBoolean('link-author-to-search', true); 13077 13078 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-metadata', this.baseTemplate + '-' + itemType); 13079 var baseTemplateHtml = baseTemplate(templateVars); 13080 13081 return baseTemplateHtml; 13082}; 13083 13084Mfe.Widgets['cms-storyline'] = function(mfe, widgetId, options) { 13085 this.mfe = mfe; 13086 this.name = 'cms-storyline'; 13087 this.baseTemplate = 'base-default'; 13088 this.itemBlogpostTemplate = 'item-blogpost'; 13089 Mfe.Widget.apply(this, arguments); 13090}; 13091Mfe.Widgets['cms-storyline'].inherits(Mfe.Widget); 13092Mfe.Widgets['cms-storyline'].title = 'CMS storyline'; 13093Mfe.Widgets['cms-storyline'].getSettings = function() { 13094 return [ 13095 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ 13096 { "value": "context", "label": "From context" } 13097 ]}, 13098 { "type": "text", "name": "width", "default": "100%", "description": "Widget max width" } 13099 ]; 13100}; 13101Mfe.Widgets['cms-storyline'].prototype.onRender = function() { 13102 13103 13104 var contextObj = this.mfe.contextObject; 13105 var contextType = Mfe.getContentType(contextObj); 13106 if (contextType != 'blogpost') { 13107 return ''; 13108 } 13109 13110 var storylines = contextObj.getStorylines(); 13111 if (storylines.length == 0) { 13112 return ''; 13113 } 13114 13115 this.storylineId = storylines[0].getId(); 13116 this.contextContentId = contextObj.getId(); 13117 13118 var fetchResult = this.fetch(); 13119 if (isEmpty(fetchResult) === false) { 13120 return this.renderWidget(fetchResult); 13121 } 13122 13123 // Return empty template with loading state 13124 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-storyline', this.baseTemplate); 13125 var templateVars = { 13126 'isLoading': true, 13127 'title': '', 13128 'itemsHtml': '' 13129 }; 13130 13131 var baseTemplateHtml = baseTemplate(templateVars); 13132 return baseTemplateHtml; 13133}; 13134 13135Mfe.Widgets['cms-storyline'].prototype.onAttach = function() { 13136 13137}; 13138 13139Mfe.Widgets['cms-storyline'].prototype.fetch = function() { 13140 var self = this; 13141 13142 var storyline = Mfe.Api.Storyline.get(this.mfe.siteBundle.getName(), this.storylineId, function(result, response) { 13143 self.display(self.renderWidget(response)); 13144 }); 13145 13146 if (storyline !== null) { 13147 return storyline; 13148 } 13149}; 13150 13151Mfe.Widgets['cms-storyline'].prototype.display = function(html) { 13152 this.setElementHtml(html); 13153}; 13154 13155Mfe.Widgets['cms-storyline'].prototype.renderItems = function(storyline) { 13156 var items = storyline.getContents(); 13157 13158 var itemsHtmlArr = []; 13159 var itemTemplate = this.mfe.getTemplate('widgets', 'cms-storyline', this.itemBlogpostTemplate); 13160 for (var i = 0; i < items.length; i++) { 13161 var item = items[i]; 13162 13163 var itemTemplateVars = item.getTemplateVars(this.mfe); 13164 itemTemplateVars.contextContentId = this.contextContentId; 13165 13166 itemsHtmlArr.push(itemTemplate(itemTemplateVars)); 13167 }; 13168 13169 return itemsHtmlArr.join(''); 13170}; 13171 13172Mfe.Widgets['cms-storyline'].prototype.renderWidget = function(storyline) { 13173 var itemsHtml = ''; 13174 if (isEmpty(storyline) === false) { 13175 itemsHtml = this.renderItems(storyline); 13176 } 13177 13178 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-storyline', this.baseTemplate); 13179 var templateVars = { 13180 'isLoading': false, 13181 'title': storyline.getTitle(), 13182 'description': storyline.getDescription(), 13183 'itemsHtml': itemsHtml 13184 }; 13185 13186 var baseTemplateHtml = baseTemplate(templateVars); 13187 return baseTemplateHtml; 13188}; 13189 13190Mfe.Widgets['cms-summary'] = function(mfe, widgetId, options) { 13191 this.mfe = mfe; 13192 this.name = 'cms-summary'; 13193 this.baseTemplate = 'base-default'; 13194 options['data-source'] = 'context'; 13195 Mfe.Widget.apply(this, arguments); 13196}; 13197Mfe.Widgets['cms-summary'].inherits(Mfe.Widget);
13198Mfe.Widgets['cms-summary'].title = 'CMS Summary'; 13199Mfe.Widgets['cms-summary'].getSettings = function() { 13200 return [ 13201 13202 ]; 13203}; 13204Mfe.Widgets['cms-summary'].prototype.onRender = function() { 13205 var fetchResult = this.fetch(); 13206 if (isEmpty(fetchResult) === false) { 13207 return this.renderItem(fetchResult); 13208 } 13209 13210 return ''; 13211}; 13212 13213Mfe.Widgets['cms-summary'].prototype.onAttach = function() { 13214 13215}; 13216 13217Mfe.Widgets['cms-summary'].prototype.fetch = function() { 13218 var self = this; 13219 13220 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 13221 var cmsItem = response; 13222 self.display(self.renderItem(cmsItem)); 13223 }); 13224}; 13225 13226Mfe.Widgets['cms-summary'].prototype.display = function(html) { 13227 this.setElementHtml(html); 13228}; 13229 13230Mfe.Widgets['cms-summary'].prototype.renderItem = function(cmsItem) { 13231 13232 var itemType = Mfe.getContentType(cmsItem); 13233 13234 13235 /*var revisionLanguages = cmsPost.getRevisionLanguages(); 13236 var revisionLanguage = revisionLanguages[0]; 13237 var revision = cmsPost.getRevisionByLanguage(revisionLanguages[0]);*/ 13238 13239 var templateVars = cmsItem.getTemplateVars(this.mfe, null, true); 13240 13241 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-summary', this.baseTemplate + '-' + itemType); 13242 var baseTemplateHtml = baseTemplate(templateVars); 13243 13244 return baseTemplateHtml; 13245}; 13246 13247Mfe.Widgets['cms-tags'] = function(mfe, widgetId, options) { 13248 this.mfe = mfe; 13249 this.name = 'cms-tags'; 13250 this.baseTemplate = 'base-default'; 13251 options['data-source'] = 'context'; 13252 Mfe.Widget.apply(this, arguments); 13253}; 13254Mfe.Widgets['cms-tags'].inherits(Mfe.Widget); 13255Mfe.Widgets['cms-tags'].title = 'CMS Tags'; 13256Mfe.Widgets['cms-tags'].getSettings = function() { 13257 return [ 13258 13259 ]; 13260}; 13261Mfe.Widgets['cms-tags'].prototype.onRender = function() { 13262 var fetchResult = this.fetch(); 13263 if (isEmpty(fetchResult) === false) { 13264 return this.renderItem(fetchResult); 13265 } 13266 13267 return ''; 13268}; 13269 13270Mfe.Widgets['cms-tags'].prototype.onAttach = function() { 13271 13272}; 13273 13274Mfe.Widgets['cms-tags'].prototype.fetch = function() { 13275 var self = this; 13276 13277 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 13278 var cmsItem = response; 13279 self.display(self.renderItem(cmsItem)); 13280 }); 13281}; 13282 13283Mfe.Widgets['cms-tags'].prototype.display = function(html) { 13284 this.setElementHtml(html); 13285}; 13286 13287Mfe.Widgets['cms-tags'].prototype.renderItem = function(cmsItem) { 13288 13289 var itemType = Mfe.getContentType(cmsItem); 13290 13291 /*var revisionLanguages = cmsPost.getRevisionLanguages(); 13292 var revisionLanguage = revisionLanguages[0]; 13293 var revision = cmsPost.getRevisionByLanguage(revisionLanguages[0]);*/ 13294 13295 var templateVars = cmsItem.getTemplateVars(this.mfe, null, true); 13296 13297 var baseTemplate = this.mfe.getTemplate('widgets', 'cms-tags', this.baseTemplate + '-' + itemType); 13298 var baseTemplateHtml = baseTemplate(templateVars); 13299 13300 return baseTemplateHtml; 13301}; 13302 13303Mfe.Widgets['comments'] = function(mfe, widgetId, options) { 13304 this.mfe = mfe; 13305 this.name = 'comments'; 13306 this.baseTemplate = 'base-default'; 13307 Mfe.Widget.apply(this, arguments); 13308}; 13309Mfe.Widgets['comments'].inherits(Mfe.Widget); 13310Mfe.Widgets['comments'].title = 'Comments'; 13311Mfe.Widgets['comments'].getSettings = function() { 13312 return [ 13313 { "type": "boolean", "name": "show-comments-immediately", "default": false, "description": "Show comments without clicking" } 13314 ]; 13315}; 13316Mfe.Widgets['comments'].prototype.onRender = function() { 13317 var baseTemplate = this.mfe.getTemplate('widgets', 'comments', this.baseTemplate); 13318 13319 var templateVars = { 13320 'commentUrl': this.getCommentUrl(), 13321 'showCommentsImmediately': this.getOptionBoolean('show-comments-immediately', false) 13322 }; 13323 13324 var baseTemplateHtml = baseTemplate(templateVars); 13325 return baseTemplateHtml; 13326}; 13327 13328Mfe.Widgets['comments'].prototype.getCommentUrl = function() { 13329 return 'https://' + this.mfe.options.domain + this.mfe.fullPath; 13330}; 13331 13332Mfe.Widgets['comments'].prototype.onAttach = function() { 13333 13334 var self = this; 13335 this.$el.find('.platforms button').on('click', function(e){ 13336 var $buttonEl = $(this); 13337 var action = $buttonEl.attr('data-action'); 13338 13339 if (action == 'show-facebook-comments') { 13340 self.showFacebookComments(); 13341 } 13342 }); 13343 13344 if (typeof FB !== 'undefined') { 13345 FB.XFBML.parse(this.$el[0]); 13346 } 13347 13348 var showCommentsImmediately = this.getOptionBoolean('show-comments-immediately', false); 13349 13350 if (showCommentsImmediately === true) { 13351 self.showFacebookComments(); 13352 } 13353}; 13354 13355Mfe.Widgets['comments'].prototype.showFacebookComments = function() { 13356 var commentsTemplate = this.mfe.getTemplate('widgets', 'comments', 'comments-facebook'); 13357 13358 var randomId = Mfe.Utils.Math.rand(10000000, 999999999); 13359 var templateVars = { 13360 'commentUrl': this.getCommentUrl(), 13361 'showCommentsImmediately': this.getOptionBoolean('show-comments-immediately', false) 13362 }; 13363 var commentsHtml = commentsTemplate(templateVars); 13364 13365 this.$el.find('.comments').html(''); 13366 var $commentsEl = $(commentsHtml); 13367 13368 this.$el.find('.comments').append($commentsEl); 13369 if (FB) { 13370 FB.XFBML.parse(this.$el[0]); 13371 } 13372}; 13373 13374Mfe.Widgets['content-grid'] = function(mfe, widgetId, options) { 13375 this.mfe = mfe; 13376 this.name = 'content-grid'; 13377 this.baseTemplate = 'base-default'; 13378 this.itemTemplates = { 13379 'blogpost': 'item-blogpost-default', 13380 'page': 'item-page-default', 13381 'event': 'item-event-default', 13382 'media': 'item-media-default', 13383 'menuitem': 'item-menu-default' 13384 }; 13385 this.itemStyles = { 13386 'blogpost': 'default', 13387 'page': 'menu', 13388 'media': 'default', 13389 'event': 'default', 13390 'menuitem': 'default' 13391 }; 13392 13393 Mfe.Widget.apply(this, arguments); 13394
13395 this.itemStyles['menuitem'] = this.getSettingConfig('item-style-menuitem'); 13396}; 13397Mfe.Widgets['content-grid'].inherits(Mfe.Widget); 13398Mfe.Widgets['content-grid'].title = 'Content grid'; 13399Mfe.Widgets['content-grid'].getSettings = function() { 13400 var settings = { 13401 'sections': [ 13402 { 13403 'name': 'general', 13404 'title': 'General', 13405 'settings': [ 13406 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 13407 { "value": "default", "label": "Default" }, 13408 { "value": "menu", "label": "menu" }, 13409 { "value": "pattern-1-2-2-1", "label": "Pattern (1-2,2-1)" } , 13410 { "value": "pattern-1-2-2-1", "label": "Pattern (1-2,2-1)" } , 13411 { "value": "first-large", "label": "First large" } , 13412 { "value": "logos", "label": "Logos" }, 13413 { "value": "features", "label": "Features" } 13414 ] 13415 }, 13416 { "type": "boolean", "name": "show-load-more", "default": true, "description": "Show load-more button" }, 13417 { "type": "text", "name": "load-more-classes", "default": true, "description": "Load-more button classes" }, 13418 { "type": "boolean", "name": "enable-lazy-load", "default": false, "description": "Enable lazy loading of images" }, 13419 { "type": "boolean", "name": "disable-timezones", "default": false, "description": "Disable timezones" }, 13420 { "type": "text", "name": "load-more-text", "default": null, "description": "Load-more text" }, 13421 { "type": "text", "name": "blog-category-mapping-json", "default": null, "description": "Blog category name mapping JSON" }, 13422 { "type": "options", "name": "item-template-blogpost", "default": "item-blogpost-default", "description": "Blogpost template", "options": [ { "value": "item-blogpost-default", "label": "Default" }, { "value": "item-blogpost-fulllink", "label": "Fully clickable" }, { "value": "item-blogpost-team", "label": "Team" } ] }, 13423 { "type": "options", "name": "item-template-page", "default": "item-page-default", "description": "Page template", "options": [ { "value": "item-page-default", "label": "Default" }, { "value": "item-page-menu", "label": "Menu" } ] }, 13424 { "type": "options", "name": "item-template-menuitem", "default": "item-menu-default", "description": "Menu template", "options": [ { "value": "item-menu-default", "label": "Default" }, { "value": "item-menu-logos", "label": "Logos" }, { "value": "item-menu-features", "label": "Features" }, { "value": "item-menu-vertical", "label": "Vertical" } ] }, 13425 { "type": "options", "name": "item-style-menuitem", "default": "icon-left", "description": "Menu style", "options": [ { "value": "icon-left", "label": "Icon left" }, { "value": "icon-top", "label": "Icon top" } ] }, 13426 { "type": "boolean", "name": "show-category", "default": true, "description": "Show category" }, 13427 { "type": "boolean", "name": "show-date", "default": true, "description": "Show date" }, 13428 { "type": "boolean", "name": "show-summary", "default": false, "description": "Show summary" }, 13429 { "type": "text", "name": "items-per-row", "default": "3", "description": "Items per row" }, 13430 { "type": "text", "name": "gutter-y", "default": "16px", "description": "Vertical spacing" }, 13431 { "type": "text", "name": "gutter-x", "default": "16px", "description": "Horizontal spacing" } 13432 ] 13433 }, 13434 { 13435 'name': 'data', 13436 'title': 'Data', 13437 'settings': [ 13438 { "type": "text", "name": "data-site-name", "default": null, "description": "Data site name" }, 13439 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ { "value": "context", "label": "Context" }, { "value": "blogs", "label": "Blogs" }, { "value": "blogs-tags", "label": "Blogs using tags" }, { "value": "streams", "label": "Streams" }, { "value": "calendars", "label": "Calendars" }, { "value": "contentset", "label": "Contentset" }, { "value": "menu", "label": "Menu" }, { "value": "userGroupTeamMembers", "label": "Team Members" } ] }, 13440 { "type": "boolean", "name": "enable-tabs", "default": false, "description": "Enable tabs" },
13441 { "type": "text", "name": "data-tabs-config-json", "default": '{}', "description": "Data tab config (JSON)" }, 13442 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "dependency": { "key": "data-source", "value": "blogs" }, "description": "Data source blogs" }, 13443 { "type": "text", "name": "data-blog-tags", "default": [], "dependency": { "key": "data-source", "value": "blogs-tags" }, "description": "Blog tags (comma separated)" }, 13444 { "type": "streams", "name": "data-stream-ids", "default": [], "dependency": { "key": "data-source", "value": "streams" }, "description": "Data source streams" }, 13445 { "type": "calendars", "name": "data-calendar-ids", "default": [], "dependency": { "key": "data-source", "value": "calendars" }, "description": "Data source calendars" }, 13446 { "type": "contentset", "name": "data-contentset-id", "default": [], "dependency": { "key": "data-source", "value": "contentset" }, "description": "Data source contentset" }, 13447 { "type": "userGroupsTeam", "name": "data-usergroupteam-id", "default": [], "dependency": { "key": "data-source", "value": "userGroupTeamMembers" }, "description": "Data source usergroup team" }, 13448 { "type": "menu", "name": "data-menu-id", "default": [], "dependency": { "key": "data-source", "value": "menu" }, "description": "Data source menu" }, 13449 { "type": "text", "name": "data-amount", "default": 6, "description": "Amount of items" }, 13450 { "type": "text", "name": "data-offset", "default": 0, "description": "Skip items" } 13451 ] 13452 } 13453 ] 13454 }; 13455 13456 return settings; 13457}; 13458 13459Mfe.Widgets['content-grid'].prototype.onRender = function() { 13460 var enableTabs = this.getSettingConfig('enable-tabs', false); 13461 if (enableTabs === true) { 13462 var tabsConfig = JSON.parse(this.getSettingConfig('data-tabs-config-json', '[]')); 13463 var tabConfig = tabsConfig[0]; 13464 13465 var tabConfigKeys = Object.keys(tabConfig.config); 13466 for (var i = 0; i < tabConfigKeys.length; i++) { 13467 var tabConfigKey = tabConfigKeys[i]; 13468 this.options[tabConfigKey] = tabConfig.config[tabConfigKey]; 13469 } 13470 } 13471 13472 13473 var fetchResult = this.fetch(); 13474 if (isEmpty(fetchResult) === false) { 13475 return this.renderWidget(fetchResult); 13476 } 13477 13478 var optionStyle = this.getOption('style', 'default'); 13479 13480 // Return empty template with loading state 13481 13482 var showLoadMore = this.getOptionBoolean('show-load-more', true); 13483 var loadMoreClasses = this.getOption('load-more-classes', 'load-more'); 13484 var showCategory = this.getOptionBoolean('show-category', true); 13485 var showDate = this.getOptionBoolean('show-date', true); 13486 var showSummary = this.getOptionBoolean('show-summary', true); 13487 var disableTimezones = this.getOptionBoolean('disable-timezones', false); 13488 13489 var itemsPerRow = this.getOption('items-per-row', '3'); 13490 var itemsPerRowPerc = 'calc(' + (100 / (parseInt(itemsPerRow) + 1)) + '% - var(--gutter-x) + 2px)'; 13491 var loadMoreText = this.getOption('load-more-text', this.mfe.getTranslation('button.load-more')); 13492 var baseTemplate = this.mfe.getTemplate('widgets', 'content-grid', this.baseTemplate); 13493 13494 var gutterX = this.getSettingConfig('gutter-x'); 13495 var gutterY = this.getSettingConfig('gutter-y'); 13496 13497 13498 var blogCategoryMapping = {}; 13499 var blogCategoryMappingJson = this.getSettingConfig('blog-category-mapping-json', ''); 13500 if (blogCategoryMappingJson !== null && blogCategoryMappingJson.length && blogCategoryMappingJson.length > 0) { 13501 blogCategoryMapping = JSON.parse(blogCategoryMappingJson); 13502 } 13503 13504 var templateVars = { 13505 'itemsPerRow': itemsPerRow, 13506 'itemsPerRowPerc': itemsPerRowPerc, 13507 'style': optionStyle, 13508 'showLoadMore': showLoadMore, 13509 'loadMoreClasses': loadMoreClasses, 13510 'showCategory': showCategory, 13511 'showDate': showDate, 13512 'showSummary': showSummary, 13513 'loadMoreText': loadMoreText, 13514 'isLoading': true, 13515 'placeholderItems': [], 13516 'gutterX': gutterX, 13517 'gutterY': gutterY, 13518 'blogCategoryMapping': blogCategoryMapping, 13519 'disableTimezones': disableTimezones, 13520 'tabs': null 13521 }; 13522 13523 var enableTabs = this.getSettingConfig('enable-tabs', false); 13524 if (enableTabs === true) { 13525 var tabsConfig = JSON.parse(this.getSettingConfig('data-tabs-config-json', '[]')); 13526 templateVars.tabs = tabsConfig; 13527 } 13528 13529 var amount = parseInt(this.getOption('data-amount', 3)); 13530 for (var i = 0; i < amount; i++) { 13531 templateVars.placeholderItems.push({}); 13532 } 13533 13534 var baseTemplateHtml = baseTemplate(templateVars); 13535 return baseTemplateHtml; 13536}; 13537 13538Mfe.Widgets['content-grid'].prototype.onAttach = function() { 13539 // Show content if it hasnt yet 13540 /*if (this.hasContent !== true) { 13541 var fetchResult = this.fetch(); 13542 if (isEmpty(fetchResult) === false) { 13543 this.displayItems(this.renderItems(fetchResult)); 13544 } 13545 }*/ 13546 13547 this.attachHandlers(); 13548}; 13549 13550Mfe.Widgets['content-grid'].prototype.fetch = function(lastItemId, beforeDisplayCb) { 13551 var self = this; 13552 13553 if (isEmpty(lastItemId) === true) { 13554 lastItemId = null; 13555 } 13556 13557 var optionAmount = parseInt(this.getOption('data-amount', 3)); 13558 13559 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, lastItemId, 'multi', function(response) { 13560 if (lastItemId !== null) { 13561 if (response.getResults().length < optionAmount) { 13562 self.$el.find('button.load-more').hide(); 13563 } 13564 } 13565 13566 if (typeof beforeDisplayCb !== 'undefined') { 13567 beforeDisplayCb(); 13568 } 13569
13570 self.displayItems(self.renderItems(response)); 13571 }); 13572}; 13573 13574Mfe.Widgets['content-grid'].prototype.loadItemTemplates = function() { 13575 var objectNames = Object.keys(this.itemTemplates); 13576 for (var i = 0; i < objectNames.length; i++) { 13577 var objectName = objectNames[i]; 13578 var optionObjectTemplate = this.getOption('item-template-' + objectName, 'item-' + objectName + '-default'); 13579 this.itemTemplates[objectName] = optionObjectTemplate; 13580 } 13581}; 13582 13583Mfe.Widgets['content-grid'].prototype.fetchMore = function() { 13584 var $liEls = this.$el.find('li:not(.filler)'); 13585 var $liLastEl = $($liEls[$liEls.length - 1]); 13586 13587 var lastItemId = $liLastEl.attr('data-item-query-id'); 13588 var optionAmount = parseInt(this.getOption('data-amount', 3)); 13589 13590 var result = this.fetch(lastItemId); 13591 if (isEmpty(result) === false) { 13592 if (result.getResults().length < optionAmount) { 13593 this.$el.find('button.load-more').hide(); 13594 } 13595 this.displayItems(this.renderItems(result), lastItemId); 13596 } 13597}; 13598 13599Mfe.Widgets['content-grid'].prototype.display = function(html) { 13600 this.setElementHtml(html); 13601}; 13602 13603Mfe.Widgets['content-grid'].prototype.displayItems = function(itemsHtml) { 13604 this.$el.find('ul li.placeholder').remove(); 13605 13606 var $fillerEls = this.$el.find('ul li.filler'); 13607 $(itemsHtml).insertBefore($($fillerEls[0])); 13608 13609 if (window.lazyLoad) { 13610 window.lazyLoad.update(); 13611 } 13612}; 13613 13614Mfe.Widgets['content-grid'].prototype.renderItems = function(queryResult) { 13615 var contentItems; 13616 13617 if (typeof queryResult.getResults !== 'undefined') { 13618 contentItems = queryResult.getResults(); 13619 } else { 13620 contentItems = queryResult; 13621 } 13622 13623 this.loadItemTemplates(); 13624 13625 var itemTemplatesCompiled = {}; 13626 13627 var itemsHtmlArr = []; 13628 13629 var blogCategoryMapping = {}; 13630 var blogCategoryMappingJson = this.getSettingConfig('blog-category-mapping-json', ''); 13631 if (blogCategoryMappingJson !== null && blogCategoryMappingJson.length && blogCategoryMappingJson.length > 0) { 13632 blogCategoryMapping = JSON.parse(blogCategoryMappingJson); 13633 } 13634 13635 //var optionDataAmount = parseInt(this.getOption('data-amount', 0)) || 0; 13636 13637 for (var i = 0; i < contentItems.length; i++) { 13638 var contentItem = contentItems[i]; 13639 if (isEmpty(contentItem) === true) { 13640 continue; 13641 } 13642 13643 var itemType = Mfe.getContentType(contentItem); 13644 13645 if (isEmpty(itemTemplatesCompiled[itemType]) === true) { 13646 var itemTemplateName = this.itemTemplates[itemType]; 13647 itemTemplatesCompiled[itemType] = this.mfe.getTemplate('widgets', 'content-grid', itemTemplateName); 13648 } 13649 13650 var templateVars = contentItem.getTemplateVars(this.mfe); 13651 templateVars.itemStyle = this.itemStyles[itemType]; 13652 13653 templateVars.showLoadMore = this.getOptionBoolean('show-load-more', true); 13654 templateVars.loadMoreClasses = this.getOption('load-more-classes', 'load-more'); 13655 templateVars.showCategory = this.getOptionBoolean('show-category', true); 13656 templateVars.showDate = this.getOptionBoolean('show-date', true); 13657 templateVars.showSummary = this.getOptionBoolean('show-summary', true); 13658 templateVars.enableLazyLoad = this.getSettingConfig('enable-lazy-load', false); 13659 templateVars.disableTimezones = this.getSettingConfig('disable-timezones', false); 13660 templateVars.style = this.getSettingConfig('style', false); 13661 templateVars.blogCategoryMapping = blogCategoryMapping; 13662 13663 13664 var itemTemplateHtml = itemTemplatesCompiled[itemType](templateVars); 13665 itemsHtmlArr.push(itemTemplateHtml); 13666 } 13667 13668 var html = itemsHtmlArr.join(''); 13669 return html; 13670}; 13671 13672Mfe.Widgets['content-grid'].prototype.renderWidget = function(queryResult) { 13673 var itemsHtml = this.renderItems(queryResult); 13674 13675 var optionStyle = this.getOption('style', 'default'); 13676 13677 var optionAmount = parseInt(this.getOption('data-amount', 3)); 13678 if (queryResult.getResults().length < optionAmount) { 13679 showLoadMore = false; 13680 } 13681 13682 var showLoadMore = this.getOptionBoolean('show-load-more', true); 13683 13684 var disableTimezones = this.getOptionBoolean('disable-timezones', false); 13685 var loadMoreClasses = this.getOption('load-more-classes', 'load-more'); 13686 var showCategory = this.getOptionBoolean('show-category', true); 13687 var showDate = this.getOptionBoolean('show-date', true); 13688 var showSummary = this.getOptionBoolean('show-summary', true); 13689 13690 var itemsPerRow = this.getOption('items-per-row', '3'); 13691 var itemsPerRowPerc = (100 / (parseInt(itemsPerRow) + 1)) + 1; 13692 13693 var loadMoreText = this.getOption('load-more-text', this.mfe.getTranslation('button.load-more')); 13694
13695 var gutterX = this.getSettingConfig('gutter-x'); 13696 var gutterY = this.getSettingConfig('gutter-y'); 13697 13698 var blogCategoryMapping = {}; 13699 var blogCategoryMappingJson = this.getSettingConfig('blog-category-mapping-json', ''); 13700 if (blogCategoryMappingJson !== null && blogCategoryMappingJson.length && blogCategoryMappingJson.length > 0) { 13701 blogCategoryMapping = JSON.parse(blogCategoryMappingJson); 13702 } 13703 13704 var baseTemplate = this.mfe.getTemplate('widgets', 'content-grid', this.baseTemplate); 13705 var templateVars = { 13706 'itemsPerRow': itemsPerRow, 13707 'itemsPerRowPerc': itemsPerRowPerc + '%', 13708 'itemsPerPage': optionAmount, 13709 'style': optionStyle, 13710 'showLoadMore': showLoadMore, 13711 'disableTimezones': disableTimezones, 13712 'loadMoreClasses': loadMoreClasses, 13713 'showCategory': showCategory, 13714 'showDate': showDate, 13715 'showSummary': showSummary, 13716 'enableLazyLoad': this.getSettingConfig('enable-lazy-load', false), 13717 'loadMoreText': loadMoreText, 13718 'isLoading': false, 13719 'itemsHtml': itemsHtml, 13720 'gutterX': gutterX, 13721 'gutterY': gutterY, 13722 'blogCategoryMapping': blogCategoryMapping, 13723 'tabs': null 13724 }; 13725 13726 var enableTabs = this.getSettingConfig('enable-tabs', false); 13727 if (enableTabs === true) { 13728 var tabsConfig = JSON.parse(this.getSettingConfig('data-tabs-config-json', '[]')); 13729 templateVars.tabs = tabsConfig; 13730 } 13731 13732 var baseTemplateHtml = baseTemplate(templateVars); 13733 return baseTemplateHtml; 13734}; 13735 13736Mfe.Widgets['content-grid'].prototype.onSettingChanged = function(settingName, settingValue) { 13737 this.options[settingName] = settingValue; 13738 13739 if (settingName == 'items-') { 13740 13741 } else { 13742 var html = this.onRender(); 13743 this.$el.html(html); 13744 } 13745}; 13746 13747Mfe.Widgets['content-grid'].prototype.switchTab = function(tabIndex) { 13748 this.$el.find('nav.tabs button').removeClass('selected'); 13749 this.$el.find('nav.tabs button:nth-child(' + (tabIndex + 1) + ')').addClass('selected'); 13750 13751 var self = this; 13752 13753 var tabsConfig = JSON.parse(this.getSettingConfig('data-tabs-config-json', '[]')); 13754 var tabConfig = tabsConfig[tabIndex]; 13755 13756 var tabConfigKeys = Object.keys(tabConfig.config); 13757 for (var i = 0; i < tabConfigKeys.length; i++) { 13758 var tabConfigKey = tabConfigKeys[i]; 13759 this.options[tabConfigKey] = tabConfig.config[tabConfigKey]; 13760 } 13761 13762 var response = this.fetch(null, function(){ 13763 self.$el.find('li:not(.filler)').remove(); 13764 }); 13765 if (typeof response === 'undefined' || response === null) { 13766 return; 13767 } 13768 13769 self.$el.find('li:not(.filler)').remove(); 13770 this.displayItems(self.renderItems(response)); 13771}; 13772 13773Mfe.Widgets['content-grid'].prototype.attachHandlers = function() { 13774 var self = this; 13775 this.$el.find('button[data-action="load-more"]').on('click', function(event){ 13776 13777 self.fetchMore(); 13778 13779 event.preventDefault(); 13780 return false; 13781 }); 13782 13783 this.$el.find('nav.tabs button').on('click', function(event) { 13784 var $buttonEl = $(this); 13785 var tabIndex = $buttonEl.prevAll().length; 13786 13787 self.switchTab(tabIndex); 13788 13789 return false; 13790 }); 13791}; 13792 13793Mfe.Widgets['content-list'] = function(mfe, widgetId, options) { 13794 this.mfe = mfe; 13795 this.name = 'content-list'; 13796 this.baseTemplate = 'base-default'; 13797 this.itemTemplates = { 13798 'blogpost': 'item-blogpost-default', 13799 'media': 'item-media-default' 13800 }; 13801 this.itemStyles = { 13802 'blogpost': 'default', 13803 'media': 'default' 13804 }; 13805 Mfe.Widget.apply(this, arguments); 13806}; 13807Mfe.Widgets['content-list'].inherits(Mfe.Widget); 13808Mfe.Widgets['content-list'].title = 'Content list'; 13809Mfe.Widgets['content-list'].getSettings = function() { 13810 return [ 13811 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 13812 { "value": "default", "label": "Default" } 13813 ] 13814 }, 13815 { "type": "text", "name": "data-site-name", "default": null, "description": "Data site name" }, 13816 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ 13817 { "value": "blogs", "label": "Blogs" }, 13818 { "value": "streams", "label": "Streams" }, 13819 { "value": "calendars", "label": "Calendars" }, 13820 { "value": "contentset", "label": "Contentset" }, 13821 { "value": "storyline", "label": "Storyline" } 13822 ] }, 13823 { "type": "contentset", "name": "data-contentset-id", "default": [], "dependency": { "ke
13823y": "data-source", "value": "contentset" }, "description": "Data source contentset" }, 13824 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "description": "Data source blogs" }, 13825 { "type": "streams", "name": "data-stream-ids", "default": [], "description": "Data source streams" }, 13826 { "type": "calendars", "name": "data-calendar-ids", "default": [], "description": "Data source calendars" }, 13827 { "type": "text", "name": "data-amount", "default": 6, "description": "Amount of items" }, 13828 { "type": "boolean", "name": "show-load-more", "default": true, "description": "Show load-more button" }, 13829 { "type": "boolean", "name": "show-item-numbers", "default": false, "description": "Add item numbers" }, 13830 { "type": "boolean", "name": "skip-context", "default": true, "description": "Skip context item" }, 13831 { "type": "text", "name": "load-more-text", "default": null, "description": "Load-more text" }, 13832 { "type": "boolean", "name": "render-fragments", "default": false, "description": "Render fragments" }, 13833 { "type": "options", "name": "item-template-blogpost", "default": "default", "description": "Template for blogpost", 13834 "options": [ 13835 { "value": "item-blogpost-default", "label": "Default" }, 13836 { "value": "item-blogpost-line", "label": "Line" }, 13837 { "value": "item-blogpost-popular", "label": "Popular" }, 13838 { "value": "item-blogpost-modern", "label": "Modern" }, 13839 { "value": "item-blogpost-faux", "label": "Faux page" }, 13840 ] 13841 }, 13842 { "type": "boolean", "name": "add-nav-tag", "default": false, "description": "Add nav HTML tag" } 13843 ]; 13844}; 13845Mfe.Widgets['content-list'].prototype.onRender = function() { 13846 var fetchResult = this.fetch(); 13847 if (isEmpty(fetchResult) === false) { 13848 return this.renderWidget(fetchResult); 13849 } 13850 13851 // Return empty template with loading state 13852 var showLoadMore = this.getOption('show-load-more', 'true'); 13853 if (showLoadMore === false || showLoadMore == 'false') { 13854 showLoadMore = false; 13855 } else { 13856 showLoadMore = true; 13857 } 13858 13859 var loadMoreText = this.getOption('load-more-text', this.mfe.getTranslation('button.load-more')); 13860 var baseTemplate = this.mfe.getTemplate('widgets', 'content-list', this.baseTemplate); 13861 var templateVars = { 13862 'showLoadMore': showLoadMore, 13863 'loadMoreText': loadMoreText, 13864 'isLoading': true, 13865 'placeholderItems': [] 13866 }; 13867 13868 var amount = parseInt(this.getOption('amount', 3)); 13869 for (var i = 0; i < amount; i++) { 13870 templateVars.placeholderItems.push({}); 13871 } 13872 13873 var baseTemplateHtml = baseTemplate(templateVars); 13874 return baseTemplateHtml; 13875}; 13876 13877Mfe.Widgets['content-list'].prototype.onAttach = function() { 13878 // Show content if it hasnt yet 13879 /*if (this.hasContent !== true) { 13880 var fetchResult = this.fetch(); 13881 if (isEmpty(fetchResult) === false) { 13882 this.displayItems(this.renderItems(fetchResult)); 13883 } 13884 }*/ 13885 13886 this.attachHandlers(); 13887}; 13888 13889Mfe.Widgets['content-list'].prototype.fetch = function(lastItemId) { 13890 var self = this; 13891 13892 if (isEmpty(lastItemId) === true) { 13893 lastItemId = null; 13894 } 13895 13896 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, lastItemId, 'multi', function(response) { 13897 self.displayItems(self.renderItems(response)); 13898 }); 13899}; 13900 13901Mfe.Widgets['content-list'].prototype.fetchMore = function() { 13902 var $liEls = this.$el.find('li:not(.filler)'); 13903 var $liLastEl = $($liEls[$liEls.length - 1]); 13904 13905 var lastItemId = $liLastEl.attr('data-item-id'); 13906 13907 var result = this.fetch(lastItemId); 13908 if (isEmpty(result) === false) { 13909 this.displayItems(this.renderItems(result), lastItemId); 13910 } 13911}; 13912 13913Mfe.Widgets['content-list'].prototype.display = function(html) { 13914 this.setElementHtml(html); 13915}; 13916 13917Mfe.Widgets['content-list'].prototype.displayItems = function(itemsHtml) { 13918 this.$el.find('ul').append($(itemsHtml)); 13919 13920 if (window.lazyLoad) { 13921 window.lazyLoad.update(); 13922 } 13923}; 13924 13925Mfe.Widgets['content-list'].prototype.renderItems = function(queryResult) { 13926 if(isEmpty(queryResult) === true) { 13927 return ''; 13928 } 13929 13930 var contentItems = queryResult.getResults(); 13931 13932 var itemTemplatesCompiled = {}; 13933 13934 var itemTemplateNames = { 13935 'blogpost': this.getOption('item-template-blogpost', 'item-blogpost-default'), 13936 'media': this.getOption('item-template-media', 'item-blogpost-media') 13937 }; 13938 13939 var showItemNumbers = this.getOption('show-item-numbers', 'false'); 13940 if (showItemNumbers === false || showItemNumbers == 'false') { 13941 showItemNumbers = false;
13942 } else { 13943 showItemNumbers = true; 13944 } 13945 13946 // Return empty template with loading state 13947 var skipContext = this.getOption('skip-context', 'false'); 13948 if (skipContext === false || skipContext == 'false') { 13949 skipContext = false; 13950 } else { 13951 skipContext = true; 13952 } 13953 13954 13955 var renderFragments = this.getOption('render-fragments', 'false'); 13956 if (renderFragments === false || renderFragments == 'false') { 13957 renderFragments = false; 13958 } else { 13959 renderFragments = true; 13960 } 13961 13962 var amount = parseInt(this.getOption('data-amount', '3')) || 1; 13963 13964 var itemsAdded = 0; 13965 var itemsHtmlArr = []; 13966 for (var i = 0; i < contentItems.length; i++) { 13967 13968 if (itemsAdded >= amount) { 13969 break; 13970 } 13971 13972 var contentItem = contentItems[i]; 13973 var itemType = Mfe.getContentType(contentItem); 13974 13975 if (skipContext === true) { 13976 if (itemType == 'blogpost' && this.mfe.context == 'blog-item') { 13977 if (contentItem.getId() == this.mfe.contextObject.getId()) { 13978 continue; 13979 } 13980 } 13981 } 13982 13983 13984 if (isEmpty(itemTemplatesCompiled[itemType]) === true) { 13985 var itemTemplateName = itemTemplateNames[itemType]; 13986 itemTemplatesCompiled[itemType] = this.mfe.getTemplate('widgets', 'content-list', itemTemplateName); 13987 } 13988 13989 13990 13991 var templateVars = contentItem.getTemplateVars(this.mfe); 13992 templateVars.itemStyle = this.itemStyles[itemType]; 13993 templateVars.itemNumber = i + 1; 13994 templateVars.showItemNumbers = showItemNumbers; 13995 templateVars.fragmentsHtml = ''; 13996 13997 if (renderFragments === true) { 13998 templateVars.fragmentsHtml = this.renderFragments(contentItem); 13999 } 14000 14001 var itemTemplateHtml = itemTemplatesCompiled[itemType](templateVars); 14002 itemsHtmlArr.push(itemTemplateHtml); 14003 itemsAdded++; 14004 } 14005 14006 var html = itemsHtmlArr.join(''); 14007 return html; 14008}; 14009 14010Mfe.Widgets['content-list'].prototype.renderWidget = function(queryResult) { 14011 var itemsHtml = this.renderItems(queryResult); 14012 14013 var showLoadMore = this.getOption('show-load-more', 'true'); 14014 if (showLoadMore === false || showLoadMore == 'false') { 14015 showLoadMore = false; 14016 } else { 14017 showLoadMore = true; 14018 } 14019 14020 var baseTemplate = this.mfe.getTemplate('widgets', 'content-list', this.baseTemplate); 14021 var templateVars = { 14022 'showLoadMore': showLoadMore, 14023 'isLoading': false, 14024 'itemsHtml': itemsHtml, 14025 'addNavTag': this.getSettingConfig('add-nav-tag', false) 14026 }; 14027 14028 var baseTemplateHtml = baseTemplate(templateVars); 14029 return baseTemplateHtml; 14030}; 14031 14032Mfe.Widgets['content-list'].prototype.renderFragments = function(cmsItem) { 14033 14034 var fragments; 14035 if (isEmpty(cmsItem) === false) { 14036 var itemType = Mfe.getContentType(cmsItem); 14037 if (itemType == 'blogpost' || itemType == 'page') { 14038 if (isEmpty(cmsItem) === true) { 14039 return false; 14040 } 14041 14042 if (isEmpty(cmsItem.getRevisionLanguages) === true) { 14043 return false; 14044 } 14045 14046 var revisionLanguages = cmsItem.getRevisionLanguages(); 14047 14048 var revisionLanguage = revisionLanguages[0]; 14049 var revision = cmsItem.getRevisionByLanguage(revisionLanguages[0]); 14050 14051 fragments = revision.getFragments(); 14052 } else if (itemType == 'event') { 14053 var revision = cmsItem.getRevision(); 14054 fragments = revision.getFragments(); 14055 } else { 14056 fragments = []; 14057 } 14058 } else { 14059 fragments = []; 14060 } 14061 14062 var skipFragmentTypes = ['CMSImageWidget', 'CMSEmbedWidget']; 14063 var fragmentsHtmlArr = []; 14064 var itemTemplate = this.mfe.getTemplate('widgets', 'cms-fragments', 'item-fragment'); 14065 for (var i = 0; i < fragments.length; i++) { 14066 var fragment = fragments[i]; 14067 14068 if (skipFragmentTypes.indexOf(fragment.getType()) > -1) { 14069 continue; 14070 } 14071 14072 fragmentsHtmlArr.push(itemTemplate(fragment.getTemplateVars())
14072); 14073 }; 14074 14075 return fragmentsHtmlArr.join(''); 14076}; 14077 14078Mfe.Widgets['content-list'].prototype.attachHandlers = function() { 14079 var self = this; 14080 this.$el.find('a[data-action="load-more"]').on('click', function(event){ 14081 14082 self.fetchMore(); 14083 14084 event.preventDefault(); 14085 return false; 14086 }); 14087}; 14088 14089Mfe.Widgets['content-navigation'] = function(mfe, widgetId, options) { 14090 this.mfe = mfe; 14091 this.name = 'content-navigation'; 14092 this.baseTemplate = 'base-default'; 14093 Mfe.Widget.apply(this, arguments); 14094}; 14095Mfe.Widgets['content-navigation'].inherits(Mfe.Widget); 14096Mfe.Widgets['content-navigation'].title = 'Content navigation'; 14097Mfe.Widgets['content-navigation'].getSettings = function() { 14098 var settings = { 14099 'sections': [ 14100 { 14101 'name': 'general', 14102 'title': 'General', 14103 'settings': [ 14104 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 14105 { "value": "default", "label": "Default" } 14106 ] 14107 } 14108 ] 14109 }, 14110 { 14111 'name': 'data', 14112 'title': 'Data', 14113 'settings': [ 14114 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ { "value": "context", "label": "Context" } ] }, 14115 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "description": "Data source blogs" }, 14116 { "type": "text", "name": "data-amount", "default": 6, "description": "Amount of items" } 14117 ] 14118 } 14119 ] 14120 }; 14121 14122 return settings; 14123}; 14124 14125Mfe.Widgets['content-navigation'].prototype.onRender = function() { 14126 var context = this.mfe.context; 14127 var contextObj = this.mfe.contextObject; 14128 14129 if (typeof contextObj !== 'undefined') { 14130 14131 var postGroupId = contextObj.getPostGroupId(); 14132 14133 var fetchResult = this.fetch(contextObj.getQueryId(), [ postGroupId ]); 14134 if (isEmpty(fetchResult[0]) === false && isEmpty(fetchResult[1]) === false) { 14135 return this.renderWidget(fetchResult[0], fetchResult[1]); 14136 } 14137 14138 } 14139 14140 var optionStyle = this.getOption('style', 'default'); 14141 var baseTemplate = this.mfe.getTemplate('widgets', 'content-navigation', this.baseTemplate); 14142 14143 // Return empty template with loading state 14144 14145 var templateVars = { 14146 'style': optionStyle, 14147 'isLoading': true, 14148 'placeholderItems': [] 14149 }; 14150 14151 var amount = parseInt(this.getOption('data-amount', 3)); 14152 for (var i = 0; i < amount; i++) { 14153 templateVars.placeholderItems.push({}); 14154 } 14155 14156 var baseTemplateHtml = baseTemplate(templateVars); 14157 return baseTemplateHtml; 14158}; 14159 14160Mfe.Widgets['content-navigation'].prototype.onAttach = function() { 14161 // Show content if it hasnt yet 14162 /*if (this.hasContent !== true) { 14163 var fetchResult = this.fetch(); 14164 if (isEmpty(fetchResult) === false) { 14165 this.displayItems(this.renderItems(fetchResult)); 14166 } 14167 }*/ 14168 14169 this.attachHandlers(); 14170}; 14171 14172Mfe.Widgets['content-navigation'].prototype.fetch = function(publicationTs, postGroupIds, cb) { 14173 var self = this; 14174 14175 var newItems = this.fetchNewer(publicationTs, postGroupIds, function(result, response){ 14176 self.$el.find('.newer .items').html(self.renderTypeItems('newer', response)); 14177 }); 14178 14179 var olderItems = this.fetchOlder(publicationTs, postGroupIds, function(result, response){ 14180 self.$el.find('.older .items').html(self.renderTypeItems('older', response)); 14181 }); 14182 14183 var result = [ 14184 newItems, 14185 olderItems 14186 ]; 14187 14188 return result; 14189}; 14190 14191Mfe.Widgets['content-navigation'].prototype.fetchOlder = function(publicationTs, postGroupIds, cb) { 14192 var queryObj = { 14193 'type': 'blogposts', 14194 'mode': 'before', 14195 'before': publicationTs, 14196 'amount': 1, 14197 'sortOn': 'publication', 14198 'filters': [ 14199 { "postGroups": postGroupIds } 14200 ] 14201 }; 14202 14203 var siteName = getObjValue('site-name', null, this.options); 14204 if (isEmpty(siteName) === true || siteName.length == 0) { 14205 siteName = this.mfe.siteBundle.getName(); 14206 } 14207 14208 return Mfe.Api.Sites.query( 14209 siteName, 14210 queryObj, 14211 function(result, response) { 14212 cb(result, response); 14213 } 14214 ); 14215}; 14216 14217Mfe.Widgets['content-navigation'].prototype.fetchNewer = function(publicationTs, postGroupIds, cb) { 14218 var queryObj = { 14219 'type': 'blogposts', 14220 'mode': 'after', 14221 'after': publicationTs, 14222 'amount': 1, 14223 'sortOn': 'publication', 14224 'filters': [ 14225 { "postGroups": postGroupIds } 14226 ] 14227 }; 14228 14229 var siteName = getObjValue('site-name', null, this.options); 14230 if (isEmpty(siteName) === true || siteName.length == 0) { 14231 siteName = this.mfe.siteBundle.getName(); 14232 } 14233 14234 return Mfe.Api.Sites.query( 14235 siteName, 14236 queryObj, 14237 function(result, response) { 14238 cb(result, response); 14239 } 14240 ); 14241}; 14242 14243Mfe.Widgets['content-navigation'].prototype.renderItems = function(queryResultNewer, queryResultOlder) { 14244 var newerHtml = this.renderTypeItems('newer', queryResultNewer); 14245 var olderHtml = this.renderTypeItems('older', queryResultOlder); 14246 14247 return [newerHtml, olderHtml]; 14248}; 14249 14250Mfe.Widgets['content-navigation'].prototype.renderTypeItems = function(type, queryResult) { 14251 console.log('rendering items shit'); 14252 14253 var contentItems; 14254 if (typeof queryResult.getResults !== 'undefined') { 14255 contentItems = queryResult.getResults(); 14256 } else { 14257 contentItems = queryResult; 14258 } 14259 14260 var itemsHtmlArr = []; 14261 var itemTemplate = this.mfe.getTemplate('widgets', 'content-navigation', 'item-default-' + type); 14262 14263 for (var i = 0; i < contentItems.length; i++) { 14264 var contentItem = contentItems[i]; 14265 if (isEmpty(contentItem) === true) { 14266 continue; 14267 } 14268 14269 var templateVars = contentItem.getTemplateVars(this.mfe); 14270 14271 var itemHtml = itemTemplate(templateVars); 14272 14273 itemsHtmlArr.push(itemHtml); 14274 } 14275 14276 var itemsHtml = itemsHtmlArr.join(''); 14277 return itemsHtml; 14278}; 14279 14280 14281 14282Mfe.Widgets['content-navigation'].prototype.display = function(html) { 14283 this.setElementHtml(html); 14284}; 14285 14286Mfe.Widgets['content-navigation'].prototype.displayItems = function(itemsHtml) { 14287 this.$el.find('ul li.placeholder').remove(); 14288 14289 var $fillerEls = this.$el.find('ul li.filler'); 14290 $(itemsHtml).insertBefore($($fillerEls[0])); 14291 14292 if (window.lazyLoad) { 14293 window.lazyLoad.update(); 14294 } 14295}; 14296 14297/*Mfe.Widgets['content-navigation'].prototype.renderItems = function(queryResult) { 14298 var contentItems; 14299 14300 if (typeof queryResult.getResults !== 'undefined') { 14301 contentItems = queryResult.getResults(); 14302 } else { 14303 contentItems = queryResult; 14304 } 14305 14306 var itemTemplatesCompiled = {}; 14307 14308 var itemsHtmlArr = []; 14309 14310 //var optionDataAmount = parseInt(this.getOption('data-amount', 0)) || 0; 14311 14312 for (var i = 0; i < contentItems.length; i++) { 14313 var contentItem = contentItems[i]; 14314 if (isEmpty(contentItem) === true) { 14315 continue; 14316 } 14317 14318 var itemType = Mfe.getContentType(contentItem); 14319 14320 if (isEmpty(itemTemplatesCompiled[itemType]) === true) { 14321 var itemTemplateName = this.itemTemplates[itemType]; 14322 itemTemplatesCompiled[itemType] = this.mfe.getTemplate('widgets', 'content-navigation', itemTemplateName); 14323 } 14324 14325 var templateVars = contentItem.getTemplateVars(this.mfe); 14326 templateVars.itemStyle = this.itemStyles[itemType]; 14327 14328 var itemTemplateHtml = itemTemplatesCompiled[itemType](templateVars); 14329 itemsHtmlArr.push(itemTemplateHtml); 14330 } 14331 14332 var html = itemsHtmlArr.join(''); 14333 return html; 14334}; 14335*/ 14336Mfe.Widgets['content-navigation'].prototype.renderWidget = function(queryResultNewer, queryResultOlder) { 14337 var itemsHtmlArr = this.renderItems(queryResultNewer, queryResultOlder); 14338 14339 var baseTemplate = this.mfe.getTemplate('widgets', 'content-navigation', this.baseTemplate); 14340 var templateVars = { 14341 'isLoading': false, 14342 'newerHtml': itemsHtmlArr[0], 14343 'olderHtml': itemsHtmlArr[1] 14344 }; 14345 14346 var baseTemplateHtml = baseTemplate(templateVars); 14347 return baseTemplateHtml; 14348}; 14349 14350Mfe.Widgets['content-navigation'].prototype.onSettingChanged = function(settingName, settingValue) { 14351 this.options[settingName] = settingValue; 14352 14353 if (settingName == 'items-') { 14354 14355 } else { 14356 var html = this.onRender(); 14357 this.$el.html(html); 14358 } 14359}; 14360 14361Mfe.Widgets['content-navigation'].prototype.attachHandlers = function() { 14362 var self = this; 14363 this.$el.find('button[data-action="load-more"]').on('click', function(event){ 14364 14365 self.fetchMore(); 14366 14367 event.preventDefault(); 14368 return false;
14369 }); 14370}; 14371 14372Mfe.Widgets['content-popular'] = function(mfe, widgetId, options) { 14373 this.mfe = mfe; 14374 this.name = 'content-popular'; 14375 this.baseTemplate = 'base-default'; 14376 Mfe.Widget.apply(this, arguments); 14377}; 14378Mfe.Widgets['content-popular'].inherits(Mfe.Widget); 14379Mfe.Widgets['content-popular'].title = 'Content popular'; 14380Mfe.Widgets['content-popular'].getSettings = function() { 14381 return [ 14382 { "type": "boolean", "name": "enable-lazy-load", "default": false, "description": "Enable lazy loading of images" }, 14383 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ { "value": "default", "label": "Default" }, { "value": "pattern-1-2-2-1", "label": "Pattern (1-2,2-1)" } ] }, 14384 { "type": "text", "name": "data-site-name", "default": null, "description": "Data site name" }, 14385 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ { "value": "blogs", "label": "Blogs" }, { "value": "blogs-tags", "label": "Blogs using tags" }, { "value": "streams", "label": "Streams" }, { "value": "calendars", "label": "Calendars" }, { "value": "contentset", "label": "Contentset" } ] }, 14386 { "type": "contentset", "name": "data-contentset-id", "default": [], "dependency": { "key": "data-source", "value": "contentset" }, "description": "Data source contentset" }, 14387 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "description": "Data source blogs" }, 14388 { "type": "text", "name": "data-blog-tags", "default": [], "dependency": { "key": "data-source", "value": "blogs-tags" }, "description": "Blog tags (comma separated)" }, 14389 { "type": "streams", "name": "data-stream-ids", "default": [], "description": "Data source streams" }, 14390 { "type": "calendars", "name": "data-calendar-ids", "default": [], "description": "Data source calendars" }, 14391 { "type": "text", "name": "data-amount", "default": 5, "description": "Amount of items" } 14392 ]; 14393}; 14394Mfe.Widgets['content-popular'].prototype.onRender = function() { 14395 var fetchResult = this.fetch(); 14396 if (isEmpty(fetchResult) === false) { 14397 return this.renderWidget(fetchResult); 14398 } 14399 14400 var optionStyle = this.getOption('style', 'default'); 14401 14402 // Return empty template with loading state 14403 14404 var showLoadMore = this.getOption('show-load-more', 'true'); 14405 if (showLoadMore === false || showLoadMore == 'false') { 14406 showLoadMore = false; 14407 } else { 14408 showLoadMore = true; 14409 } 14410 14411 var baseTemplate = this.mfe.getTemplate('widgets', 'content-popular', this.baseTemplate); 14412 var templateVars = { 14413 'style': optionStyle, 14414 'isLoading': true, 14415 'placeholderItems': [] 14416 }; 14417 14418 var amount = parseInt(this.getOption('data-amount', 5)); 14419 for (var i = 0; i < amount; i++) { 14420 templateVars.placeholderItems.push({}); 14421 } 14422 14423 var baseTemplateHtml = baseTemplate(templateVars); 14424 return baseTemplateHtml; 14425}; 14426 14427Mfe.Widgets['content-popular'].prototype.onAttach = function() { 14428 // Show content if it hasnt yet 14429 /*if (this.hasContent !== true) { 14430 var fetchResult = this.fetch(); 14431 if (isEmpty(fetchResult) === false) { 14432 this.displayItems(this.renderItems(fetchResult)); 14433 } 14434 }*/ 14435 14436 this.attachHandlers(); 14437}; 14438 14439Mfe.Widgets['content-popular'].prototype.fetch = function(lastItemId) { 14440 var self = this; 14441 14442 if (isEmpty(lastItemId) === true) { 14443 lastItemId = null; 14444 } 14445 14446 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, lastItemId, 'multi', function(response) { 14447 self.displayItems(self.renderItems(response)); 14448 }); 14449}; 14450 14451Mfe.Widgets['content-popular'].prototype.display = function(html) { 14452 this.setElementHtml(html); 14453 14454 if (window.lazyLoad) { 14455 window.lazyLoad.update(); 14456 } 14457}; 14458 14459Mfe.Widgets['content-popular'].prototype.displayItems = function(itemsHtml) { 14460 this.$el.find('ul li.placeholder').remove(); 14461 14462 this.$el.find('ul').append($(itemsHtml)); 14463}; 14464 14465Mfe.Widgets['content-popular'].prototype.renderItems = function(queryResult) { 14466 var contentItems = queryResult.getResults(); 14467 14468 var itemTemplate = this.mfe.getTemplate('widgets', 'content-popular', 'item-default'); 14469 14470 var itemsHtmlArr = []; 14471 for (var i = 0; i < contentItems.length; i++) { 14472 var contentItem = contentItems[i]; 14473 var itemType = Mfe.getContentType(contentItem); 14474 14475 var templateVars = contentItem.getTemplateVars(this.mfe); 14476 templateVars.itemNumber = i + 1; 14477 templateVars.itemStyle = 'item-default';
14478 templateVars.enableLazyLoad = this.getSettingConfig('enable-lazy-load', false); 14479 14480 var itemTemplateHtml = itemTemplate(templateVars); 14481 itemsHtmlArr.push(itemTemplateHtml); 14482 } 14483 14484 var html = itemsHtmlArr.join(''); 14485 return html; 14486}; 14487 14488Mfe.Widgets['content-popular'].prototype.renderWidget = function(queryResult) { 14489 var itemsHtml = this.renderItems(queryResult); 14490 14491 var optionStyle = this.getOption('style', 'default'); 14492 14493 var baseTemplate = this.mfe.getTemplate('widgets', 'content-popular', this.baseTemplate); 14494 var templateVars = { 14495 'style': optionStyle, 14496 'isLoading': false, 14497 'itemsHtml': itemsHtml 14498 }; 14499 14500 var baseTemplateHtml = baseTemplate(templateVars); 14501 return baseTemplateHtml; 14502}; 14503 14504Mfe.Widgets['content-popular'].prototype.attachHandlers = function() { 14505 14506}; 14507 14508Mfe.Widgets['content-scroller'] = function(mfe, widgetId, options) { 14509 this.mfe = mfe; 14510 this.name = 'content-scroller'; 14511 this.baseTemplate = 'base-default'; 14512 this.itemTemplates = { 14513 'blogpost': 'item-blogpost-default', 14514 'media': 'item-media-default', 14515 'event': 'item-event-default' 14516 }; 14517 this.itemStyles = { 14518 'blogpost': 'default', 14519 'media': 'default', 14520 'event': 'default' 14521 }; 14522 this.scrollVal = 400; 14523 14524 Mfe.Widget.apply(this, arguments); 14525}; 14526Mfe.Widgets['content-scroller'].inherits(Mfe.Widget); 14527Mfe.Widgets['content-scroller'].title = 'Content scroller'; 14528Mfe.Widgets['content-scroller'].getSettings = function() { 14529 var settings = { 14530 'sections': [ 14531 { 14532 'name': 'general', 14533 'title': 'General', 14534 'settings': [ 14535 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 14536 { "value": "default", "label": "Default" } 14537 ] 14538 }, 14539 { "type": "boolean", "name": "enable-lazy-load", "default": false, "description": "Enable lazy loading of images" }, 14540 { "type": "options", "name": "item-template-blogpost", "default": "item-blogpost-default", "description": "Blogpost template", "options": [ { "value": "item-blogpost-default", "label": "Default" }, { "value": "item-blogpost-fulllink", "label": "Fully clickable" } ] }, 14541 { "type": "options", "name": "item-template-media", "default": "item-media-default", "description": "Media template", "options": [ { "value": "item-media-default", "label": "Default" } ] } 14542 ] 14543 }, 14544 { 14545 'name': 'data', 14546 'title': 'Data', 14547 'settings': [ 14548 { "type": "text", "name": "data-site-name", "default": null, "description": "Data site name" }, 14549 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ { "value": "context", "label": "Context" }, { "value": "blogs", "label": "Blogs" }, { "value": "streams", "label": "Streams" }, { "value": "calendars", "label": "Calendars" } ] }, 14550 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "dependency": { "key": "data-source", "value": "blogs" }, "description": "Data source blogs" }, 14551 { "type": "streams", "name": "data-stream-ids", "default": [], "dependency": { "key": "data-source", "value": "streams" }, "description": "Data source streams" }, 14552 { "type": "calendars", "name": "data-calendar-ids", "default": [], "dependency": { "key": "data-source", "value": "calendars" }, "description": "Data source calendars" }, 14553 { "type": "text", "name": "data-amount", "default": 6, "description": "Amount of items" } 14554 ] 14555 } 14556 ] 14557 }; 14558 14559 return settings; 14560}; 14561Mfe.Widgets['content-scroller'].prototype.onRender = function() { 14562 var fetchResult = this.fetch(); 14563 if (isEmpty(fetchResult) === false) { 14564 return this.renderWidget(fetchResult); 14565 } 14566 14567 // Return empty template with loading state 14568 /*var showPageNav = this.getOption('show-page-nav', 'true'); 14569 if (showPageNav === false || showPageNav == 'false') { 14570 showPageNav = false; 14571 } else { 14572 showPageNav = true; 14573 }*/ 14574 14575 var baseTemplate = this.mfe.getTemplate('widgets', 'content-scroller', this.baseTemplate); 14576 14577 var templateVars = { 14578 /*'showPageNav': showPageNav,*/ 14579 'isLoading': true 14580 }; 14581 14582 var baseTemplateHtml = baseTemplate(templateVars); 14583 return baseTemplateHtml; 14584}; 14585 14586Mfe.Widgets['content-scroller'].prototype.onAttach = function() { 14587 this.attachHandlers(); 14588 14589 this.scrollVal =this.$el.outerWidth(); 14590 //this.scrollVal = 400; 14591}; 14592 14593Mfe.Widgets['content-scroller'].prototype.fetch = function() { 14594 var self = this; 14595 14596 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'multi', function(response) { 14597
14598 self.display(self.renderWidget(response)); 14599 //self.attachHandlers(); 14600 }); 14601}; 14602 14603Mfe.Widgets['content-scroller'].prototype.display = function(html) { 14604 this.setElementHtml(html); 14605 14606 if (window.lazyLoad) { 14607 window.lazyLoad.update(); 14608 } 14609}; 14610 14611Mfe.Widgets['content-scroller'].prototype.renderItems = function(queryResult) { 14612 var contentItems = queryResult.getResults(); 14613 14614 this.loadItemTemplates(); 14615 14616 var itemTemplatesCompiled = {}; 14617 14618 var itemsHtmlArr = []; 14619 for (var i = 0; i < contentItems.length; i++) { 14620 var contentItem = contentItems[i]; 14621 itemsHtmlArr.push(this.renderItem(contentItem)); 14622 } 14623 14624 var html = itemsHtmlArr.join(''); 14625 return html; 14626}; 14627 14628 14629Mfe.Widgets['content-scroller'].prototype.loadItemTemplates = function() { 14630 var objectNames = Object.keys(this.itemTemplates); 14631 for (var i = 0; i < objectNames.length; i++) { 14632 var objectName = objectNames[i]; 14633 var optionObjectTemplate = this.getOption('item-template-' + objectName, 'item-' + objectName + '-default'); 14634 this.itemTemplates[objectName] = optionObjectTemplate; 14635 } 14636}; 14637 14638Mfe.Widgets['content-scroller'].prototype.renderItem = function(contentItem) { 14639 var itemType = Mfe.getContentType(contentItem); 14640 14641 var itemTemplateName = this.itemTemplates[itemType]; 14642 var itemTemplate = this.mfe.getTemplate('widgets', 'content-scroller', itemTemplateName); 14643 14644 var templateVars = contentItem.getTemplateVars(this.mfe); 14645 templateVars.itemStyle = this.itemStyles[itemType]; 14646 templateVars.enableLazyLoad = this.getSettingConfig('enable-lazy-load', false); 14647 14648 var itemTemplateHtml = itemTemplate(templateVars); 14649 14650 return itemTemplateHtml; 14651}; 14652 14653Mfe.Widgets['content-scroller'].prototype.renderWidget = function(queryResult) { 14654 var contentItems = queryResult.getResults(); 14655 14656 var baseTemplate = this.mfe.getTemplate('widgets', 'content-scroller', this.baseTemplate); 14657 if (isEmpty(baseTemplate) === true) { 14658 return ''; 14659 } 14660 14661 var optionStyle = this.getOption('style', 'default'); 14662 14663 var itemsHtml = this.renderItems(queryResult); 14664 14665 var templateVars = { 14666 'style': optionStyle, 14667 'itemsHtml': itemsHtml 14668 /*'isLoading': false, 14669 'slidesHtml': slidesHtml, 14670 'leftSlideHtml': stageSlides.leftSlideHtml, 14671 'currentSlideHtml': stageSlides.currentSlideHtml, 14672 'rightSlideHtml': stageSlides.rightSlideHtml, 14673 'leftNavEnabled': stageSlides.leftSlideHtml.length > 0, 14674 'rightNavEnabled': stageSlides.rightSlideHtml.length > 0*/ 14675 }; 14676 14677 var baseTemplateHtml = baseTemplate(templateVars); 14678 return baseTemplateHtml; 14679}; 14680 14681Mfe.Widgets['content-scroller'].prototype.scrollLeft = function() { 14682 var $transformEl = this.$el.find('.content.base-default ul'); 14683 14684 $transformEl.addClass('is-scrolling'); 14685 var $scrollEl = this.$el.find('.scroll'); 14686 14687 var scrollLeft = $scrollEl[0].scrollLeft; 14688 var scrollVal = this.scrollVal; 14689 14690 var scrollTo = scrollLeft - scrollVal; 14691 14692 if (scrollLeft <= 0) { 14693 return; 14694 } 14695 14696 if (scrollTo < 0) { 14697 scrollTo = 0; 14698 scrollVal = scrollLeft; 14699 } 14700 14701 this.scrollTo = scrollTo; 14702 14703 $transformEl.css('transform', 'translateX('+scrollVal+'px)'); 14704 14705 //Mfe.Utils.DOM.scrollToLeft($scrollEl[0], 0, 600); 14706 //$scrollEl.scrollLeft(400); 14707}; 14708 14709Mfe.Widgets['content-scroller'].prototype.scrollRight = function() { 14710 var $transformEl = this.$el.find('.content.base-default ul'); 14711 var $scrollEl = this.$el.find('.scroll'); 14712 14713 $transformEl.addClass('is-scrolling'); 14714 14715 var scrollLeft = $scrollEl[0].scrollLeft; 14716 var scrollVal = 0 - this.scrollVal; 14717 14718 var scrollTo = scrollLeft - scrollVal; 14719 var scrollWidth = $scrollEl[0].scrollWidth; 14720 14721 var maxScrollLeft = scrollWidth - this.viewWidth; 14722 14723 if (scrollTo > maxScrollLeft) { 14724 this.scrollTo = maxScrollLeft; 14725 scrollVal = scrollLeft - maxScrollLeft; 14726 } else { 14727 this.scrollTo = scrollTo; 14728 } 14729 14730 $transformEl.css('transform', 'translateX('+scrollVal+'px)'); 14731}; 14732 14733Mfe.Widgets['content-scroller'].prototype.updateNavButtons = function(scrollLeft, viewWidth, clientWidth) { 14734 var $contentEl = this.$el.find('.content.base-default'); 14735 14736 if (scrollLeft <= 0) { 14737 if ($contentEl.hasClass('nav-left-enabled')) { 14738 $contentEl.removeClass('nav-left-enabled'); 14739 } 14740 } else if (scrollLeft > 0) { 14741 if ($contentEl.hasClass('nav-left-enabled') === false) { 14742 $contentEl.addClass('nav-left-enabled'); 14743 } 14744 } 14745 14746 if (scrollLeft >= this.maxScrollLeft) { 14747 if ($contentEl.hasClass('nav-right-enabled')) { 14748 this.$el.find('.content.base-default').removeClass('nav-right-enabled'); 14749 } 14750 14751 } else { 14752 if ($contentEl.hasClass('nav-right-enabled') === false) { 14753 this.$el.find('.content.base-default').addClass('nav-right-enabled'); 14754 } 14755 } 14756}; 14757 14758Mfe.Widgets['content-scroller'].prototype.onWindowResize = function() { 14759 14760}; 14761 14762Mfe.Widgets['content-scroller'].prototype.attachHandlers = function() { 14763 var self = this; 14764 14765 var $scrollEl = self.$el.find('.scroll'); 14766 14767 this.viewWidth = this.$el[0].clientWidth; 14768 this.itemsClientWidth = this.$el.find('.content.base-default ul')[0].clientWidth; 14769 14770 var scrollWidth = $scrollEl[0].scrollWidth; 14771 this.maxScrollLeft = scrollWidth - this.viewWidth; 14772 14773 var $scrollEl = self.$el.find('.content.base-default'); 14774 this.updateNavButtons($scrollEl[0].scrollLeft, self.viewWidth, self.itemsClientWidth); 14775 14776 //console.log('attaching scroll handlers'); 14777 //console.log($scrollEl); 14778 //console.log(this.$el.find('.content')); 14779 14780 this.$el.find('.content .scroll').off('scroll'); 14781 this.$el.find('.content .scroll').on('scroll', function(event){ 14782 //$scrollEl.off('scroll'); 14783 //$scrollEl.on('scroll', function(event){ 14784 //this.$el.find('.content .scroll')[0].addEventListener('scroll', function(event){ 14785 14786 var $scrollEl = $(this); 14787 //console.log('scroll'); 14788 //console.log($scrollEl[0]); 14789 14790 self.updateNavButtons($scrollEl[0].scrollLeft, self.viewWidth, self.itemsClientWidth); 14791 /*var $buttonEl = $(this); 14792 if ($buttonEl.hasClass('nav-left') === true) { 14793 self.slide('left'); 14794 } else if ($buttonEl.hasClass('nav-right') === true) { 14795 self.slide('right'); 14796 }*/ 14797 }); 14798 14799 this.$el.off('click', '.nav-arrow'); 14800 this.$el.on('click', '.nav-arrow', function(event) { 14801 var $buttonEl = $(this); 14802 14803 if ($buttonEl.hasClass('nav-left')) { 14804 self.scrollLeft(); 14805 } else if ($buttonEl.hasClass('nav-right')) { 14806 self.scrollRight(); 14807 } 14808 }); 14809 14810 this.$el.off(transitionEvents, 'ul'); 14811 var transitionEvents = 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend'; 14812 this.$el.on(transitionEvents, 'ul', function(e){ 14813 if (e.target.nodeName != 'UL') { 14814 return; 14815 } 14816 14817 var $transformEl = self.$el.find('.content.base-default ul'); 14818 var $scrollEl = self.$el.find('.scroll'); 14819 14820 $transformEl.removeClass('is-scrolling'); 14821 14822 $transformEl.css('transform', 'translateX(0px)'); 14823 $scrollEl[0].scrollLeft = self.scrollTo; 14824 14825 self.updateNavButtons($scrollEl[0].scrollLeft, self.viewWidth, self.itemsClientWidth); 14826 14827 /*if (e.currentTarget != e.target) { 14828 return; 14829 }*/ 14830 14831 //self.onSlideFinished(self.slideDirection, self.slideToIndex); 14832 }); 14833 14834}; 14835 14836Mfe.Widgets['content-slider'] = function(mfe, widgetId, options) { 14837 this.mfe = mfe; 14838 this.name = 'content-slider'; 14839 this.baseTemplate = 'base-default'; 14840 this.itemTemplates = { 14841 'blogpost': 'item-blogpost-default', 14842 'media': 'item-media-default', 14843 'event': 'item-event-default', 14844 'menuitem': 'item-menuitem-default', 14845 'datasetrecord': 'item-datasetrecord-default' 14846 }; 14847 this.itemStyles = { 14848 'blogpost': 'default', 14849 'media': 'default', 14850 'event': 'default', 14851 'menuitem': 'default', 14852 'datasetrecord': 'default' 14853 }; 14854 this.isSliding = false;
14855 this.slideIndex = 0; 14856 Mfe.Widget.apply(this, arguments); 14857}; 14858Mfe.Widgets['content-slider'].inherits(Mfe.Widget); 14859Mfe.Widgets['content-slider'].title = 'Content slider'; 14860Mfe.Widgets['content-slider'].getSettings = function() { 14861 var settings = { 14862 'sections': [ 14863 { 14864 'name': 'general', 14865 'title': 'General', 14866 'settings': [ 14867 { "type": "text", "name": "height", "default": "240px", "description": "Height" }, 14868 { "type": "boolean", "name": "auto-scroll", "default": false, "description": "Auto scroll" }, 14869 { "type": "text", "name": "auto-scroll-time", "default": '4000', "description": "Auto scroll time in ms" }, 14870 { "type": "largetext", "name": "custom-template", "default": '', "description": "Custom template" }, 14871 { "type": "boolean", "name": "show-overlay", "default": false, "description": "Show overlay" }, 14872 { "type": "boolean", "name": "show-overlay", "default": false, "description": "Show overlay" }, 14873 { "type": "boolean", "name": "show-scroll-info", "default": false, "description": "Show scroll indicator" }, 14874 { "type": "options", "name": "item-template-blogpost", "default": "item-blogpost-default", "description": "Blogpost template", "options": [ 14875 { "value": "item-blogpost-default", "label": "Default" }, 14876 { "value": "item-blogpost-fulllink", "label": "Fully clickable" } 14877 ]}, 14878 { "type": "options", "name": "item-template-datasetrecord", "default": "item-datasetrecord-default", "description": "Dataset record template", "options": [ 14879 { "value": "item-datasetrecord-default", "label": "Default" }, 14880 { "value": "item-datasetrecord-custom", "label": "Fully clickable" } 14881 ]}, 14882 { "type": "options", "name": "nav-position", "default": "inside", "description": "Navigation position", "options": [ 14883 { "value": "inside", "label": "Inside" }, 14884 { "value": "outside", "label": "Outside" } 14885 ]}, 14886 { "type": "options", "name": "nav-style", "default": "inside", "description": "Navigation style", "options": [ 14887 { "value": "chevron", "label": "Chevron" }, 14888 { "value": "chevron-regular", "label": "Chevron regular" }, 14889 { "value": "anglequote", "label": "Angle quote" } 14890 ]}, 14891 { "type": "options", "name": "nav-size", "default": "inside", "description": "Navigation size", "options": [ 14892 { "value": "small", "label": "Small" }, 14893 { "value": "medium", "label": "Medium" }, 14894 { "value": "large", "label": "Large" } 14895 ]}, 14896 ] 14897 }, 14898 { 14899 'name': 'data', 14900 'title': 'Data', 14901 'settings': [ 14902 { "type": "text", "name": "data-site-name", "default": null, "description": "Data site name" }, 14903 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ 14904 { "value": "context", "label": "Context" }, 14905 { "value": "blogs", "label": "Blogs" }, 14906 { "value": "streams", "label": "Streams" }, 14907 { "value": "calendars", "label": "Calendars" } , 14908 { "value": "menu", "label": "Menu" } , 14909 { "value": "contentset", "label": "Contentset" } , 14910 { "value": "datasetView", "label": "Dataset view" } 14911 ] }, 14912 { "type": "blogGroups", "name": "data-blog-ids", "default": [], "dependency": { "key": "data-source", "value": "blogs" }, "description": "Data source blogs" }, 14913 { "type": "streams", "name": "data-stream-ids", "default": [], "dependency": { "key": "data-source", "value": "streams" }, "description": "Data source streams" }, 14914 { "type": "calendars", "name": "data-calendar-ids", "default": [], "dependency": { "key": "data-source", "value": "calendars" }, "description": "Data source calendars" }, 14915 { "type": "contentset", "name": "data-contentset-id", "default": [], "dependency": { "key": "data-source", "value": "contentset" }, "description": "Data source contentset" }, 14916 { "type": "text", "name": "data-dataset-view-id", "default": [], "dependency": { "key": "data-source", "value": "datasetView" }, "description": "Data source dataset view ID" }, 14917 { "type": "text", "name": "data-amount", "default": 6, "description": "Amount of items" }, 14918 { "type": "menu", "name": "data-menu-id", "default": null, "description": "Menu", "depen
14918dency": { "key": "data-source", "value": "menu" } } 14919 ] 14920 } 14921 ] 14922 }; 14923 14924 return settings; 14925}; 14926Mfe.Widgets['content-slider'].prototype.onRender = function() { 14927 var fetchResult = this.fetch(); 14928 if (isEmpty(fetchResult) === false) { 14929 return this.renderWidget(fetchResult); 14930 } 14931 14932 // Return empty template with loading state 14933 /*var showPageNav = this.getOption('show-page-nav', 'true'); 14934 if (showPageNav === false || showPageNav == 'false') { 14935 showPageNav = false; 14936 } else { 14937 showPageNav = true; 14938 }*/ 14939 14940 var baseTemplate = this.mfe.getTemplate('widgets', 'content-slider', this.baseTemplate); 14941 var optionHeight = this.getOption('height', '240px'); 14942 var optionNavPosition = this.getOption('nav-position', 'inside'); 14943 var optionNavStyle = this.getOption('nav-style', 'chevron'); 14944 var optionNavSize = this.getOption('nav-size', 'medium'); 14945 var optionShowOverlay = this.getOptionBoolean('show-overlay', false); 14946 14947 var templateVars = { 14948 /*'showPageNav': showPageNav,*/ 14949 'height': optionHeight, 14950 'navPosition': optionNavPosition, 14951 'navStyle': optionNavStyle, 14952 'navSize': optionNavSize, 14953 'showOverlay': optionShowOverlay, 14954 'isLoading': true 14955 }; 14956 14957 var baseTemplateHtml = baseTemplate(templateVars); 14958 return baseTemplateHtml; 14959}; 14960 14961Mfe.Widgets['content-slider'].prototype.onAttach = function() { 14962 this.attachHandlers(); 14963}; 14964 14965Mfe.Widgets['content-slider'].prototype.onRequestWidgetStyles = function() { 14966 var optionHeight = this.getOption('height', '240px'); 14967 14968 var styles = []; 14969 styles.push('--height: ' + optionHeight); 14970 14971 return styles.join('; '); 14972}; 14973 14974Mfe.Widgets['content-slider'].prototype.fetch = function() { 14975 var self = this; 14976 14977 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 14978 self.display(self.renderWidget(response)); 14979 self.attachHandlers(); 14980 }); 14981}; 14982 14983Mfe.Widgets['content-slider'].prototype.display = function(html) { 14984 this.setElementHtml(html); 14985}; 14986 14987Mfe.Widgets['content-slider'].prototype.renderItems = function(queryResult) { 14988 var contentItems = queryResult.getResults(); 14989 14990 var itemTemplatesCompiled = {}; 14991 14992 var itemsHtmlArr = []; 14993 for (var i = 0; i < contentItems.length; i++) { 14994 var contentItem = contentItems[i]; 14995 itemsHtmlArr.push(this.renderItem(contentItem)); 14996 } 14997 14998 var html = itemsHtmlArr.join(''); 14999 return html; 15000}; 15001 15002Mfe.Widgets['content-slider'].prototype.renderItem = function(contentItem) { 15003 var itemType = Mfe.getContentType(contentItem); 15004 15005 var itemTemplateName = this.itemTemplates[itemType]; 15006 15007 let customTemplate = this.getOption('custom-template', ''); 15008 15009 let itemTemplate; 15010 if (customTemplate.trim().length > 0) { 15011 itemTemplate = Handlebars.compile(customTemplate); 15012 } else { 15013 itemTemplate = this.mfe.getTemplate('widgets', 'content-slider', itemTemplateName); 15014 } 15015 15016 if (contentItem.getTemplateVars) { 15017 var templateVars = contentItem.getTemplateVars(this.mfe); 15018 } else { 15019 var templateVars = contentItem.templateVars; 15020 } 15021 15022 templateVars.itemStyle = this.itemStyles[itemType]; 15023 15024 var itemTemplateHtml = itemTemplate(templateVars); 15025 15026 return itemTemplateHtml; 15027}; 15028 15029Mfe.Widgets['content-slider'].prototype.renderStageSlides = function(queryResult) { 15030 if (queryResult.class === 'Mfe.Classes.DatasetView') { 15031 var contentItems = queryResult.getResults(); 15032 let amount = this.getOptionInt('data-amount', contentItems.length); 15033 contentItems = contentItems.slice(0, amount); 15034 15035 } else { 15036 var contentItems = queryResult.getResults(); 15037 } 15038 15039 var leftSlideHtml = ''; 15040 var currentSlideHtml = ''; 15041 var rightSlideHtml = ''; 15042 15043 if (this.slideIndex > 0) { 15044 leftSlideHtml = this.renderItem(contentItems[this.slideIndex - 1]); 15045 } 15046 15047 currentSlideHtml = this.renderItem(contentItems[this.slideIndex]); 15048 15049 if (this.slideIndex < contentItems.length - 1) { 15050 rightSlideHtml = this.renderItem(contentItems[this.slideIndex + 1]); 15051 } 15052 15053 return { 15054 'leftSlideHtml': leftSlideHtml, 15055 'currentSlideHtml': currentSlideHtml, 15056 'rightSlideHtml': rightSlideHtml 15057 }; 15058}; 15059 15060Mfe.Widgets['content-slider'].prototype.renderWidget = function(queryResult) { 15061 //var contentItems = queryResult.getResults(); 15062 15063 var stageSlides = this.renderStageSlides(queryResult); 15064 15065 var baseTemplate = this.mfe.getTemplate('widgets', 'content-slider', this.baseTemplate); 15066 if (isEmpty(baseTemplate) === true) { 15067 return ''; 15068 } 15069 15070 var slidesHtml = this.renderItems(queryResult); 15071 var optionHeight = this.getOption('height', '240px'); 15072 var optionNavPosition = this.getOption('nav-position', 'inside'); 15073 var optionNavStyle = this.getOption('nav-style', 'chevron'); 15074 var optionNavSize = this.getOption('nav-size', 'medium'); 15075 var optionShowOverlay = this.getOptionBoolean('show-overlay', false); 15076 var optionShowScrollInfo = this.getOptionBoolean('show-scroll-info', false); 15077 15078 var templateVars = { 15079 'height': optionHeight, 15080 'isLoading': false, 15081 'navPosition': optionNavPosition, 15082 'navStyle': optionNavStyle, 15083 'navSize': optionNavSize, 15084 'showScrollInfo': optionShowScrollInfo, 15085 'showOverlay': optionShowOverlay, 15086 'slidesHtml': slidesHtml, 15087 'leftSlideHtml': stageSlides.leftSlideHtml, 15088 'currentSlideHtml': stageSlides.currentSlideHtml, 15089 'rightSlideHtml': stageSlides.rightSlideHtml, 15090 'leftNavEnabled': stageSlides.leftSlideHtml.length > 0, 15091 'rightNavEnabled': stageSlides.rightSlideHtml.length > 0 15092 }; 15093 15094 var baseTemplateHtml = baseTemplate(templateVars); 15095 return baseTemplateHtml; 15096}; 15097 15098Mfe.Widgets['content-slider'].prototype.attachHandlers = function() { 15099 var self = this; 15100 this.$el.on('click', 'button', function(event){ 15101 15102 var optionAutoScroll = self.getOptionBoolean('auto-scroll', false); 15103 if (optionAutoScroll === true) { 15104 self.startAutoScrollInterval(); 15105 } 15106 15107 var $buttonEl = $(this); 15108 if ($buttonEl.hasClass('nav-left') === true) { 15109 self.slide('left'); 15110 } else if ($buttonEl.hasClass('nav-right') === true) { 15111 self.slide('right'); 15112 } 15113 }); 15114 15115 //var $stageEl = this.$el.find('.stage'); 15116 15117 var $stageEl = this.$el.find('.stage'); 15118 15119 var transitionEvents = 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend'; 15120 this.$el.on(transitionEvents, '.stage', function(e){ 15121 if (e.target != $stageEl[0]) { 15122 return; 15123 } 15124 15125 /*if (e.currentTarget != e.target) { 15126 return; 15127 }*/ 15128 15129 self.onSlideFinished(self.slideDirection, self.slideToIndex); 15130 }); 15131 15132 var optionAutoScroll = this.getOptionBoolean('auto-scroll', false); 15133 if (optionAutoScroll === true) { 15134 this.startAutoScrollInterval(); 15135 } 15136}; 15137 15138Mfe.Widgets['content-slider'].prototype.startAutoScrollInterval = function() { 15139 if (this.autoScrollInterval) { 15140 clearInterval(this.autoScrollInterval); 15141 }; 15142 15143 let scrollTimeout = parseInt(this.getOption('auto-scroll-time', 6000)); 15144 this.autoScrollInterval = setInterval(() => { 15145 this.slide('right', true); 15146 }, scrollTimeout); 15147}; 15148 15149Mfe.Widgets['content-slider'].prototype.getPageHtml = function(index) { 15150 var $pageEl = this.$el.find('.pages .page:nth-child(' + (index + 1) + ')'); 15151 return $pageEl[0].outerHTML; 15152}; 15153 15154Mfe.Widgets['content-slider'].prototype.slide = function(direction, rewindOnEnd) { 15155 if (this.isSliding === true) { 15156 return; 15157 } 15158 15159 if (typeof rewindOnEnd === 'undefined') { 15160 rewindOnEnd = false;
15161 } 15162 15163 var totalPages = this.$el.find('.slides .item').length; 15164 if (direction == 'left') { 15165 var slideToIndex = this.slideIndex - 1; 15166 if (slideToIndex < 0) { 15167 return; 15168 //slideToIndex = totalPages - 1; 15169 } 15170 } else if (direction == 'right') { 15171 var slideToIndex = this.slideIndex + 1; 15172 if (slideToIndex > totalPages - 1) { 15173 15174 if (rewindOnEnd === false) { 15175 return; 15176 } 15177 15178 slideToIndex = 0; 15179 direction = 'left'; 15180 15181 this.onBeforeSlideRewind(); 15182 15183 // Update left slide to be the first 15184 15185 } 15186 } 15187 15188 if (slideToIndex == 0) { 15189 this.$el.find(' > .content').removeClass('nav-left-enabled'); 15190 } else if (slideToIndex > 0) { 15191 this.$el.find(' > .content').addClass('nav-left-enabled'); 15192 } 15193 15194 if (slideToIndex < totalPages - 1) { 15195 this.$el.find(' > .content').addClass('nav-right-enabled'); 15196 } else { 15197 this.$el.find(' > .content').removeClass('nav-right-enabled'); 15198 } 15199 15200 15201 var $stageEl = this.$el.find('.stage'); 15202 $stageEl.removeClass('anim-done'); 15203 15204 this.isSliding = true; 15205 this.slideToIndex = slideToIndex; 15206 this.slideDirection = direction; 15207 15208 $stageEl.addClass('anim-' + direction); 15209}; 15210 15211 15212Mfe.Widgets['content-slider'].prototype.onBeforeSlideRewind = function() { 15213 var $stageEl = this.$el.find('.stage'); 15214 15215 // Replace current stage slides 15216 var leftSlideHtml = leftSlideHtml = this.$el.find('.slides .item:nth-child(1)')[0].outerHTML; 15217 $stageEl.find('.slide.left-slide').html(leftSlideHtml); 15218} 15219 15220Mfe.Widgets['content-slider'].prototype.onSlideFinished = function(direction, newSlideIndex) { 15221 var $stageEl = this.$el.find('.stage'); 15222 15223 var totalPages = this.$el.find('.slides .item').length; 15224 15225 this.slideIndex = newSlideIndex; 15226 15227 // Reset classnames 15228 15229 // Replace current stage slides 15230 var leftSlideHtml = ''; 15231 if (this.slideIndex > 0) { 15232 leftSlideHtml = this.$el.find('.slides .item:nth-child('+((this.slideIndex - 1) + 1)+')')[0].outerHTML; 15233 //this.$el.addClass('nav-left-enabled'); 15234 } 15235 15236 var currentSlideHtml = this.$el.find('.slides .item:nth-child('+((this.slideIndex) + 1)+')')[0].outerHTML; 15237 15238 var rightSlideHtml = ''; 15239 if (this.slideIndex < totalPages - 1) { 15240 rightSlideHtml = this.$el.find('.slides .item:nth-child('+((this.slideIndex + 1) + 1)+')')[0].outerHTML; 15241 //this.$el.addClass('nav-right-enabled'); 15242 } 15243 15244 $stageEl.removeClass('anim-left'); 15245 $stageEl.removeClass('anim-right'); 15246 $stageEl.addClass('anim-done'); 15247 15248 $stageEl.find('.slide.left-slide').html(leftSlideHtml); 15249 $stageEl.find('.slide.current-slide').html(currentSlideHtml); 15250 $stageEl.find('.slide.right-slide').html(rightSlideHtml); 15251 15252 15253 $stageEl.addClass('anim-in'); 15254 15255 this.isSliding = false; 15256}; 15257 15258Mfe.Widgets['dataset-lookup'] = function(mfe, widgetId, options) { 15259 this.mfe = mfe; 15260 this.name = 'dataset-lookup'; 15261 Mfe.Widget.apply(this, arguments); 15262 15263 this.ignoreEvents = false; 15264}; 15265Mfe.Widgets['dataset-lookup'].inherits(Mfe.Widget); 15266Mfe.Widgets['dataset-lookup'].title = 'Dataset lookup'; 15267Mfe.Widgets['dataset-lookup'].getSettings = function() { 15268 return [ 15269 { "type": "largetext", "name": "template", "default": "" } 15270 ]; 15271}; 15272 15273Mfe.Widgets['dataset-lookup'].prototype.onRender = function() { 15274 this.offset = 0; 15275 var html = this.renderWidget(); 15276 15277 return html; 15278}; 15279 15280Mfe.Widgets['dataset-lookup'].prototype.onAttach = function() { 15281 this.attachHandlers(); 15282}; 15283 15284Mfe.Widgets['dataset-lookup'].prototype.attachHandlers = function() { 15285 var self = this; 15286 15287}; 15288 15289Mfe.Widgets['dataset-lookup'].prototype.renderWidget = function() { 15290 var templateHtml = this.getOption('template', ''); 15291 var template = Handlebars.compile(templateHtml); 15292 15293 let templateVars = {}; 15294 if (typeof this.mfe.contextObject !== 'undefined') { 15295 templateVars = this.mfe.contextObject.getTemplateVars(this.mfe); 15296 } 15297 15298 var widgetHtml = template(templateVars); 15299 15300 var widgetHtml = this.mfe.replaceWidgetElements(widgetHtml, false); 15301 15302 return widgetHtml; 15303}; 15304 15305Mfe.Widgets['dataset-search-input'] = function(mfe, widgetId, options) { 15306 this.mfe = mfe; 15307 this.name = 'dataset-search-input'; 15308 Mfe.Widget.apply(this, arguments); 15309 15310 this.ignoreEvents = false; 15311}; 15312Mfe.Widgets['dataset-search-input'].inherits(Mfe.Widget); 15313Mfe.Widgets['dataset-search-input'].title = 'Dataset search results'; 15314Mfe.Widgets['dataset-search-input'].getSettings = function() { 15315 return [
15316 { "type": "text", "name": "query-parameter", "default": "q", "description": "Query parameter" }, 15317 { "type": "text", "name": "search-path", "default": "q", "description": "Search page path" }, 15318 { "type": "text", "name": "empty-search-path", "default": "q", "description": "Search page path empty" }, 15319 { "type": "text", "name": "placeholder", "default": null, "description": "Placeholder" }, 15320 { "type": "text", "name": "search-icon", "default": 'fas fa-search', "description": "Search icon" }, 15321 { "type": "text", "name": "clear-icon", "default": 'fa fa-times', "description": "Clear icon" } 15322 ]; 15323}; 15324 15325Mfe.Widgets['dataset-search-input'].prototype.onRender = function() { 15326 let html = this.renderWidget(null); 15327 return html; 15328}; 15329 15330Mfe.Widgets['dataset-search-input'].prototype.onAttach = function() { 15331 this.attachHandlers(); 15332}; 15333 15334Mfe.Widgets['dataset-search-input'].prototype.displayView = function(html) { 15335 this.setElementHtml(html); 15336}; 15337 15338Mfe.Widgets['dataset-search-input'].prototype.renderView = function() { 15339 15340}; 15341 15342Mfe.Widgets['dataset-search-input'].prototype.attachHandlers = function() { 15343 var self = this; 15344 15345 this.$el.find('.input input').on('keydown', (e) => { 15346 // Start new search 15347 if (e.originalEvent.keyCode == 13) { 15348 this.executeSearch(this.$el.find('.input input').val()); 15349 } 15350 }); 15351 15352 this.$el.find('.input .icon').on('click', (e) => { 15353 this.executeSearch(this.$el.find('.input input').val()); 15354 }); 15355 15356 this.$el.find('.input .actions button').on('click', (e) => { 15357 this.$el.find('.input input').val(''); 15358 }); 15359 15360}; 15361 15362Mfe.Widgets['dataset-search-input'].prototype.executeSearch = function(query) { 15363 let queryParamKey = this.getOption('query-parameter', 'q'); 15364 let searchPath = this.getOption('search-path', 'q'); 15365 let emptySearchPath = this.getOption('empty-search-path', ''); 15366 15367 //let navPath = searchPath + '?' + queryParamKey +'=' + encodeURIComponent(query); 15368 //alert(navPath); 15369 15370 let queryParams = {}; 15371 queryParams[queryParamKey] = query; 15372 15373 if (query.length === 0 && emptySearchPath.length > 0) { 15374 this.mfe.navigate(emptySearchPath, {}); 15375 } else { 15376 this.mfe.navigate(searchPath, queryParams); 15377 } 15378 15379 15380}; 15381 15382Mfe.Widgets['dataset-search-input'].prototype.renderWidget = function() { 15383 15384 let queryParamKey = this.getOption('query-parameter', 'q'); 15385 let searchPath = this.getOption('search-path', 'q'); 15386 15387 let query = ''; 15388 if (mfe && mfe.queryParams && typeof mfe.queryParams[queryParamKey] !== 'undefined') { 15389 query = mfe.queryParams[queryParamKey]; 15390 } 15391 query = query.trim(); 15392 15393 let templateVars = { 15394 'query': query 15395 }; 15396 15397 templateVars.placeholder = this.getOption('placeholder', 'Search for...'); 15398 templateVars.searchIcon = this.getOption('search-icon', 'fal fa-search'); 15399 templateVars.clearIcon = this.getOption('clear-icon', 'fa fa-times'); 15400 15401 15402 var baseTemplate = this.mfe.getTemplate('widgets', 'dataset-search-input', 'base-default'); 15403 15404 let widgetHtml = baseTemplate(templateVars); 15405 15406 return widgetHtml; 15407}; 15408Mfe.Widgets['dataset-searchresults'] = function(mfe, widgetId, options) { 15409 this.mfe = mfe; 15410 this.name = 'dataset-searchresults'; 15411 Mfe.Widget.apply(this, arguments); 15412 15413 this.ignoreEvents = false; 15414}; 15415Mfe.Widgets['dataset-searchresults'].inherits(Mfe.Widget); 15416Mfe.Widgets['dataset-searchresults'].title = 'Dataset search results'; 15417Mfe.Widgets['dataset-searchresults'].getSettings = function() { 15418 return [ 15419 { "type": "text", "name": "query-parameter", "default": "q", "description": "Query parameter" }, 15420 { "type": "text", "name": "dataset-searchtable-id", "default": "", "description": "Dataset table ID" }, 15421 { "type": "largetext", "name": "template", "default": "" } 15422 ]; 15423}; 15424 15425Mfe.Widgets['dataset-searchresults'].prototype.onRender = function() { 15426 console.log(mfe); 15427 15428 var datasetTableSearchResults = this.fetch(); 15429 if (isEmpty(datasetTableSearchResults) === false) { 15430 return this.renderWidget(datasetTableSearchResults); 15431 } 15432 15433 let html = this.renderWidget(null); 15434 15435 return html; 15436}; 15437 15438Mfe.Widgets['dataset-searchresults'].prototype.onAttach = function() { 15439 this.attachHandlers(); 15440}; 15441 15442Mfe.Widgets['dataset-searchresults'].prototype.fetch = function() { 15443 var self = this; 15444 15445 let queryParamKey = this.getOption('query-parameter', 'q'); 15446 let tableId = this.getOption('dataset-searchtable-id', null); 15447 if (tableId === null) { 15448 return null; 15449 } 15450 15451 let query = ''; 15452 if (this.mfe && this.mfe.queryParams && typeof this.mfe.queryParams[queryParamKey] !== 'undefined') { 15453 query = this.mfe.queryParams[queryParamKey]; 15454 } 15455 query = query.trim(); 15456 15457 let siteName = this.mfe.siteBundle.getName(); 15458 var datasetTableSearchResults = Mfe.Api.DatasetTable.search(siteName, tableId, query, function(result, response) { 15459 if (result === true) { 15460 self.currentDatasetTableSearchResults = response;
15461 self.displayView(self.renderWidget(response)); 15462 self.attachHandlers(); 15463 } 15464 return null; 15465 }); 15466 15467 if (datasetTableSearchResults !== null) { 15468 this.currentDatasetTableSearchResults = datasetTableSearchResults; 15469 return datasetTableSearchResults; 15470 } 15471 15472 return null; 15473}; 15474 15475Mfe.Widgets['dataset-searchresults'].prototype.saveWidgetState = function() { 15476 var widgetState = { 'datasetTableSearchResults': null }; 15477 15478 if (isEmpty(this.currentDatasetTableSearchResults) === false) { 15479 widgetState.datasetTableSearchResults = this.currentDatasetTableSearchResults.getData(); 15480 } 15481 15482 return widgetState; 15483}; 15484 15485Mfe.Widgets['dataset-searchresults'].prototype.restoreWidgetState = function(state) { 15486 15487 console.log('state:'); 15488 console.log(state); 15489 15490 this.currentDatasetTableSearchResults = new Mfe.Classes.DatasetTableSearchResults(state.datasetTableSearchResults); 15491 //this.currentDatasetView.buildIndex(); 15492}; 15493 15494Mfe.Widgets['dataset-searchresults'].prototype.displayView = function(html) { 15495 this.setElementHtml(html); 15496}; 15497 15498Mfe.Widgets['dataset-searchresults'].prototype.getDatasetView = function() { 15499 return this.currentDatasetView; 15500}; 15501 15502Mfe.Widgets['dataset-searchresults'].prototype.renderView = function() { 15503 15504}; 15505 15506Mfe.Widgets['dataset-searchresults'].prototype.attachHandlers = function() { 15507 15508}; 15509 15510Mfe.Widgets['dataset-searchresults'].prototype.updateFilters = function() { 15511 15512}; 15513 15514Mfe.Widgets['dataset-searchresults'].prototype.updateView = function() { 15515 15516}; 15517 15518Mfe.Widgets['dataset-searchresults'].prototype.renderWidget = function(searchResults,) { 15519 this.datasetSearchResults = searchResults; 15520 15521 let templateHtml = this.getOption('template', ''); 15522 let template = Handlebars.compile(templateHtml); 15523 15524 let templateVars = { 15525 'datasetLookup': null, 15526 'datasetTableId': this.getSettingConfig('dataset-searchtable-id'), 15527 'searchResults': {} 15528 }; 15529 15530 if (typeof this.mfe.contextObject !== 'undefined') { 15531 //templateVars.datasetLookup = this.mfe.contextObject.getTemplateVars(this.mfe); 15532 } 15533 15534 if (searchResults !== null && typeof searchResults !== 'undefined') { 15535 templateVars.searchResults = searchResults.generateContentTemplateVars(); 15536 } 15537 15538 console.log(templateVars); 15539 15540 let widgetHtml = template(templateVars); 15541 15542 return widgetHtml; 15543}; 15544Mfe.Widgets['dataset-view'] = function(mfe, widgetId, options) { 15545 this.mfe = mfe; 15546 this.name = 'dataset-view'; 15547 Mfe.Widget.apply(this, arguments); 15548 15549 this.ignoreEvents = false; 15550}; 15551Mfe.Widgets['dataset-view'].inherits(Mfe.Widget); 15552Mfe.Widgets['dataset-view'].title = 'Dataset view'; 15553Mfe.Widgets['dataset-view'].getSettings = function() { 15554 return [ 15555 { "type": "options", "name": "filter-mode", "default": "any", "description": "Filter mode", "options": [ 15556 { "value": "any", "label": "Match any filters" }, 15557 { "value": "all", "label": "Match all filters" } 15558 ] }, 15559 { "type": "text", "name": "filter-table", "default": "" }, 15560 { "type": "text", "name": "filter-field", "default": "" }, 15561 { "type": "options", "name": "filter-field-value-type", "default": "context", "options": [ { "value": "context", "label": "Context" }, { "value": "input", "label": "Input" } ] }, 15562 { "type": "text", "name": "filter-field-value", "default": "" }, 15563 { "type": "text", "name": "dataset-view-id", "default": "default", "description": "Dataset view" }, 15564 { "type": "largetext", "name": "template", "default": "" }, 15565 { "type": "largetext", "name": "loadMoreTemplate", "default": "" }, 15566 { "type": "text", "name": "loadMoreSelector", "default": "" }, 15567 { "type": "text", "name": "loadMoreAmount", "default": "6" }, 15568 { "type": "text", "name": "js-after-attach", "default": "" } 15569 ]; 15570}; 15571 15572Mfe.Widgets['dataset-view'].prototype.onRender = function() { 15573 var view = this.fetch(); 15574 if (isEmpty(view) === false) { 15575 return this.renderWidget(view); 15576 } 15577 15578 var html = this.renderWidget(null); 15579 15580 return html; 15581}; 15582 15583Mfe.Widgets['dataset-view'].prototype.onAttach = function() { 15584 this.loadMoreOffset = 0; 15585 15586 this.attachHandlers(); 15587}; 15588 15589Mfe.Widgets['dataset-view'].prototype.fetch = function() { 15590 var self = this; 15591 15592 var viewId = this.getOption('dataset-view-id', null); 15593 if (viewId === null) { 15594 return null; 15595 } 15596 15597 var siteName = this.mfe.siteBundle.getName(); 15598 var datasetView = Mfe.Api.DatasetViews.get(siteName, viewId, function(result, response) { 15599 if (result === true) { 15600 self.currentDatasetView = response;
15601 self.displayView(self.renderWidget(response)); 15602 self.attachHandlers(); 15603 } 15604 return null; 15605 }); 15606 15607 if (datasetView !== null) { 15608 this.currentDatasetView = datasetView; 15609 return datasetView; 15610 } 15611 15612 return null; 15613}; 15614 15615Mfe.Widgets['dataset-view'].prototype.saveWidgetState = function() { 15616 var widgetState = { 'datasetView': null }; 15617 15618 if (isEmpty(this.currentDatasetView) === false) { 15619 widgetState.datasetView = this.currentDatasetView.getData(); 15620 } 15621 15622 return widgetState; 15623}; 15624 15625Mfe.Widgets['dataset-view'].prototype.restoreWidgetState = function(state) { 15626 this.currentDatasetView = new Mfe.Classes.DatasetView(state.datasetView); 15627 this.currentDatasetView.buildIndex(); 15628}; 15629 15630 15631Mfe.Widgets['dataset-view'].prototype.displayView = function(html) { 15632 this.setElementHtml(html); 15633 15634}; 15635 15636Mfe.Widgets['dataset-view'].prototype.getDatasetView = function() { 15637 return this.currentDatasetView; 15638}; 15639 15640Mfe.Widgets['dataset-view'].prototype.renderView = function() { 15641 15642}; 15643 15644Mfe.Widgets['dataset-view'].prototype.attachHandlers = function() { 15645 var self = this; 15646 15647 let jsAfterAttach = this.getOption('js-after-attach', ''); 15648 if (jsAfterAttach.length > 0 && window.MfeCustomJS && typeof window.MfeCustomJS[jsAfterAttach] !== 'undefined') { 15649 window.MfeCustomJS[jsAfterAttach](); 15650 } 15651 15652 // 15653 15654 this.$el.find('.filters input[type="checkbox"]').off('input change'); 15655 15656 this.$el.find('.filters input[type="checkbox"]').on('input change', function(e) { 15657 if (self.ignoreEvents === true) { 15658 return; 15659 } 15660 15661 var $inputEl = $(this); 15662 15663 if ($inputEl.attr('name') === 'filter-tags-all') { 15664 self.ignoreEvents = true; 15665 15666 // Unselect everything except for filter-tags-all 15667 self.$el.find('.filters input[type="checkbox"]:checked').prop('checked', false); 15668 self.$el.find('.filters input[name="filter-tags-all"]').prop('checked', true); 15669 15670 } else { 15671 // Unselect filter-tags-all 15672 self.ignoreEvents = true; 15673 self.$el.find('.filters input[name="filter-tags-all"]').prop('checked', false); 15674 } 15675 15676 var filters = {}; 15677 15678 var $checkedEls = self.$el.find('.filters input[type="checkbox"]:checked'); 15679 for (var i = 0; i < $checkedEls.length; i++) { 15680 var $checkedEl = $($checkedEls[i]); 15681 15682 var inputName = $checkedEl.attr('name'); 15683 var inputNameParts = inputName.split('-'); 15684 var inputVal = $checkedEl.val(); 15685 15686 var filterId = inputNameParts[1]; 15687 15688 15689 var targetTable = $checkedEl.attr('data-target-table'); 15690 15691 if (typeof filters[targetTable] == 'undefined') { 15692 filters[targetTable] = {}; 15693 } 15694 15695 if (filterId.substring(filterId.length - 2) == '[]') { 15696 filterId = filterId.substring(0, filterId.length - 2); 15697 15698 if (typeof filters[targetTable][filterId] === 'undefined') { 15699 filters[targetTable][filterId] = []; 15700 } 15701 15702 filters[targetTable][filterId].push(inputVal); 15703 } else if (inputVal.length > 0) { 15704 filters[targetTable][filterId] = inputVal; 15705 } 15706 } 15707 15708 var filterMode = self.getSettingConfig('filter-mode'); 15709 15710 self.displayView(self.renderWidget(self.currentDatasetView, filters, filterMode)); 15711 self.attachHandlers(); 15712 15713 if (self.ignoreEvents === true) { 15714 self.ignoreEvents = false; 15715 e.preventDefault(); 15716 return false; 15717 } 15718 }); 15719 15720 this.$el.find('button[data-action="load-more"]').on('click', function(e){ 15721 self.loadMore(); 15722 }); 15723}; 15724 15725Mfe.Widgets['dataset-view'].prototype.updateFilters = function() { 15726 15727}; 15728 15729Mfe.Widgets['dataset-view'].prototype.updateView = function() { 15730 15731}; 15732 15733Mfe.Widgets['dataset-view'].prototype.renderWidget = function(view, filters, filterMode) { 15734 this.datasetView = view; 15735 this.datasetFilters = filters; 15736 this.datasetFilterMode = filterMode; 15737 15738 var templateHtml = this.getOption('template', ''); 15739 var template = Handlebars.compile(templateHtml); 15740 15741 15742 var templateVars = { 15743 'datasetLookup': null, 15744 'datasetViewId': this.getSettingConfig('dataset-view-id'), 15745 'view': {}, 15746 'filters': filters 15747 }; 15748 15749 if (typeof this.mfe.contextObject !== 'undefined') { 15750 templateVars.datasetLookup = this.mfe.contextObject.getTemplateVars(this.mfe); 15751 } 15752 15753 if (view !== null && typeof view !== 'undefined') { 15754 let optionsFilterTable = this.getOption('filter-table', ''); 15755 let optionsFilterField = this.getOption('filter-field', ''); 15756
15757 let optionsFilterFieldValueType = this.getOption('filter-field-value-type', ''); 15758 let optionsFilterFieldValue = this.getOption('filter-field-value', ''); 15759 15760 if (optionsFilterField.length > 0) { 15761 let filterValue = null; 15762 if (optionsFilterFieldValueType === 'context') { 15763 let contextData = this.mfe.contextObject.getData(); 15764 let contextItemId = contextData[optionsFilterFieldValue]; 15765 15766 filterValue = contextItemId; 15767 } 15768 15769 if (filterValue !== null) { 15770 filters = {}; 15771 filters[optionsFilterTable] = {}; 15772 filters[optionsFilterTable][optionsFilterField] = filterValue; 15773 } 15774 15775 filterMode = this.getSettingConfig('filter-mode'); 15776 } 15777 15778 templateVars.view = view.generateContentTemplateVars(filters, filterMode); 15779 } 15780 15781 var widgetHtml = template(templateVars); 15782 15783 return widgetHtml; 15784}; 15785 15786Mfe.Widgets['dataset-view'].prototype.loadMore = function() { 15787 let loadMoreOffset = parseInt(this.getOption('loadMoreAmount', '0')); 15788 let loadMoreSelector = this.getOption('loadMoreSelector', ''); 15789 this.loadMoreOffset += loadMoreOffset; 15790 15791 let filters = {}; 15792 let filterMode = this.getSettingConfig('filter-mode'); 15793 15794 var templateHtml = this.getOption('loadMoreTemplate', ''); 15795 var template = Handlebars.compile(templateHtml); 15796 var templateVars = { 15797 'datasetViewId': this.getSettingConfig('dataset-view-id'), 15798 'view': {}, 15799 'filters': this.datasetFilters 15800 }; 15801 15802 console.log(this.currentDatasetView); 15803 15804 if (this.currentDatasetView !== null && typeof this.currentDatasetView !== 'undefined') { 15805 let optionsFilterTable = this.getOption('filter-table', ''); 15806 let optionsFilterField = this.getOption('filter-field', ''); 15807 15808 let optionsFilterFieldValueType = this.getOption('filter-field-value-type', ''); 15809 let optionsFilterFieldValue = this.getOption('filter-field-value', ''); 15810 15811 if (optionsFilterField.length > 0) { 15812 let filterValue = null; 15813 if (optionsFilterFieldValueType === 'context') { 15814 let contextData = this.mfe.contextObject.getData(); 15815 let contextItemId = contextData[optionsFilterFieldValue]; 15816 15817 filterValue = contextItemId; 15818 } 15819 15820 if (filterValue !== null) { 15821 filters = {}; 15822 filters[optionsFilterTable] = {}; 15823 filters[optionsFilterTable][optionsFilterField] = filterValue; 15824 } 15825 15826 filterMode = this.getSettingConfig('filter-mode'); 15827 } 15828 15829 templateVars.view = this.currentDatasetView.generateContentTemplateVars(filters, filterMode); 15830 } 15831 15832 templateVars.loadMoreOffset = this.loadMoreOffset; 15833 templateVars.loadMoreEnd = templateVars.loadMoreOffset + loadMoreOffset; 15834 15835 let loadMoreHtml = template(templateVars); 15836 15837 let $listItemEls = this.$el.find(loadMoreSelector); 15838 let $lastListItemEl = $($listItemEls[$listItemEls.length - 1]); 15839 15840 let $loadMoreItemEls = $(loadMoreHtml); 15841 15842 $loadMoreItemEls.insertAfter($lastListItemEl); 15843}; 15844 15845Mfe.Widgets['donation'] = function(mfe, widgetId, options) { 15846 this.mfe = mfe; 15847 this.name = 'donation'; 15848 this.baseTemplate = 'base-default'; 15849 Mfe.Widget.apply(this, arguments); 15850}; 15851Mfe.Widgets['donation'].inherits(Mfe.Widget); 15852Mfe.Widgets['donation'].title = 'Donation'; 15853Mfe.Widgets['donation'].getSettings = function() { 15854 return [ 15855 { "type": "text", "name": "text", "default": null, "description": "Heading text" }, 15856 { "type": "text", "name": "default-frequency", "default": "single", "description": "Default frequency" }, 15857 { "type": "text", "name": "default-amount", "default": 15, "description": "Default amount" }, 15858 { "type": "text", "name": "donate-verb", "default": "donate", "description": "Donate verb (donate)" }, 15859 { "type": "text", "name": "donate-entity", "default": "donation", "description": "Donate entity (donation)" }, 15860 { "type": "boolean", "name": "mode", "default": true, "description": "Short donation style" }, 15861 { "type": "boolean", "name": "show-name-input", "default": false, "description": "Display names input" }, 15862 { "type": "boolean", "name": "show-destinations", "default": false, "description": "Display destinations" }, 15863 { "type": "boolean", "name": "show-comment", "default": false, "description": "Display comment" }, 15864 { "type": "boolean", "name": "hide-frequency-choice", "default": false, "description": "Hide frequency choice" }, 15865 { "type": "boolean", "name": "ask-newsletter", "default": true, "description": "Ask for subscribing to newsletter" },
15866 { "type": "text", "name": "newsletter-html", "default": false, "description": "Newsletter HTML" }, 15867 { "type": "boolean", "name": "ask-terms", "default": false, "description": "Ask to agree to terms" }, 15868 { "type": "text", "name": "terms-html", "default": "", "description": "Agree terms HTML" }, 15869 { "type": "text", "name": "button-payment-classes", "default": "", "description": "Button payment HTML classes" }, 15870 { "type": "text", "name": "button-pay-classes", "default": "", "description": "Button pay HTML classes" }, 15871 { "type": "text", "name": "amount-label", "default": "Choose an amount", "description": "Amount intro" }, 15872 { "type": "text", "name": "destination-id", "default": "", "description": "Fixed destination ID" }, 15873 { "type": "text", "name": "destinations-label", "default": "You can choose where your donation goes", "description": "Destinations intro" }, 15874 { "type": "text", "name": "destinations", "default": false, "description": "Display destinations" }, 15875 { "type": "boolean", "name": "select-payment-method", "default": true, "description": "Select payment method" }, 15876 { "type": "text", "name": "allow-payment-methods", "default": false, "description": "Allow payment methods" }, 15877 { "type": "text", "name": "custom-destinations", "default": false, "description": "Custom destinations" }, 15878 { "type": "text", "name": "custom-amount-presets", "default": false, "description": "Custom amount presets" }, 15879 { "type": "options", "name": "paymentProvider", "default": "mollie", "description": "Payment Service Provider", "options": [ 15880 { "value": "mollie", "label": "Mollie" }, 15881 { "value": "buckaroo", "label": "Buckaroo" } 15882 ] }, 15883 { "type": "options", "name": "heading-type", "default": "h2", "description": "Heading type", "options": [ 15884 { "value": "h1", "label": "H1" }, 15885 { "value": "h2", "label": "H2" } 15886 ] }, 15887 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 15888 { "value": "default", "label": "Default" }, 15889 { "value": "mobile", "label": "Mobile" } 15890 ] }, 15891 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" } 15892 ]; 15893}; 15894Mfe.Widgets['donation'].prototype.onRender = function() { 15895 var baseTemplate = this.mfe.getTemplate('widgets', 'donation', this.baseTemplate); 15896 15897 var settingShowDestinations = this.getSettingConfig('show-destinations'); 15898 var settingShowComment = this.getSettingConfig('show-comment'); 15899 var donationSettings = this.mfe.siteBundle.getDonationSettings(); 15900 15901 var destinations; 15902 15903 var customDestinations = this.getSettingConfig('custom-destinations'); 15904 if (customDestinations !== false && customDestinations.trim().length > 0) { 15905 destinations = JSON.parse(customDestinations.trim()); 15906 } else { 15907 destinations = donationSettings.destinations; 15908 } 15909 15910 var amountPresets = { 15911 'single': { 15912 'desktop': [ 15, 25, 40 ], 15913 'mobile': [ 90 ] 15914 }, 15915 'monthly': { 15916 'desktop': [ 5, 10, 25 ], 15917 'mobile': [ 40 ] 15918 }, 15919 'quarterly': { 15920 'desktop': [ 20, 40, 100 ], 15921 'mobile': [ 180 ] 15922 }, 15923 'yearly': { 15924 'desktop': [ 60, 120, 300 ], 15925 'mobile': [ 500 ] 15926 } 15927 }; 15928 var customAmountPresets = this.getSettingConfig('custom-amount-presets'); 15929 if (customAmountPresets !== false && customAmountPresets.trim().length > 0) { 15930 amountPresets = JSON.parse(customAmountPresets.trim()); 15931 } 15932 15933 var amountLabel = this.getSettingConfig('amount-label'); 15934 var destinationsLabel = this.getSettingConfig('destinations-label'); 15935 var hideFrequencyChoice = this.getSettingConfig('hide-frequency-choice'); 15936 var donateVerb = this.getSettingConfig('donate-verb', 'donate'); 15937 var donateEntity = this.getSettingConfig('donate-entity', 'donation'); 15938 var showNameInput = this.getSettingConfig('show-name-input', false); 15939 15940 var defaultFrequency = this.getSettingConfig('default-frequency', 'single'); 15941 if (defaultFrequency === null || defaultFrequency.length === 0 ) { 15942 defaultFrequency = 'single'; 15943 } 15944 15945 var defaultAmount = this.getSettingConfig('default-amount', 15); 15946
15947 var selectPaymentMethod = this.getSettingConfig('select-payment-method', true); 15948 var askNewsletter = this.getSettingConfig('ask-newsletter', true); 15949 var newsletterHtml = this.getSettingConfig('newsletter-html', ''); 15950 var askTerms = this.getSettingConfig('ask-terms', true); 15951 var termsHtml = this.getSettingConfig('terms-html', ''); 15952 var buttonPaymentClasses = this.getSettingConfig('button-payment-classes', ''); 15953 var buttonPayClasses = this.getSettingConfig('button-pay-classes', ''); 15954 15955 var allowPaymentMethodsJson = this.getSettingConfig('allow-payment-methods', '["ideal","creditcard"]'); 15956 if (allowPaymentMethodsJson.length === 0) { 15957 allowPaymentMethodsJson = '["ideal","creditcard"]'; 15958 } 15959 var allowPaymentMethods = JSON.parse(allowPaymentMethodsJson); 15960 15961 var templateVars = { 15962 'paymentProvider': this.getSettingConfig('paymentProvider'), 15963 'defaultFrequency': defaultFrequency, 15964 'defaultAmount': defaultAmount, 15965 'selectPaymentMethod': selectPaymentMethod, 15966 'allowPaymentMethods': allowPaymentMethods, 15967 'hideFrequencyChoice': hideFrequencyChoice, 15968 'showDestinations': settingShowDestinations, 15969 'showComment': settingShowComment, 15970 'destinations': destinations, 15971 'destinationsLabel': destinationsLabel, 15972 'amountLabel': amountLabel, 15973 'donateVerb': donateVerb, 15974 'donateEntity': donateEntity, 15975 'amountPresets': amountPresets, 15976 'askNewsletter': askNewsletter, 15977 'newsletterHtml': newsletterHtml, 15978 'askTerms': askTerms, 15979 'termsHtml': termsHtml, 15980 'showNameInput': showNameInput, 15981 'buttonPaymentClasses': buttonPaymentClasses, 15982 'buttonPayClasses': buttonPayClasses 15983 }; 15984 15985 var baseTemplateHtml = baseTemplate(templateVars); 15986 return baseTemplateHtml; 15987}; 15988 15989Mfe.Widgets['donation'].prototype.onAttach = function() { 15990 this.attachHandlers(); 15991 15992 this.updateFrequencySelection(); 15993 15994 let defaultFrequency = this.getSettingConfig('default-frequency', 'single'); 15995 if (defaultFrequency === null || defaultFrequency.length === 0 ) { 15996 defaultFrequency = 'single'; 15997 } 15998 15999 let defaultAmount = this.getSettingConfig('default-amount', 15); 16000 16001 let $frequencyEl = this.$el.find('.amount-frequency.' + defaultFrequency); 16002 let $amountEl = $frequencyEl.find('#amount-input-'+defaultFrequency+'-' + defaultAmount); 16003 if ($amountEl.length > 0) { 16004 $amountEl.prop('checked', true); 16005 } 16006 16007 var $firstDestinationEl = this.$el.find('.destination .item:first-child input'); 16008 if ($firstDestinationEl.length > 0) { 16009 $firstDestinationEl.prop('checked', true); 16010 } 16011}; 16012 16013Mfe.Widgets['donation'].prototype.attachHandlers = function() { 16014 var self = this; 16015 16016 this.$el.find('.frequency input').on('input change', function(){ 16017 self.updateFrequencySelection(); 16018 }); 16019 16020 this.$el.find('#amount-input-custom').on('input change', function(){ 16021 var $customEl = $('#amount-input-custom'); 16022 if ($customEl.is(':checked') === true) { 16023 self.$el.find('input[name="amountCustom"]').focus(); 16024 } 16025 }); 16026 16027 this.$el.find('input[name="payment-method"]').on('input change', function() { 16028 16029 self.$el.find('.payment-method-choices').removeClass('show'); 16030 var $paymentMethodEl = self.$el.find('input[name="payment-method"]:checked'); 16031 16032 if ($paymentMethodEl.length == 0) { 16033 return; 16034 } 16035 16036 var paymentMethod = $paymentMethodEl.val(); 16037 self.$el.find('.payment-method-choices[data-payment-method="'+paymentMethod+'"]').addClass('show'); 16038 }); 16039 this.$el.find('input[name="payment-method"]').trigger('change'); 16040 16041 var self = this; 16042 16043 this.$el.find('.actions button').on('click', function(e){ 16044 var $buttonEl = $(this); 16045 var action = $buttonEl.attr('data-action'); 16046 16047 if (action == 'submit') { 16048 self.submitDonation(); 16049 } else if (action == 'payment') { 16050 16051 var result = self.validateForm(); 16052 if (result === false) { 16053 return; 16054 } 16055 self.$el.find('.donation-form').addClass('hide'); 16056 self.$el.find('.payment-method-form').addClass('show'); 16057 16058 window.scrollTo(0, 0); 16059 16060 } else if (action == 'back') { 16061 self.$el.find('.donation-form').removeClass('hide'); 16062 self.$el.find('.payment-method-form').removeClass('show'); 16063 } 16064 }); 16065 16066 this.$el.find('input[name="amountCustom"]').on('blur', function(e){
16067 var $inputEl = $(this); 16068 self.onCustomAmountBlur($inputEl); 16069 }); 16070 16071 this.$el.find('input[name="cover-transaction-costs"]').on('input', function(e){ 16072 var amount = self.getAmount(); 16073 var parsedAmount = Mfe.Locale.parseCurrencyAmount(amount); 16074 16075 var calcAmount = parseFloat(parsedAmount[0] + '.' + parsedAmount[1]); 16076 16077 var newAmount = calcAmount * 1.012; 16078 var newAmountParts = newAmount.toString().split('.'); 16079 16080 if (newAmountParts.length == 1) { 16081 newAmount = parseFloat(newAmountParts[0] + '.' + '00').toFixed(2); 16082 } else if (newAmountParts[1].length > 2) { 16083 newAmount = parseFloat(newAmountParts[0] + '.' + newAmountParts[1].substring(0, 2)).toFixed(2); 16084 } else { 16085 newAmount = parseFloat(newAmountParts[0] + '.' + newAmountParts[1] + '0').toFixed(2); 16086 } 16087 }); 16088 16089 /*$('textarea[name="comment"]').on('keyup input',function(){ 16090 var offset = this.offsetHeight - this.clientHeight; 16091 var scroll = $('body').scrollTop(); 16092 $(this) .css('height','auto').css('height', this.scrollHeight + offset); 16093 $('body').scrollTop(scroll); 16094HAHA });*/ 16095}; 16096 16097Mfe.Widgets['donation'].prototype.updateFrequencySelection = function() { 16098 var $checkedEl = this.$el.find('.frequency input:checked'); 16099 var frequency = $checkedEl.val(); 16100 16101 var $donationEl = this.$el.find('.donation-form'); 16102 $donationEl.attr('data-frequency', frequency); 16103 16104 var $amountEl = this.$el.find('.amount .amount-frequency.' + frequency); 16105 var $firstAmountInputEl = $amountEl.find('.item:first-child input'); 16106 $firstAmountInputEl.prop('checked', 'checked'); 16107}; 16108 16109Mfe.Widgets['donation'].prototype.getAmount = function() { 16110 var donationFrequency = this.$el.find('.frequency input:checked').val(); 16111 var isCustomAmount = this.$el.find('#amount-input-custom').is(':checked'); 16112 16113 var donationAmount; 16114 if (isCustomAmount === true) { 16115 donationAmount = this.$el.find('input[name="amountCustom"]').val(); 16116 } else { 16117 var $amountEl = this.$el.find('.amount .amount-frequency.' + donationFrequency); 16118 donationAmount = $amountEl.find('input[type="radio"]:checked').val(); 16119 } 16120 16121 return donationAmount; 16122}; 16123 16124Mfe.Widgets['donation'].prototype.submitDonation = function() { 16125 16126 16127 var self = this; 16128 16129 var result = this.validateForm(); 16130 16131 //var result = true; 16132 if (result === false) { 16133 return; 16134 } 16135 16136 16137 var fixedDestinationId = this.getSettingConfig('destination-id', ''); 16138 var paymentProvider = this.getSettingConfig('paymentProvider'); 16139 16140 var siteName = this.mfe.siteBundle.getName(); 16141 16142 var donationFrequency = this.$el.find('.frequency input:checked').val(); 16143 var sendNewsletter = this.$el.find('input[name="newsletter"]').is(':checked'); 16144 16145 var isCustomAmount = this.$el.find('#amount-input-custom').is(':checked'); 16146 16147 var donationAmount; 16148 if (isCustomAmount === true) { 16149 donationAmount = this.$el.find('input[name="amountCustom"]').val(); 16150 } else { 16151 var $amountEl = this.$el.find('.amount .amount-frequency.' + donationFrequency); 16152 donationAmount = $amountEl.find('input[type="radio"]:checked').val(); 16153 } 16154 16155 var userNameFirst = this.$el.find('.user-info input[name="nameFirst"]').val(); 16156 var userNameLast = this.$el.find('.user-info input[name="nameLast"]').val(); 16157 16158 var userEmail = this.$el.find('.user-info input[name="email"]').val(); 16159 var userOrganization = this.$el.find('.user-info input[name="organization"]').val(); 16160 var comment = ''; 16161 16162 16163 var payTransactionCosts = false; 16164 var $coverTransactionCostsEl = this.$el.find('input[name="cover-transaction-costs"]'); 16165 if ($coverTransactionCostsEl.length > 0) { 16166 payTransactionCosts = $coverTransactionCostsEl.prop('checked'); 16167 } 16168 16169 var newDonationAmount = donationAmount; 16170 var parsedDonationAmount = Mfe.Locale.parseCurrencyAmount(newDonationAmount.toString()); 16171 var floatDonationAmount; 16172 if (parsedDonationAmount.length == 1) { 16173 floatDonationAmount = parseFloat(parsedDonationAmount[0] + '.' + '00').toFixed(2); 16174 } else if (parsedDonationAmount[1].length > 2) { 16175 floatDonationAmount = parseFloat(parsedDonationAmount[0] + '.' + parsedDonationAmount[1].substring(0, 2)).toFixed(2); 16176 } else { 16177 floatDonationAmount = parseFloat(parsedDonationAmount[0] + '.' + parsedDonationAmount[1] + '0').toFixed(2); 16178 } 16179 16180 if (payTransactionCosts === true) { 16181 floatDonationAmount = (floatDonationAmount * 1.012); 16182 } 16183 16184 var destinationId = null; 16185 if (this.$el.find('input[name="destination"]').length > 0) { 16186 var $selectedDestinationEl = this.$el.find('input[name="destination"]:checked'); 16187 if ($selectedDestinationEl.length > 0) { 16188 destinationId = $selectedDestinationEl.val(); 16189 } 16190 } 16191 16192 if (fixedDestinationId.length > 0) { 16193 destinationId = fixedDestinationId; 16194 } 16195 16196 comment = this.$el.find('*[name="comment"]').val(); 16197 16198 this.$el.find('.form').addClass('busy'); 16199 16200 var paymentMethod = ''; 16201 var paymentIssuer = ''; 16202 16203
16204 var selectPaymentMethod = this.getSettingConfig('select-payment-method', true); 16205 16206 if (selectPaymentMethod === true) { 16207 paymentMethod = this.$el.find('input[name="payment-method"]:checked').val(); 16208 paymentIssuer = this.$el.find('.payment-method-choices[data-payment-method="'+paymentMethod+'"] input[name="payment-method-issuer-'+paymentMethod+'"]:checked').val(); 16209 } 16210 16211 Mfe.Api.Donations.create( 16212 this.mfe.siteBundle.getName(), 16213 donationFrequency, 16214 parseFloat(floatDonationAmount.toString()).toFixed(2), 16215 { 16216 'email': userEmail, 16217 'organization': userOrganization, 16218 'nameFirst': userNameFirst, 16219 'nameLast': userNameLast, 16220 'newsletter': sendNewsletter 16221 }, 16222 comment, 16223 destinationId, 16224 payTransactionCosts, 16225 paymentMethod, 16226 paymentIssuer, 16227 window.location.href, 16228 function(result, response){ 16229 16230 self.$el.find('.form').removeClass('busy'); 16231 16232 if (result !== true) { 16233 alert('Could not create donation. Please try again later.'); 16234 return; 16235 } 16236 16237 if (response.type == 'redirect') { 16238 if (response.url === null) { 16239 alert('Could not create donation. Please try again later.'); 16240 return; 16241 } 16242 16243 if (self.mfe.siteConfig.gaTagEventDonationConv && self.mfe.siteConfig.gaTagEventDonationConv.length > 0) { 16244 16245 16246 16247 if (self.mfe.siteConfig.gaTagManager && gtag) { 16248 let sendTo = self.mfe.siteConfig.gaTagManager + '/' + self.mfe.siteConfig.gaTagEventDonationConv; 16249 16250 gtag( 16251 'event', 16252 'conversion', { 16253 'send_to': sendTo, 16254 'transaction_id': '', 16255 'event_callback': () => { 16256 16257 setTimeout(() => { 16258 window.location.href = response.url; 16259 }, 200); 16260 16261 } 16262 } 16263 ); 16264 } else { 16265 window.location.href = response.url; 16266 } 16267 16268 } else { 16269 window.location.href = response.url; 16270 } 16271 16272 16273 } 16274 } 16275 ); 16276}; 16277 16278Mfe.Widgets['donation'].prototype.validateForm = function(extended) { 16279 if (typeof extended === 'undefined') { 16280 extended = false; 16281 } 16282 16283 var fields = [ 16284 { 'name': 'email', 'type': 'email', 'validation': 'email', 'required': true } 16285 ]; 16286 16287 if (this.$el.find('input[name="terms"]').length > 0) { 16288 fields.push({ 'name': 'terms', 'type': 'checkbox', 'validation': 'checked', 'required': true }); 16289 } 16290 16291 var showNameInput = this.getSettingConfig('show-name-input', false); 16292 if (showNameInput === true) { 16293 fields.push({ 'name': 'nameFirst', 'type': 'text', 'required': true }); 16294 fields.push({ 'name': 'nameLast', 'type': 'text', 'required': true }); 16295 } 16296 16297 if (extended === true) { 16298 16299 } 16300 16301 $('.field').removeClass('error'); 16302 16303 var errors = []; 16304 var formData = new FormData(); 16305 16306 //var validateResults = true 16307 for (var i = 0; i < fields.length; i++) { 16308 var field = fields[i]; 16309 16310 var fieldResult = this.validateFormField(field); 16311 if (fieldResult.result === 'ok') { 16312 formData.append(fieldResult.name, fieldResult.value); 16313 } else { 16314 errors.push(fieldResult); 16315 } 16316 } 16317 16318 if (errors.length > 0) { 16319 this.displayErrors(errors); 16320 return false; 16321 } 16322 16323 return formData; 16324}; 16325 16326Mfe.Widgets['donation'].prototype.validateFormField = function(field) { 16327 var $fieldEl = this.$el.find('.field[data-field-name="'+field.name+'"]'); 16328 var $inputEl = this.$el.find('*[name="' + field.name + '"]'); 16329 16330 var fieldValue = null; 16331 16332 console.log('validating form field'); 16333 console.log(field); 16334 16335 switch (field.type) { 16336 case 'text': 16337 case 'email': 16338 case 'textarea': 16339 case 'select': 16340 fieldValue = $inputEl.val(); 16341 break; 16342 case 'checkbox': 16343 fieldValue = ($inputEl.is(':checked') ? 'yes': ''); 16344 } 16345 16346 if (field.required === true && fieldValue.length == 0) { 16347 return { 16348 'result': 'error', 16349 '$fieldEl': $fieldEl, 16350 'code': 'required', 16351 'message': 'This field cannot be empty', 16352 'name': field.name 16353 }; 16354 } 16355 16356 if (fieldValue.length > 0) { 16357 // Check for validation 16358 var validation = field.validation; 16359 } 16360 16361 return { 16362 'result': 'ok', 16363 '$fieldEl': $fieldEl, 16364 'name': field.name, 16365 'value': fieldValue 16366 }; 16367}; 16368 16369Mfe.Widgets['donation'].prototype.displayErrors = function(errors) { 16370 16371 $('.field').removeClass('error'); 16372 16373 for (var i = 0; i < errors.length; i++) { 16374 var error = errors[i]; 16375 16376 var $fieldEl = this.$el.find('.field[data-field="'+error.name+'"]'); 16377 16378 $fieldEl.addClass('error'); 16379 } 16380}; 16381 16382Mfe.Widgets['donation'].prototype.onCustomAmountBlur = function($inputEl) { 16383 var amount = $inputEl.val(); 16384 16385 var amountParts = Mfe.Locale.parseCurrencyAmount(amount); 16386 16387 var fixedAmount = amountParts[0].toString() + ',' + amountParts[1].toString(); 16388 16389 if (fixedAmount != amount) { 16390 $inputEl.val(fixedAmount); 16391 } 16392}; 16393Mfe.Widgets['event-content'] = function(mfe, widgetId, options) { 16394 this.mfe = mfe; 16395 this.name = 'event-content'; 16396 this.baseTemplate = 'base-default'; 16397 Mfe.Widget.apply(this, arguments); 16398}; 16399Mfe.Widgets['event-content'].inherits(Mfe.Widget);
16400Mfe.Widgets['event-content'].title = 'Event content'; 16401Mfe.Widgets['event-content'].getSettings = function() { 16402 var settings = { 16403 'sections': [ 16404 { 16405 'name': 'data', 16406 'title': 'Data', 16407 'settings': [ 16408 { "type": "options", "name": "data-source", "default": "context", "description": "Data source", "options": [ { "value": "context", "label": "Context" } ] } 16409 ] 16410 } 16411 ] 16412 }; 16413 16414 return settings; 16415}; 16416Mfe.Widgets['event-content'].prototype.onRender = function() { 16417 var fetchResult = this.fetch(); 16418 if (isEmpty(fetchResult) === false) { 16419 return this.renderContent(fetchResult); 16420 } 16421 16422 // Return empty template with loading state 16423 var baseTemplate = this.mfe.getTemplate('widgets', 'event-content', this.baseTemplate); 16424 var templateVars = {}; 16425 16426 var baseTemplateHtml = baseTemplate(templateVars); 16427 return baseTemplateHtml; 16428}; 16429 16430Mfe.Widgets['event-content'].prototype.onAttach = function() { 16431 16432}; 16433 16434Mfe.Widgets['event-content'].prototype.fetch = function() { 16435 var self = this; 16436 16437 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 16438 var event = response; 16439 self.display(self.renderContent(event)); 16440 }); 16441}; 16442 16443Mfe.Widgets['event-content'].prototype.display = function(html) { 16444 this.setElementHtml(html); 16445}; 16446 16447Mfe.Widgets['event-content'].prototype.renderContent = function(event) { 16448 var templateVars = event.getTemplateVars(this.mfe); 16449 16450 var baseTemplate = this.mfe.getTemplate('widgets', 'event-content', this.baseTemplate); 16451 var baseTemplateHtml = baseTemplate({ 'event': templateVars }); 16452 16453 return baseTemplateHtml; 16454}; 16455 16456Mfe.Widgets['external-data-widget'] = function(mfe, widgetId, options) { 16457 this.mfe = mfe; 16458 this.name = 'external-data-widget'; 16459 this.baseTemplate = 'base-default'; 16460 this.itemFragmentTemplate = 'item-fragment'; 16461 Mfe.Widget.apply(this, arguments); 16462}; 16463Mfe.Widgets['external-data-widget'].inherits(Mfe.Widget); 16464Mfe.Widgets['external-data-widget'].title = 'External Data'; 16465Mfe.Widgets['external-data-widget'].getSettings = function() { 16466 return [ 16467 { "type": "options", "name": "data-source", "default": "blogs", "description": "Data source", "options": [ 16468 { "value": "external-data", "label": "External data" }, 16469 ] }, 16470 { "type": "text", "name": "data-external-data-id", "default": [], "description": "External data ID" }, 16471 { "type": "largetext", "name": "template", "default": null, "description": "HTML template" }, 16472 ]; 16473}; 16474Mfe.Widgets['external-data-widget'].prototype.onRender = function() { 16475 var fetchResult = this.fetch(); 16476 16477 if (isEmpty(fetchResult) === false) { 16478 return this.renderWidget(fetchResult); 16479 } 16480 16481 let templateInputHtml = getObjValue('template', null, this.options); 16482 let template = Handlebars.compile(templateInputHtml); 16483 let html = template({ 16484 'isLoading': false 16485 }); 16486 16487 // Return empty template with loading state 16488 /*var baseTemplate = this.mfe.getTemplate('widgets', 'external-data-widget', this.baseTemplate); 16489 var templateVars = { 16490 'isLoading': true, 16491 'allowTextWrap': settingTextImageWrap, 16492 'fragmentsHtml': '' 16493 }; 16494 16495 var baseTemplateHtml = baseTemplate(templateVars); 16496 return baseTemplateHtml;*/ 16497 16498 return html; 16499}; 16500 16501Mfe.Widgets['external-data-widget'].prototype.onAttach = function() { 16502 var self = this; 16503 16504}; 16505 16506Mfe.Widgets['external-data-widget'].prototype.fetch = function() { 16507 var self = this; 16508 16509 var fetchResult = Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 16510 //self.displayFragments(self.renderFragments(response)); 16511 return self.displayResponse(response); 16512 }); 16513 16514 return fetchResult; 16515}; 16516 16517Mfe.Widgets['external-data-widget'].prototype.displayResponse = function(externalDataReponse) { 16518 let html = this.renderWidget(externalDataReponse); 16519 16520 this.$el.html(html); 16521}; 16522 16523Mfe.Widgets['external-data-widget'].prototype.renderWidget = function(externalDataReponse) { 16524 console.log(externalDataReponse); 16525 16526 16527 let templateInputHtml = getObjValue('template', null, this.options); 16528 let template = Handlebars.compile(templateInputHtml); 16529 let templateVars = { 16530 'isLoading': false, 16531 'externalData': externalDataReponse.getTemplateVars(this.mfe) 16532 }; 16533 16534 console.log(templateVars); 16535 16536 let html = template(templateVars); 16537 16538 return html; 16539 16540 /* 16541 if (isEmpty(queryResult) === true) { 16542 var fragmentsHtml = ''; 16543 } else { 16544 var fragmentsHtml = this.renderFragments(queryResult); 16545 } 16546 16547 var settingTextImageWrap = this.getOption('text-image-text-wrap', true); 16548 if (settingTextImageWrap == 'false') { 16549 settingTextImageWrap = false;
16550 } else if (settingTextImageWrap == 'true') { 16551 settingTextImageWrap = true; 16552 } 16553 16554 var baseTemplate = this.mfe.getTemplate('widgets', 'external-data-widget', this.baseTemplate); 16555 var templateVars = { 16556 'isLoading': false, 16557 'allowTextWrap': settingTextImageWrap, 16558 'fragmentsHtml': fragmentsHtml, 16559 'addArticleTag': this.getSettingConfig('add-article-tag', false) 16560 }; 16561 16562 var baseTemplateHtml = baseTemplate(templateVars); 16563 return baseTemplateHtml;*/ 16564}; 16565 16566Mfe.Widgets['floating-info'] = function(mfe, widgetId, options) { 16567 this.mfe = mfe; 16568 this.name = 'floating-info'; 16569 this.baseTemplate = 'base-default'; 16570 Mfe.Widget.apply(this, arguments); 16571}; 16572Mfe.Widgets['floating-info'].inherits(Mfe.Widget); 16573Mfe.Widgets['floating-info'].title = 'Floating info'; 16574Mfe.Widgets['floating-info'].getSettings = function() { 16575 return [ 16576 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 16577 { "value": "default", "label": "Default" }, 16578 { "value": "link", "label": "Link" } 16579 ] 16580 }, 16581 { "type": "text", "name": "title", "default": null, "description": "Heading" }, 16582 { "type": "text", "name": "text", "default": null, "description": "Text" }, 16583 { "type": "text", "name": "link-text", "default": null, "description": "Link text" }, 16584 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 16585 { "type": "font", "name": "font", "default": null, "description": "Font" }, 16586 { "type": "boolean", "name": "full-link", "default": false, "description": "Whole widget is a link" }, 16587 ]; 16588}; 16589Mfe.Widgets['floating-info'].prototype.onRender = function() { 16590 var baseTemplate = this.mfe.getTemplate('widgets', 'floating-info', this.baseTemplate); 16591 16592 var optionFullLink = this.getOption('full-link', 'false'); 16593 if (optionFullLink === false || optionFullLink == 'false') { 16594 optionFullLink = false; 16595 } else { 16596 optionFullLink = true; 16597 } 16598 16599 var templateVars = { 16600 'editable': (this.mfe.viewMode == 'edit'), 16601 'title': this.getOption('title', ''), 16602 'text': this.getOption('text', ''), 16603 'linkText': this.getOption('link-text', ''), 16604 'linkUrl': this.getOption('link-url', ''), 16605 'fullLink': optionFullLink 16606 }; 16607 16608 var baseTemplateHtml = baseTemplate(templateVars); 16609 return baseTemplateHtml; 16610}; 16611 16612Mfe.Widgets['floating-info'].prototype.onAttach = function() { 16613 var self = this; 16614 if (this.mfe.viewMode == 'edit') { 16615 var $editableEls = this.$el.find(' > *'); 16616 var $editableEl = $($editableEls[0]); 16617 16618 $editableEl.on('blur', function(e) { 16619 16620 $editableEl.attr('contenteditable', false); 16621 $editableEl.removeClass('mfe-editable-editing'); 16622 16623 self.mfe.exitEditMode(); 16624 }); 16625 } 16626}; 16627 16628Mfe.Widgets['form'] = function(mfe, widgetId, options) { 16629 this.mfe = mfe; 16630 this.name = 'form'; 16631 this.baseTemplate = 'base-default'; 16632 Mfe.Widget.apply(this, arguments); 16633}; 16634Mfe.Widgets['form'].inherits(Mfe.Widget); 16635Mfe.Widgets['form'].title = 'Form'; 16636Mfe.Widgets['form'].getSettings = function() { 16637 return [ 16638 { "type": "form", "name": "data-form-id", "default": "", "description": "Form" }, 16639 { "type": "boolean", "name": "labels-as-placeholder", "default": false, "description": "Use labels as placeholders" }, 16640 { "type": "boolean", "name": "show-labels-on-input", "default": false, "description": "Show label on input" }, 16641 { "type": "text", "name": "submit-button-text", "default": "Submit form", "description": "Submit button text" }, 16642 { "type": "text", "name": "submit-button-icon", "default": "", "description": "Submit button icon" }, 16643 { "type": "text", "name": "submit-button-class", "default": "", "description": "Submit form button class" }, 16644 { "type": "text", "name": "panel-tags", "default": "h1", "description": "Panel tags types (H1 is default)" }, 16645 { "type": "options", "name": "input-style", "default": "vertical", "description": "Input style", "options": [ 16646 { "value": "vertical", "label": "Vertical" }, 16647 { "value": "1-column", "label": "1 column" }, 16648 { "value": "2-columns", "label": "2 columns" }, 16649 { "value": "3-fields", "label": "3 fields" } 16650 ] 16651 }, 16652 { "type": "options", "name": "result-style", "default": "text", "description": "Result style", "options": [ 16653 { "value": "text", "label": "Text" }, 16654 { "value": "url", "label": "Redirect to URL" }, 16655 { "value": "cmsPage", "label": "CMS page" } , 16656 { "value": "template", "label": "Display template" } 16657 ] 16658 },
16659 { "type": "text", "name": "result-title", "default": "", "description": "Result title" }, 16660 { "type": "text", "name": "result-text", "default": "We've received your message!", "description": "Result text" }, 16661 { "type": "text", "name": "result-url", "default": [], "description": "Result URL" }, 16662 { "type": "text", "name": "result-cms-page-path", "default": [], "description": "CMS page path" }, 16663 { "type": "template", "name": "result-template", "default": [], "description": "Result template" } 16664 ]; 16665}; 16666Mfe.Widgets['form'].prototype.onRender = function() { 16667 var fetchResult = this.fetch(); 16668 if (isEmpty(fetchResult) === false) { 16669 16670 return this.renderWidget(fetchResult); 16671 } 16672 16673 // Return empty template with loading state 16674 var baseTemplate = this.mfe.getTemplate('widgets', 'form', this.baseTemplate); 16675 var templateVars = { 16676 'isLoading': true, 16677 'inputStyle': this.getSettingConfig('input-style'), 16678 'labelsAsPlaceHolder': this.getOptionBoolean('labels-as-placeholder', false), 16679 'fragmentsHtml': '' 16680 }; 16681 16682 var baseTemplateHtml = baseTemplate(templateVars); 16683 return baseTemplateHtml; 16684}; 16685 16686Mfe.Widgets['form'].prototype.onAttach = function() { 16687 this.attachHandlers(); 16688}; 16689 16690Mfe.Widgets['form'].prototype.attachHandlers = function() { 16691 var self = this; 16692 16693 this.$el.find('.content > .actions button').on('click', function(e){ 16694 var $buttonEl = $(this); 16695 var action = $buttonEl.attr('data-action'); 16696 16697 if (action == 'submit') { 16698 self.submitForm(); 16699 } 16700 }); 16701 16702 this.$el.find('.input input, .input select').on('keyup', function(e){ 16703 if (e.originalEvent.keyCode != 13) { 16704 return; 16705 } 16706 16707 self.submitForm(); 16708 }); 16709 16710 this.$el.find('.input input, .input select').on('input', function(e){ 16711 let $inputEl = $(this); 16712 let $fieldEl = $inputEl.parents('.field'); 16713 16714 if ($inputEl.val().length > 0) { 16715 $fieldEl.removeClass('empty'); 16716 } else { 16717 $fieldEl.addClass('empty'); 16718 } 16719 }); 16720 16721 16722}; 16723 16724Mfe.Widgets['form'].prototype.fetch = function() { 16725 var self = this; 16726 16727 var formId = this.getOption('data-form-id', null); 16728 if (formId === null) { 16729 return null; 16730 } 16731 16732 var siteName = this.mfe.siteBundle.getName(); 16733 var form = Mfe.Api.Forms.get(siteName, formId, function(result, response) { 16734 if (result === true) { 16735 self.currentForm = response; 16736 self.displayForm(self.renderForm(response)); 16737 self.attachHandlers(); 16738 } 16739 return null; 16740 }); 16741 16742 if (form !== null) { 16743 this.currentForm = form; 16744 return form; 16745 } 16746 16747 return null; 16748}; 16749 16750Mfe.Widgets['form'].prototype.display = function(html) { 16751 this.setElementHtml(html); 16752}; 16753 16754Mfe.Widgets['form'].prototype.displayForm = function(formHtml) { 16755 this.$el.html(formHtml); 16756}; 16757 16758Mfe.Widgets['form'].prototype.renderForm = function(form) { 16759 if (isEmpty(form) === true) { 16760 return false; 16761 } 16762 16763 var formTemplate = this.mfe.getTemplate('widgets', 'form', this.baseTemplate); 16764 var formTemplateVars = form.getTemplateVars(); 16765 formTemplateVars.submitButtonText = this.getSettingConfig('submit-button-text'); 16766 formTemplateVars.submitButtonClass = this.getOption('submit-button-class', ''); 16767 formTemplateVars.submitButtonIcon = this.getOption('submit-button-icon', ''); 16768 formTemplateVars.inputStyle = this.getSettingConfig('input-style'); 16769 formTemplateVars.labelsAsPlaceHolder = this.getOptionBoolean('labels-as-placeholder', false); 16770 formTemplateVars.showLabelsOnInput = this.getOptionBoolean('show-labels-on-input', false); 16771 formTemplateVars.panelTags = this.getOption('panel-tags', 'h1'); 16772 16773 var formHtml = formTemplate(formTemplateVars); 16774 16775 return formHtml; 16776}; 16777 16778Mfe.Widgets['form'].prototype.renderWidget = function(queryResult) { 16779 return this.renderForm(queryResult); 16780}; 16781 16782Mfe.Widgets['form'].prototype.submitForm = function() { 16783 var self = this; 16784 16785 this.$el.find('.field').removeClass('error'); 16786 16787 var result = this.validateForm(); 16788 if (result === false) { 16789 return; 16790 } 16791 16792 var siteName = this.mfe.siteBundle.getName(); 16793 var formId = this.currentForm.getId(); 16794 var formData = result; 16795 16796 Mfe.Api.Forms.submit(siteName, formId, formData, function(result, response) { 16797 if (result === true) { 16798 self.onFormSubmitted(); 16799 return; 16800 } 16801 16802 self.displayServerErrors(response); 16803 }); 16804}; 16805 16806Mfe.Widgets['form'].prototype.onFormSubmitted = function() {
16807 var resultStyle = this.getSettingConfig('result-style'); 16808 16809 if (resultStyle == 'text') { 16810 // Return empty template with loading state 16811 var thanksTemplate = this.mfe.getTemplate('widgets', 'form', this.baseTemplate + '-thanks', true); 16812 var templateVars = { 16813 'title': this.getSettingConfig('result-title'), 16814 'text': this.getSettingConfig('result-text') 16815 }; 16816 var thanksTemplateHtml = thanksTemplate(templateVars); 16817 this.$el.html(thanksTemplateHtml); 16818 } else if (resultStyle == 'url') { 16819 var url = this.getSettingConfig('result-url'); 16820 this.mfe.navigate(url); 16821 } else if (resultStyle == 'cmsPage') { 16822 var cmsPagePath = this.getSettingConfig('result-cms-page-path'); 16823 16824 var widgetCmsFragments = new Mfe.Widgets['cms-fragments'](this.mfe, this.mfe.getNextWidgetId(), { 16825 'data-source': 'snippet', 16826 'data-snippet-id': cmsPagePath 16827 }); 16828 this.$el.find(' > .content').remove(); 16829 widgetCmsFragments.$el = this.$el.find('.thanks-cms-fragments'); 16830 widgetCmsFragments.render(); 16831 widgetCmsFragments.attach(this.mfe, widgetCmsFragments.$el); 16832 16833 } 16834 16835}; 16836 16837Mfe.Widgets['form'].prototype.saveWidgetState = function() { 16838 var widgetState = { 'form': null }; 16839 16840 if (isEmpty(this.currentForm) === false) { 16841 widgetState.form = this.currentForm.getData(); 16842 } 16843 16844 return widgetState; 16845}; 16846 16847Mfe.Widgets['form'].prototype.restoreWidgetState = function(state) { 16848 this.currentForm = new Mfe.Classes.ContentForm(state.form); 16849}; 16850 16851Mfe.Widgets['form'].prototype.validateForm = function() { 16852 var fields = this.currentForm.getFields(); 16853 16854 var errors = []; 16855 var formData = new FormData(); 16856 16857 //var validateResults = true 16858 for (var i = 0; i < fields.length; i++) { 16859 var field = fields[i]; 16860 16861 var fieldResult = this.validateFormField(field); 16862 if (fieldResult.result === 'ok') { 16863 16864 if (field.getType() == 'checklist') { 16865 for (var j = 0; j < fieldResult.value.length; j++) { 16866 var fieldValueItem = fieldResult.value[j]; 16867 formData.append(fieldResult.fieldSubmitName, fieldValueItem); 16868 } 16869 } else { 16870 formData.append(fieldResult.name, fieldResult.value); 16871 } 16872 16873 16874 16875 } else { 16876 errors.push(fieldResult); 16877 } 16878 } 16879 16880 if (errors.length > 0) { 16881 this.displayErrors(errors); 16882 return false; 16883 } 16884 16885 return formData; 16886}; 16887 16888Mfe.Widgets['form'].prototype.validateFormField = function(field) { 16889 var $fieldEl = this.$el.find('.field[data-field-id="'+field.getId()+'"]'); 16890 var $inputEl = this.$el.find('*[name="field-' + field.getId() + '"]'); 16891 16892 var fieldValue = null; 16893 16894 switch (field.getType()) { 16895 case 'check': 16896 if ($inputEl.is(':checked') === true) { 16897 fieldValue = '1'; 16898 } else { 16899 fieldValue = ''; 16900 } 16901 break; 16902 16903 case 'string': 16904 case 'text': 16905 case 'email': 16906 case 'textarea': 16907 case 'country': 16908 fieldValue = $inputEl.val(); 16909 break; 16910 16911 case 'checklist': 16912 var fieldValue = []; 16913 16914 var $optionEls = this.$el.find('*[name="field-' + field.getId() + '-options[]"]:checked'); 16915 for (var i = 0; i < $optionEls.length; i++) { 16916 var $optionEl = $($optionEls[i]); 16917 fieldValue.push($optionEl.val()); 16918 } 16919 16920 break; 16921 16922 case 'radio': 16923 case 'select': 16924 var fieldSettings = field.getSettings(); 16925 if (fieldSettings.type == 'radio') { 16926 $inputEl = this.$el.find('*[name="field-' + field.getId() + '"]:checked'); 16927 if ($inputEl.length > 0) { 16928 fieldValue = $inputEl.val(); 16929 } 16930 } else { 16931 fieldValue = $inputEl.val(); 16932 } 16933 16934 break; 16935 16936 case 'date': 16937 var $daySelectEl = this.$el.find('select[name="field-' + field.getId() + '-day"]'); 16938 var $monthSelectEl = this.$el.find('select[name="field-' + field.getId() + '-month"]'); 16939 var $yearSelectEl = this.$el.find('select[name="field-' + field.getId() + '-year"]'); 16940 16941 if ($daySelectEl.val() == '' || $monthSelectEl.val() == '' || $yearSelectEl.val() == '') { 16942 fieldValue = ''; 16943 } else { 16944 fieldValue = $daySelectEl.val() + '-' + $monthSelectEl.val() + '-' + $yearSelectEl.val(); 16945 } 16946 16947 break; 16948 16949 default: 16950 16951 break; 16952 } 16953 16954 if (field.isRequired() === true && (fieldValue === null || fieldValue.length == 0)) { 16955 return { 16956 'result': 'error', 16957 '$fieldEl': $fieldEl, 16958 'code': 'required', 16959 'message': 'This field cannot be empty' 16960 }; 16961 } 16962 16963 if (typeof fieldValue !== 'undefined' && fieldValue !== null && fieldValue.length > 0) { 16964 // Check for validation
16965 var validation = field.getValidation(); 16966 } 16967 16968 var fieldSubmitName = 'field-' + field.getId(); 16969 if (field.getType() == 'checklist') { 16970 fieldSubmitName = 'field-' + field.getId() + '[]'; 16971 } 16972 16973 return { 16974 'result': 'ok', 16975 '$fieldEl': $fieldEl, 16976 'name': 'field-' + field.getId(), 16977 'fieldSubmitName': fieldSubmitName, 16978 'value': fieldValue 16979 }; 16980}; 16981 16982Mfe.Widgets['form'].prototype.displayServerErrors = function(errors) { 16983 // Transform server errors to client side errors 16984 16985 var clientErrors = []; 16986 16987 for (var i = 0; i < errors.length; i++) { 16988 var error = errors[i]; 16989 16990 var clientError = { 16991 '$fieldEl': this.$el.find('.field[data-field-id="'+error.fieldId+'"]'), 16992 'fieldId': error.fieldId, 16993 'code': error.code, 16994 'message': error.message, 16995 'result': 'error' 16996 }; 16997 clientErrors.push(clientError); 16998 } 16999 17000 this.displayErrors(clientErrors); 17001}; 17002 17003Mfe.Widgets['form'].prototype.displayErrors = function(errors) { 17004 this.$el.find('.field').removeClass('error'); 17005 17006 for (var i = 0; i < errors.length; i++) { 17007 var error = errors[i]; 17008 17009 var $fieldEl = error.$fieldEl; 17010 17011 var $errorEl = $fieldEl.find('.error'); 17012 if (i == 0) { 17013 $inputEl = $fieldEl.find('input, select, textarea'); 17014 if ($inputEl.length > 0) { 17015 $($inputEl[0]).focus(); 17016 } 17017 } 17018 17019 $errorEl.text(error.message); 17020 $fieldEl.addClass('error'); 17021 } 17022}; 17023Mfe.Widgets['heading'] = function(mfe, widgetId, options) { 17024 this.mfe = mfe; 17025 this.name = 'heading'; 17026 this.baseTemplate = 'base-default'; 17027 this.mode = 'view'; 17028 Mfe.Widget.apply(this, arguments); 17029}; 17030Mfe.Widgets['heading'].inherits(Mfe.Widget); 17031Mfe.Widgets['heading'].title = 'Heading'; 17032Mfe.Widgets['heading'].getSettings = function() { 17033 return [ 17034 { "type": "options", "name": "data-source", "default": "settings", "description": "Data source", "options": [ 17035 { "value": "settings", "label": "From settings" }, 17036 { "value": "context", "label": "Context" } 17037 ] 17038 }, 17039 { "type": "text", "name": "text", "default": null, "description": "Heading text" }, 17040 { "type": "boolean", "name": "allow-html-enabled", "default": false, "description": "Allow HTML in heading text" }, 17041 { "type": "options", "name": "heading-type", "default": "h2", "description": "Heading type", "options": [ 17042 { "value": "h1", "label": "H1" }, 17043 { "value": "h2", "label": "H2" }, 17044 { "value": "h3", "label": "H3" } 17045 ] }, 17046 { "type": "options", "name": "text-align", "default": "auto", "description": "Align text", "options": [ 17047 { "value": "auto", "label": "Auto" }, 17048 { "value": "left", "label": "Left" }, 17049 { "value": "center", "label": "Center" }, 17050 { "value": "right", "label": "Right" } 17051 ] }, 17052 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 17053 { "type": "font", "name": "font", "default": null, "description": "Font" }, 17054 17055 ]; 17056}; 17057 17058Mfe.Widgets['heading'].prototype.onRender = function() { 17059 var baseTemplate = this.mfe.getTemplate('widgets', 'heading', this.baseTemplate); 17060 17061 var text = ''; 17062 17063 var dataSource = this.getOption('data-source', 'settings'); 17064 if (dataSource == 'settings') { 17065 var optionText = this.getOption('text', ''); 17066 var optionTextTranslationId = this.getOption('text-translation-id', ''); 17067 17068 var text = ''; 17069 if (optionText.length > 0) { 17070 text = optionText; 17071 } else if (optionTextTranslationId.length > 0) { 17072 text = this.mfe.getTranslation(optionTextTranslationId); 17073 } 17074 } else if (dataSource == 'context') { 17075 17076 if (this.mfe.context == 'cms-page' || this.mfe.context == 'blog-item') { 17077 var revision = this.mfe.contextObject.getRevisionByLanguage(this.mfe.pageLanguage); 17078 if (revision.getTitle) { 17079 text = revision.getTitle(); 17080 } 17081 17082 } 17083 } 17084 17085 var alignText = this.getOption('text-align', 'left'); 17086 if (alignText != 'auto' && alignText != 'left' && alignText != 'center' && alignText != 'right') { 17087 alignText = 'left'; 17088 } 17089 17090 var fontConfig = this.getOption('font', null); 17091 if (fontConfig !== null) { 17092 var fontCssVars = Mfe.Fonts.generateFontConfigCssVars('heading', fontConfig, this.mfe); 17093 } 17094 17095 let contextTemplateVars = null; 17096 if (this.mfe.contextObject && this.mfe.contextObject.templateVars) { 17097 contextTemplateVars = this.mfe.contextObject.templateVars; 17098 } else if (this.mfe.contextObject && this.mfe.contextObject.getTemplateVars) { 17099 17100 if (this.mfe.contextObject instanceof Mfe.Classes.DatasetView) { 17101 contextTemplateVars = this.mfe.contextObject.getTemplateVars(); 17102 } 17103 } 17104 17105 var templateVars = { 17106 'alignText': alignText, 17107 'editable': (this.mfe.viewMode == 'edit'), 17108 'text': text, 17109 'headingType': this.getOption('heading-type', 'h2'), 17110 'linkUrl': this.getOption('link-url', null),
17111 'isAllowHtmlEnabled': this.getSettingConfig('allow-html-enabled', false), 17112 'fontCssVars': fontCssVars, 17113 'context': contextTemplateVars 17114 }; 17115 17116 var baseTemplateHtml = baseTemplate(templateVars); 17117 return baseTemplateHtml; 17118}; 17119 17120Mfe.Widgets['heading'].prototype.onAttach = function() { 17121 var self = this; 17122 if (this.mfe.viewMode == 'edit') { 17123 17124 var $editableEls = this.$el.find(' > *'); 17125 var $editableEl = $($editableEls[0]); 17126 17127 $editableEl.on('blur', function(e) { 17128 17129 $editableEl.attr('contenteditable', false); 17130 $editableEl.removeClass('mfe-editable-editing'); 17131 17132 self.mfe.exitEditMode(); 17133 }); 17134 17135 /*this.$el.find('h1').on('mouseenter', function(){ 17136 var $hoverEl = $(this); 17137 17138 self.mfe.showEditHoverOptions($hoverEl); 17139 }); 17140 this.$el.find('h1').on('mouseleave', function(){ 17141 17142 });*/ 17143 } 17144}; 17145 17146Mfe.Widgets['heading'].prototype.onSettingChanged = function(settingName, settingValue) { 17147 this.options[settingName] = settingValue; 17148 17149 if (settingName == 'text') { 17150 var $textEl = this.$el.find(' > *'); 17151 var $linkEl = $textEl.find('a'); 17152 17153 if ($linkEl.length > 0) { 17154 $textEl = $linkEl; 17155 } 17156 17157 $textEl.text(settingValue); 17158 17159 } else if (settingName == 'link-url') { 17160 var $textEl = this.$el.find(' > *'); 17161 var $linkEl = $textEl.find('a'); 17162 if ($linkEl.length == 0) { 17163 this.$el.html(this.onRender()); 17164 } else { 17165 $linkEl.attr('href', settingValue); 17166 } 17167 } else { 17168 this.$el.html(this.onRender()); 17169 } 17170}; 17171 17172Mfe.Widgets['heading'].prototype.enterEditMode = function(setting) { 17173 if (setting == 'text') { 17174 this.mode = 'edit'; 17175 17176 var $editableEls = this.$el.find(' > *'); 17177 var $editableEl = $($editableEls[0]); 17178 17179 $editableEl.attr('contenteditable', true); 17180 $editableEl.addClass('mfe-editable-editing'); 17181 17182 $editableEl.focus(); 17183 } 17184}; 17185 17186Mfe.Widgets['hero-intro'] = function(mfe, widgetId, options) { 17187 this.mfe = mfe; 17188 this.name = 'hero-intro'; 17189 this.state = 'default'; 17190 Mfe.Widget.apply(this, arguments); 17191}; 17192Mfe.Widgets['hero-intro'].inherits(Mfe.Widget); 17193Mfe.Widgets['hero-intro'].prototype.onRender = function(isPreload) { 17194 // Check if this intro has not been rendered ever 17195 if (isEmpty(isPreload) === true || isPreload === false) { 17196 this.mfe.addBodyClass('mfe-w-hero-intro-active'); 17197 } 17198 17199 return this.renderContent(); 17200}; 17201 17202Mfe.Widgets['hero-intro'].prototype.display = function(renderHtml) { 17203 this.setElementHtml(renderHtml); 17204}; 17205 17206Mfe.Widgets['hero-intro'].prototype.renderContent = function() { 17207 var templateVars = {}; 17208 17209 var htmlTemplate = this.mfe.getTemplate('widgets', 'hero-intro', 'base-default'); 17210 var html = htmlTemplate(templateVars); 17211 17212 return html; 17213}; 17214 17215Mfe.Widgets['hero-intro'].prototype.onAttach = function(mfe, $el) { 17216 var self = this; 17217 17218 this.isActive = true; 17219 17220 this.scrollOffset = this.getOption('scroll-offset', 48); 17221 17222 this.windowScrollBind = this.onEventWindowScroll.bind(this); 17223 window.addEventListener('scroll', this.windowScrollBind); 17224}; 17225 17226Mfe.Widgets['hero-intro'].prototype.onDetach = function() { 17227 window.removeEventListener('scroll', this.windowScrollBind); 17228}; 17229 17230Mfe.Widgets['hero-intro'].prototype.onEventWindowScroll = function(event) { 17231 if (this.isActive !== true) { 17232 return; 17233 } 17234 17235 if (window.scrollY > this.scrollOffset && this.state == 'default') { 17236 this.mfe.removeBodyClass('mfe-w-hero-intro-active'); 17237 //this.$el.remove(); 17238 //window.scroll(0, 0); 17239 //this.isActive = false; 17240 this.state = 'small'; 17241 } else if (window.scrollY < this.scrollOffset && this.state == 'small') { 17242 this.mfe.addBodyClass('mfe-w-hero-intro-active'); 17243 this.state = 'default'; 17244 } 17245}; 17246Mfe.Widgets['html'] = function(mfe, widgetId, options) { 17247 this.mfe = mfe; 17248 this.name = 'html'; 17249 this.baseTemplate = 'base-default'; 17250 Mfe.Widget.apply(this, arguments); 17251}; 17252Mfe.Widgets['html'].inherits(Mfe.Widget); 17253Mfe.Widgets['html'].title = 'HTML'; 17254Mfe.Widgets['html'].getSettings = function() { 17255 return [ 17256 { "type": "largetext", "name": "html", "default": null, "description": "HTML" }, 17257 { "type": "largetext", "name": "rawHtml", "default": null, "description": "Raw HTML" }, 17258 { "type": "text", "name": "variable1", "default": null, "description": "Variable from component #1" },
17259 { "type": "text", "name": "variable2", "default": null, "description": "Variable from component #2" }, 17260 { "type": "text", "name": "variable3", "default": null, "description": "Variable from component #3" }, 17261 { "type": "text", "name": "variable4", "default": null, "description": "Variable from component #4" }, 17262 { "type": "text", "name": "variable5", "default": null, "description": "Variable from component #5" }, 17263 ]; 17264}; 17265Mfe.Widgets['html'].prototype.onRender = function() { 17266 17267 //var baseTemplate = this.mfe.getTemplate('widgets', 'html', this.baseTemplate); 17268 17269 var optionHtml = this.getOption('html', ''); 17270 var optionRawHtml = this.getOption('rawHtml', ''); 17271 17272 let baseTemplateHtml; 17273 17274 if (optionRawHtml.length > 0) { 17275 baseTemplateHtml = optionRawHtml; 17276 } else { 17277 var htmlTemplate = Handlebars.compile(optionHtml); 17278 17279 var templateVars = { 17280 'variables': {} 17281 }; 17282 17283 for (let i = 1; i <= 5; i++) { 17284 let variableVal = this.getOption('variable' + i, null); 17285 templateVars.variables['variable' + i] = variableVal; 17286 } 17287 17288 baseTemplateHtml = htmlTemplate(templateVars); 17289 } 17290 17291 17292 return baseTemplateHtml; 17293}; 17294 17295Mfe.Widgets['html'].prototype.onAttach = function() { 17296 var self = this; 17297 17298}; 17299 17300Mfe.Widgets['html'].prototype.enterEditMode = function(setting) { 17301 if (setting == 'html') { 17302 17303 } 17304}; 17305 17306Mfe.Widgets['image-grid'] = function(mfe, widgetId, options) { 17307 this.mfe = mfe; 17308 this.name = 'image-grid'; 17309 this.baseTemplate = 'base-default'; 17310 Mfe.Widget.apply(this, arguments); 17311}; 17312Mfe.Widgets['image-grid'].inherits(Mfe.Widget); 17313Mfe.Widgets['image-grid'].title = 'Image Grid'; 17314Mfe.Widgets['image-grid'].getSettings = function() { 17315 return [ 17316 { "type": "text", "name": "image-url", "default": null, "description": "Image URL" }, 17317 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 17318 { "type": "boolean", "name": "cover-layout", "default": null, "description": "Cover the whole layout", "default": false } 17319 ]; 17320}; 17321Mfe.Widgets['image-grid'].prototype.onRender = function() { 17322 var baseTemplate = this.mfe.getTemplate('widgets', 'image', this.baseTemplate); 17323 17324 var templateVars = { 17325 'imageUrl': this.getOption('image-url', ''), 17326 'linkUrl': this.getOption('link-url', null), 17327 'coverLayout': this.getOptionBoolean('cover-layout', false) 17328 }; 17329 17330 var baseTemplateHtml = baseTemplate(templateVars); 17331 return baseTemplateHtml; 17332}; 17333 17334Mfe.Widgets['image-grid'].prototype.onAttach = function() { 17335 17336}; 17337 17338Mfe.Widgets['image'] = function(mfe, widgetId, options) { 17339 this.mfe = mfe; 17340 this.name = 'image'; 17341 this.baseTemplate = 'base-default'; 17342 Mfe.Widget.apply(this, arguments); 17343}; 17344Mfe.Widgets['image'].inherits(Mfe.Widget); 17345Mfe.Widgets['image'].title = 'Image'; 17346Mfe.Widgets['image'].getSettings = function() { 17347 return [ 17348 { "type": "text", "name": "image-url", "default": null, "description": "Image URL" }, 17349 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 17350 { "type": "boolean", "name": "cover-layout", "default": null, "description": "Cover the whole layout", "default": false }, 17351 { "type": "boolean", "name": "as-background-image", "default": null, "description": "Show as background image", "default": false }, 17352 { "type": "text", "name": "dataset-lookup-key", "default": [], "description": "Dataset record key" } 17353 ]; 17354}; 17355Mfe.Widgets['image'].prototype.onRender = function() { 17356 var baseTemplate = this.mfe.getTemplate('widgets', 'image', this.baseTemplate); 17357 17358 var asBackgroundImage = this.getOptionBoolean('as-background-image', false); 17359 17360 var imageUrl = null; 17361 var datasetLookupKey = this.getOption('dataset-lookup-key', ''); 17362 17363 if (this.mfe.context === 'dataset-table' && datasetLookupKey.length > 0) { 17364 imageUrl = this.mfe.contextObject.getProcessedValue(datasetLookupKey); 17365 } else { 17366 imageUrl = this.getOption('image-url', ''); 17367 } 17368 17369 var templateVars = { 17370 'imageUrl': imageUrl, 17371 'linkUrl': this.getOption('link-url', null), 17372 'coverLayout': this.getOptionBoolean('cover-layout', false),
17373 'asBackgroundImage': asBackgroundImage 17374 }; 17375 17376 var baseTemplateHtml = baseTemplate(templateVars); 17377 return baseTemplateHtml; 17378}; 17379 17380Mfe.Widgets['image'].prototype.onAttach = function() { 17381 17382}; 17383 17384Mfe.Widgets['info-block'] = function(mfe, widgetId, options) { 17385 this.mfe = mfe; 17386 this.name = 'info-block'; 17387 this.baseTemplate = 'base-default'; 17388 Mfe.Widget.apply(this, arguments); 17389}; 17390Mfe.Widgets['info-block'].inherits(Mfe.Widget); 17391Mfe.Widgets['info-block'].title = 'Info block'; 17392Mfe.Widgets['info-block'].getSettings = function() { 17393 return [ 17394 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 17395 { "value": "default", "label": "Default" }, 17396 { "value": "center", "label": "Center" }, 17397 { "value": "link", "label": "Link" }, 17398 { "value": "image-left", "label": "Image left" }, 17399 { "value": "image-right", "label": "Image right" }, 17400 { "value": "icons", "label": "Icons" } 17401 ] 17402 }, 17403 { "type": "text", "name": "title", "default": null, "description": "Heading" }, 17404 { "type": "text", "name": "subtitle", "default": null, "description": "Subtitle (category)" }, 17405 { "type": "html", "name": "text", "default": null, "description": "Text" }, 17406 { "type": "text", "name": "link-text", "default": null, "description": "Link text" }, 17407 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 17408 { "type": "text", "name": "link-2-text", "default": null, "description": "Link 2 text" }, 17409 { "type": "text", "name": "link-2-url", "default": null, "description": "Link 2 URL" }, 17410 { "type": "text", "name": "image-url", "default": null, "description": "Image URL" }, 17411 { "type": "font", "name": "heading-font", "default": null, "description": "Heading font" }, 17412 { "type": "font", "name": "subtitle-font", "default": null, "description": "Subtitle font" }, 17413 { "type": "font", "name": "text-font", "default": null, "description": "Text font" }, 17414 { "type": "font", "name": "link-text-font", "default": null, "description": "Link text font" }, 17415 { "type": "boolean", "name": "full-link", "default": false, "description": "Whole widget is a link" } 17416 ]; 17417}; 17418Mfe.Widgets['info-block'].prototype.onRender = function() { 17419 var baseTemplate = this.mfe.getTemplate('widgets', 'info-block', this.baseTemplate); 17420 17421 var optionFullLink = this.getOption('full-link', 'false'); 17422 if (optionFullLink === false || optionFullLink == 'false') { 17423 optionFullLink = false; 17424 } else { 17425 optionFullLink = true; 17426 } 17427 17428 var headingFontCssVars = null; 17429 var headingFontConfig = this.getOption('heading-font', null); 17430 if (headingFontConfig !== null) { 17431 headingFontCssVars = Mfe.Fonts.generateFontConfigCssVars('title', headingFontConfig, this.mfe); 17432 } 17433 17434 var subtitleFontCssVars = null; 17435 var subtitleFontConfig = this.getOption('subtitle-font', null); 17436 if (subtitleFontConfig !== null) { 17437 subtitleFontCssVars = Mfe.Fonts.generateFontConfigCssVars('subtitle', subtitleFontConfig, this.mfe); 17438 } 17439 17440 var textFontCssVars = null; 17441 var textFontConfig = this.getOption('text-font', null); 17442 if (textFontConfig !== null) { 17443 textFontCssVars = Mfe.Fonts.generateFontConfigCssVars('text', textFontConfig, this.mfe); 17444 } 17445 17446 var linkTextFontCssVars = null; 17447 var linkTextFontConfig = this.getOption('link-text-font', null); 17448 if (linkTextFontConfig !== null) { 17449 linkTextFontCssVars = Mfe.Fonts.generateFontConfigCssVars('link-text', linkTextFontConfig, this.mfe); 17450 } 17451 17452 var templateVars = { 17453 'editable': (this.mfe.viewMode == 'edit'), 17454 'title': this.getOption('title', ''), 17455 'subtitle': this.getOption('subtitle', ''), 17456 'text': this.getOption('text', ''), 17457 'linkText': this.getOption('link-text', ''), 17458 'linkUrl': this.getOption('link-url', ''), 17459 'link2Text': this.getOption('link-2-text', ''), 17460 'link2Url': this.getOption('link-2-url', ''), 17461 'imageUrl': this.getOption('image-url', ''), 17462 'fullLink': optionFullLink, 17463 'titleFontCssVars': headingFontCssVars, 17464 'subtitleFontCssVars': subtitleFontCssVars, 17465 'textFontCssVars': textFontCssVars, 17466 'linkTextFontCssVars': linkTextFontCssVars 17467 }; 17468 17469 var baseTemplateHtml = baseTemplate(templateVars); 17470 return baseTemplateHtml; 17471}; 17472 17473Mfe.Widgets['info-block'].prototype.onAttach = function() { 17474 var self = this; 17475 if (this.mfe.viewMode == 'edit') { 17476 var $editableEls = this.$el.find(' > *'); 17477 var $editableEl = $($editableEls[0]); 17478 17479 $editableEl.on('blur', function(e) { 17480 17481 $editableEl.attr('contenteditable', false); 17482 $editableEl.removeClass('mfe-editable-editing'); 17483 17484 self.mfe.exitEditMode(); 17485 }); 17486 } 17487}; 17488 17489Mfe.Widgets['info-block'].prototype.enterEditMode = function(setting) { 17490 if (setting == 'info-block') { 17491 this.mode = 'edit'; 17492 17493 var $editableEls = this.$el.find(' > *'); 17494 var $editableEl = $($editableEls[0]); 17495 17496 $editableEl.attr('contenteditable', true); 17497 $editableEl.addClass('mfe-editable-editing'); 17498
17499 $editableEl.focus(); 17500 } 17501}; 17502 17503Mfe.Widgets['intro'] = function(mfe, widgetId, options) { 17504 this.mfe = mfe; 17505 this.name = 'intro'; 17506 this.baseTemplate = 'base-default'; 17507 Mfe.Widget.apply(this, arguments); 17508}; 17509Mfe.Widgets['intro'].inherits(Mfe.Widget); 17510Mfe.Widgets['intro'].getSettings = function() { 17511 return [ 17512 { "type": "text", "name": "title", "default": '', "description": "Title" }, 17513 { "type": "text", "name": "description", "default": '', "description": "Description" }, 17514 { "type": "text", "name": "link-1-text", "default": '', "description": "Link 1 text" }, 17515 { "type": "text", "name": "link-1-path", "default": '', "description": "Link 1 path" }, 17516 { "type": "text", "name": "link-2-text", "default": '', "description": "Link 2 text" }, 17517 { "type": "text", "name": "link-2-path", "default": '', "description": "Link 2 path" }, 17518 { "type": "text", "name": "link-3-text", "default": '', "description": "Link 3 text" }, 17519 { "type": "text", "name": "link-3-path", "default": '', "description": "Link 3 path" }, 17520 { "type": "text", "name": "link-4-text", "default": '', "description": "Link 4 text" }, 17521 { "type": "text", "name": "link-4-path", "default": '', "description": "Link 4 path" } 17522 ]; 17523}; 17524Mfe.Widgets['intro'].prototype.onRender = function() { 17525 var baseTemplate = this.mfe.getTemplate('widgets', 'intro', this.baseTemplate); 17526 17527 var optionTitle = this.getOption('title', ''); 17528 var optionDescription = this.getOption('description', ''); 17529 var optionLink1Text = this.getOption('link-1-text', ''); 17530 var optionLink1Path = this.getOption('link-1-path', ''); 17531 var optionLink2Text = this.getOption('link-2-text', ''); 17532 var optionLink2Path = this.getOption('link-2-path', ''); 17533 var optionLink3Text = this.getOption('link-3-text', ''); 17534 var optionLink3Path = this.getOption('link-3-path', ''); 17535 var optionLink4Text = this.getOption('link-4-text', ''); 17536 var optionLink4Path = this.getOption('link-4-path', ''); 17537 17538 var title = optionTitle; 17539 var description = optionDescription; 17540 17541 var templateVars = { 17542 'title': title, 17543 'description': description, 17544 'link1': { 'text': optionLink1Text, 'path': optionLink1Path }, 17545 'link2': { 'text': optionLink2Text, 'path': optionLink2Path }, 17546 'link3': { 'text': optionLink3Text, 'path': optionLink3Path }, 17547 'link4': { 'text': optionLink4Text, 'path': optionLink4Path } 17548 }; 17549 17550 var baseTemplateHtml = baseTemplate(templateVars); 17551 return baseTemplateHtml; 17552}; 17553 17554Mfe.Widgets['intro'].prototype.onAttach = function() { 17555 17556}; 17557 17558Mfe.Widgets['media-content'] = function(mfe, widgetId, options) { 17559 this.mfe = mfe; 17560 this.name = 'media-content'; 17561 this.baseTemplate = 'base-default'; 17562 Mfe.Widget.apply(this, arguments); 17563}; 17564Mfe.Widgets['media-content'].inherits(Mfe.Widget); 17565Mfe.Widgets['media-content'].title = 'Media content'; 17566Mfe.Widgets['media-content'].getSettings = function() { 17567 var settings = { 17568 'sections': [ 17569 { 17570 'name': 'data', 17571 'title': 'Data', 17572 'settings': [ 17573 { "type": "options", "name": "data-source", "default": "context", "description": "Data source", "options": [ { "value": "context", "label": "Context" } ] }, 17574 ] 17575 } 17576 ] 17577 }; 17578 17579 return settings; 17580}; 17581Mfe.Widgets['media-content'].prototype.onRender = function() { 17582 var fetchResult = this.fetch(); 17583 if (isEmpty(fetchResult) === false) { 17584 return this.renderContent(fetchResult); 17585 } 17586 17587 // Return empty template with loading state 17588 var baseTemplate = this.mfe.getTemplate('widgets', 'media-content', this.baseTemplate); 17589 var templateVars = {}; 17590 17591 var baseTemplateHtml = baseTemplate(templateVars); 17592 return baseTemplateHtml; 17593}; 17594 17595Mfe.Widgets['media-content'].prototype.onAttach = function() { 17596 17597}; 17598 17599Mfe.Widgets['media-content'].prototype.fetch = function() { 17600 var self = this; 17601 17602 return Mfe.Widget.Content.fetchContent(this.mfe, this.options, null, 'single', function(response) { 17603 var media = response; 17604 self.display(self.renderContent(media)); 17605 }); 17606}; 17607 17608Mfe.Widgets['media-content'].prototype.display = function(html) { 17609 this.setElementHtml(html); 17610}; 17611 17612Mfe.Widgets['media-content'].prototype.renderContent = function(media) { 17613 var templateVars = media.getTemplateVars(this.mfe); 17614 17615 var baseTemplate = this.mfe.getTemplate('widgets', 'media-content', this.baseTemplate); 17616 var baseTemplateHtml = baseTemplate(templateVars); 17617 17618 return baseTemplateHtml; 17619}; 17620 17621Mfe.Widgets['menu'] = function(mfe, widgetId, options) { 17622 this.mfe = mfe; 17623 this.name = 'menu'; 17624 this.baseTemplate = 'base-default'; 17625 Mfe.Widget.apply(this, arguments); 17626}; 17627Mfe.Widgets['menu'].inherits(Mfe.Widget);
17628Mfe.Widgets['menu'].getSettings = function() { 17629 return [ 17630 { "type": "menu", "name": "menu-id", "default": null, "description": "Menu" }, 17631 { "type": "boolean", "name": "autoselect-first-item", "default": false, "description": "Auto-select first item if nothing matches" }, 17632 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 17633 { "value": "default", "label": "Default (horizontal)" }, 17634 { "value": "vertical", "label": "Vertical" } , 17635 { "value": "grid", "label": "Grid" } 17636 ] 17637 } 17638 ]; 17639}; 17640Mfe.Widgets['menu'].prototype.onRender = function() { 17641 // Check for menus 17642 17643 var menuId = this.getOption('menu-id', null); 17644 var menu = null; 17645 17646 if (isEmpty(menuId) === false) { 17647 menu = this.mfe.siteBundle.getMenuById(menuId); 17648 } else if (menuId === '0') { 17649 return ''; 17650 } else { 17651 var menuType = this.getOption('menu-type', 'header'); 17652 menu = this.mfe.siteBundle.getMenuByLanguage(menuType, this.mfe.pageLanguage); 17653 } 17654 17655 if (isEmpty(menu) === true) { 17656 return ''; 17657 //return 'Could not find menu'; 17658 } 17659 17660 var menuItemFontCssVars = ''; 17661 var menuItemFontHoverCssVars = ''; 17662 var menuItemFontSelectedCssVars = ''; 17663 var menuItemFontSpecialCssVars = ''; 17664 17665 var menuItemFontConfig = this.getOption('menu-item-font', null); 17666 if (menuItemFontConfig !== null) { 17667 menuItemFontCssVars = Mfe.Fonts.generateFontConfigCssVars('menu-item', menuItemFontConfig, this.mfe); 17668 } 17669 17670 var menuItemFontConfig = this.getOption('menu-item-special-font', null); 17671 if (menuItemFontConfig !== null) { 17672 menuItemFontSpecialCssVars = Mfe.Fonts.generateFontConfigCssVars('menu-item-special', menuItemFontConfig, this.mfe); 17673 } 17674 17675 var menuItemSelectedFontConfig = this.getOption('menu-item-selected-font', null); 17676 if (menuItemSelectedFontConfig !== null) { 17677 menuItemFontSelectedCssVars = Mfe.Fonts.generateFontConfigCssVars('menu-item-selected', menuItemSelectedFontConfig, this.mfe); 17678 } 17679 17680 var menuItemHoverFontConfig = this.getOption('menu-item-hover-font', null); 17681 if (menuItemHoverFontConfig !== null) { 17682 menuItemFontHoverCssVars = Mfe.Fonts.generateFontConfigCssVars('menu-item-hover', menuItemHoverFontConfig, this.mfe); 17683 } 17684 17685 var menuFontCssVars = ''; 17686 if (menuItemFontCssVars.length > 0) { 17687 menuFontCssVars = menuFontCssVars + menuItemFontCssVars; 17688 } 17689 17690 if (menuItemFontSelectedCssVars.length > 0) { 17691 menuFontCssVars = menuFontCssVars + (menuFontCssVars.length > 0 ? '; ' : '') + menuItemFontSelectedCssVars; 17692 } 17693 17694 if (menuItemFontSpecialCssVars.length > 0) { 17695 menuFontCssVars = menuFontCssVars + (menuFontCssVars.length > 0 ? '; ' : '') + menuItemFontSpecialCssVars; 17696 } 17697 17698 if (menuItemFontHoverCssVars.length > 0) { 17699 menuFontCssVars = menuFontCssVars + (menuFontCssVars.length > 0 ? '; ' : '') + menuItemFontHoverCssVars; 17700 } 17701 17702 var autoSelectFirstItem = this.getOptionBoolean('autoselect-first-item', false); 17703 17704 var templateVars = { 17705 'pagePath': this.mfe.getPagePath(), 17706 'availableLanguages': this.mfe.getOtherLanguagePaths(), 17707 'menuFontCssVars': menuFontCssVars, 17708 'items': menu.getItems(this.mfe.getPagePath(), autoSelectFirstItem) 17709 }; 17710 17711 var baseTemplate = this.mfe.getTemplate('widgets', 'menu', this.baseTemplate); 17712 17713 17714 var baseTemplateHtml = baseTemplate(templateVars); 17715 return baseTemplateHtml; 17716}; 17717 17718Mfe.Widgets['menu'].prototype.onAttach = function() { 17719 17720}; 17721 17722Mfe.Widgets['newsletter-popup'] = function(mfe, widgetId, options) { 17723 this.mfe = mfe; 17724 this.name = 'newsletter-popup'; 17725 this.baseTemplate = 'base-default'; 17726 options['data-source'] = 'context'; 17727 Mfe.Widget.apply(this, arguments); 17728}; 17729Mfe.Widgets['newsletter-popup'].inherits(Mfe.Widget); 17730Mfe.Widgets['newsletter-popup'].title = 'Newsletter popup'; 17731Mfe.Widgets['newsletter-popup'].getSettings = function() { 17732 return [ 17733 { "type": "options", "name": "provider", "default": "mailchimp", "description": "Newsletter provider", "options": [ { "value": "mailchimp", "label": "Mailchimp" } ] }, 17734 { "type": "text", "name": "email-placeholder", "default": "E.g. [email protected]", "description": "Email placeholder" }, 17735 { "type": "options", "name": "mailchimp-style", "default": "email", "description": "Style", "options": [ { "value": "email", "label": "Only email" }, { "value": "email-with-names", "label": "First name, last name, email" } ] },
17736 { "type": "text", "name": "mailchimp-form-domain", "default": "kinderdonations.us14.list-manage.com", "description": "Mailchimp domain" }, 17737 { "type": "text", "name": "mailchimp-form-id", "default": "", "description": "Mailchimp form ID (10 chars)" }, 17738 { "type": "text", "name": "mailchimp-form-key", "default": "", "description": "Mailchimp form key (26 chars)" }, 17739 { "type": "text", "name": "action-text", "default": "Add", "description": "Subscribe text" }, 17740 { "type": "text", "name": "description", "default": "", "description": "Description" }, 17741 ]; 17742}; 17743Mfe.Widgets['newsletter-popup'].prototype.onRender = function() { 17744 return this.renderContent(); 17745}; 17746 17747Mfe.Widgets['newsletter-popup'].prototype.onAttach = function() { 17748 17749}; 17750 17751Mfe.Widgets['newsletter-popup'].prototype.display = function(html) { 17752 this.setElementHtml(html); 17753}; 17754 17755Mfe.Widgets['newsletter-popup'].prototype.renderContent = function() { 17756 var optionProvider = this.getOption('provider'); 17757 var optionProviderStyle = this.getOption(optionProvider + '-style'); 17758 17759 var templateName = optionProvider + '-' + optionProviderStyle; 17760 17761 var templateVars = { 17762 'editable': (this.mfe.viewMode == 'edit'), 17763 'actionText': this.getOption('action-text', ''), 17764 'description': this.getOption('description', ''), 17765 'emailPlaceholder': this.getSettingConfig('email-placeholder', true), 17766 'mailchimpDomain': this.getOption('mailchimp-form-domain', 'kinderdonations.us14.list-manage.com'), 17767 'mailchimpFormId': this.getOption('mailchimp-form-id', ''), 17768 'mailchimpFormKey': this.getOption('mailchimp-form-key', '') 17769 }; 17770 17771 var baseTemplate = this.mfe.getTemplate('widgets', 'newsletter-popup', templateName); 17772 var baseTemplateHtml = baseTemplate(templateVars); 17773 17774 return baseTemplateHtml; 17775}; 17776 17777Mfe.Widgets['newsletter-signup'] = function(mfe, widgetId, options) { 17778 this.mfe = mfe; 17779 this.name = 'newsletter-signup'; 17780 this.baseTemplate = 'base-default'; 17781 options['data-source'] = 'context'; 17782 Mfe.Widget.apply(this, arguments); 17783}; 17784Mfe.Widgets['newsletter-signup'].inherits(Mfe.Widget); 17785Mfe.Widgets['newsletter-signup'].title = 'Newsletter signup'; 17786Mfe.Widgets['newsletter-signup'].getSettings = function() { 17787 return [ 17788 { "type": "options", "name": "provider", "default": "mailchimp", "description": "Newsletter provider", "options": [ { "value": "mailchimp", "label": "Mailchimp" } ] }, 17789 { "type": "text", "name": "email-placeholder", "default": "E.g. [email protected]", "description": "Email placeholder" }, 17790 { "type": "options", "name": "mailchimp-style", "default": "email", "description": "Style", "options": [ { "value": "email", "label": "Only email" }, { "value": "email-with-names", "label": "First name, last name, email" } ] }, 17791 { "type": "text", "name": "mailchimp-form-domain", "default": "kinderdonations.us14.list-manage.com", "description": "Mailchimp domain" }, 17792 { "type": "text", "name": "mailchimp-form-id", "default": "", "description": "Mailchimp form ID (10 chars)" }, 17793 { "type": "text", "name": "mailchimp-form-key", "default": "", "description": "Mailchimp form key (26 chars)" }, 17794 { "type": "text", "name": "action-text", "default": "Add", "description": "Subscribe text" }, 17795 { "type": "text", "name": "description", "default": "", "description": "Description" }, 17796 ]; 17797}; 17798Mfe.Widgets['newsletter-signup'].prototype.onRender = function() { 17799 return this.renderContent(); 17800}; 17801 17802Mfe.Widgets['newsletter-signup'].prototype.onAttach = function() { 17803 17804}; 17805 17806Mfe.Widgets['newsletter-signup'].prototype.display = function(html) { 17807 this.setElementHtml(html); 17808}; 17809 17810Mfe.Widgets['newsletter-signup'].prototype.renderContent = function() { 17811 var optionProvider = this.getOption('provider'); 17812 var optionProviderStyle = this.getOption(optionProvider + '-style'); 17813 17814 var templateName = optionProvider + '-' + optionProviderStyle; 17815 17816 var templateVars = { 17817 'editable': (this.mfe.viewMode == 'edit'), 17818 'actionText': this.getOption('action-text', ''), 17819 'description': this.getOption('description', ''), 17820 'emailPlaceholder': this.getSettingConfig('email-placeholder', true), 17821 'mailchimpDomain': this.getOption('mailchimp-form-domain', 'kinderdonations.us14.list-manage.com'), 17822 'mailchimpFormId': this.getOption('mailchimp-form-id', ''), 17823 'mailchimpFormKey': this.getOption('mailchimp-form-key', '') 17824 }; 17825 17826 var baseTemplate = this.mfe.getTemplate('widgets', 'newsletter-signup', templateName); 17827 var baseTemplateHtml = baseTemplate(templateVars); 17828 17829 return baseTemplateHtml; 17830}; 17831 17832Mfe.Widgets['pagination'] = function(mfe, widgetId, options) { 17833 this.mfe = mfe; 17834 this.name = 'pagination'; 17835 this.baseTemplate = 'base-default'; 17836 Mfe.Widget.apply(this, arguments); 17837}; 17838Mfe.Widgets['pagination'].inherits(Mfe.Widget);
17839Mfe.Widgets['pagination'].title = 'Pagination'; 17840Mfe.Widgets['pagination'].getSettings = function() { 17841 return [ 17842 { "type": "boolean", "name": "show-nothing-found", "default": true, "description": "Show message if nothing is found" } 17843 ]; 17844}; 17845 17846Mfe.Widgets['pagination'].prototype.onRender = function() { 17847 var baseTemplate = this.mfe.getTemplate('widgets', 'pagination', this.baseTemplate); 17848 17849 var totalItems = 12; 17850 var totalPages = 0; 17851 var itemsPerPage = 12; 17852 var pageBasePath = '/'; 17853 var currentPage = 1; 17854 17855 if (this.mfe.context == 'search') { 17856 totalItems = parseInt(this.mfe.contextObject.getTotalMatches()); 17857 itemsPerPage = parseInt(this.mfe.contextObject.getItemsPerPage()); 17858 totalPages = Math.ceil(totalItems / itemsPerPage); 17859 currentPage = parseInt(this.mfe.contextParams.page); 17860 17861 pageBasePath = this.mfe.pagePath + '?'; 17862 if (typeof this.mfe.contextParams.query !== 'undefined' && this.mfe.contextParams.query.length > 0) { 17863 pageBasePath += 'q=' + encodeURIComponent(this.mfe.contextParams.query) + '&'; 17864 } 17865 if (typeof this.mfe.contextParams.authors !== 'undefined' && this.mfe.contextParams.authors.length > 0) { 17866 //pageBasePath += 'q=' + encodeURIComponent(this.mfe.contextParams.query) + '&'; 17867 } 17868 if (typeof this.mfe.contextParams.tags !== 'undefined' && this.mfe.contextParams.tags.length > 0) { 17869 pageBasePath += 't=' + encodeURIComponent(this.mfe.contextParams.tags) + '&'; 17870 } 17871 if (typeof this.mfe.contextParams.storylines !== 'undefined' && this.mfe.contextParams.storylines.length > 0) { 17872 //pageBasePath += 'q=' + encodeURIComponent(this.mfe.contextParams.query) + '&'; 17873 } 17874 17875 pageBasePath += 'p='; 17876 } 17877 17878 var templateVars = { 17879 'currentPage': currentPage, 17880 'totalItems': totalItems, 17881 'totalPages': totalPages, 17882 'pages': [], 17883 'prev': null, 17884 'next': null, 17885 'showNothingFound': this.getSettingConfig('show-nothing-found') 17886 }; 17887 17888 if (currentPage > 1) { 17889 templateVars.prev = { 17890 'number': (currentPage - 1), 17891 'path': pageBasePath + encodeURIComponent((currentPage - 1)) 17892 }; 17893 } 17894 17895 if (currentPage < totalPages) { 17896 templateVars.next = { 17897 'number': (currentPage + 1), 17898 'path': pageBasePath + encodeURIComponent((currentPage + 1)) 17899 }; 17900 } 17901 17902 for (var i = 0; i < totalPages; i++) { 17903 var pageNo = i + 1; 17904 17905 templateVars.pages.push({ 17906 'number': pageNo, 17907 'path': pageBasePath + encodeURIComponent(pageNo) 17908 }); 17909 } 17910 17911 var baseTemplateHtml = baseTemplate(templateVars); 17912 return baseTemplateHtml; 17913}; 17914 17915Mfe.Widgets['pagination'].prototype.onAttach = function() {}; 17916Mfe.Widgets['pagination'].prototype.onSettingChanged = function(settingName, settingValue) {}; 17917Mfe.Widgets['pagination'].prototype.enterEditMode = function(setting) {}; 17918 17919Mfe.Widgets['payment-check'] = function(mfe, widgetId, options) { 17920 this.mfe = mfe; 17921 this.name = 'payment-check'; 17922 this.baseTemplate = 'base-default'; 17923 17924 Mfe.Widget.apply(this, arguments); 17925 17926 this.player = null; 17927}; 17928Mfe.Widgets['payment-check'].inherits(Mfe.Widget); 17929Mfe.Widgets['payment-check'].title = 'Payment check'; 17930Mfe.Widgets['payment-check'].getSettings = function() { 17931 return [ 17932 { "type": "text", "name": "redirect-payment-mmd-success", "default": "", "description": "Redirect MMD payments - success" }, 17933 { "type": "text", "name": "redirect-payment-mmd-success-gift", "default": "", "description": "Redirect MMD payments - success gift" }, 17934 { "type": "text", "name": "redirect-payment-mmd-cancelled", "default": "", "description": "Redirect MMD payments - cancelled" }, 17935 { "type": "text", "name": "redirect-payment-donation-success", "default": "", "description": "Redirect donation payments - success" }, 17936 { "type": "text", "name": "redirect-payment-donation-cancelled", "default": "", "description": "Redirect donation payments - cancelled" }, 17937 ]; 17938}; 17939 17940Mfe.Widgets['payment-check'].prototype.onRender = function() { 17941 var baseTemplate = this.mfe.getTemplate('widgets', 'payment-check', this.baseTemplate); 17942 var templateVars = {}; 17943 var baseTemplateHtml = baseTemplate(templateVars); 17944 return baseTemplateHtml; 17945}; 17946 17947Mfe.Widgets['payment-check'].prototype.onAttach = function() { 17948 var queryParams = Mfe.Utils.Text.parseQueryParams(window.location.search.substring(1)); 17949 17950 var action = 'check'; 17951 if (typeof queryParams['action'] !== 'undefined') { 17952 action = queryParams['action']; 17953 } 17954 17955 if (typeof queryParams['pid'] !== 'undefined') { 17956 var paymentId = queryParams['pid']; 17957 } else if (typeof queryParams['ref'] !== 'undefined') { 17958 var paymentId = queryParams['ref']; 17959 } 17960
17961 if (paymentId.substring(0, 5) == 'MMDR-') { 17962 this.paymentType = 'mmd-rental'; 17963 this.paymentId = paymentId.substring(5); 17964 } else if (paymentId.substring(0, 2) == 'D-') { 17965 this.paymentType = 'donation'; 17966 this.donationId = paymentId.substring(2); 17967 } else if (paymentId.substring(0, 3) == 'ds-') { 17968 this.paymentType = 'donation'; 17969 this.donationId = paymentId; 17970 } else if (paymentId.substring(0, 3) == 'dr-') { 17971 this.paymentType = 'donation'; 17972 this.donationId = paymentId; 17973 } 17974 17975 if (action == 'check') { 17976 if (this.paymentType == 'mmd-rental') { 17977 this.checkPayment(); 17978 } else if (this.paymentType == 'donation') { 17979 this.checkPayment(); 17980 } 17981 } else if (action == 'activatePayForward') { 17982 this.activatePayForward(); 17983 } 17984}; 17985 17986Mfe.Widgets['payment-check'].prototype.checkPayment = function() { 17987 var self = this; 17988 if (this.paymentType == 'mmd-rental') { 17989 var siteName = this.mfe.siteBundle.getName(); 17990 Mfe.Api.MediaDistribution.getRentalStatus(siteName, this.paymentId, function(result, response) { 17991 if (result !== true) { 17992 alert('Could not check payment status'); 17993 return; 17994 } 17995 17996 if (response.paymentStatus == 'paid') { 17997 if (response.type == 'payforward') { 17998 var redirectUrl = self.getOption('redirect-payment-mmd-success-gift', '/'); 17999 } else { 18000 var redirectUrl = self.getOption('redirect-payment-mmd-success', '/'); 18001 } 18002 window.location.href = redirectUrl + 'MMDR-' + self.paymentId; 18003 return; 18004 } else if (response.paymentStatus == 'cancelled') { 18005 var redirectUrl = self.getOption('redirect-payment-mmd-cancelled', '/'); 18006 window.location.href = redirectUrl; 18007 return; 18008 } else if (response.paymentStatus == 'refused') { 18009 alert('Payment has been refused, going back!'); 18010 return; 18011 } else if (response.paymentStatus == 'timeout') { 18012 alert('Payment has timedout, going back!'); 18013 return; 18014 } 18015 18016 self.checkPaymentTimeout = setTimeout(function(){ 18017 self.checkPayment(); 18018 }, 1000); 18019 }); 18020 } else if (this.paymentType == 'donation') { 18021 var siteName = this.mfe.siteBundle.getName(); 18022 18023 Mfe.Api.Donations.getStatus(siteName, this.donationId, function(result, paymentStatus) { 18024 18025 if (result !== true) { 18026 //alert('Could not check payment status'); 18027 return; 18028 } 18029 18030 if (paymentStatus == 'paid' || paymentStatus === 'active') { 18031 var redirectUrl = self.getOption('redirect-payment-donation-success', '/'); 18032 window.location.href = redirectUrl + '?ref=' + self.donationId; 18033 return; 18034 } else if (paymentStatus == 'cancelled') { 18035 var redirectUrl = self.getOption('redirect-payment-donation-cancelled', '/'); 18036 window.location.href = redirectUrl; 18037 return; 18038 } else if (paymentStatus == 'refused') { 18039 var redirectUrl = self.getOption('redirect-payment-donation-cancelled', '/'); 18040 window.location.href = redirectUrl; 18041 return; 18042 } else if (paymentStatus == 'timeout') { 18043 var redirectUrl = self.getOption('redirect-payment-donation-cancelled', '/'); 18044 window.location.href = redirectUrl; 18045 return; 18046 } 18047 18048 self.checkPaymentTimeout = setTimeout(function(){ 18049 self.checkPayment(); 18050 }, 1000); 18051 }); 18052 } 18053}; 18054 18055Mfe.Widgets['payment-check'].prototype.activatePayForward = function() { 18056 var self = this; 18057 if (this.paymentType == 'mmd-rental') { 18058 var siteName = this.mfe.siteBundle.getName(); 18059 Mfe.Api.MediaDistribution.activatePayForward(siteName, this.paymentId, function(result, response) { 18060 if (result !== true) { 18061 alert('Could not check activate pay forward'); 18062 return; 18063 } 18064 18065 alert(result); 18066 18067 /*if (response.paymentStatus == 'paid') { 18068 if (response.type == 'payforward') { 18069 var redirectUrl = self.getOption('redirect-payment-mmd-success-gift', '/'); 18070 } else { 18071 var redirectUrl = self.getOption('redirect-payment-mmd-success', '/'); 18072 } 18073 window.location.href = redirectUrl + 'MMDR-' + self.paymentId; 18074 return; 18075 } else if (response.paymentStatus == 'cancelled') { 18076 var redirectUrl = self.getOption('redirect-payment-mmd-cancelled', '/'); 18077 window.location.href = redirectUrl; 18078 return; 18079 } else if (response.paymentStatus == 'refused') { 18080 alert('Payment has been refused, going back!'); 18081 return; 18082 } else if (response.paymentStatus == 'timeout') {
18083 alert('Payment has timedout, going back!'); 18084 return; 18085 } 18086 18087 alert(response.paymentStatus); 18088 18089 self.checkPaymentTimeout = setTimeout(function(){ 18090 self.checkPayment(); 18091 }, 1000);*/ 18092 }); 18093 } 18094}; 18095 18096Mfe.Widgets['player'] = function(mfe, widgetId, options) { 18097 this.mfe = mfe; 18098 this.name = 'player'; 18099 this.baseTemplate = 'base-default'; 18100 18101 Mfe.Widget.apply(this, arguments); 18102 18103 this.mode = 'mmd'; 18104 this.mmdHasRentalCode = false; 18105 18106 this.player = null; 18107}; 18108Mfe.Widgets['player'].inherits(Mfe.Widget); 18109Mfe.Widgets['player'].title = 'Player'; 18110Mfe.Widgets['player'].getSettings = function() { 18111 return [ 18112 { "type": "text", "name": "payment-redirect-url", "default": "", "description": "Redirect to URL after payment" }, 18113 { "type": "text", "name": "media-identifier", "default": "", "description": "Media identifier" }, 18114 { "type": "text", "name": "media-cover-image", "default": "", "description": "Media cover image" }, 18115 { "type": "options", "name": "mode", "default": "mmd", "description": "Input style", "options": [ 18116 { "value": "mmd", "label": "MMD" }, 18117 { "value": "simple", "label": "Simple player" } 18118 ] 18119 }, 18120 { "type": "text", "name": "lang-simple-start-video", "default": "Bekijk trailer", "description": "Simple start video text" }, 18121 { "type": "text", "name": "lang-mmd-home-content", "default": "", "description": "Main content" }, 18122 { "type": "text", "name": "lang-mmd-button-main-rent", "default": "Huur en kijk direct", "description": "Main Rental button text" }, 18123 { "type": "text", "name": "lang-mmd-button-main-gift", "default": "Geef cadeau", "description": "Main Gift button text" }, 18124 { "type": "text", "name": "lang-mmd-button-main-trailer", "default": "Bekijk trailer", "description": "Main Trailer button text" }, 18125 18126 { "type": "text", "name": "lang-mmd-rent-info-title-html", "default": "Rent <strong>DOWN to EARTH</strong> for €4,99", "description": "Rent Info title text" }, 18127 { "type": "text", "name": "lang-mmd-rent-info-description-html", "default": "", "description": "Rent Info description text" }, 18128 { "type": "text", "name": "lang-mmd-rent-info-button-back", "default": "Back", "description": "Rent Info Back-button text" }, 18129 { "type": "text", "name": "lang-mmd-rent-info-button-continue", "default": "Continue to payment", "description": "Rent Info continue-button text" }, 18130 18131 { "type": "text", "name": "lang-mmd-rent-title-html", "default": "Rent <strong>DOWN to EARTH</strong> for €4,99", "description": "Rent title text" }, 18132 { "type": "text", "name": "lang-mmd-rent-description-html", "default": "You will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.", "description": "Rent description text" }, 18133 18134 { "type": "text", "name": "lang-mmd-rent-input-label-email", "default": "Your email address", "description": "Rent input label email text" }, 18135 { "type": "text", "name": "lang-mmd-rent-input-placeholder-email", "default": "e.g. [email protected]", "description": "Rent input placeholder email text" }, 18136 { "type": "text", "name": "lang-mmd-rent-button-back", "default": "Back", "description": "Rent Back-button text" }, 18137 { "type": "text", "name": "lang-mmd-rent-button-continue", "default": "Continue to payment", "description": "Rent Continue-button text" }, 18138 { "type": "text", "name": "lang-mmd-gift-title-html", "default": "Rent <strong>DOWN to EARTH</strong> for €4,99", "description": "Gift title text" }, 18139 { "type": "text", "name": "lang-mmd-gift-description-html", "default": "The recipient will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.", "description": "Gift description text" }, 18140 { "type": "text", "name": "lang-mmd-gift-input-label-email-sender", "default": "Your email address", "description": "Gift input label email text" }, 18141 { "type": "text", "name": "lang-mmd-gift-input-label-email-recipient", "default": "Recipient email", "description": "Gift input label email text" }, 18142 { "type": "text", "name": "lang-mmd-gift-input-label-name-sender", "default": "Your name", "description": "Gift input label sender email text" },
18143 { "type": "text", "name": "lang-mmd-gift-input-label-name-recipient", "default": "Recipient name", "description": "Gift input label recipient email text" }, 18144 { "type": "text", "name": "lang-mmd-gift-input-placeholder-email-sender", "default": "e.g. [email protected]", "description": "Gift input placeholder email text" }, 18145 { "type": "text", "name": "lang-mmd-gift-input-placeholder-email-recipient", "default": "e.g. [email protected]", "description": "Gift input placeholder email text" }, 18146 { "type": "text", "name": "lang-mmd-gift-input-placeholder-name-sender", "default": "e.g. Elon Musk", "description": "Gift input placeholder sender name text" }, 18147 { "type": "text", "name": "lang-mmd-gift-input-placeholder-name-recipient", "default": "e.g. Berry", "description": "Gift input placeholder recipient name text" }, 18148 { "type": "text", "name": "lang-mmd-gift-button-back", "default": "Back", "description": "Gift Back-button text" }, 18149 { "type": "text", "name": "lang-mmd-gift-button-continue", "default": "Continue to payment", "description": "Gift Continue-button text" }, 18150 18151 18152 { "type": "text", "name": "lang-mmd-gift-info-title-html", "default": "Rent <strong>DOWN to EARTH</strong> for €4,99", "description": "Gift Info title text" }, 18153 { "type": "text", "name": "lang-mmd-gift-info-description-html", "default": "", "description": "Gift Info description text" }, 18154 { "type": "text", "name": "lang-mmd-gift-info-button-back", "default": "Back", "description": "Gift Info Back-button text" }, 18155 { "type": "text", "name": "lang-mmd-gift-info-button-continue", "default": "Continue to payment", "description": "Gift Info continue-button text" }, 18156 18157 ]; 18158}; 18159 18160Mfe.Widgets['player'].prototype.onRender = function() { 18161 var mode = this.getSettingConfig('mode', 'mmd'); 18162 18163 var mediaIdentifier = ''; 18164 18165 if (mode == 'simple') { 18166 this.baseTemplate = 'simple'; 18167 mediaIdentifier = this.getSettingConfig('media-identifier', ''); 18168 } 18169 18170 var mediaCoverImage = this.getSettingConfig('media-cover-image', ''); 18171 18172 var baseTemplate = this.mfe.getTemplate('widgets', 'player', this.baseTemplate); 18173 var templateVars = { 18174 'mediaIdentifier': mediaIdentifier, 18175 'mediaCoverImage': mediaCoverImage, 18176 'langSimpleStartVideo': this.getSettingConfig('lang-simple-start-video', 'Bekijk trailer'), 18177 'langMmdHomeContent': this.getSettingConfig('lang-mmd-home-content', ''), 18178 'langMmdButtonMainRent': this.getSettingConfig('lang-mmd-button-main-rent', 'Huur en kijk direct'), 18179 'langMmdButtonMainGift': this.getSettingConfig('lang-mmd-button-main-gift', 'Geef cadeau'), 18180 'langMmdButtonMainTrailer': this.getSettingConfig('lang-mmd-button-main-trailer', 'Bekijk trailer'), 18181 'langMmdRentTitleHtml': this.getSettingConfig('lang-mmd-rent-title-html', 'Rent <strong>DOWN to EARTH</strong> for €4,99'), 18182 'langMmdRentDescriptionHtml': this.getSettingConfig('lang-mmd-rent-description-html', 'You will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.'), 18183 'langMmdRentInputLabelEmail': this.getSettingConfig('lang-mmd-rent-input-label-email', 'Your email address'), 18184 'langMmdRentInputPlaceholderEmail': this.getSettingConfig('lang-mmd-rent-input-placeholder-email', 'e.g. [email protected]'), 18185 'langMmdRentButtonBack': this.getSettingConfig('lang-mmd-rent-button-back', 'Back'), 18186 'langMmdRentButtonContinue': this.getSettingConfig('lang-mmd-rent-button-continue', 'Continue to payment'), 18187 'langMmdRentInfoTitleHtml': this.getSettingConfig('lang-mmd-rent-info-title-html', 'Rent <strong>DOWN to EARTH</strong> for €4,99'), 18188 'langMmdRentInfoDescriptionHtml': this.getSettingConfig('lang-mmd-rent-info-description-html', 'You will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.'), 18189 /*'langMmdRentInfoInputLabelEmail': this.getSettingConfig('lang-mmd-rent-info-input-label-email', 'Your email address'), 18190 'langMmdRentInfoInputPlaceholderEmail': this.getSettingConfig('lang-mmd-rent-info-input-placeholder-email', 'e.g. [email protected]'),*/ 18191 'langMmdRentInfoButtonBack': this.getSettingConfig('lang-mmd-rent-info-button-back', 'Back'),
18192 'langMmdRentInfoButtonContinue': this.getSettingConfig('lang-mmd-rent-info-button-continue', 'Continue to payment'), 18193 'langMmdGiftTitleHtml': this.getSettingConfig('lang-mmd-gift-title-html', 'Rent <strong>DOWN to EARTH</strong> for €4,99'), 18194 'langMmdGiftDescriptionHtml': this.getSettingConfig('lang-mmd-gift-description-html', 'The recipient will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.'), 18195 'langMmdGiftInputLabelEmailSender': this.getSettingConfig('lang-mmd-gift-input-label-email-sender', 'Your email address'), 18196 'langMmdGiftInputLabelEmailRecipient': this.getSettingConfig('lang-mmd-gift-input-label-email-recipient', 'Your email address'), 18197 'langMmdGiftInputLabelNameSender': this.getSettingConfig('lang-mmd-gift-input-label-name-sender', 'Your email address'), 18198 'langMmdGiftInputLabelNameRecipient': this.getSettingConfig('lang-mmd-gift-input-label-name-recipient', 'Your email address'), 18199 'langMmdRentInputPlaceholderEmailSender': this.getSettingConfig('lang-mmd-gift-input-placeholder-email-sender', 'e.g. [email protected]'), 18200 'langMmdRentInputPlaceholderEmailRecipient': this.getSettingConfig('lang-mmd-gift-input-placeholder-email-recipient', 'e.g. [email protected]'), 18201 'langMmdRentInputPlaceholderNameSender': this.getSettingConfig('lang-mmd-gift-input-placeholder-name-sender', 'e.g. [email protected]'), 18202 'langMmdRentInputPlaceholderNameRecipient': this.getSettingConfig('lang-mmd-gift-input-placeholder-name-recipient', 'e.g. [email protected]'), 18203 'langMmdGiftButtonBack': this.getSettingConfig('lang-mmd-rent-button-back', 'Back'), 18204 'langMmdGiftButtonContinue': this.getSettingConfig('lang-mmd-rent-button-continue', 'Continue to payment'), 18205 18206 'langMmdGiftInfoTitleHtml': this.getSettingConfig('lang-mmd-gift-info-title-html', 'Rent <strong>DOWN to EARTH</strong> for €4,99'), 18207 'langMmdGiftInfoDescriptionHtml': this.getSettingConfig('lang-mmd-gift-info-description-html', 'You will be able to watch DOWN to EARTH online for 36 hours.<br />Payments are securely processed by Mollie.'), 18208 'langMmdGiftInfoButtonBack': this.getSettingConfig('lang-mmd-gift-info-button-back', 'Back'), 18209 'langMmdGiftInfoButtonContinue': this.getSettingConfig('lang-mmd-gift-info-button-continue', 'Continue to payment'), 18210 18211 }; 18212 var baseTemplateHtml = baseTemplate(templateVars); 18213 return baseTemplateHtml; 18214}; 18215 18216Mfe.Widgets['player'].prototype.initJsHls = function(cb) { 18217 var self = this; 18218 18219 var beforeEl = document.getElementsByTagName('script')[0]; 18220 var scriptEl = document.createElement('script'); 18221 scriptEl.async=1; 18222 scriptEl.src='/static/js/libs/hls.js'; 18223 scriptEl.onload = function(){}; 18224 beforeEl.parentNode.insertBefore(scriptEl,beforeEl); 18225}; 18226 18227Mfe.Widgets['player'].prototype.initJsFingerprint = function(cb) { 18228 var self = this; 18229 18230 var beforeEl = document.getElementsByTagName('script')[0]; 18231 var scriptEl = document.createElement('script'); 18232 scriptEl.async=1; 18233 scriptEl.src='/static/js/libs/fingerprint2.js'; 18234 scriptEl.onload = function(){}; 18235 beforeEl.parentNode.insertBefore(scriptEl,beforeEl); 18236}; 18237 18238Mfe.Widgets['player'].prototype.onAttach = function() { 18239 var self = this; 18240 18241 this.initJsHls(); 18242 this.initJsFingerprint(); 18243 18244 var mode = this.getSettingConfig('mode', 'mmd'); 18245 18246 if (mode == 'simple') { 18247 18248 this.$el.find('.player-poster').on('click', function(e){ 18249 var mediaIdentifier = self.getSettingConfig('media-identifier', ''); 18250 self.loadMediaUsingIdentifier(mediaIdentifier); 18251 }); 18252 } else { 18253 18254 } 18255 18256 18257 this.$el.find('.mmd .screens > .has-rented button.play').on('click', function(e){ 18258 self.showMmdScreen('play', { 'action': 'play' }); 18259 }); 18260 18261 this.$el.find('.mmd .screens > .home button.rent').on('click', function(e){ 18262 self.showMmdScreen('rent-info', { 'action': 'rent-info' }); 18263 }); 18264 18265 this.$el.find('.mmd .screens > .home button[data-action="rent"]').on('click', function(e){ 18266 self.showMmdScreen('rent-info', {}); 18267 }); 18268 18269 this.$el.find('.mmd .screens > .home button[data-action="trailer"]').on('click', function(e){ 18270 self.showMmdScreen('trailer', {}); 18271 }); 18272 18273 this.$el.find('.mmd .screens > .home button[data-action="gift"]').on('click', function(e){ 18274 self.showMmdScreen('rent-payforward-info', { }); 18275 }); 18276 18277 /*this.$el.find('.mmd button.rent').on('click', function(e){ 18278 self.showMmdScreen('login', { 'action': 'rent' }); 18279 });*/ 18280 18281 this.$el.find('.mmd .rent-payforward button[data-action="back"]').on('click', function(e){ 18282 self.showMmdScreen('home', {}); 18283 }); 18284 18285 this.$el.find('.mmd .rent button[data-action="back"], .mmd .rent-info button[data-action="back"], .mmd .rent-payforward-info button[data-action="back"]').on('click', function(e){ 18286 self.showMmdScreen('home', {}); 18287 }); 18288 18289 this.$el.find('.mmd .rent-info button[data-action="continue"]').on('click', function(e){ 18290 self.showMmdScreen('rent', {}); 18291 }); 18292 18293 this.$el.find('.mmd .rent-payforward-info button[data-action="continue"]').on('click', function(e){ 18294 self.showMmdScreen('rent-payforward', {}); 18295 }); 18296 18297 this.$el.find('.close-trailer').on('click', function(e) { 18298 if (self.player && self.player.destroy) { 18299 self.player.destroy(); 18300 } 18301 $('html').removeClass('player-video-playing'); 18302 self.showMmdScreen('home', {}); 18303 }); 18304 18305 this.$el.find('.mmd .rent button[data-action="rent"]').on('click', function(e){ 18306 var $emailInputEl = self.$el.find('.mmd .rent input[name="email"]'); 18307 18308 var fieldEmail = $emailInputEl.val(); 18309 var fieldRentalProductId = '1'; 18310 18311 var siteName = self.mfe.siteBundle.getName(); 18312 18313 var redirectUrl = self.getOption('payment-redirect-url', ''); 18314 if (redirectUrl.substring(0, 1) == '/') { 18315 redirectUrl = 'https://' + document.domain + redirectUrl; 18316 } 18317 18318 var pageLanguage; 18319 if (self.mfe.currentPage.pageLanguage) { 18320 pageLanguage = self.mfe.currentPage.pageLanguage; 18321 } else if (self.mfe.currentPage.language) { 18322 pageLanguage = self.mfe.currentPage.language; 18323 } 18324 18325 Mfe.Api.MediaDistribution.rent(siteName, pageLanguage, fieldEmail, fieldRentalProductId, redirectUrl, 'normal', '', '','', '', function(result, response) { 18326 if (result !== true) {
18327 alert('Could not create this payment'); 18328 return; 18329 } 18330 18331 if (response.type == 'redirect') { 18332 if (response.url === null) { 18333 alert('Could not create payment. Please try again later.'); 18334 return; 18335 } 18336 18337 window.location.href = response.url; 18338 } 18339 }); 18340 }); 18341 18342 this.$el.find('.mmd .rent-payforward button[data-action="rent"]').on('click', function(e){ 18343 var $nameInputEl = self.$el.find('.mmd .rent-payforward input[name="name"]'); 18344 var $emailInputEl = self.$el.find('.mmd .rent-payforward input[name="email"]'); 18345 var $recipientNameInputEl = self.$el.find('.mmd .rent-payforward input[name="recipientName"]'); 18346 var $recipientEmailInputEl = self.$el.find('.mmd .rent-payforward input[name="recipientEmail"]'); 18347 18348 var fieldEmail = $emailInputEl.val(); 18349 var fieldName = $nameInputEl.val(); 18350 var fieldRecipientEmail = $recipientEmailInputEl.val(); 18351 var fieldRecipientName = $recipientNameInputEl.val(); 18352 18353 var fieldRentalProductId = '1'; 18354 18355 var siteName = self.mfe.siteBundle.getName(); 18356 18357 var redirectUrl = self.getOption('payment-redirect-url', ''); 18358 if (redirectUrl.substring(0, 1) == '/') { 18359 redirectUrl = 'https://' + document.domain + redirectUrl; 18360 } 18361 18362 var pageLanguage; 18363 if (self.mfe.currentPage.pageLanguage) { 18364 pageLanguage = self.mfe.currentPage.pageLanguage; 18365 } else if (self.mfe.currentPage.language) { 18366 pageLanguage = self.mfe.currentPage.language; 18367 } 18368 18369 Mfe.Api.MediaDistribution.rent(siteName, pageLanguage, fieldEmail, fieldRentalProductId, redirectUrl, 'payforward', fieldName, fieldRecipientEmail, fieldRecipientName, '', function(result, response) { 18370 if (result !== true) { 18371 alert('Could not create this payment'); 18372 return; 18373 } 18374 18375 if (response.type == 'redirect') { 18376 if (response.url === null) { 18377 alert('Could not create payment. Please try again later.'); 18378 return; 18379 } 18380 18381 window.location.href = response.url; 18382 } 18383 }); 18384 }); 18385 18386 // Load video depending on mode 18387 var queryParams = Mfe.Utils.Text.parseQueryParams(window.location.search.substring(1)); 18388 18389 if (mode == 'mmd') { 18390 var initialScreen = 'home'; 18391 if (this.mode == 'mmd') { 18392 if (typeof queryParams.t !== 'undefined' && queryParams.t.substring(0,5) == 'MMDR-') { 18393 this.mmdHasRentalCode = true; 18394 this.rentalCode = queryParams.t.substring(5); 18395 initialScreen = 'has-rented'; 18396 } 18397 } 18398 18399 var hash = null; 18400 if (typeof this.mfe.pageHash !== 'undefined' && this.mfe.pageHash !== null) { 18401 hash = this.mfe.pageHash; 18402 } else if (window.location.hash) { 18403 hash = window.location.hash; 18404 } 18405 18406 if (hash == '#rent') { 18407 this.showMmdScreen('rent-info'); 18408 } else if (hash == '#gift') { 18409 this.showMmdScreen('rent-payforward-info'); 18410 } else { 18411 this.showMmdScreen(initialScreen); 18412 } 18413 18414 } 18415}; 18416 18417Mfe.Widgets['player'].prototype.showMmdScreen = function(screen, options) { 18418 var self = this; 18419 18420 this.$el.find('.mmd .screens > *').removeClass('show'); 18421 18422 if (screen == 'trailer') { 18423 this.$el.find('.mmd').hide(); 18424 this.$el.find('.player').addClass('show'); 18425 this.$el.find('.close-trailer').addClass('show'); 18426 18427 this.loadMediaUsingIdentifier('trailer-en'); 18428 18429 } else if (screen == 'rent') { 18430 this.$el.find('.player').removeClass('show'); 18431 this.$el.find('.close-trailer').removeClass('show'); 18432 this.$el.find('.mmd').show(); 18433 this.$el.find('.mmd .screens .' + screen).addClass('show'); 18434 18435 // Load video 18436 //this.loadMediaUsingIdentifier('docu-nl'); 18437 } else if (screen == 'rent-info') { 18438 this.$el.find('.player').removeClass('show'); 18439 this.$el.find('.close-trailer').removeClass('show'); 18440 this.$el.find('.mmd').show(); 18441 this.$el.find('.mmd .screens .' + screen).addClass('show'); 18442 18443 // Load video 18444 //this.loadMediaUsingIdentifier('docu-nl'); 18445 } else if (screen == 'has-rented') { 18446 this.$el.find('.mmd').hide(); 18447 this.$el.find('.mmd').show(); 18448 this.$el.find('.mmd .screens .' + screen).addClass('show'); 18449 } else if (screen == 'play') { 18450 this.$el.find('.mmd').hide(); 18451 this.$el.find('.player').addClass('show'); 18452 this.$el.find('.close-trailer').removeClass('show'); 18453 18454 // Load video 18455 this.loadMediaUsingIdentifier('docu-nl'); 18456 } else { 18457 this.$el.find('.player').removeClass('show'); 18458 this.$el.find('.mmd').show(); 18459 this.$el.find('.close-trailer').removeClass('show'); 18460 this.$el.find('.mmd .screens .' + screen).addClass('show'); 18461 } 18462}; 18463 18464Mfe.Widgets['player'].prototype.showMmdPurchaseScreen = function(email) { 18465 18466}; 18467 18468Mfe.Widgets['player'].prototype.loadMediaUsingIdentifier = function(mmdMediaIdentifier) { 18469 var self = this;
18470 var mode = this.getSettingConfig('mode', 'mmd'); 18471 18472 self.player = new Mobypicture.Player(self.$el.find('.player')); 18473 self.player.on('modeChange', function(mode){ 18474 if (mode == 'playing') { 18475 $('html').addClass('player-video-playing'); 18476 } else { 18477 $('html').removeClass('player-video-playing'); 18478 } 18479 }); 18480 18481 self.player.on('ended', function(){ 18482 18483 if (self.player.isModeFullScreen === true) { 18484 self.player.exitFullscreen(); 18485 } 18486 18487 if (mode == 'simple') { 18488 self.$el.find('.player-poster').show(); 18489 } else { 18490 self.$el.find('.mmd').show(); 18491 self.$el.find('.player').removeClass('show'); 18492 self.$el.find('.close-trailer').removeClass('show'); 18493 } 18494 18495 }); 18496 self.player.on('hideControls', function(){ 18497 18498 }); 18499 self.player.on('showControls', function(){ 18500 18501 }); 18502 18503 self.player.setUiMode('loading'); 18504 18505 var media = Mfe.Api.MediaDistribution.getMedia(this.mfe.siteBundle.getName(), mmdMediaIdentifier, function(result, response) { 18506 if (result !== true) { 18507 self.player.setUiMode('error', 'Could not find media, are you sure it exists?'); 18508 return; 18509 } 18510 18511 self.player.load('mmd', response, { 'rentalTicket': self.rentalCode, 'autoplay': true }); 18512 }); 18513}; 18514 18515Mfe.Widgets['player'].prototype.onSettingChanged = function(settingName, settingValue) { 18516 18517}; 18518 18519Mfe.Widgets['player'].prototype.purchaseAccess = function(email, productId) { 18520 18521}; 18522 18523Mfe.Widgets['player'].prototype.loginMmd = function(email) { 18524 18525}; 18526 18527Mfe.Widgets['player'].prototype.enterEditMode = function(setting) { 18528 18529}; 18530Mfe.Widgets['popup'] = function(mfe, widgetId, options) { 18531 this.mfe = mfe; 18532 this.name = 'popup'; 18533 this.state = 'default'; 18534 Mfe.Widget.apply(this, arguments); 18535 18536}; 18537Mfe.Widgets['popup'].inherits(Mfe.Widget); 18538Mfe.Widgets['popup'].prototype.onRender = function(isPreload) { 18539 // Check if this intro has not been rendered ever 18540 /*if (isEmpty(isPreload) === true || isPreload === false) { 18541 this.mfe.addBodyClass('mfe-w-popup-active'); 18542 }*/ 18543 18544 return this.renderContent(); 18545}; 18546 18547Mfe.Widgets['popup'].prototype.display = function(renderHtml) { 18548 this.setElementHtml(renderHtml); 18549}; 18550 18551Mfe.Widgets['popup'].prototype.renderContent = function() { 18552 var templateVars = {}; 18553 18554 var htmlTemplate = this.mfe.getTemplate('widgets', 'popup', 'base-default'); 18555 var html = htmlTemplate(templateVars); 18556 18557 return html; 18558}; 18559 18560Mfe.Widgets['popup'].prototype.onAttach = function(mfe, $el) { 18561 var self = this; 18562 18563 this.isActive = true; 18564 18565 let hasDisabledCookie = false; 18566 var choice = Mfe.Utils.UserAgent.getCookie('cookie-popup-tpm-bid'); 18567 if (typeof choice === 'undefined') { 18568 hasDisabledCookie = false; 18569 } else { 18570 hasDisabledCookie = true; 18571 } 18572 18573 if (hasDisabledCookie === false) { 18574 var htmlTemplate = this.mfe.getTemplate('widgets', 'popup', 'tpm'); 18575 var html = htmlTemplate({}); 18576 18577 let $pageDimEl = $('#page-dim'); 18578 let $popupContainerEl = $(html); 18579 18580 $pageDimEl.addClass('show'); 18581 $popupContainerEl.insertBefore($pageDimEl); 18582 18583 $popupContainerEl.on('click', function() { 18584 $('#popup-container').remove(); 18585 $pageDimEl.removeClass('show'); 18586 Mfe.Utils.UserAgent.setCookie('cookie-popup-tpm-bid', '1', 1000, document.domain); 18587 }); 18588 18589 /*$popupContainerEl.find('button').on('click', function() { 18590 $('#popup-container').remove(); 18591 $pageDimEl.removeClass('show'); 18592 Mfe.Utils.UserAgent.setCookie('cookie-popup-tpm-bid', '1', 1000, document.domain); 18593 });*/ 18594 18595 } 18596 18597}; 18598 18599Mfe.Widgets['postgroup-list'] = function(mfe, widgetId, options) { 18600 this.mfe = mfe; 18601 this.name = 'postgroup-list'; 18602 this.baseTemplate = 'base-default'; 18603 Mfe.Widget.apply(this, arguments); 18604}; 18605Mfe.Widgets['postgroup-list'].inherits(Mfe.Widget); 18606Mfe.Widgets['postgroup-list'].prototype.onRender = function() { 18607 var baseTemplate = this.mfe.getTemplate('widgets', 'postgroup-list', this.baseTemplate); 18608 18609 var templateVars = { 18610 'postGroups': [] 18611 }; 18612 18613 var postGroups = this.mfe.siteBundle.getCmsBlogGroups(); 18614 for (var i = 0; i < postGroups.length; i++) { 18615 var postGroup = postGroups[i]; 18616 templateVars.postGroups.push(postGroup.getTemplateVars()); 18617 } 18618 18619 18620 var baseTemplateHtml = baseTemplate(templateVars); 18621 return baseTemplateHtml; 18622}; 18623 18624Mfe.Widgets['postgroup-list'].prototype.onAttach = function() { 18625 18626}; 18627 18628Mfe.Widgets['quote'] = function(mfe, widgetId, options) { 18629 this.mfe = mfe; 18630 this.name = 'quote'; 18631 this.baseTemplate = 'base-default'; 18632 Mfe.Widget.apply(this, arguments); 18633}; 18634Mfe.Widgets['quote'].inherits(Mfe.Widget);
18635Mfe.Widgets['quote'].title = 'Quote'; 18636Mfe.Widgets['quote'].getSettings = function() { 18637 return [ 18638 { "type": "text", "name": "quote-text", "default": null, "description": "Quote text" }, 18639 { "type": "text", "name": "quote-source", "default": null, "description": "Quote source" }, 18640 { "type": "text", "name": "quote-source-url", "default": null, "description": "Quote source URL" }, 18641 { "type": "font", "name": "font", "default": null, "description": "Font" }, 18642 { "type": "font", "name": "font-source", "default": null, "description": "Font for source" } 18643 ]; 18644}; 18645Mfe.Widgets['quote'].prototype.onRender = function() { 18646 var baseTemplate = this.mfe.getTemplate('widgets', 'quote', this.baseTemplate); 18647 18648 var fontConfig = this.getOption('font', null); 18649 if (fontConfig !== null) { 18650 var fontCssVars = Mfe.Fonts.generateFontConfigCssVars('quote-text', fontConfig, this.mfe); 18651 } 18652 18653 var fontSourceConfig = this.getOption('font-source', null); 18654 if (fontSourceConfig !== null) { 18655 var fontSourceCssVars = Mfe.Fonts.generateFontConfigCssVars('quote-source', fontSourceConfig, this.mfe); 18656 } 18657 18658 var templateVars = { 18659 'editable': (this.mfe.viewMode == 'edit'), 18660 'quoteText': this.getSettingConfig('quote-text'), 18661 'quoteSource': this.getSettingConfig('quote-source'), 18662 'quoteSourceUrl': this.getSettingConfig('quote-source-url'), 18663 'fontCssVars': fontCssVars, 18664 'fontSourceCssVars': fontSourceCssVars 18665 }; 18666 18667 var baseTemplateHtml = baseTemplate(templateVars); 18668 return baseTemplateHtml; 18669}; 18670 18671Mfe.Widgets['quote'].prototype.onAttach = function() { 18672 var self = this; 18673 if (this.mfe.viewMode == 'edit') { 18674 var $editableEls = this.$el.find(' > *'); 18675 var $editableEl = $($editableEls[0]); 18676 18677 $editableEl.on('blur', function(e) { 18678 18679 $editableEl.attr('contenteditable', false); 18680 $editableEl.removeClass('mfe-editable-editing'); 18681 18682 self.mfe.exitEditMode(); 18683 }); 18684 } 18685}; 18686 18687Mfe.Widgets['quote'].prototype.enterEditMode = function(setting) { 18688 if (setting == 'text') { 18689 this.mode = 'edit'; 18690 18691 var $editableEls = this.$el.find(' > *'); 18692 var $editableEl = $($editableEls[0]); 18693 18694 $editableEl.attr('contenteditable', true); 18695 $editableEl.addClass('mfe-editable-editing'); 18696 18697 $editableEl.focus(); 18698 } 18699}; 18700 18701Mfe.Widgets['search-input'] = function(mfe, widgetId, options) { 18702 this.mfe = mfe; 18703 this.name = 'search-input'; 18704 this.baseTemplate = 'base-default'; 18705 Mfe.Widget.apply(this, arguments); 18706}; 18707Mfe.Widgets['search-input'].inherits(Mfe.Widget); 18708Mfe.Widgets['search-input'].title = 'Search input'; 18709Mfe.Widgets['search-input'].getSettings = function() { 18710 return [ 18711 { "type": "text", "name": "image-url", "default": null, "description": "Image URL" }, 18712 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 18713 { "type": "text", "name": "placeholder", "default": null, "description": "Placeholder" }, 18714 { "type": "text", "name": "search-icon", "default": 'fas fa-search', "description": "Search icon" }, 18715 { "type": "text", "name": "clear-icon", "default": 'fa fa-times', "description": "Clear icon" }, 18716 { "type": "boolean", "name": "cover-layout", "default": null, "description": "Cover the whole layout", "default": false } 18717 ]; 18718}; 18719Mfe.Widgets['search-input'].prototype.onRender = function() { 18720 var baseTemplate = this.mfe.getTemplate('widgets', 'search-input', this.baseTemplate); 18721 18722 var searchQuery = ''; 18723 if (isEmpty(this.mfe.contextParams) === false && isEmpty(this.mfe.contextParams.query) === false && this.mfe.contextParams.query.length > 0) { 18724 searchQuery = this.mfe.contextParams.query; 18725 } else if (isEmpty(this.mfe.contextParams) === false && isEmpty(this.mfe.contextParams.tags) === false) { 18726 searchQuery = this.mfe.contextParams.tags; 18727 } 18728 18729 var templateVars = {}; 18730 18731 if (isEmpty(this.mfe.contextObject) === false && this.mfe.contextObject.class == 'queryresult') { 18732 var templateVars = { 18733 'totalMatches': this.mfe.contextObject.getTotalMatches(), 18734 'searchQuery': searchQuery 18735 }; 18736 } 18737 18738 templateVars.placeholder = this.getOption('placeholder', 'Search for...'); 18739 templateVars.searchIcon = this.getOption('search-icon', 'fal fa-search'); 18740 templateVars.clearIcon = this.getOption('clear-icon', 'fa fa-times'); 18741 18742 var baseTemplateHtml = baseTemplate(templateVars); 18743 return baseTemplateHtml; 18744}; 18745 18746Mfe.Widgets['search-input'].prototype.onAttach = function() { 18747 this.attachHandlers(); 18748}; 18749 18750Mfe.Widgets['search-input'].prototype.attachHandlers = function() { 18751 var self = this; 18752 18753 this.$el.find('.input input').on('keydown', function(e){ 18754 // Start new search 18755 if (e.originalEvent.keyCode == 13) { 18756 self.mfe.executeSiteAction('search', { 'query': self.$el.find('.input input').val() } ); 18757 } 18758 }); 18759 18760 18761 this.$el.find('.input .icon').on('click', function(e){ 18762 self.mfe.executeSiteAction('search', { 'query': self.$el.find('.input input').val() } ); 18763 }); 18764 18765 this.$el.find('.input .actions button').on('click', function(e){ 18766 self.$el.find('.input input').val(''); 18767 }); 18768 18769}; 18770 18771Mfe.Widgets['share-buttons'] = function(mfe, widgetId, options) { 18772 this.mfe = mfe; 18773 this.name = 'share-buttons'; 18774 this.baseTemplate = 'base-default'; 18775 Mfe.Widget.apply(this, arguments); 18776}; 18777Mfe.Widgets['share-buttons'].inherits(Mfe.Widget);
18778Mfe.Widgets['share-buttons'].title = 'Share buttons'; 18779Mfe.Widgets['share-buttons'].getSettings = function() { 18780 return [ 18781 { "type": "options", "name": "widget-style", "default": "default", "description": "Style", "options": 18782 [ 18783 { "value": "default", "label": "Default" }, 18784 { "value": "horizontal", "label": "Horizontal" } 18785 ] 18786 } 18787 ]; 18788}; 18789 18790Mfe.Widgets['share-buttons'].prototype.getShareUrl = function() { 18791 return 'https://' + this.mfe.options.domain + this.mfe.fullPath; 18792}; 18793 18794Mfe.Widgets['share-buttons'].prototype.onRender = function() { 18795 var baseTemplate = this.mfe.getTemplate('widgets', 'share-buttons', this.baseTemplate); 18796 18797 var twitterUsername = ''; 18798 if (isEmpty(this.mfe.siteConfig.twitterUsername) === false) { 18799 twitterUsername = this.mfe.siteConfig.twitterUsername; 18800 } 18801 18802 var title = this.mfe.getContextTitle(); 18803 18804 var optionStyle = this.getOption('style', 'default'); 18805 18806 var templateVars = { 18807 'style': optionStyle, 18808 'shareUrl': this.getShareUrl(), 18809 'title': title, 18810 'twitterTitle': '"' + title + '"' + (twitterUsername.length > 0 ? ' via ' + twitterUsername : ''), 18811 'summary': this.mfe.getContextSummary(), 18812 'twitterUsername': this.mfe.siteConfig.twitterUsername 18813 }; 18814 18815 var baseTemplateHtml = baseTemplate(templateVars); 18816 return baseTemplateHtml; 18817}; 18818 18819Mfe.Widgets['share-buttons'].prototype.onAttach = function() { 18820 18821}; 18822Mfe.Widgets['text'] = function(mfe, widgetId, options) { 18823 this.mfe = mfe; 18824 this.name = 'text'; 18825 this.baseTemplate = 'base-default'; 18826 Mfe.Widget.apply(this, arguments); 18827}; 18828Mfe.Widgets['text'].inherits(Mfe.Widget); 18829Mfe.Widgets['text'].title = 'Text'; 18830Mfe.Widgets['text'].getSettings = function() { 18831 return [ 18832 { "type": "text", "name": "text", "default": null, "description": "Text" }, 18833 { "type": "boolean", "name": "allow-html-enabled", "default": false, "description": "Allow HTML in text" }, 18834 { "type": "text", "name": "link-url", "default": null, "description": "Link URL" }, 18835 { "type": "font", "name": "font", "default": null, "description": "Font" }, 18836 { "type": "options", "name": "text-align", "default": "left", "description": "Align text", "options": [ { "value": "left", "label": "Left" }, { "value": "center", "label": "Center" }, { "value": "right", "label": "Right" } ] }, 18837 ]; 18838}; 18839Mfe.Widgets['text'].prototype.onRender = function() { 18840 var baseTemplate = this.mfe.getTemplate('widgets', 'text', this.baseTemplate); 18841 18842 var optionText = this.getOption('text', ''); 18843 var optionTextTranslationId = this.getOption('text-translation-id', ''); 18844 18845 var text = ''; 18846 if (optionText.length > 0) { 18847 text = optionText; 18848 } else if (optionTextTranslationId.length > 0) { 18849 text = this.mfe.getTranslation(optionTextTranslationId); 18850 } 18851 18852 var fontConfig = this.getOption('font', null); 18853 if (fontConfig !== null) { 18854 var fontCssVars = Mfe.Fonts.generateFontConfigCssVars('text', fontConfig, this.mfe); 18855 } 18856 18857 var templateVars = { 18858 'editable': (this.mfe.viewMode == 'edit'), 18859 'textAlign': this.getSettingConfig('text-align'), 18860 'text': text, 18861 'isAllowHtmlEnabled': this.getSettingConfig('allow-html-enabled', false), 18862 'linkUrl': this.getOption('link-url', null), 18863 'fontCssVars': fontCssVars 18864 }; 18865 18866 var baseTemplateHtml = baseTemplate(templateVars); 18867 return baseTemplateHtml; 18868}; 18869 18870Mfe.Widgets['text'].prototype.onAttach = function() { 18871 var self = this; 18872 if (this.mfe.viewMode == 'edit') { 18873 var $editableEls = this.$el.find(' > *'); 18874 var $editableEl = $($editableEls[0]); 18875 18876 $editableEl.on('blur', function(e) { 18877 18878 $editableEl.attr('contenteditable', false); 18879 $editableEl.removeClass('mfe-editable-editing'); 18880 18881 self.mfe.exitEditMode(); 18882 }); 18883 } 18884}; 18885 18886Mfe.Widgets['text'].prototype.enterEditMode = function(setting) { 18887 if (setting == 'text') { 18888 this.mode = 'edit'; 18889 18890 var $editableEls = this.$el.find(' > *'); 18891 var $editableEl = $($editableEls[0]); 18892 18893 $editableEl.attr('contenteditable', true); 18894 $editableEl.addClass('mfe-editable-editing'); 18895 18896 $editableEl.focus(); 18897 } 18898}; 18899 18900Mfe.Widgets['usergroup-team'] = function(mfe, widgetId, options) { 18901 this.mfe = mfe; 18902 this.name = 'usergroup-team'; 18903 this.baseTemplate = 'base-default'; 18904 Mfe.Widget.apply(this, arguments); 18905}; 18906Mfe.Widgets['usergroup-team'].inherits(Mfe.Widget);
18907Mfe.Widgets['usergroup-team'].title = 'Usergroup Team'; 18908Mfe.Widgets['usergroup-team'].getSettings = function() { 18909 var settings = { 18910 'sections': [ 18911 { 18912 'name': 'general', 18913 'title': 'General', 18914 'settings': [ 18915 { "type": "options", "name": "style", "default": "default", "description": "Style", "options": [ 18916 { "value": "default", "label": "Default" }, 18917 { "value": "pattern-1-2-2-1", "label": "Pattern (1-2,2-1)" } , 18918 { "value": "first-large", "label": "First large" } 18919 ] 18920 }, 18921 { "type": "options", "name": "item-template-blogpost", "default": "item-blogpost-default", "description": "Blogpost template", "options": [ { "value": "item-blogpost-default", "label": "Default" }, { "value": "item-blogpost-fulllink", "label": "Fully clickable" } ] } 18922 ] 18923 }, 18924 { 18925 'name': 'data', 18926 'title': 'Data', 18927 'settings': [ 18928 { "type": "userGroupsTeam", "name": "data-usergroupteam-id", "default": [], "description": "Data source usergroup team" } 18929 ] 18930 } 18931 ] 18932 }; 18933 18934 return settings; 18935}; 18936 18937Mfe.Widgets['usergroup-team'].prototype.onRender = function() { 18938 var fetchResult = this.fetch(); 18939 if (isEmpty(fetchResult) === false) { 18940 return this.renderWidget(fetchResult); 18941 } 18942 18943 var baseTemplate = this.mfe.getTemplate('widgets', 'usergroup-team', this.baseTemplate); 18944 var templateVars = { 18945 'showFilters': true 18946 }; 18947 18948 var baseTemplateHtml = baseTemplate(templateVars); 18949 return baseTemplateHtml; 18950}; 18951 18952Mfe.Widgets['usergroup-team'].prototype.onAttach = function() { 18953 18954 this.attachHandlers(); 18955}; 18956 18957Mfe.Widgets['usergroup-team'].prototype.fetch = function(lastItemId) { 18958 var self = this; 18959 18960 var dataUserGroupTeamId = parseInt(this.getOption('data-usergroupteam-id', '')); 18961 18962 18963 var team = Mfe.Api.UserGroups.getTeam(this.mfe.siteBundle.getName(), dataUserGroupTeamId, function(result, team) { 18964 self.currentTeam = team; 18965 self.display(self.renderWidget(team)); 18966 }); 18967 18968 if (team !== null) { 18969 this.currentTeam = team; 18970 return team; 18971 } 18972 18973 return null; 18974}; 18975 18976Mfe.Widgets['usergroup-team'].prototype.display = function(html) { 18977 this.setElementHtml(html); 18978}; 18979 18980 18981Mfe.Widgets['usergroup-team'].prototype.saveWidgetState = function() { 18982 var widgetState = { 'team': null }; 18983 18984 if (isEmpty(this.currentTeam) === false) { 18985 widgetState.team = this.currentTeam.getData(); 18986 } 18987 18988 return widgetState; 18989}; 18990 18991Mfe.Widgets['usergroup-team'].prototype.restoreWidgetState = function(state) { 18992 this.currentTeam = new Mfe.Classes.SiteUserGroupTeam(state.team); 18993}; 18994 18995Mfe.Widgets['usergroup-team'].prototype.renderWidget = function(team) { 18996 var baseTemplate = this.mfe.getTemplate('widgets', 'usergroup-team', this.baseTemplate); 18997 var templateVars = { 18998 'showFilters': true, 18999 'team': team.getTemplateVars(), 19000 'teamMembersHtml': this.renderTeamMembers(team.getMembers()) 19001 }; 19002 19003 var baseTemplateHtml = baseTemplate(templateVars); 19004 19005 return baseTemplateHtml; 19006}; 19007 19008Mfe.Widgets['usergroup-team'].prototype.renderTeamMembers = function(teamMembers) { 19009 var membersHtmlArr = []; 19010 19011 var memberTemplate = this.mfe.getTemplate('widgets', 'usergroup-team', 'item-member'); 19012 19013 for (var i = 0; i < teamMembers.length; i++) { 19014 var teamMember = teamMembers[i]; 19015 var templateVars = teamMember.getTemplateVars(); 19016 19017 membersHtmlArr.push(memberTemplate(templateVars)); 19018 } 19019 19020 return membersHtmlArr.join(''); 19021}; 19022 19023Mfe.Widgets['usergroup-team'].prototype.applyFilters = function() { 19024 19025}; 19026 19027Mfe.Widgets['usergroup-team'].prototype.attachHandlers = function() { 19028 19029}; 19030Mfe.Widgets['video-player'] = function(mfe, widgetId, options) { 19031 this.mfe = mfe; 19032 this.name = 'video-player'; 19033 this.baseTemplate = 'base-default'; 19034 Mfe.Widget.apply(this, arguments); 19035}; 19036Mfe.Widgets['video-player'].inherits(Mfe.Widget); 19037Mfe.Widgets['video-player'].title = 'Video player'; 19038Mfe.Widgets['video-player'].getSettings = function() { 19039 return [ 19040 { "type": "text", "name": "url", "default": null, "description": "Url of video" }, 19041 ]; 19042}; 19043Mfe.Widgets['video-player'].prototype.onRender = function() { 19044 var baseTemplate = this.mfe.getTemplate('widgets', 'video-player', this.baseTemplate); 19045 19046 var optionFullLink = this.getOption('full-link', 'false'); 19047 if (optionFullLink === false || optionFullLink == 'false') { 19048 optionFullLink = false;
19049 } else { 19050 optionFullLink = true; 19051 } 19052 19053 var templateVars = { 19054 'editable': (this.mfe.viewMode == 'edit'), 19055 'title': this.getOption('title', ''), 19056 'text': this.getOption('text', ''), 19057 'linkText': this.getOption('link-text', ''), 19058 'linkUrl': this.getOption('link-url', ''), 19059 'fullLink': optionFullLink 19060 }; 19061 19062 var baseTemplateHtml = baseTemplate(templateVars); 19063 return baseTemplateHtml; 19064}; 19065 19066Mfe.Widgets['video-player'].prototype.onAttach = function() { 19067 var self = this; 19068 19069 var $contentAreaEl = this.$el.parents('.content-area.hero'); 19070 19071 this.player = new MPPlayer(this.$el.find('.mpplayer')); 19072 this.player.on('play', function(){ 19073 if ($contentAreaEl.length == 0) { 19074 return; 19075 } 19076 19077 $contentAreaEl.attr('data-video-player-state', 'playing'); 19078 }); 19079 this.player.setSources([ 19080 { 19081 'language': 'en', 19082 'videos': [ 19083 { 'type': 'hls', 'resolutions': [ { 'size': '480', 'url': 'https://vhx-adaptive-hap.akamaized.net/-ctx--user_id,4517372--platform_id,27--video_id,311155--channel_id,28393--plan,public-/vods3cf/0/amlst:c-28393/v-311155/1457104,1457105,1457106,1457107,1457108,1457109/chunklist_b2568937.m3u8' }, { 'size': '720', 'url': '' }, { 'size': '1920', 'url': '' }] }, 19084 { 'type': 'dash', 'resolutions': [ { 'size': '480', 'url': '' }, { 'size': '720', 'url': '' }, { 'size': '1920', 'url': '' }] } 19085 ], 19086 'captions': [ 19087 { 'type': 'webvtt', 'languages': [ { 'language': 'en', 'url': '' }, { 'language': 'nl', 'url': '' }, { 'language': 'fr', 'url': '' }] }, 19088 ] 19089 }, 19090 { 19091 'language': 'nl', 19092 'videos': [ 19093 { 'type': 'hls', 'resolutions': [ { 'size': '480', 'url': '' }, { 'size': '720', 'url': '' }, { 'size': '1920', 'url': '' }] }, 19094 { 'type': 'dash', 'resolutions': [ { 'size': '480', 'url': '' }, { 'size': '720', 'url': '' }, { 'size': '1920', 'url': '' }] } 19095 ], 19096 'captions': [ 19097 { 'type': 'webvtt', 'languages': [ { 'language': 'en', 'url': '' }, { 'language': 'nl', 'url': '' }, { 'language': 'fr', 'url': '' }] }, 19098 ] 19099 } 19100 ], false); 19101}; 19102 19103Mfe.Widgets['video-player'].prototype.enterEditMode = function(setting) { 19104 if (setting == 'video-player') { 19105 this.mode = 'edit'; 19106 19107 var $editableEls = this.$el.find(' > *'); 19108 var $editableEl = $($editableEls[0]); 19109 19110 $editableEl.attr('contenteditable', true); 19111 $editableEl.addClass('mfe-editable-editing'); 19112 19113 $editableEl.focus(); 19114 } 19115}; 19116 19117Mfe.Utils.DOM = { 19118 'ratioToPercentage': function (ratio) { 19119 var ratioParts = ratio.split(':'); 19120 if (ratioParts.length != 2) { 19121 return false; 19122 } 19123 19124 var ratioPercentage = (parseInt(ratioParts[1], 10) / parseInt(ratioParts[0], 10)) * 100; 19125 19126 return Math.round(ratioPercentage, 3); 19127 }, 19128 'scrollToLeft': function(element, to, duration) { 19129 var start = element.scrollLeft, 19130 change = to - start, 19131 currentTime = 0, 19132 increment = 20; 19133 19134 var animateScroll = function(){ 19135 currentTime += increment; 19136 var val = Mfe.Utils.Math.easeInOutQuad(currentTime, start, change, duration); 19137 element.scrollLeft = val; 19138 if(currentTime < duration) { 19139 setTimeout(animateScroll, increment); 19140 } 19141 }; 19142 animateScroll(); 19143 } 19144} 19145Mfe.Utils.Math = { 19146 'rand': function(min, max) { 19147 min = Math.ceil(min); 19148 max = Math.floor(max); 19149 return Math.floor(Math.random() * (max - min)) + min; 19150 }, 19151 'ratioToPercentage': function (ratio) { 19152 var ratioParts = ratio.split(':'); 19153 if (ratioParts.length != 2) { 19154 return false; 19155 } 19156 19157 var ratioPercentage = (parseInt(ratioParts[1], 10) / parseInt(ratioParts[0], 10)) * 100; 19158 19159 return Math.round(ratioPercentage, 3); 19160 }, 19161 'easeInOutQuad': function (t, b, c, d) { 19162 t /= d/2; 19163 if (t < 1) return c/2*t*t + b; 19164 t--; 19165 return -c/2 * (t*(t-2) - 1) + b; 19166 }, 19167 'round': function(num, scale) { 19168 if(!("" + num).includes("e")) { 19169 return +(Math.round(num + "e+" + scale) + "e-" + scale); 19170 } else { 19171 var arr = ("" + num).split("e"); 19172 var sig = "" 19173 if(+arr[1] + scale > 0) { 19174 sig = "+"; 19175 } 19176 return +(Math.round(+arr[0] + "e" + sig + (+arr[1] + scale)) + "e-" + scale); 19177 } 19178 } 19179} 19180Mfe.Utils.MD5 = function(string) { 19181 19182 function RotateLeft(lValue, iShiftBits) { 19183 return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); 19184 } 19185 19186 function AddUnsigned(lX, lY) { 19187 var lX4, lY4, lX8, lY8, lResult; 19188 lX8 = (lX & 0x80000000); 19189 lY8 = (lY & 0x80000000); 19190 lX4 = (lX & 0x40000000); 19191 lY4 = (lY & 0x40000000); 19192 lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); 19193 if (lX4 & lY4) { 19194 return (lResult ^ 0x80000000 ^ lX8 ^ lY8); 19195 } 19196 if (lX4 | lY4) { 19197 if (lResult & 0x40000000) { 19198 return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); 19199 } else { 19200 return (lResult ^ 0x40000000 ^ lX8 ^ lY8); 19201 } 19202 } else { 19203 return (lResult ^ lX8 ^ lY8); 19204 } 19205 } 19206 19207 function F(x, y, z) { 19208 return (x & y) | ((~x) & z); 19209 } 19210 function G(x, y, z) { 19211 return (x & z) | (y & (~z)); 19212 } 19213 function H(x, y, z) { 19214 return (x ^ y ^ z); 19215 } 19216 function I(x, y, z) { 19217 return (y ^ (x | (~z))); 19218 } 19219 19220 function FF(a, b, c, d, x, s, ac) { 19221 a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); 19222 return AddUnsigned(RotateLeft(a, s), b); 19223 } 19224 ; 19225 19226 function GG(a, b, c, d, x, s, ac) { 19227 a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); 19228 return AddUnsigned(RotateLeft(a, s), b); 19229 } 19230 ; 19231 19232 function HH(a, b, c, d, x, s, ac) { 19233 a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); 19234 return AddUnsigned(RotateLeft(a, s), b); 19235 } 19236 ; 19237 19238 function II(a, b, c, d, x, s, ac) { 19239 a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); 19240 return AddUnsigned(RotateLeft(a, s), b); 19241 } 19242 ; 19243 19244 function ConvertToWordArray(string) { 19245 var lWordCount; 19246 var lMessageLength = string.length; 19247 var lNumberOfWords_temp1 = lMessageLength + 8; 19248 var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; 19249 var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; 19250 var lWordArray = Array(lNumberOfWords - 1); 19251 var lBytePosition = 0; 19252 var lByteCount = 0; 19253 while (lByteCount < lMessageLength) { 19254 lWordCount = (lByteCount - (lByteCount % 4)) / 4; 19255 lBytePosition = (lByteCount % 4) * 8; 19256 lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); 19257 lByteCount++; 19258 } 19259 lWordCount = (lByteCount - (lByteCount % 4)) / 4; 19260 lBytePosition = (lByteCount % 4) * 8; 19261 lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); 19262 lWordArray[lNumberOfWords - 2] = lMessageLength << 3; 19263 lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; 19264 return lWordArray; 19265 } 19266 ; 19267 19268 function WordToHex(lValue) { 19269 var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount; 19270 for (lCount = 0; lCount <= 3; lCount++) { 19271 lByte = (lValue >>> (lCount * 8)) & 255; 19272 WordToHexValue_temp = "0" + lByte.toString(16); 19273 WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2); 19274 } 19275 return WordToHexValue; 19276 } 19277 ; 19278 19279 function Utf8Encode(string) { 19280 string = string.replace(/\r\n/g, "\n"); 19281 var utftext = ""; 19282 19283 for (var n = 0; n < string.length; n++) { 19284 19285 var c = string.charCodeAt(n); 19286 19287 if (c < 128) { 19288 utftext += String.fromCharCode(c); 19289 } 19290 else if ((c > 127) && (c < 2048)) { 19291 utftext += String.fromCharCode((c >> 6) | 192); 19292 utftext += String.fromCharCode((c & 63) | 128); 19293 } 19294 else { 19295 utftext += String.fromCharCode((c >> 12) | 224); 19296 utftext += String.fromCharCode(((c >> 6) & 63) | 128); 19297 utftext += String.fromCharCode((c & 63) | 128); 19298 } 19299 19300 } 19301 19302 return utftext; 19303 } 19304 ; 19305 19306 var x = Array(); 19307 var k, AA, BB, CC, DD, a, b, c, d; 19308 var S11 = 7, S12 = 12, S13 = 17, S14 = 22; 19309 var S21 = 5, S22 = 9, S23 = 14, S24 = 20; 19310 var S31 = 4, S32 = 11, S33 = 16, S34 = 23; 19311 var S41 = 6, S42 = 10, S43 = 15, S44 = 21; 19312 19313 string = Utf8Encode(string); 19314 19315 x = ConvertToWordArray(string); 19316 19317 a = 0x67452301; 19318 b = 0xEFCDAB89; 19319 c = 0x98BADCFE; 19320 d = 0x10325476; 19321 19322 for (k = 0; k < x.length; k += 16) { 19323 AA = a; 19324 BB = b; 19325 CC = c; 19326 DD = d; 19327 a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); 19328 d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); 19329 c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB); 19330 b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); 19331 a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); 19332 d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); 19333 c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613); 19334 b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501); 19335 a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8); 19336 d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); 19337 c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
19338 b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); 19339 a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122); 19340 d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193); 19341 c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E); 19342 b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821); 19343 a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); 19344 d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340); 19345 c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); 19346 b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); 19347 a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); 19348 d = GG(d, a, b, c, x[k + 10], S22, 0x2441453); 19349 c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); 19350 b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); 19351 a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); 19352 d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); 19353 c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); 19354 b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); 19355 a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); 19356 d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); 19357 c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); 19358 b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); 19359 a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); 19360 d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681); 19361 c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); 19362 b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); 19363 a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); 19364 d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); 19365 c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); 19366 b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); 19367 a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); 19368 d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); 19369 c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); 19370 b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05); 19371 a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); 19372 d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); 19373 c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); 19374 b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); 19375 a = II(a, b, c, d, x[k + 0], S41, 0xF4292244); 19376 d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97); 19377 c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); 19378 b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039); 19379 a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3); 19380 d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); 19381 c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); 19382 b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1); 19383 a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); 19384 d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); 19385 c = II(c, d, a, b, x[k + 6], S43, 0xA3014314); 19386 b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); 19387 a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82); 19388 d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); 19389 c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); 19390 b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391); 19391 a = AddUnsigned(a, AA); 19392 b = AddUnsigned(b, BB); 19393 c = AddUnsigned(c, CC); 19394 d = AddUnsigned(d, DD); 19395 } 19396 19397 var temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d); 19398 19399 return temp.toLowerCase(); 19400} 19401Mfe.Utils.Text = { 19402 'parseHostname': function(url) { 19403 var hostname; 19404 if (url.indexOf("//") > -1) { 19405 hostname = url.split('/')[2]; 19406 } else { 19407 hostname = url.split('/')[0]; 19408 } 19409 19410 return hostname; 19411 }, 19412 'generateString': function(allowedChars, length) { 19413 var chars = allowedChars.split(''); 19414 var str = ''; 19415 for (var i = 0; i < length; i++) { 19416 var randIndex = Mfe.Utils.Math.rand(0, chars.length - 1); 19417 str = str + chars[randIndex]; 19418 } 19419 return str; 19420 }, 19421 'parseDimensionValue': function(text, returnUnit) { 19422 var value = null; 19423 var unit = null; 19424 19425 if (text.substring(text.length - 2, text.length) == 'px') { 19426 value = text.substring(0, text.length - 2); 19427 unit = 'px'; 19428 } else if (text.substring(text.length - 1, text.length) == '%') { 19429 value = text.substring(0, text.length - 1); 19430 unit = '%'; 19431 } 19432 19433 if (isEmpty(returnUnit) === false && returnUnit === true) { 19434 return { 'value': value, 'unit': unit }; 19435 } 19436 19437 return parseInt(value) || 0; 19438 }, 19439 'slugify': function(val) { 19440 19441 return val.replace(/[-[\]{}()*+?.~,\\^$|#\s]/g, '\\$&'); 19442 }, 19443 'parseQueryParams': function(query) { 19444 var result = {}; 19445 query.split("&").forEach(function(part) { 19446 var item = part.split("="); 19447 result[item[0]] = decodeURIComponent(item[1]); 19448 }); 19449 return result; 19450 }, 19451 'countWords': function(text) { 19452 var singleLine = text.replace("\r\n", ' '); 19453 var singleLine = singleLine.replace("\r", ' '); 19454 var singleLine = singleLine.replace("\n", ' '); 19455 var singleLine = singleLine.replace("\t", ' '); 19456 var singleLine = singleLine.replace(' ', ' '); 19457 19458 var words = text.split(' '); 19459 19460 return words.length; 19461 }, 19462 'escapeHtml': function (text) { 19463 19464 var map = { 19465 '&': '&', 19466 '<': '<', 19467 '>': '>', 19468 '"': '"', 19469 "'": ''', 19470 '=': '=' 19471 }; 19472 19473 return text.replace(/[&<>"']/g, function(m) { return map[m]; }); 19474 }, 19475 'unescapeHtml': function(text) { 19476 19477 var map = { 19478 '&': '&', 19479 '<': '<', 19480 '>': '>', 19481 '"': '"', 19482 ''': "'", 19483 '=': '=' 19484 }; 19485 19486 return text.replace(/&|<|>|"|'|=/g, function(m) { return map[m]; }); 19487 }, 19488 'decodeHtmlEntities': function(str) { 19489 var entitiesMap = { 19490 ' ': ' ', 19491 '…': String.fromCharCode(8230), 19492 '’': String.fromCharCode(8217), 19493 'ë': String.fromCharCode(203) 19494 } 19495 return str.replace(/&(#\d+|[a-z]*);/g, function(match, dec) { 19496 if (entitiesMap[match]) { 19497 return entitiesMap[match]; 19498 } 19499 19500 if (isNaN(match) === true) { 19501 return match; 19502 } 19503 19504 return String.fromCharCode(dec); 19505 }); 19506 } 19507} 19508Mfe.Utils.UserAgent = { 19509 'isSafari': function() { 19510 var REGEXP_USERAGENT = /(Macintosh|iPhone|iPod|iPad).*AppleWeb
19510Kit/i; 19511 return navigator && REGEXP_USERAGENT.test(navigator.userAgent); 19512 }, 19513 'isIE11': function() { 19514 /*Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko*/ 19515 var REGEXP_USERAGENT = /(Trident\/7\.0).*rv\:11\.0/i; 19516 return navigator && REGEXP_USERAGENT.test(navigator.userAgent); 19517 }, 19518 'getTimeZone': function() { 19519 var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; 19520 19521 return timezone; 19522 }, 19523 'getRequestPath': function() { 19524 return document.location.pathname; 19525 }, 19526 'getCookie': function(name) { 19527 match = document.cookie.match(new RegExp(name + '=([^;]+)')); 19528 if (match) return match[1]; 19529 }, 19530 'setCookie': function(name, value, days, domain) { 19531 var expires = ""; 19532 if (days) { 19533 var date = new Date(); 19534 date.setTime(date.getTime() + (days*24*60*60*1000)); 19535 expires = "; expires=" + date.toUTCString(); 19536 } 19537 19538 document.cookie = name + "=" + value + expires + "; domain="+domain+"; path=/"; 19539 }, 19540 'getUrlVars': function() { 19541 var query = location.search.substr(1); 19542 var result = {}; 19543 query.split("&").forEach(function(part) { 19544 var item = part.split("="); 19545 result[item[0]] = decodeURIComponent(item[1]); 19546 }); 19547 return result; 19548 }, 19549 'getScrollbarWidth': function() { 19550 var outer = document.createElement("div"); 19551 outer.style.visibility = "hidden"; 19552 outer.style.width = "100px"; 19553 outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps 19554 19555 document.body.appendChild(outer); 19556 19557 var widthNoScroll = outer.offsetWidth; 19558 // force scrollbars 19559 outer.style.overflow = "scroll"; 19560 19561 // add innerdiv 19562 var inner = document.createElement("div"); 19563 inner.style.width = "100%"; 19564 outer.appendChild(inner); 19565 19566 var widthWithScroll = inner.offsetWidth; 19567 19568 // remove divs 19569 outer.parentNode.removeChild(outer); 19570 19571 return widthNoScroll - widthWithScroll; 19572 } 19573}; 19574Mfe.Utils.WebfontLoader = function (options) { 19575 this.options = options; 19576 19577 this.fonts = {"googleFonts": {}}; 19578 this.loadedFonts = {"googleFonts": {}}; 19579 19580 this.autoLoad = true; 19581 if (isEmpty(this.options.autoLoad) === false) { 19582 this.autoLoad = this.options.autoLoad; 19583 } 19584 19585 var self = this; 19586 19587 this.targetFrame = null; 19588 if (isEmpty(this.options.targetFrame) === false) { 19589 this.targetFrame = this.options.targetFrame; 19590 } 19591}; 19592 19593Mfe.Utils.WebfontLoader.prototype.onWebFontActive = function(family, fvd) { 19594 var source = 'googleFonts'; 19595 19596 if (isEmpty(this.loadedFonts[source][family]) === true) { 19597 this.loadedFonts[source][family] = []; 19598 } 19599 19600 this.loadedFonts[source][family].push(fvd); 19601} 19602 19603Mfe.Utils.WebfontLoader.prototype.registerFontFamily = function (source, family, style) { 19604 if (source == 'premium') { 19605 return; 19606 } 19607 19608 if (isEmpty(this.fonts[source][family]) === true) { 19609 this.fonts[source][family] = []; 19610 } 19611 19612 if (this.fonts[source][family].indexOf(style) < 0) { 19613 this.fonts[source][family].push(style); 19614 } 19615 19616 19617 /* 19618 19619 var fontWeightMapping = { 19620 'thin': 100, 19621 'normal': 400, 19622 'medium': 500, 19623 'bold': 700 19624 }; 19625 var fontWeight; 19626 if (isNotEmpty(fontWeightMapping[weight]) === true) { 19627 fontWeight = fontWeightMapping[weight]; 19628 } else { 19629 fontWeight = weight; 19630 } 19631 19632 var webFontsFamilyArr = this.fonts[source][family]; 19633 if (webFontsFamilyArr.indexOf(weight) < 0) { 19634 webFontsFamilyArr.push(weight); 19635 }*/ 19636 19637 if (this.autoLoad === true) { 19638 this.loadFonts(); 19639 } 19640} 19641 19642Mfe.Utils.WebfontLoader.prototype.registerFontFamilyByConfig = function (fontConfig) { 19643 if (isEmpty(fontConfig) === true) { 19644 return; 19645 } 19646 19647 if (fontConfig.source == 'customFonts') { 19648 return; 19649 } 19650 19651 if (isEmpty(fontConfig.familyId) === false) { 19652 //var fontFamilies = []; 19653 //for (var i = 0; i < fontConfig.families.length; i++) { 19654 var fontFamily = fontConfig.familyId; 19655 19656 //fontFamilies.push("'" + fontFamily.name + "'"); 19657 if (fontConfig.source != 'system' && typeof fontConfig.style !== 'undefined') { 19658 this.registerFontFamily(fontConfig.source, fontFamily, fontConfig.style); 19659 } 19660 //} 19661 } 19662 19663 if (this.autoLoad === true) { 19664 this.loadFonts(null); 19665 } 19666} 19667 19668Mfe.Utils.WebfontLoader.prototype.loadFonts = function (frameContext) { 19669 if (typeof WebFont === 'undefined' || isEmpty(WebFont) === true) { 19670 //console.log('WebFont-module is not loaded'); 19671 return; 19672 } 19673 19674 var hasFontsToLoad = false;
19675 var webFontConfig = { 19676 google: {families: []} 19677 }; 19678 19679 if (isEmpty(frameContext) === false) { 19680 webFontConfig.context = frameContext; 19681 } else if (isEmpty(this.targetFrame) === false) { 19682 webFontConfig.context = this.targetFrame; 19683 } 19684 19685 // Google Fonts 19686 var googleFamilies = Object.keys(this.fonts.googleFonts); 19687 for (var i = 0; i < googleFamilies.length; i++) { 19688 var googleFamily = googleFamilies[i]; 19689 var familyStyles = this.fonts.googleFonts[googleFamily]; 19690 19691 19692 var familyStylesToLoad = []; 19693 for (var j = 0; j < familyStyles.length; j++) { 19694 var familyStyle = familyStyles[j]; 19695 19696 // Check which ones are already loaded 19697 if (this.isFontLoaded('googleFonts', googleFamily, familyStyle) === false) { 19698 familyStylesToLoad.push(familyStyle); 19699 19700 } 19701 } 19702 19703 if (familyStylesToLoad.length > 0) { 19704 webFontConfig.google.families.push(googleFamily + ':' + this.fonts.googleFonts[googleFamily].join(',')); 19705 hasFontsToLoad = true; 19706 } 19707 } 19708 19709 if (hasFontsToLoad === false) { 19710 return; 19711 } 19712 19713 var self = this; 19714 webFontConfig.fontactive = function(family, fvd){ 19715 self.onWebFontActive(family, fvd); 19716 }; 19717 19718 WebFont.load(webFontConfig); 19719} 19720 19721Mfe.Utils.WebfontLoader.prototype.isFontLoaded = function (source, family, style) { 19722 var fvdStyle = 'n'; 19723 var fvdWeight = '4'; 19724 if (style.substring(3,4) == 'i') { 19725 fvdStyle = 'i'; 19726 } 19727 fvdWeight = style.substring(0,1); 19728 19729 var fvd = fvdStyle + fvdWeight; 19730 if (isEmpty(this.loadedFonts[source][family]) === true) { 19731 return false; 19732 } 19733 19734 if (this.loadedFonts[source][family].indexOf(fvd) >= 0) { 19735 return true; 19736 } 19737 19738 return false; 19739} 19740 19741Mfe.Utils.WebfontLoader.prototype.isRegistered = function (source, family, style, weight) { 19742 var fixedWeight; 19743 if (weight == 'bold') { 19744 fixedWeight = 700; 19745 } else { 19746 fixedWeight = weight; 19747 } 19748 19749 var fvd = style.substring(0, 1) + fixedWeight.toString().substring(0, 1); 19750 if (isEmpty(this.fonts[source]) === true) { 19751 return false; 19752 } 19753 19754 if (isEmpty(this.fonts[source][family]) === true) { 19755 return false; 19756 } 19757 19758 if (this.fonts[source][family].indexOf(fvd) >= 0) { 19759 return true; 19760 } 19761 19762 return false; 19763} 19764 19765Mfe.Utils.WebfontLoader.prototype.generateGoogleFontsUrl = function () { 19766 return '//fonts.googleapis.com/css?family=' + this.generateGoogleFontsFamilies(); 19767} 19768 19769Mfe.Utils.WebfontLoader.prototype.generateGoogleFontsFamilies = function () { 19770 var familyParts = []; 19771 19772 var familyIds = Object.keys(this.fonts.googleFonts); 19773 19774 if (familyIds.length == 0) { 19775 return ''; 19776 } 19777 19778 for (var i = 0; i < familyIds.length; i++) { 19779 var familyId = familyIds[i]; 19780 var familyStyles = this.fonts.googleFonts[familyId]; 19781 19782 19783 familyParts.push(encodeURIComponent(familyId) + ':' + familyStyles.join(',')); 19784 } 19785 19786 var families = familyParts.join('|'); 19787 19788 return families; 19789} 19790 19791Mfe.Utils.WebfontLoader.prototype.getGoogleFontsFamilies = function () { 19792 var familyParts = []; 19793 19794 var familyIds = Object.keys(this.fonts.googleFonts); 19795 19796 if (familyIds.length == 0) { 19797 return ''; 19798 } 19799 19800 for (var i = 0; i < familyIds.length; i++) { 19801 var familyId = familyIds[i]; 19802 var familyStyles = this.fonts.googleFonts[familyId]; 19803 19804 familyParts.push(familyId + ':' + familyStyles.join(',')); 19805 } 19806 19807 return familyParts; 19808} 19809Mfe.Fonts.GoogleFonts = { 19810 'fontFamilies': { 19811 'Source Sans Pro': { 19812 'id': 'Source Sans Pro', 19813 'title': 'Source Sans Pro', 19814 'styles': [ 19815 '200', 19816 '200i', 19817 '300', 19818 '300i', 19819 '400', 19820 '400i', 19821 '600', 19822 '600i', 19823 '700', 19824 '700i', 19825 '900', 19826 '900i' 19827 ] 19828 }, 19829 'Exo 2': { 19830 'id': 'Exo 2', 19831 'title': 'Exo 2', 19832 'styles': [ 19833 '100', 19834 '100i', 19835 '200', 19836 '200i', 19837 '300', 19838 '300i', 19839 '400', 19840 '400i', 19841 '500', 19842 '500i', 19843 '600', 19844 '600i', 19845 '700', 19846 '700i', 19847 '800', 19848 '800i', 19849 '900', 19850 '900i' 19851 ] 19852 }, 19853 'Oswald': { 19854 'id': 'Oswald', 19855 'title': 'Oswald', 19856 'styles': [ 19857 '400', 19858 '400i', 19859 '700', 19860 '700i' 19861 ] 19862 }, 19863 'Oswald': { 19864 'id': 'Oswald', 19865 'title': 'Oswald', 19866 'styles': [ 19867 '400', 19868 '400i', 19869 '700', 19870 '700i' 19871 ] 19872 }, 19873 'Work Sans': { 19874 'id': 'Work Sans', 19875 'title': 'Work Sans', 19876 'styles': [ 19877 '400', 19878 '400i', 19879 '700', 19880 '700i' 19881 ] 19882 }, 19883 'Lato': { 19884 'id': 'Lato', 19885 'title': 'Lato', 19886 'styles': [ 19887 '100', 19888 '100i', 19889 '300', 19890 '300i', 19891 '400', 19892 '400i', 19893 '700', 19894 '700i', 19895 '900', 19896 '900i' 19897 ] 19898 }, 19899 'Montserrat': { 19900 'id': 'Montserrat', 19901 'title': 'Montserrat', 19902 'styles': [ 19903 '400', 19904 '400i', 19905 '700', 19906 '700i' 19907 ] 19908 }, 19909 'Archivo': { 19910 'id': 'Archivo', 19911 'title': 'Archivo', 19912 'styles': [ 19913 '400', 19914 '400i', 19915 '700', 19916 '700i' 19917 ] 19918 }, 19919 'Arimo': { 19920 'id': 'Arimo', 19921 'title': 'Arimo', 19922 'styles': [ 19923 '400', 19924 '400i', 19925 '700', 19926 '700i' 19927 ] 19928 }, 19929 'Open Sans': { 19930 'id': 'Open Sans', 19931 'title': 'Open Sans', 19932 'styles': [ 19933 '300', 19934 '300i', 19935 '400', 19936 '400i', 19937 '600', 19938 '600i', 19939 '700', 19940 '700i', 19941 '800', 19942 '800i' 19943 ] 19944 }, 19945 'Poppins': { 19946 'id': 'Poppins',
19947 'title': 'Poppins', 19948 'styles': [ 19949 '100', 19950 '100i', 19951 '200', 19952 '200i', 19953 '300', 19954 '300i', 19955 '400', 19956 '400i', 19957 '500', 19958 '500i', 19959 '600', 19960 '600i', 19961 '700', 19962 '700i', 19963 '800', 19964 '800i', 19965 '900', 19966 '900i' 19967 ] 19968 }, 19969 'Questrial': { 19970 'id': 'Questrial', 19971 'title': 'Questrial', 19972 'styles': [ 19973 '400' 19974 ] 19975 }, 19976 'Raleway': { 19977 'id': 'Raleway', 19978 'title': 'Raleway', 19979 'styles': [ 19980 '400', 19981 '400i', 19982 '700', 19983 '700i' 19984 ] 19985 }, 19986 'Roboto': { 19987 'id': 'Roboto', 19988 'title': 'Roboto', 19989 'styles': [ 19990 '100', 19991 '100i', 19992 '300', 19993 '300i', 19994 '400', 19995 '400i', 19996 '500', 19997 '500i', 19998 '700', 19999 '700i', 20000 '900', 20001 '900i' 20002 ] 20003 }, 20004 'Roboto Condensed': { 20005 'id': 'Roboto Condensed', 20006 'title': 'Roboto Condensed', 20007 'styles': [ 20008 '300', 20009 '300i', 20010 '400', 20011 '400i', 20012 '700', 20013 '700i' 20014 ] 20015 }, 20016 'Quicksand': { 20017 'id': 'Quicksand', 20018 'title': 'Quicksand', 20019 'styles': [ 20020 '400', 20021 '400i', 20022 '500', 20023 '500i', 20024 '700', 20025 '700i' 20026 ] 20027 }, 20028 'Muli': { 20029 'id': 'Muli', 20030 'title': 'Muli', 20031 'styles': [ 20032 '200', 20033 '200i', 20034 '300', 20035 '300i', 20036 '400', 20037 '400i', 20038 '600', 20039 '600i', 20040 '700', 20041 '700i', 20042 '800', 20043 '800i', 20044 '900', 20045 '900i' 20046 ] 20047 }, 20048 'Tienne': { 20049 'id': 'Tienne', 20050 'title': 'Tienne', 20051 'styles': [ 20052 '400', 20053 '700', 20054 '900' 20055 ] 20056 }, 20057 'Ultra': { 20058 'id': 'Ultra', 20059 'title': 'Ultra', 20060 'styles': [ 20061 '400' 20062 ] 20063 } 20064 }, 20065 'getAvailableFonts': function() { 20066 var fonts = []; 20067 var fontIds = Object.keys(Mfe.Fonts.GoogleFonts.fontFamilies); 20068 for (var i = 0; i < fontIds.length; i++) { 20069 var fontId = fontIds[i]; 20070 fonts.push(Mfe.Fonts.GoogleFonts.fontFamilies[fontId]); 20071 } 20072 20073 return fonts; 20074 } 20075}; 20076Mfe.Templates.store = {"plugins":{},"widgets":{"cms-cover":{"base-default-blogpost":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"'); \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\"><\/figure>\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"'); \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\"><\/figure>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"'); \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\"><\/figure>\\n\t\t\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"group\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<div class=\\\"overlay\\\"><\/div>\\n\t<div class=\\\"figure-overlay\\\"><\/div>\\n\t<div class=\\\"item-content\\\">\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showTitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkEnabled : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\";\n},\"useData\":true}","base-default-event":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\\\"><\/figure>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\">
20076\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<div class=\\\"overlay\\\"><\/div>\\n\t<div class=\\\"figure-overlay\\\"><\/div>\\n\t<div class=\\\"item-content\\\">\\n\t\t<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\\n\t\t<div class=\\\"date\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.multiDaySpan : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\"\n + container.escapeExpression(((helper = (helper = helpers.startDate || (depth0 != null ? depth0.startDate : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"startDate\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","base-default-page":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1920 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"'); \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\"><\/figure>\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"'); \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\"><\/figure>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1920 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t<div class=\\\"overlay\\\"><\/div>\\n\t<div class=\\\"figure-overlay\\\"><\/div>\\n\t<div class=\\\"item-content\\\">\\n\t\t<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>
20076\\n\t<\/div>\\n<\/div>\\n\";\n},\"useData\":true}","base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content base-default\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<figure style=\\\"\\\"><\/figure>\\n\t<div class=\\\"overlay\\\"><\/div>\\n\t<div class=\\\"figure-overlay\\\"><\/div>\\n\t<div class=\\\"item-content\\\">\\n\t\t<h1>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","base-rustic-blogpost":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<div class=\\\"date\\\">\\n\t\t\t\"\n + container.escapeExpression((helpers.dateFormatShortLocal || (depth0 && depth0.dateFormatShortLocal) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatShortLocal\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t<\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t<div class=\\\"cover\\\">\\n\t\t<figure>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<caption><\/caption>\\n\t\t<\/figure>\\n\t<\/div>\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\t\t\t\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-rustic\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"item-content\\\">\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showTitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}","base-rustic-page":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<div class=\\\"date\\\">\\n\t\t\t\"\n + container.escapeExpression((helpers.dateFormatShortLocal || (depth0 && depth0.dateFormatShortLocal) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatShortLocal\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t<\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t<div class=\\\"cover\\\"><figure>\\n\t\t\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<caption><\/caption>\\n\t\t<\/figure><\/div>\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\t\t\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-rustic\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\\n\t<div class=\\\"item-content\\\">\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showTitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}","base-rustic-event":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<h1 class=\\\"align-\"\n + container.escapeExpression(((helper = (helper = helpers.titleTextAlign || (depth0 != null ? depth0.titleTextAlign : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"titleTextAlign\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<div class=\\\"date\\\">\\n\t\t\t\"\n + container.escapeExpression((helpers.dateFormatShortLocal || (depth0 && depth0.dateFormatShortLocal) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatShortLocal\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t<\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t<div class=\\\"cover\\\">\\n\t\t<figure>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<caption><\/caption>\\n\t\t<\/figure>\\n\t<\/div>\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1280 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.focusPointCssVars : stack1), depth0))\n + \"\\\" \/>\\n\t\t\t\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-rustic\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"item-content\\\">
20076\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showTitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCoverImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}"},"cms-fragments":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" setting-text-image-no-wrap-around\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.hasMultipleLanguages : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \" <div class=\\\"language-picker\\\">\\n\t\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.availableLanguages : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" <\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},depth0,((stack1 = (data && data.root)) && stack1.currentLanguage),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},depth0,\"\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(15, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.currentLanguage),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.program(13, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t <div class=\\\"button\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.currentLanguage),depth0,{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-language=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\"><span><i class=\\\"fas fa-globe\\\"><\/i>Read in English<\/span><\/div>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \" selected\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"\t\t \\n\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t <div class=\\\"button\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.currentLanguage),depth0,{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-language=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\"><img src=\\\"\"\n + container.escapeExpression((helpers.langToFlagUrl || (depth0 && depth0.langToFlagUrl) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},depth0,{\"name\":\"langToFlagUrl\",\"hash\":{},\"data\":data}))\n + \"\\\" \/> Read in \"\n + container.escapeExpression((helpers.langToFriendlyLang || (depth0 && depth0.langToFriendlyLang) || helpers.helperMissing).call(depth0 != null ? depth0 : {},depth0,{\"name\":\"langToFriendlyLang\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n return \"<article>\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"<\/article>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.allowTextWrap : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n \\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showLanguagePicker : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.addArticleTag : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(17, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n \"\n + ((stack1 = ((helper = (helper = helpers.fragmentsHtml || (depth0 != null ? depth0.fragmentsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fragmentsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.addArticleTag : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(19, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}","item-fragment":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"fragment cms-text\\\">\\n\t<div class=\\\"fragment-content\\\">\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"html\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n<\/div>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"CMSQuoteWidget\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"fragment cms-quote\\\">\\n\t<div class=\\\"fragment-content\\\">\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"html\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n<\/div>\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"CMSImageWidget\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.program(22, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"fragment cms-image\\\">\\n\t<figure class=\\\"fragment-content\\\">
20076\\n \\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageLink : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageSource : depth0),\"upload\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.program(12, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \" \\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageLink : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \\n \\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageCopyright : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(17, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/figure>\\n<\/div>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \" <a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageLink || (depth0 != null ? depth0.imageLink : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageLink\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.files : stack1)) != null ? stack1[\"0\"] : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" alt=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageCopyright || (depth0 != null ? depth0.imageCopyright : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageCopyright\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageSource : depth0),\"url\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"13\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" alt=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageCopyright || (depth0 != null ? depth0.imageCopyright : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageCopyright\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n return \" <\/a>\\n\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<figcaption class=\\\"copyright\\\">\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageCopyrightUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\"\n + container.escapeExpression(((helper = (helper = helpers.imageCopyright || (depth0 != null ? depth0.imageCopyright : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageCopyright\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageCopyrightUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(20, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<\/figcaption>\\n\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageCopyrightUrl || (depth0 != null ? depth0.imageCopyrightUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageCopyrightUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"20\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"22\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"CMSTextImageWidget\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(23, data, 0),\"inverse\":container.program(34, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"23\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"fragment cms-text-image\\\">\\n\t<div class=\\\"fragment-content\\\">\\n\t\t<div class=\\\"image\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageAlignment : depth0),\"left\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(24, data, 0),\"inverse\":container.program(26, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageSource : depth0),\"upload\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(29, data, 0),\"inverse\":container.program(31, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/div>\\n\t\t<div class=\\\"text\\\">\\n\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"html\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\\n\";\n},\"24\":function(container,depth0,helpers,partials,data) {\n return \" left\";\n},\"26\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageAlignment : depth0),\"right\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(27, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"27\":function(container,depth0,helpers,partials,data) {\n return \" right\";\n},\"29\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.files : stack1)) != null ? stack1[\"0\"] : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"31\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageSource : depth0),\"url\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(32, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"32\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\";\n},\"34\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"CMSEmbedWidget\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(35, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"35\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"fragment cms-embed \"\n + container.escapeExpression(((helper = (helper = helpers.embedVendor || (depth0 != null ? depth0.embedVendor : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"embedVendor\",\"hash\":{},\"data\":data}) : helper)))\n + \" \"\n + container.escapeExpression(((helper = (helper = helpers.embedStatusClass || (depth0 != null ? depth0.embedStatusClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"embedStatusClass\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.embedVendor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(36, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.embedOembedUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(38, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\n\t<div class=\\\"fragment-content\\\">\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.embedHtml || (depth0 != null ? depth0.embedHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"embedHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n<\/div>\\n\";\n},\"36\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"data-oembed-vendor=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.embedVendor || (depth0 != null ? depth0.embedVendor : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"embedVendor\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\";\n},\"38\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"data-oembed-url=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.embedOembedUrl || (depth0 != null ? depth0.embedOembedUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"embedOembedUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"CMSTextWidget\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true}"},"cms-metadata":{"base-default-blogpost":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<div class=\\\"who\\\">\\n\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkAuthorToSearch : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showAuthorAvatar : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.fullName : stack1), depth0))\n + \"\\n\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkAuthorToSearch : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t<\/div>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"<span>Written by <\/span>\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<a href=\\\"\"\n + container.escapeExpression((helpers.searchHref || (depth0 && depth0.searchHref) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.fullName : stack1),{\"name\":\"searchHref\",\"hash\":{},\"data\":data}))\n + \"\\\" class=\\\"author\\\">\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"avatar\\\" style=\\\"background-image: url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.avatarUrl : stack1), depth0))\n + \");\\\"><\/div>\\n\t\t\t\t\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showAuthor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t \"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showAuthor : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"on\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"Posted on\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"category \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(16, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<span>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/span>\\n\t\t<\/div>\\n\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n return \"with-text\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n return \"\\n\t\t\tin \";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"line\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showAuthor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"when\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<div class=\\\"date\\\">\\n\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t\t<\/div>\\n\t\t<\/div>
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n\t<!--<div class=\\\"read-time\\\">\\n\t\tRead time:\\n\t\t<span class=\\\"eta\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.readTime : stack1)) != null ? stack1.minutes : stack1), depth0))\n + \"<\/span> minutes (<span class=\\\"eta\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.readTime : stack1)) != null ? stack1.words : stack1), depth0))\n + \"<\/span> words)\\n\t<\/div>-->\\n<\/div>\";\n},\"useData\":true}","base-default-event":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"line\\\">\\n\t\t<div class=\\\"who\\\">\\n\t\t\tWHEN?\\n\t\t\t<a href=\\\"#\\\" class=\\\"author\\\">\\n\t\t\t\t<div class=\\\"avatar\\\" style=\\\"background-image: url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.avatarUrl : stack1), depth0))\n + \");\\\"><\/div>\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.fullName : stack1), depth0))\n + \"\\n\t\t\t<\/a>\\n\t\t<\/div>\\n\t\t<div class=\\\"when\\\">\\n\t\t\ton\\n\t\t\t<div class=\\\"date\\\">\\n\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","base-default-media":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"line\\\">\\n\t\t<div class=\\\"what\\\">\\n\t\t\t<h1>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>\\n\t\t<\/div>\\n\t\t<div class=\\\"when\\\">\\n\t\t\t<div class=\\\"date\\\">\\n\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\t<!--<div class=\\\"read-time\\\">\\n\t\tRead time:\\n\t\t<span class=\\\"eta\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.readTime : stack1)) != null ? stack1.minutes : stack1), depth0))\n + \"<\/span> minutes (<span class=\\\"eta\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.readTime : stack1)) != null ? stack1.words : stack1), depth0))\n + \"<\/span> words)\\n\t<\/div>-->\\n<\/div>\";\n},\"useData\":true}"},"cms-storyline":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<h2>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h2>\\n\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\t<ul>\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t<\/ul>\\n<\/div>\";\n},\"useData\":true}","item-blogpost":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<li>\\n\t\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.contextContentId : depth0),\"!=\",(depth0 != null ? depth0.id : depth0),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.contextContentId : depth0),\"!=\",(depth0 != null ? depth0.id : depth0),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/li>\";\n},\"useData\":true}"},"cms-summary":{"base-default-blogpost":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"\\n<\/div>\";\n},\"useData\":true}","base-default-page":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"\\n<\/div>\";\n},\"useData\":true}"},"cms-tags":{"base-default-blogpost":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<div class=\\\"tags\\\">\\n\t\t\t<span>More about:<\/span>\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.tags : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/div>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<a href=\\\"\"\n + container.escapeExpression((helpers.searchHref || (depth0 && depth0.searchHref) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tag : depth0),{\"name\":\"searchHref\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tag\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(data && data.last),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" \/ \";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"line\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.tags : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n<\/div>\";\n},\"useData\":true}"},"comments":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<button data-action=\\\"show-facebook-comments\\\" class=\\\"ui-button text\\\"><div>Facebook reactions<span class=\\\"fb-comments-count\\\" data-href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.commentUrl || (depth0 != null ? depth0.commentUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"commentUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/span><\/div><\/button>
20076\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content\\\">\\n\t<div class=\\\"platforms\\\">\\n\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCommentsImmediately : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n\t<div class=\\\"comments\\\" style=\\\"width: 100%;\\\">\\n\t\t\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","comments-facebook":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"fb-comments\\\" style=\\\"width: 100%;\\\" data-width=\\\"100%\\\" data-href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.commentUrl || (depth0 != null ? depth0.commentUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"commentUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-numposts=\\\"5\\\"><\/div>\";\n},\"useData\":true}"},"content-grid":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t<nav class=\\\"tabs\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tabs : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/nav>\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t<button \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(data && data.first),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"class=\\\"selected\\\" \";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"--items-per-row: \"\n + container.escapeExpression(((helper = (helper = helpers.itemsPerRow || (depth0 != null ? depth0.itemsPerRow : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsPerRow\",\"hash\":{},\"data\":data}) : helper)))\n + \";\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"--gutter-x: \"\n + container.escapeExpression(((helper = (helper = helpers.gutterX || (depth0 != null ? depth0.gutterX : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"gutterX\",\"hash\":{},\"data\":data}) : helper)))\n + \";\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"--gutter-y: \"\n + container.escapeExpression(((helper = (helper = helpers.gutterY || (depth0 != null ? depth0.gutterY : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"gutterY\",\"hash\":{},\"data\":data}) : helper)))\n + \";\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"14\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<button class=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.loadM
20076oreClasses || (depth0 != null ? depth0.loadMoreClasses : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"loadMoreClasses\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-action=\\\"load-more\\\"><div>\"\n + container.escapeExpression(((helper = (helper = helpers.loadMoreText || (depth0 != null ? depth0.loadMoreText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"loadMoreText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div><\/button>\\n\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tabs : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<ul style=\\\"\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.itemsPerRow : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" --items-per-row-perc: \"\n + container.escapeExpression(((helper = (helper = helpers.itemsPerRowPerc || (depth0 != null ? depth0.itemsPerRowPerc : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsPerRowPerc\",\"hash\":{},\"data\":data}) : helper)))\n + \"; \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.gutterX : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.gutterY : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t<\/ul>\\n\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showLoadMore : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(16, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\\n\t<div class=\\\"paging\\\">\\n\t\t\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.totalMatches : depth0),\">\",(depth0 != null ? depth0.itemsPerPage : depth0),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-blogpost-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + ((stack1 = (helpers.ifKeyInObject || (depth0 && depth0.ifKeyInObject) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),(depth0 != null ? depth0.blogCategoryMapping : depth0),{\"name\":\"ifKeyInObject\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.program(9, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div><\/div>\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(helpers.lookup.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.blogCategoryMapping : depth0),((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),{\"name\":\"lookup\",\"hash\":{},\"data\":data}));\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0));\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-blog-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"figure-overlay\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"meta\\\">\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showSummary : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-fulllink":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" lazy\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\\n\t\t\t\t\t\t\"\n + ((stack1 = (helpers.ifKeyInObject || (depth0 && depth0.ifKeyInObject) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),(depth0 != null ? depth0.blogCategoryMapping : depth0),{\"name\":\"ifKeyInObject\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.program(17, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t<\/div><\/div>\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(helpers.lookup.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.blogCategoryMapping : depth0),((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),{\"name\":\"lookup\",\"hash\":{},\"data\":data}));\n},\"17\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0));\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\";\n},\"21\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-blog-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"figure-overlay\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(19, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showSummary : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(21, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-media-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.thumbnail : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.source : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-usergroupteam-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.thumbnail : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.source : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-page-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-page-fulllink":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-page-menu":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-page style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<h2><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h2>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-alt":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0))\n + \"<\/div><\/div>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-blog-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"meta\\\">\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showSummary : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-event-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"day\\\">\"\n + container.escapeExpression((helpers.dateOfMonth || (depth0 && depth0.dateOfMonth) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDate : depth0),{\"name\":\"dateOfMonth\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"month\\\">\"\n + container.escapeExpression((helpers.dateMonthYear || (depth0 && depth0.dateMonthYear) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDate : depth0),{\"name\":\"dateMonthYear\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"day\\\">\"\n + container.escapeExpression((helpers.dateOfMonth || (depth0 && depth0.dateOfMonth) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDateUtc : depth0),{\"name\":\"dateOfMonth\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"month\\\">\"\n + container.escapeExpression((helpers.dateMonthYear || (depth0 && depth0.dateMonthYear) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDateUtc : depth0),{\"name\":\"dateMonthYear\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isSameDay : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatShort || (depth0 && depth0.dateFormatShort) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDate : depth0),{\"name\":\"dateFormatShort\",\"hash\":{},\"data\":data}))\n + \"\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isSameDay : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(9, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatShort || (depth0 && depth0.dateFormatShort) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.startDateUtc : depth0),{\"name\":\"dateFormatShort\",\"hash\":{},\"data\":data}))\n + \"\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t\t\t\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.location : stack1)) != null ? stack1.venue : stack1), depth0))\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.location : stack1)) != null ? stack1.city : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"12\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t\t\t,\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-event style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-date\\\">
20076\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.disableTimezones : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.description : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-extra\\\">\\n\t\t\t\t<div class=\\\"time\\\">\\n\t\t\t\t\t<i class=\\\"fa fa-clock\\\"><\/i>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.disableTimezones : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"location\\\">\\n\t\t\t\t\t<i class=\\\"fa fa-map-marker\\\"><\/i>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.location : stack1)) != null ? stack1.venue : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\\n\t\t\t\t\t\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.location : stack1)) != null ? stack1.city : stack1), depth0))\n + \"\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-media-nice":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.thumbnail : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media template-media-nice style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.source : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-menu-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<li class=\\\"type-menu style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\\n\t\t\t<div class=\\\"media\\\">\\n\t\t\t\t<figure>\\n\t\t\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\t\t<\/figure>\\n\t\t\t<\/div>\\n\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-menu-features":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<a class=\\\"container\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t<div class=\\\"container\\\">\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<div class=\\\"icon\\\"><i class=\\\"fas fa-\"\n + container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"icon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i><\/div>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"\t<\/a>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"\t<\/div>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-menu template-features style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">
20076\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.url : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\\n\t\t\t<div class=\\\"media\\\">\\n\t\t\t\t<figure>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.icon : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t<\/figure>\\n\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"info\\\">\\n\\n\t\t\t\t<h2>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h2>\\n\t\t\t\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.url : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/li>\";\n},\"useData\":true}","item-menu-logos":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a target=\\\"_blank\\\" rel=\\\"external\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-menu style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\\n\t\t\t<div class=\\\"media\\\">\\n\t\t\t\t<figure>\\n\t\t\t\t \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.url : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t <img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>
20076\\n\t\t\t\t \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.url : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\\n\t\t\t\t<\/figure>\\n\t\t\t<\/div>\\n\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-team":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" lazy\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\\n\t\t\t\t\t\t\"\n + ((stack1 = (helpers.ifKeyInObject || (depth0 && depth0.ifKeyInObject) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),(depth0 != null ? depth0.blogCategoryMapping : depth0),{\"name\":\"ifKeyInObject\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.program(17, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t<\/div><\/div>\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(helpers.lookup.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.blogCategoryMapping : depth0),((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1),{\"name\":\"lookup\",\"hash\":{},\"data\":data}));\n},\"17\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.label : stack1), depth0));\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\";\n},\"21\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"summary\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div><\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-team\\\" data-blog-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"figure-overlay\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"item-content\\\">
20076\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showCategory : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDate : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(19, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showSummary : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(21, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-menu-vertical":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<li class=\\\"type-page style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-query-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.queryId || (depth0 != null ? depth0.queryId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"queryId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<h2><div class=\\\"inner\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div><\/h2>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"content-grid_1":{"item-blogpost-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.publicationDateLocal || (depth0 != null ? depth0.publicationDateLocal : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"publicationDateLocal\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-fulllink":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-media-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.mediaSubType : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.media : stack1)) != null ? stack1.thumbnails : stack1)) != null ? stack1.square : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.mediaType : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.description : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"content-list":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<nav>\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<a href=\\\"#\\\" class=\\\"load-more\\\" data-action=\\\"load-more\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.loadM
20076oreText || (depth0 != null ? depth0.loadMoreText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"loadMoreText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \"<\/nav>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.addNavTag : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<ul>\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/ul>\\n\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showLoadMore : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.addNavTag : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}","item-blogpost-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-faux":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\\n\t\t\t\t\t\t\t<div class=\\\"widget cms-tags no-makeup\\\">\\n\t\t\t\t\t\t\t\t<span>This story features:<\/span>\\n\t\t\t\t\t\t\t\t<div class=\\\"line\\\">\\n\t\t\t\t\t\t\t\t<div class=\\\"tags\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.tags : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t<\/div>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t\t\t\t<a href=\\\"\/search?t=\"\n + container.escapeExpression(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tag\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tag\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(data && data.last),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" \/ \";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost template-faux style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"widget cms-cover\\\">\\n\t\t\t\t<div class=\\\"content base-default\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t\t<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\\\"><\/figure>\\n\t\t\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t\t\t\t<div class=\\\"figure-overlay\\\"><\/div>\\n\t\t\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t\t\t<h1><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/h1>\\n\t\t\t\t\t\t<div class=\\\"group\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item-content content-area\\\">\\n\t\t\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\t\t<div class=\\\"widget cms-metadata\\\">\\n\t\t\t\t\t\t<div class=\\\"line\\\">\\n\t\t\t\t\t\t\t<div class=\\\"who\\\">\\n\t\t\t\t\t\t\t\tWritten by \\n\t\t\t\t\t\t\t\t<a href=\\\"\"\n + container.escapeExpression((helpers.searchHref || (depth0 && depth0.searchHref) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.id : stack1),{\"name\":\"searchHref\",\"hash\":{},\"data\":data}))\n + \"\\\" class=\\\"author\\\">\\n\t\t\t\t\t\t\t\t\t<div class=\\\"avatar\\\" style=\\\"background-image: url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.avatarUrl : stack1), depth0))\n + \");\\\"><\/div>\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.author : stack1)) != null ? stack1.fullName : stack1), depth0))\n + \"\\n\t\t\t\t\t\t\t\t<\/a>\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t<div class=\\\"when\\\">\\n\t\t\t\t\t\t\t\ton\\n\t\t\t\t\t\t\t\t<div class=\\\"date\\\">\\n\t\t\t\t\t\t\t\t\t\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"\\n\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"sub-content\\\">\\n\t\t\t\t\t\t<div class=\\\"left\\\">\\n\t\t\t\t\t\t\t<div class=\\\"widget cms-fragments\\\">\\n\t\t\t\t\t\t\t\t<div class=\\\"content base-default\\\">\"\n + ((stack1 = ((helper = (helper = helpers.fragmentsHtml || (depth0 != null ? depth0.fragmentsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fragmentsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t\t\t\t\t<\/div>\\n\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<div class=\\\"right\\\">\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.tags : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<a class=\\\"overlay\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t\t\t<div class=\\\"ui-button special\\\"><div>Read more<\/div><\/div>\\n\t\t\t\t\t<\/a>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-line":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"item-index\\\" data-item-index=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.itemNumber || (depth0 != null ? depth0.itemNumber : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemNumber\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" style-line\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showItemNumbers : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-modern":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost template-modern style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\t\t\t<h4 class=\\\"title\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/h4>\\n\t\t\t\t<div class=\\\"date\\\">\"\n + container.escapeExpression((helpers.dateFormatShortLocal || (depth0 && depth0.dateFormatShortLocal) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatShortLocal\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"media\\\"><figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure><\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-popular":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"item-index\\\" data-item-index=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.itemNumber || (depth0 != null ? depth0.itemNumber : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemNumber\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" style-popular\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showItemNumbers : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-media-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.mediaSubType : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.media : stack1)) != null ? stack1.thumbnails : stack1)) != null ? stack1.square : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.mediaType : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.info : depth0)) != null ? stack1.description : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"content-popular":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t<ul>\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/ul>\\n<\/div>\";\n},\"useData\":true}","item-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" lazy\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"figure-overlay\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"item-index\\\" data-item-index=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.itemNumber || (depth0 != null ? depth0.itemNumber : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemNumber\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateLocal : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"content-roll":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"\t<a href=\\\"#\\\" class=\\\"load-more\\\" data-action=\\\"load-more\\\">Load more<\/a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t<ul>\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<li class=\\\"filler\\\"><\/li>\\n\t<\/ul>\\n\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showLoadMore : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\";\n},\"useData\":true}"},"content-scroller":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}
20076) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t<div class=\\\"scroll\\\">\\n\t\t<ul>\\n\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.itemsHtml || (depth0 != null ? depth0.itemsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/ul>\\n\t<\/div>\\n\t<button class=\\\"nav-arrow nav-left\\\"><div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-left\\\"><\/i><\/div><\/button>\\n\t<button class=\\\"nav-arrow nav-right\\\"><div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div><\/button>\\n<\/div>\\n\";\n},\"useData\":true}","item-blogpost-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\"><figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-blogpost-fulllink":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" lazy\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<figure class=\\\"coverimage imgbox\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableLazyLoad : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" background-repeat: no-repeat; background-position: 50% 50%; background-size: cover !important;\\\"><\/figure>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"data-bg=\\\"url(\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \")\\\"\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" template-fulllink\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.categoryBlockCssVars || (depth0 != null ? depth0.categoryBlockCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"categoryBlockCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"figure-overlay\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"group mfe-wc-blogpost-group\\\" data-group-id=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.blogGroup : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div><div class=\\\"date mfe-wc-blogpost-date\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.publicationDateUtc : depth0),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\"><div class=\\\"inner\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}","item-media-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.thumbnail : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<li class=\\\"type-media style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" aspect-ratio\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaID || (depth0 != null ? depth0.mediaID : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaID\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.source : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"content-slider":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" nav-right-enabled\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" show-overlay\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"\t<button class=\\\"nav-arrow nav-left\\\"><i class=\\\"far fa-chevron-left\\\"><\/i><\/button>\\n\t<button class=\\\"nav-arrow nav-right\\\"><i class=\\\"far fa-chevron-right\\\"><\/i><\/button>\\n\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"\t<button class=\\\"nav-arrow nav-left\\\"><i class=\\\"fas fa-chevron-left\\\"><\/i><\/button>\\n\t<button class=\\\"nav-arrow nav-right\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/button>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"\t<div class=\\\"scroll\\\">\\n\t\t<span>Scroll<\/span>\\n\t\t<i class=\\\"fa fa-arrow-alt-down\\\"><\/i>\\n\t<\/div>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.rightNavEnabled : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" nav-position-\"\n + container.escapeExpression(((helper = (helper = helpers.navPosition || (depth0 != null ? depth0.navPosition : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"navPosition\",\"hash\":{},\"data\":data}) : helper)))\n + \" nav-style-\"\n + container.escapeExpression(((helper = (helper = helpers.navStyle || (depth0 != null ? depth0.navStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"navStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \" nav-size-\"\n + container.escapeExpression(((helper = (helper = helpers.navSize || (depth0 != null ? depth0.navSize : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"navSize\",\"hash\":{},\"data\":data}
20076) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showOverlay : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t<div class=\\\"stage-container\\\">\\n\t\t<div class=\\\"stage anim-done anim-in\\\">\\n\t\t\t<div class=\\\"slide left-slide\\\">\"\n + ((stack1 = ((helper = (helper = helpers.leftSlideHtml || (depth0 != null ? depth0.leftSlideHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"leftSlideHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t<div class=\\\"slide current-slide\\\">\"\n + ((stack1 = ((helper = (helper = helpers.currentSlideHtml || (depth0 != null ? depth0.currentSlideHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"currentSlideHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t<div class=\\\"slide right-slide\\\">\"\n + ((stack1 = ((helper = (helper = helpers.rightSlideHtml || (depth0 != null ? depth0.rightSlideHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"rightSlideHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\t<div class=\\\"slides\\\">\\n\t\t\"\n + ((stack1 = ((helper = (helper = helpers.slidesHtml || (depth0 != null ? depth0.slidesHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"slidesHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t<\/div>\\n\t<div class=\\\"overlay\\\"><\/div>\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.navStyle : depth0),\"chevron-regular\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.program(9, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showScrollInfo : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div> \";\n},\"useData\":true}","item-blogpost-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"item type-blogpost style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title font-heavy\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<div class=\\\"summary\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.summary : stack1), depth0))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-blogpost-simple":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"item type-blogpost style-simple\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<figure style=\\\"background: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box1024 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a><\/div>\\n\t\t\t\t<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/a>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-event-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"item type-event style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<figure style=\\\"background-image: url('\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box640 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"');\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.title : stack1), depth0))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"date-time\\\"><div class=\\\"icon\\\"><i class=\\\"far fa-clock\\\"><\/i><\/div>9 mei 2018<\/div>\\n\t\t\t\t<div class=\\\"location\\\"><div class=\\\"icon\\\"><i class=\\\"far fa-location-arrow\\\"><\/i><\/div>Westergas fabriek<\/div>\\n\t\t\t<\/div>\\n\t\t\t<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-menuitem-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t<a class=\\\"ui-button\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.buttonText || (depth0 != null ? depth0.buttonText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"buttonText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"item type-menuitem style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<h1 class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>
20076\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.description : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.buttonText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-datasetrecord-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t<a class=\\\"ui-button\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.buttonText || (depth0 != null ? depth0.buttonText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"buttonText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"item type-menuitem style-\"\n + container.escapeExpression(((helper = (helper = helpers.itemStyle || (depth0 != null ? depth0.itemStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"itemStyle\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-item-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<figure class=\\\"coverimage imgbox\\\" style=\\\"background: url('\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"') no-repeat 50% 50% \/ cover!important;\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a><\/figure>\\n\t\t\t<div class=\\\"item-content\\\">\\n\t\t\t\t<h1 class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.description : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.buttonText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}"},"donation":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \"hide\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"checked=\\\"checked\\\"\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"frequency-input-monthly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"monthly\\\" type=\\\"radio\\\" \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defaultFrequency : depth0),\"monthly\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><label for=\\\"frequency-input-monthly\\\">Monthly<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"frequency-input-quarterly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"quarterly\\\" type=\\\"radio\\\" \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defaultFrequency : depth0),\"quarterly\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><label for=\\\"frequency-input-quarterly\\\">Quarterly<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"frequency-input-yearly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"yearly\\\" type=\\\"radio\\\" \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defaultFrequency : depth0),\"yearly\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><label for=\\\"frequency-input-yearly\\\">Yearly<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return ((stack1 = ((helper = (helper = helpers.amountLabel || (depth0 != null ? depth0.amountLabel : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"amountLabel\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\");\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"Choose an amount\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\" \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defaultAmount : depth0),depth0,{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><label for=\\\"amount-input-single-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-single-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<div class=\\\"amount-frequency monthly\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.monthly : stack1)) != null ? stack1.desktop : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(20, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.monthly : stack1)) != null ? stack1.mobile : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(22, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\";\n},\"20\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"22\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"24\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<div class=\\\"amount-frequency quarterly\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.quarterly : stack1)) != null ? stack1.desktop : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(25, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.quarterly : stack1)) != null ? stack1.mobile : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(27, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\";\n},\"25\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"27\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"29\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<div class=\\\"amount-frequency yearly\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.yearly : stack1)) != null ? stack1.desktop : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(30, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.yearly : stack1)) != null ? stack1.mobile : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(32, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\";\n},\"30\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"32\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-\"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \"\\\">€ \"\n + container.escapeExpression(container.lambda(depth0, depth0))\n + \",-<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"34\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<p>
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.destinationsLabel : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(35, data, 0),\"inverse\":container.program(37, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/p>\\n\t\t<div class=\\\"destination\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.destinations : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(39, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t\t<div class=\\\"filler\\\"><\/div>\\n\t\t<\/div>\\n\";\n},\"35\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.destinationsLabel || (depth0 != null ? depth0.destinationsLabel : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"destinationsLabel\",\"hash\":{},\"data\":data}) : helper)));\n},\"37\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"You can choose where your \"\n + container.escapeExpression(((helper = (helper = helpers.donateEntity || (depth0 != null ? depth0.donateEntity : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"donateEntity\",\"hash\":{},\"data\":data}) : helper)))\n + \" goes\";\n},\"39\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"destination-input-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"ui-radio\\\" name=\\\"destination\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" type=\\\"radio\\\"><label for=\\\"destination-input-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.iconSource : depth0),\"fa\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(40, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\";\n},\"40\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<i class=\\\"fas fa-\"\n + container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"icon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i>\\n\";\n},\"42\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<div class=\\\"fieldset\\\">\\n\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"nameFirst\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">First name *<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input maxlength=\\\"100\\\" name=\\\"nameFirst\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left \\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"nameLast\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Last name *<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input maxlength=\\\"100\\\" name=\\\"nameLast\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left \\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t\\n\t\t\t<\/div>\\n\\n\";\n},\"44\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t\t\t<option value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/option>\\n\";\n},\"46\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<div class=\\\"fieldset\\\">\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"newsletter\\\">\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<label>\\n\t\t\t\t\t\t\t<div class=\\\"ui-checkbox no-ml\\\">\\n\t\t\t\t\t\t\t\t<input type=\\\"checkbox\\\" name=\\\"newsletter\\\" \/>\\n\t\t\t\t\t\t\t\t<span><i class=\\\"fas fa-check\\\"><\/i><\/span>\\n\t\t\t\t\t\t\t<\/div>
20076\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.newsletterHtml : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(47, data, 0),\"inverse\":container.program(49, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t<\/label>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\";\n},\"47\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.newsletterHtml || (depth0 != null ? depth0.newsletterHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"newsletterHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\";\n},\"49\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t\t\t\tI am happy for Movement On The Ground and the partners involved in this campaign to save my details and send me the latest information on how I can help by email.\\n\";\n},\"51\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t<div class=\\\"fieldset\\\">\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"terms\\\">\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<label>\\n\t\t\t\t\t\t\t<div class=\\\"ui-checkbox no-ml\\\">\\n\t\t\t\t\t\t\t\t<input type=\\\"checkbox\\\" name=\\\"terms\\\" \/>\\n\t\t\t\t\t\t\t\t<span><i class=\\\"fas fa-check\\\"><\/i><\/span>\\n\t\t\t\t\t\t\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.termsHtml : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(52, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t<\/label>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\";\n},\"52\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.termsHtml || (depth0 != null ? depth0.termsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"termsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\";\n},\"54\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<p class=\\\"fineprint\\\">Payments are securely processed using <a href=\\\"https:\/\/www.mollie.com\/\\\">Mollie<\/a>. No payment details will be stored by us.<\/p>\\n\";\n},\"56\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<button class=\\\"ui-button special \"\n + container.escapeExpression(((helper = (helper = helpers.buttonPaymentClasses || (depth0 != null ? depth0.buttonPaymentClasses : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"buttonPaymentClasses\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-action=\\\"payment\\\"><div>Select payment method <i class=\\\"fas fa-angle-right\\\"><\/i><\/div><\/button>\\n\";\n},\"58\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<button class=\\\"ui-button special \"\n + container.escapeExpression(((helper = (helper = helpers.buttonPayClasses || (depth0 != null ? depth0.buttonPayClasses : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"buttonPayClasses\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-action=\\\"submit\\\"><div>Continue to payment <i class=\\\"fas fa-angle-right\\\"><\/i><\/div><\/button>\\n\";\n},\"60\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"payment-method-input-ideal\\\" class=\\\"ui-radio\\\" name=\\\"payment-method\\\" value=\\\"ideal\\\" type=\\\"radio\\\"><label for=\\\"payment-method-input-ideal\\\">iDeal<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"62\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"payment-method-input-creditcard\\\" class=\\\"ui-radio\\\" name=\\\"payment-method\\\" value=\\\"creditcard\\\" type=\\\"radio\\\"><label for=\\\"payment-method-input-creditcard\\\">Creditcard<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"64\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"payment-method-input-paypal\\\" class=\\\"ui-radio\\\" name=\\\"payment-method\\\" value=\\\"paypal\\\" type=\\\"radio\\\"><label for=\\\"payment-method-input-paypal\\\">Paypal<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"66\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"payment-method-input-sofort\\\" class=\\\"ui-radio\\\" name=\\\"payment-method\\\" value=\\\"sofort\\\" type=\\\"radio\\\"><label for=\\\"payment-method-input-sofort\\\">Sofort<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"68\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"70\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-creditcard-mastercard\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-creditcard\\\" value=\\\"mastercard\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-creditcard-mastercard\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"#000\\\" rx=\\\"8\\\"><\/rect><g transform=\\\"translate(6 10)\\\"><circle cx=\\\"6\\\" cy=\\\"6\\\" r=\\\"6\\\" fill=\\\"#E7001A\\\"><\/circle><circle cx=\\\"14\\\" cy=\\\"6\\\" r=\\\"6\\\" fill=\\\"#F49B1C\\\"><\/circle><path fill=\\\"#E7001A\\\" d=\\\"M10.012 1.536A6.118 6.118 0 0 1 12 6.078a5.919 5.919 0 0 1-1.988 4.402A5.856 5.856 0 0 1 8 6.078c0-1.819.773-3.435 2.012-4.542z\\\" opacity=\\\".3\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>Mastercard<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-creditcard-visa\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-creditcard\\\" value=\\\"visa\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-creditcard-visa\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\"><defs><path id=\\\"visa-a\\\" d=\\\"M15.73 17.442c-.014-1.114.987-1.736 1.741-2.106.775-.379 1.035-.622 1.032-.961-.006-.52-.618-.749-1.19-.758-1-.015-1.581.272-2.043.489l-.36-1.695c.463-.215 1.322-.403 2.212-.411 2.088 0 3.455 1.038 3.463 2.647.008 2.042-2.807 2.155-2.788 3.068.007.276.27.572.844.647.285.038 1.07.067 1.961-.346l.35 1.64A5.3 5.3 0 0 1 19.09 20c-1.966 0-3.35-1.052-3.36-2.558m8.58 2.417a.906.906 0 0 1-.846-.568l-2.984-7.17h2.087l.416 1.155h2.55l.242-1.155h1.84l-1.606 7.738H24.31m.292-2.09l.603-2.906h-1.65l1.047 2.905M13.2 19.858l-1.646-7.737h1.99l1.644 7.738H13.2m-2.943 0l-2.07-5.267-.838 4.478c-.098.5-.486.789-.917.789H3.047L3 19.634c.695-.152 1.484-.397 1.962-.658.293-.16.377-.3.473-.68L7.02 12.12h2.102l3.223 7.738h-2.089\\\"><\/path><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"#1D18F5\\\" rx=\\\"8\\\"><\/rect><use fill=\\\"#FFF\\\" transform=\\\"matrix(1 0 0 -1 0 32)\\\" xlink:href=\\\"#visa-a\\\"><\/use><\/g><\/svg>\\n\t\t\t\t\t<span>Visa<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t\\n\";\n},\"72\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<a href=\\\"https:\/\/www.buckaroo.nl\/\\\">Buckaroo<\/a>.\\n\";\n},\"74\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<a href=\\\"https:\/\/www.mollie.com\/\\\">Mollie<\/a>.\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"form donation-form\\\" data-frequency=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.defaultFrequency || (depth0 != null ? depth0.defaultFrequency : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"defaultFrequency\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\\n\t\t<div class=\\\"frequency-choice \"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.hideFrequencyChoice : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\t\t<p>I want to \"\n + container.escapeExpression(((helper = (helper = helpers.donateVerb || (depth0 != null ? depth0.donateVerb : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"donateVerb\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\\n\t\t\t<div class=\\\"frequency\\\">\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"frequency-input-single\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"single\\\" type=\\\"radio\\\" \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defaultFrequency : depth0),\"single\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><label for=\\\"frequency-input-single\\\">One time<\/label>\\n\t\t\t\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.monthly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.quarterly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.yearly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\\n\t\t<\/div>\\n\\n\t\t<p>\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.amountLabel : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.program(13, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"<\/p>\\n\t\t\\n\t\t<div class=\\\"amount\\\" data-frequency=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.defaultFrequency || (depth0 != null ? depth0.defaultFrequency : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"defaultFrequency\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\\n\t\t\t<div class=\\\"amount-frequency single\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.single : stack1)) != null ? stack1.desktop : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.single : stack1)) != null ? stack1.mobile : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(17, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.monthly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(19, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.quarterly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(24, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.amountPresets : depth0)) != null ? stack1.yearly : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(29, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t<div class=\\\"item amount-custom\\\">\\n\t\t\t\t<input id=\\\"amount-input-custom\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"custom\\\" type=\\\"radio\\\"><label for=\\\"amount-input-custom\\\"><span>Other<\/span><div class=\\\"selected-input\\\"> € <input style=\\\"display: hidden;\\\" type=\\\"text\\\" name=\\\"amountCustom\\\" \/><\/div><\/label>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t\\n\t\t<!--\\n\t\t<p>\\n\t\t<div class=\\\"ui-checkbox\\\"><input id=\\\"cover-transaction-costs\\\" name=\\\"cover-transaction-costs\\\" type=\\\"checkbox\\\" \/><label for=\\\"cover-transaction-costs\\\"><span><span><i class=\\\"far fa-check\\\"><\/i><\/span><\/span>I would like to take care of the transaction fees (adds 1.2%)<\/label><\/div>\\n\t\t<\/p>-->\\n\t\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showDestinations : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(34, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\\n\t\t<div class=\\\"user-info non-anonymous\\\">\\n\t\t\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showNameInput : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(42, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t\t<div class=\\\"fieldset\\\">\\n\t\t\t\t\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"email\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Email *<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input maxlength=\\\"100\\\" name=\\\"email\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left \\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<!--<div class=\\\"field\\\" data-field=\\\"organization\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Organisation<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input placeholder=\\\" - Optional - \\\" maxlength=\\\"100\\\" name=\\\"organization\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>-->\\n\\n\t\t\t\t\\n\t\t\t\t<!--<div class=\\\"field\\\" data-field=\\\"destination\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">I want to help with<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<select name=\\\"destination\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.destinations : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(44, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t<\/select>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>-->\\n\t\t\t\t\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"comment\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Remarks<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<input placeholder=\\\" - Optional - \\\" type=\\\"text\\\" name=\\\"comment\\\" maxlength=\\\"300\\\" \/>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t\\n\t\t\t<\/div>\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.askNewsletter : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(46, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.askTerms : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(51, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\\n\t\t<\/div>\\n\t\t\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.paymentProvider : depth0),\"mollie\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(54, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\\n\t\t\\n\t\t<div class=\\\"actions\\\">
20076\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.selectPaymentMethod : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(56, data, 0),\"inverse\":container.program(58, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/div>\\n\t<\/div>\\n\t<div class=\\\"form payment-method-form\\\">\\n\t\t\\n\t\t<div class=\\\"choose-payment-method\\\">\\n\t\t\t<p>I would like to \"\n + container.escapeExpression(((helper = (helper = helpers.donateVerb || (depth0 != null ? depth0.donateVerb : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"donateVerb\",\"hash\":{},\"data\":data}) : helper)))\n + \" using<\/p>\\n\t\t\t<div class=\\\"payment-method\\\">\\n\"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(depth0 != null ? depth0 : {},\"ideal\",(depth0 != null ? depth0.allowPaymentMethods : depth0),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(60, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\\n\"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(depth0 != null ? depth0 : {},\"creditcard\",(depth0 != null ? depth0.allowPaymentMethods : depth0),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(62, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\\n\"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(depth0 != null ? depth0 : {},\"paypal\",(depth0 != null ? depth0.allowPaymentMethods : depth0),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(64, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\\n\"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(depth0 != null ? depth0 : {},\"sofort\",(depth0 != null ? depth0.allowPaymentMethods : depth0),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(66, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t\\n\t\t<div class=\\\"payment-method-choices\\\" data-payment-method=\\\"creditcard\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.paymentProvider : depth0),\"mollie\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(68, data, 0),\"inverse\":container.program(70, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<!--<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-creditcard-amex\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-creditcard\\\" value=\\\"amex\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-creditcard-amex\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\"><defs><radialGradient id=\\\"amex-b\\\" cx=\\\"32.922%\\\" cy=\\\"32.8%\\\" r=\\\"66.895%\\\" fx=\\\"32.922%\\\" fy=\\\"32.8%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#34BBF2\\\"><\/stop><stop offset=\\\"100%\\\" stop-color=\\\"#004DCF\\\"><\/stop><\/radialGradient><rect id=\\\"amex-a\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"amex-c\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#amex-a\\\"><\/use><\/mask><use fill=\\\"url(#amex-b)\\\" xlink:href=\\\"#amex-a\\\"><\/use><use fill=\\\"#0095FF\\\" xlink:href=\\\"#amex-a\\\"><\/use><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\" mask=\\\"url(#amex-c)\\\"><path d=\\\"M1.89 12.833l-.72-1.553-.6 1.553h1.32zm14.163-.717c-.083.117-.235.12-.36.12h-1.2v-.837h1.2c.12 0 .292.007.36.12a.23.23 0 0 1 .24.239c0 .207-.072.34-.24.358zm8.402.717l-.72-1.553-.6 1.553h1.32zM9.092 14.626h-.96v-3.107l-1.44 3.107h-.84L4.53 11.519v3.107h-2.04l-.36-.837H.21l-.36.837H-1.23l1.68-3.944h1.44l1.68 3.705v-3.705h1.561l1.2 2.63 1.2-2.63h1.56v3.944zm3.84 0h-3.12v-3.944h3.12v.837h-2.16v.717h2.16v.836h-2.16v.717h2.16v.837zm4.561-2.868c0 .615-.425.94-.72 1.075.256.041.435.18.48.24.175.25.198.426.24.836v.717h-.96v-.478c-.05-.257-.027-.598-.24-.837-.1-.09-.314-.12-.6-.12h-1.08v1.435h-.96v-3.944h2.16c.527 0 .887.013 1.2.24.3.125.48.383.48.836zm1.44 2.868h-.96v-3.944h.96v3.944zm11.283 0h-1.32l-1.8-2.988v2.988h-1.921l-.48-.837h-1.92l-.36.837
20076h-1.08c-.495 0-1.08-.102-1.441-.478-.306-.293-.48-.747-.48-1.434 0-.615.104-1.15.48-1.554.34-.332.823-.478 1.44-.478h.96v.837h-.96c-.29.008-.486.06-.72.239-.117.169-.228.483-.24.956.012.363.097.667.24.836.18.186.446.234.72.24h.36l1.44-3.108h1.32l1.681 3.705v-3.705h1.44l1.68 2.749v-2.749h.96v3.944zm-31.446.717H.45l.36-.837h.72l.36.837h3.241v-.717l.36.717h1.56l.36-.717v.717h7.922v-1.434h.12c.138-.002.17.008.12.239v1.195h4.2v-.359c.294.197.81.356 1.441.359h1.8l.36-.837h.84l.36.837h3.361v-.837l.48.837h2.64V9.846h-2.64v.597l-.36-.597h-2.76v.597l-.36-.597h-3.6c-.625 0-1.164.085-1.561.358v-.358h-2.52v.358c-.325-.28-.703-.358-1.08-.358H6.93l-.72 1.434-.6-1.434h-2.88v.597l-.36-.597h-2.4l-1.201 2.629v2.868zm34.125 2.176h-1.8c-.126 0-.242.006-.36.12-.081.01-.12.1-.12.238 0 .125.085.222.24.24.071.057.18.066.36.119h.48c.546-.027.897.058 1.08.239.07.055.093.087.12.12v-1.076zm0 2.51c-.231.368-.682.538-1.32.597h-1.8v-.956h1.8c.203.052.33.029.36 0 .112-.106.159-.195.12-.359.039-.058-.008-.149-.12-.239-.027-.024-.127-.052-.24 0-.946-.082-2.061-.024-2.04-1.314-.021-.527.346-1.129 1.32-1.076h1.92v-.836h-1.8c-.493 0-.879.126-1.2.358v-.358h-2.521c-.453 0-.942.102-1.2.358v-.358h-4.681v.358c-.314-.3-.94-.358-1.2-.358h-3.12v.358c-.269-.317-.92-.358-1.321-.358h-3.48l-.72.836-.721-.836H5.77v5.497h5.04l.841-.837.72.837h3.12v-1.315h.24c.464.029.95.012 1.321-.12v1.435h2.64v-1.434h.12c.137-.001.152.005.12.12v1.314h7.802c.498-.003 1.014-.128 1.32-.359v.359h2.4c.559-.003 1.06-.074 1.44-.24v-1.075zm-3.72-1.435c.14.142.24.382.24.837 0 .799-.539 1.195-1.561 1.195h-1.8v-.837h1.8c.23-.009.36-.033.48-.12.026-.048.073-.136.12-.238a1.137 1.137 0 0 0-.12-.24.57.57 0 0 0-.36-.119c-.92-.025-2.04.032-2.04-1.195 0-.593.365-1.195 1.32-1.195h1.92v.837h-1.68c-.203.003-.316.01-.36.12-.157.018-.196.113-.24.238.044.148.133.25.24.24.114.088.223.098.36.119h.6c.46.005.817.094 1.08.358zm-8.762-.478c-.08.114-.236.12-.36.12h-1.2v-.837h1.2c.124 0 .291.004.36.12.167.008.24.123.24.239 0 .203-.073.331-.24.358zm.6.717a.81.81 0 0 1 .48.24c.166.244.185.423.24.716v.837h-.96v-.478c-.049-.253-.026-.604-.24-.837-.102-.092-.315-.126-.72-.12h-.96v1.435h-.96v-3.944h2.16c.525 0 .876.021 1.2.24.29.126.48.372.48.836 0 .616-.425.937-.72 1.075zm1.32-2.15h3.12v.836h-2.16v.717h2.16v.836h-2.16v.717h2.16v.837h-3.12v-3.944zm-6.481 1.672h-1.2V17.4h1.2c.364 0 .6.132.6.478 0 .307-.225.478-.6.478zm-2.16 1.793l-1.44-1.554 1.44-1.553v3.107zM9.97 19.67h-2.4v-.717h2.16v-.837H7.57V17.4h2.4l1.08 1.076-1.08 1.195zm7.441-1.673c0 1.08-.821 1.306-1.68 1.314h-1.2v1.315h-1.8L11.53 19.31l-1.2 1.315H6.61v-3.944h3.84l1.08 1.315 1.2-1.315h3.12c.717 0 1.561.207 1.561 1.315z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>American Express<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>-->\\n\t\t<\/div>\\n\t\t\\n\t\t<div class=\\\"payment-method-choices\\\" data-payment-method=\\\"ideal\\\">\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-ABNANL2A\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"ABNANL2A\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-ABNANL2A\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"ABNANL2A-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"ABNANL2A-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#ABNANL2A-a\\\"><\/use><\/mask><use fill=\\\"#ABD3C3\\\" xlink:href=\\\"#ABNANL2A-a\\\"><\/use><g mask=\\\"url(#ABNANL2A-b)\\\"><path fill=\\\"#009586\\\" d=\\\"M10 8h13v11.314L16.697 26 10 19.314z\\\"><\/path><path fill=\\\"#FCBF00\\\" d=\\\"M17.313 12.91L23 19.454 17.312 26z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>ABN AMRO<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-ASNBNL21\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"ASNBNL21\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-ASNBNL21\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect fill=\\\"#D10600\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><g fill=\\\"#FFF\\\"><path d=\\\"M6 11.186C6 7.55 9.011 5 12.506 5c4.602 0 6.227 4.132 6.227 9.23 0 .042-3.2 2.61-3.2 7.075 0 3.461 1.575 4.566 3.157 5.19l.093.346s-8.65 1.76-8.65-6.426c0-2.95 1.655-4.393 1.655-7.005 0-.84-.755-2.015-2.398-2.015-1.564 0-2.426 1.12-2.426 1.997l-.33.006C6.253 12.75 6 11.986 6 11.
20076186zM26.245 23.059s-.096-1.566-1.081-1.566c-.883 0-1.37.774-1.37.774s1.02.788 1.02 2.013c0 1.266-2.654 2.51-3.793 2.72a5.099 5.099 0 0 1-.412-1.965c0-2.778 1.921-5.368 5.029-5.368 2.3 0 .991 3.47.991 3.47l-.384-.078M22.43 15.124a.955.955 0 1 1-1.908 0 .955.955 0 1 1 1.909 0M25.178 11.764s.555-2.004-.564-4.014l-.342.132c.117 1.769-.44 3.04-.44 3.032-.5-.188-1.534-.113-1.534-.113s-.621-1.221-.611-2.926l-.338-.12c-.511.912-.856 2.276-.704 3.276.288 1.847.514 1.34 2.557 2.964 2.218 1.765 1.265 3.726 1.265 3.726l.527.112s1.093-2.068 1.093-3.59c0-1.523-.91-2.48-.91-2.48\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>ASN Bank<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-BUNQNL2A\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"BUNQNL2A\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-BUNQNL2A\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"BUNQNL2A-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"BUNQNL2A-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#BUNQNL2A-a\\\"><\/use><\/mask><use fill=\\\"#F2F2F2\\\" xlink:href=\\\"#BUNQNL2A-a\\\"><\/use><g mask=\\\"url(#BUNQNL2A-b)\\\"><path fill=\\\"#008F42\\\" d=\\\"M0-2h3v198H0z\\\"><\/path><path fill=\\\"#00AB47\\\" d=\\\"M3-2h3v198H3z\\\"><\/path><path fill=\\\"#52C638\\\" d=\\\"M6-2h3v198H6z\\\"><\/path><path fill=\\\"#96C65A\\\" d=\\\"M9-2h3v198H9z\\\"><\/path><path fill=\\\"#00C4B5\\\" d=\\\"M12-2h3v198h-3z\\\"><\/path><path fill=\\\"#00A2DC\\\" d=\\\"M15-2h2v198h-2z\\\"><\/path><path fill=\\\"#0A6CB8\\\" d=\\\"M17-2h3v198h-3z\\\"><\/path><path fill=\\\"#46597D\\\" d=\\\"M20-2h3v198h-3z\\\"><\/path><path fill=\\\"#FF001A\\\" d=\\\"M23-2h3v198h-3z\\\"><\/path><path fill=\\\"#FF6B00\\\" d=\\\"M26-2h3v198h-3z\\\"><\/path><path fill=\\\"#F7C000\\\" d=\\\"M29-2h3v198h-3z\\\"><\/path><\/g><g mask=\\\"url(#BUNQNL2A-b)\\\" fill-rule=\\\"nonzero\\\" fill=\\\"#FFF\\\"><path d=\\\"M14 14h1v2.692C15 17.966 13.88 19 12.5 19S10 17.966 10 16.692V14h1v2.692c0 .779.733 1.41 1.5 1.41s1.5-.631 1.5-1.41V14zM20 19h1v-2.692C21 15.034 19.88 14 18.5 14S16 15.034 16 16.308V19h1v-2.692c0-.779.733-1.41 1.5-1.41s1.5.631 1.5 1.41V19zM4 18.857H3v-2.571V11h1v2.858c.502-.36 1.325-.572 2-.572 1.656 0 3 1.28 3 2.857C9 17.72 7.656 19 6 19c-.717 0-1.484-.24-2-.64v.497zm1.925-4.571a1.867 1.867 0 0 0-1.875 1.857c0 1.025.84 1.857 1.875 1.857A1.867 1.867 0 0 0 7.8 16.143c0-1.025-.84-1.857-1.875-1.857zM27 13.443h1v2.571.143L27.996 21H27v-2.558c-.502.36-1.325.572-2 .572-1.656 0-3-1.28-3-2.857 0-1.577 1.344-2.857 3-2.857.717 0 1.484.24 2 .64v-.497zm-1.925 4.571a1.867 1.867 0 0 0 1.875-1.857c0-1.025-.84-1.857-1.875-1.857a1.867 1.867 0 0 0-1.875 1.857c0 1.025.84 1.857 1.875 1.857z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>bunq<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-HANDNL2A\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"HANDNL2A\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-HANDNL2A\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\"><mask id=\\\"HANDNL2A-a\\\" maskUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\"><rect width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\" fill=\\\"url(#paint0_linear)\\\"><\/rect><\/mask><g mask=\\\"url(#HANDNL2A-a)\\\"><path fill=\\\"url(#paint1_linear)\\\" d=\\\"M0 0h32v32H0z\\\"><\/path><path d=\\\"M9.978 7v6.96h7.328V7h3.999v18.115h-4V17.29H9.979v7.825H6V7h3.978zM31.508 19.02c-.237.086-.475.129-.735.194-.259.043-.54.086-.821.13-.281.043-.584.086-.865.13-.26.042-.54.107-.8.194-.259.086-.497.194-.691.346a1.906 1.906 0 0 0-.476.54c-.108.216-.173.497-.173.843 0 .324.065.584.173.822.108.216.281.389.476.518.194.13.432.217.713.26.26.043.54.086.843.086.713 0 1.254-.108 1.643-.346.39-.237.67-.518.865-.843.194-.324.302-.67.345-.994.044-.346.065-.605.065-.822v-1.34c-.13.087-.324.195-.562.28
200761zm-7.09-5.102a4.036 4.036 0 0 1 1.427-1.34 6.162 6.162 0 0 1 1.945-.736 10.477 10.477 0 0 1 2.162-.216c.648 0 1.319.043 2.01.13.67.086 1.297.28 1.86.54.561.281 1.015.649 1.361 1.124.346.476.54 1.124.54 1.924v8.539c.022.67.022.692.152 1.21h-3.459c-.065-.28-.065-.302-.108-.518-.021-.216-.021-.519-.043-.735-.584.584-1.254 1.016-2.032 1.254a8.116 8.116 0 0 1-2.378.345c-.627 0-1.21-.086-1.751-.237a4.029 4.029 0 0 1-1.427-.714c-.41-.324-.713-.735-.95-1.21-.239-.497-.347-1.081-.347-1.751 0-.735.13-1.362.39-1.838.259-.475.605-.864 1.015-1.167.411-.281.887-.497 1.427-.648.54-.152 1.06-.26 1.6-.346.54-.087 1.08-.152 1.6-.195.518-.043.994-.13 1.405-.238.41-.108.735-.26.972-.454.238-.194.346-.475.325-.843 0-.389-.065-.691-.195-.93a1.508 1.508 0 0 0-.497-.54 1.981 1.981 0 0 0-.735-.26 5.888 5.888 0 0 0-.886-.064c-.714 0-1.254.151-1.665.454-.41.303-.648.821-.713 1.535h-3.654c.065-.8.281-1.513.649-2.075z\\\" fill=\\\"#fff\\\"><\/path><\/g><defs><linearGradient id=\\\"paint0_linear\\\" x1=\\\"0\\\" y1=\\\"32.111\\\" x2=\\\"32.112\\\" y2=\\\"-.647\\\" gradientUnits=\\\"userSpaceOnUse\\\"><stop stop-color=\\\"#0063A5\\\"><\/stop><stop offset=\\\"1\\\" stop-color=\\\"#008DC7\\\"><\/stop><\/linearGradient><linearGradient id=\\\"paint1_linear\\\" x1=\\\"0\\\" y1=\\\"32.111\\\" x2=\\\"32.112\\\" y2=\\\"-.647\\\" gradientUnits=\\\"userSpaceOnUse\\\"><stop stop-color=\\\"#0063A5\\\"><\/stop><stop offset=\\\"1\\\" stop-color=\\\"#008DC7\\\"><\/stop><\/linearGradient><\/defs><\/svg>\\n\t\t\t\t\t<span>Handelsbanken<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-INGBNL2A\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"INGBNL2A\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-INGBNL2A\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"INGBNL2A-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"INGBNL2A-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#INGBNL2A-a\\\"><\/use><\/mask><use fill=\\\"#FF5300\\\" xlink:href=\\\"#INGBNL2A-a\\\"><\/use><g mask=\\\"url(#INGBNL2A-b)\\\" fill=\\\"#FFF\\\"><path d=\\\"M10.664 50.395c-.875 0-.626 1.434-.875 2.085-.125.13-.254.39-.125.52h1.872s.125-1.171.125-1.431c-.125-.262-.502-.914-.997-1.174zm2.35-10.33c-.647-.506-1.683-1.013-3.237-1.52-.389-.127-1.295 0-1.685 0-1.038 1.773-1.422 3.422-2.2 5.323-.133.382-.391 1.143-.391 1.143-.644-.38-1.295-.632-1.945-.632-1.038 0-1.814.38-2.2 1.393-.386-.127-.905-.38-1.553-.255-.904.128-1.685.636-2.075 1.396-.386.506-.516 1.014-.386 1.521-.646.254-1.04.889-1.297 1.395-.257 1.013.651 2.79 1.039 3.171h1.294c-.26-1.141-.778-1.649-.39-2.79.262-.634 1.166-.887 1.427-1.016 0-.506-.65-.886-.516-1.396.255-.63 1.032-.63 1.81-.506-.13.763-.258 1.776-.388 2.79C.191 51.224.84 53 .84 53h1.423c-.13-.38-.259-.762-.259-1.141-.126-.382-.126-.634-.126-1.017.126-.506.126-1.013.126-1.39 1.296-.637.906.25 1.164.503 0 0 .522-1.14-.127-1.647-.13-.126-.908 0-.908-.126 0-.127.13-.508.259-.89.262-.508.39-.632.649-1.013.127-.126.515-.126 1.037 0 .128 0 .78.126 1.165.253-.13.38-.648 1.142-.774 1.523-.518 1.52-.518 3.296-.391 4.945h1.423c0-.89-.128-1.904 0-2.79.258-1.142.645-1.269.78-1.269.254 0 .515.253.649.51.255 1.265-.52 2.408-.52 3.549h1.036s.39-.127.518-.507c.258-.763.776-1.525.908-2.283.127-.634-.132-1.142-.522-1.902-.386-.51-.774-.89-1.68-1.524-.26-.505 0-1.139 0-1.139 0 .127.515-.128.776-.128 1.036.255 1.294.255 1.812.508.389.128.905.38 1.295.635.388.253.778 1.014 1.166 1.9 0 0 .259-1.647.259-2.155-.515-.505-1.037-1.013-1.815-1.394-.65-.508-2.07-.887-2.717-1.143 0 0 .258-.38.258-.632.778-.129 1.684-.129 2.073 0 1.296.381 2.849 1.143 3.498 1.649 0 0 .257-.506.257-.761 0 0-1.813-1.141-1.684-1.523-.517-.38-.907-.76-1.423-.888-.778-.124-2.333-.25-2.333-.25s.39-.507.78-.89H9.91c.516 0 1.81.383 2.586.763 1.169.505 1.813.886 1.945 1.139.126-.382.258-.886.39-1.14-1.426-.507-1.298-1.017-1.816-1.27zM10.1 36.577c.127-.388 0-.646.127-1.036 0-.26 0-.907.129-1.295-.256-.131-.771.13-1.15.13-.382 0-1.274 0-1.274.129.127.26.127.518.253.777.127.259.254.517.254 1.168 0 .388.13.778 0 1.294 0 0 1.661-.906 1.661-1.167zm-1.599-3.06c.259-.381 1.031-1.142 1.296-1.397-.265-.253-.39-.634-.52-.887-.517 0-2.463.759-2.463.759.39.635.65 1.272.908 2.031.26-.126.518-.253.779-.506zm4.886.65h-.767s-.254.994-.254 1.74c-.127.374-.258.622-.258.746-.254.497-.38.62-.633 1.243.379.124.764-.124 1.017-.124.255-.124.638-.25.769-.372.126-.126.509-.997.637-1.243v-.87c-.128-.25 0-.747 0-1.12-.128-.25-.385-.125-.51 0zm7.
20076037 9.345c-.13-.13-.13-.393-.266-.65-.26-.785-.128-1.177-.26-1.955h-1.053c-.265.128-.397 0-.659.128 0 .522.132.912.526 1.564.393.783 1.712.913 1.712.913zM7.036 31.419s.402-.25.402-.507c.671-.758 1.476-1.393 1.613-1.515-.272-.637-.405-.763-.81-1.141-.132.126-.803.504-.94.759-.265.126-.535.252-.674.382 0 .252.14.377.27.63 0 .253.14.885.14 1.392zm10.162 4.404c0-.125-.405-.125-.67-.125-.272 0-.535.125-.81.125-.267.373-.4.744-.534 1.24-.133.373-.403.62-.54.867 0 0 1.212-.247 1.48-.247.403-.247.669-.373.939-.869.135-.372.27-.494.135-.99zm16.39 10.088c-.258-.128-2.739-1.266-3.13-1.266-.783.126-2.085.126-2.873.507-.127-.381-.256-1.014 0-1.394.13-.255 1.437-.255 1.827-.255 1.437.129 2.219.38 2.61.38.392.38.785.38.914.38 0 0-.129-.76-.262-1.012-.52-.253-1.043-.379-1.436-.505-.651-.255-.91-.383-1.954-.507-.389 0-.389.124-1.172.124 0-.124.129-.253.26-.379.257-.378.523-.63.783-.885h2.083c.526.127.784.255 1.436.507.39 0 0-.63 0-1.014a1.75 1.75 0 0 0-.52-.38 6.398 6.398 0 0 1-1.438-.508c-.388-.124-1.169-.377-1.82-.251-.655.251-.655.127-1.182.38-.648.888-1.04 1.898-1.43 2.913 0 .252-.653 1.77-.653 2.025 0 .126-.127.38-.127.38-.525-.128-2.872-.506-3.523.125-.258.253-.522.507-.916 1.266-.52-.378-.913-.506-1.433-.506-.654 0-1.434.38-1.825 1.01 0 .13-1.044 2.028-.915 3.8.131 1.015.524 1.393 1.044 2.154h1.438c-.131-.506-.396-1.14-.655-1.9-.13-.633.131-1.772.259-2.785 0 0 .396-.252.783-.38.264-.253.391-.129.783-.129.134 0 .134.129.134.129-.526.507-.526 1.013-.653 1.772 0 .379.52 2.28 1.04 3.293h1.047s-.262-2.533-.13-2.786c0-.507.13-.886.26-1.266.26.126.519.126.78.252.391.257.391.507.391.886 0 .633 0 .76-.127 1.141v.634c0 .633.127 1.139.127 1.139h1.048c0-1.14.125-1.013.258-1.646.13-.508 0-.759.13-1.14a.93.93 0 0 1 .265-.633c.39-.253.65-.253 1.17-.124 0 .376 0 .757-.126 1.138-.136.632-.265 1.266-.527 1.899 0 .126-.127.379-.26.506h1.566s.258-.506.392-1.14c.385.38.912.127 1.17.127.396-.126.656-.507.913-.76-.517-.381-1.698-.256-1.698-.76-.256-.886 0-1.01 0-1.52 0-.758-.777-1.012-1.556-1.14-.265-.125-.787-.125-1.044-.125-.264.124-.528.507-.782.507 0 0-.526-.383-.919-.507-.26 0-1.044-.255-1.044-.255.134-.25.263-.505.392-.633.129-.124.525-.505.652-.505.264-.125.653 0 .919.126.647.127 1.172.255 1.3.255.132 0 .526.252.526.252.384-.252.384-.507.646-.507.781-.251 1.045-.38 1.825-.38.655 0 1.179 1.142 1.566 1.52.133.251 1.043 1.393 1.569 2.405.258-.127.39-.38.65-.38 0-.252-.13-1.265-.26-1.391-.39-1.142-1.172-1.395-1.172-1.647.256 0 .782.252 1.04.252.262.128.652.253 1.041.507.133.126.395.255.526.381.129.507.129.886.39 1.392 0 .126 0 .254.13.383.392-.762.783-.89 1.044-1.522-.26-1.14-.915-1.646-1.564-2.024zm-1.073 5.759c-.265.532-.532 1.062-.532 1.33h1.46c.4-.531.532-1.063.265-1.86-.395.132-1.193-.27-1.193.53zM18.523 39.099c.383-.126.635-.38 1.019-.507.251-.126.509-2.15.509-2.15s-.763.124-.893.252c-.128 0-.635 0-.888.253 0 .38 0 .758-.125 1.265-.256.38-.89.633-.89 1.265 0 0 .508.128.634.128.256-.128.508-.38.634-.506zM5.88 24.484v.626c0 .252.136 1.632.136 2.007.132.378.132.753.261 1.13.139.25.27.5.27.753 0 0 .268-.123.397-.377.4-.376.536-.753.8-1.253-.133-.878-.4-1.632-.4-1.883 0-1.003.136-1.255.267-1.882-.53.249-1.195.627-1.73.879zm17.46 17.911c.125 0 .252-.255.252-.255-.127-.513-.252-1.151-.373-1.663 0 0-.378-.258-.748-.258-.249 0-.497-.127-.743 0 .121.387.121.644.246 1.027.37.51.867.765 1.366 1.15zM11.785 28.76c-.123-.251-.496-.377-.743-.503-.25 0-.5.503-.5 1.009 0 .251.127 1.137.25 1.515 0 .126.25.254.497.381.373.25.744.376 1.118.63 0 0-.374-1.135-.497-1.767-.125-.378.123-.885-.125-1.265zm2.9 3.962c.131-.518.518-.776.518-1.683 0 0-.127-.648-.255-.908-.132-.258-.264-.516-.649-.775-.13 0-.386-.262-.514-.133 0 0-.132 1.038-.26 1.168.26.388.517.648.643 1.036.131.39.259.906.516 1.295zm3.512 2.046c.395-.385 0-1.025 0-1.408-.135-.385 0-.77-.135-1.154a.735.735 0 0 0-.664-.383c-.266 0-.929-.385-.929-.13-.664 0-.131.64-.131 1.025 0 .512 1.323 1.793 1.323 1.793.27.128.27 0 .536.257zM5.586 23.977c.266-.388 1.06-1.163 1.453-1.683.27-.257.8-.903 2.12-1.549.132-.517.265-.904.265-1.42-1.324.387-2.25.647-2.511.903-.663.388-.93.648-1.591 1.037 0 .772 0 .772.131 1.16l.133 1.552zM25.83 38.3c-.402-.247-1.068-.991-1.463-1.363
20076-.271-.248-.14-.619-.405-.868-.264 0-.533 0-.798.123-.401 0-.665 0-1.063.126.131.246.131.495.398.619.531.495.531.621 1.064 1.363.135.25.804.373 1.333.373.27 0 .798-.247.934-.373zm-5.037-7.068c-.54.123-1.615.247-1.615.62-.135.37 0 .742 0 .992.138.247.138.494.138.867 0 .247-.138.497 0 .87.135-.25.805-.497.936-.746.271-.371.541-.618.674-.991.135-.372 0-.992-.133-1.612zm1.597-.115c-.398.256-.662.384-.662.64 0 .514.13 1.026.13 1.284 0 .386 0 .642.134.77.398.128.534.128 1.067.384 0 .13.533.385.533.385s-.264-1.153-.4-1.669V30.86c-.534.128-.666.258-.802.258zM7.277 19.074c.126-.125 1.534-1.12 1.658-1.245.256-.249.385-.124.507-.373 0-.748.261-.748.133-.995-.133-.252-1.15 0-1.406 0-.637.122-1.788.494-1.788.745-.127.374-.127 1.244-.127 1.372.127.371.127.747.251 1.12.39-.373.512-.497.772-.624zm27.937 22.584c-.123-.125-.37-.252-.62-.379v.507c0 .508.12.637.12.893 0 .254.377 2.037.377 2.544.62.13.62.64.994.893 0 0-.25-1.527-.25-3.437 0-.13-.37-.893-.62-1.021zm-7.728-4.719c.515.37 1.542.247 2.446.124-.519-.373-.645-.623-.904-.869-.387-.25-.64-.373-1.156-.868h-1.669c.254.619.38.992 1.283 1.613zm-5.053-8.25c.263-.248.522-.742.522-.867.265-.495.265-1.116.265-1.613-1.045-.622-2.354-.744-3.662-.744-1.179 0-2.487.122-3.795.993.133.497.26.869.525 1.364.13 0 .26.25.388.25.263-.25.527-.622.915-.745v.495c0 .372 0 .62.136.995 0 .369.392.369.913.369.522 0 .657-.868.657-.992 0 0 .131.495.912.868 0 0 .916 0 .916-.123.133-.621.266-.745.133-1.241 0 0 .786.496 1.175.991zm4.143 4.832c-.533-.773-.666-1.544-.666-1.673-.266-.259.265-1.157-.402-1.157-.263-.133-1.065-.389-1.065-.389-.139.389-.139 1.16 0 1.546 0 .386.663 1.546.932 1.673.133.13.8.13.938.13.13-.13.263-.13.263-.13zM6.514 16.72c.265-.376.265-.376.529-.632.532-.378.798-.632 1.456-1.137.131-.254.264-.126.66-.378.132-.125.265-.253.265-.38 0-.251-.133-.505-.265-.755-.133-.254-.396-.886-.396-1.014 0-1.008.135-1.26.263-2.146-.527-.126-1.185-.126-1.451.38-.264.38-.264.758-.264 1.14 0 .626.131 1.134.264 1.89-.532.382-.796.632-1.32.885.13.757.259 2.147.259 2.147zm26.215 18.446c-.256-.257-.51-.513-.895-.771-.516-.129-.768-.387-1.03-.9-.126-.258-.253-.516-.511-.775-.252 0-.38.13-.637.259-.258.258-.773.258-1.029.643.127.257.256.516.513.773.131.128.258.387.772.642.893.514 1.154.642 1.154.642.768.13 1.663-.513 1.663-.513zm-6.34-5.609s.126.641.384 1.28c.13.257.384.512.516.512.252.127.77.255 1.152.255v-.255c-.382-.385-.9-1.278-.9-1.535-.252-.125-.252-.125-.637-.125-.131-.132-.39-.132-.514-.132zm11.682 9.116c-.12.373-.495.62-.495 1.117 0 0 .622.618.747.993.123.248 0 1.364.123 1.611.372-.373.622-.496.622-.99-.127-.124-.25-1.12-.374-1.862 0-.248-.371-.62-.623-.869zm10.365 8.93c-.642 0-1.407.753-1.916 3.136-.128.88-.256 1.635-.128 2.134l1.146.126c.256-.376.256-1.004.513-1.506 0-.25.258-.25.51-.25.257.124.77.752 1.022 1.002.128-.25.383-.752.383-1.13 0-.127-.383-.376-.51-.376-.381-.25-.638-.5-1.147-.5-.13-.503.635-1.13.635-1.13.894 0 1.79 1.002 1.79 1.002.254-.125.38-.5.639-.75-.768-1.382-2.172-1.757-2.937-1.757zm-6.758-6.734c-.127-.253-.251-.632-.373-.883 0-.126 0-.377-.126-.754 0 0-.87.628-.993.754.496.63.25 1.01.37 1.513 0 .249.5.375.623.754 0 .124-.244 1.258-.244 1.258.743-1.007.743-2.265.743-2.642zm10.594 11.1c-.128.389-.262.644-.526.9.133.13.398.13.526.13h1.323c.124-.13.124-.515.258-.774 0-.256.13-.515.13-.9h-.791a.99.99 0 0 0-.92.644zM34.501 33.337h.643c.26 0 .26-.493 0-.493-.903-.25-1.674-.495-2.19-1.24-.127.126-.902.37-1.157.62 0 0 .255.62.899 1.238.384.37 1.162.124 1.805-.125zm-5.687-4.198c.388.514.773.896 1.157 1.279.125.256.51.256.764.256h1.282c.385-.13.64-.13.898-.385-.513-.254-1.151-.511-1.667-.768-.513-.254-.895-.51-1.277-.893-.26 0-.384.127-.517.127-.252.132-.383.257-.64.384zm-13.61-6.16s.513-.119.902-.119c.26 0 .518 0 .775.119-.131.118-.647.354-.647.354-.253.118-.385.235-.774.354-.128-.236-.257-.708-.257-.708zm-.084-2.709c.255-.377.773-.629 1.156-.755.512-.125.38-1.134.38-1.26.132-.254 0-.631 0-.885-.253.128-.253 0-.763.128-.518 0-.773-.253-1.026-.507-.262-.25-.9-.756-1.155-1.257.637-.13 1.155-.13 1.794-.13h1.667c.38.13.64.382.64.631 0 .126-.126.884-.126 1.01-.133.756-.133 1.01-.258 2.145v.377c-.129.254-.641.38-.897.63-.129.378-.129.632-.515.757-.386.128-.642.505-.897.379-.384-.25-.253-.884 0-1.263zm-2.113-6.526c-.266-.245-.797-.618-1.062-1.115-.393-.496-.264-.99-.264-1.
20076116.264-.745 1.191-.994 1.725-1.118.262 0 .528 0 .924.25.53.247.797.247 1.06 1.115 0 .128 0 .247-.132.247 0 0-.797.496-1.062.748-.66.37-.79.99-1.189.99zm3.768-.069c.384-.263.762-.523 1.02-.523.257-.13.764-.263.764 0 0 .523-.381.784-.764 1.306-.258.39-.382.133-1.02.133h-.64c0-.392.258-.524.64-.916zm5.345-.616c.249 0 2.398.486 1.01 1.091-.257.244-.885.121-1.519.121 0-.24 0-.726-.25-.726-.257-.244-.633-.244-.633-.486-.51-.486.758-.12 1.392 0zm2.59-2.42c.4-.382.937-.509 1.466-.382.666.126.798.253 1.065.508.4.508.269 1.523.132 2.156-.132.382-.531.637-.93.637-.667-.761-1.333-1.27-2.264-1.526-.134-.506.27-1.014.53-1.394zm.858 5.352c-.131.253-.396.381-.658.513-.135 0-.261.253-.261.38-.268.384-.66.511-1.186.511-.265 0-.79 0-1.054-.51 0 0 .13 1.535.13 1.917 0 .128.134.128.134.128.525.128.657.64.919.896 0 0 .132.127.266.127.523.383 1.71.895 1.184.895 0 .257-.393.896-.523.896-.4-.381-1.056-.639-1.586-.896-.13-.255-.26-.512-.395-.765-.26-.257-.391-.257-.788-.512 0-.894-.13-.894-.13-1.79 0-.128-.264-1.537-.264-1.537 0-.127.394-.508.79-.64 0 0 2.503 0 3.685.132 0 0-.129.255-.263.255zm-1.545 7.8c-.517-.135-.902-.54-1.548-.54 0-.403 0-.403.131-.54.775-.135 1.162.137 1.547.272 0 .135-.13.808-.13.808zm-8.43 1.817c.39 0 .779-.379 1.167-.508.774-.255 1.425-.509 2.199-.636.263-.131.263-.384.263-.64.13-.253.13-.253.13-.635 0-.127-.52-.254-.78-.767-.258-.383 0-.765-.13-.765-.385.254-.908.509-1.034 0-.13-.38-.13-.893.26-1.02a5.475 5.475 0 0 1 4.016 0c.257 0 .387.256.387.51.128.255 0 .51-.26.764-.389.128-.78-.381-.78 0 0 .382-.257.895-.906 1.151-.126.127 0 .509.133.891 0 .127 0 .38.128.38.519.13 1.298.258 1.685.512.515.255 1.421 1.018 1.553.893.387-.255.515-.638.778-.893 1.423.638 2.587 1.018 4.403 2.17.258 0 .258-.511.258-.768-.65-.384-2.595-1.402-2.85-1.53-.517-.126-.775-.384-1.296-.51V23.19c.908.255 2.715.382 4.535 1.402.126-.383.389-.638.258-.767-2.078-1.018-3.623-1.402-4.921-1.402 0-.129-.263-.256 0-.383.388-.255.517-.382.65-.509.386-.51.648-1.02.774-1.53.387-.764.776-.51 1.037-2.168-.39 0-.522.254-.908.384.126-.384.258-.766.258-1.149.128-.766.389-1.275.389-2.169.39-.13 1.038-.51 1.166-1.018 0-.13 0-.511.131-1.022 0-.764.126-1.402-.131-1.912 0-.127-.905-1.402-1.555-1.784-.904-.383-1.294-.254-1.942-.129-.777 0-1.815.765-1.815 2.17-.772 0-2.329.126-3.235.891-.776-.383-1.423-.508-2.074-.638h-1.162c-.128-.51-.39-1.021-.906-1.402-.646-.381-1.427-.892-2.333-.892-.389 0-.775-.129-1.164.13-.389.252-1.036.506-1.165 1.016-.26.638-.518 1.148-.518 1.786 0 .64.39 1.148.779 1.786.125.256.257.256.515.381.13 0 .65.257.778.383.128.125-.128.51-.128 1.277 0 .636 0 .636.128 1.146 0 .51.128 1.02.258 1.4-.386 0-.647-.38-.906-.124 0 .256.259.893.52 1.402.646.637 1.292 1.275 1.683 2.04 0 .126 0 .38.126.38-.906.128-1.81.128-2.717.386-.778.255-1.684.638-2.458 1.02 0 .51.127.893.127.893.13 0 1.295-.64 2.33-.893 1.684-.509 2.592-.382 2.592-.382.126.255.257.635.126.764-1.553.638-3.106 1.403-4.535 2.294.134.257 0 .638.264.893 1.297-.765 3.108-1.657 4.402-2.167.518-.128.518 0 .779 0 .128.127.385.635.643.635zm24.78 11.278s-.248-.495-.248-.616c-.123-.248-.246-.62-.62-.742 0-.123-.126.494-.249.742-.127.246-.127.12-.375.616.248.369.375.615.623.985 0 .123.375.617.375.617s.494-.987.494-1.233v-.369zm16.522 14.722h-.64c-.256-.128-.384-.128-.51 0-.386.379-.386 1.012-.643 1.392h1.538c.255-.256.513-.38.513-.889 0-.124 0-.379-.258-.503zm-18.014-17.46c0-1.118-.27-1.118-.813-1.613 0 0-.409.745-.678 1.116.542.496.678 1.116.678 1.116.543-.496.543-.372.813-.62zm5.034 4.48c0-.379-.132-.756-.39-1.01-.134-.377-.264-.88-.264-1.134-.136-.25-.657-1.009-.92-1.386-.26-.25-.26-.881-.393-1.26l-1.575.25c.79 1.01 1.448 2.018 1.835 3.028.134.379 1.317 4.163 1.317 4.163.39-.128-.134-2.02 0-2.145.127-.252.127-.38.39-.505zm-9.79-10.127c-.131-.248-.397-.746-.53-.87-.13-.249-.265-.497-.4-.623-.13-.122-.659 0-.922 0-.266 0-.397 0-.663.126.266.248.528 1.119.663 1.119.131.248.131.372.396.5.66.123 1.19 0 1.853.247.26-.375-.266-.375-.397-.499zm3.451 2.882s-1.584-.888-1.85-1.267c-.395 0-.395 0-.791.379-.268 0-.396.13-.528.38.397.258.528.382.924.635.134.126.264.126.66 0h1.06c.259 0 .525.126.525-.127zM59.501 50.21s-.135.395-.27.654c-.268.657-.4.919-.4 1.311.4.268.535.133 1.074.133.268 0 .536.135.67.135.269-.135 0-.397 0-.527-.134 0-.67-1.183-1.074-1.706zM45.685 39.233c.534-.382.669-1.15.804-1.533.135-.384-.135-1.149-.27-1.403-.401 0-.666-.257-.94-.257-.268 0-.4-.639-.804-.512.135.257.403 1.535.536 1.788.137.13.674 1.023.674 1.917zm9.976 6.976c0-.126-.411-.379-.542-.379 0-.128-.144-.636-.28-.761-.27-.129-.27-.255-.544-.255 0 .126 0 .255-.137.508 0 .253-.275.38-.136.633.136.254.273.254.547.38.135.127.55 1.143.68 1.27.138-.127.138-.89.412-1.396zM32.926 25.585c.396 0 .657.252.921.252 0-.376-.134-.627-.264-1.007-.132-.632-.395-1.012-.529-1.388 0-.378 0-.632-.128-.884-.13 0-.264 0-.394-.128-.394 0-.922-.128-.922-.128 0 .382.134 1.012.134 1.39 0 .126.525 1.264.656 1.39a.99.99 0 0 0 .526.503zm12.48 8.382c-.129-.39-.52-.522-.782-.781 0 0-1.702-.651-1.967-.651-.262.129.657.65.786.91.524.522 1.834 1.695 1.834 1.695l.13-1.173zM29.37 18.023c-.13.126-.264.38-.264.504-.263.38-.652.632-.395 1.012.132.505.132 1.009.529 1.389.394.38.914.251 1.438.63 0 0-.394-1.641-.651-2.399-.132-.502-.393-.756-.657-1.136zm24.83 9.553c-1.686-1.65-3.505-2.669-5.32-2.669-1.555 0-2.725 1.142-2.725 2.289 0 4.576 1.82 7.5 2.986 10.04.387.636.516 1.145.516 1.781.13 1.653-1.294 4.703-2.203 6.356-.129-.128-.78-.253-1.3-.253-1.296 0-1.815.887-2.076 1.649-.389 0-.645-.254-1.04-.254-1.554-.126-2.852 1.27-2.852 2.798 0 1.65.387 2.543 1.039 3.687h1.298c-.132-.381-.519-2.29-.65-2.797-.126-.76.131-1.272.518-1.653.52-.765 1.816-.507 1.816-.507-.388.635-.906 1.65-.906 2.667.132.637.258 1.657.65 2.29h1.039c.255-.764 0-1.398 0-2.037 0-.378 0-.76.126-1.142 0-.254.65.509.65.509s.519-.636.519-1.145c0-.38-.776-.254-.904-.635-.136-.38.256-1.272.256-1.272.778-.51 1.425-.38 1.688-.38.386 0 .515.124 1.038.124.386 0 .517-.76.517-1.14.128.125.521.38.648.38.388.127.518.127.908.253.52.254 1.04.507 1.56 1.019v-.13c-.132-.506.127-1.142-.26-1.397 0 0-.651-.509-1.17-.762-.259-.254-.65-.254-.778-.508-.13-.126-.13-.255-.13-.509s.13-.635.258-.635c.259-.128.391 0 .91.252.52.257 1.038.637 1.427.892 0 0 .129.254.129.127.52-.253.52-.382.52-1.144-.52-.638 0-.762-.78-1.272-.258 0-1.686-.509-1.686-.509
200760-.254.39-.888.39-.888.13-.125.387-.125.52.127.777.507 1.295.507 2.08.761.122-.38.122-.633-.135-.888-.262-.38-.65-.765-.91-.892-.517-.126-.777-.253-1.168-.38 0-.381-.128-.762-.257-1.27 0-.256.257-.128.52-.128.52-.128 2.723.636 2.723.636 0-.509-.13-.891-.391-1.145-.26-.255-.517-.509-1.167-.761-.905-.256-1.685-.127-2.334-.51-.52-.509-.65-.635-.78-1.144.389-.125 1.039-.254 1.43-.254.647 0 1.04-.127 1.817.129.255.125 1.166.89 1.557.89 0 0-.262-1.019-.523-1.398-.382 0-1.034-.765-1.294-.892-1.301-.509-1.558-.253-2.34-.127-.386.127-.773 0-1.166 0-.128-.253.261-.635.133-.889 0-.129-.523-.256-.523-.508 0 0 2.077-.256 2.858-.129.26.129 1.038.637 1.298.637 0 0 .255-.892-.133-1.653-.645-.125-1.296 0-1.815-.125-.519-.129-1.038 0-1.425 0-.393 0-.783-.129-1.17-.129-.257-.38-.391-.763-.391-1.144 0 0 3.245-.128 3.505-.253-.132-.131-.389-.254-.52-.511-.518-.89-.909-1.016-1.556-1.016-.39 0-1.295.38-1.815.253 0-1.015.52-1.905 1.295-1.905 1.558 0 3.115.634 4.412 2.032 3.247 3.307 4.93 9.534 4.93 13.983 0 2.034-.259 3.94-.517 5.466.388.129.645.129 1.036.129.393-1.528.78-3.561.78-5.468 0-6.483-2.337-11.946-5.19-14.999zM34.592 22.31c.264 1.015.656 2.283.788 3.8 0 .383-.132.762 0 1.143l1.822.632s-.256-1.52-.518-3.292c-.261-1.519-.392-2.026-.784-2.662-.262.127-.391.127-.652.127-.392.126-.656.252-.656.252zm4.287 7.396c.262.25.39.754.521 1.633.13.504.392.63.65 1.383.392-.25 1.043-.124 1.043-.124 0-.63-.392-1.259-.392-1.382-.133-.255-.52-1.008-.652-1.26.131 0 .519.504 1.173.504.133 0 .524.123.782 0 0 0 .389.252.389.501.26.378.26.63.395 1.007.254 0 .389 0 .518-.125.52 0 .78-.127.78-.127-.127-.251-.26-.5-.26-.755-.13-.249-.388-.879-.388-.879l2.34-.376c0-.38-.128-.884-.522-1.135-1.17.38-2.468.504-3.383.504-1.305 0-2.604-.253-4.426-1.004-.13.25 0 .751 0 .751.78.633.78.253 1.432.884zM10.142 8.737c.915-.516 2.475-1.42 2.994-1.934.134.26 1.697 1.161 2.346 1.544.52.39 1.042.516 1.561.773.26-.383.519-.773.782-1.673.39.26.911.26 1.3.386 0 .514 0 1.03.133 1.548 0 .255.26.126.781-.13.78-.257 1.56-.388 1.953-.514.907-.516 1.429-1.546 2.21-1.546.653 0 1.824.385 2.085.642.39.131.651.258 1.043.258.52 0 .91-.515 1.297-.774-1.168-.77-2.467-1.543-3.772-2.058-.782.641-1.303 1.157-1.693 1.157-.392 0-.13-.77-.13-1.288-.391 0-.653 0-1.04-.128-.258.9-.393 2.062-1.042 2.317-.26.13-.392.13-.521.13V6.416c0-.129.521-1.029.39-1.157 0 0-1.172.256-1.43.386-.13.129-.915.516-1.043.516 0 0-.392-.13-.52-.13-.391-.257-.65-.257-1.042-.516-.52 1.547-.654 1.932-.654 1.676 0 0-1.822-1.16-2.47-1.932-1.694.256-1.694.515-3.126 1.028-.52.516-1.301 1.16-1.822 1.934-.26.516-.521.773-.78 1.286l1.3.516c.131-.13.781-1.03.91-1.286zm44.981 34.535c.363.124.607.998.852 1.247.367.5.246-.872.123-1.123 0-.124 0-1.122-.244-1.122-.124-.126-.245-.5-.368-.623-.123.373 0 .623 0 .997 0 .25-.491.497-.363.624zM32.4 17.342c-.131 0-.528-.124-1.06-.249h-.661c.13.376.53.75.66.999 0 .126 0 .502.136.75.262 0 .659.124.925.25.131 0 .925.126 1.19.376.263 0 1.187.998 1.324 1.123.394.251.792.5 1.054.376.265 0 0-.376 0-.5-.527-.75-.924-2.124-1.054-2.124-.398-.125-.664 0-1.192-.251-.262-.25-1.058-.623-1.322-.75zm-2.212-2.994c.13.26.385.26.641.387.255.258.513.387.896.647.51.517.766 1.166 1.404 1.678.256.13.385.26.511.26.13 0 .64.388.768.517 0-1.034-.385-1.807-.637-2.326 0-.13-.13-.258-.386-.389-.386-.387-.767-.774-.894-.774-.382-.387-.639-.773-1.022-1.162-.385 0-.64.389-.896.518-.127.257-.636.517-.385.644zm-.472-3.29c0 .375.131.755.26 1.129.64.376 1.414.627 1.414.627.127-.378-.133-.753-.133-1.13-.252-.88-.642-1.757-.769-2.761v-.505c-.512-.249-1.03-.376-1.673-.627 0 0 0 .754.258 1.132.258.626.643 1.631.643 2.134zm27.578 3.364l-.513-.657 1.408-.393.643 2.233-1.538-1.183zm-4.692-1.15l-.765.472-1.022-.71 1.148-.592 1.275.83h-.636zm20.271 24.797c.128-.76.128-1.52.128-2.027a1.44 1.44 0 0 0-.91-.381c0-.377-.133-.884 0-1.391.256 0 .782.126.782 0 0-.76-.133-1.523-.26-1.901-.266-.129-.655-.255-1.048-.383 0-.38-.129-.759-.26-1.012.396-.128.653-.128.913-.128 0 0-.26-1.14-.388-1.648-.265-.126-.656-.126-.916-.126a6.102 6.102 0 0 1-.392-.887c.262-.126.525-.126.783-.252-.258-.634-.39-.889-.652-1.268h-.91c-.13-.253-.26-.507-.26-.758.13-.132.389-.256.52-.384a2.742 2.742 0 0 0-.653-1.011c-.26 0-.522.124-.782 0-.129 0-.522-.508-.39-.508.128-.255.39-.381.521-.507-.393-.50
200765-.522-.886-.914-1.141-.26 0-.518 0-.782.128 0 0-.261-.383-.39-.51-.394 0 .26-.632.26-.632-.391-.506-.78-.887-1.302-1.392-.266 0-.526.25-.655.25 0 0-.521-.379-.521-.505 0-.253.521-.38.521-.38s-.914-1.014-1.565-1.395c-.26.127-.389.127-.654.127-.389-.38-.911-.632-.911-.632s.393-.255.393-.381c-.652-.38-.914-.631-1.436-1.015-.522-.252-.782-.633-1.043-1.015-.911-1.39-2.085-3.418-4.958-3.8 0 0 .655.887 1.048 1.522 0 .125 0 .125-.524.125h-.91c-.264-.381-.393-.506-.526-.76-.261-.505-.384-.634-.65-.886-.523-.381-3.13 1.013-5.348 1.521.526.632 1.045 1.011 1.174 1.266.652.633 1.566 1.775 2.216 2.661.133-.126.264-.25.525-.38 1.699-.254 1.699-.63 1.699-.63s-1.31-1.018-.4-1.018c0 0 .655.125.917-.125.651-.129 1.434-.255 1.827 0 .52.378.78.886 1.172 1.267-.26 0-.52-.125-.781-.125-.784-.13-1.567 0-2.218.125 0 0 1.047.886 1.303 1.267-.256-.129-1.043 0-1.043 0-.393.126-.912.252-1.043.252-.39.129-.784 0-1.044.129.521.253 2.874 1.141 4.045 1.141 1.043 0 1.693-.13 2.608-.51.129-.126.389-.252.52-.126.523.127.783.255 1.043.506 3.393 2.03 7.173 6.846 8.347 9.379 1.173 2.408 1.823 5.07 1.823 7.603.131 3.424-1.04 6.718-3.388 9.634-1.309 1.644-3.783 3.04-6.39 3.293.783.888 1.17 2.28 1.564 3.549 0 0 .914-.127 1.437-.38 0-1.014-.654-2.153-.654-2.41 0 0 .782-.505 1.435-.505.127.379.519 1.013 1.045 1.901.521-.254.91-.51 1.303-.888 0-.634-.392-1.394-.655-2.154.915-.38 1.437-.51 1.437-.51.263.382.912.76 1.043 1.144 0 0 .65-.634.915-1.268-.264-.507-.656-.888-.915-1.395l1.044-1.138s.65.506.91.76c.394-.507.783-1.014.912-1.65-.65-.631-.912-.631-1.043-1.012.262-.382.392-.886.652-1.267.391.128.656.38.917.505.256-.505.522-1.268.522-1.773-.266-.255-.655-.38-.912-.633l.257-1.268s.655.126.915.126z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>ING<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-KNABNL2H\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"KNABNL2H\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-KNABNL2H\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"KNABNL2H-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"KNABNL2H-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#KNABNL2H-a\\\"><\/use><\/mask><use fill=\\\"#00374E\\\" xlink:href=\\\"#KNABNL2H-a\\\"><\/use><g mask=\\\"url(#KNABNL2H-b)\\\" fill=\\\"#FFF\\\"><path d=\\\"M13.769 14c-.88 0-1.438.43-1.772.956h-.025l.012-.849h-1.692c-.149 0-.292.18-.292.353v5.197c0 .174.143.343.3.343h1.684v-2.916c0-.85.236-1.519 1.09-1.519.82 0 .943.586.943 1.363v2.725c0 .18.14.347.29.347H16v-3.478C16 15.1 15.541 14 13.769 14M26.102 18.763c-.803 0-1.35-.62-1.35-1.526 0-.907.547-1.527 1.35-1.527.804 0 1.339.62 1.339 1.527 0 .906-.535 1.526-1.339 1.526zm.251-4.618c-.733 0-1.238.26-1.542.536.006-.2.013-.496.013-.787V12H23.27c-.137 0-.269.174-.269.333v7.21c0 .172.129.331.273.331h1.46l-.007-.46c.416.399.985.586 1.616.586C27.972 20 29 18.721 29 17.067c0-1.655-1.027-2.922-2.647-2.922zM8.823 14.283H6.879a.58.58 0 0 0-.394.182l-1.6 1.709V12H3.279c-.142 0-.278.175-.278.337v7.332c0 .164.112.331.279.331h1.607v-1.727l.518-.5 1.29 2.012c.12.165.286.215.48.215H9l-2.299-3.571 2.122-2.146M20.33 18.28c-.106.2-.41.527-.862.527-.462 0-.787-.27-.787-.713 0-.433.304-.679.819-.702l.83-.058v.946zm1.05-3.613c-.41-.422-.966-.667-1.933-.667a4.65 4.65 0 0 0-2 .474c-.12.061-.167.24-.119.379l.345.948c.262-.187.924-.515 1.586-.515.672 0 1.06.317 1.06.924v.13l-1.302.058c-.956.047-2.017.48-2.017 1.765C17 19.45 17.967 20 18.88 20c.84 0 1.26-.491 1.481-.737l.022.393c.006.108.1.215.23.215H22v-3.25c0-.972-.22-1.534-.62-1.954z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>Knab<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-MOYONL21\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"MOYONL21\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-MOYONL21\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\" width=\\\"32\\\" height=\\\"32\\\"><defs><rect id=\\\"MOYONL21-a\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#FFF\\\" xlink:href=\\\"#MOYONL21-a\\\"><\/use><rect width=\\\"31\\\" height=\\\"31\\\" x=\\\".5\\\" y=\\\".5\\\" stroke=\\\"#000\\\" stroke-opacity=\\\".1\\\" rx=\\\"8\\\"><\/rect><path fill=\\\"#D30D48\\\" d=\\\"M12.725 22.987a3.711 3.711 0 1 1 0-7.423 3.711 3.711 0 0 1 0 7.423m-.023-9.406a5.702 5.702 0 1 0 0 11.404 5.702 5.702 0 0 0 0-11.404\\\"><\/path><path fill=\\\"#2AAACD\\\" d=\\\"M17.352 20.282a5.634 5.634 0 1 1 0-11.269 5.634 5.634 0 0 1 0 11.27M17.367 7a7.633 7.633 0 1 0 0 15.265 7.
20076633 7.633 0 0 0 0-15.265\\\"><\/path><path fill=\\\"#F9BA30\\\" d=\\\"M11.812 15.677a3.711 3.711 0 0 1 4.51 4.51 5.665 5.665 0 0 0 2.009.01 5.702 5.702 0 0 0-6.525-6.546 5.668 5.668 0 0 0 .006 2.026\\\"><\/path><path fill=\\\"#55548F\\\" d=\\\"M17.397 20.282l-.045.001a5.634 5.634 0 0 1-5.634-5.635h-.001v-.045a.992.992 0 1 0-1.982 0v.03a7.633 7.633 0 0 0 7.632 7.632h.03a.992.992 0 1 0 0-1.983\\\"><\/path><\/g><\/svg>\\n\t\t\t\t\t<span>Moneyou<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-RABONL2U\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"RABONL2U\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-RABONL2U\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\"><defs><radialGradient id=\\\"RABONL2U-a\\\" cy=\\\"66.644%\\\" r=\\\"79.468%\\\" fx=\\\"50%\\\" fy=\\\"66.644%\\\" gradientTransform=\\\"matrix(-.62918 -.77726 .78627 -.63647 .29 1.48)\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#FFD7A5\\\"><\/stop><stop offset=\\\"56.386%\\\" stop-color=\\\"#FDAD48\\\"><\/stop><stop offset=\\\"100%\\\" stop-color=\\\"#FC9E29\\\"><\/stop><\/radialGradient><linearGradient id=\\\"RABONL2U-b\\\" x1=\\\".006%\\\" x2=\\\"99.999%\\\" y1=\\\"50.047%\\\" y2=\\\"50.047%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#CC612C\\\"><\/stop><stop offset=\\\"100%\\\" stop-color=\\\"#743237\\\"><\/stop><\/linearGradient>
20076<linearGradient id=\\\"RABONL2U-c\\\" x1=\\\"-17.94%\\\" x2=\\\"99.666%\\\" y1=\\\"63.687%\\\" y2=\\\"40.48%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#FFDD7F\\\"><\/stop><stop offset=\\\"100%\\\" stop-color=\\\"#F47920\\\"><\/stop><\/linearGradient><linearGradient id=\\\"RABONL2U-d\\\" x1=\\\"9.382%\\\" x2=\\\"99.249%\\\" y1=\\\"33.961%\\\" y2=\\\"72.527%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#2A3795\\\"><\/stop><stop offset=\\\"100%\\\" stop-color=\\\"#222A7E\\\"><\/stop><\/linearGradient><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"url(#RABONL2U-a)\\\" rx=\\\"8\\\"><\/rect><path fill=\\\"url(#RABONL2U-b)\\\" fill-rule=\\\"nonzero\\\" d=\\\"M23.455 18.928c.365.373.668.805.899 1.28.692 1.464.438 3.078-.94 4.487-1.58 1.614-4.27 2.607-7.39 2.607-3.122 0-5.812-.993-7.386-2.607-1.377-1.409-1.632-3.023-.94-4.487.229-.474.529-.906.89-1.28-.441.443-.788.841-1.106 1.496-.674 1.407-.461 3.417.966 4.874 1.615 1.656 4.154 2.653 7.602 2.653 3.447 0 5.99-1.027 7.542-2.653 1.522-1.594 1.581-3.668.957-4.92a5.016 5.016 0 0 0-1.094-1.45z\\\"><\/path><path fill=\\\"#F47920\\\" fill-rule=\\\"nonzero\\\" d=\\\"M20.92 17.238c-1.463-.631-3.167-.962-4.897-.962-1.73 0-3.434.326-4.897.962-1.601.692-2.84 1.719-3.434 2.975-.692 1.464-.437 3.078.94 4.487 1.58 1.614 4.27 2.606 7.391 2.606 3.121 0 5.81-.992 7.39-2.606 1.38-1.41 1.633-3.023.94-4.487-.592-1.256-1.831-2.283-3.433-2.975z\\\"><\/path><path fill=\\\"url(#RABONL2U-c)\\\" fill-rule=\\\"nonzero\\\" d=\\\"M16.314 17.945c-.289-.616-.23-1.173-.17-1.663h-.116c-1.731 0-3.434.325-4.897.962-1.602.691-2.841 1.718-3.434 2.974-.692 1.463-.439 3.079.94 4.488.096.098.198.194.303.288 5.81-.358 8.848-3.903 7.374-7.05z\\\"><\/path><path fill=\\\"#FFF\\\" d=\\\"M12.278 18.048c1.068.285 2.12.628 3.153 1.029.207-.647.427-1.29.679-1.923.25.63.47 1.273.677 1.923a29.698 29.698 0 0 1 3.13-1.015 24.196 24.196 0 0 0-2.132 1.587c1.43.19 2.77.436 4.173.754a44.944 44.944 0 0 0-4.122.113c.987.871 1.833 1.715 2.75 2.664a52.359 52.359 0 0 0-3.75-2.023 167.275 167.275 0 0 0-.726 3.436c-.231-1.147-.445-2.238-.698-3.38a91.33 91.33 0 0 0-3.808 1.977 49.335 49.335 0 0 1 2.777-2.644c-1.4-.094-2.744-.113-4.177-.135a47.574 47.574 0 0 1 4.224-.754 24.958 24.958 0 0 0-2.15-1.609zm3.832 1.998v-2.524c-.246.7-.462 1.412-.667 2.128.224.13.446.262.667.396zm-3.202-1.72c.865.4 1.709.842 2.538 1.323-.205.022-.41.043-.616.069a28.382 28.382 0 0 0-1.922-1.391zm3.202 1.72c1.668 0 3.333.087 4.993.263a68.813 68.813 0 0 0-4.331-.661c-.223.13-.443.263-.662.398zm3.2-1.72a29.46 29.46 0 0 0-2.54 1.323 22.62 22.62 0 0 0-.1-.353c.867-.36 1.747-.688 2.64-.97zm-3.288 1.72c.036 1.218.078 2.51.089 3.69.217-1.09.445-2.18.684-3.265-.224-.144-.543-.286-.773-.425zm3.764 2.512a49.91 49.91 0 0 0-2.991-2.087c.209-.018.419-.034.628-.048a48.096 48.096 0 0 1 2.363 2.135zm-3.676-2.512c-1.68.024-2.99.103-4.626.25 1.413 0 2.51.06 3.946.179.225-.146.449-.289.68-.43zm-3.673 2.513c.974-.73 1.97-1.43 2.993-2.084l.09.407a51.15 51.15 0 0 0-3.083 1.677z\\\"><\/path><path fill=\\\"#C9252C\\\" d=\\\"M16.11 17.198c.25.63.47 1.273.677 1.923a30.25 30.25 0 0 1 3.026-.985l.109-.071a29.696 29.696 0 0 0-3.135 1.013 30.297 30.297 0 0 0-.677-1.923c-.252.63-.472 1.274-.679 1.923a30.386 30.386 0 0 0-3.153-1.029l.107.072c1.031.28 2.048.613 3.046 1 .207-.649.427-1.292.679-1.923z\\\"><\/path><path fill=\\\"#CB4D2C\\\" d=\\\"M14.379 20.547c-.973.86-1.868 1.709-2.77 2.644l.145-.085a45.253 45.253 0 0 1 2.63-2.494l-.005-.065zm1.064-.898h-.063c-.184.02-.369.04-.553.063a27.17 27.17 0 0 0-1.92-1.395v.052c.664.439 1.298.911 1.92 1.4l.616-.068c.2.12.389.224.586.343h.08c-.216-.13-.446-.265-.666-.395zm-3.006 2.97a55.119 55.119 0 0 1 3.083-1.683v-.059a49.086 49.086 0 0 0-3.083 1.683v.059z\\\"><\/path><path fill=\\\"#A71C20\\\" d=\\\"M16.795 20.471c-.238 1.073-.47 2.183-.685 3.265v.042c.217-1.092.442-2.172.683-3.258a51.879 51.879 0 0 1 2.992 2.1v-.064a50.05 50.05 0 0 0-2.99-2.085zm1.085.084l-.044-.04v.07a44.973 44.973 0 0 1 2.6 2.506l.15.09c-.933-.966-1.766-1.793-2.706-2.626z\\\"><\/path><path fill=\\\"#CB4D2C\\\" d=\\\"M14.387 19.665a47.444 47.444 0 0 0-4.18.747h.221a47.102 47.102 0 0 1 4.004-.706v-.051l-.045.01z\\\"><\/path><path fill=\\\"#A71C20\\\" d=\\\"M17.785 19.649c1.43.19 2.77.436 4.173.754h-.23a45.58 45.58 0 0 0-3.938-.699l-.005-.055zm-1.013 0l.06.007c.808-.465 1.63-.899 2.476-1.286v-.043c-.866.398-1.71.841-2.538 1.322\\\"><\/path><path fill=\\\"#FFF\\\" d=\\\"M8.197 23.543l-.08.16c.05.02.145.052.188.071.477-.264.946-.529 1.415-.784.012-.058.028-.116.048-.173l-.144-.038c-.478.247-.954.501-1.427.764zm3.17 2.563c-.068.017-.153.017-.221.033-.014-.049-.048-.1-.063-.149.333-.413.67-.823 1.01-1.23l.218-.045c.015.043.046.12.064.155-.34.409-.677.82-1.009 1.236zm12.545-2.563l.08.16c-.05.02-.146.052-.189.071-.476-.264-.946-.529-1.414-.784a1.448 1.448 0 0 0-.049-.173l.145-.038c.477.247.953.501 1.427.764zm-3.17 2.563l.22.033c.021-.048.043-.097.063-.149a79.635 79.635 0 0 0-1.01-1.23l-.218-.045c-.015.043-.046.12-.063.155.34.409.677.82 1.008 1.236z\\\"><\/path><path fill=\\\"#CC612C\\\" d=\\\"M8.192 23.627l-.045.088-.03-.012.08-.16c.473-.263.948-.517 1.427-.764l.144.038-.026.086c-.039-.012-.09-.02-.13-.032-.477.248-.947.493-1.42.756z\\\"><\/path><path fill=\\\"#A71C20\\\" d=\\\"M12.302 24.775c.018.025.04.086.059.12l.017-.02c0-.018-.046-.112-.063-.155l-.218.044c-.341.407-.678.818-1.01 1.231 0 .018.02.041.025.06.214-.265.674-.842 1.01-1.24.05-.017.121-.028.18-.04zm11.615-1.148l.045.088.03-.012-.08-.16a57.43 57.43 0 0 0-1.427-.764l-.145.038.027.086c.038-.012.09-.02.13-.032.477.248.946.493 1.42.756zm-4.107 1.148c-.018.025-.04.086-.059.12l-.017-.02c.006-.018.046-.112.063-.155l.218.044c.341.407.678.818 1.01 1.231l-.023.06a76.256 76.256 0 0 0-1.012-1.24c-.053-.017-.125-.028-.18-.04z\\\"><\/path><path fill=\\\"#CB4D2C\\\" d=\\\"M9.519 20.49c.592-2.754 4.259-3.573 6.56-3.573 2.3 0 5.966.809 6.56 3.573.736 3.43-4.177 4.706-6.56 4.706-2.384 0-7.297-1.284-6.56-4.706zm.24-.02c.557-2.661 4.105-3.45 6.32-3.45 2.214 0 5.762.789 6.32 3.451.691 3.293-4.029 4.51-6.32 4.51-2.292 0-7.008-1.224-6.316-4.517l-.004.006z\\\"><\/path><path fill=\\\"#FFF\\\" d=\\\"M9.54 20.569c.592-2.755 4.106-3.588 6.56-3.588 2.452 0 5.966.833 6.559 3.588.737 3.429-4.176 4.705-6.56 4.705-2.384 0-7.297-1.278-6.56-4.705zm.24-.02c.557-2.662 4.105-3.452 6.32-3.452 2.213 0 5.762.79 6.319 3.452.692 3.294-4.028 4.511-6.32 4.511-2.291 0-7.01-1.219-6.32-4.512z\\\"><\/path><path fill=\\\"#4F264A\\\" fill-rule=\\\"nonzero\\\" d=\\\"M23.93 21.136l-1.075-.165-.143-.034a1.291 1.291 0 0 1-.675-.48c-.15-.24-.512-.658-.71-.917-.274-.36-.9-.688-.992-.836a5.337 5.337 0 0 1-.284-.51.284.284 0 0 0-.302-.176c-.163.01-.177.069-.315.077a1.801 1.801 0 0 1-.332-.022.976.976 0 0 0-.202-.029c-.087.148-.218.24-.537.24a.
20076187.187 0 0 1-.056-.006c.033.074.33.12.38.12.05 0 .333.078.396.091a.487.487 0 0 1 .312.102c.346.207.857.777.96 1.27.055.274.505.722.558.97-.601-.046-1.4-.46-1.4-.46l-.1-.05a2.357 2.357 0 0 0-.905-.214c-1.038-.096-1.427-.24-1.53-.276-.213-.075-.183-.112-.357-.12h-.094a.425.425 0 0 1-.09.12c-.186.174-.349.374-.484.593a.345.345 0 0 1-.206.139c.198-.047.584-.156.584-.156.364-.05.923.12.923.12.185.048.366.109.544.18 0 0 1.473.47 1.834.744.237.18 1.462.657 1.786.774.382.168.754.357 1.116.566.203.18 1.385.721 1.711.833.404-.69.562-1.506.447-2.305l-.762-.183z\\\" opacity=\\\".45\\\"><\/path><path fill=\\\"#4F264A\\\" fill-rule=\\\"nonzero\\\" d=\\\"M23.388 19.86c-.075.001-.15.01-.224.028l-.293.18c-.037.064.096.146.096.146s.37.025.37.12c.271.152.852.17 1.153.184a4.658 4.658 0 0 0-.286-.605c-.017 0-.248-.066-.816-.052zM21.2 23.616s-.07-.093-.445-.095c-.239 0 .103.587.103.587.215.15.989.38 1.154.403.165.022.698.187.698.187.192.03.383.073.57.13a5.747 5.747 0 0 0 .586-.651c-.653-.015-1.581-.027-2.284-.41-.071-.213-.382-.15-.382-.15z\\\" opacity=\\\".45\\\"><\/path><path fill=\\\"#FBB257\\\" fill-rule=\\\"nonzero\\\" d=\\\"M19.217 12.931s-.223-.205-.223-.217c-.015-.073.063-.17.081-.29-.023-.008-.045-.019-.067-.029-.052-.209-.096-.585 0-.786a.518.518 0 0 0 .072-.342c-.18-.64-.535-1.202-.785-1.803a1.194 1.194 0 0 1-.066-.452c-.194-.222-.417-.803-.526-1.162-.225.594-.375 1.276-.375 1.434 0 .668.65.992.426 2.103-.044.214-.116.51-.199.817.135.774.135 1.336.334 2.233.303.309.522.696.634 1.122.077.288.31.967.61 1.07.185.062-.628.218-.859-.083-.23-.302-.606-.52-.787-.83-.144-.24-.369-.768-.51-1.016l-.175.953c.236 1.015.096 1.24-.115 2.065-.092.36-.782-1.31-.783-1.443a2.603 2.603 0 0 0-.104-.815c-.144-.294-.129-.711-.115-1.027.033-.53.03-1.53.052-1.792-.174-.446-.62-1.252-.666-1.706-.07-.707.045-1.422-.05-2.126-.115.353-.24.8-.503 1.07-.39.414-.76.847-1.11 1.299-.128.183-.015.272-.214.564-.2.292-.09.158-.132.432a.196.196 0 0 1-.045.101c-.105.093-.215.17-.365.105-.29-.152-.31-.376-.332-.665-.038-.552.355-.578.577-.91.435-.657.656-1.756 1.122-2.25.029-.098.138-.45.346-.976.006-.652.16-1.232.808-1.5.264-.109.609-.138.622-.516a.48.48 0 0 0-.035-.205c-.106-.089-.181-.091-.23-.155-.105-.14-.191-1.036-.18-1.092.152-.761.5-1.015.943-.992.524.026.938.288.915 1.02-.017.59-.602 1.347.272 1.633.334.109.397.033.685.334.322.336.4.935.453 1.489l.329.793c.601 1.056.383 1.388.605 2.463.103.368.163.748.176 1.131.013.292-.208.936-.511.95z\\\"><\/path><path fill=\\\"url(#RABONL2U-d)\\\" fill-rule=\\\"nonzero\\\" d=\\\"M12.946 12.135c.027-.282-.012-.258.16-.518.16-.24.083-.361.224-.573.333-.46.688-.9 1.065-1.322.26-.275.615-1.202.698-1.53.016-.048.04-.07.05-.03.056.622.14 1.14.116 1.751-.044 1.284-.01 1.15.502 2.348.043-.481.155-1.182.425-1.418-.315 1.25-.335 3.03-.368 3.578-.018.279-.09.72.039.974.037.21.054.422.05.635l.008 2.191-.185.962a1.82 1.82 0 0 1-.663.888c-.081.047-.27.153-.27.24 0 .152.939.435 1.153.09.136-.219.299-.419.485-.593.297-.296-.032-.601.007-1 .068-.695.355-1.3.45-1.957.07-.403.026-.819-.127-1.196l.126-1.256c.148.275.282.558.4.847.23.509.238.56.643.976.144.145.272.306.38.481.192.315.324.629.306 1.005-.14.266-.2.249-.382.41.006.008-.05.155.123.155.61 0 .534-.333.766-.763.149-.28.577-.702.107-.849a.646.646 0 0 1-.371-.287c-.327-.568-.338-.553-.508-1.075-.11-.31-.305-.58-.558-.779a3.371 3.371 0 0 1-.259-.988 60.44 60.44 0 0 0-.194-1.405c.24-.985.361-1.193-.045-2.14a1.761 1.761 0 0 1-.145-.707c.038-.478.148-.946.328-1.388a.555.555 0 0 1 .246-.334c.099.382.438 1.167.634 1.36-.001.154.02.308.065.456.248.619.604 1.182.782 1.835.061.225-.02.333-.082.515-.023.174-.018.352.014.525l.084.048c-.022.098-.05.194-.082.288.01.088.115.139.115.139.137-.032.33-.545.324-.75a4.32 4.32 0 0 0-.184-1.097c-.2-1.066-.084-1.358-.656-2.389l-.327-.841c-.04-.43-.204-1.409-.732-1.585-.088-.03-.178-.034-.312-.08-.693-.233-.693-.786-.5-1.39.167-.537.19-1.17-.57-1.236-.468-.041-.611.344-.712.787 0 .048.027.77.13.924.2.155.312.11.3.5-.01.326-.21.52-.482.618-.44.162-.667.257-.815.73a2.318 2.318 0 0 0-.088.684v.03c-.144.343-.272.693-.382 1.049-.544.567-.808 1.86-1.363 2.404-.366.36-.476.384-.346.943.014.057.19.202.23.223.042.02.174-.08.173-.113z\\\"><\/path><\/g><\/svg>\\n\t\t\t\t\t<span>Rabobank<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-RBRBNL21\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"RBRBNL21\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-RBRBNL21\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"RBRBNL21-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"RBRBNL21-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#RBRBNL21-a\\\"><\/use><\/mask><use fill=\\\"#D01A21\\\" xlink:href=\\\"#RBRBNL21-a\\\"><\/use><g mask=\\\"url(#RBRBNL21-b)\\\" fill=\\\"#FFF\\\"><path d=\\\"M10.196 12.218c-.257-.512-.701-1.024-1.344-1.133.011 0 .058-.011.093-.011 1.192-.153 1.707-.97 1.707-1.797 0-.708-.421-1.82-2.361-1.82H6.269c-.14 0-.269.11-.269.24v6.852c0 .13.129.24.269.24h.56c.14 0 .258-.11.258-.24v-3.061h.55c.794 0 1.156.458 1.425.926.327.566.55 1.35.853 2.2.047.142.152.175.28.175h.772c.21 0 .246-.12.175-.294-.409-1.057-.806-2.005-.946-2.277zm-.655-2.8
20076c0 .752-.537 1.21-1.402 1.21H7.087V8.361h1.18c.842 0 1.274.468 1.274 1.056m5.79 2.745c0-2.004-.935-2.712-2.127-2.712-1.286 0-2.15 1.035-2.15 2.68 0 1.786.9 2.712 2.5 2.712.678 0 1.076-.098 1.45-.25.128-.055.198-.164.152-.295l-.129-.348c-.047-.12-.14-.207-.315-.153-.34.088-.655.186-1.1.186-1.051 0-1.402-.567-1.448-1.58h2.91c.14 0 .257-.109.257-.24m-1.087-.512h-2.08c.116-1.132.642-1.405 1.075-1.405.725 0 .982.708 1.005 1.405m4.416 2.212h-.97c-.42 0-.608-.066-.608-.294 0-.12.094-.24.21-.338.176.043.375.065.574.065 1.297 0 2.127-.73 2.127-1.928 0-.37-.176-.73-.421-1.046l.386-.043c.14-.011.233-.087.233-.229v-.283c0-.142-.093-.25-.257-.25H18.59c-.245 0-.48-.055-.724-.055-1.251 0-2.104.686-2.104 1.906 0 .719.327 1.263.841 1.58-.28.24-.514.523-.514.904 0 .631.596.85 1.286.85h1.133c.631 0 .877.24.877.686 0 .479-.561.773-1.274.773-.55 0-1.157-.098-1.25-.675-.024-.142-.118-.218-.258-.229l-.584-.022c-.14 0-.257.099-.257.24.011 1.176 1.192 1.525 2.314 1.525 1.075 0 2.326-.458 2.326-1.721 0-.904-.678-1.416-1.742-1.416zm.257-2.517c0 .98-.502 1.188-1.04 1.188-.56 0-1.028-.175-1.028-1.188 0-.97.467-1.143 1.028-1.143.573 0 1.04.185 1.04 1.143m3.195-3.67c0-.371-.315-.676-.713-.676-.409 0-.724.305-.724.675 0 .382.315.687.724.687a.696.696 0 0 0 .713-.687m-.186 6.874V9.756c0-.13-.13-.24-.258-.24h-.526c-.14 0-.269.11-.269.24v4.793c0 .13.129.24.27.24h.525c.129 0 .258-.11.258-.24M27 12.153c0-1.667-.865-2.702-2.267-2.702-1.403 0-2.28 1.024-2.28 2.702 0 1.688.877 2.69 2.28 2.69 1.414 0 2.267-1.024 2.267-2.69m-1.11 0c0 1.318-.444 1.862-1.18 1.862-.725 0-1.17-.544-1.17-1.862 0-1.297.445-1.863 1.17-1.863.736 0 1.18.566 1.18 1.863M9.322 21.95c.944-.269 1.34-.828 1.34-1.668 0-1.107-.78-1.868-2.133-1.868H6.268c-.14 0-.268.112-.268.246v7.038c0 .134.128.246.268.246h2.378c1.468 0 2.354-.772 2.354-2.115 0-.973-.56-1.756-1.678-1.88zm.256-1.522c0 .694-.446 1.13-1.326 1.13H7.091V19.31h1.244c.832 0 1.243.403 1.243 1.12zm.281 3.29c0 .817-.48 1.309-1.29 1.309H7.091v-2.63h1.255c.95 0 1.513.56 1.513 1.32zm5.78 1.98l-.07-.325c-.07-.335-.059-.637-.059-.917V22.51c0-.906-.152-2.047-2.018-2.047-.504 0-1.08.123-1.419.212-.142.034-.2.146-.164.291l.093.414c.035.146.153.224.306.18.316-.08.668-.191 1.125-.191.834 0 1.02.302 1.02.95v.27l-1.289.078c-.95.067-1.76.537-1.76 1.734 0 1.007.576 1.6 1.513 1.6.646 0 1.256-.223 1.62-.772l.082.492c.023.157.128.224.27.224h.54c.152 0 .233-.1.21-.246zm-1.185-1.544c0 .414-.48 1.03-1.231 1.03-.434 0-.74-.247-.74-.784 0-.84.517-1.04 1.232-1.063l.739-.022v.839zm5.804-2.294c0-.839-.564-1.398-1.443-1.398-.622 0-1.114.223-1.607.772l-.118-.504c-.035-.145-.117-.201-.28-.201h-.353c-.14 0-.27.1-.27.235v4.934c0 .134.13.246.27.246h.54c.14 0 .258-.112.258-.246v-3.043c0-.75.551-1.32 1.266-1.32.481 0 .669.234.669.749v3.614c0 .134.13.246.27.246H20c.14 0 .258-.112.258-.246V21.86zm4.705 3.793l-1.924-2.797 1.572-2.048c.094-.123.035-.28-.13-.28h-.75a.378.378 0 0 0-.34.19l-1.419 2.07v-4.542c0-.145-.117-.246-.258-.246h-.528c-.14 0-.259.1-.259.246v7.452c0 .134.118.246.259.246h.528c.141 0 .258-.112.258-.246v-2.674l1.7 2.708c.083.134.188.212.317.212h.834c.164 0 .222-.167.14-.29z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>RegioBank<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-SNSBNL2A\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"SNSBNL2A\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-SNSBNL2A\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><path id=\\\"SNSBNL2A-a\\\" d=\\\"M.001 2.924L10.175 0 3.93 5.105z\\\"><\/path><linearGradient x1=\\\"41.165%\\\" y1=\\\"55.044%\\\" x2=\\\"81.026%\\\" y2=\\\"32.273%\\\" id=\\\"SNSBNL2A-c\\\"><stop stop-color=\\\"#EF4130\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#C53526\\\" offset=\\\"91.875%\\\"><\/stop><stop stop-color=\\\"#C53526\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path id=\\\"SNSBNL2A-d\\\" d=\\\"M6.252.01l3.93 2.182L.006 5.115z\\\"><\/path><linearGradient x1=\\\"-.395%\\\" y1=\\\"78.799%\\\" x2=\\\"99.622%\\\" y2=\\\"21.652%\\\" id=\\\"SNSBNL2A-f\\\"><stop stop-color=\\\"#D4D3EA\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#8685C0\\\" offset=\\\"89.494%\\\"><\/stop><stop stop-color=\\\"#8685C0\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.012 8.025L1.022.012 4.71 5.2A10.533 10.533 0 0 1 .012 8.026z\\\" id=\\\"SNSBNL2A-g\\\"><\/path><linearGradient x1=\\\"95.253%\\\" y1=\\\"42.895%\\\" x2=\\\"-19.214%\\\" y2=\\\"60.911%\\\" id=\\\"SNSBNL2A-i\\\"><stop stop-color=\\\"#7474B6\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#7474B6\\\" offset=\\\"9.533%\\\"><\/stop><stop stop-color=\\\"#BBB9DD\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.012 2.96l.192-.353A10.23 10.23 0 0 0 4.444.003l.266.
20076132A10.532 10.532 0 0 1 .012 2.96z\\\" id=\\\"SNSBNL2A-j\\\"><\/path><linearGradient x1=\\\"103.216%\\\" y1=\\\"1.127%\\\" x2=\\\".351%\\\" y2=\\\"95.639%\\\" id=\\\"SNSBNL2A-l\\\"><stop stop-color=\\\"#7474B6\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#7474B6\\\" offset=\\\"9.533%\\\"><\/stop><stop stop-color=\\\"#BBB9DD\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.011.012l6.345.385A10.671 10.671 0 0 1 3.699 5.2L.01.012z\\\" id=\\\"SNSBNL2A-m\\\"><\/path><linearGradient x1=\\\"33.944%\\\" y1=\\\"84.104%\\\" x2=\\\"79.492%\\\" y2=\\\"-12.572%\\\" id=\\\"SNSBNL2A-o\\\"><stop stop-color=\\\"#EF4130\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#A82B1C\\\" offset=\\\"99.659%\\\"><\/stop><stop stop-color=\\\"#A82B1C\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.008 4.466a10.378 10.378 0 0 0 2.4-4.34l.325-.123A10.671 10.671 0 0 1 .076 4.806l-.068-.34z\\\" id=\\\"SNSBNL2A-p\\\"><\/path><linearGradient x1=\\\"1.463%\\\" y1=\\\"97.785%\\\" x2=\\\"103.937%\\\" y2=\\\"-3.118%\\\" id=\\\"SNSBNL2A-r\\\"><stop stop-color=\\\"#EF4130\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#EF4130\\\" offset=\\\"3.105%\\\"><\/stop><stop stop-color=\\\"#9E2718\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.011 5.105L6.258.001c.531 1.856.534 3.74.098 5.49L.01 5.104z\\\" id=\\\"SNSBNL2A-s\\\"><\/path><linearGradient x1=\\\"33.293%\\\" y1=\\\"108.835%\\\" x2=\\\"70.4%\\\" y2=\\\"-15.103%\\\" id=\\\"SNSBNL2A-u\\\"><stop stop-color=\\\"#EEEDF7\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#AFAED7\\\" offset=\\\"93.388%\\\"><\/stop><stop stop-color=\\\"#AFAED7\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.053 5.33A10.296 10.296 0 0 0 .008.346L.206.001c.532 1.857.534 3.74.098 5.49l-.251-.16z\\\" id=\\\"SNSBNL2A-v\\\"><\/path><linearGradient x1=\\\"-90.033%\\\" y1=\\\"54.77%\\\" x2=\\\"179.585%\\\" y2=\\\"46.143%\\\" id=\\\"SNSBNL2A-x\\\"><stop stop-color=\\\"#FFF\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#AFAED7\\\" offset=\\\"85.447%\\\"><\/stop><stop stop-color=\\\"#AFAED7\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.005.009L8.003 1.02 2.827 4.716A10.572 10.572 0 0 1 .005.009\\\" id=\\\"SNSBNL2A-y\\\"><\/path><linearGradient x1=\\\"15.77%\\\" y1=\\\"66.65%\\\" x2=\\\"99.943%\\\" y2=\\\"25.66%\\\" id=\\\"SNSBNL2A-A\\\"><stop stop-color=\\\"#FFEF96\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#FFEF96\\\" offset=\\\"11.33%\\\"><\/stop><stop stop-color=\\\"#FFD540\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.004 3.703L5.181.008l-.383 6.357A10.632 10.632 0 0 1 .004 3.703\\\" id=\\\"SNSBNL2A-B\\\"><\/path><linearGradient x1=\\\"1.459%\\\" y1=\\\"64.412%\\\" x2=\\\"118.07%\\\" y2=\\\"29.785%\\\" id=\\\"SNSBNL2A-D\\\"><stop stop-color=\\\"#F8A084\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#F8A084\\\" offset=\\\"3.221%\\\"><\/stop><stop stop-color=\\\"#EF402F\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.004.073l.339-.07A10.33 10.33 0 0 0 4.674 2.41l.124.326A10.633 10.633 0 0 1 .003.073\\\" id=\\\"SNSBNL2A-E\\\"><\/path><linearGradient x1=\\\"-1.538%\\\" y1=\\\"-2.323%\\\" x2=\\\"102.884%\\\" y2=\\\"103.688%\\\" id=\\\"SNSBNL2A-G\\\"><stop stop-color=\\\"#F8A084\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#F8A084\\\" offset=\\\"3.221%\\\"><\/stop><stop stop-color=\\\"#EF402F\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.01 6.365L.392.008l5.096 6.259a10.542 10.542 0 0 1-5.478.098\\\" id=\\\"SNSBNL2A-H\\\"><\/path><linearGradient x1=\\\"-6.1%\\\" y1=\\\"63.177%\\\" x2=\\\"86.783%\\\" y2=\\\"41.32%\\\" id=\\\"SNSBNL2A-J\\\"><stop stop-color=\\\"#426AB3\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#143F90\\\" offset=\\\"96.787%\\\"><\/stop><stop stop-color=\\\"#143F90\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.01 2.828A10.543 10.543 0 0 1 4.708.002l-.192.354A10.234 10.234 0 0 0 .276 2.96L.01 2.828z\\\" id=\\\"SNSBNL2A-K\\\"><\/path><linearGradient x1=\\\"-2.613%\\\" y1=\\\"74.018%\\\" x2=\\\"107.806%\\\" y2=\\\"23.638%\\\" id=\\\"SNSBNL2A-M\\\"><stop stop-color=\\\"#5563A4\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#133C8B\\\" offset=\\\"63.846%\\\"><\/stop><stop stop-color=\\\"#133C8B\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.007 4.802a10.648 10.648 0 0 1 2.657-4.8l3.687 5.186-6.344-.386z\\\" id=\\\"SNSBNL2A-N\\\"><\/path><linearGradient x1=\\\"46.515%\\\" y1=\\\"98.945%\\\" x2=\\\"53.802%\\\" y2=\\\"-3.12%\\\" id=\\\"SNSBNL2A-P\\\"><stop stop-color=\\\"#FFF\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#D1D0E8\\\" offset=\\\"84.738%\\\"><\/stop><stop stop-color=\\\"#D1D0E8\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.007 4.816A10.66 10.66 0 0 1 2.664.014l.068.34A10.386 10.386 0 0 0 .33 4.694l-.323.122z\\\" id=\\\"SNSBNL2A-Q\\\"><\/path>
20076<linearGradient x1=\\\"-17.587%\\\" y1=\\\"61.021%\\\" x2=\\\"122.726%\\\" y2=\\\"38.148%\\\" id=\\\"SNSBNL2A-S\\\"><stop stop-color=\\\"#FFF\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#C7C6E4\\\" offset=\\\"85.64%\\\"><\/stop><stop stop-color=\\\"#C7C6E4\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.002 3.701L5.18.006a10.547 10.547 0 0 1 2.82 4.708h-.002L.002 3.701z\\\" id=\\\"SNSBNL2A-T\\\"><\/path><linearGradient x1=\\\"2.588%\\\" y1=\\\"73.091%\\\" x2=\\\"91.699%\\\" y2=\\\"29.709%\\\" id=\\\"SNSBNL2A-V\\\"><stop stop-color=\\\"#C7C6E4\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#7474B6\\\" offset=\\\"89.327%\\\"><\/stop><stop stop-color=\\\"#7474B6\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.002 6.36L.385.003A10.63 10.63 0 0 1 5.18 2.665L.002 6.36z\\\" id=\\\"SNSBNL2A-W\\\"><\/path><linearGradient x1=\\\"10.419%\\\" y1=\\\"105.892%\\\" x2=\\\"73.472%\\\" y2=\\\"16.784%\\\" id=\\\"SNSBNL2A-Y\\\"><stop stop-color=\\\"#EF4130\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#B12E20\\\" offset=\\\"97.148%\\\"><\/stop><stop stop-color=\\\"#B12E20\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.13.328L.006.004c1.801.45 3.457 1.371 4.794 2.66l-.34.07A10.336 10.336 0 0 0 .13.328\\\" id=\\\"SNSBNL2A-Z\\\"><\/path><linearGradient x1=\\\"-2.092%\\\" y1=\\\"-2.909%\\\" x2=\\\"102.334%\\\" y2=\\\"103.139%\\\" id=\\\"SNSBNL2A-ab\\\"><stop stop-color=\\\"#EF4130\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#EF4130\\\" offset=\\\"3.105%\\\"><\/stop><stop stop-color=\\\"#9E2718\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.004.424A10.53 10.53 0 0 1 5.483.327l-.384 6.357L.004.424z\\\" id=\\\"SNSBNL2A-ac\\\"><\/path><linearGradient x1=\\\"39.919%\\\" y1=\\\"57.366%\\\" x2=\\\"105.186%\\\" y2=\\\"3.673%\\\" id=\\\"SNSBNL2A-ae\\\"><stop stop-color=\\\"#F8ABA6\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#F48594\\\" offset=\\\"98.981%\\\"><\/stop><stop stop-color=\\\"#F48594\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><path d=\\\"M.004.424A10.528 10.528 0 0 1 5.483.327l-.159.252A10.219 10.219 0 0 0 .349.624l-.345-.2z\\\" id=\\\"SNSBNL2A-af\\\"><\/path><linearGradient x1=\\\"1.266%\\\" y1=\\\"40.086%\\\" x2=\\\"101.259%\\\" y2=\\\"40.086%\\\" id=\\\"SNSBNL2A-ah\\\"><stop stop-color=\\\"#F8ABA6\\\" offset=\\\"0%\\\"><\/stop><stop stop-color=\\\"#F37B90\\\" offset=\\\"99.197%\\\"><\/stop><stop stop-color=\\\"#F37B90\\\" offset=\\\"100%\\\"><\/stop><\/linearGradient><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect fill=\\\"#4858BB\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><path fill=\\\"#FFF\\\" d=\\\"M16 15l3 5-5.587 6.206z\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 16.191 19.304)\\\"><mask id=\\\"SNSBNL2A-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-a\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-b)\\\" fill=\\\"url(#SNSBNL2A-c)\\\"><path d=\\\"M.001 2.924L10.175 0 3.93 5.105\\\"><\/path><\/g><\/g><path fill=\\\"#EF4130\\\" d=\\\"M20.12 14.199l6.247 5.104-.622-.325-5.64-4.61\\\"><\/path><path fill=\\\"#F58769\\\" d=\\\"M16.193 16.38l3.927-2.181-.015.17-3.546 1.97\\\"><\/path><path fill=\\\"#BC3123\\\" d=\\\"M26.367 19.304L16.193 16.38l.366-.042 9.186 2.64\\\"><\/path><path fill=\\\"#F8ABA6\\\" d=\\\"M16.193 16.38l3.927-2.181-1.01-8.014\\\"><\/path><path fill=\\\"#D37482\\\" d=\\\"M19.11 6.185L16.191 16.38l.23-.29 2.634-9.204\\\"><\/path><path fill=\\\"#D79592\\\" d=\\\"M20.12 14.199l-1.01-8.014-.054.701.912 7.234\\\"><\/path><path fill=\\\"#FBCBC5\\\" d=\\\"M16.193 16.38l3.927-2.181-.151-.08-3.547 1.971\\\"><\/path><path fill=\\\"#FFF\\\" d=\\\"M18.37 20.316l-5.096 6.26.325-.623 4.6-5.652\\\"><\/path><path fill=\\\"#FFF\\\" d=\\\"M16.193 16.38l2.176 3.936-.169-.015-1.966-3.553\\\"><\/path><path fill=\\\"#D3D2EA\\\" d=\\\"M13.274 26.575l2.919-10.195.041.369-2.634 9.203\\\"><\/path><path fill=\\\"#293896\\\" d=\\\"M16.193 16.38l2.176 3.936 7.998-1.013\\\"><\/path><path fill=\\\"#464EA1\\\" d=\\\"M26.367 19.304L16.192 16.38l.29.231 9.185 2.639\\\"><\/path><path fill=\\\"#1F2879\\\" d=\\\"M18.37 20.316l7.997-1.012-.7-.054-7.22.914\\\"><\/path><path fill=\\\"#8785C0\\\" d=\\\"M16.193 16.38l2.176 3.936.079-.152-1.966-3.553\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 6.011 18.572)\\\"><mask id=\\\"SNSBNL2A-e\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-d\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-e)\\\" fill=\\\"url(#SNSBNL2A-f)\\\">
20076<path d=\\\"M6.252.01l3.93 2.182L.006 5.115\\\"><\/path><\/g><\/g><path fill=\\\"#B0AED7\\\" d=\\\"M12.264 18.562l-6.247-5.105.622.325 5.64 4.61\\\"><\/path><path fill=\\\"#FFDE17\\\" d=\\\"M16.193 16.38l-3.93 2.182 1.011 8.014\\\"><\/path><path fill=\\\"#D3B382\\\" d=\\\"M13.274 26.575l2.919-10.195-.232.291-2.633 9.203\\\"><\/path><path fill=\\\"#E8C446\\\" d=\\\"M12.264 18.562l1.01 8.014.054-.702-.912-7.234\\\"><\/path><path fill=\\\"#EF4130\\\" d=\\\"M16.193 16.38l-2.178-3.936 5.094-6.258\\\"><\/path><path fill=\\\"#F16246\\\" d=\\\"M14.015 12.444l5.094-6.258-.325.623-4.6 5.65\\\"><\/path><path fill=\\\"#D93B2B\\\" d=\\\"M16.193 16.38l-2.178-3.936.17.016 1.965 3.552\\\"><\/path><path fill=\\\"#C53526\\\" d=\\\"M19.11 6.186L16.191 16.38l-.042-.368 2.634-9.204\\\"><\/path><path fill=\\\"#EEEDF7\\\" d=\\\"M16.193 16.38l-2.178-3.936-7.998 1.013\\\"><\/path><path fill=\\\"#D3D2EA\\\" d=\\\"M14.015 12.444l-7.998 1.013.7.053 7.22-.913\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 19.098 14.21)\\\"><mask id=\\\"SNSBNL2A-h\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-g\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-h)\\\" fill=\\\"url(#SNSBNL2A-i)\\\"><path d=\\\"M.012 8.025L1.022.012 4.71 5.2A10.533 10.533 0 0 1 .012 8.026\\\"><\/path><\/g><\/g><path d=\\\"M19.11 6.185l1.01 8.014.094-.378-.95-7.59a10.176 10.176 0 0 0-.155-.046\\\" fill=\\\"#8785C0\\\"><\/path><path d=\\\"M23.708 8.91l-3.494 4.911-.094.378 3.688-5.187a4.297 4.297 0 0 0-.1-.102\\\" fill=\\\"#9A98CB\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 19.098 9.146)\\\"><mask id=\\\"SNSBNL2A-k\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-j\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-k)\\\" fill=\\\"url(#SNSBNL2A-l)\\\"><path d=\\\"M.012 2.96l.192-.353A10.23 10.23 0 0 0 4.444.003l.266.132A10.532 10.532 0 0 1 .012 2.96\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 20.109 14.21)\\\"><mask id=\\\"SNSBNL2A-n\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-m\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-n)\\\" fill=\\\"url(#SNSBNL2A-o)\\\"><path d=\\\"M.011.012l6.345.385A10.671 10.671 0 0 1 3.699 5.2\\\"><\/path><\/g><\/g><path d=\\\"M23.808 9.012l-3.688 5.187.286-.159 3.501-4.924a5.889 5.889 0 0 0-.1-.104\\\" fill=\\\"#F37557\\\"><\/path><path d=\\\"M26.429 13.674l-6.023.366-.286.159 6.344-.385-.035-.14\\\" fill=\\\"#A82B1C\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 23.731 13.817)\\\"><mask id=\\\"SNSBNL2A-q\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-p\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-q)\\\" fill=\\\"url(#SNSBNL2A-r)\\\">
20076<path d=\\\"M.008 4.466a10.378 10.378 0 0 0 2.4-4.34l.325-.123A10.671 10.671 0 0 1 .076 4.806\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 20.109 19.304)\\\"><mask id=\\\"SNSBNL2A-t\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-s\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-t)\\\" fill=\\\"url(#SNSBNL2A-u)\\\"><path d=\\\"M.011 5.105L6.258.001c.531 1.856.534 3.74.098 5.49\\\"><\/path><\/g><\/g><path d=\\\"M26.464 13.814l-6.344.385.37.118 6.008-.363a12.696 12.696 0 0 0-.034-.14\\\" fill=\\\"#C7C6E3\\\"><\/path><path d=\\\"M26.367 19.304l.041-.15-5.918-4.837-.37-.118\\\" fill=\\\"#EEEDF7\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 26.16 19.304)\\\"><mask id=\\\"SNSBNL2A-w\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-v\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-w)\\\" fill=\\\"url(#SNSBNL2A-x)\\\"><path d=\\\"M.053 5.33A10.296 10.296 0 0 0 .008.346L.206.001c.532 1.857.534 3.74.098 5.49\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 6.011 13.465)\\\"><mask id=\\\"SNSBNL2A-z\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-y\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-z)\\\" fill=\\\"url(#SNSBNL2A-A)\\\"><path d=\\\"M.005.009L8.003 1.02 2.827 4.716A10.572 10.572 0 0 1 .005.009\\\"><\/path><\/g><\/g><path d=\\\"M6.017 13.457l7.998-1.013-.377-.093-7.576.952-.045.154\\\" fill=\\\"#FFCB1F\\\"><\/path><path d=\\\"M8.736 8.85l4.902 3.5.377.094L8.838 8.75c-.034.033-.069.066-.102.1\\\" fill=\\\"#FFDE17\\\"><\/path><path d=\\\"M8.837 8.75a10.563 10.563 0 0 0-2.82 4.707l.353-.193a10.276 10.276 0 0 1 2.599-4.248\\\" fill=\\\"#FFFAC2\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 8.833 12.452)\\\"><mask id=\\\"SNSBNL2A-C\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-B\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-C)\\\" fill=\\\"url(#SNSBNL2A-D)\\\"><path d=\\\"M.004 3.703L5.181.008l-.383 6.357A10.632 10.632 0 0 1 .004 3.703\\\"><\/path><\/g><\/g><path d=\\\"M8.838 8.75l5.177 3.694-.159-.286-4.913-3.507c-.036.031-.07.065-.105.098M13.491 6.123l.366 6.036.158.285-.385-6.357c-.046.013-.093.024-.139.036\\\" fill=\\\"#EF4130\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 8.833 8.822)\\\"><mask id=\\\"SNSBNL2A-F\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-E\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-F)\\\" fill=\\\"url(#SNSBNL2A-G)\\\"><path d=\\\"M.004.073l.339-.07A10.33 10.33 0 0 0 4.674 2.41l.124.326A10.633 10.633 0 0 1 .003.073\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 13.621 12.452)\\\"><mask id=\\\"SNSBNL2A-I\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-H\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-I)\\\" fill=\\\"url(#SNSBNL2A-J)\\\"><path d=\\\"M.01 6.367L.392.012l5.096 6.256a10.546 10.546 0 0 1-5.478.098\\\"><\/path><\/g><\/g><path d=\\\"M13.631 6.088l.383 6.356.12-.37-.364-6.02a9.996 9.996 0 0 0-.139.034\\\" fill=\\\"#17479E\\\"><\/path><path d=\\\"M19.11 6.186l-.15-.042-4.827 5.93-.118.37 5.094-6.258\\\" fill=\\\"#2E3092\\\"><\/path><path d=\\\"M8.577 23.749a10.531 10.531 0 0 0 4.697 2.827l-1.01-8.014\\\" fill=\\\"#293896\\\"><\/path><path d=\\\"M13.274 26.575l-1.01-8.013-.094.378.95 7.59c.051.016.103.03.154.045\\\" fill=\\\"#1F2879\\\"><\/path><path d=\\\"M8.676 23.852l3.494-4.913.094-.377-3.687 5.187.099.103\\\" fill=\\\"#595DA9\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 8.567 26.578)\\\"><mask id=\\\"SNSBNL2A-L\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-K\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-L)\\\" fill=\\\"url(#SNSBNL2A-M)\\\"><path d=\\\"M.01 2.828A10.543 10.543 0 0 1 4.708.002l-.192.354A10.234 10.234 0 0 0 .276 2.96\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 5.913 23.75)\\\"><mask id=\\\"SNSBNL2A-O\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-N\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-O)\\\" fill=\\\"url(#SNSBNL2A-P)\\\"><path d=\\\"M.007 4.802a10.648 10.648 0 0 1 2.657-4.8l3.687 5.186\\\"><\/path><\/g><\/g><path d=\\\"M8.576 23.749l3.688-5.187-.286.16-3.5 4.922.098.105\\\" fill=\\\"#A5A3D1\\\"><\/path><path d=\\\"M5.956 19.086l6.022-.365.286-.159-6.345.384.037.14\\\" fill=\\\"#D1D0E9\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 5.913 23.764)\\\"><mask id=\\\"SNSBNL2A-R\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-Q\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-R)\\\" fill=\\\"url(#SNSBNL2A-S)\\\"><path d=\\\"M.007 4.816A10.66 10.66 0 0 1 2.664.014l.068.34A10.386 10.386 0 0 0 .33 4.694l-.323.122\\\"><\/path><\/g><\/g><path d=\\\"M12.264 18.562l-6.345.385a10.584 10.584 0 0 1 .098-5.49\\\" fill=\\\"#EF4130\\\"><\/path><path d=\\\"M5.92 18.946l6.344-.384-.37-.118-6.008.363.034.14\\\" fill=\\\"#CF381E\\\"><\/path>
20076<path d=\\\"M6.017 13.457l-.041.15 5.919 4.837.369.118-6.247-5.105\\\" fill=\\\"#F37557\\\"><\/path><path d=\\\"M6.216 13.801a10.293 10.293 0 0 0-.044 4.987l-.252.159a10.582 10.582 0 0 1 .096-5.49\\\" fill=\\\"#F37557\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 18.368 24.017)\\\"><mask id=\\\"SNSBNL2A-U\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-T\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-U)\\\" fill=\\\"url(#SNSBNL2A-V)\\\"><path d=\\\"M.002 3.701L5.18.006a10.547 10.547 0 0 1 2.82 4.708h-.002\\\"><\/path><\/g><\/g><path d=\\\"M26.367 19.304l-7.998 1.012.377.095 7.576-.952.045-.155\\\" fill=\\\"#7574B6\\\"><\/path><path d=\\\"M23.648 23.91l-4.902-3.5-.377-.094 5.177 3.695.102-.1\\\" fill=\\\"#C7C6E3\\\"><\/path><path d=\\\"M23.546 24.011a10.552 10.552 0 0 0 2.82-4.707l-.351.193a10.27 10.27 0 0 1-2.6 4.248\\\" fill=\\\"#6264AD\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 18.368 26.676)\\\"><mask id=\\\"SNSBNL2A-X\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-W\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-X)\\\" fill=\\\"url(#SNSBNL2A-Y)\\\"><path d=\\\"M.002 6.36L.385.003A10.63 10.63 0 0 1 5.18 2.665L.002 6.36\\\"><\/path><\/g><\/g><path d=\\\"M23.546 24.011l-5.177-3.695.16.286 4.913 3.509c.035-.032.07-.067.104-.1\\\" fill=\\\"#EF4130\\\"><\/path><path d=\\\"M18.893 26.637l-.365-6.035-.159-.286.384 6.357c.047-.011.093-.024.14-.036\\\" fill=\\\"#EF4130\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 18.747 26.676)\\\"><mask id=\\\"SNSBNL2A-aa\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-Z\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-aa)\\\" fill=\\\"url(#SNSBNL2A-ab)\\\"><path d=\\\"M.13.328L.006.004c1.801.45 3.457 1.371 4.794 2.66l-.34.07A10.336 10.336 0 0 0 .13.328\\\"><\/path><\/g><\/g><g transform=\\\"matrix(1 0 0 -1 13.27 27)\\\"><mask id=\\\"SNSBNL2A-ad\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-ac\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-ad)\\\" fill=\\\"url(#SNSBNL2A-ae)\\\"><path d=\\\"M.004.424A10.53 10.53 0 0 1 5.483.327l-.384 6.357\\\"><\/path><\/g><\/g><path d=\\\"M18.753 26.673l-.383-6.357-.12.37.364 6.02.139-.033\\\" fill=\\\"#F8ABA6\\\"><\/path><path d=\\\"M13.274 26.575l.15.043 4.826-5.931.12-.371\\\" fill=\\\"#FCD3CE\\\"><\/path><g transform=\\\"matrix(1 0 0 -1 13.27 27)\\\"><mask id=\\\"SNSBNL2A-ag\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#SNSBNL2A-af\\\"><\/use><\/mask><g mask=\\\"url(#SNSBNL2A-ag)\\\" fill=\\\"url(#SNSBNL2A-ah)\\\"><path d=\\\"M.004.424A10.528 10.528 0 0 1 5.483.327l-.159.252A10.219 10.219 0 0 0 .349.624\\\"><\/path><\/g><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>SNS<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-TRIONL2U\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"TRIONL2U\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-TRIONL2U\\\">\\n\t\t\t\t\t<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"matrix(1 0 0 -1 0 32)\\\"><rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"#00927B\\\" rx=\\\"8\\\"><\/rect><path fill=\\\"#FFF\\\" d=\\\"M26.064 15.5c0 2.93-1.252 5.763-2.914 7.443-1.06 1.056-2.022 1.704-3.444 2.33l-.145-.264a9.518 9.518 0 0 0 1.88-1.49c1.853-1.776 3.083-4.85 3.083-7.371 0-.384 0-1.152-.049-1.704-.216 1.08-.892 2.232-1.83 3.17-.266.264-.65.672-.94.816 0-.552-.216-1.826-.481-2.57.361-.288.554-.504.89-.816.771-.792 1.277-1.801 1.277-2.641 0-.48-.217-.984-.602-1.368-.385-.384-1.18-.672-1.974-.672-.94 0-2.337.504-3.06 1.032 1.47 1.488 2.36 3.097 2.915 5.113.241.866.361 1.73.361 2.594 0 1.56-.385 3.049-1.06 4.225-1.084 1.874-2.72 2.93-4.865 2.93-2.553 0-4.936-1.248-6.72-3.05-2.045-2.064-3.058-4.585-3.058-7.179 0-.456.024-.888.096-1.392h.29c.025.768.121 1.488.338 2.376.409 1.61 1.516 3.386 2.913 4.779 1.012 1.008 2.505 1.992 3.54 2.4-.795-.648-1.565-1.848-1.95-3.193-.096-.36-.193-.84-.193-1.176.482.288 1.685.72 2.456.84.168 1.105.58 2.329 1.398 3.145.409.408.89.672 1.492.672.915 0 1.639-.672 2.096-1.44.457-.792.746-2.21.626-3.17a10.626 10.626 0 0 1-2.939.433c-.962 0-1.925-.144-2.962-.432-1.685-.456-3.227-1.32-4.335-2.424-1.18-1.178-2.094-2.81-2.094-4.491 0-1.752.89-3.218 2.07-4.418 1.976-1.968 4.792-2.977 7.562-2.977 2.24 0 4.239.769 6.046 2.089l-.145.24c-1.446-.792-2.962-1.176-4.672-1.176-2.577 0-5.034.792-6.936 2.232a5.793 5.793 0 0 1 1.71-.288c.842 0 2.384.24 3.13.696-.529.312-1.492 1.082-1.999 1.682-.722-.288-1.613-.504-2.407-.504-.747 0-1.567.168-2.096.72-.313.36-.506.816-.506 1.296 0 1.008.554 1.849 1.228 2.545.483.504 1.133.96 1.638 1.2.554-2.04 1.493-3.673 2.963-5.137 1.83-1.802 4.214-2.81 6.309-2.81 1.59-.024 2.938.432 4.07 1.56 1.205 1.226 2 3.386 2 5.595m-7.948 1.68c-.506-1.56-1.446-2.976-2.577-4.081-1.108 1.177-1.854 2.713-2.24 4.249.65.146 1.325.218 1.999.218.963 0 1.903-.144 2.818-.386\\\"><\/path><\/g><\/svg>\\n\t\t\t\t\t<span>Triodos Bank<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"payment-method-issuer-ideal-FVLBNL22\\\" class=\\\"ui-radio\\\" name=\\\"payment-method-issuer-ideal\\\" value=\\\"FVLBNL22\\\" type=\\\"radio\\\"><label for=\\\"payment-method-issuer-ideal-FVLBNL22\\\">\\n\t\t\t\t\t<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" xmlns:xlink=\\\"http:\/\/www.w3.org\/1999\/xlink\\\"><defs><rect id=\\\"FVLBNL22-a\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"32\\\" height=\\\"32\\\" rx=\\\"8\\\"><\/rect><\/defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"FVLBNL22-b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#FVLBNL22-a\\\"><\/use><\/mask><use fill=\\\"#8ACE00\\\" xlink:href=\\\"#FVLBNL22-a\\\"><\/use><g mask=\\\"url(#FVLBNL22-b)\\\" fill=\\\"#FFF\\\"><path d=\\\"M16.948 14.202v.735h.736v-.735h.995v1.33h-5.12v-1.33h.981v.735h.736v-.735M15.798 13.936v-.02a.255.255 0 0 0-.143-.232c-.166-.09-1.065-.694-1.229-1.545-.09-.449-.086-.835.093-1.064.055-.07.155-.184.155-.234-.002-.11-.173-.432-.214-.652-.028-.194-.048-.527.114-.71.16-.179.305-.156.25-.332-.041-.13-.132-.342-.132-.647 0-.198.044-.527.278-.599.186-.054.234-.094.247-.128.013-.033 0-.52.035-.738.031-.187.139-.753.65-.809l.082-.007.084.007c.51.056.62.622.65.809.035.218.02.705.035.738.014.034.06.074.246.128.234.072.281.4.281.599 0 .305-.091.517-.134.647-.055.176.09.153.25.333.161.182.145.515.113.71-.04.22-.21.541-.215.651 0 .05.102.164.156.234.18.229.183.615.095 1.064-.164.851-1.066 1.454-1.23 1.545a.256.256 0 0 0-.143.232v.02M15.985 16.33h2.141l.284-.532h-4.85l.284.532M15.986 21.918h2.949l.552 3.726H17.21l-.342-1.61s-.11-.474-.882-.474c-.771 0-.88.474-.88.474l-.345 1.61h-2.279l.552-3.726h2.952M18.679 21.652l-.243-.532H13.53l-.24.532M11.134
2007612.605l.08.004c.512.058.619.659.648.859.039.223.027.738.039.769.013.035.063.08.247.138.23.073.279.419.279.63 0 .32-.088.545-.13.673-.057.19.088.165.243.357.166.189.15.54.116.743-.037.23-.212.574-.216.684 0 .052.1.17.158.241.18.248.188.656.096 1.125-.17.897-1.035 1.526-1.206 1.626-.124.073-.112.254-.112.312v3.547h-.482v-3.547c0-.058.013-.239-.112-.312-.17-.1-1.035-.729-1.206-1.626-.09-.469-.086-.877.098-1.125.054-.07.156-.19.155-.241-.006-.11-.179-.454-.217-.684-.03-.203-.049-.554.116-.743.157-.192.304-.167.242-.357-.037-.128-.127-.354-.127-.672 0-.212.05-.558.28-.63.185-.06.233-.104.245-.14.014-.03 0-.545.038-.768.028-.2.138-.8.65-.859M20.834 12.605l-.08.004c-.512.058-.618.659-.648.859-.04.223-.025.738-.04.769-.011.035-.059.08-.241.138-.235.073-.28.419-.28.63 0 .32.086.545.124.673.062.19-.084.165-.244.357-.162.189-.143.54-.113.743.038.23.21.574.217.684 0 .052-.104.17-.156.241-.181.248-.19.656-.097 1.125.17.897 1.035 1.526 1.207 1.626.122.073.107.254.107.312v3.547h.487v-3.547c0-.058-.014-.239.109-.312.172-.1 1.038-.729 1.208-1.626.091-.469.083-.877-.099-1.125-.054-.07-.156-.19-.156-.241.005-.11.179-.454.216-.684.031-.203.052-.554-.114-.743-.158-.192-.303-.167-.243-.357.041-.128.128-.354.128-.672 0-.212-.049-.558-.28-.63-.182-.06-.233-.104-.245-.14-.014-.03 0-.545-.038-.768-.031-.2-.137-.8-.65-.859M17.623 19.242h-.691v-1.318h.691v1.318zm-2.316 0h-.691v-1.318h.691v1.318zm2.713-2.645h-3.8l-.39 4.257h4.58l-.39-4.257z\\\"><\/path><path d=\\\"M16.948 14.202v.735h.736v-.735h.995v1.33h-5.12v-1.33h.981v.735h.736v-.735M15.798 13.936v-.02a.255.255 0 0 0-.143-.232c-.166-.09-1.065-.694-1.229-1.545-.09-.449-.086-.835.093-1.064.055-.07.155-.184.155-.234-.002-.11-.173-.432-.214-.652-.028-.194-.048-.527.114-.71.16-.179.305-.156.25-.332-.041-.13-.132-.342-.132-.647 0-.198.044-.527.278-.599.186-.054.234-.094.247-.128.013-.033 0-.52.035-.738.031-.187.139-.753.65-.809l.082-.007.084.007c.51.056.62.622.65.809.035.218.02.705.035.738.014.034.06.074.246.128.234.072.281.4.281.599 0 .305-.091.517-.134.647-.055.176.09.153.25.333.161.182.145.515.113.71-.04.22-.21.541-.215.651 0 .05.102.164.156.234.18.229.183.615.095 1.064-.164.851-1.066 1.454-1.23 1.545a.256.256 0 0 0-.143.232v.02M15.985 16.33h2.141l.284-.532h-4.85l.284.532M15.986 21.918h2.949l.552 3.726H17.21l-.342-1.61s-.11-.474-.882-.474c-.771 0-.88.474-.88.474l-.345 1.61h-2.279l.552-3.726h2.952M18.679 21.652l-.243-.532H13.53l-.24.532M11.134 12.605l.08.004c.512.058.619.659.648.859.039.223.027.738.039.769.013.035.063.08.247.138.23.073.279.419.279.63 0 .32-.088.545-.13.673-.057.19.088.165.243.357.166.189.15.54.116.743-.037.23-.212.574-.216.684 0 .052.1.17.158.241.18.248.188.656.096 1.125-.17.897-1.035 1.526-1.206 1.626-.124.073-.112.254-.112.312v3.547h-.482v-3.547c0-.058.013-.239-.112-.312-.17-.1-1.035-.729-1.206-1.626-.09-.469-.086-.877.098-1.125.054-.07.156-.19.155-.241-.006-.11-.179-.454-.217-.684-.03-.203-.049-.554.116-.743.157-.192.304-.167.242-.357-.037-.128-.127-.354-.127-.672 0-.212.05-.558.28-.63.185-.06.233-.104.245-.14.014-.03 0-.545.038-.768.028-.2.138-.8.65-.859M20.834 12.605l-.08.004c-.512.058-.618.659-.648.859-.04.223-.025.738-.04.769-.011.035-.059.08-.241.138-.235.073-.28.419-.28.63 0 .32.086.545.124.673.062.19-.084.165-.244.357-.162.189-.143.54-.113.743.038.23.21.574.217.684 0 .052-.104.17-.156.241-.181.248-.19.656-.097 1.125.17.897 1.035 1.526 1.207 1.626.122.073.107.254.107.312v3.547h.487v-3.547c0-.058-.014-.239.109-.312.172-.1 1.038-.729 1.208-1.626.091-.469.083-.877-.099-1.125-.054-.07-.156-.19-.156-.241.005-.11.179-.454.216-.684.031-.203.052-.554-.114-.743-.158-.192-.303-.167-.243-.357.041-.128.128-.354.128-.672 0-.212-.049-.558-.28-.63-.182-.06-.233-.104-.245-.14-.014-.03 0-.545-.038-.768-.031-.2-.137-.8-.65-.859M17.623 19.242h-.691v-1.318h.691v1.318zm-2.316 0h-.691v-1.318h.691v1.318zm2.713-2.645h-3.8l-.39 4.257h4.58l-.39-4.257z\\\"><\/path><\/g><\/g><\/svg>\\n\t\t\t\t\t<span>Van Lanschot<\/span>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t\\n\t\t<p class=\\\"fineprint\\\">Payments are securely processed using\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.paymentProvider : depth0),\"buckaroo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(72, data, 0),\"inverse\":container.program(74, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\tNo payment details will be stored by us.\\n\t\t<\/p>\\n\t\t\\n\t\t<div class=\\\"actions\\\">\\n\t\t\t<button class=\\\"ui-button\\\" data-action=\\\"back\\\"><div><i class=\\\"fas fa-angle-left\\\"><\/i> Back<\/div><\/button>\\n\t\t\t<button class=\\\"ui-button special \"\n + container.escapeExpression(((helper = (helper = helpers.buttonPayClasses || (depth0 != null ? depth0.buttonPayClasses : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"buttonPayClasses\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-action=\\\"submit\\\"><div>Continue to payment <i class=\\\"fas fa-angle-right\\\"><\/i><\/div><\/button>\\n\t\t\t\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","base-destinations":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<a href=\\\"https:\/\/www.buckaroo.nl\/\\\">Buckaroo<\/a>.\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<a href=\\\"https:\/\/www.mollie.com\/\\\">Mollie<\/a>.\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<button class=\\\"ui-button special\\\" data-action=\\\"submit\\\"><div>Continue <i class=\\\"fa fa-angle-right\\\"><\/i><\/div><\/button>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<button class=\\\"ui-button special\\\" data-action=\\\"submit\\\"><div>Continue to payment <i class=\\\"fa fa-angle-right\\\"><\/i><\/div><\/button>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"form donation-form\\\" data-frequency=\\\"single\\\">\\n\\n\t\t<p>I want to \"\n + container.escapeExpression(((helper = (helper = helpers.donateVerb || (depth0 != null ? depth0.donateVerb : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"donateVerb\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\t\t\\n\t\t<div class=\\\"frequency\\\">\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"frequency-input-single\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"single\\\" type=\\\"radio\\\" checked=\\\"checked\\\"><label for=\\\"frequency-input-single\\\">One time<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"frequency-input-monthly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"monthly\\\" type=\\\"radio\\\"><label for=\\\"frequency-input-monthly\\\">Monthly<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"frequency-input-quarterly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"quarterly\\\" type=\\\"radio\\\"><label for=\\\"frequency-input-quarterly\\\">Quarterly<\/label>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t<input id=\\\"frequency-input-yearly\\\" class=\\\"ui-radio\\\" name=\\\"frequency\\\" value=\\\"yearly\\\" type=\\\"radio\\\"><label for=\\\"frequency-input-yearly\\\">Yearly<\/label>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\\n\t\t<p>Choose an amount<\/p>\\n\t\t\\n\t\t<div class=\\\"amount\\\" data-frequency=\\\"single\\\">\\n\\n\t\t\t<div class=\\\"amount-frequency single\\\">\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-15\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"15\\\" type=\\\"radio\\\" checked=\\\"checked\\\"><label for=\\\"amount-input-single-15\\\">€ 15,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-25\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"25\\\" type=\\\"radio\\\"><label for=\\\"amount-input-single-25\\\">€ 25,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-40\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"40\\\" type=\\\"radio\\\"><label for=\\\"amount-input-single-40\\\">€ 40,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-single-90\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"90\\\" type=\\\"radio\\\"><label for=\\\"amount-input-single-90\\\">€ 90,-<\/label>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\\n\t\t\t<div class=\\\"amount-frequency monthly\\\">\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-5\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"5\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-5\\\">€ 5,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-10\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"10\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-10\\\">€ 10,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-25\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"25\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-25\\\">€ 25,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-monthly-40\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"40\\\" type=\\\"radio\\\"><label for=\\\"amount-input-monthly-0\\\">€ 40,-<\/label>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\\n\t\t\t<div class=\\\"amount-frequency quarterly\\\">\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-20\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"20\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-20\\\">€ 20,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-40\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"40\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-40\\\">€ 40,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-100\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"100\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-100\\\">€ 100,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-quarterly-180\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"180\\\" type=\\\"radio\\\"><label for=\\\"amount-input-quarterly-180\\\">€ 180,-<\/label>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\\n\t\t\t<div class=\\\"amount-frequency yearly\\\">\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-60\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"60\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-60\\\">€ 60,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-120\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"120\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-120\\\">€ 120,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-300\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"300\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-300\\\">€ 300,-<\/label>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"item mobile\\\">\\n\t\t\t\t\t<input id=\\\"amount-input-yearly-500\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"500\\\" type=\\\"radio\\\"><label for=\\\"amount-input-yearly-500\\\">€ 500,-<\/label>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\\n\t\t\t<div class=\\\"item amount-custom\\\">\\n\t\t\t\t<input id=\\\"amount-input-custom\\\" class=\\\"ui-radio\\\" name=\\\"amount\\\" value=\\\"custom\\\" type=\\\"radio\\\"><label for=\\\"amount-input-custom\\\">Other<div class=\\\"selected-input\\\"> € <input style=\\\"display: hidden;\\\" type=\\\"text\\\" name=\\\"amountCustom\\\" \/><\/div><\/label>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t\\n\t\t<div class=\\\"user-info non-anonymous\\\">\\n\\n\t\t\t<div class=\\\"fieldset\\\">\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"email\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Email *<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input maxlength=\\\"100\\\" name=\\\"email\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left \\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<!--<div class=\\\"field\\\" data-field=\\\"organization\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Organisation<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\"><input placeholder=\\\" - Optional - \\\" maxlength=\\\"100\\\" name=\\\"organization\\\" value=\\\"\\\" type=\\\"text\\\"><div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>-->\\n\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"destination\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">I want to help with<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<select name=\\\"destination\\\">\\n\t\t\t\t\t\t\t<option value=\\\"not-specified\\\"> - No particular project -<\/option>\\n\t\t\t\t\t\t\t<option value=\\\"solar-sustainability\\\">Solar & Sustainability<\/option>\\n\t\t\t\t\t\t<\/select>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<input placeholder=\\\" - Optional - \\\" type=\\\"text\\\" name=\\\"comment\\\" maxlength=\\\"300\\\" \/>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\\n\t\t\t\t<div class=\\\"field\\\" data-field=\\\"comment\\\">\\n\t\t\t\t\t<div class=\\\"label\\\">Remarks<\/div>\\n\t\t\t\t\t<div class=\\\"input\\\">\\n\t\t\t\t\t\t<input placeholder=\\\" - Optional - \\\" type=\\\"text\\\" name=\\\"comment\\\" maxlength=\\\"300\\\" \/>\\n\t\t\t\t\t\t<div class=\\\"feedback left\\\"><\/div><\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\\n\t\t<\/div>\\n\t\t\\n\t\tProvider: \"\n + container.escapeExpression(((helper = (helper = helpers.paymentProvider || (depth0 != null ? depth0.paymentProvider : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"paymentProvider\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\n\t\t\\n\t\t<p class=\\\"fineprint\\\">Payments are securely processed using\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.paymentProvider : depth0),\"buckaroo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\tNo payment details will be stored by us.<\/p>\\n\t\t\\n\t\t<div class=\\\"actions\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.paymentProvider : depth0),\"buckaroo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/div>\\n\t\t\\n\t<\/div>\\n\t\\n\t<div class=\\\"form payment-method-form\\\">\\n\t\t\\n\t\t<div class=\\\"actions\\\">\\n\t\t\t\\n\t\t\t<button class=\\\"ui-button special\\\" data-action=\\\"submit\\\"><div>Pay now <i class=\\\"fa fa-angle-right\\\"><\/i><\/div><\/button>\\n\t\t\t\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}"},"form":{"base-default-thanks":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<h1>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>\\n\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.text || (depth0 != null ? depth0.text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"text\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n<\/div>\";\n},\"useData\":true}","base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" labels-as-placeholder\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" show-labels-on-input\";\n},\"5\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t<div class=\\\"section panel\\\" data-panel-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t<\"\n + container.escapeExpression(container.lambda(((stack1 = (data && data.root)) && stack1.panelTags), depth0))\n + \">\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/\"\n + container.escapeExpression(container.lambda(((stack1 = (data && data.root)) && stack1.panelTags), depth0))\n + \">\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.description : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t<div class=\\\"fields\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.fields : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(8, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/div>\\n\t<\/div>\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<p class=\\\"description\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\";\n},\"8\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t\t<div class=\\\"field type-\"\n + container.escapeExpression(((helper = (helper = helpers.type || (depth0 != null ? depth0.type : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"type\",\"hash\":{},\"data\":data}) : helper)))\n + \" empty\\\" data-field-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t<div class=\\\"main\\\">\\n\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.label : depth0),(depths[1] != null ? depths[1].label : depths[1]),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(9, data, 0, blockParams, depths),\"inverse\":container.program(11, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t\t<div class=\\\"input\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"text\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(14, data, 0, blockParams, depths),\"inverse\":container.program(17, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t<\/div>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.comment : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(48, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<div class=\\\"error\\\">\\n\t\t\t\tError message\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"check\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(12, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"12\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<input type=\\\"text\\\" name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.labelsAsPlaceHolder),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \/>\\n\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\";\n},\"17\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"email\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(18, data, 0, blockParams, depths),\"inverse\":container.program(20, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"18\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<input type=\\\"email\\\" name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.labelsAsPlaceHolder),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \/>\\n\";\n},\"20\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"textarea\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(21, data, 0, blockParams, depths),\"inverse\":container.program(23, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"21\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<textarea name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.labelsAsPlaceholder),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"><\/textarea>\\n\";\n},\"23\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"checklist\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(24, data, 0, blockParams, depths),\"inverse\":container.program(27, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"24\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.options : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(25, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"25\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var helper;\n\n return \"\t\t\t\t\t<div><label><input type=\\\"checkbox\\\" name=\\\"field-\"\n + container.escapeExpression(container.lambda((depths[1] != null ? depths[1].id : depths[1]), depth0))\n + \"-options[]\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\/><span>\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span><\/label><\/div>\\n\";\n},\"27\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"check\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(28, data, 0, blockParams, depths),\"inverse\":container.program(30, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"28\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t<label>\\n\t\t\t\t\t\t<div class=\\\"ui-checkbox no-ml\\\">\\n\t\t\t\t\t\t\t<input type=\\\"checkbox\\\" name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\/>\\n\t\t\t\t\t\t\t<span><i class=\\\"fas fa-check\\\"><\/i><\/span>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t<\/label>\\n\";\n},\"30\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"radio\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(31, data, 0, blockParams, depths),\"inverse\":container.program(34, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"31\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.options : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(32, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"32\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var helper;\n\n return \"\t\t\t\t\t<label><input type=\\\"radio\\\" name=\\\"field-\"\n + container.escapeExpression(container.lambda((depths[1] != null ? depths[1].id : depths[1]), depth0))\n + \"\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\/>\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/label>\\n\";\n},\"34\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"select\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(35, data, 0, blockParams, depths),\"inverse\":container.program(42, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"35\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.settings : depth0)) != null ? stack1.type : stack1),\"radio\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(36, data, 0, blockParams, depths),\"inverse\":container.program(39, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"36\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.options : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(37, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"37\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var helper;\n\n return \"\t\t\t\t\t\t<label><input type=\\\"radio\\\" name=\\\"field-\"\n + container.escapeExpression(container.lambda((depths[1] != null ? depths[1].id : depths[1]), depth0))\n + \"\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/label>\\n\";\n},\"39\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t<select name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.labelsAsPlaceholder),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.options : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(40, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t<\/select>\\n\";\n},\"40\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t\t\t<option value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"label\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/option>\\n\";\n},\"42\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"date\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(43, data, 0),\"inverse\":container.program(45, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"43\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<select name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"-day\\\">\\n\t\t\t\t\t<option value=\\\"\\\"> - Day - <\/option>\\n\t\t\t\t\t<option value=\\\"01\\\">1<\/option>\\n\t\t\t\t\t<option value=\\\"02\\\">2<\/option>\\n\t\t\t\t\t<option value=\\\"03\\\">3<\/option>\\n\t\t\t\t\t<option value=\\\"04\\\">4<\/option>\\n\t\t\t\t\t<option value=\\\"05\\\">5<\/option>\\n\t\t\t\t\t<option value=\\\"06\\\">6<\/option>\\n\t\t\t\t\t<option value=\\\"07\\\">7<\/option>\\n\t\t\t\t\t<option value=\\\"08\\\">8<\/option>\\n\t\t\t\t\t<option value=\\\"09\\\">9<\/option>\\n\t\t\t\t\t<option value=\\\"10\\\">10<\/option>\\n\t\t\t\t\t<option value=\\\"11\\\">11<\/option>\\n\t\t\t\t\t<option value=\\\"12\\\">12<\/option>\\n\t\t\t\t\t<option value=\\\"13\\\">13<\/option>\\n\t\t\t\t\t<option value=\\\"14\\\">14<\/option>\\n\t\t\t\t\t<option value=\\\"15\\\">15<\/option>\\n\t\t\t\t\t<option value=\\\"16\\\">16<\/option>\\n\t\t\t\t\t<option value=\\\"17\\\">17<\/option>\\n\t\t\t\t\t<option value=\\\"18\\\">18<\/option>\\n\t\t\t\t\t<option value=\\\"19\\\">19<\/option>\\n\t\t\t\t\t<option value=\\\"20\\\">20<\/option>\\n\t\t\t\t\t<option value=\\\"21\\\">21<\/option>\\n\t\t\t\t\t<option value=\\\"22\\\">22<\/option>\\n\t\t\t\t\t<option value=\\\"23\\\">23<\/option>\\n\t\t\t\t\t<option value=\\\"24\\\">24<\/option>\\n\t\t\t\t\t<option value=\\\"25\\\">25<\/option>\\n\t\t\t\t\t<option value=\\\"26\\\">26<\/option>\\n\t\t\t\t\t<option value=\\\"27\\\">27<\/option>\\n\t\t\t\t\t<option value=\\\"28\\\">28<\/option>\\n\t\t\t\t\t<option value=\\\"29\\\">29<\/option>\\n\t\t\t\t\t<option value=\\\"30\\\">30<\/option>\\n\t\t\t\t\t<option value=\\\"31\\\">31<\/option>\\n\t\t\t\t<\/select>\\n\t\t\t\t<select name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"-month\\\">\\n\t\t\t\t\t<option value=\\\"\\\"> - Month - <\/option>\\n\t\t\t\t\t<option value=\\\"01\\\">January<\/option>\\n\t\t\t\t\t<option value=\\\"02\\\">February<\/option>\\n\t\t\t\t\t<option value=\\\"03\\\">March<\/option>\\n\t\t\t\t\t<option value=\\\"04\\\">April<\/option>\\n\t\t\t\t\t<option value=\\\"05\\\">May<\/option>\\n\t\t\t\t\t<option value=\\\"06\\\">June<\/option>\\n\t\t\t\t\t<option value=\\\"07\\\">July<\/option>\\n\t\t\t\t\t<option value=\\\"08\\\">August<\/option>\\n\t\t\t\t\t<option value=\\\"09\\\">September<\/option>\\n\t\t\t\t\t<option value=\\\"10\\\">October<\/option>\\n\t\t\t\t\t<option value=\\\"11\\\">November<\/option>\\n\t\t\t\t\t<option value=\\\"12\\\">December<\/option>\\n\t\t\t\t<\/select>\\n\t\t\t\t<select name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"-year\\\">\\n\t\t\t\t\t<option value=\\\"\\\"> - Year - <\/option>\\n\t\t\t\t\t\"\n + ((stack1 = (helpers.generateYearOptions || (depth0 && depth0.generateYearOptions) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.settings : depth0),{\"name\":\"generateYearOptions\",\"hash\":{},\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<\/select>\\n\";\n},\"45\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"country\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(46, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"46\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<select name=\\\"field-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t\t<option value=\\\"\\\"> - Country - <\/option>\\n\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.generateCountryOptions || (depth0 != null ? depth0.generateCountryOptions : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"generateCountryOptions\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<\/select>\\n\t\t\t\t\";\n},\"48\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<div class=\\\"comment\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.comment || (depth0 != null ? depth0.comment : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"comment\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\";\n},\"50\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.submitButtonClass || (depth0 != null ? depth0.submitButtonClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"submitButtonClass\",\"hash\":{},\"data\":data}) : helper)));\n},\"52\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.submitButtonText || (depth0 != null ? depth0.submitButtonText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"submitButtonText\",\"hash\":{},\"data\":data}) : helper)));\n},\"54\":function(container,depth0,helpers,partials,data) {\n return \"Submit form\";\n},\"56\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<i class=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.submitButtonIcon || (depth0 != null ? depth0.submitButtonIcon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"submitButtonIcon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default style-\"\n + container.escapeExpression(((helper = (helper = helpers.inputStyle || (depth0 != null ? depth0.inputStyle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"inputStyle\",\"hash\":{},\"data\":data}) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.labelsAsPlaceHolder : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.showLabelsOnInput : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-form-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.panels : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(5, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<div class=\\\"actions\\\">\\n\t\t<button class=\\\"ui-button special form-submit \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.submitButtonClass),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(50, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-action=\\\"submit\\\"><div>\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.submitButtonText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(52, data, 0, blockParams, depths),\"inverse\":container.program(54, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (data && data.root)) && stack1.submitButtonIcon),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(56, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div><\/button>\\n\t<\/div>\\n<\/div>\\n<div class=\\\"thanks-cms-fragments\\\"><\/div>\";\n},\"useData\":true,\"useDepths\":true}"},"heading":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.fontCssVars || (depth0 != null ? depth0.fontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"align-\"\n + container.escapeExpression(((helper = (helper = helpers.alignText || (depth0 != null ? depth0.alignText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"alignText\",\"hash\":{},\"data\":data}) : helper)))\n + \" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"mfe-editable \";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"data-editable-setting=\\\"text\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<a class=\\\"align-\"\n + container.escapeExpression(((helper = (helper = helpers.alignText || (depth0 != null ? depth0.alignText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"alignText\",\"hash\":{},\"data\":data}) : helper)))\n + \" \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkUrl || (depth0 != null ? depth0.linkUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.fontCssVars || (depth0 != null ? depth0.fontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"mfe-editable\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.asHtml || (depth0 && depth0.asHtml) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.text : depth0),{\"name\":\"asHtml\",\"hash\":{},\"data\":data})) != null ? stack1 : \"\");\n},\"11\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.text || (depth0 != null ? depth0.text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"text\",\"hash\":{},\"data\":data}) : helper)));\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<\"\n + container.escapeExpression(((helper = (helper = helpers.headingType || (depth0 != null ? depth0.headingType : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"headingType\",\"hash\":{},\"data\":data}) : helper)))\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isAllowHtmlEnabled : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/\"\n + container.escapeExpression(((helper = (helper = helpers.headingType || (depth0 != null ? depth0.headingType : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"headingType\",\"hash\":{},\"data\":data}) : helper)))\n + \"> \";\n},\"useData\":true}"},"hero-intro":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<h1>Ohai!<\/h1> \";\n},\"useData\":true}"},"image":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"background-image\\\" style=\\\"background-image: url(\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \");\\\">\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkUrl || (depth0 != null ? depth0.linkUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<img class=\\\"\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.coverLayout : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"cover-layout\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \"<\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.asBackgroundImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\\n\"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.asBackgroundImage : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.asBackgroundImage : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\";\n},\"useData\":true}"},"info-block":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<h2 style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.titleFontCssVars || (depth0 != null ? depth0.titleFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"titleFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"mfe-editable\\\"><span class=\\\"inner\\\">\"\n + ((stack1 = ((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/span><\/h2>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.textFontCssVars || (depth0 != null ? depth0.textFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"textFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"text mfe-editable\\\">\"\n + ((stack1 = ((helper = (helper = helpers.text || (depth0 != null ? depth0.text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"text\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<h3 style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.subtitleFontCssVars || (depth0 != null ? depth0.subtitleFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {}
20076,{\"name\":\"subtitleFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"mfe-editable\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.subtitle || (depth0 != null ? depth0.subtitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"subtitle\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h3>\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a class=\\\"link\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkTextFontCssVars || (depth0 != null ? depth0.linkTextFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkTextFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkUrl || (depth0 != null ? depth0.linkUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><span>\"\n + container.escapeExpression(((helper = (helper = helpers.linkText || (depth0 != null ? depth0.linkText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<i class=\\\"fas fa-chevron-right\\\"><\/i><\/span><\/a>\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a class=\\\"link\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkTextFontCssVars || (depth0 != null ? depth0.linkTextFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkTextFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.link2Url || (depth0 != null ? depth0.link2Url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"link2Url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><span>\"\n + container.escapeExpression(((helper = (helper = helpers.link2Text || (depth0 != null ? depth0.link2Text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"link2Text\",\"hash\":{},\"data\":data}) : helper)))\n + \"<i class=\\\"fas fa-chevron-right\\\"><\/i><\/span><\/a>\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a class=\\\"full-link\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkUrl || (depth0 != null ? depth0.linkUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/a>\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.title : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.text : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.subtitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.link2Text : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.fullLink : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}"},"intro":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link1 : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link1 : depth0)) != null ? stack1.text : stack1), depth0))\n + \"<div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div><\/a>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link2 : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link2 : depth0)) != null ? stack1.text : stack1), depth0))\n + \"<div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div><\/a>\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link3 : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link3 : depth0)) != null ? stack1.text : stack1), depth0))\n + \"<div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div><\/a>\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link4 : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.link4 : depth0)) != null ? stack1.text : stack1), depth0))\n + \"<div class=\\\"icon\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div><\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"text\\\">\\n\t<h1>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/h1>\\n\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n<\/div>\\n<div class=\\\"menu\\\">
20076\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.link1 : depth0)) != null ? stack1.text : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.link2 : depth0)) != null ? stack1.text : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.link3 : depth0)) != null ? stack1.text : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.link4 : depth0)) != null ? stack1.text : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n<\/div>\";\n},\"useData\":true}"},"media-content":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"photo\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.media : depth0)) != null ? stack1.url : stack1), depth0))\n + \"\\\" \/>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"media\\\">\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.source : depth0),\"mobypicture\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t<\/div>\\n<\/div>\";\n},\"useData\":true}"},"menu":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"item\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(2, data, 0, blockParams, depths),\"inverse\":container.program(15, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t<li class=\\\"item\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isSelected : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.icon : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.style : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\"><a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><span>
20076\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.icon : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\\n\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.title : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/span><\/a>\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.imageUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/li>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" selected\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" icon\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \" style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}) : helper)));\n},\"9\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<i class=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.iconSet || (depth0 != null ? depth0.iconSet : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"iconSet\",\"hash\":{},\"data\":data}) : helper)))\n + \" fa-\"\n + container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"icon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i>\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return ((stack1 = ((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\");\n},\"13\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.imageUrl || (depth0 != null ? depth0.imageUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"imageUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\";\n},\"15\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"search\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(16, data, 0, blockParams, depths),\"inverse\":container.program(18, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"16\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<li class=\\\"search\\\"><button><div><i class=\\\"fas fa-search\\\"><\/i><\/div><\/button><\/li>\\n\";\n},\"18\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"search-input\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(19, data, 0, blockParams, depths),\"inverse\":container.program(21, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t<li class=\\\"search-input\\\"><div><input style=\\\"border: 1px solid white;border-radius: 99999px;background: none;\\\" type=\\\"text\\\"><\/div><\/li>\\n\";\n},\"21\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.type : depth0),\"switch-language\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(22, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"22\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return \"\t\t\t\t<li class=\\\"switch-language\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].availableLanguages : depths[1]),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(23, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t<\/li>\\n\t\t\t\t\";\n},\"23\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<a title=\\\"Switch to \"\n + container.escapeExpression(((helper = (helper = helpers.code || (depth0 != null ? depth0.code : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"code\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.path || (depth0 != null ? depth0.path : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"path\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><img src=\\\"https:\/\/www.mathys.to\/static\/ps2\/img\/flags\/\"\n + container.escapeExpression(((helper = (helper = helpers.code || (depth0 != null ? depth0.code : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"code\",\"hash\":{},\"data\":data}) : helper)))\n + \".jpg\\\" \/><\/a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<div class=\\\"content\\\">\\n\t<nav>\\n\t\t<ul class=\\\"menu\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.menuFontCssVars || (depth0 != null ? depth0.menuFontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"menuFontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.items : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<\/ul>\\n\t<\/nav>\\n<\/div>\\n\\n\";\n},\"useData\":true,\"useDepths\":true}"},"newsletter-signup":{"mailchimp-email-names":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content mailchimp-email\\\">\\n\t<form action=\\\"https:\/\/\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpDomain || (depth0 != null ? depth0.mailchimpDomain : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpDomain\",\"hash\":{},\"data\":data}) : helper)))\n + \"\/subscribe\/post?u=\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormKey || (depth0 != null ? depth0.mailchimpFormKey : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormKey\",\"hash\":{},\"data\":data}) : helper)))\n + \"&id=\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormId || (depth0 != null ? depth0.mailchimpFormId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormId\",\"hash\":{},\"data\":data}) : helper)))\n + \" \\\"method=\\\"post\\\" id=\\\"mc-embedded-subscribe-form\\\" name=\\\"mc-embedded-subscribe-form\\\" class=\\\"validate\\\" target=\\\"_blank\\\" novalidate>\\n\t\t<div class=\\\"names\\\">\\n\t\t\t<div class=\\\"name-first\\\">\\n\t\t\t\t<input type=\\\"text\\\" value=\\\"\\\" name=\\\"FNAME\\\" class=\\\"\\\" id=\\\"mce-FNAME\\\" placeholder=\\\"First name\\\">\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"name-last\\\">\\n\t\t\t\t<input type=\\\"text\\\" value=\\\"\\\" name=\\\"LNAME\\\" class=\\\"\\\" id=\\\"mce-LNAME\\\" placeholder=\\\"Last name\\\">\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t<div style=\\\"position: absolute; left: -5000px;\\\" aria-hidden=\\\"true\\\"><input type=\\\"text\\\" name=\\\"b_\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormKey || (depth0 != null ? depth0.mailchimpFormKey : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormKey\",\"hash\":{},\"data\":data}) : helper)))\n + \"_\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormId || (depth0 != null ? depth0.mailchimpFormId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" tabindex=\\\"-1\\\" value=\\\"\\\"><\/div>\\n\t\t<div class=\\\"email\\\">\\n\t\t\t<input type=\\\"email\\\" value=\\\"\\\" name=\\\"EMAIL\\\" class=\\\"required email\\\" id=\\\"mce-EMAIL\\\" placeholder=\\\"Email\\\">\\n\t\t<\/div>\\n\t\t<input type=\\\"submit\\\" value=\\\"Subscribe\\\" name=\\\"subscribe\\\" id=\\\"mc-embedded-subscribe\\\" class=\\\"button\\\">\\n\t<\/form>\\n<\/div>\";\n},\"useData\":true}","mailchimp-email":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"intro\\\">\\n\t\t<div class=\\\"description\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t<\/div>\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" mfe-editable mfe-editable-text\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content mailchimp-email\\\">\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.description : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<form action=\\\"https:\/\/\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpDomain || (depth0 != null ? depth0.mailchimpDomain : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpDomain\",\"hash\":{},\"data\":data}) : helper)))\n + \"\/subscribe\/post?u=\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormKey || (depth0 != null ? depth0.mailchimpFormKey : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormKey\",\"hash\":{},\"data\":data}) : helper)))\n + \"&id=\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormId || (depth0 != null ? depth0.mailchimpFormId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" method=\\\"post\\\" id=\\\"mc-embedded-subscribe-form\\\" name=\\\"mc-embedded-subscribe-form\\\" class=\\\"validate\\\" target=\\\"_blank\\\" novalidate>\\n\t\t<div style=\\\"position: absolute; left: -5000px;\\\" aria-hidden=\\\"true\\\"><input type=\\\"text\\\" name=\\\"b_\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormKey || (depth0 != null ? depth0.mailchimpFormKey : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormKey\",\"hash\":{},\"data\":data}) : helper)))\n + \"_\"\n + container.escapeExpression(((helper = (helper = helpers.mailchimpFormId || (depth0 != null ? depth0.mailchimpFormId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mailchimpFormId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" tabindex=\\\"-1\\\" value=\\\"\\\"><\/div>\\n\t\t<div class=\\\"email\\\">\\n\t\t\t<input type=\\\"email\\\" value=\\\"\\\" name=\\\"EMAIL\\\" class=\\\"required email\\\" id=\\\"mce-EMAIL\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.emailPlaceholder || (depth0 != null ? depth0.emailPlaceholder : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"emailPlaceholder\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t<\/div>\\n\t\t<input type=\\\"submit\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.actionText || (depth0 != null ? depth0.actionText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"actionText\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"subscribe\\\" id=\\\"mc-embedded-subscribe\\\" class=\\\"ui-button special\\\">\\n\t<\/form>\\n\t<div class=\\\"small-print\\\">Your email will not be used for other purposes<\/div>\\n<\/div>\";\n},\"useData\":true}"},"postgroup-list":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<li>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/li>\\r\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<ul>\\r\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.postGroups : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/ul>\";\n},\"useData\":true}"},"search-input":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<!--<div class=\\\"results\\\"><span>\"\n + container.escapeExpression(((helper = (helper = helpers.totalMatches || (depth0 != null ? depth0.totalMatches : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"totalMatches\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span>Results<\/div>-->\\n\t<div class=\\\"input\\\">\\n\t\t<div class=\\\"icon\\\"><i class=\\\"fas fa-search\\\"><\/i><\/div>\\n\t\t<input type=\\\"text\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.searchQuery || (depth0 != null ? depth0.searchQuery : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"searchQuery\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" placeholder=\\\"Search for...\\\" \/>\\n\t\t<div class=\\\"actions\\\">\\n\t\t\t<button><div><i class=\\\"fa fa-times\\\"><\/i><\/div><\/button>
20076\\n\t\t<\/div>\\n\t<\/div> \\n<\/div>\";\n},\"useData\":true}"},"share-buttons":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"buttons\\\">\\n\t<div class=\\\"twitter\\\">\\n\t\t<div class=\\\"count\\\"><\/div>\\n\t\t<a href=\\\"http:\/\/twitter.com\/intent\/tweet?url=\"\n + container.escapeExpression((helpers.uc || (depth0 && depth0.uc) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.shareUrl : depth0),{\"name\":\"uc\",\"hash\":{},\"data\":data}))\n + \"&text=\"\n + container.escapeExpression((helpers.uc || (depth0 && depth0.uc) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.twitterTitle : depth0),{\"name\":\"uc\",\"hash\":{},\"data\":data}))\n + \"\\\" target=\\\"_blank\\\"><i class=\\\"fab fa-twitter\\\"><\/i><\/a>\\n\t<\/div>\\n\t<div class=\\\"facebook-share\\\">\\n\t\t<div class=\\\"count\\\"><\/div>\\n\t\t<a href=\\\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=\"\n + container.escapeExpression((helpers.uc || (depth0 && depth0.uc) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.shareUrl : depth0),{\"name\":\"uc\",\"hash\":{},\"data\":data}))\n + \"\\\" target=\\\"_blank\\\"><i class=\\\"fab fa-facebook-f\\\"><\/i><\/a>\\n\t<\/div>\\n\t<div class=\\\"facebook-like\\\">\\n\t\t<div class=\\\"count\\\"><\/div>\\n\t\t<a href=\\\"https:\/\/www.facebook.com\/\\\" target=\\\"_blank\\\"><i class=\\\"fas fa-thumbs-up\\\"><\/i><\/a>\\n\t\t<div class=\\\"hover\\\">\\n\t\t\t<div class=\\\"fb-like\\\" data-href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.shareUrl || (depth0 != null ? depth0.shareUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"shareUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-width=\\\"64\\\" data-layout=\\\"box_count\\\" data-action=\\\"like\\\" data-size=\\\"large\\\" data-show-faces=\\\"true\\\" data-share=\\\"false\\\"><\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\t<div class=\\\"linkedin\\\">\\n\t\t<div class=\\\"count\\\"><\/div>\\n\t\t<a href=\\\"https:\/\/www.linkedin.com\/shareArticle?mini=true&url=\"\n + container.escapeExpression((helpers.uc || (depth0 && depth0.uc) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.shareUrl : depth0),{\"name\":\"uc\",\"hash\":{},\"data\":data}))\n + \"&title=\"\n + container.escapeExpression((helpers.uc || (depth0 && depth0.uc) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.title : depth0),{\"name\":\"uc\",\"hash\":{},\"data\":data}))\n + \"\\\" target=\\\"_blank\\\"><i class=\\\"fab fa-linkedin\\\"><\/i><\/a>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}"},"text":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"class=\\\"mfe-editable mfe-editable-text text-align-\"\n + container.escapeExpression(((helper = (helper = helpers.textAlign || (depth0 != null ? depth0.textAlign : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"textAlign\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" data-editable-setting=\\\"text\\\"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"class=\\\"text-align-\"\n + container.escapeExpression(((helper = (helper = helpers.textAlign || (depth0 != null ? depth0.textAlign : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"textAlign\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;
20076\n\n return \"<a \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.editable : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkUrl || (depth0 != null ? depth0.linkUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return ((stack1 = ((helper = (helper = helpers.text || (depth0 != null ? depth0.text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"text\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\");\n},\"10\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.text || (depth0 != null ? depth0.text : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"text\",\"hash\":{},\"data\":data}) : helper)));\n},\"12\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<p \"\n + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.fontCssVars || (depth0 != null ? depth0.fontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isAllowHtmlEnabled : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(10, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.linkUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/p>\";\n},\"useData\":true}"},"usergroup-team":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t<div class=\\\"filters-container\\\">\\n\t\t<div class=\\\"filters\\\">\\n\t\t\t<div class=\\\"tags\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.team : depth0)) != null ? stack1.tags : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t<div class=\\\"tag\\\">\\n\t\t\t\t\t<input type=\\\"checkbox\\\" id=\\\"usergroup-team-filter-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"filter-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\t\t\t<label for=\\\"usergroup-team-filter-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/label>\\n\t\t\t\t<\/div>\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.placeholderItems : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<li class=\\\"placeholder\\\"><div class=\\\"container\\\"><div class=\\\"wrapper\\\"><\/div><\/div><\/li>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default style-\"\n + container.escapeExpression(((helper = (helper = helpers.style || (depth0 != null ? depth0.style : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"style\",\"hash\":{},\"data\":data}
20076) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showFilters : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\\n\t<div class=\\\"members-container\\\">\\n\t\t<ul class=\\\"members\\\">\\n\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.teamMembersHtml || (depth0 != null ? depth0.teamMembersHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"teamMembersHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<\/ul>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}","item-member":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<li data-member-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<div class=\\\"container\\\">\\n\t\t<div class=\\\"wrapper\\\">\\n\t\t\t<div class=\\\"info\\\">\\n\t\t\t\t<div class=\\\"name\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/li>\";\n},\"useData\":true}"},"video-player":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"mpplayer\\\">\\n <video class=\\\"mpplayer-video\\\"><\/video>\\n <div class=\\\"mpplayer-poster\\\" style=\\\"background-image: url(https:\/\/cms.ondemand.cinemien.nl\/content\/uploads\/2018\/06\/DSC_0243-copy-1600x900.jpg);\\\">\\n\t\t\t<div class=\\\"overlay\\\"><\/div>\\n\t\t\t<div class=\\\"play-button\\\">\\n\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-play\\\"><\/use><\/svg>\\n\t\t\t<\/div>\\n <\/div>\\n <div class=\\\"mpplayer-loading\\\">\\n Loading\\n <\/div>\\n <div class=\\\"mpplayer-controls\\\">\\n <button class=\\\"mpplayer-control-play\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-play\\\"><\/use><\/svg>\\n <\/button>
20076\\n <button class=\\\"mpplayer-control-pause\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-pause\\\"><\/use><\/svg>\\n <\/button>\\n <div class=\\\"mpplayer-control-progress\\\">\\n <input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"0.01\\\" value=\\\"0\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>\\n <\/div>\\n <div class=\\\"mpplayer-label-time-left\\\">\\n <span><\/span>\\n <\/div>\\n <button class=\\\"mpplayer-control-mute\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-volume\\\"><\/use><\/svg>\\n <\/button>\\n <div class=\\\"mpplayer-control-volume\\\">\\n <input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"1\\\" value=\\\"75\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>\\n <\/div>\\n <!--<button class=\\\"mpplayer-control-captions\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-captions-on\\\"><\/use><\/svg>\\n <\/button>-->\\n <button class=\\\"mpplayer-control-config\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-settings\\\"><\/use><\/svg>\\n <\/button>\\n <button class=\\\"mpplayer-control-fullscreen\\\">\\n <svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-enter-fullscreen\\\"><\/use><\/svg>\\n <\/button>\\n <\/div>\\n<\/div>\";\n},\"useData\":true}"},"event-content":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t<div class=\\\"links\\\">\\n\t\t\t<a href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" target=\\\"_blank\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.urlLabel : stack1), depth0))\n + \"<\/a>\\n\t\t<\/div>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"start-time\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">Starts<\/span>\\n\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.momentListTime || (depth0 && depth0.momentListTime) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.startDate : stack1),{\"name\":\"momentListTime\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"end-time\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">Ends<\/span>\\n\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.momentListTime || (depth0 && depth0.momentListTime) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.endDateLocal : stack1),{\"name\":\"momentListTime\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t<\/div>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.isWholeDay : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t\t<div class=\\\"start-time\\\">\\n\t\t\t\t\t\t<span class=\\\"label\\\">Starts<\/span>\\n\t\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.dateFormatShort || (depth0 && depth0.dateFormatShort) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.startDate : stack1),{\"name\":\"dateFormatShort\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"end-time\\\">\\n\t\t\t\t\t\t<span class=\\\"label\\\">Ends<\/span>\\n\t\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.dateFormatShort || (depth0 && depth0.dateFormatShort) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.endDateLocal : stack1),{\"name\":\"dateFormatShort\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t\t<\/div>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t\t<div class=\\\"start-time\\\">\\n\t\t\t\t\t\t<span class=\\\"label\\\">Starts<\/span>\\n\t\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.dateFormat || (depth0 && depth0.dateFormat) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.startDate : stack1),{\"name\":\"dateFormat\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"end-time\\\">\\n\t\t\t\t\t\t<span class=\\\"label\\\">Ends<\/span>\\n\t\t\t\t\t\t<div class=\\\"value time\\\">\"\n + container.escapeExpression((helpers.dateFormat || (depth0 && depth0.dateFormat) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.endDateLocal : stack1),{\"name\":\"dateFormat\",\"hash\":{},\"data\":data}))\n + \"<\/div>\\n\t\t\t\t\t<\/div>\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"date\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">Date<\/span>\\n\t\t\t\t\t<span class=\\\"value\\\">\"\n + container.escapeExpression((helpers.dateFormatArticle || (depth0 && depth0.dateFormatArticle) || helpers.helperMissing).call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.startDate : stack1),{\"name\":\"dateFormatArticle\",\"hash\":{},\"data\":data}))\n + \"<\/span>\\n\t\t\t\t<\/div>\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"venue\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">Venue<\/span>\\n\t\t\t\t\t<span class=\\\"value\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.venue : stack1), depth0))\n + \"<\/span>\\n\t\t\t\t<\/div>\\n\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"address\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">Address<\/span>\\n\t\t\t\t\t<span class=\\\"value\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.address : stack1), depth0))\n + \"<\/span>\\n\t\t\t\t<\/div>\\n\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"\t\t\t\t<div class=\\\"city-country\\\">\\n\t\t\t\t\t<span class=\\\"label\\\">City<\/span>\\n\t\t\t\t\t<span class=\\\"value\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.city : stack1), depth0))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.city : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(17, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.country : stack1), depth0))\n + \"<\/div>\\n\t\t\t\t<\/div>\\n\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n var stack1;
20076\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.country : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"18\":function(container,depth0,helpers,partials,data) {\n return \", \";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"event\\\">\\n\t\t\\n\t\t<div class=\\\"cover\\\">\\n\t\t\t<h1>\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.title : stack1), depth0))\n + \"<\/h1>\\n\t\t\t<p>\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.description : stack1), depth0))\n + \"<\/p>\\n\t\t<\/div>\\n\t\t\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.url : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\\n\t\t<div class=\\\"info\\\">\\n\\n\t\t\t<div class=\\\"times\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.isSameDay : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\\n\t\t\t<div class=\\\"location\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.isSameDay : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.venue : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.address : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.event : depth0)) != null ? stack1.revision : stack1)) != null ? stack1.location : stack1)) != null ? stack1.city : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(16, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t\t\\n\t\t<\/div>\\n\t\t\\n\t<\/div>\\n<\/div>\t\";\n},\"useData\":true}"},"floating-info":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"The place for all the people interested in the world of doing good. And in doing it better.\";\n},\"useData\":true}"},"pagination":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.showNothingFound : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"<h3>No posts that match your criteria have been found.<\/h3>\\n\";\n},\"4\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1;\n\n return \"<nav>\\n\t<div class=\\\"numbers\\\">\\n\t\t<a class=\\\"prev \"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.prev : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.prev : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\"><i class=\\\"fas fa-chevron-left\\\"><\/i><\/a>\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.pages : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(7, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<a class=\\\"next \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.next : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" href=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.next : depth0)) != null ? stack1.path : stack1), depth0))\n + \"\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/a>\\n\t<\/div>\\n<\/nav>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"enabled\";\n},\"7\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t<a \"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.number : depth0),(depths[1] != null ? depths[1].currentPage : depths[1]),{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(8, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.path || (depth0 != null ? depth0.path : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"path\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.number || (depth0 != null ? depth0.number : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"number\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/a>\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"class=\\\"selected\\\" \";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<!--<div>Found <span>\"\n + container.escapeExpression(((helper = (helper = helpers.totalItems || (depth0 != null ? depth0.totalItems : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"totalItems\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span> posts<\/div>-->\\n\"\n + ((stack1 = (helpers.compare || (depth0 && depth0.compare) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.totalItems : depth0),\"0\",{\"name\":\"compare\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.program(4, data, 0, blockParams, depths),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true,\"useDepths\":true}"},"dataset-view":{"temp":"{\"1\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t\t\t\t<div class=\\\"tag\\\">\\n\t\t\t\t\t<input data-target-table=\\\"persons\\\" id=\\\"filter-tags-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"filter-tags[]\\\" type=\\\"checkbox\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.id : depth0),((stack1 = ((stack1 = (depths[1] != null ? depths[1].filters : depths[1])) != null ? stack1.persons : stack1)) != null ? stack1.tags : stack1),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(2, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> \\n\t\t\t\t\t<label for=\\\"filter-tags-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.tagTitle || (depth0 != null ? depth0.tagTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tagTitle\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/label> \\n\t\t\t\t<\/div>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"checked=\\\"checked\\\"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<li data-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t<div class=\\\"container\\\">\\n\t\t\t\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\t\t\t<div class=\\\"info\\\">\\n\t\t\t\t\t\t\t<div class=\\\"name\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.jobTitle || (depth0 != null ? depth0.jobTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"jobTitle\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t<div class=\\\"tags\\\">\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tags : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/li>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.tagTitle || (depth0 != null ? depth0.tagTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tagTitle\",\"hash\":{},\"data\":data}) : helper)));\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<div class=\\\"content\\\" data-dataset-view-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.datasetViewId || (depth0 != null ? depth0.datasetViewId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"datasetViewId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\\n\t<div class=\\\"filters-container\\\">\\n\t\t<div class=\\\"filters\\\">\\n\t\t\t<div class=\\\"tags\\\"> \\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.view : depth0)) != null ? stack1.tags : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\t<div class=\\\"persons-container\\\">\\n\t\t<ul class=\\\"members\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.view : depth0)) != null ? stack1.persons : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<\/ul>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true,\"useDepths\":true}"},"quote":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t<footer style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.fontSourceCssVars || (depth0 != null ? depth0.fontSourceCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fontSourceCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t— <cite>
20076\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.quoteSourceUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + container.escapeExpression(((helper = (helper = helpers.quoteSource || (depth0 != null ? depth0.quoteSource : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"quoteSource\",\"hash\":{},\"data\":data}) : helper)))\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.quoteSourceUrl : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/cite>\\n\t<\/footer>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.quoteSourceUrl || (depth0 != null ? depth0.quoteSourceUrl : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"quoteSourceUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"<\/a>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<blockquote style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.fontCssVars || (depth0 != null ? depth0.fontCssVars : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"fontCssVars\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<p>\"\n + container.escapeExpression(((helper = (helper = helpers.quoteText || (depth0 != null ? depth0.quoteText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"quoteText\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/p>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.quoteSource : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/blockquote>\";\n},\"useData\":true}"},"dataset-lookup":{"temp":"{\"1\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t\t\t\t<div class=\\\"tag\\\">\\n\t\t\t\t\t<input data-target-table=\\\"persons\\\" id=\\\"filter-tags-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"filter-tags[]\\\" type=\\\"checkbox\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \"\n + ((stack1 = (helpers.ifIn || (depth0 && depth0.ifIn) || helpers.helperMissing).call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.id : depth0),((stack1 = ((stack1 = (depths[1] != null ? depths[1].filters : depths[1])) != null ? stack1.persons : stack1)) != null ? stack1.tags : stack1),{\"name\":\"ifIn\",\"hash\":{},\"fn\":container.program(2, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> \\n\t\t\t\t\t<label for=\\\"filter-tags-\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.tagTitle || (depth0 != null ? depth0.tagTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tagTitle\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/label> \\n\t\t\t\t<\/div>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"checked=\\\"checked\\\"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t<li data-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t<div class=\\\"container\\\">\\n\t\t\t\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\t\t\t<div class=\\\"info\\\">\\n\t\t\t\t\t\t\t<div class=\\\"name\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t<div class=\\\"title\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.jobTitle || (depth0 != null ? depth0.jobTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"jobTitle\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t<div class=\\\"tags\\\">\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tags : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<\/div>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/li>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return container.escapeExpression(((helper = (helper = helpers.tagTitle || (depth0 != null ? depth0.tagTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"tagTitle\",\"hash\":{},\"data\":data}) : helper)));\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<div class=\\\"content\\\" data-dataset-view-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.datasetViewId || (depth0 != null ? depth0.datasetViewId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"datasetViewId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\\n\t<div class=\\\"filters-container\\\">\\n\t\t<div class=\\\"filters\\\">\\n\t\t\t<div class=\\\"tags\\\"> \\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.view : depth0)) != null ? stack1.tags : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n\t<div class=\\\"persons-container\\\">\\n\t\t<ul class=\\\"members\\\">\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.view : depth0)) != null ? stack1.persons : stack1),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(4, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t\t<li class=\\\"filler\\\"><\/li>\\n\t\t<\/ul>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true,\"useDepths\":true}"},"payment-check":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div>\\n\tWaiting for payment to complete...\\n<\/div>\";\n},\"useData\":true}"},"content-navigation":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n return \" is-loading\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content base-default\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depth0 != null ? depth0.isLoading : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\\n\t<div class=\\\"newer\\\">\\n\t\t<nav class=\\\"items\\\">\"\n + ((stack1 = ((helper = (helper = helpers.newerHtml || (depth0 != null ? depth0.newerHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"newerHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/nav>\\n\t<\/div>\\n\t\\n\t<span><\/span>\\n\t\\n\t<div class=\\\"older\\\">\\n\t\t<nav class=\\\"items\\\">\"\n + ((stack1 = ((helper = (helper = helpers.olderHtml || (depth0 != null ? depth0.olderHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"olderHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/nav>\\n\t<\/div>\\n\\n<\/div>\\n\";\n},\"useData\":true}","item-default-newer":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<figure>\\n\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" \/>\\n\t<\/figure>\\n\t<div class=\\\"arrow left\\\"><i class=\\\"fas fa-chevron-left\\\"><\/i><\/div>\\n<\/a>\";\n},\"useData\":true}","item-default-older":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<a href=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.linkPath || (depth0 != null ? depth0.linkPath : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"linkPath\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t<figure>\\n\t\t<img src=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = ((stack1 = ((stack1 = (depth0 != null ? depth0.revision : depth0)) != null ? stack1.cover : stack1)) != null ? stack1.filesIndexed : stack1)) != null ? stack1.box320 : stack1)) != null ? stack1.url : stack1), depth0))\n + \"\\\" \/>\\n\t<\/figure>\\n\t<div class=\\\"arrow right\\\"><i class=\\\"fas fa-chevron-right\\\"><\/i><\/div>\\n<\/a>\";\n},\"useData\":true}"},"player":{"base-default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t<div class=\\\"description-field\\\">\\n\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.langMmdRentInfoDescriptionHtml || (depth0 != null ? depth0.langMmdRentInfoDescriptionHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInfoDescriptionHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\t<\/div>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\t<div class=\\\"description-field\\\">\\n\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.langMmdGiftInfoDescriptionHtml || (depth0 != null ? depth0.langMmdGiftInfoDescriptionHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInfoDescriptionHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\t<\/div>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"<div class=\\\"content\\\">\\n\t<div class=\\\"wrapper\\\">\\n\t\t<div class=\\\"close-trailer\\\">\\n\t\t\t<button><i class=\\\"fas fa-times\\\"><\/i><\/button>
20076\\n\t\t<\/div>\\n\t\t<div class=\\\"player\\\">\\n\t\t\t<video style=\\\"\\\"><\/video>\\n\t\t\t<div class=\\\"player-controls disabled\\\">\\n\t\t\t\t<button class=\\\"player-control-play disabled\\\" style=\\\"display: none;\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-play\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<button class=\\\"player-control-pause\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-pause\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<div class=\\\"player-control-progress\\\">\\n\t\t\t\t\t\t<input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"0.1\\\" value=\\\"0\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>\\n\t\t\t\t\t\t<progress class=\\\"progress-buffer\\\" min=\\\"0\\\" max=\\\"100\\\" value=\\\"0\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\">% buffered<\/progress>\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"player-label-time-left\\\">\\n\t\t\t\t\t<span>00:00:00<\/span>\\n\t\t\t\t<\/div>\\n\t\t\t\t<button class=\\\"player-control-mute\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-volume\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<div class=\\\"player-control-volume\\\">\\n\t\t\t\t\t\t<input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"1\\\" value=\\\"75\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>\\n\t\t\t\t<\/div>\\n\t\t\t\t<!--<button class=\\\"player-control-captions\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-captions-on\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>-->\\n\t\t\t\t<!--<button class=\\\"player-control-config\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-settings\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>-->\\n\t\t\t\t<button class=\\\"player-control-fullscreen\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-enter-fullscreen\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-error\\\" style=\\\"display: none;\\\"><div class=\\\"message\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"player-loading\\\" style=\\\"display: none;\\\">\\n\t\t\t\t<i class=\\\"fas fa-spin fa-circle-notch\\\"><\/i>\\n\t\t\t\tLoading\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-poster\\\" style=\\\"display: none;\\\">\\n\t\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaCoverImage || (depth0 != null ? depth0.mediaCoverImage : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaCoverImage\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-overlay\\\" style=\\\"display: none;\\\">\\n\t\t\t\t<div class=\\\"bg\\\"><\/div>\\n\t\t\t\t<div class=\\\"icon\\\">\\n\t\t\t\t\t<figure><svg width=\\\"204\\\" height=\\\"204\\\" viewBox=\\\"0 0 204 204\\\" class=\\\"ui-play-button\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(2 2)\\\"><polygon fill=\\\"#F2F2F2\\\" points=\\\"148.685 99.699 69.856 139.11 69.856 60.287\\\"><\/polygon><circle cx=\\\"100\\\" cy=\\\"100\\\" r=\\\"100\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"3\\\"><\/circle><\/g><\/svg><\/figure>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t<div class=\\\"mmd\\\">\\n\t\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\t<div class=\\\"trailer\\\">\\n\t\t\t\t\t<div class=\\\"wrapper\\\">\\n\t\t\t\t\t\t<div class=\\\"video-container\\\"><\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"screens\\\">\\n\t\t\t\t\t<div class=\\\"home\\\">\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<!--<div class=\\\"logo\\\"><\/div>-->\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<!--<button class=\\\"rent\\\">\\n\t\t\t\t\t\t\t<div>\\n\t\t\t\t\t\t\t\t<figure><svg width=\\\"204\\\" height=\\\"204\\\" viewBox=\\\"0 0 204 204\\\" class=\\\"ui-play-button\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(2 2)\\\"><polygon fill=\\\"#F2F2F2\\\" points=\\\"148.685 99.699 69.856 139.11 69.856 60.287\\\"><\/polygon><circle cx=\\\"100\\\" cy=\\\"100\\\" r=\\\"100\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"3\\\"><\/circle><\/g><\/svg><\/figure>\\n\t\t\t\t\t\t\t\t<div class=\\\"icon\\\">\\n\t\t\t\t\t\t\t\t\t<i class=\\\"fas fa-shopping-cart\\\"><\/i>\\n\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t\t<span>\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdButtonMainRent || (depth0 != null ? depth0.langMmdButtonMainRent : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdButtonMainRent\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span>\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<\/button>
20076create.bra\t\\n\t\t\t\t\t<div class=\\\"content\\\">\"\n + ((stack1 = ((helper = (helper = helpers.langMmdHomeContent || (depth0 != null ? depth0.langMmdHomeContent : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdHomeContent\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/div>-->\\n\t\t\t\t\t\t<div class=\\\"actions\\\">\\n\t\t\t\t\t\t\t<button data-action=\\\"rent\\\"><div><img src=\\\"https:\/\/d1ns18uxs7ub2o.cloudfront.net\/197\/folder-714\/button-rent.png\\\" \/><span>Huur nu €4.99<\/span><\/div><\/button>\\n\t\t\t\t\t\t\t<button data-action=\\\"gift\\\"><div><img src=\\\"https:\/\/d1ns18uxs7ub2o.cloudfront.net\/197\/folder-714\/button-gift.png\\\" \/><span>\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdButtonMainGift || (depth0 != null ? depth0.langMmdButtonMainGift : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdButtonMainGift\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span><\/div><\/button>\\n\t\t\t\t\t\t\t<a href=\\\"\/nl\/over-de-film\\\"><div><img src=\\\"https:\/\/d1ns18uxs7ub2o.cloudfront.net\/197\/folder-714\/button-info.png\\\" \/><span>Meer over de film<\/span><\/div><\/a>\\n\t\t\t\t\t\t\t<button data-action=\\\"trailer\\\"><div><img src=\\\"https:\/\/d1ns18uxs7ub2o.cloudfront.net\/197\/folder-714\/button-trailer-new.png\\\" \/><span>\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdButtonMainTrailer || (depth0 != null ? depth0.langMmdButtonMainTrailer : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdButtonMainTrailer\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/span><\/div><\/button>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"has-rented\\\">\\n\t\t\t\t\t\t<button class=\\\"play\\\">\\n\t\t\t\t\t\t\t<div class=\\\"icon\\\">\\n\t\t\t\t\t\t\t\t<figure><svg width=\\\"204\\\" height=\\\"204\\\" viewBox=\\\"0 0 204 204\\\" class=\\\"ui-play-button\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(2 2)\\\"><polygon fill=\\\"#F2F2F2\\\" points=\\\"148.685 99.699 69.856 139.11 69.856 60.287\\\"><\/polygon><circle cx=\\\"100\\\" cy=\\\"100\\\" r=\\\"100\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"3\\\"><\/circle><\/g><\/svg><\/figure>\\n\t\t\t\t\t\t\t\t<div class=\\\"text\\\">Start film<\/div>\t\t\t\t\t\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<\/button>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"login\\\">\\n\t\t\t\t\t\t<div class=\\\"username\\\">\\n\t\t\t\t\t\t\tEmail\\n\t\t\t\t\t\t\t<input type=\\\"text\\\" name=\\\"username\\\" \/>\\n\t\t\t\t\t\t<\/div>\t\\n\t\t\t\t\t<button data-action=\\\"back\\\">« Back<\/button>\\n\t\t\t\t\t\t<input type=\\\"button\\\" value=\\\"Login\\\" \/>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"rent-info\\\">\\n\t\t\t\t\t\t<h2>\"\n + ((stack1 = ((helper = (helper = helpers.langMmdRentInfoTitleHtml || (depth0 != null ? depth0.langMmdRentInfoTitleHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInfoTitleHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/h2>\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.langMmdRentInfoDescriptionHtml : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"actions\\\">\\n\t\t\t\t\t\t\t<button data-action=\\\"back\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInfoButtonBack || (depth0 != null ? depth0.langMmdRentInfoButtonBack : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInfoButtonBack\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>
20076\\n\t\t\t\t\t\t\t<button data-action=\\\"continue\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInfoButtonContinue || (depth0 != null ? depth0.langMmdRentInfoButtonContinue : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInfoButtonContinue\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"rent\\\">\\n\t\t\t\t\t\t<h2>\"\n + ((stack1 = ((helper = (helper = helpers.langMmdRentTitleHtml || (depth0 != null ? depth0.langMmdRentTitleHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentTitleHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/h2>\\n\t\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"description-field\\\">\\n\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.langMmdRentDescriptionHtml || (depth0 != null ? depth0.langMmdRentDescriptionHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentDescriptionHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"input-fields\\\">\\n\t\t\t\t\t\t\t<div class=\\\"input-field\\\">\\n\t\t\t\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInputLabelEmail || (depth0 != null ? depth0.langMmdRentInputLabelEmail : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInputLabelEmail\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t\t<div class=\\\"input\\\"><input type=\\\"text\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInputPlaceholderEmail || (depth0 != null ? depth0.langMmdRentInputPlaceholderEmail : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInputPlaceholderEmail\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"email\\\" \/><\/div>\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"actions\\\">\\n\t\t\t\t\t\t\t<button data-action=\\\"back\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentButtonBack || (depth0 != null ? depth0.langMmdRentButtonBack : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentButtonBack\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t\t<button data-action=\\\"rent\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentButtonContinue || (depth0 != null ? depth0.langMmdRentButtonContinue : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentButtonContinue\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"rent-payforward\\\">\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<h2>\"\n + ((stack1 = ((helper = (helper = helpers.langMmdGiftTitleHtml || (depth0 != null ? depth0.langMmdGiftTitleHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftTitleHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/h2>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"description-field\\\">\\n\t\t\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.langMmdGiftDescriptionHtml || (depth0 != null ? depth0.langMmdGiftDescriptionHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftDescriptionHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"input-fields\\\">\\n\\n\t\t\t\t\t\t\t<div class=\\\"sender\\\">\\n\t\t\t\t\t\t\t\t<div class=\\\"input-field\\\">\\n\t\t\t\t\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInputLabelEmailSender || (depth0 != null ? depth0.langMmdGiftInputLabelEmailSender : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInputLabelEmailSender\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t\t\t<div class=\\\"input\\\"><input type=\\\"text\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInputPlaceholderEmailSender || (depth0 != null ? depth0.langMmdRentInputPlaceholderEmailSender : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInputPlaceholderEmailSender\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"email\\\" \/><\/div>\\n\t\t\t\t\t\t\t\t<\/div>\\n\\n\t\t\t\t\t\t\t\t<div class=\\\"input-field\\\">\\n\t\t\t\t\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInputLabelNameSender || (depth0 != null ? depth0.langMmdGiftInputLabelNameSender : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInputLabelNameSender\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t\t\t<div class=\\\"input\\\"><input type=\\\"text\\\" placeholder=\\\"e.g. Elon Musk\\\" name=\\\"name\\\" \/><\/div>\\n\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t<\/div>\\n\\n\t\t\t\t\t\t\t<div class=\\\"receiver\\\">\\n\t\t\t\t\t\t\t\t<div class=\\\"input-field\\\">\\n\t\t\t\t\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInputLabelEmailRecipient || (depth0 != null ? depth0.langMmdGiftInputLabelEmailRecipient : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInputLabelEmailRecipient\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t\t\t<div class=\\\"input\\\"><input type=\\\"text\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInputPlaceholderEmailRecipient || (depth0 != null ? depth0.langMmdRentInputPlaceholderEmailRecipient : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInputPlaceholderEmailRecipient\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"recipientEmail\\\" \/><\/div>\\n\t\t\t\t\t\t\t\t<\/div>\\n\\n\t\t\t\t\t\t\t\t<div class=\\\"input-field\\\">\\n\t\t\t\t\t\t\t\t\t<div class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInputLabelNameRecipient || (depth0 != null ? depth0.langMmdGiftInputLabelNameRecipient : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInputLabelNameRecipient\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\\n\t\t\t\t\t\t\t\t\t<div class=\\\"input\\\"><input type=\\\"text\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdRentInputPlaceholderNameRecipient || (depth0 != null ? depth0.langMmdRentInputPlaceholderNameRecipient : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdRentInputPlaceholderNameRecipient\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"recipientName\\\" \/><\/div>\\n\t\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t\t\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\t\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"actions\\\">\\n\t\t\t\t\t\t\t<button data-action=\\\"back\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftButtonBack || (depth0 != null ? depth0.langMmdGiftButtonBack : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftButtonBack\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>
20076\\n\t\t\t\t\t\t\t<button data-action=\\\"rent\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftButtonContinue || (depth0 != null ? depth0.langMmdGiftButtonContinue : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftButtonContinue\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"rent-payforward-info\\\">\\n\t\t\t\t\t\t<h2>\"\n + ((stack1 = ((helper = (helper = helpers.langMmdGiftInfoTitleHtml || (depth0 != null ? depth0.langMmdGiftInfoTitleHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInfoTitleHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"<\/h2>\\n\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.langMmdGiftInfoDescriptionHtml : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t\t\t\\n\t\t\t\t\t\t<div class=\\\"actions\\\">\\n\t\t\t\t\t\t\t<button data-action=\\\"back\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInfoButtonBack || (depth0 != null ? depth0.langMmdGiftInfoButtonBack : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInfoButtonBack\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t\t<button data-action=\\\"continue\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langMmdGiftInfoButtonContinue || (depth0 != null ? depth0.langMmdGiftInfoButtonContinue : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langMmdGiftInfoButtonContinue\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/button>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t\\n\t\t\t\t\t<\/div>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\\n\";\n},\"useData\":true}","simple":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content\\\">\\n\t<div class=\\\"wrapper\\\">\\n\t\t<div class=\\\"close-trailer\\\">\\n\t\t\t<button><i class=\\\"fas fa-times\\\"><\/i><\/button>\\n\t\t<\/div>\\n\t\t<div class=\\\"player show\\\">\\n\t\t\t<video style=\\\"\\\"><\/video>\\n\t\t\t<div class=\\\"player-controls disabled\\\">\\n\t\t\t\t<button class=\\\"player-control-play disabled\\\" style=\\\"display: none;\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-play\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<button class=\\\"player-control-pause\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-pause\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<div class=\\\"player-control-progress\\\">\\n\t\t\t\t\t\t<input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"0.1\\\" value=\\\"0\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>\\n\t\t\t\t\t\t<progress class=\\\"progress-buffer\\\" min=\\\"0\\\" max=\\\"100\\\" value=\\\"0\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\">% buffered<\/progress>\\n\t\t\t\t<\/div>\\n\t\t\t\t<div class=\\\"player-label-time-left\\\">\\n\t\t\t\t\t<span>00:00:00<\/span>\\n\t\t\t\t<\/div>\\n\t\t\t\t<button class=\\\"player-control-mute\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-volume\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t\t<div class=\\\"player-control-volume\\\">\\n\t\t\t\t\t\t<input type=\\\"range\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"1\\\" value=\\\"75\\\" autocomplete=\\\"off\\\" role=\\\"slider\\\" \/>
20076\\n\t\t\t\t<\/div>\\n\t\t\t\t<!--<button class=\\\"player-control-captions\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-captions-on\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>-->\\n\t\t\t\t<!--<button class=\\\"player-control-config\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-settings\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>-->\\n\t\t\t\t<button class=\\\"player-control-fullscreen\\\">\\n\t\t\t\t\t\t<svg role=\\\"presentation\\\" focusable=\\\"false\\\"><use xlink:href=\\\"\/static\/img\/plyr.svg#plyr-enter-fullscreen\\\"><\/use><\/svg>\\n\t\t\t\t<\/button>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-error\\\" style=\\\"display: none;\\\"><div class=\\\"message\\\"><\/div><\/div>\\n\t\t\t<div class=\\\"player-loading\\\" style=\\\"display: none;\\\">\\n\t\t\t\t<i class=\\\"fas fa-spin fa-circle-notch\\\"><\/i>\\n\t\t\t\tLoading\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-poster\\\">\\n\t\t\t\t<img src=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.mediaCoverImage || (depth0 != null ? depth0.mediaCoverImage : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"mediaCoverImage\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t\t\t<div class=\\\"bg\\\"><\/div>\\n\t\t\t\t<div class=\\\"icon\\\">\\n\t\t\t\t\t<figure><svg width=\\\"204\\\" height=\\\"204\\\" viewBox=\\\"0 0 204 204\\\" class=\\\"ui-play-button\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(2 2)\\\"><polygon fill=\\\"#F2F2F2\\\" points=\\\"148.685 99.699 69.856 139.11 69.856 60.287\\\"><\/polygon><circle cx=\\\"100\\\" cy=\\\"100\\\" r=\\\"100\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"3\\\"><\/circle><\/g><\/svg><\/figure>\\n\t\t\t\t\t<div class=\\\"text\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.langSimpleStartVideo || (depth0 != null ? depth0.langSimpleStartVideo : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"langSimpleStartVideo\",\"hash\":{},\"data\":data}) : helper)))\n + \"<\/div>\t\t\t\t\t\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"player-overlay\\\" style=\\\"display: none;\\\">\\n\t\t\t\t<div class=\\\"bg\\\"><\/div>\\n\t\t\t\t<div class=\\\"icon\\\">\\n\t\t\t\t\t<figure><svg width=\\\"204\\\" height=\\\"204\\\" viewBox=\\\"0 0 204 204\\\" class=\\\"ui-play-button\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(2 2)\\\"><polygon fill=\\\"#F2F2F2\\\" points=\\\"148.685 99.699 69.856 139.11 69.856 60.287\\\"><\/polygon><circle cx=\\\"100\\\" cy=\\\"100\\\" r=\\\"100\\\" stroke=\\\"#FFF\\\" stroke-width=\\\"3\\\"><\/circle><\/g><\/svg><\/figure>\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\t\t\t<button data-action=\\\"start\\\">Start<\/button>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\\n\";\n},\"useData\":true}"},"html":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"html\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\");\n},\"useData\":true}"},"popup":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"useData\":true}","tpm":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div id=\\\"popup-container\\\">\\n <div class=\\\"popup-tpm\\\">\\n <button data-action=\\\"close\\\">Close<i class=\\\"fas fa-times\\\"><\/i><\/button>\\n <a target=\\\"_blank\\\" href=\\\"https:\/\/www.bidawards.nl\/the-present\\\">\\n <img src=\\\"https:\/\/d1ns18uxs7ub2o.cloudfront.net\/181\/folder-733\/v6.jpg\\\" \/>\\n <\/a>\\n <\/div>\\n<\/div>\\n\";\n},\"useData\":true}"},"dataset-search-input":{"base-default":"{\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"content base-default\\\">\\n\t<div class=\\\"input\\\">\\n\t\t<div class=\\\"icon\\\"><i class=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.searchIcon || (depth0 != null ? depth0.searchIcon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"searchIcon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i><\/div>\\n\t\t<input type=\\\"text\\\" value=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.query || (depth0 != null ? depth0.query : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"query\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" placeholder=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.placeholder || (depth0 != null ? depth0.placeholder : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"placeholder\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \/>\\n\t\t<div class=\\\"actions\\\">\\n\t\t\t<button><div><i class=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.clearIcon || (depth0 != null ? depth0.clearIcon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"clearIcon\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/i><\/div><\/button>
20076\\n\t\t<\/div>\\n\t<\/div> \\n<\/div>\";\n},\"useData\":true}"}},"layouts":{"vertical":{"default":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"data-layout-name=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.layoutName || (depth0 != null ? depth0.layoutName : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"layoutName\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" \";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" no-top-padding\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" bg-dark\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"--layout-height: \"\n + container.escapeExpression(((helper = (helper = helpers.height || (depth0 != null ? depth0.height : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"height\",\"hash\":{},\"data\":data}) : helper)))\n + \"; \";\n},\"9\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"--widget-spacing: \"\n + container.escapeExpression(((helper = (helper = helpers.widgetSpacing || (depth0 != null ? depth0.widgetSpacing : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"widgetSpacing\",\"hash\":{},\"data\":data}) : helper)))\n + \"; \";\n},\"11\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<div class=\\\"overlay\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.overlayBackgroundCss || (depth0 != null ? depth0.overlayBackgroundCss : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"overlayBackgroundCss\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"><\/div>\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"<h1>\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"Tering mooie layout v2<\/h1>\";\n},\"15\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"\t\t\t<div class=\\\"layout-item column no-padding\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.alignContentCenterVertical : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(16, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\n\t\t\t\t<div class=\\\"layout-item-container no-padding no-margin\\\" style=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.backgroundLeftColCss || (depth0 != null ? depth0.backgroundLeftColCss : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"backgroundLeftColCss\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].mfeIncludeEditContainers : depths[1]),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(18, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\t\\n\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.widgetsHtml || (depth0 != null ? depth0.widgetsHtml : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"widgetsHtml\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\\n\t\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(
20076depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].mfeIncludeEditContainers : depths[1]),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(20, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].mfeIncludeEditContainers : depths[1]),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(22, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\t\t<\/div>\\n\t\t\t<\/div>\\n\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n return \" align-center-vertical\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"mfe-edit-container\\\" data-setting-type=\\\"widgets\\\" data-setting-name=\\\"widgetsColumn1\\\">\";\n},\"20\":function(container,depth0,helpers,partials,data) {\n return \"<\/div>\";\n},\"22\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"mfe-edit-layout-add-widget\\\">Add widget<\/div>\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data,blockParams,depths) {\n var stack1, helper;\n\n return \"<div \"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.layoutName : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"class=\\\"layout-container content-area page-width\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.noTopPadding : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.hasDarkBackground : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" style=\\\"\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.height : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.widgetSpacing : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + container.escapeExpression(((helper = (helper = helpers.backgroundCss || (depth0 != null ? depth0.backgroundCss : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"backgroundCss\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.overlayBackgroundCss : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t<div class=\\\"wrapper\\\">\\n\t\t\\n\t\t\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.title : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(13, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\n\t\t\\n\t\t<div class=\\\"layout layout-vertical\\\">\\n\t\t\t\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.columns : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(15, data, 0, blockParams, depths),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\\n\t\t<\/div>\\n\t\\n\t<\/div>\t\\n<\/div>\\n\";\n},\"useData\":true,\"useDepths\":true}"}},"cookie":{"permission":"{\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \" \"\n + container.escapeExpression(((helper = (helper = helpers.siteTitle || (depth0 != null ? depth0.siteTitle : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"siteTitle\",\"hash\":{},\"data\":data}
20076) : helper)))\n + \" uses cookies on this website\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" Kinder World uses cookies on this website\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t\t\t\t\"\n + ((stack1 = ((helper = (helper = helpers.cookieBarText || (depth0 != null ? depth0.cookieBarText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : {},{\"name\":\"cookieBarText\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \" Cookies are small pieces of information, stored in your web browser and sent back to the website on your next visit. This allows the website to recognize you and enhance your experience. You can find more information about cookies in our Cookie Statement.\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<div id=\\\"cookie-bar-overlay\\\"><\/div>\\n<div id=\\\"cookie-bar\\\" class=\\\"cookiecontainer cookiewall cookie-box\\\">\\n\t<div class=\\\"wrapper\\\">\\n\t\t<div class=\\\"scroll-area\\\">\\n\t\t\t<div class=\\\"description\\\">\\n\t\t\t\t<h1>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.siteTitle : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \" <\/h1>\\n\t\t\t\t<p>\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.cookieBarText : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t<\/p>\\n\t\t\t<\/div>\\n\t\t\t<div class=\\\"choice\\\">\\n\t\t\t\t<div class=\\\"section functional collapsed\\\">\\n\t\t\t\t\t<div class=\\\"header\\\">\\n\t\t\t\t\t\t<div class=\\\"check\\\">\\n\t\t\t\t\t\t\t<i class=\\\"fas fa-check\\\"><\/i>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<div class=\\\"label\\\">Functional (can't be disabled)<\/div>\\n\t\t\t\t\t\t<div class=\\\"collapse\\\">\\n\t\t\t\t\t\t\t<i class=\\\"fas fa-chevron-down\\\"><\/i>\\n\t\t\t\t\t\t\t<i class=\\\"fas fa-chevron-up\\\"><\/i>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"info\\\">Functional cookies are necessary to navigate this website and they allow easy usage of its services. They are legally allowed without consent. <\/div>\\n\t\t\t\t<\/div>\\n\t\t\t\t<label class=\\\"section analytical collapsed\\\">\\n\t\t\t\t\t<div class=\\\"header\\\">\\n\t\t\t\t\t\t<div class=\\\"check\\\">\\n\t\t\t\t\t\t\t<div class=\\\"ui-checkbox\\\">\\n\t\t\t\t\t\t\t\t<input id=\\\"cookie-bar-allow-analytical\\\" type=\\\"checkbox\\\" name=\\\"allowAnalyticalCookies\\\" checked=\\\"checked\\\" \/>\\n\t\t\t\t\t\t\t\t<label for=\\\"cookie-bar-allow-analytical\\\"><span><i class=\\\"fas fa-check\\\"><\/i><\/span><\/label>\\n\t\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t\t<div class=\\\"label\\\">Analytical<\/div>\\n\t\t\t\t\t\t<div class=\\\"collapse\\\">\\n\t\t\t\t\t\t\t<i class=\\\"fas fa-chevron-down\\\"><\/i>\\n\t\t\t\t\t\t\t<i class=\\\"fas fa-chevron-up\\\"><\/i>\\n\t\t\t\t\t\t<\/div>\\n\t\t\t\t\t<\/div>\\n\t\t\t\t\t<div class=\\\"info\\\">Analytical cookies are used to analyse the surfing behavior of the visitor. This information is used to optimise the content and flow of the website.<\/div>\\n\t\t\t\t<\/label>\\n\t\t\t<\/div>\\n\t\t<\/div>\\n\t\t<div class=\\\"continue\\\">\\n\t\t\t<button class=\\\"allow_cookies CookiesOK cookie-button ok-cookies cookiemessage__button--accept accept--cookies\\\" name=\\\"accept\\\">Accept and continue<\/button>\\n\t\t<\/div>\\n\t<\/div>\\n<\/div>\";\n},\"useData\":true}"}};mfeScriptsLoaded.mfe = true;mfeCheckInit();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.