/*! algoliasearch 3.3.0 | © 2014, 2015 Algolia SAS | github.com/algolia/algoliasearch-client-js */
(function(C){var c;"undefined"!==typeof window?c=window:"undefined"!==typeof self&&(c=self);c.ALGOLIA_MIGRATION_LAYER=C()})(function(){return function c(h,e,m){function g(d,k){if(!e[d]){if(!h[d]){var p="function"==typeof require&&require;if(!k&&p)return p(d,!0);if(b)return b(d,!0);p=Error("Cannot find module '"+d+"'");throw p.code="MODULE_NOT_FOUND",p;}p=e[d]={exports:{}};h[d][0].call(p.exports,function(b){var k=h[d][1][b];return g(k?k:b)},p,p.exports,c,h,e,m)}return e[d].exports}for(var b="function"==
typeof require&&require,k=0;k<m.length;k++)g(m[k]);return g}({1:[function(c,h,e){function m(b,d){for(var g in d)b.setAttribute(g,d[g])}function g(b,d){b.onload=function(){this.onerror=this.onload=null;d(null,b)};b.onerror=function(){this.onerror=this.onload=null;d(Error("Failed to load "+this.src),b)}}function b(b,d){b.onreadystatechange=function(){if("complete"==this.readyState||"loaded"==this.readyState)this.onreadystatechange=null,d(null,b)}}h.exports=function(k,d,c){var p=document.head||document.getElementsByTagName("head")[0],
e=document.createElement("script");"function"===typeof d&&(c=d,d={});d=d||{};c=c||function(){};e.type=d.type||"text/javascript";e.charset=d.charset||"utf8";e.async="async"in d?!!d.async:!0;e.src=k;d.attrs&&m(e,d.attrs);d.text&&(e.text=""+d.text);("onload"in e?g:b)(e,c);e.onload||g(e,c);p.appendChild(e)}},{}],2:[function(c,h,e){h.exports=function(e){e=new RegExp("cdn\\.jsdelivr\\.net/algoliasearch/latest/"+e.replace(".","\\.")+"(?:\\.min)?\\.js$");for(var g=document.getElementsByTagName("script"),
b=!1,k=0,d=g.length;k<d;k++)if(g[k].src&&e.test(g[k].src)){b=!0;break}return b}},{}],3:[function(c,h,e){(function(e){function g(b){return function(){var k="AlgoliaSearch: loaded V2 script using "+b;e.console&&e.console.log&&e.console.log(k)}}h.exports=function(b){var k=c(1);b="//cdn.jsdelivr.net/algoliasearch/2/"+b+".min.js";e.console&&(e.console.warn?e.console.warn("-- AlgoliaSearch `latest` warning --\nWarning, you are using the `latest` version string from jsDelivr to load the AlgoliaSearch library.\nUsing `latest` is no more recommended, you should load //cdn.jsdelivr.net/algoliasearch/2/algoliasearch.min.js\n\nAlso, we updated the AlgoliaSearch JavaScript client to V3. If you want to upgrade,\nplease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch  `latest` warning --"):
e.console.log&&e.console.log("-- AlgoliaSearch `latest` warning --\nWarning, you are using the `latest` version string from jsDelivr to load the AlgoliaSearch library.\nUsing `latest` is no more recommended, you should load //cdn.jsdelivr.net/algoliasearch/2/algoliasearch.min.js\n\nAlso, we updated the AlgoliaSearch JavaScript client to V3. If you want to upgrade,\nplease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch  `latest` warning --"));
try{document.write("<script>window.ALGOLIA_SUPPORTS_DOCWRITE = true\x3c/script>"),!0===e.ALGOLIA_SUPPORTS_DOCWRITE?(document.write('<script src="'+b+'">\x3c/script>'),g("document.write")()):k(b,g("DOMElement"))}catch(d){k(b,g("DOMElement"))}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{1:1}],4:[function(c,h,e){(function(e){h.exports=function(){e.AlgoliaSearch=function(){throw Error("-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --");
};e.AlgoliaSearchHelper=function(){throw Error("-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --");};AlgoliaExplainResults=function(){throw Error("-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --");
}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],5:[function(c,h,e){h=c(2);e=c(3);c=c(4);h("algoliasearch")?e("algoliasearch"):c()},{2:2,3:3,4:4}]},{},[5])(5)});
(function(C){"object"===typeof exports&&"undefined"!==typeof module?module.exports=C():"function"===typeof define&&define.amd?define([],C):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).algoliasearch=C()})(function(){return function c(h,e,m){function g(d,k){if(!e[d]){if(!h[d]){var p="function"==typeof require&&require;if(!k&&p)return p(d,!0);if(b)return b(d,!0);p=Error("Cannot find module '"+d+"'");throw p.code="MODULE_NOT_FOUND",p;}p=e[d]=
{exports:{}};h[d][0].call(p.exports,function(b){var k=h[d][1][b];return g(k?k:b)},p,p.exports,c,h,e,m)}return e[d].exports}for(var b="function"==typeof require&&require,k=0;k<m.length;k++)g(m[k]);return g}({1:[function(c,h,e){function m(){if(!k){k=!0;for(var d,e=b.length;e;){d=b;b=[];for(var g=-1;++g<e;)d[g]();e=b.length}k=!1}}function g(){}c=h.exports={};var b=[],k=!1;c.nextTick=function(d){b.push(d);k||setTimeout(m,0)};c.title="browser";c.browser=!0;c.env={};c.argv=[];c.version="";c.versions={};
c.on=g;c.addListener=g;c.once=g;c.off=g;c.removeListener=g;c.removeAllListeners=g;c.emit=g;c.binding=function(d){throw Error("process.binding is not supported");};c.cwd=function(){return"/"};c.chdir=function(d){throw Error("process.chdir is not supported");};c.umask=function(){return 0}},{}],2:[function(c,h,e){h.exports=function(e,b,k,d){k=k||"=";var c={};if("string"!==typeof e||0===e.length)return c;var p=/\+/g;e=e.split(b||"&");b=1E3;d&&"number"===typeof d.maxKeys&&(b=d.maxKeys);d=e.length;0<b&&
d>b&&(d=b);for(b=0;b<d;++b){var n=e[b].replace(p,"%20"),h=n.indexOf(k),r;0<=h?(r=n.substr(0,h),n=n.substr(h+1)):(r=n,n="");r=decodeURIComponent(r);n=decodeURIComponent(n);Object.prototype.hasOwnProperty.call(c,r)?m(c[r])?c[r].push(n):c[r]=[c[r],n]:c[r]=n}return c};var m=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],3:[function(c,h,e){function m(d,b){if(d.map)return d.map(b);for(var e=[],k=0;k<d.length;k++)e.push(b(d[k],k));return e}var g=function(d){switch(typeof d){case "string":return d;
case "boolean":return d?"true":"false";case "number":return isFinite(d)?d:"";default:return""}};h.exports=function(d,e,c,h){e=e||"&";c=c||"=";null===d&&(d=void 0);return"object"===typeof d?m(k(d),function(k){var h=encodeURIComponent(g(k))+c;return b(d[k])?m(d[k],function(a){return h+encodeURIComponent(g(a))}).join(e):h+encodeURIComponent(g(d[k]))}).join(e):h?encodeURIComponent(g(h))+c+encodeURIComponent(g(d)):""};var b=Array.isArray||function(d){return"[object Array]"===Object.prototype.toString.call(d)},
k=Object.keys||function(d){var b=[],e;for(e in d)Object.prototype.hasOwnProperty.call(d,e)&&b.push(e);return b}},{}],4:[function(c,h,e){e.decode=e.parse=c(2);e.encode=e.stringify=c(3)},{2:2,3:3}],5:[function(c,h,e){function m(){var b;try{b=g.debug}catch(d){}return b}e=h.exports=c(6);e.log=function(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)};e.formatArgs=function(){var b=arguments,d=this.useColors;b[0]=(d?"%c":"")+this.namespace+(d?
" %c":" ")+b[0]+(d?"%c ":" ")+"+"+e.humanize(this.diff);if(!d)return b;var d="color: "+this.color,b=[b[0],d,"color: inherit"].concat(Array.prototype.slice.call(b,1)),c=0,g=0;b[0].replace(/%[a-z%]/g,function(b){"%%"!==b&&(c++,"%c"===b&&(g=c))});b.splice(g,0,d);return b};e.save=function(b){try{null==b?g.removeItem("debug"):g.debug=b}catch(d){}};e.load=m;e.useColors=function(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||
navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)};var g;if("undefined"!==typeof chrome&&"undefined"!==typeof chrome.storage)g=chrome.storage.local;else a:{try{g=window.localStorage;break a}catch(b){}g=void 0}e.colors="lightseagreen forestgreen goldenrod dodgerblue darkorchid crimson".split(" ");e.formatters.j=function(b){return JSON.stringify(b)};e.enable(m())},{6:6}],6:[function(c,h,e){e=h.exports=function(b){function k(){}function d(){var b=+new Date;d.diff=
b-(g||b);d.prev=g;g=d.curr=b;null==d.useColors&&(d.useColors=e.useColors());null==d.color&&d.useColors&&(d.color=e.colors[m++%e.colors.length]);var c=Array.prototype.slice.call(arguments);c[0]=e.coerce(c[0]);"string"!==typeof c[0]&&(c=["%o"].concat(c));var k=0;c[0]=c[0].replace(/%([a-z%])/g,function(b,a){if("%%"===b)return b;k++;var f=e.formatters[a];"function"===typeof f&&(b=f.call(d,c[k]),c.splice(k,1),k--);return b});"function"===typeof e.formatArgs&&(c=e.formatArgs.apply(d,c));(d.log||e.log||
console.log.bind(console)).apply(d,c)}k.enabled=!1;d.enabled=!0;var c=e.enabled(b)?d:k;c.namespace=b;return c};e.coerce=function(b){return b instanceof Error?b.stack||b.message:b};e.disable=function(){e.enable("")};e.enable=function(b){e.save(b);for(var c=(b||"").split(/[\s,]+/),d=c.length,g=0;g<d;g++)c[g]&&(b=c[g].replace(/\*/g,".*?"),"-"===b[0]?e.skips.push(new RegExp("^"+b.substr(1)+"$")):e.names.push(new RegExp("^"+b+"$")))};e.enabled=function(b){var c,d;c=0;for(d=e.skips.length;c<d;c++)if(e.skips[c].test(b))return!1;
c=0;for(d=e.names.length;c<d;c++)if(e.names[c].test(b))return!0;return!1};e.humanize=c(7);e.names=[];e.skips=[];e.formatters={};var m=0,g},{7:7}],7:[function(c,h,e){function m(b){if(b=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(b)){var c=parseFloat(b[1]);switch((b[2]||"ms").toLowerCase()){case "years":case "year":case "yrs":case "yr":case "y":return 315576E5*c;case "days":case "day":case "d":return 864E5*c;case "hours":case "hour":case "hrs":case "hr":case "h":return 36E5*
c;case "minutes":case "minute":case "mins":case "min":case "m":return 6E4*c;case "seconds":case "second":case "secs":case "sec":case "s":return 1E3*c;case "milliseconds":case "millisecond":case "msecs":case "msec":case "ms":return c}}}function g(b,c,d){if(!(b<c))return b<1.5*c?Math.floor(b/c)+" "+d:Math.ceil(b/c)+" "+d+"s"}h.exports=function(b,c){c=c||{};return"string"==typeof b?m(b):c.long?g(b,864E5,"day")||g(b,36E5,"hour")||g(b,6E4,"minute")||g(b,1E3,"second")||b+" ms":864E5<=b?Math.round(b/864E5)+
"d":36E5<=b?Math.round(b/36E5)+"h":6E4<=b?Math.round(b/6E4)+"m":1E3<=b?Math.round(b/1E3)+"s":b+"ms"}},{}],8:[function(c,h,e){(function(c,e){(function(){function b(a){return"function"===typeof a}function k(){return function(){c.nextTick(n)}}function d(){var a=0,f=new I(n),b=document.createTextNode("");f.observe(b,{characterData:!0});return function(){b.data=a=++a%2}}function v(){var a=new MessageChannel;a.port1.onmessage=n;return function(){a.port2.postMessage(0)}}function p(){return function(){setTimeout(n,
1)}}function n(){for(var a=0;a<z;a+=2)(0,B[a])(B[a+1]),B[a]=void 0,B[a+1]=void 0;z=0}function x(){}function r(a,f,b,l){try{a.call(f,b,l)}catch(d){return d}}function a(a,f,b){D(function(a){var d=!1,c=r(b,f,function(b){d||(d=!0,f!==b?l(a,b):u(a,b))},function(f){d||(d=!0,t(a,f))},"Settle: "+(a._label||" unknown promise"));!d&&c&&(d=!0,t(a,c))},a)}function f(a,f){1===f._state?u(a,f._result):2===a._state?t(a,f._result):E(f,void 0,function(f){l(a,f)},function(f){t(a,f)})}function l(l,d){if(l===d)t(l,new TypeError("You cannot resolve a promise with itself"));
else if("function"===typeof d||"object"===typeof d&&null!==d)if(d.constructor===l.constructor)f(l,d);else{var c;try{c=d.then}catch(e){F.error=e,c=F}c===F?t(l,F.error):void 0===c?u(l,d):b(c)?a(l,d,c):u(l,d)}else u(l,d)}function q(a){a._onerror&&a._onerror(a._result);G(a)}function u(a,f){void 0===a._state&&(a._result=f,a._state=1,0!==a._subscribers.length&&D(G,a))}function t(a,f){void 0===a._state&&(a._state=2,a._result=f,D(q,a))}function E(a,f,b,l){var d=a._subscribers,c=d.length;a._onerror=null;d[c]=
f;d[c+1]=b;d[c+2]=l;0===c&&a._state&&D(G,a)}function G(a){var f=a._subscribers,b=a._state;if(0!==f.length){for(var l,d,c=a._result,e=0;e<f.length;e+=3)l=f[e],d=f[e+b],l?J(b,l,d,c):d(c);a._subscribers.length=0}}function K(){this.error=null}function J(a,f,d,c){var e=b(d),q,g,k,h;if(e){try{q=d(c)}catch(p){H.error=p,q=H}q===H?(h=!0,g=q.error,q=null):k=!0;if(f===q){t(f,new TypeError("A promises callback cannot return that same promise."));return}}else q=c,k=!0;void 0===f._state&&(e&&k?l(f,q):h?t(f,g):
1===a?u(f,q):2===a&&t(f,q))}function N(a,f){try{f(function(f){l(a,f)},function(f){t(a,f)})}catch(b){t(a,b)}}function w(a,f,b,l){this._instanceConstructor=a;this.promise=new a(x,l);this._abortOnReject=b;this._validateInput(f)?(this._input=f,this._remaining=this.length=f.length,this._init(),0===this.length?u(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&u(this.promise,this._result))):t(this.promise,this._validationError())}function y(a){this._id=O++;this._result=
this._state=void 0;this._subscribers=[];if(x!==a){if(!b(a))throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(!(this instanceof y))throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");N(this,a)}}var L=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},z=0,D=function(a,f){B[z]=a;B[z+1]=f;z+=2;2===z&&M()},A=
"undefined"!==typeof window?window:{},I=A.MutationObserver||A.WebKitMutationObserver,A="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel,B=Array(1E3),M;M="undefined"!==typeof c&&"[object process]"==={}.toString.call(c)?k():I?d():A?v():p();var F=new K,H=new K;w.prototype._validateInput=function(a){return L(a)};w.prototype._validationError=function(){return Error("Array Methods must be provided an Array")};w.prototype._init=function(){this._result=
Array(this.length)};w.prototype._enumerate=function(){for(var a=this.length,f=this.promise,b=this._input,l=0;void 0===f._state&&l<a;l++)this._eachEntry(b[l],l)};w.prototype._eachEntry=function(a,f){var b=this._instanceConstructor;"object"===typeof a&&null!==a?a.constructor===b&&void 0!==a._state?(a._onerror=null,this._settledAt(a._state,f,a._result)):this._willSettleAt(b.resolve(a),f):(this._remaining--,this._result[f]=this._makeResult(1,f,a))};w.prototype._settledAt=function(a,f,b){var l=this.promise;
void 0===l._state&&(this._remaining--,this._abortOnReject&&2===a?t(l,b):this._result[f]=this._makeResult(a,f,b));0===this._remaining&&u(l,this._result)};w.prototype._makeResult=function(a,f,b){return b};w.prototype._willSettleAt=function(a,f){var b=this;E(a,void 0,function(a){b._settledAt(1,f,a)},function(a){b._settledAt(2,f,a)})};var O=0;y.all=function(a,f){return(new w(this,a,!0,f)).promise};y.race=function(a,f){function b(a){l(c,a)}function d(a){t(c,a)}var c=new this(x,f);if(!L(a))return t(c,new TypeError("You must pass an array to race.")),
c;for(var e=a.length,q=0;void 0===c._state&&q<e;q++)E(this.resolve(a[q]),void 0,b,d);return c};y.resolve=function(a,f){if(a&&"object"===typeof a&&a.constructor===this)return a;var b=new this(x,f);l(b,a);return b};y.reject=function(a,f){var b=new this(x,f);t(b,a);return b};y.prototype={constructor:y,then:function(a,f){var b=this._state;if(1===b&&!a||2===b&&!f)return this;var l=new this.constructor(x),d=this._result;if(b){var c=arguments[b-1];D(function(){J(b,l,c,d)})}else E(this,l,a,f);return l},"catch":function(a){return this.then(null,
a)}};A={Promise:y,polyfill:function(){var a;a="undefined"!==typeof e?e:"undefined"!==typeof window&&window.document?window:self;"Promise"in a&&"resolve"in a.Promise&&"reject"in a.Promise&&"all"in a.Promise&&"race"in a.Promise&&function(){var f;new a.Promise(function(a){f=a});return b(f)}()||(a.Promise=y)}};"undefined"!==typeof h&&h.exports?h.exports=A:"undefined"!==typeof this&&(this.ES6Promise=A)}).call(this)}).call(this,c(1),"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==
typeof window?window:{})},{1:1}],9:[function(c,h,e){var m=Object.prototype.hasOwnProperty,g=Object.prototype.toString,b=c(10),k=function(b){if(!b||"[object Object]"!==g.call(b))return!1;var c=m.call(b,"constructor"),e=b.constructor&&b.constructor.prototype&&m.call(b.constructor.prototype,"isPrototypeOf");if(b.constructor&&!c&&!e)return!1;for(var k in b);return void 0===k||m.call(b,k)};h.exports=function v(){var c,e,g,h,a,f=arguments[0],l=1,q=arguments.length,u=!1;if("boolean"===typeof f)u=f,f=arguments[1]||
{},l=2;else if("object"!==typeof f&&"function"!==typeof f||null==f)f={};for(;l<q;++l)if(c=arguments[l],null!=c)for(e in c)g=f[e],h=c[e],f!==h&&(u&&h&&(k(h)||(a=b(h)))?(a?(a=!1,g=g&&b(g)?g:[]):g=g&&k(g)?g:{},f[e]=v(u,g,h)):void 0!==h&&(f[e]=h));return f}},{10:10}],10:[function(c,h,e){h.exports=Array.isArray||function(c){return"[object Array]"==Object.prototype.toString.call(c)}},{}],11:[function(c,h,e){var m=Object.prototype.hasOwnProperty,g=Object.prototype.toString;h.exports=function(b,c,d){if("[object Function]"!==
g.call(c))throw new TypeError("iterator must be a function");var e=b.length;if(e===+e)for(var h=0;h<e;h++)c.call(d,b[h],h,b);else for(h in b)m.call(b,h)&&c.call(d,b[h],h,b)}},{}],12:[function(c,h,e){h.exports="function"===typeof Object.create?function(c,e){c.super_=e;c.prototype=Object.create(e.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}})}:function(c,e){c.super_=e;var b=function(){};b.prototype=e.prototype;c.prototype=new b;c.prototype.constructor=c}},{}],13:[function(c,
h,e){(function(e){function g(a,f,l){var d=c(9);if(!a)throw Error("algoliasearch: Please provide an application ID. Usage: algoliasearch(applicationID, apiKey, opts)");if(!f)throw Error("algoliasearch: Please provide an API key. Usage: algoliasearch(applicationID, apiKey, opts)");this.applicationID=a;this.apiKey=f;a=[this.applicationID+"-1.algolianet.com",this.applicationID+"-2.algolianet.com",this.applicationID+"-3.algolianet.com"];this.hosts={read:[],write:[]};this.hostIndex={read:0,write:0};l=l||
{};f=l.protocol||"https:";var e=void 0===l.timeout?2E3:l.timeout;/:$/.test(f)||(f+=":");if("http:"!==l.protocol&&"https:"!==l.protocol)throw Error("algoliasearch: protocol must be `http:` or `https:` (was `"+l.protocol+"`)");l.hosts?(this.hosts.read=d([],l.hosts),this.hosts.write=d([],l.hosts)):(this.hosts.read=[this.applicationID+"-dsn.algolia.net"].concat(a),this.hosts.write=[this.applicationID+".algolia.net"].concat(a));this.hosts.read=b(this.hosts.read,k(f));this.hosts.write=b(this.hosts.write,
k(f));this.requestTimeout=e;this.extraHeaders=[];this.cache={};this._ua=l._ua;this._useCache=void 0===l._useCache?!0:l._useCache;this._setTimeout=l._setTimeout;x("init done, %j",this)}function b(a,f){for(var b=[],c=0;c<a.length;++c)b.push(f(a[c],c));return b}function k(a){return function(f){return a+"//"+f.toLowerCase()}}function d(){throw Error("algoliasearch: Not implemented in this environment.\nIf you feel this is a mistake, write to support@algolia.com");}function v(a,f){var b=a.toLowerCase().replace(".",
"").replace("()","");return"algoliasearch: `"+a+"` was replaced by `"+f+"`. Please see https://github.com/algolia/algoliasearch-client-js/wiki/Deprecated#"+b}function p(a,f){f(a,0)}function n(a,f){var b=!1;return function(){b||(console.log(f),b=!0);return a.apply(this,arguments)}}h.exports=g;"development"===e.env.NODE_ENV&&c(5).enable("algoliasearch*");var x=c(5)("algoliasearch"),r=c(11);g.prototype={deleteIndex:function(a,f){return this._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(a),
hostType:"write",callback:f})},moveIndex:function(a,f,b){f={operation:"move",destination:f};return this._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a)+"/operation",body:f,hostType:"write",callback:b})},copyIndex:function(a,f,b){f={operation:"copy",destination:f};return this._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a)+"/operation",body:f,hostType:"write",callback:b})},getLogs:function(a,f,b){if(0===arguments.length||"function"===typeof a)b=a,a=0,f=10;else if(1===
arguments.length||"function"===typeof f)b=f,f=10;return this._jsonRequest({method:"GET",url:"/1/logs?offset="+a+"&length="+f,hostType:"read",callback:b})},listIndexes:function(a,f){var b="";void 0===a||"function"===typeof a?f=a:b="?page="+a;return this._jsonRequest({method:"GET",url:"/1/indexes"+b,hostType:"read",callback:f})},initIndex:function(a){return new this.Index(this,a)},listUserKeys:function(a){return this._jsonRequest({method:"GET",url:"/1/keys",hostType:"read",callback:a})},getUserKeyACL:function(a,
f){return this._jsonRequest({method:"GET",url:"/1/keys/"+a,hostType:"read",callback:f})},deleteUserKey:function(a,f){return this._jsonRequest({method:"DELETE",url:"/1/keys/"+a,hostType:"write",callback:f})},addUserKey:function(a,f,b){if(1===arguments.length||"function"===typeof f)b=f,f=null;var c={acl:a};f&&(c.validity=f.validity,c.maxQueriesPerIPPerHour=f.maxQueriesPerIPPerHour,c.maxHitsPerQuery=f.maxHitsPerQuery,c.indexes=f.indexes);return this._jsonRequest({method:"POST",url:"/1/keys",body:c,hostType:"write",
callback:b})},addUserKeyWithValidity:n(function(a,f,b){return this.addUserKey(a,f,b)},v("client.addUserKeyWithValidity()","client.addUserKey()")),updateUserKey:function(a,f,b,c){if(2===arguments.length||"function"===typeof b)c=b,b=null;var d={acl:f};b&&(d.validity=b.validity,d.maxQueriesPerIPPerHour=b.maxQueriesPerIPPerHour,d.maxHitsPerQuery=b.maxHitsPerQuery,d.indexes=b.indexes);return this._jsonRequest({method:"PUT",url:"/1/keys/"+a,body:d,hostType:"write",callback:c})},setSecurityTags:function(a){if("[object Array]"===
Object.prototype.toString.call(a)){for(var f=[],b=0;b<a.length;++b)if("[object Array]"===Object.prototype.toString.call(a[b])){for(var c=[],d=0;d<a[b].length;++d)c.push(a[b][d]);f.push("("+c.join(",")+")")}else f.push(a[b]);a=f.join(",")}this.securityTags=a},setUserToken:function(a){this.userToken=a},startQueriesBatch:n(function(){this._batch=[]},v("client.startQueriesBatch()","client.search()")),addQueryInBatch:n(function(a,f,b){this._batch.push({indexName:a,query:f,params:b})},v("client.addQueryInBatch()",
"client.search()")),clearCache:function(){this.cache={}},sendQueriesBatch:n(function(a){return this.search(this._batch,a)},v("client.sendQueriesBatch()","client.search()")),setRequestTimeout:function(a){a&&(this.requestTimeout=parseInt(a,10))},search:function(a,f){var c=this,d={requests:b(a,function(a){var f="";void 0!==a.query&&(f+="query="+encodeURIComponent(a.query));return{indexName:a.indexName,params:c._getSearchParams(a.params,f)}})};return this._jsonRequest({cache:this.cache,method:"POST",
url:"/1/indexes/*/queries",body:d,hostType:"read",callback:f})},destroy:d,enableRateLimitForward:d,disableRateLimitForward:d,useSecuredAPIKey:d,disableSecuredAPIKey:d,generateSecuredApiKey:d,Index:function(a,f){this.indexName=f;this.as=a;this.typeAheadValueOption=this.typeAheadArgs=null;this.cache={}},setExtraHeader:function(a,f){this.extraHeaders.push({name:a.toLowerCase(),value:f})},_sendQueriesBatch:function(a,f){return this._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/*/queries",
body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:function(){for(var f="",b=0;b<a.requests.length;++b)var c="/1/indexes/"+encodeURIComponent(a.requests[b].indexName)+"?"+a.requests[b].params,f=f+(b+"="+encodeURIComponent(c)+"&");return f}()}},callback:f})},_jsonRequest:function(a){function f(c,m){function p(){g.hostIndex[a.hostType]=++g.hostIndex[a.hostType]%g.hosts[a.hostType].length;h+=1;m.timeout=g.requestTimeout*(h+1);return f(c,m)}var n;g._useCache&&(n=a.url);g._useCache&&
d&&(n+="_body_"+m.body);if(g._useCache&&e&&void 0!==e[n])return b("serving response from cache"),g._promise.resolve(e[n]);if(h>=g.hosts[a.hostType].length){if(!a.fallback||!g._request.fallback||k)return g._promise.reject(Error("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue."));h=0;m.method=a.fallback.method;m.url=a.fallback.url;m.jsonBody=a.fallback.body;m.jsonBody&&(m.body=JSON.stringify(a.fallback.body));m.timeout=g.requestTimeout*
(h+1);g.hostIndex[a.hostType]=0;k=g.useFallback=!0;return f(g._request.fallback,m)}return c.call(g,g.hosts[a.hostType][g.hostIndex[a.hostType]]+m.url,{body:d,jsonBody:a.body,method:m.method,headers:g._computeRequestHeaders(),timeout:m.timeout,debug:b}).then(function(a){if(a instanceof Error)return b("error: %s",a.message),p();b("received response: %j",a);var f=a&&a.body&&a.body.message&&a.body.status||a.statusCode||a&&a.body&&200,c=200===f||201===f,f=!c&&4!==Math.floor(f/100)&&1!==Math.floor(f/100);
g._useCache&&c&&e&&(e[n]=a.body);return c?a.body:f?p():g._promise.reject(Error(a.body&&a.body.message||"Unknown error"))},function(d){b("error: %s, stack: %s",d.message,d.stack);g.useFallback?(g.hostIndex[a.hostType]=++g.hostIndex[a.hostType]%g.hosts[a.hostType].length,h+=1):h=g.hosts[a.hostType].length;return f(c,m)})}var b=c(5)("algoliasearch:"+a.url),d,e=a.cache,g=this,h=0,k=!1;void 0!==a.body&&(d=JSON.stringify(a.body));b("request start");var m=g.useFallback&&a.fallback,n=m?a.fallback:a,m=f(m?
g._request.fallback:g._request,{url:n.url,method:n.method,body:d,jsonBody:a.body,timeout:g.requestTimeout*(h+1)});if(a.callback)m.then(function(f){p(function(){a.callback(null,f)},g._setTimeout||setTimeout)},function(f){p(function(){a.callback(f)},g._setTimeout||setTimeout)});else return m},_getSearchParams:function(a,f){if(this._isUndefined(a)||null===a)return f;for(var b in a)null!==b&&a.hasOwnProperty(b)&&(f+=""===f?"":"&",f+=b+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(a[b])?
JSON.stringify(a[b]):a[b]));return f},_isUndefined:function(a){return void 0===a},_computeRequestHeaders:function(){var a={"x-algolia-api-key":this.apiKey,"x-algolia-application-id":this.applicationID,"x-user-agent":this._ua};this.userToken&&(a["x-algolia-usertoken"]=this.userToken);this.securityTags&&(a["x-algolia-tagfilters"]=this.securityTags);this.extraHeaders&&r(this.extraHeaders,function(b){a[b.name]=b.value});return a}};g.prototype.Index.prototype={clearCache:function(){this.cache={}},addObject:function(a,
b,c){if(1===arguments.length||"function"===typeof b)c=b,b=void 0;return this.as._jsonRequest({method:void 0!==b?"PUT":"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+(void 0!==b?"/"+encodeURIComponent(b):""),body:a,hostType:"write",callback:c})},addObjects:function(a,b){for(var c={requests:[]},d=0;d<a.length;++d)c.requests.push({action:"addObject",body:a[d]});return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/batch",body:c,hostType:"write",
callback:b})},getObject:function(a,b,c){if(1===arguments.length||"function"===typeof b)c=b,b=void 0;var d="";if(void 0!==b)for(var d="?attributes=",e=0;e<b.length;++e)0!==e&&(d+=","),d+=b[e];return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(a)+d,hostType:"read",callback:c})},getObjects:function(a,f){var c=this,d={requests:b(a,function(a){return{indexName:c.indexName,objectID:a}})};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",
hostType:"read",body:d,callback:f})},partialUpdateObject:function(a,b){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(a.objectID)+"/partial",body:a,hostType:"write",callback:b})},partialUpdateObjects:function(a,b){for(var c={requests:[]},d=0;d<a.length;++d)c.requests.push({action:"partialUpdateObject",objectID:a[d].objectID,body:a[d]});return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+
"/batch",body:c,hostType:"write",callback:b})},saveObject:function(a,b){return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(a.objectID),body:a,hostType:"write",callback:b})},saveObjects:function(a,b){for(var c={requests:[]},d=0;d<a.length;++d)c.requests.push({action:"updateObject",objectID:a[d].objectID,body:a[d]});return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/batch",body:c,hostType:"write",
callback:b})},deleteObject:function(a,b){if("function"===typeof a||"string"!==typeof a&&"number"!==typeof a){var c=Error("Cannot delete an object without an objectID");b=a;return"function"===typeof b?b(c):this.as._promise.reject(c)}return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(a),hostType:"write",callback:b})},deleteObjects:function(a,f){var c={requests:b(a,function(a){return{action:"deleteObject",objectID:a,body:{objectID:a}}})};
return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/batch",body:c,hostType:"write",callback:f})},deleteByQuery:function(a,f,c){function d(a){return g.waitTask(a.taskID)}function e(){return g.deleteByQuery(a,f)}var g=this,h=g.as;if(1===arguments.length||"function"===typeof f)c=f,f={};f.attributesToRetrieve="objectID";f.hitsPerPage=1E3;this.clearCache();var k=this.search(a,f).then(function(a){if(0===a.nbHits)return a;a=b(a.hits,function(a){return a.objectID});
return g.deleteObjects(a).then(d).then(e)});if(!c)return k;k.then(function(){p(function(){c(null)},h._setTimeout||setTimeout)},function(a){p(function(){c(a)},h._setTimeout||setTimeout)})},search:function(a,b,c){if("function"===typeof a&&"object"===typeof b||"object"===typeof c)throw Error("algoliasearch: index.search usage is index.search(query, params, cb)");if(0===arguments.length||"function"===typeof a)c=a,a="";else if(1===arguments.length||"function"===typeof b)c=b,b=void 0;if("object"===typeof a&&
null!==a)b=a,a=void 0;else if(void 0===a||null===a)a="";var d="";void 0!==a&&(d+="query="+encodeURIComponent(a));void 0!==b&&(d=this.as._getSearchParams(b,d));return this._search(d,c)},browse:function(a,b,c){if(1===arguments.length||"function"===typeof b)c=b,b=void 0;var d="?page="+a;this.as._isUndefined(b)||(d+="&hitsPerPage="+b);return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse"+d,hostType:"read",callback:c})},ttAdapter:function(a){var b=this;
return function(c,d){b.search(c,a,function(a,b){a?d(a):d(b.hits)})}},waitTask:function(a,b){var c=this,d=c.as,e=this.as._jsonRequest({method:"GET",hostType:"read",url:"/1/indexes/"+encodeURIComponent(c.indexName)+"/task/"+a}).then(function(b){return"published"!==b.status?c.as._promise.delay(100).then(function(){return c.waitTask(a)}):b});if(!b)return e;e.then(function(a){p(function(){b(null,a)},d._setTimeout||setTimeout)},function(a){p(function(){b(a)},d._setTimeout||setTimeout)})},clearIndex:function(a){return this.as._jsonRequest({method:"POST",
url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/clear",hostType:"write",callback:a})},getSettings:function(a){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/settings",hostType:"read",callback:a})},setSettings:function(a,b){return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/settings",hostType:"write",body:a,callback:b})},listUserKeys:function(a){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+
encodeURIComponent(this.indexName)+"/keys",hostType:"read",callback:a})},getUserKeyACL:function(a,b){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+a,hostType:"read",callback:b})},deleteUserKey:function(a,b){return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+a,hostType:"write",callback:b})},addUserKey:function(a,b,c){if(1===arguments.length||"function"===typeof b)c=b,b=null;var d={acl:a};
b&&(d.validity=b.validity,d.maxQueriesPerIPPerHour=b.maxQueriesPerIPPerHour,d.maxHitsPerQuery=b.maxHitsPerQuery);return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys",body:d,hostType:"write",callback:c})},addUserKeyWithValidity:n(function(a,b,c){return this.addUserKey(a,b,c)},v("index.addUserKeyWithValidity()","index.addUserKey()")),updateUserKey:function(a,b,c,d){if(2===arguments.length||"function"===typeof c)d=c,c=null;var e={acl:b};c&&(e.validity=
c.validity,e.maxQueriesPerIPPerHour=c.maxQueriesPerIPPerHour,e.maxHitsPerQuery=c.maxHitsPerQuery);return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+a,body:e,hostType:"write",callback:d})},_search:function(a,b){return this.as._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:a},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:a}},
callback:b})},as:null,indexName:null,typeAheadArgs:null,typeAheadValueOption:null}}).call(this,c(1))},{1:1,11:11,5:5,9:9}],14:[function(c,h,e){h.exports=function(c,b,e){function d(){b.debug("JSONP: success");u||a||(u=!0,r||(b.debug("JSONP: Fail. Script loaded but did not call the callback"),p(),e(Error("Failed to load JSONP script"))))}function h(){"loaded"!==this.readyState&&"complete"!==this.readyState||d()}function p(){clearTimeout(t);l.onload=null;l.onreadystatechange=null;l.onerror=null;f.removeChild(l);
try{delete window[q],delete window[q+"_loaded"]}catch(a){window[q]=null,window[q+"_loaded"]=null}}function n(){b.debug("JSONP: Script timeout");a=!0;p();e(Error("Timeout - Could not connect to endpoint "+c))}function x(){b.debug("JSONP: Script error");u||a||(p(),e(Error("Failed to load JSONP script")))}if("GET"!==b.method)e(Error("Method "+b.method+" "+c+" is not supported by JSONP."));else{b.debug("JSONP: start");var r=!1,a=!1;m+=1;var f=document.getElementsByTagName("head")[0],l=document.createElement("script"),
q="algoliaJSONP_"+m,u=!1;window[q]=function(b){try{delete window[q]}catch(c){window[q]=void 0}a||(r=!0,p(),e(null,{body:b}))};c+="&callback="+q;b.jsonBody&&b.jsonBody.params&&(c+="&"+b.jsonBody.params);var t=setTimeout(n,b.timeout);l.onreadystatechange=h;l.onload=d;l.onerror=x;l.async=!0;l.defer=!0;l.src=c;f.appendChild(l)}};var m=0},{}],15:[function(c,h,e){(function(e){function g(a,d,e){var h=c(9),k=c(16);e=h(!0,{},e)||{};void 0===e.protocol&&(e.protocol=k());e._ua=g.ua;return new b(a,d,e)}function b(){v.apply(this,
arguments)}h.exports=g;var k=c(12),d=e.Promise||c(8).Promise,v=c(13),p=c(17),n=c(14);g.version=c(18);g.ua="Algolia for vanilla JavaScript "+g.version;var x="XDomainRequest"in window,r="withCredentials"in new XMLHttpRequest,a="timeout"in new XMLHttpRequest;k(b,v);b.prototype._request=function(b,c){return new d(function(d,e){function g(){if(!w){a||clearTimeout(v);var b=null;try{b=JSON.parse(n.responseText)}catch(c){}d({body:b,statusCode:n.status})}}function h(b){w||(a||clearTimeout(v),e(Error("Could not connect to host, error was:"+
b)))}function k(){a||(w=!0,n.abort());d(Error("Timeout - Could not connect to endpoint "+b))}if(r||x){b=p(b,c.headers);var m=c.body,n=r?new XMLHttpRequest:new XDomainRequest,v,w;n instanceof XMLHttpRequest?n.open(c.method,b,!0):n.open(c.method,b);r&&m&&"GET"!==c.method&&n.setRequestHeader("content-type","application/x-www-form-urlencoded");n.onprogress=function(){};n.onload=g;n.onerror=h;a?(n.timeout=c.timeout,n.ontimeout=k):v=setTimeout(k,c.timeout);n.send(m)}else e(Error("CORS not supported"))})};
b.prototype._request.fallback=function(a,b){a=p(a,b.headers);return new d(function(c,d){n(a,b,function(a,b){a?d(a):c(b)})})};b.prototype._promise={reject:function(a){return d.reject(a)},resolve:function(a){return d.resolve(a)},delay:function(a){return new d(function(b){setTimeout(b,a)})}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{12:12,13:13,14:14,16:16,17:17,18:18,8:8,9:9}],16:[function(c,h,e){(function(c){h.exports=function(){var e=
c.document.location.protocol;"http:"!==e&&"https:"!==e&&(e="http:");return e}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],17:[function(c,h,e){h.exports=function(c,b){c=/\?/.test(c)?c+"&":c+"?";return c+m.encode(b)};var m=c(4)},{4:4}],18:[function(c,h,e){h.exports="3.3.0"},{}]},{},[15])(15)});
