kyper-matter
Version:
Library to provide simple application functionality like authentication and local/session/token storage for Tesselate applications.
2 lines • 62.3 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Matter=e():t.Matter=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(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}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var u=r(160),a=o(u),s=r(157),c=o(s),f=r(1),l=o(f),p=r(171),d=o(p),h=r(9),v=o(h),g=r(2),b=o(g),y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},m=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),j=r(12),x=o(j),w=r(3),_=o(w),k=r(36),O=n(k),A=r(38),P=n(A),M=r(70),U=n(M),E=r(39),S=o(E),I=r(37),T=n(I),C=function(){function t(e,r){if(i(this,t),!e)throw _["default"].error({description:"Project name required to use Matter.",func:"constructor",obj:"Matter"}),new Error("Project name is required to use Matter");(0,b["default"])(e)?(this.name=e.name,this.owner=e.owner||null):this.name=e,r&&(this.options=r,x["default"].applySettings(r)),_["default"].debug({description:"Matter object built.",matter:this,func:"constructor",obj:"Matter"})}return m(t,[{key:"signup",value:function(t){var e=this;return _["default"].debug({description:"Signup called.",signupData:t,func:"signup",obj:"Matter"}),t?(0,v["default"])(t)?this.authUsingProvider(t):t.username&&t.email?t.password?P.post(this.endpoint+"/signup",t).then(function(t){return t.token&&(e.token.string=t.token),t.user&&(e.currentUser=t.user),_["default"].info({description:"Signup successful.",user:e.currentUser,func:"signup",obj:"Matter"}),e.currentUser})["catch"](function(e){return _["default"].error({description:"Error requesting signup.",error:e,signupData:t,func:"signup",obj:"Matter"}),Promise.reject(e)}):(_["default"].error({description:"Password is required to signup.",func:"signup",obj:"Matter"}),Promise.reject({message:"Password is required to signup.",status:"PASS_REQUIRED"})):(_["default"].error({description:"Email and Username required to signup.",func:"signup",obj:"Matter"}),Promise.reject({message:"Email and Username required to signup.",status:"EMPTY_DATA"})):(_["default"].error({description:"Signup information is required to signup.",func:"signup",obj:"Matter"}),Promise.reject({message:"Signup data is required to signup.",status:"NULL_DATA"}))}},{key:"login",value:function(t){var e=this;return t&&((0,b["default"])(t)||(0,v["default"])(t))?(0,v["default"])(t)?this.authUsingProvider(t):t.username||t.email?t.password&&""!==t.password?P.put(this.endpoint+"/login",t).then(function(t){return t.data&&t.data.status&&409===t.data.status?(_["default"].error({description:"User not found.",response:t,func:"login",obj:"Matter"}),Promise.reject(t.data)):(t.token&&(e.token.string=t.token),t.user&&(e.currentUser=t.user),_["default"].info({description:"Successful login.",user:e.currentUser,func:"login",obj:"Matter"}),e.currentUser)})["catch"](function(t){return _["default"].error({description:"Error requesting login.",error:t,func:"login",obj:"Matter"}),409!==t.status&&400!==t.status||(t=t.response.text),Promise.reject(t)}):Promise.reject({message:"Password is required to login.",status:"PASS_REQUIRED"}):(_["default"].error({description:"Email or Username required to login.",func:"login",obj:"Matter"}),Promise.reject({message:"Email or Username required to login.",status:"ID_REQUIRED"})):(_["default"].error({description:"Username/Email and Password are required to login",func:"login",obj:"Matter"}),Promise.reject({message:"Login data is required to login.",status:"DATA_REQUIRED"}))}},{key:"logout",value:function(){var t=this;return this.isLoggedIn?P.put(this.endpoint+"/logout").then(function(e){return _["default"].info({description:"Logout successful.",response:e,func:"logout",obj:"Matter"}),t.currentUser=null,t.token["delete"](),e})["catch"](function(e){return _["default"].error({description:"Error requesting log out: ",error:e,func:"logout",obj:"Matter"}),t.storage.removeItem(x["default"].tokenUserDataName),t.token["delete"](),Promise.reject(e)}):(_["default"].warn({description:"No logged in account to log out.",func:"logout",obj:"Matter"}),Promise.reject({message:"No logged in account to log out.",status:"NULL_ACCOUNT"}))}},{key:"authUsingProvider",value:function(t){var e=this;return t?U.authWithServer(t).then(function(t){return _["default"].info({description:"Provider login successful.",response:t,func:"authUsingProvider",obj:"Matter"}),t&&t.token&&(e.token.string=t.token),(t&&t.user||t.data)&&(e.currentUser=t.data||t.user),e.currentUser},function(t){return _["default"].error({description:"Provider signup error.",error:t,func:"authUsingProvider",obj:"Matter"}),Promise.reject(t)}):(_["default"].info({description:"Provider required to sign up.",func:"authUsingProvider",obj:"Matter"}),Promise.reject({message:"Provider data is required to signup."}))}},{key:"getCurrentUser",value:function(){var t=this;return this.currentUser?(_["default"].debug({description:"Current is already available. Returning user.",func:"currentUser",obj:"Matter"}),Promise.resolve(this.currentUser)):this.isLoggedIn?P.get(this.endpoint+"/user").then(function(e){return _["default"].log({description:"Current User Request responded.",response:e,func:"currentUser",obj:"Matter"}),t.currentUser=e,e})["catch"](function(t){return 401===t.status?(_["default"].warn({description:"Called for current user without token.",error:t,func:"currentUser",obj:"Matter"}),S["default"]["delete"](),Promise.resolve(null)):(_["default"].error({description:"Error requesting current user.",error:t,func:"currentUser",obj:"Matter"}),Promise.reject(t))}):(_["default"].debug({description:"Current user is null.",func:"currentUser",obj:"Matter"}),Promise.resolve(null))}},{key:"updateAccount",value:function(t){var e=this;return this.isLoggedIn?t?P.put(this.endpoint+"/users/"+this.currentUser.username,t).then(function(t){return _["default"].info({description:"Update profile request responded.",response:t,func:"updateAccount",obj:"Matter"}),e.currentUser=t,t})["catch"](function(t){return _["default"].error({description:"Error requesting current user.",error:t,func:"updateAccount",obj:"Matter"}),Promise.reject(t)}):(_["default"].error({description:"Data is required to update profile.",func:"updateAccount",obj:"Matter"}),Promise.reject({message:"Data required to update account.",status:"NULL_DATA"})):(_["default"].error({description:"No current user profile to update.",func:"updateAccount",obj:"Matter"}),Promise.reject({message:"Must be logged in to update account."}))}},{key:"uploadAvatar",value:function(t){if(!this.isLoggedIn)return _["default"].error({description:"Must be logged in to upload an image.",func:"uploadAvatar",obj:"Matter"}),Promise.reject({message:"Must be logged in to upload image."});if(!t)return _["default"].error({description:"File is required to upload Avatar.",func:"uploadAvatar",obj:"Matter"}),Promise.reject({message:"Data required to update profile.",status:"NULL_DATA"});var e={files:[{key:"image",file:t}]};return P.put(this.endpoint+"/users/"+this.currentUser.username+"/avatar",e)}},{key:"changePassword",value:function(t){return this.isLoggedIn?P.put(this.endpoint+"/user/password",t):(_["default"].error({description:"No current user profile for which to change password.",func:"changePassword",obj:"Matter"}),Promise.reject({message:"Must be logged in to change password."}))}},{key:"recoverAccount",value:function(t){if(!t)return _["default"].error({description:"Account data is required to recover an account.",func:"recoverAccount",obj:"Matter"}),Promise.reject({message:"Account data is required to recover an account."});var e={};return e=(0,v["default"])(t)?-1!==t.indexOf("@")?{email:t}:{username:t}:t,_["default"].debug({description:"Requesting recovery of account.",account:e,func:"recoverAccount",obj:"Matter"}),P.put(this.endpoint+"/user/recover",e)}},{key:"isInGroup",value:function(t){var e=this;if(!this.isLoggedIn)return _["default"].error({description:"No logged in user to check for groups.",func:"isInGroup",obj:"Matter"}),!1;if(!t)return _["default"].log({description:"Invalid group(s).",func:"isInGroup",obj:"Matter"}),!1;if((0,v["default"])(t)){var r=function(){var r=t,n=r.split(",");if(n.length>1)return _["default"].info({description:"String list of groups.",list:n,func:"isInGroup",obj:"Matter"}),{v:e.isInGroups(n)};var o=e.token.data.groups||[];return _["default"].log({description:"Checking if user is in group.",group:r,userGroups:e.token.data.groups,func:"isInGroup",obj:"Matter"}),{v:(0,d["default"])(o,function(t){return r===t.name})}}();if("object"===("undefined"==typeof r?"undefined":y(r)))return r.v}return(0,l["default"])(t)?this.isInGroups(t):!1}},{key:"isInGroups",value:function(t){var e=this;if(!this.isLoggedIn)return _["default"].log({description:"No logged in user to check.",func:"isInGroups",obj:"Matter"}),!1;if(!t)return _["default"].log({description:"Invalid group(s).",func:"isInGroup",obj:"Matter"}),!1;if((0,l["default"])(t))return(0,c["default"])(t.map(function(t){return(0,v["default"])(t)?e.isInGroup(t):(0,a["default"])(t,"name")?e.isInGroup(t.name):(_["default"].error({description:"Invalid group object.",group:t,func:"isInGroups",obj:"Matter"}),!1)}),!0);if((0,v["default"])(t)){var r=t.split(",");return r.length>1?this.isInGroups(r):this.isInGroup(r[0])}return _["default"].error({description:"Invalid groups list.",func:"isInGroups",obj:"Matter"}),!1}},{key:"isLoggedIn",get:function(){return(0,v["default"])(this.token.string)}},{key:"endpoint",get:function(){return"undefined"!=typeof window&&(0,a["default"])(window,"location")&&-1!==window.location.host.indexOf("tessellate")?(_["default"].info({description:"App is Tessellate and Host is Tessellate Server, serverUrl simplified!",func:"endpoint",obj:"Matter"}),""):"tessellate"!==this.name?this.owner?x["default"].serverUrl+"/users/"+this.owner+"/projects/"+this.name:x["default"].serverUrl+"/projects/"+this.name:x["default"].serverUrl}},{key:"currentUser",set:function(t){_["default"].debug({description:"Current User set.",user:t,func:"currentUser",obj:"Matter"}),T.setItem(x["default"].tokenUserDataName,t)},get:function(){return this.storage.getItem(x["default"].tokenUserDataName)?this.storage.getItem(x["default"].tokenUserDataName):null}},{key:"storage",get:function(){return T}},{key:"token",get:function(){return S["default"]}},{key:"utils",get:function(){return{logger:_["default"],request:P,storage:T,dom:O}}}]),t}();e["default"]=C,t.exports=e["default"]},function(t,e){var r=Array.isArray;t.exports=r},function(t,e){function r(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}t.exports=r},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){return t&&console[t]?console[t].apply(console,e):console.log.apply(console,e)}function i(t){var e="",r={};return(0,v["default"])(t)?!function(){t.func&&(e+=t.obj?"["+t.obj+"."+t.func+"()]\n ":t.file?"["+t.file+" > "+t.func+"()]\n ":"["+t.func+"()]\n ");var n=["func","obj","file"];(0,d["default"])((0,l["default"])((0,c["default"])(t),n),function(o){if(-1===n.indexOf(o)){if("description"===o||"message"===o)return e+=t[o];r[o]=t[o]}}),e+="\n"}():(0,a["default"])(t)&&(e=t),[e,r]}Object.defineProperty(e,"__esModule",{value:!0});var u=r(9),a=n(u),s=r(10),c=n(s),f=r(169),l=n(f),p=r(156),d=n(p),h=r(2),v=n(h),g=r(12),b=n(g),y={log:function(t){var e=i(t);"trace"===b["default"].logLevel&&o("log",e)},debug:function(t){var e=i(t);"trace"!==b["default"].logLevel&&"debug"!==b["default"].logLevel||o("debug",e)},info:function(t){if("trace"===b["default"].logLevel||"debug"===b["default"].logLevel||"info"===b["default"].logLevel){var e=i(t);o("info",e)}},warn:function(t){var e=i(t);"trace"!==b["default"].logLevel&&"debug"!==b["default"].logLevel&&"info"!==b["default"].logLevel&&"warn"!==b["default"].logLevel||o("warn",e)},error:function(t){var e=i(t);"trace"!==b["default"].logLevel&&"debug"!==b["default"].logLevel&&"info"!==b["default"].logLevel&&"warn"!==b["default"].logLevel&&"error"!==b["default"].logLevel&&"fatal"!==b["default"].logLevel||o("error",e)}};e["default"]=y,t.exports=e["default"]},function(t,e,r){(function(t,n){var o=r(116),i={"function":!0,object:!0},u=i[typeof e]&&e&&!e.nodeType?e:void 0,a=i[typeof t]&&t&&!t.nodeType?t:void 0,s=o(u&&a&&"object"==typeof n&&n),c=o(i[typeof self]&&self),f=o(i[typeof window]&&window),l=o(i[typeof this]&&this),p=s||f!==(l&&l.window)&&f||c||l||Function("return this")();t.exports=p}).call(e,r(67)(t),function(){return this}())},function(t,e){function r(t){return!!t&&"object"==typeof t}t.exports=r},function(t,e,r){var n=r(17),o=r(4),i=n(o,"Map");t.exports=i},function(t,e){function r(t){var e=typeof t;return"number"==e||"boolean"==e||"string"==e&&"__proto__"!=t||null==t}t.exports=r},function(t,e,r){function n(t){var e=o(t)?s.call(t):"";return e==i||e==u}var o=r(2),i="[object Function]",u="[object GeneratorFunction]",a=Object.prototype,s=a.toString;t.exports=n},function(t,e,r){function n(t){return"string"==typeof t||!o(t)&&i(t)&&s.call(t)==u}var o=r(1),i=r(5),u="[object String]",a=Object.prototype,s=a.toString;t.exports=n},function(t,e,r){function n(t){var e=c(t);if(!e&&!a(t))return i(t);var r=u(t),n=!!r,f=r||[],l=f.length;for(var p in t)!o(t,p)||n&&("length"==p||s(p,l))||e&&"constructor"==p||f.push(p);return f}var o=r(27),i=r(100),u=r(60),a=r(11),s=r(19),c=r(32);t.exports=n},function(t,e,r){function n(t){return null!=t&&!("function"==typeof t&&i(t))&&u(o(t))}var o=r(131),i=r(8),u=r(23);t.exports=n},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=r(158),u=n(i),a=r(168),s=n(a),c=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),f={envs:{local:{serverUrl:"http://localhost:4000",logLevel:"trace"},dev:{serverUrl:"http://tessellate-stage.elasticbeanstalk.com",logLevel:"debug"},stage:{serverUrl:"http://tessellate-stage.elasticbeanstalk.com",logLevel:"info"},prod:{serverUrl:"http://tessellate.elasticbeanstalk.com",logLevel:"error"}},tokenName:"tessellate",tokenDataName:"tessellate-tokenData",tokenUserDataName:"tessellate-currentUser",oauthioKey:"sxwuB9Gci8-4pBH7xjD0V_jooNU",oauthioCDN:"https://s3.amazonaws.com/kyper-cdn/js/libs/oauthio-web/v0.5.0/oauth.min.js"},l=null,p="prod",d=null,h=function(){function t(){return o(this,t),l||((0,s["default"])(this,f),l=this),l}return c(t,[{key:"applySettings",value:function(t){t&&(0,s["default"])(this,t)}},{key:"serverUrl",get:function(){if("undefined"!=typeof window&&window.location&&window.location.host&&""!==window.location.host){var t=(0,u["default"])(f.envs,function(t){return t.serverUrl===window.location.host});if(t)return""}return f.envs[this.envName].serverUrl}},{key:"logLevel",set:function(t){d=t},get:function(){return d?d:f.envs[this.envName].logLevel}},{key:"envName",set:function(t){p=t},get:function(){return p}},{key:"env",get:function(){return f.envs[this.envName]?f.envs[this.envName]:void 0}}]),t}(),v=new h;e["default"]=v,t.exports=e["default"]},function(t,e,r){function n(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}var o=r(149),i=r(150),u=r(151),a=r(152),s=r(153);n.prototype.clear=o,n.prototype["delete"]=i,n.prototype.get=u,n.prototype.has=a,n.prototype.set=s,t.exports=n},function(t,e){function r(t,e){for(var r=-1,n=t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}t.exports=r},function(t,e,r){function n(t,e){for(var r=t.length;r--;)if(o(t[r][0],e))return r;return-1}var o=r(21);t.exports=n},function(t,e,r){var n=r(50),o=r(126),i=o(n);t.exports=i},function(t,e,r){function n(t,e){var r=null==t?void 0:t[e];return o(r)?r:void 0}var o=r(164);t.exports=n},function(t,e){function r(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(r){}return e}t.exports=r},function(t,e){function r(t,e){return t="number"==typeof t||o.test(t)?+t:-1,e=null==e?n:e,t>-1&&t%1==0&&e>t}var n=9007199254740991,o=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,e,r){var n=r(17),o=n(Object,"create");t.exports=o},function(t,e){function r(t,e){return t===e||t!==t&&e!==e}t.exports=r},function(t,e,r){function n(t){return o(t)&&a.call(t,"callee")&&(!c.call(t,"callee")||s.call(t)==i)}var o=r(33),i="[object Arguments]",u=Object.prototype,a=u.hasOwnProperty,s=u.toString,c=u.propertyIsEnumerable;t.exports=n},function(t,e){function r(t){return"number"==typeof t&&t>-1&&t%1==0&&n>=t}var n=9007199254740991;t.exports=r},function(t,e,r){var n=r(4),o=n.Symbol;t.exports=o},function(t,e){function r(t,e){for(var r=-1,n=t.length;++r<n&&e(t[r],r,t)!==!1;);return t}t.exports=r},function(t,e){function r(t,e,r,n){var o=-1,i=t.length;for(n&&i&&(r=t[++o]);++o<i;)r=e(r,t[o],o,t);return r}t.exports=r},function(t,e){function r(t,e){return o.call(t,e)||"object"==typeof t&&e in t&&null===i(t)}var n=Object.prototype,o=n.hasOwnProperty,i=Object.getPrototypeOf;t.exports=r},function(t,e,r){function n(t){var e=typeof t;return"function"==e?t:null==t?u:"object"==e?a(t)?i(t[0],t[1]):o(t):s(t)}var o=r(102),i=r(103),u=r(64),a=r(1),s=r(170);t.exports=n},function(t,e,r){function n(t,e,r){return o(t,e,r)}var o=r(123);t.exports=n},function(t,e,r){function n(t,e,r){if(!a(r))return!1;var n=typeof e;return("number"==n?i(r)&&u(e,r.length):"string"==n&&e in r)?o(r[e],t):!1}var o=r(21),i=r(11),u=r(19),a=r(2);t.exports=n},function(t,e,r){function n(t,e){return"number"==typeof t?!0:!o(t)&&(u.test(t)||!i.test(t)||null!=e&&t in Object(e))}var o=r(1),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=n},function(t,e,r){function n(t){var e=t&&t.constructor,r=o(e)&&e.prototype||i;return t===r}var o=r(8),i=Object.prototype;t.exports=n},function(t,e,r){function n(t){return i(t)&&o(t)}var o=r(11),i=r(5);t.exports=n},function(t,e,r){function n(t){return i(t)&&o(t.length)&&!!U[S.call(t)]}var o=r(23),i=r(5),u="[object Arguments]",a="[object Array]",s="[object Boolean]",c="[object Date]",f="[object Error]",l="[object Function]",p="[object Map]",d="[object Number]",h="[object Object]",v="[object RegExp]",g="[object Set]",b="[object String]",y="[object WeakMap]",m="[object ArrayBuffer]",j="[object Float32Array]",x="[object Float64Array]",w="[object Int8Array]",_="[object Int16Array]",k="[object Int32Array]",O="[object Uint8Array]",A="[object Uint8ClampedArray]",P="[object Uint16Array]",M="[object Uint32Array]",U={};U[j]=U[x]=U[w]=U[_]=U[k]=U[O]=U[A]=U[P]=U[M]=!0,U[u]=U[a]=U[m]=U[s]=U[c]=U[f]=U[l]=U[p]=U[d]=U[h]=U[v]=U[g]=U[b]=U[y]=!1;var E=Object.prototype,S=E.toString;t.exports=n},function(t,e,r){function n(t){for(var e=-1,r=a(t),n=o(t),s=n.length,f=i(t),l=!!f,p=f||[],d=p.length;++e<s;){var h=n[e];l&&("length"==h||u(h,d))||"constructor"==h&&(r||!c.call(t,h))||p.push(h)}return p}var o=r(101),i=r(60),u=r(19),a=r(32),s=Object.prototype,c=s.hasOwnProperty;t.exports=n},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(){return"undefined"!=typeof window&&"undefined"!=typeof document}function i(t){if(!o())throw f["default"].error({description:"Load CSS only works within browsers.",func:"loadCss",obj:"dom"}),new Error("Document object is required to load assets.");var e=document.createElement("link");return e.rel="stylesheet",e.type="text/css",e.href=t,document.getElementsByTagName("head")[0].insertBefore(e,document.getElementsByTagName("head")[0].firstChild),f["default"].debug({description:"CSS was loaded into document.",element:e,func:"loadCss",obj:"dom"}),e}function u(t){if(!o())throw f["default"].error({description:"Document does not exsist to load assets into.",func:"loadJs",obj:"dom"}),new Error("Document object is required to load assets.");var e=window.document.createElement("script");return e.src=t,e.type="text/javascript",window.document.getElementsByTagName("head")[0].appendChild(e),f["default"].debug({description:"JS was loaded into document.",element:e,func:"loadJs",obj:"dom"}),e}function a(t){if(!o())throw f["default"].error({description:"Document does not exsist to load assets into.",func:"asyncLoadJs",obj:"dom"}),new Error("Document object is required to load assets.");var e=window.document.createElement("script");return e.src=t,e.type="text/javascript",window.document.getElementsByTagName("head")[0].appendChild(e),f["default"].log({description:"JS was loaded into document.",element:e,func:"asyncLoadJs",obj:"dom"}),new Promise(function(t){window.setTimeout(t,200)})}function s(t){if(!o())throw f["default"].error({description:"Browser is required to get query params.",func:"asyncLoadJs",obj:"dom"}),new Error("Query parameters are only available within browsers.");t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+t+"=([^&#]*)"),r=e.exec(window.location.search);return null===r?"":decodeURIComponent(r[1].replace(/\+/g," "))}Object.defineProperty(e,"__esModule",{value:!0}),e.isBrowser=o,e.loadCss=i,e.loadJs=u,e.asyncLoadJs=a,e.getQueryParam=s;var c=r(3),f=n(c)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(){var t="test";if("undefined"!=typeof window&&"undefined"!=typeof window.sessionStorage)try{return window.sessionStorage.setItem(t,"1"),window.sessionStorage.removeItem(t),!0}catch(e){return p["default"].error({description:"Error saving to session storage",error:e,obj:"storage",func:"localExists"}),!1}return!1}function i(t,e){d[t]=e,o()&&((0,f["default"])(e)&&(e=JSON.stringify(e)),window.sessionStorage.setItem(t,e))}function u(t){if(d[t])return d[t];if(o()){var e=window.sessionStorage.getItem(t);if(e){var r=!1,n=null;try{n=JSON.parse(e),r=!0}catch(i){r=!1}if(r)return n}return e}return null}function a(t){if(d[t]&&(d[t]=null),o()&&u(t))try{window.sessionStorage.removeItem(t)}catch(e){p["default"].warn({description:"Error removing item from session storage",error:e,obj:"storage",func:"removeItem"})}}function s(){if(d={},o())try{window.sessionStorage.clear()}catch(t){p["default"].warn({description:"Session storage could not be cleared.",error:t,obj:"storage",func:"removeItem"})}}Object.defineProperty(e,"__esModule",{value:!0});var c=r(2),f=n(c);e.localExists=o,e.setItem=i,e.getItem=u,e.removeItem=a,e.clear=s;var l=r(3),p=n(l),d={}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var r=g["default"].get(t);return e&&r.query(e),r=c(r),s(r)}function i(t,e){var r=e&&e.files?f(e):null,n=g["default"].post(t);return n=c(n),n.send(r||e),s(n)}function u(t,e){var r=e&&e.files?f(e):null,n=g["default"].put(t);return n=c(n),n.send(r||e),s(n)}function a(t,e){var r=g["default"].del(t,e);return r=c(r),s(r)}function s(t){return new Promise(function(e,r){return"function"!=typeof t.end?(p["default"].warn({description:"req.end is not a function",func:"handleResponse"}),r({message:"req.end is not a function"})):void t.end(function(t,n){if(t){401===t.status&&p["default"].warn({description:"Unauthorized. You must be signed into make this request.",func:"handleResponse"});var o=t.response,i=o&&o.body?o.body:t;return p["default"].error({description:"Error in request.",error:i,file:"request",func:"handleResponse"}),r(i||t)}return n.error?(p["default"].error({description:"Error in request.",error:n.error,file:"request",func:"handleResponse"}),r(n.error)):void e(n.body)})})}function c(t){return h["default"].string&&(t=t.set("Authorization","Bearer "+h["default"].string)),t}function f(t){var e=new window.FormData;return t.forEach(function(t){t.key&&t.file&&e.append(t.key||"image",t.file)}),e}Object.defineProperty(e,"__esModule",{value:!0}),e.get=o,e.post=i,e.put=u,e.del=a;var l=r(3),p=n(l),d=r(39),h=n(d),v=r(178),g=n(v)},function(t,e,r){"use strict";function n(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}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t){if(!t||""===t)return null;try{return(0,b["default"])(t)}catch(e){return l["default"].error({description:"Error decoding token.",error:e,func:"decodeToken",file:"token"}),null}}Object.defineProperty(e,"__esModule",{value:!0});var u=r(9),a=o(u),s=r(12),c=o(s),f=r(3),l=o(f),p=r(69),d=n(p),h=r(37),v=n(h),g=r(73),b=o(g),y={get string(){var t=d.getCookie(c["default"].tokenName);return""===t?null:t},get data(){return this.string?v.getItem(c["default"].tokenDataName)?v.getItem(c["default"].tokenDataName):i(this.string):null},set data(t){v.setItem(c["default"].tokenDataName,t),l["default"].debug({description:"Token data was set to session storage.",tokenData:t,func:"data",obj:"token"})},set string(t){if(!(0,a["default"])(t))throw l["default"].log({description:"Token data is not string.",tokenStr:t,func:"string",obj:"token"}),new Error("Token data should be a string");d.setCookie(c["default"].tokenName,t,7),this.data=i(t),l["default"].debug({description:"Token was set to cookies.",func:"string",obj:"token"})},save:function(t){this.string=t},"delete":function(){d.deleteCookie(c["default"].tokenName),v.removeItem(c["default"].tokenDataName),l["default"].log({description:"Token was removed.",func:"delete",obj:"token"})}};e["default"]=y,t.exports=e["default"]},function(t,e,r){function n(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}var o=r(143),i=r(144),u=r(145),a=r(146),s=r(147);n.prototype.clear=o,n.prototype["delete"]=i,n.prototype.get=u,n.prototype.has=a,n.prototype.set=s,t.exports=n},function(t,e,r){var n=r(4),o=n.Uint8Array;t.exports=o},function(t,e){function r(t,e){for(var r=-1,n=t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}t.exports=r},function(t,e,r){function n(t,e,r){(void 0===r||o(t[e],r))&&("number"!=typeof e||void 0!==r||e in t)||(t[e]=r)}var o=r(21);t.exports=n},function(t,e,r){function n(t,e,r){var n=t[e];u.call(t,e)&&o(n,r)&&(void 0!==r||e in t)||(t[e]=r)}var o=r(21),i=Object.prototype,u=i.hasOwnProperty;t.exports=n},function(t,e,r){function n(t,e){var r=o(t,e);if(0>r)return!1;var n=t.length-1;return r==n?t.pop():u.call(t,r,1),!0}var o=r(15),i=Array.prototype,u=i.splice;t.exports=n},function(t,e,r){function n(t,e){var r=o(t,e);return 0>r?void 0:t[r][1]}var o=r(15);t.exports=n},function(t,e,r){function n(t,e){return o(t,e)>-1}var o=r(15);t.exports=n},function(t,e,r){function n(t,e,r){var n=o(t,e);0>n?t.push([e,r]):t[n][1]=r}var o=r(15);t.exports=n},function(t,e,r){function n(t){return o(t)?t:i(t)}var o=r(1),i=r(154);t.exports=n},function(t,e,r){function n(t,e){return t&&o(t,e,i)}var o=r(96),i=r(10);t.exports=n},function(t,e,r){function n(t,e){e=i(e,t)?[e+""]:o(e);for(var r=0,n=e.length;null!=t&&n>r;)t=t[e[r++]];return r&&r==n?t:void 0}var o=r(49),i=r(31);t.exports=n},function(t,e,r){function n(t,e,r){if(e!==e)return o(t,r);for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var o=r(137);t.exports=n},function(t,e,r){function n(t,e,r,a,s){return t===e?!0:null==t||null==e||!i(t)&&!u(e)?t!==t&&e!==e:o(t,e,n,r,a,s)}var o=r(98),i=r(2),u=r(5);t.exports=n},function(t,e){function r(t){return function(e){return null==e?void 0:e[t]}}t.exports=r},function(t,e,r){function n(t){var e=t.constructor,r=new e(t.byteLength),n=new o(r);return n.set(new o(t)),r}var o=r(41);t.exports=n},function(t,e){function r(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}t.exports=r},function(t,e,r){function n(t){return d.call(t)}var o=r(6),i=r(77),u=r(79),a="[object Map]",s="[object Object]",c="[object Set]",f="[object WeakMap]",l=Object.prototype,p=Function.prototype.toString,d=l.toString,h=o?p.call(o):"",v=i?p.call(i):"",g=u?p.call(u):"";(o&&n(new o)!=a||i&&n(new i)!=c||u&&n(new u)!=f)&&(n=function(t){var e=d.call(t),r=e==s?t.constructor:null,n="function"==typeof r?p.call(r):"";if(n)switch(n){case h:return a;case v:return c;case g:return f}return e}),t.exports=n},function(t,e,r){function n(t,e,r){if(null==t)return!1;var n=r(t,e);n||s(e)||(e=o(e),t=p(t,e),null!=t&&(e=l(e),n=r(t,e)));var d=t?t.length:void 0;return n||!!d&&c(d)&&a(e,d)&&(u(t)||f(t)||i(t))}var o=r(49),i=r(22),u=r(1),a=r(19),s=r(31),c=r(23),f=r(9),l=r(167),p=r(148);t.exports=n},function(t,e,r){function n(t,e){return o?void 0!==t[e]:u.call(t,e)}var o=r(20),i=Object.prototype,u=i.hasOwnProperty;t.exports=n},function(t,e,r){function n(t){var e=t?t.length:void 0;return a(e)&&(u(t)||s(t)||i(t))?o(e,String):null}var o=r(110),i=r(22),u=r(1),a=r(23),s=r(9);t.exports=n},function(t,e){function r(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}t.exports=r},function(t,e){function r(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}t.exports=r},function(t,e,r){function n(t,e,r){var n=null==t?void 0:o(t,e);return void 0===n?r:n}var o=r(51);t.exports=n},function(t,e){function r(t){return t}t.exports=r},function(t,e,r){function n(t,e){if("function"!=typeof t)throw new TypeError(u);return e=a(void 0===e?t.length-1:i(e),0),function(){for(var r=arguments,n=-1,i=a(r.length-e,0),u=Array(i);++n<i;)u[n]=r[e+n];switch(e){case 0:return t.call(this,u);case 1:return t.call(this,r[0],u);case 2:return t.call(this,r[0],r[1],u)}var s=Array(e+1);for(n=-1;++n<e;)s[n]=r[n];return s[e]=u,o(t,this,s)}}var o=r(82),i=r(66),u="Expected a function",a=Math.max;t.exports=n},function(t,e,r){function n(t){if(!t)return 0===t?t:0;if(t=o(t),t===i||t===-i){var e=0>t?-1:1;return e*u}var r=t%1;return t===t?r?t-r:t:0}var o=r(172),i=1/0,u=1.7976931348623157e308;t.exports=n},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,r){!function(){var t=e,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=function(){try{document.createElement("$")}catch(t){return t}}();t.btoa||(t.btoa=function(t){for(var e,o,i=0,u=r,a="";t.charAt(0|i)||(u="=",i%1);a+=u.charAt(63&e>>8-i%1*8)){if(o=t.charCodeAt(i+=.75),o>255)throw n;e=e<<8|o}return a}),t.atob||(t.atob=function(t){if(t=t.replace(/=+$/,""),t.length%4==1)throw n;for(var e,o,i=0,u=0,a="";o=t.charAt(u++);~o&&(e=i%4?64*e+o:o,i++%4)?a+=String.fromCharCode(255&e>>(-2*i&6)):0)o=r.indexOf(o);return a})}()},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t){if("undefined"==typeof window||"undefined"==typeof document)return"";for(var e=t+"=",r=document.cookie.split(";"),n=0;n<r.length;n++){for(var o=r[n];" "===o.charAt(0);)o=o.substring(1);try{if((0,s["default"])(o,e))return o.substring(e.length,o.length)}catch(i){return f["default"].warn({description:"Cookie cannot be loaded.",cookieName:t,error:i,func:"getCookie",obj:"cookiesUtil"}),""}}return""}function i(t,e,r){var n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);var o="expires="+n.toUTCString();try{document.cookie=t+"="+e+"; Path=/; "+o}catch(i){f["default"].warn({description:"Cookie cannot be set because browser is not capable.",cookieName:t,func:"setCookie",obj:"cookiesUtil"})}}function u(t){o(t)?(document.cookie=t+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;",f["default"].debug({description:"Cookie deleted.",cookieName:t,func:"deleteCookie"})):f["default"].warn({description:"Cookie cannot be deleted because it does not exist.",
cookieName:t,func:"deleteCookie",obj:"cookiesUtil"})}Object.defineProperty(e,"__esModule",{value:!0});var a=r(162),s=n(a);e.getCookie=o,e.setCookie=i,e.deleteCookie=u;var c=r(3),f=n(c)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t){return i(),(0,a.get)(l["default"].serverUrl+"/stateToken").then(function(e){return new Promise(function(r,n){window.OAuth.popup(t,{state:e.token}).done(function(o){c["default"].info({description:"Result from oauth:",result:o,provider:t,params:e,func:"authWithServer",obj:"providerAuth"}),(0,a.put)(l["default"].serverUrl+"/auth",{provider:t,code:o.code,stateToken:e.token}).then(function(t){c["default"].warn({description:"logged in info",result:t,func:"authWithServer",obj:"providerAuth"}),r(t)},function(t){n(t)})}).fail(function(t){return c["default"].error({description:"error with request",error:t,func:"authWithServer",obj:"providerAuth"}),Promise.reject(t)})})},function(t){return c["default"].error({description:"error with request",error:t,func:"authWithServer",obj:"providerAuth"}),Promise.reject(t)})}function i(){(0,p.isBrowser)()&&window.OAuth&&(console.log("initializing oauth"),window.OAuth.initialize(l["default"].oauthioKey))}function u(){return"undefined"!=typeof window.OAuth?Promise.resolve():(0,p.asyncLoadJs)(l["default"].oauthioCDN).then(function(){window.OAuth&&window.OAuth.initialize(l["default"].oauthioKey)})}Object.defineProperty(e,"__esModule",{value:!0}),e.authWithServer=o;var a=r(38),s=r(3),c=n(s),f=r(12),l=n(f),p=r(36);(0,p.isBrowser)()&&u().then(function(){i()})},function(t,e){function r(t){return t?n(t):void 0}function n(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function r(){this.off(t,r),e.apply(this,arguments)}return r.fn=e,this.on(t,r),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var n,o=0;o<r.length;o++)if(n=r[o],n===e||n.fn===e){r.splice(o,1);break}return this},r.prototype.emit=function(t){this._callbacks=this._callbacks||{};var e=[].slice.call(arguments,1),r=this._callbacks["$"+t];if(r){r=r.slice(0);for(var n=0,o=r.length;o>n;++n)r[n].apply(this,e)}return this},r.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},r.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,r){function n(t){return decodeURIComponent(atob(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}var o=r(68);t.exports=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return n(e)}catch(r){return o.atob(e)}}},function(t,e,r){"use strict";var n=r(72),o=r(74);t.exports=function(t){if(!t)throw new Error("Invalid token specified");return o(n(t.split(".")[1]))}},function(module,exports){module.exports=function(str){var parsed;return parsed="object"==typeof JSON?JSON.parse(str):eval("("+str+")")}},function(t,e,r){function n(){}var o=r(20),i=Object.prototype;n.prototype=o?o(null):i,t.exports=n},function(t,e,r){var n=r(4),o=n.Reflect;t.exports=o},function(t,e,r){var n=r(17),o=r(4),i=n(o,"Set");t.exports=i},function(t,e,r){function n(t){var e=-1,r=t?t.length:0;for(this.__data__=new o;++e<r;)this.push(t[e])}var o=r(40),i=r(115);n.prototype.push=i,t.exports=n},function(t,e,r){var n=r(17),o=r(4),i=n(o,"WeakMap");t.exports=i},function(t,e){function r(t,e){return t.set(e[0],e[1]),t}t.exports=r},function(t,e){function r(t,e){return t.add(e),t}t.exports=r},function(t,e){function r(t,e,r){var n=r.length;switch(n){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}t.exports=r},function(t,e){function r(t,e){for(var r=-1,n=t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}t.exports=r},function(t,e,r){function n(t,e){return!!t.length&&o(t,e,0)>-1}var o=r(52);t.exports=n},function(t,e){function r(t,e,r){for(var n=-1,o=t.length;++n<o;)if(r(e,t[n]))return!0;return!1}t.exports=r},function(t,e){function r(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}t.exports=r},function(t,e,r){function n(t,e){return t&&o(e,i(e),t)}var o=r(29),i=r(10);t.exports=n},function(t,e,r){function n(t){return"function"==typeof t?t:o}var o=r(64);t.exports=n},function(t,e,r){function n(t,e,r,x,w,_){var k;if(r&&(k=w?r(t,x,w,_):r(t)),void 0!==k)return k;if(!m(t))return t;var P=g(t);if(P){if(k=d(t),!e)return f(t,k)}else{var M=p(t),E=M==O||M==A;if(b(t))return c(t,e);if(M==U||M==j||E&&!w){if(y(t))return w?t:{};if(k=v(E?{}:t),!e)return l(t,a(k,t))}else{if(!z[M])return w?t:{};k=h(t,M,e)}}_||(_=new o);var S=_.get(t);return S?S:(_.set(t,k),(P?i:s)(t,function(o,i){u(k,i,n(o,e,r,i,t,_))}),P?k:l(t,k))}var o=r(13),i=r(25),u=r(44),a=r(87),s=r(50),c=r(117),f=r(56),l=r(124),p=r(57),d=r(138),h=r(139),v=r(140),g=r(1),b=r(163),y=r(18),m=r(2),j="[object Arguments]",x="[object Array]",w="[object Boolean]",_="[object Date]",k="[object Error]",O="[object Function]",A="[object GeneratorFunction]",P="[object Map]",M="[object Number]",U="[object Object]",E="[object RegExp]",S="[object Set]",I="[object String]",T="[object Symbol]",C="[object WeakMap]",L="[object ArrayBuffer]",q="[object Float32Array]",D="[object Float64Array]",N="[object Int8Array]",R="[object Int16Array]",B="[object Int32Array]",G="[object Uint8Array]",H="[object Uint8ClampedArray]",F="[object Uint16Array]",$="[object Uint32Array]",z={};z[j]=z[x]=z[L]=z[w]=z[_]=z[q]=z[D]=z[N]=z[R]=z[B]=z[P]=z[M]=z[U]=z[E]=z[S]=z[I]=z[T]=z[G]=z[H]=z[F]=z[$]=!0,z[k]=z[O]=z[C]=!1,t.exports=n},function(t,e,r){function n(t){return o(t)?i(t):{}}var o=r(2),i=Object.create;t.exports=n},function(t,e,r){function n(t,e,r,n){var l=-1,p=i,d=!0,h=t.length,v=[],g=e.length;if(!h)return v;r&&(e=a(e,s(r))),n?(p=u,d=!1):e.length>=f&&(p=c,d=!1,e=new o(e));t:for(;++l<h;){var b=t[l],y=r?r(b):b;if(d&&y===y){for(var m=g;m--;)if(e[m]===y)continue t;v.push(b)}else p(e,y,n)||v.push(b)}return v}var o=r(78),i=r(84),u=r(85),a=r(14),s=r(112),c=r(114),f=200;t.exports=n},function(t,e,r){function n(t,e){var r=!0;return o(t,function(t,n,o){return r=!!e(t,n,o)}),r}var o=r(16);t.exports=n},function(t,e){function r(t,e,r,n){var o;return r(t,function(t,r,i){return e(t,r,i)?(o=n?r:t,!1):void 0}),o}t.exports=r},function(t,e){function r(t,e,r){for(var n=t.length,o=r?n:-1;r?o--:++o<n;)if(e(t[o],o,t))return o;return-1}t.exports=r},function(t,e,r){function n(t,e,r,s){s||(s=[]);for(var c=-1,f=t.length;++c<f;){var l=t[c];e>0&&a(l)&&(r||u(l)||i(l))?e>1?n(l,e-1,r,s):o(s,l):r||(s[s.length]=l)}return s}var o=r(86),i=r(22),u=r(1),a=r(33);t.exports=n},function(t,e,r){var n=r(127),o=n();t.exports=o},function(t,e){function r(t,e){return e in Object(t)}t.exports=r},function(t,e,r){function n(t,e,r,n,g,y){var m=c(t),j=c(e),x=h,w=h;m||(x=s(t),x==d?x=v:x!=v&&(m=l(t))),j||(w=s(e),w==d?w=v:w!=v&&(j=l(e)));var _=x==v&&!f(t),k=w==v&&!f(e),O=x==w;if(O&&!m&&!_)return u(t,e,x,r,n,g);var A=g&p;if(!A){var P=_&&b.call(t,"__wrapped__"),M=k&&b.call(e,"__wrapped__");if(P||M)return r(P?t.value():t,M?e.value():e,n,g,y)}return O?(y||(y=new o),(m?i:a)(t,e,r,n,g,y)):!1}var o=r(13),i=r(128),u=r(129),a=r(130),s=r(57),c=r(1),f=r(18),l=r(34),p=2,d="[object Arguments]",h="[object Array]",v="[object Object]",g=Object.prototype,b=g.hasOwnProperty;t.exports=n},function(t,e,r){function n(t,e,r,n){var s=r.length,c=s,f=!n;if(null==t)return!c;for(t=Object(t);s--;){var l=r[s];if(f&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++s<c;){l=r[s];var p=l[0],d=t[p],h=l[1];if(f&&l[2]){if(void 0===d&&!(p in t))return!1}else{var v=new o,g=n?n(d,h,p,t,e,v):void 0;if(!(void 0===g?i(h,d,n,u|a,v):g))return!1}}return!0}var o=r(13),i=r(53),u=1,a=2;t.exports=n},function(t,e){function r(t){return n(Object(t))}var n=Object.keys;t.exports=r},function(t,e,r){function n(t){t=null==t?t:Object(t);var e=[];for(var r in t)e.push(r);return e}var o=r(76),i=r(142),u=Object.prototype,a=o?o.enumerate:void 0,s=u.propertyIsEnumerable;a&&!s.call({valueOf:1},"valueOf")&&(n=function(t){return i(a(t))}),t.exports=n},function(t,e,r){function n(t){var e=i(t);if(1==e.length&&e[0][2]){var r=e[0][0],n=e[0][1];return function(t){return null==t?!1:t[r]===n&&(void 0!==n||r in Object(t))}}return function(r){return r===t||o(r,t,e)}}var o=r(99),i=r(132);t.exports=n},function(t,e,r){function n(t,e){return function(r){var n=i(r,t);return void 0===n&&n===e?u(r,t):o(e,n,void 0,a|s)}}var o=r(53),i=r(63),u=r(161),a=1,s=2;t.exports=n},function(t,e,r){function n(t,e,r,p,d){if(t!==e){var h=s(e)||f(e)?void 0:l(e);i(h||e,function(i,s){if(h&&(s=i,i=e[s]),c(i))d||(d=new o),a(t,e,s,r,n,p,d);else{var f=p?p(t[s],i,s+"",t,e,d):void 0;void 0===f&&(f=i),u(t,s,f)}})}}var o=r(13),i=r(25),u=r(43),a=r(105),s=r(1),c=r(2),f=r(34),l=r(35);t.exports=n},function(t,e,r){function n(t,e,r,n,v,g,b){var y=t[r],m=e[r],j=b.get(m);if(j)return void o(t,r,j);var x=g?g(y,m,r+"",t,e,b):void 0,w=void 0===x;w&&(x=m,s(m)||d(m)?s(y)?x=y:c(y)?x=u(y):(w=!1,x=i(m,!0)):p(m)||a(m)?a(y)?x=h(y):!l(y)||n&&f(y)?(w=!1,x=i(m,!0)):x=y:w=!1),b.set(m,x),w&&v(x,m,n,g,b),o(t,r,x)}var o=r(43),i=r(89),u=r(56),a=r(22),s=r(1),c=r(33),f=r(8),l=r(2),p=r(165),d=r(34),h=r(174);t.exports=n},function(t,e,r){function n(t,e){return t=Object(t),o(e,function(e,r){return r in t&&(e[r]=t[r]),e},{})}var o=r(26);t.exports=n},function(t,e,r){function n(t){return function(e){return o(e,t)}}var o=r(51);t.exports=n},function(t,e){function r(t,e,r){var n=-1,o=t.length;0>e&&(e=-e>o?0:o+e),r=r>o?o:r,0>r&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i}t.exports=r},function(t,e,r){function n(t,e){var r;return o(t,function(t,n,o){return r=e(t,n,o),!r}),!!r}var o=r(16);t.exports=n},function(t,e){function r(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}t.exports=r},function(t,e,r){function n(t,e){return o(e,function(e){return[e,t[e]]})}var o=r(14);t.exports=n},function(t,e){function r(t){return function(e){return t(e)}}t.exports=r},function(t,e,r){function n(t,e){return o(e,function(e){return t[e]})}var o=r(14);t.exports=n},function(t,e,r){function n(t,e){var r=t.__data__;if(o(e)){var n=r.__data__,u="string"==typeof e?n.string:n.hash;return u[e]===i}return r.has(e)}var o=r(7),i="__lodash_hash_undefined__";t.exports=n},function(t,e,r){function n(t){var e=this.__data__;if(o(t)){var r=e.__data__,n="string"==typeof t?r.string:r.hash;n[t]=i}else e.set(t,i)}var o=r(7),i="__lodash_hash_undefined__";t.exports=n},function(t,e){function r(t){return t&&t.Object===Object?t:null}t.exports=r},function(t,e){function r(t,e){if(e)return t.slice();var r=t.constructor,n=new r(t.length);return t.copy(n),n}t.exports=r},function(t,e,r){function n(t){var e=t.constructor;return i(u(t),o,new e)}var o=r(80),i=r(26),u=r(61);t.exports=n},function(t,e){function r(t){var e=t.constructor,r=new e(t.source,n.exec(t));return r.lastIndex=t.lastIndex,r}var n=/\w*$/;t.exports=r},function(t,e,r){function n(t){var e=t.constructor;return i(u(t),o,new e)}var o=r(81),i=r(26),u=r(62);t.exports=n},function(t,e,r){function n(t){return o?Object(u.call(t)):{}}var o=r(24),i=o?o.prototype:void 0,u=o?i.valueOf:void 0;t.exports=n},function(t,e,r){function n(t,e){var r=t.buffer,n=e?o(r):r,i=t.constructor;return new i(n,t.byteOffset,t.length)}var o=r(55);t.exports=n},function(t,e,r){function n(t,e,r,n){r||(r={});for(var i=-1,u=e.length;++i<u;){var a=e[i],s=n?n(r[a],t[a],a,r,t):t[a];o(r,a,s)}return r}var o=r(44);t.exports=n},function(t,e,r){function n(t,e){return o(t,i(t),e)}var o=r(29),i=r(133);t.exports=n},function(t,e,r){function n(t){return i(function(e,r){var n=-1,i=r.length,u=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(u="function"==typeof u?(i--,u):void 0,a&&o(r[0],r[1],a)&&(u=3>i?void 0:u,i=1),e=Object(e);++n<i;){var s=r[n];s&&t(e,s,n,u)}return e})}var o=r(30),i=r(65);t.exports=n},function(t,e,r){function n(t,e){return function(r,n){if(null==r)return r;if(!o(r))return t(r,n);for(var i=r.length,u=e?i:-1,a=Object(r);(e?u--:++u<i)&&n(a[u],u,a)!==!1;);return r}}var o=r(11);t.exports=n},function(t,e){function r(t){return function(e,r,n){for(var o=-1,i=Object(e),u=n(e),a=u.length;a--;){var s=u[t?a:++o];if(r(i[s],s,i)===!1)break}return e}}t.exports=r},function(t,e,r){function n(t,e,r,n,a,s){var c=-1,f=a&u,l=a&i,p=t.length,d=e.length;if(p!=d&&!(f&&d>p))return!1;var h=s.get(t);if(h)return h==e;var v=!0;for(s.set(t,e);++c<p;){var g=t[c],b=e[c];if(n)var y=f?n(b,g,c,e,t,s):n(g,b,c,t,e,s);if(void 0!==y){if(y)continue;v=!1;break}if(l){if(!o(e,function(t){return g===t||r(g,t,n,a,s)})){v=!1;break}}else if(g!==b&&!r(g,b,n,a,s)){v=!1;break}}return s["delete"](t),v}var o=r(42),i=1,u=2;t.exports=n},function(t,e,r){function n(t,e,r,n,j,w){switch(r){case m:return!(t.byteLength!=e.byteLength||!n(new i(t),new i(e)));case f:case l:return+t==+e;case p:return t.name==e.name&&t.message==e.message;case h:return t!=+t?e!=+e:t==+e;case v:case b:return t==e+"";case d:var _=u;case g:var k=w&c;return _||(_=a),(k||t.size==e.size)&&n(_(t),_(e),j,w|s);case y:return!!o&&x.call(t)==x.call(e)}return!1}var o=r(24),i=r(41),u=r(61),a=r(62),s=1,c=2,f="[object Boolean]",l="[object Date]",p="[object Error]",d="[object Map]",h="[object Number]",v="[object RegExp]",g="[object Set]",b="[object String]",y="[object Symbol]",m="[object ArrayBuffer]",j=o?o.prototype:void 0,x=o?j.valueOf:void 0;t.exports=n},function(t,e,r){function n(t,e,r,n,a,s){var c=a&u,f=i(t),l=f.length,p=i(e),d=p.length;if(l!=d&&!c)return!1;for(var h=l;h--;){var v=f[h];if(!(c?v in e:o(e,v)))return!1}var g=s.get(t);if(g)return g==e;var b=!0;s.set(t,e);for(var y=c;++h<l;){v=f[h];var m=t[v],j=e[v];if(n)var x=c?n(j,m,v,e,t,s):n(m,j,v,t,e,s);if(!(void 0===x?m===j||r(m,j,n,a,s):x)){b=!1;break}y||(y="constructor"==v)}if(b&&!y){var w=t.constructor,_=e.constructor;w!=_&&"constructor"in t&&"constructor"in e&&!("function"==typeof w&&w instanceof w&&"function"==typeof _&&_ instanceof _)&&(b=!1)}return s["delete"](t),b}var o=r(27),i=r(10),u=2;t.exports=n},function(t,e,r){var n=r(54),o=n("length");t.exports=o},function(t,e,r){function n(t){for(var e=i(t),r=e.length;r--;)e[r][2]=o(e[r][1]);return e}var o=r(141),i=r(173);t.exports=n},function(t,e){var r=Object.getOwnPropertySymbols,n=r||function(){return[]};t.exports=n},function(t,e,r){function n(t,e){return o(t,e)&&delete t[e]}var o=r(59);t.exports=n},function(t,e,r){function n(t,e){if(o){var r=t[e];return r===i?void 0:r}return a.call(t,e)?t[e]:void 0}var o=r(20),i="__lodash_hash_undefined__",u=Object.prototype,a=u.hasOwnProperty;t.exports=n},function(t,e,r){function n(t,e,r){t[e]=o&&void 0===r?i:r}var o=r(20),i="__lodash_hash_undefined__";t.exports=n},function(t,e){function r(t,e,r){for(var n=t.length,o=e+(r?0:-1);r?o--:++o<n;){var i=t[o];if(i!==i)return o}return-1}t.exports=r},function(t,e){function r(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&o.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var n=Object.prototype,o=n.hasOwnProperty;t.exports=r},function(t,e,r){function n(t,e,r){var n=t.constructor;switch(e){case y:return o(t);case f:case l:return new n(+t);case m:case j:case x:case w:case _:case k:case O:case A:case P:return c(t,r);case p:return i(t);case d:case g:return new n(t);case h:return u(t);case v:return a(t);case b:return s(t)}}var o=r(55),i=r(118),u=r(119),a=r(120),s=r(121),c=r(122),f="[object Boolean]",l="[object Date]",p="[object Map]",d="[object Number]",h="[object RegExp]",v="[object Set]",g="[object String]",b="[object Symbol]",y="[object ArrayBuffer]",m="[object Float32Array]",j="[object Float64Array]",x="[object Int8Array]",w="[object Int16Array]",_="[object Int32Array]",k="[object Uint8Array]",O="[object Uint8ClampedArray]",A="[object Uint16Array]",P="[object Uint32Array]";t.exports=n},function(t,e,r){function n(t){return i(t.constructor)&&!u(t)?o(a(t)):{}}var o=r(90),i=r(8),u=r(32),a=Object.getPrototypeOf;t.exports=n},function(t,e,r){function n(t){return t===t&&!o(t)}var o=r(2);t.exports=n},function(t,e){function r(t){for(var e,r=[];!(e=t.next()).done;)r.push(e.value);return r}t.exports=r},function(t,e,r){function n(){this.__data__={hash:new o,map:i?new i:[],string:new o}}var o=r(75),i=r(6);t.exports=n},function(t,e,r){function n(t){var e=this.__data__;return a(t)?u("string"==typeof t?e.string:e.hash,t):o?e.map["delete"](t):i(e.map,t)}var o=r(6),i=r(45),u=r(134),a=r(7);t.exports=n},function(t,e,r){function n(t){var e=this.__data__;return a(t)?u("string"==typeof t?e.string:e.hash,t):o?e.map.get(t):i(e.map,t)}var o=r(6),i=r(46),u=r(135),a=r(7);t.exports=n},function(t,e,r){function n(t){var e=this.__data__;return a(t)?u("string"==typeof t?e.string:e.hash,t):o?e.map.has(t):i(e.map,t)}var o=r(6),i=r(47),u=r(59),a=r(7);t.exports=n},function(t,e,r){function n(t,e){var r=this.__data__;return a(t)?u("string"==typeof t?r.string:r.hash,t,e):o?r.map.set(t,e):i(r.map,t,e),this}var o=r(6),i=r(48),u=r(136),a=r(7);t.exports=n},function(t,e,r){function n(t,e){return 1==e.length?t:i(t,o(e,0,-1))}var o=r(108),i=r(63);t.exports=n},function(t,e){function r(){this.__data__={array:[],map:null}}t.exports=r},function(t,e,r){function n(t){var e=this.__data__,r=e.array;return r?o(r,t):e.map["delete"](t)}var o=r(45);t.exports=n},function(t,e,r){function n(t){var e=this.__data__,r=e.array;return r?o(r,t):e.map.get(t)}var o=r(46);t.exports=n},function(t,e,r){function n(t){var e=this.__data__,r=e.array;return r?o(r,t):e.map.has(t)}var o=r(47);t.exports=n},function(t,e,r){function n(t,e){var r=this.__data__,n=r.array;n&&(n.length<u-