Files
Iris/mopidy_iris/static/app.min.js
2020-04-26 22:04:39 +12:00

99 lines
1.0 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=81)}([function(e,t,n){"use strict";e.exports=n(82)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.setWindowTitle=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"SET_WINDOW_TITLE",title:e,play_state:t}},t.setCurrentTrackTransition=function(e){return{type:"SET_CURRENT_TRACK_TRANSITION",current_track_transition:e}},t.setSelectedTracks=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];"string"==typeof e&&(e=[e]);return{type:"SET_SELECTED_TRACKS",keys:e}},t.showContextMenu=function(e){e.e.changedTouches?(e.position_x=e.e.changedTouches[0].clientX,e.position_y=e.e.changedTouches[0].clientY):e.e.touches?(e.position_x=e.e.touches[0].clientX,e.position_y=e.e.touches[0].clientY):(e.position_x=e.e.clientX,e.position_y=e.e.clientY);return{type:"SHOW_CONTEXT_MENU",data:e}},t.setSlimMode=function(e){return{type:"SET_SLIM_MODE",slim_mode:e}},t.setWindowFocus=function(e){return{type:"SET_WINDOW_FOCUS",window_focus:e}},t.hideContextMenu=function(){return{type:"HIDE_CONTEXT_MENU"}},t.removeContextMenu=function(){return{type:"REMOVE_CONTEXT_MENU"}},t.showTouchContextMenu=function(e){return{type:"SHOW_TOUCH_CONTEXT_MENU",data:e}},t.hideTouchContextMenu=function(){return{type:"HIDE_TOUCH_CONTEXT_MENU"}},t.removeTouchContextMenu=function(){return{type:"REMOVE_TOUCH_CONTEXT_MENU"}},t.lazyLoading=function(e){return{type:"LAZY_LOADING",start:e}},t.toggleSidebar=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"toggle",t={type:"TOGGLE_SIDEBAR"};"toggle"!=e&&(t.new_state=e);return t},t.dragStart=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return{type:"DRAG_START",context:t,from_uri:n,victims:r,victims_indexes:a,start_x:e.clientX,start_y:e.clientY}},t.dragActive=function(){return{type:"DRAG_ACTIVE"}},t.dragEnd=function(){return{type:"DRAG_END"}},t.set=function(e){return{type:"UI_SET",data:e}},t.installPrompt=function(e){return{type:"INSTALL_PROMPT",event:e}},t.createBrowserNotification=function(e){return{type:"BROWSER_NOTIFICATION",data:e}},t.createNotification=function(e){e.message&&(e.content=e.message);"shortcut"==e.type&&(e.duration=.4);return{type:"CREATE_NOTIFICATION",notification:r({key:(0,a.generateGuid)(),duration:5,type:"default",title:null,content:null,description:null,sticky:!1,closing:!1,render_content:!1},e)}},t.closeNotification=function(e){return{type:"CLOSE_NOTIFICATION",key:e}},t.removeNotification=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"REMOVE_NOTIFICATION",key:e,manual:t}},t.startLoading=function(e,t){return{type:"START_LOADING",source:t,key:e}},t.stopLoading=function(e){return{type:"STOP_LOADING",key:e}},t.startProcess=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{type:"START_PROCESS",key:e,data:n,content:t,description:r}},t.resumeProcess=function(e){return{type:"RESUME_PROCESS",key:e}},t.updateProcess=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"info";return{type:"UPDATE_PROCESS",key:e,content:t,data:n,description:r,level:a}},t.runProcess=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{type:e,data:t}},t.cancelProcess=function(e){return{type:"CANCEL_PROCESS",key:e}},t.processCancelled=function(e){return{type:"PROCESS_CANCELLED",key:e}},t.processFinished=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"PROCESS_FINISHED",key:e,completionMessage:t}},t.closeProcess=function(e){return{type:"CLOSE_PROCESS",key:e}},t.removeProcess=function(e){return{type:"REMOVE_PROCESS",key:e}};var a=n(4)},function(e,t,n){"use strict";n.r(t),n.d(t,"__DO_NOT_USE__ActionTypes",(function(){return o})),n.d(t,"applyMiddleware",(function(){return _})),n.d(t,"bindActionCreators",(function(){return d})),n.d(t,"combineReducers",(function(){return u})),n.d(t,"compose",(function(){return h})),n.d(t,"createStore",(function(){return s}));var r=n(65),a=function(){return Math.random().toString(36).substring(7).split("").join(".")},o={INIT:"@@redux/INIT"+a(),REPLACE:"@@redux/REPLACE"+a(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+a()}};function i(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function s(e,t,n){var a;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(s)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var l=e,u=t,c=[],d=c,f=!1;function p(){d===c&&(d=c.slice())}function m(){if(f)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return u}function h(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(f)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return p(),d.push(e),function(){if(t){if(f)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,p();var n=d.indexOf(e);d.splice(n,1)}}}function _(e){if(!i(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(f)throw new Error("Reducers may not dispatch actions.");try{f=!0,u=l(u,e)}finally{f=!1}for(var t=c=d,n=0;n<t.length;n++){(0,t[n])()}return e}return _({type:o.INIT}),(a={dispatch:_,subscribe:h,getState:m,replaceReducer:function(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");l=e,_({type:o.REPLACE})}})[r.a]=function(){var e,t=h;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(m())}return n(),{unsubscribe:t(n)}}})[r.a]=function(){return this},e},a}function l(e,t){var n=t&&t.type;return"Given "+(n&&'action "'+String(n)+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function u(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var a=t[r];0,"function"==typeof e[a]&&(n[a]=e[a])}var i,s=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if(void 0===n(void 0,{type:o.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+o.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')}))}(n)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var r=!1,a={},o=0;o<s.length;o++){var u=s[o],c=n[u],d=e[u],f=c(d,t);if(void 0===f){var p=l(u,t);throw new Error(p)}a[u]=f,r=r||f!==d}return r?a:e}}function c(e,t){return function(){return t(e.apply(this,arguments))}}function d(e,t){if("function"==typeof e)return c(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');var n={};for(var r in e){var a=e[r];"function"==typeof a&&(n[r]=c(a,t))}return n}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(n,!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function _(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},a={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=t.map((function(e){return e(a)}));return m({},n,{dispatch:r=h.apply(void 0,o)(n.dispatch)})}}}},function(e,t,n){"use strict";n.r(t);var r=n(20),a=n(0),o=n.n(a),i=n(10),s=n.n(i),l=o.a.createContext(null),u=function(e){function t(t){var n;n=e.call(this,t)||this;var r=t.store;return n.state={storeState:r.getState(),store:r},n}Object(r.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this.subscribe()},n.componentWillUnmount=function(){this.unsubscribe&&this.unsubscribe(),this._isMounted=!1},n.componentDidUpdate=function(e){this.props.store!==e.store&&(this.unsubscribe&&this.unsubscribe(),this.subscribe())},n.subscribe=function(){var e=this,t=this.props.store;this.unsubscribe=t.subscribe((function(){var n=t.getState();e._isMounted&&e.setState((function(e){return e.storeState===n?null:{storeState:n}}))}));var n=t.getState();n!==this.state.storeState&&this.setState({storeState:n})},n.render=function(){var e=this.props.context||l;return o.a.createElement(e.Provider,{value:this.state},this.props.children)},t}(a.Component);u.propTypes={store:s.a.shape({subscribe:s.a.func.isRequired,dispatch:s.a.func.isRequired,getState:s.a.func.isRequired}),context:s.a.object,children:s.a.any};var c=u;var d=n(11),f=n(24),p=n(64),m=n.n(p),h=n(41),_=n.n(h),y=n(46);function v(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,s=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,u=n.methodName,c=void 0===u?"connectAdvanced":u,p=n.renderCountProp,h=void 0===p?void 0:p,v=n.shouldHandleStateChanges,g=void 0===v||v,b=n.storeKey,E=void 0===b?"store":b,k=n.withRef,w=void 0!==k&&k,S=n.forwardRef,O=void 0!==S&&S,T=n.context,A=void 0===T?l:T,C=Object(f.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);_()(void 0===h,"renderCountProp is removed. render counting is built into the latest React dev tools profiling extension"),_()(!w,"withRef is removed. To access the wrapped instance, use a ref on the connected component");var P="To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect";_()("store"===E,"storeKey has been removed and does not do anything. "+P);var x=A;return function(t){var n=t.displayName||t.name||"Component",i=s(n),l=Object(d.a)({},C,{getDisplayName:s,methodName:c,renderCountProp:h,shouldHandleStateChanges:g,storeKey:E,displayName:i,wrappedComponentName:n,WrappedComponent:t}),u=C.pure,f=a.Component;u&&(f=a.PureComponent);var p=function(n){function a(t){var r,a,i,s,l,c,f,p,m,h,y;return r=n.call(this,t)||this,_()(O?!t.wrapperProps[E]:!t[E],"Passing redux store in props has been removed and does not do anything. "+P),r.selectDerivedProps=function(t,n,r,o){if(u&&a===n&&i===t)return s;r===l&&c===o||(l=r,c=o,f=e(r.dispatch,o)),a=n,i=t;var d=f(t,n);return s=d},r.selectChildElement=function(e,t,n){return t===p&&n===m&&y===e||(p=t,m=n,y=e,h=o.a.createElement(e,Object(d.a)({},t,{ref:n}))),h},r.indirectRenderWrappedComponent=r.indirectRenderWrappedComponent.bind(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(r)),r}Object(r.a)(a,n);var s=a.prototype;return s.indirectRenderWrappedComponent=function(e){return this.renderWrappedComponent(e)},s.renderWrappedComponent=function(e){_()(e,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var n,r=e.storeState,a=e.store,o=this.props;O&&(o=this.props.wrapperProps,n=this.props.forwardedRef);var s=this.selectDerivedProps(r,o,a,l);return this.selectChildElement(t,s,n)},s.render=function(){var e=this.props.context&&this.props.context.Consumer&&Object(y.isContextConsumer)(o.a.createElement(this.props.context.Consumer,null))?this.props.context:x;return o.a.createElement(e.Consumer,null,this.indirectRenderWrappedComponent)},a}(f);if(p.WrappedComponent=t,p.displayName=i,O){var v=o.a.forwardRef((function(e,t){return o.a.createElement(p,{wrapperProps:e,forwardedRef:t})}));return v.displayName=i,v.WrappedComponent=t,m()(v,t)}return m()(p,t)}}var g=Object.prototype.hasOwnProperty;function b(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function E(e,t){if(b(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=0;a<n.length;a++)if(!g.call(t,n[a])||!b(e[n[a]],t[n[a]]))return!1;return!0}var k=n(2);function w(e){return function(t,n){var r=e(t,n);function a(){return r}return a.dependsOnOwnProps=!1,a}}function S(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function O(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=S(e);var a=r(t,n);return"function"==typeof a&&(r.mapToProps=a,r.dependsOnOwnProps=S(a),a=r(t,n)),a},r}}var T=[function(e){return"function"==typeof e?O(e):void 0},function(e){return e?void 0:w((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?w((function(t){return Object(k.bindActionCreators)(e,t)})):void 0}];var A=[function(e){return"function"==typeof e?O(e):void 0},function(e){return e?void 0:w((function(){return{}}))}];function C(e,t,n){return Object(d.a)({},n,e,t)}var P=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,a=n.pure,o=n.areMergedPropsEqual,i=!1;return function(t,n,s){var l=e(t,n,s);return i?a&&o(l,r)||(r=l):(i=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return C}}];function x(e,t,n,r){return function(a,o){return n(e(a,o),t(r,o),o)}}function N(e,t,n,r,a){var o,i,s,l,u,c=a.areStatesEqual,d=a.areOwnPropsEqual,f=a.areStatePropsEqual,p=!1;function m(a,p){var m,h,_=!d(p,i),y=!c(a,o);return o=a,i=p,_&&y?(s=e(o,i),t.dependsOnOwnProps&&(l=t(r,i)),u=n(s,l,i)):_?(e.dependsOnOwnProps&&(s=e(o,i)),t.dependsOnOwnProps&&(l=t(r,i)),u=n(s,l,i)):y?(m=e(o,i),h=!f(m,s),s=m,h&&(u=n(s,l,i)),u):u}return function(a,c){return p?m(a,c):(s=e(o=a,i=c),l=t(r,i),u=n(s,l,i),p=!0,u)}}function R(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,a=t.initMergeProps,o=Object(f.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),i=n(e,o),s=r(e,o),l=a(e,o);return(o.pure?N:x)(i,s,l,e,o)}function M(e,t,n){for(var r=t.length-1;r>=0;r--){var a=t[r](e);if(a)return a}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function D(e,t){return e===t}var L,I,j,U,Y,F,H,z,B,G,q,V,W=(j=(I=void 0===L?{}:L).connectHOC,U=void 0===j?v:j,Y=I.mapStateToPropsFactories,F=void 0===Y?A:Y,H=I.mapDispatchToPropsFactories,z=void 0===H?T:H,B=I.mergePropsFactories,G=void 0===B?P:B,q=I.selectorFactory,V=void 0===q?R:q,function(e,t,n,r){void 0===r&&(r={});var a=r,o=a.pure,i=void 0===o||o,s=a.areStatesEqual,l=void 0===s?D:s,u=a.areOwnPropsEqual,c=void 0===u?E:u,p=a.areStatePropsEqual,m=void 0===p?E:p,h=a.areMergedPropsEqual,_=void 0===h?E:h,y=Object(f.a)(a,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),v=M(e,F,"mapStateToProps"),g=M(t,z,"mapDispatchToProps"),b=M(n,G,"mergeProps");return U(V,Object(d.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:v,initMapDispatchToProps:g,initMergeProps:b,pure:i,areStatesEqual:l,areOwnPropsEqual:c,areStatePropsEqual:m,areMergedPropsEqual:_},y))});n.d(t,"Provider",(function(){return c})),n.d(t,"connectAdvanced",(function(){return v})),n.d(t,"ReactReduxContext",(function(){return l})),n.d(t,"connect",(function(){return W}))},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t,n){var r=void 0;return function(){var a=this,o=arguments,i=function(){r=null,n||e.apply(a,o)},s=n&&!r;clearTimeout(r),r=setTimeout(i,t),s&&e.apply(a,o)}},o=function(e,t){var n=0;return function(){var r=(new Date).getTime();if(!(r-n<t))return n=r,e.apply(void 0,arguments)}},i=function(e){var t=document.getElementsByClassName("favicon"),n=!0,r=!1,a=void 0;try{for(var o,i=t[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value,l=document.createElement("link");l.className=s.className,l.rel=s.rel,l.href="/iris/assets/"+e,s.type&&(l.type=s.type),document.head.removeChild(s),document.head.appendChild(l)}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}},s=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.replace("?","").split("&"),o=a.reduce((function(t,n){var a=n.split("="),o=[];return a[0]===e&&(o=a[1].split(",").map((function(e){return decodeURIComponent(e.replace(/\+/g,"%20"))}))),[].concat(r(t),r(o))}),[]);return n&&1===o.length?o[0]:n&&0===o.length?null:o},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"numeric",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;if("numeric"==e){var n=(new Date).valueOf().toString(),r=Math.floor(100*Math.random()).toString();return parseInt(n+r)}var a="x".repeat(t);return a.replace(/[xy]/g,(function(e){var n=16*Math.random()|0;return("x"==e?n:3&n|8).toString(t)}))},u=function(e,t){var n=newProps.pusher.connections.find((function(e){return e.connectionid==newProps.pusher.connectionid}));return n||!1},c=function(e){return!!e&&e.split(":")[0]},d=function(e){if(!e)return null;var t=e.split(":");if("m3u"===t[0])return"playlist";if("iris"===t[0])return t[1];switch(t[1]){case"track":case"artist":case"album":case"playlist":case"genre":return t[1];case"user":return t.length>3&&"playlist"==t[3]?"playlist":t[1];default:return null}},f=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(e&&(t=c(e)),t){case"local":case"m3u":return"folder";case"gmusic":return"google";case"podcast":case"podcast+file":case"podcast+http":case"podcast+https":case"podcast+itunes":return"podcast";case"tunein":case"somafm":case"dirble":return"microphone";default:return t}},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=t.split(":");n[0];switch(e){case"mbid":var r=n.indexOf("mbid");if(r>-1)return n[r+1];break;case"artistid":if("artist"==n[1])return n[2];break;case"albumid":if("album"==n[1])return n[2];break;case"playlistid":if("playlist"==n[1])return n[2];if("user"==n[1]&&"playlist"==n[3])return n[4];break;case"playlistowner":if("user"==n[1]&&"playlist"==n[3])return n[2];break;case"trackid":if("track"==n[1])return n[2];break;case"userid":if("user"==n[1])return n[2];break;case"genreid":if("genre"==n[1])return n[2];break;case"seeds":if("discover"==n[1])return n[2];if("radio"===n[1]){var a=n[2].split(",");return a.map((function(e){return e.replace(/_/gi,":")}))}break;case"searchtype":if("search"==n[1])return n[2];break;case"searchterm":if("search"==n[1])return n[3];break;default:return null}},m=function(e){var t="/"+d(e)+"/";return t+=e=encodeURIComponent(e)},h=function(){return"ontouchstart"in document.documentElement},_=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},y=function(e){return e instanceof Object&&e.constructor===Object},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(var n in e)if(e.hasOwnProperty(n))for(var r=0;r<t.length;r++)if(e[n].includes(t[r]))return!0;return!1},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["jaedb.github.io"],t=window.location.hostname;return e.includes(t)},b=function(e,t){var n=[];t instanceof Array||(t=[t]);for(var r=0;r<t.length;r++)e.hasOwnProperty(t[r])&&n.push(e[t[r]]);return n},E=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=document.getElementById("main");if(t||n.classList.remove("smooth-scroll"),e&&Number.isInteger(e))"function"==typeof n.scrollTo&&(n.scrollTop=e);else if(e){var r=null;"#"==e.charAt(0)?r=document.getElementById(e.substring(1)):"."==e.charAt(0)?(r=document.getElementsByClassName(e.substring(1))).length>0&&(r=r[0]):console.error("Invalid target type '"+e+"'. Must start with '#' or '.'."),r&&"function"==typeof r.scrollIntoView&&r.scrollIntoView()}else n.scrollTop=0;t||n.classList.add("smooth-scroll")},w=function(e){var t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;s.includes("spotify:user:")&&(s=s.replace(/spotify:user:([^:]*?):/i,"spotify:")),t.push(s)}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},S=function(e){return w([e])[0]};t.debounce=a,t.throttle=o,t.setFavicon=i,t.queryString=s,t.generateGuid=l,t.getCurrentPusherConnection=u,t.uriSource=c,t.uriType=d,t.sourceIcon=f,t.getFromUri=p,t.buildLink=m,t.isTouchDevice=h,t.isNumeric=_,t.isObject=y,t.isLoading=v,t.isHosted=g,t.getIndexedRecords=b,t.titleCase=E,t.scrollTo=k,t.upgradeSpotifyPlaylistUris=w,t.upgradeSpotifyPlaylistUri=S,t.default={debounce:a,throttle:o,setFavicon:i,queryString:s,generateGuid:l,getCurrentPusherConnection:u,uriSource:c,uriType:d,sourceIcon:f,getFromUri:p,buildLink:m,isTouchDevice:h,isNumeric:_,isObject:y,isLoading:v,isHosted:g,getIndexedRecords:b,titleCase:E,scrollTo:k,upgradeSpotifyPlaylistUris:w,upgradeSpotifyPlaylistUri:S}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(139));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=e.name,n=e.type,r=e.className,i=e.onClick;if(!t||""===t)return null;var s="icon icon--"+(n||"material")+" "+r;switch(n){case"svg":return a.default.createElement("img",{className:s,src:"/iris/assets/icons/"+t+".svg",onClick:i});case"gif":return a.default.createElement("img",{className:s,src:"/iris/assets/icons/"+t+".gif",onClick:i});case"fontawesome":return a.default.createElement(o.default,{className:s,type:"fontawesome",name:t,onClick:i});case"css":if("playing"===t)return a.default.createElement("i",{className:s+" icon--playing"},a.default.createElement("span",null),a.default.createElement("span",null),a.default.createElement("span",null));break;default:return a.default.createElement("i",{className:s,onClick:i},t)}}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.set=function(e){return{type:"MOPIDY_SET",data:e}},t.setConnection=function(e){return{type:"MOPIDY_SET_CONNECTION",data:e}},t.request=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{type:"MOPIDY_REQUEST",method:e,params:t,response_callback:n,error_callback:r}},t.connect=function(){return{type:"MOPIDY_CONNECT"}},t.connecting=function(){return{type:"MOPIDY_CONNECTING"}},t.disconnect=function(){return{type:"MOPIDY_DISCONNECT"}},t.debug=function(e,t){return{type:"MOPIDY_DEBUG",call:e,value:t}},t.restartStarted=function(){return{type:"MOPIDY_RESTART_STARTED"}},t.restartFinished=function(){return{type:"MOPIDY_RESTART_FINISHED"}},t.upgradeStarted=function(){return{type:"MOPIDY_UPGRADE_STARTED"}},t.upgradeFinished=function(){return{type:"MOPIDY_UPGRADE_FINISHED"}},t.localScanStarted=function(){return{type:"MOPIDY_LOCAL_SCAN_STARTED"}},t.localScanFinished=function(){return{type:"MOPIDY_LOCAL_SCAN_FINISHED"}},t.getPlayState=function(){return{type:"MOPIDY_GET_PLAY_STATE"}},t.play=function(){return{type:"MOPIDY_PLAY"}},t.pause=function(){return{type:"MOPIDY_PAUSE"}},t.stop=function(){return{type:"MOPIDY_STOP"}},t.next=function(){return{type:"MOPIDY_NEXT"}},t.previous=function(){return{type:"MOPIDY_PREVIOUS"}},t.getMute=function(){return{type:"MOPIDY_GET_MUTE"}},t.setMute=function(e){return{type:"MOPIDY_SET_MUTE",mute:e}},t.getVolume=function(){return{type:"MOPIDY_GET_VOLUME"}},t.setVolume=function(e){return{type:"MOPIDY_SET_VOLUME",volume:e}},t.getConsume=function(){return{type:"MOPIDY_GET_CONSUME"}},t.setConsume=function(e){return{type:"MOPIDY_SET_CONSUME",consume:e}},t.getRepeat=function(){return{type:"MOPIDY_GET_REPEAT"}},t.setRepeat=function(e){return{type:"MOPIDY_SET_REPEAT",repeat:e}},t.getRandom=function(){return{type:"MOPIDY_GET_RANDOM"}},t.setRandom=function(e){return{type:"MOPIDY_SET_RANDOM",random:e}},t.getTimePosition=function(){return{type:"MOPIDY_GET_TIME_POSITION"}},t.setTimePosition=function(e){return{type:"MOPIDY_SET_TIME_POSITION",time_position:parseInt(e)}},t.timePosition=function(e){return{type:"MOPIDY_TIME_POSITION",time_position:parseInt(e)}},t.getUriSchemes=function(){return{type:"MOPIDY_GET_URI_SCHEMES"}},t.getCurrentTrack=function(){return{type:"MOPIDY_GET_CURRENT_TRACK"}},t.currentTrackLoaded=function(e){return{type:"MOPIDY_CURRENT_TRACK_LOADED",tl_track:e}},t.getNextTrack=function(){return{type:"MOPIDY_GET_NEXT_TRACK"}},t.clearCurrentTrack=function(){return{type:"CLEAR_CURRENT_TRACK"}},t.getQueue=function(){return{type:"MOPIDY_GET_QUEUE"}},t.changeTrack=function(e){return{type:"MOPIDY_CHANGE_TRACK",tlid:e}},t.playURIs=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"MOPIDY_PLAY_URIS",uris:e,from_uri:t,shuffle:n}},t.playAlbum=function(e){return{type:"MOPIDY_PLAY_ALBUM",uri:e}},t.playPlaylist=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"MOPIDY_PLAY_PLAYLIST",uri:e,shuffle:t}},t.enqueueURIs=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return{type:"MOPIDY_ENQUEUE_URIS",uris:e,from_uri:t,at_position:r,play_next:n,offset:a}},t.enqueueAlbum=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:"MOPIDY_ENQUEUE_ALBUM",uri:e,next:t,at_position:n}},t.enqueuePlaylist=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:"MOPIDY_ENQUEUE_PLAYLIST",uri:e,play_next:t,at_position:n}},t.enqueueURIsBatchDone=function(){return{type:"MOPIDY_ENQUEUE_URIS_BATCH_DONE"}},t.removeTracks=function(e){return{type:"MOPIDY_REMOVE_TRACKS",tlids:e}},t.reorderTracklist=function(e,t){var n=(0,r.createRange)(e);t>n.start&&(t-=n.length);return{type:"MOPIDY_REORDER_TRACKLIST",range_start:n.start,range_length:n.length,insert_before:t}},t.clearTracklist=function(){return{type:"MOPIDY_CLEAR_TRACKLIST"}},t.shuffleTracklist=function(){return{type:"MOPIDY_SHUFFLE_TRACKLIST"}},t.getImages=function(e,t){return{type:"MOPIDY_GET_IMAGES",context:e,uris:t}},t.createPlaylist=function(e,t){return{type:"MOPIDY_CREATE_PLAYLIST",name:e,scheme:t}},t.deletePlaylist=function(e){return{type:"MOPIDY_DELETE_PLAYLIST",uri:e}},t.getLibraryPlaylists=function(){return{type:"MOPIDY_GET_LIBRARY_PLAYLISTS"}},t.getPlaylist=function(e){return{type:"MOPIDY_GET_PLAYLIST",data:{uri:e}}},t.getPlaylists=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"MOPIDY_GET_PLAYLISTS",uris:e,processor:t}},t.getDirectory=function(e){return{type:"MOPIDY_GET_DIRECTORY",uri:e}},t.getTrack=function(e){return{type:"MOPIDY_GET_TRACK",uri:e}},t.getLibraryArtists=function(){return{type:"MOPIDY_GET_LIBRARY_ARTISTS",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},t.clearLibraryArtists=function(){return{type:"MOPIDY_CLEAR_LIBRARY_ARTISTS"}},t.getArtist=function(e){return{type:"MOPIDY_GET_ARTIST",uri:e}},t.getArtists=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"MOPIDY_GET_ARTISTS",uris:e,processor:t}},t.getAlbum=function(e){return{type:"MOPIDY_GET_ALBUM",uri:e}},t.getAlbums=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"MOPIDY_GET_ALBUMS",uris:e,processor:t}},t.getLibraryAlbums=function(){return{type:"MOPIDY_GET_LIBRARY_ALBUMS",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},t.clearLibraryAlbums=function(){return{type:"MOPIDY_CLEAR_LIBRARY_ALBUMS"}},t.runProcessor=function(e){return{type:e}},t.cancelProcessor=function(e){return{type:e+"_CANCEL"}},t.clearSearchResults=function(){return{type:"MOPIDY_CLEAR_SEARCH_RESULTS"}},t.getSearchResults=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100;return{type:"MOPIDY_GET_SEARCH_RESULTS",context:e,query:t,limit:n}},t.getQueueHistory=function(){return{type:"MOPIDY_GET_QUEUE_HISTORY"}};var r=n(9)},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.set=function(e){return{type:"SPOTIFY_SET",data:e}},t.connect=function(){return function(e,t){e({type:"SPOTIFY_CONNECTING"}),e(v())}},t.authorizationGranted=function(e){return e.token_expiry=(new Date).getTime()+e.expires_in,{type:"SPOTIFY_AUTHORIZATION_GRANTED",data:e}},t.revokeAuthorization=function(){return{type:"SPOTIFY_AUTHORIZATION_REVOKED"}},t.refreshingToken=function(){return function(e,t){e({type:"SPOTIFY_TOKEN_REFRESHING"}),y(e,t)}},t.tokenChanged=function(e){return{type:"SPOTIFY_TOKEN_CHANGED",spotify_token:e}},t.importAuthorization=function(e){return{type:"SPOTIFY_IMPORT_AUTHORIZATION",authorization:e}},t.getMe=v,t.getTrack=function(e){return function(t,n){h(t,n,"tracks/"+(0,i.getFromUri)("trackid",e)).then((function(e){t(d.trackLoaded(e))}),(function(e){t(d.handleException("Could not load track",e))}))}},t.getLibraryTracks=function(){return function(e,t){h(e,t,"me/tracks?limit=50").then((function(t){e({type:"SPOTIFY_LIBRARY_TRACKS_LOADED",data:t})}),(function(t){e(d.handleException("Could not get library tracks",t))}))}},t.getFeaturedPlaylists=function(){return function(e,t){e({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:!1});var n=new Date;n.setHours(n.getHours());var a=n.getFullYear(),s=n.getMonth();s<10&&(s="0"+s);var l=n.getDay();l<10&&(l="0"+l);var u=n.getHours();u<10&&(u="0"+u);var c=n.getMinutes();c<10&&(c="0"+c);var f=n.getSeconds();f<10&&(f="0"+f);var p=a+"-"+s+"-"+l+"T"+u+":"+c+":"+f;h(e,t,"browse/featured-playlists?limit=50&country="+t().spotify.country+"&locale="+t().spotify.locale+"timestamp="+p).then((function(n){for(var a=[],s=0;s<n.playlists.items.length;s++)a.push(r({},n.playlists.items[s],{is_completely_loaded:!1,can_edit:t().spotify.me&&n.playlists.items[s].owner.id==t().spotify.me.id,tracks_total:n.playlists.items[s].tracks.total}));e({type:"PLAYLISTS_LOADED",playlists:a}),e({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:{message:n.message,playlists:(0,i.upgradeSpotifyPlaylistUris)((0,o.arrayOf)("uri",n.playlists.items))}})}),(function(t){e(d.handleException("Could not load featured playlists",t))}))}},t.getCategories=function(){return function(e,t){h(e,t,"browse/categories?limit=50&country="+t().spotify.country+"&locale="+t().spotify.locale).then((function(t){e({type:"SPOTIFY_CATEGORIES_LOADED",categories:t.categories.items})}),(function(t){e(d.handleException("Could not load categories",t))}))}},t.getCategory=function(e){return function(t,n){h(t,n,"browse/categories/"+e+"?country="+n().spotify.country+"&locale="+n().spotify.locale).then((function(e){t({type:"SPOTIFY_CATEGORY_LOADED",category:r({uri:"category:"+e.id,playlist_uris:null},e)})}),(function(e){t(d.handleException("Could not load category",e))}))}},t.getCategoryPlaylists=function(e){return function(t,n){h(t,n,"browse/categories/"+e+"/playlists?limit=50&country="+n().spotify.country+"&locale="+n().spotify.locale).then((function(n){t({type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",uri:"category:"+e,playlists:n.playlists})}),(function(e){t(d.handleException("Could not load category playlists",e))}))}},t.getNewReleases=function(){return function(e,t){h(e,t,"browse/new-releases?country="+t().spotify.country+"&limit=50").then((function(t){e({type:"SPOTIFY_NEW_RELEASES_LOADED",data:t})}),(function(t){e(d.handleException("Could not load new releases",t))}))}},t.getURL=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,a){h(r,a,e).then((function(e){r({type:t,key:n,data:e})}),(function(e){r(d.handleException("Could not load URL",e))}))}},t.getMore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return function(a,o){h(a,o,e).then((function(e){t?a(d.loadedMore(t.parent_type,t.parent_key,t.records_type,e,r)):n?(n.data=e,a(n)):a(d.handleException("No callback handler for loading more items"))}),(function(e){a(d.handleException("Could not load more "+callback_action.parent_type+" "+callback_action.records_type+"s",e))}))}},t.clearSearchResults=function(){return{type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}},t.getSearchResults=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return function(i,l){i(f.startProcess("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR","Searching Spotify")),"all"==(e=e.replace(/s+$/,""))&&(e="album,artist,playlist,track");var u="search?q="+t;u+="&type="+e,u+="&country="+l().spotify.country,u+="&limit="+n,h(i,l,u+="&offset="+a).then((function(e){if(void 0!==e.tracks&&i({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",query:t,results:(0,s.formatTracks)(e.tracks.items),more:e.tracks.next}),void 0!==e.artists&&(i({type:"ARTISTS_LOADED",artists:e.artists.items}),i({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",query:t,results:(0,o.arrayOf)("uri",e.artists.items),more:e.artists.next})),void 0!==e.albums&&(i({type:"ALBUMS_LOADED",albums:e.albums.items}),i({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"albums",query:t,results:(0,o.arrayOf)("uri",e.albums.items),more:e.albums.next})),void 0!==e.playlists){var n=[],a=!0,u=!1,c=void 0;try{for(var d,p=e.playlists.items[Symbol.iterator]();!(a=(d=p.next()).done);a=!0){var m=d.value;n.push(r({},(0,s.formatPlaylist)(m),{can_edit:l().spotify.me&&m.owner.id==l().spotify.me.id,tracks_total:m.tracks.total}))}}catch(e){u=!0,c=e}finally{try{!a&&p.return&&p.return()}finally{if(u)throw c}}i({type:"PLAYLISTS_LOADED",playlists:n}),i({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",query:t,results:(0,o.arrayOf)("uri",n),more:e.playlists.next})}i(f.processFinished("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR"))}),(function(e){i(d.handleException("Could not load search results",e))}))}},t.getAutocompleteResults=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["album","artist","playlist","track"];return function(r,a){r({type:"SPOTIFY_AUTOCOMPLETE_LOADING",field_id:e});var o=n.includes("genre");if(o){var i=n.indexOf("genre");n.splice(i,1)}var s="search?q="+t;s+="&type="+n.join(","),s+="&country="+a().spotify.country,h(r,a,s).then((function(n){var i=[];if(o){var s=a().spotify.genres;if(s)for(var l=0;l<s.length;l++)if(s[l].includes(t)){var u=s[l];i.push({name:(u.charAt(0).toUpperCase()+u.slice(1)).replace("-"," "),uri:"spotify:genre:"+u})}}n.artists&&n.artists.items&&r(d.artistsLoaded(n.artists.items)),n.albums&&n.albums.items&&r(d.albumsLoaded(n.albums.items)),n.playlists&&n.playlists.items&&r(d.playlistsLoaded(n.playlists.items)),n.tracks&&n.tracks.items&&r(d.tracksLoaded(n.tracks.items)),r({type:"SPOTIFY_AUTOCOMPLETE_LOADED",field_id:e,results:{artists:n.artists?n.artists.items:[],albums:n.albums?n.albums.items:[],playlists:n.playlists?n.playlists.items:[],tracks:n.tracks?n.tracks.items:[],genres:i}})}),(function(e){r(d.handleException("Could not load autocomplete results",e))}))}},t.clearAutocompleteResults=function(){return{type:"SPOTIFY_AUTOCOMPLETE_CLEAR",field_id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},t.following=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET";return function(n,r){var o=(0,i.uriType)(e),s=void 0,u=void 0,c=null,p=r().core[o+"s"]&&r().core[o+"s"][e];switch("PUT"==t?c=!0:"DELETE"==t&&(c=!1),o){case"track":s="GET"==t?"me/tracks/contains?ids="+(0,i.getFromUri)("trackid",e):"me/tracks?ids="+(0,i.getFromUri)("trackid",e);break;case"album":s="GET"==t?"me/albums/contains?ids="+(0,i.getFromUri)("albumid",e):"me/albums?ids="+(0,i.getFromUri)("albumid",e);break;case"artist":"GET"==t?s="me/following/contains?type=artist&ids="+(0,i.getFromUri)("artistid",e):(s="me/following?type=artist&ids="+(0,i.getFromUri)("artistid",e),u={});break;case"user":"GET"==t?s="me/following/contains?type=user&ids="+(0,i.getFromUri)("userid",e):(s="me/following?type=user&ids="+(0,i.getFromUri)("userid",e),u={});break;case"playlist":s="GET"==t?"playlists/"+(0,i.getFromUri)("playlistid",e)+"/followers/contains?ids="+r().spotify.me.id:"playlists/"+(0,i.getFromUri)("playlistid",e)+"/followers?"}h(n,r,s,t,u).then((function(r){c=Array.isArray(r)&&r.length>0?r[0]:c,n({type:"SPOTIFY_LIBRARY_"+o.toUpperCase()+"_CHECK",key:e,in_library:c}),"DELETE"===t?n(f.createNotification({content:a.default.createElement("span",null,"Removed ",a.default.createElement(l.default,{uri:e},p?p.name:o)," from library")})):"PUT"!==t&&"POST"!==t||n(f.createNotification({content:a.default.createElement("span",null,"Added ",a.default.createElement(l.default,{uri:e},p?p.name:o)," to library")}))}),(function(e){n(d.handleException("Could not follow/unfollow",e))}))}},t.resolveRadioSeeds=function(e){return function(t,n){if(e.seed_artists.length>0){for(var r="",a=0;a<e.seed_artists.length;a++)a>0&&(r+=","),r+=(0,i.getFromUri)("artistid",e.seed_artists[a]);h(t,n,"artists?ids="+r).then((function(e){e&&e.artists?t({type:"ARTISTS_LOADED",artists:e.artists}):console.error("No Spotify artists returned",r)}),(function(e){t(d.handleException("Could not resolve radio artist seeds",e))}))}if(e.seed_tracks.length>0){var o="";for(a=0;a<e.seed_tracks.length;a++)a>0&&(o+=","),o+=(0,i.getFromUri)("trackid",e.seed_tracks[a]);h(t,n,"tracks?ids="+o).then((function(e){t({type:"TRACKS_LOADED",tracks:e.tracks})}),(function(e){t(d.handleException("Could not load radio track seeds",e))}))}}},t.getFavorites=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"long_term";return function(a,o){a({type:"SPOTIFY_FAVORITES_LOADED",artists:[],tracks:[]}),e.when(h(a,o,"me/top/artists?limit="+t+"&time_range="+n),h(a,o,"me/top/tracks?limit="+t+"&time_range="+n)).then((function(e,t){a({type:"SPOTIFY_FAVORITES_LOADED",artists:e.items,tracks:t.items})}),(function(e,t){a(d.handleException("Could not load favorites",r({},e,t)))}))}},t.getRecommendations=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(r,a){r({type:"CLEAR_SPOTIFY_RECOMMENDATIONS"});for(var s=[],l=[],u=[],c=0;c<e.length;c++){var f=e[c];switch((0,i.uriType)(f)){case"artist":s.push((0,i.getFromUri)("artistid",f));break;case"track":l.push((0,i.getFromUri)("trackid",f));break;case"genre":u.push((0,i.getFromUri)("genreid",f));break;case"default":u.push(f)}}var p="recommendations";if(p+="?seed_artists="+s.join(","),p+="&seed_tracks="+l.join(","),p+="&seed_genres="+u.join(","),p+="&limit="+t,n)for(var m in n)n.hasOwnProperty(m)&&(p+="&"+m+"="+n[m]);h(r,a,p).then((function(t){var n=Object.assign([],t.tracks),a=[];if(n.length>s.length&&n.length>10)for(;a.length<6;){var i=n[Math.round(Math.random()*(n.length-1))].artists[0];a.includes(i.uri)||s.includes(i.id)||(a.push(i.uri),r(g(i.uri)))}var l=[],u=[];if(n.length>10)for(;l.length<6;){var c=n[Math.round(Math.random()*(n.length-1))].album;u.includes(c.uri)||(u.push(c.uri),l.push(c))}l.length>0&&r(d.albumsLoaded(l)),n.length>0&&r(d.tracksLoaded(n)),r({type:"SPOTIFY_RECOMMENDATIONS_LOADED",seeds_uris:e,tracks_uris:(0,o.arrayOf)("uri",n),artists_uris:a,albums_uris:(0,o.arrayOf)("uri",l)})}),(function(e){r(d.handleException("Could not load recommendations",e))}))}},t.getGenres=function(){return function(e,t){h(e,t,"recommendations/available-genre-seeds").then((function(t){e({type:"SPOTIFY_GENRES_LOADED",genres:t.genres})}),(function(t){e(d.handleException("Could not load genres",t))}))}},t.getArtist=g,t.getArtists=function(e){return function(t,n){for(var r="",a=0;a<e.length;a++)""!=r&&(r+=","),r+=(0,i.getFromUri)("artistid",e[a]);h(t,n,"artists/?ids="+r).then((function(e){for(var n=n;n<e.length;n++){var r=e;for(n=0;n<r.albums.length;n++)t({type:"ALBUM_LOADED",album:r.albums[n]});r.albums_uris=(0,o.arrayOf)("uri",r.albums),r.albums_more=r.albums.next,t(d.artistLoaded(r))}}),(function(e){t(d.handleException("Could not load artists",e))}))}},t.getArtistImages=function(e){return function(t,n){h(t,n,"search?q="+e.name+"&type=artist").then((function(n){if(n.artists.items.length>0){var r={uri:e.uri,images:n.artists.items[0].images};t(d.artistLoaded(r))}}),(function(e){t(d.handleException("Could not load artists",e))}))}},t.playArtistTopTracks=function(e){return function(t,n){var r=n().core.artists;if(void 0!==r[e]&&void 0!==r[e].tracks){var a=(0,o.arrayOf)("uri",r[e].tracks);t(p.playURIs(a,e))}else h(t,n,"artists/"+(0,i.getFromUri)("artistid",e)+"/top-tracks?country="+n().spotify.country).then((function(n){var r=(0,o.arrayOf)("uri",n.tracks);t(p.playURIs(r,e))}),(function(e){t(d.handleException("Could not play artist's top tracks",e))}))}},t.getUser=function(e){return function(t,n){h(t,n,"users/"+(0,i.getFromUri)("userid",e)).then((function(e){t(d.userLoaded((0,s.formatUser)(e)))}),(function(e){t(d.handleException("Could not load user",e))}))}},t.getUserPlaylists=function(e){return function(t,n){h(t,n,"users/"+(0,i.getFromUri)("userid",e)+"/playlists?limit=40").then((function(a){var o=[],i=!0,l=!1,u=void 0;try{for(var c,f=a.items[Symbol.iterator]();!(i=(c=f.next()).done);i=!0){var p=c.value,m=!1;n().spotify.me&&p.owner.id==n().spotify.me.id&&(m=!0);var h=r({},(0,s.formatPlaylist)(p),{can_edit:m,tracks_total:p.tracks.total});o.push(h)}}catch(e){l=!0,u=e}finally{try{!i&&f.return&&f.return()}finally{if(l)throw u}}t(d.userPlaylistsLoaded(e,o,a.next,a.total))}),(function(e){t(d.handleException("Could not load user's playlists",e))}))}},t.getAlbum=function(e){return function(t,n){h(t,n,"albums/"+(0,i.getFromUri)("albumid",e)).then((function(e){t(d.artistsLoaded(e.artists));for(var a=Object.assign([],e.tracks.items),l=r({},(0,s.formatAlbum)(e),{artists_uris:(0,o.arrayOf)("uri",e.artists),tracks_uris:(0,o.arrayOf)("uri",a),tracks_more:e.tracks.next,tracks_total:e.tracks.total}),u=0;u<a.length;u++)a[u].album={name:l.name,uri:l.uri};t(d.albumLoaded(l)),t(d.tracksLoaded(a));var c=[];for(u=0;u<e.artists.length;u++)c.push((0,i.getFromUri)("artistid",e.artists[u].uri));h(t,n,"artists/?ids="+c).then((function(e){t(d.artistsLoaded(e.artists))}),(function(e){t(d.handleException("Could not load album's artists",e))}))}),(function(e){t(d.handleException("Could not load album",e))}))}},t.createPlaylist=function(e,t,n,a){return function(o,i){var s={name:e,description:t,public:n,collaborative:a};h(o,i,"users/"+i().spotify.me.id+"/playlists/","POST",s).then((function(e){o({type:"PLAYLIST_LOADED",key:e.uri,playlist:r({},e,{can_edit:!0,tracks:[],tracks_more:null,tracks_total:0})}),o({type:"LIBRARY_PLAYLISTS_LOADED",uris:[e.uri]}),o(f.createNotification({level:"warning",content:"Created playlist"}))}),(function(e){o(d.handleException("Could not create playlist",e))}))}},t.savePlaylist=function(e,t,n,r,a,o){return function(s,l){var u={name:t,description:n,public:r,collaborative:a};h(s,l,"users/"+l().spotify.me.id+"/playlists/"+(0,i.getFromUri)("playlistid",e),"PUT",u).then((function(u){s(f.createNotification({level:"warning",content:"Playlist saved"})),o?h(s,l,"users/"+l().spotify.me.id+"/playlists/"+(0,i.getFromUri)("playlistid",e)+"/images","PUT",o).then((function(o){s({type:"PLAYLIST_UPDATED",key:e,playlist:{name:t,public:r,collaborative:a,description:n}})}),(function(e){s(d.handleException("Could not save image",e))})):s({type:"PLAYLIST_UPDATED",key:e,playlist:{name:t,public:r,collaborative:a,description:n}})}),(function(e){s(d.handleException("Could not save playlist",e))}))}},t.getPlaylist=function(e){return function(t,n){h(t,n,"playlists/"+(0,i.getFromUri)("playlistid",e)+"?market="+n().spotify.country).then((function(e){var n=null;e.description&&(n=(n=(n=(n=e.description).split('<a href="spotify:artist:').join('<a href="#/artist/spotify:artist:')).split('<a href="spotify:album:').join('<a href="#/album/spotify:album:')).split('<a href="spotify:user:').join('<a href="#/user/spotify:user:'));var a=(0,s.formatTracks)(e.tracks.items),i=r({},(0,s.formatPlaylist)(e),{is_completely_loaded:!0,user_uri:e.owner.uri,tracks_uris:a?(0,o.arrayOf)("uri",a):null,tracks_more:e.tracks.next,tracks_total:e.tracks.total,description:n});t(d.userLoaded((0,s.formatUser)(e.owner))),t(d.tracksLoaded(a)),t(d.playlistLoaded(i))}),(function(e){t(d.handleException("Could not load playlist",e))}))}},t.getLibraryTracksAndPlay=function(e){return function(t,n){t(f.startProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR","Loading library tracks",{uri:e,next:"me/tracks"}))}},t.getLibraryTracksAndPlayProcessor=function(e){return function(t,n){h(t,n,e.next).then((function(r){if(void 0!==n().ui.processes.SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR&&"cancelling"==n().ui.processes.SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR.status)return t(f.processCancelled("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR")),!1;for(var a=[],o=[],i=0;i<r.items.length;i++)o.push(r.items[i].track.uri);a=e.uris?[].concat(c(e.uris),o):o,r.next?(t(f.updateProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR","Loading "+(r.total-a.length)+" library tracks",{next:r.next,total:r.total,remaining:r.total-a.length})),t(f.runProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR",{next:r.next,uris:a}))):(t(p.playURIs(a,e.uri)),t(f.processFinished("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR")))}),(function(e){t(d.handleException("Could not load library tracks",e))}))}},t.getAllPlaylistTracks=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;return function(s,l){s(f.startProcess("SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR","Loading playlist tracks",{uri:e,next:"playlists/"+(0,i.getFromUri)("playlistid",e)+"/tracks?market="+l().spotify.country,shuffle:t,play_next:r,at_position:a,offset:o,callback_action:n}))}},t.getAllPlaylistTracksProcessor=function(e){return function(t,n){h(t,n,e.next).then((function(a){if(void 0!==n().ui.processes.SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR&&"cancelling"==n().ui.processes.SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR.status)return t(f.processCancelled("SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR")),!1;var i=[],s=[],l=!0,u=!1,d=void 0;try{for(var m,h=a.items[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){var _=m.value;_.track&&s.push(_.track.uri)}}catch(e){u=!0,d=e}finally{try{!l&&h.return&&h.return()}finally{if(u)throw d}}i=e.uris?[].concat(c(e.uris),s):s,a.next?(t(f.updateProcess("SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR","Loading "+(a.total-i.length)+" playlist tracks",r({},e,{next:a.next,total:a.total,remaining:a.total-i.length}))),t(f.runProcess("SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR",r({},e,{next:a.next,uris:i})))):(e.shuffle&&(i=(0,o.shuffle)(i)),t(f.removeProcess("SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR")),"enqueue"==e.callback_action?t(p.enqueueURIs(i,e.uri,e.play_next,e.at_position,e.offset)):t(p.playURIs(i,e.uri)))}),(function(e){t(d.handleException("Could not load tracks to play playlist",e))}))}},t.addTracksToPlaylist=function(e,t){return function(n,r){h(n,r,"playlists/"+(0,i.getFromUri)("playlistid",e)+"/tracks","POST",{uris:t}).then((function(r){n({type:"PLAYLIST_TRACKS_ADDED",key:e,tracks_uris:t,snapshot_id:r.snapshot_id})}),(function(e){n(d.handleException("Could not add tracks to playlist",e))}))}},t.deleteTracksFromPlaylist=function(e,t,n){return function(r,a){h(r,a,"playlists/"+(0,i.getFromUri)("playlistid",e)+"/tracks","DELETE",{snapshot_id:t,positions:n}).then((function(t){r({type:"PLAYLIST_TRACKS_REMOVED",key:e,tracks_indexes:n,snapshot_id:t.snapshot_id})}),(function(e){r(d.handleException("Could not remove tracks from playlist",e))}))}},t.reorderPlaylistTracks=function(e,t,n,r,a){return function(o,s){h(o,s,"playlists/"+(0,i.getFromUri)("playlistid",e)+"/tracks","PUT",{uri:e,range_start:t,range_length:n,insert_before:r,snapshot_id:a}).then((function(a){o({type:"PLAYLIST_TRACKS_REORDERED",key:e,range_start:t,range_length:n,insert_before:r,snapshot_id:a.snapshot_id})}),(function(e){o(d.handleException("Could not reorder playlist tracks",e))}))}},t.flushLibrary=function(){return{type:"SPOTIFY_FLUSH_LIBRARY"}},t.getLibraryPlaylists=function(){return function(e,t){var n=t().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR;n?"cancelled"==n.status?e(f.resumeProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")):"finished"!=n.status||t().spotify.library_playlists_loaded_all||e(f.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"})):e(f.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"}))}},t.getLibraryPlaylistsProcessor=function(e){return function(t,n){h(t,n,e.next).then((function(e){if((t({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED",playlists:e.items}),void 0!==n().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR)&&"cancelling"==n().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status)return t(f.processCancelled("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),!1;if(e.next){var r=e.total-n().spotify.library_playlists.length;t(f.updateProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading "+r+" Spotify playlists",{next:e.next,total:e.total,remaining:r})),t(f.runProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR",{next:e.next}))}else t(f.processFinished("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),t({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL"})}),(function(e){t(d.handleException("Could not load library playlists",e))}))}},t.getLibraryArtists=function(){return function(e,t){var n=t().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR;n?"cancelled"==n.status?e(f.resumeProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")):"finished"!=n.status||t().spotify.library_artists_loaded_all||e(f.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"})):e(f.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"}))}},t.getLibraryArtistsProcessor=function(e){return function(t,n){h(t,n,e.next).then((function(e){if((t({type:"SPOTIFY_LIBRARY_ARTISTS_LOADED",artists:e.artists.items}),void 0!==n().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR)&&"cancelling"==n().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status)return t(f.processCancelled("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")),!1;if(e.artists.next){var r=e.artists.total-n().spotify.library_artists.length;t(f.updateProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading "+r+" Spotify artists",{next:e.artists.next,total:e.artists.total,remaining:r})),t(f.runProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR",{next:e.artists.next}))}else t(f.processFinished("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR"))}),(function(e){t(d.handleException("Could not load library artists",e))}))}},t.getLibraryAlbums=function(){return function(e,t){var n=t().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR;n?"cancelled"==n.status?e(f.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):"finished"!=n.status||t().spotify.library_albums_loaded_all||e(f.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):e(f.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"}))}},t.getLibraryAlbumsProcessor=function(e){return function(t,n){h(t,n,e.next).then((function(e){if((t({type:"SPOTIFY_LIBRARY_ALBUMS_LOADED",albums:e.items}),void 0!==n().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR)&&"cancelling"==n().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status)return t(f.processCancelled("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR")),!1;if(e.next){var r=e.total-n().spotify.library_albums.length;t(f.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading "+r+" Spotify albums",{next:e.next,total:e.total,remaining:r})),t(f.runProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR",{next:e.next}))}else t(f.processFinished("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR"))}),(function(e){t(d.handleException("Could not load library albums",e))}))}};var a=u(n(0)),o=n(9),i=n(4),s=n(12),l=u(n(21));function u(e){return e&&e.__esModule?e:{default:e}}function c(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var d=n(8),f=n(1),p=n(6),m=n(15),h=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GET",a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=(arguments.length>5&&void 0!==arguments[5]&&arguments[5],(0,i.generateGuid)());return e(f.startLoading(o,"spotify_"+n)),new Promise((function(i,s){_(e,t).then((function(l){var u="https://api.spotify.com/v1/"+n;n.startsWith("https://api.spotify.com/")&&(u=n);var c={method:r,timeout:3e4,headers:{Authorization:"Bearer "+l,Accept:"application/json"}};a&&(c.body="string"==typeof a?a:JSON.stringify(a)),fetch(u,c).then((function(t){return e(f.stopLoading(o)),429===t.status&&console.error("You hit the Spotify API rate limiter"),t.text().then((function(e){return e?JSON.parse(e):{}}))})).then((function(n){n&&n.error&&"The access token expired"===n.error.message&&e(y(e,t)),i(n)})).catch((function(e){s(e)}))}),(function(t){e(d.handleException(t.error)),s(t)}))}))};function _(e,t){return new Promise((function(n,r){t().spotify.token_expiry&&(new Date).getTime()<t().spotify.token_expiry?n(t().spotify.access_token):void 0!==t().ui.load_queue.spotify_refresh_token?setTimeout((function(){return _(e,t)}),1e3):y(e,t).then((function(e){n(e.access_token)}),(function(e){r(e)}))}))}function y(t,n){return new Promise((function(r,a){var o=(0,i.generateGuid)();if(t(f.startLoading(o,"spotify_refresh_token")),n().spotify.authorization){var s={method:"GET",url:n().spotify.authorization_url+"?action=refresh&refresh_token="+n().spotify.refresh_token,dataType:"json",timeout:1e4};e.ajax(s).then((function(e){t(f.stopLoading(o)),e.token_expiry=(new Date).getTime()+1e3*e.expires_in,e.source="spotify",t({type:"SPOTIFY_TOKEN_REFRESHED",data:e}),r(e)}),(function(e,n,r){t(f.stopLoading(o)),a({config:s,xhr:e,status:n,error:r})}))}else{s={method:"GET",url:"//"+n().mopidy.host+":"+n().mopidy.port+"/iris/http/refresh_spotify_token",dataType:"json",timeout:1e4};e.ajax(s).then((function(e,n,i){if(t(f.stopLoading(o)),e.error)a({config:s,xhr:i,status:n,error:e.error});else{var l=e.result.spotify_token;l.token_expiry=(new Date).getTime()+1e3*l.expires_in,l.source="mopidy",t({type:"SPOTIFY_TOKEN_REFRESHED",access_token_provider:"backend",data:l}),r(l)}}),(function(e,n,r){t(f.stopLoading(o)),a({config:s,xhr:e,status:n,error:r})}))}}))}function v(){return function(e,t){h(e,t,"me").then((function(t){e({type:"SPOTIFY_ME_LOADED",me:t})}),(function(t){e(d.handleException("Could not load your profile",t))}))}}function g(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(r,a){var s={},l=[h(r,a,"artists/"+(0,i.getFromUri)("artistid",t),"GET",!1,!0).then((function(e){Object.assign(s,e)}),(function(e){r(d.handleException("Could not load artist",e))}))];n&&(l.push(h(r,a,"artists/"+(0,i.getFromUri)("artistid",t)+"/top-tracks?country="+a().spotify.country).then((function(e){Object.assign(s,e)}),(function(e){r(d.handleException("Could not load artist's top tracks",e))}))),l.push(h(r,a,"artists/"+(0,i.getFromUri)("artistid",t)+"/related-artists").then((function(e){r(d.artistsLoaded(e.artists)),Object.assign(s,{related_artists_uris:(0,o.arrayOf)("uri",e.artists)})}),(function(e){r(d.handleException("Could not load artist's related artists",e))})))),e.when.apply(e,l).then((function(){s.musicbrainz_id?r(m.getArtist(s.uri,!1,s.musicbrainz_id)):r(m.getArtist(s.uri,s.name.replace("&","and"))),r(d.artistLoaded(s)),n&&h(r,a,"artists/"+(0,i.getFromUri)("artistid",t)+"/albums?market="+a().spotify.country).then((function(e){r({type:"SPOTIFY_ARTIST_ALBUMS_LOADED",artist_uri:t,data:e})}),(function(e){r(d.handleException("Could not load artist's albums",e))}))}))}}}).call(this,n(22))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.getBroadcasts=function(){return function(t,n){var r={method:"GET",timeout:15e3};n().ui.test_mode?r.url="https://gist.githubusercontent.com/jaedb/cb3a5ee6909632abb2e0fe66d4c8c311/raw":r.url="https://gist.githubusercontent.com/jaedb/b677dccf80daf3ccb2ef12e96e495677/raw",e.ajax(r).then((function(e){t({type:"BROADCASTS_LOADED",broadcasts:JSON.parse(e)})}),(function(e,n,a){t(s("Could not fetch broadcasts from GitHub",{config:r,xhr:e,status:n,error:a},null,!1))}))}},t.startSearch=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"SEARCH_STARTED",search_type:e,query:t,only_mopidy:n}},t.handleException=s,t.debugResponse=function(e){return{type:"DEBUG",response:e}},t.set=function(e){return{type:"CORE_SET",data:e}},t.clearCurrentTrack=function(){return{type:"CLEAR_CURRENT_TRACK"}},t.cachebustHttpStream=function(){return{type:"CACHEBUST_HTTP_STREAM"}},t.loadTrack=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_TRACK",uri:e,force_reload:t}},t.loadAlbum=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_ALBUM",uri:e,force_reload:t}},t.loadArtist=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_ARTIST",uri:e,force_reload:t}},t.loadPlaylist=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_PLAYLIST",uri:e,force_reload:t}},t.loadUser=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_USER",uri:e,force_reload:t}},t.loadUserPlaylists=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"LOAD_USER_PLAYLISTS",uri:e,force_reload:t}},t.trackLoaded=function(e){return l([e])},t.tracksLoaded=l,t.artistLoaded=function(e){return u([e])},t.artistsLoaded=u,t.albumLoaded=function(e){return c([e])},t.albumsLoaded=c,t.playlistLoaded=function(e){return d([e])},t.playlistsLoaded=d,t.userLoaded=function(e){return f([e])},t.usersLoaded=f,t.userPlaylistsLoaded=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{type:"USER_PLAYLISTS_LOADED",uri:e,playlists:t,more:n,total:r}},t.loadedMore=function(e,t,n,r){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return{type:"LOADED_MORE",parent_type:e,parent_key:t,records_type:n,records_data:r,extra_data:a}},t.removeFromIndex=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:"REMOVE_FROM_INDEX",index_name:e,key:t,new_key:n}},t.reorderPlaylistTracks=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=(0,r.createRange)(t);switch((0,a.uriSource)(e)){case"spotify":return{type:"SPOTIFY_REORDER_PLAYLIST_TRACKS",key:e,range_start:i.start,range_length:i.length,insert_before:n,snapshot_id:o};case"m3u":return{type:"MOPIDY_REORDER_PLAYLIST_TRACKS",key:e,range_start:i.start,range_length:i.length,insert_before:n}}},t.savePlaylist=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;switch((0,a.uriSource)(e)){case"spotify":return{type:"SPOTIFY_SAVE_PLAYLIST",key:e,name:t,description:""==n?null:n,image:i,is_public:r,is_collaborative:o};case"m3u":return{type:"MOPIDY_SAVE_PLAYLIST",key:e,name:t}}return!1},t.createPlaylist=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];switch(e){case"spotify":return""==n&&(n=null),o.createPlaylist(t,n,r,a);default:return i.createPlaylist(t,e)}return!1},t.deletePlaylist=function(e){switch((0,a.uriSource)(e)){case"spotify":return o.following(e,"DELETE");default:return i.deletePlaylist(e)}return!1},t.removeTracksFromPlaylist=function(e,t){switch((0,a.uriSource)(e)){case"spotify":return{type:"SPOTIFY_REMOVE_PLAYLIST_TRACKS",key:e,tracks_indexes:t};case"m3u":return{type:"MOPIDY_REMOVE_PLAYLIST_TRACKS",key:e,tracks_indexes:t}}},t.addTracksToPlaylist=function(e,t){switch((0,a.uriSource)(e)){case"spotify":return{type:"SPOTIFY_ADD_PLAYLIST_TRACKS",key:e,tracks_uris:t};case"m3u":return{type:"MOPIDY_ADD_PLAYLIST_TRACKS",key:e,tracks_uris:t}}},t.getLibraryPlaylists=function(){return{type:"GET_LIBRARY_PLAYLISTS"}},t.getLibraryAlbums=function(){return{type:"GET_LIBRARY_ALBUMS"}},t.getLibraryArtists=function(){return{type:"GET_LIBRARY_ARTISTS"}};var r=n(9),a=n(4),o=n(7),i=n(6);function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return!e&&t.message?e=t.message:!e&&t.error.message&&(e=t.error.message),!n&&t.description?n=t.description:!n&&t.error&&t.error.description&&(n=t.error.description),{type:"HANDLE_EXCEPTION",message:e,description:n,data:t,show_notification:r}}function l(e){return{type:"TRACKS_LOADED",tracks:e}}function u(e){return{type:"ARTISTS_LOADED",artists:e}}function c(e){return{type:"ALBUMS_LOADED",albums:e}}function d(e){return{type:"PLAYLISTS_LOADED",playlists:e}}function f(e){return{type:"USERS_LOADED",users:e}}}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.indexToArray=t.shuffle=t.sortItems=t.createRange=t.applyFilter=t.removeDuplicates=t.mergeDuplicates=t.arrayOf=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(4),o=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t},i=function(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=t[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var l=i.value;void 0!==l[e]&&null!=l[e]&&n.push(l[e])}}catch(e){a=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(a)throw o}}return n},s=function(e,t){var n=[],a={};for(var o in e){var i=e[o];i[t]in a&&(i=r({},a[i[t]],i)),a[i[t]]=i}for(o in a)n.push(a[o]);return n},l=function(e){var t=[];for(var n in e)t.indexOf(e[n])<=-1&&t.push(e[n]);return t},u=function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=[],o=0;o<n.length;o++)if(n[o][e]&&String(n[o][e]).toLowerCase().includes(String(t).toLowerCase())){if(r)return n[o];a.push(n[o])}return a},c=function(e){e.sort((function(e,t){return e-t}));for(var t=[],n=!1,r=0;r<e.length;r++)n&&n!=e[r]-1||(t.push(e[r]),n=e[r]);return{start:t[0],length:t.length}},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(!e||e.length<=0)return[];function o(e){var n=t.split("."),r=!0,a=!1,o=void 0;try{for(var i,s=n[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var l=i.value;if("first"==l){if(Array.isArray(e)&&e.length>0){e=e[0];continue}return null}if("length"==l)return Array.isArray(e)?e.length:0;if(void 0===e[l])return null;e=e[l]}}catch(e){a=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(a)throw o}}return e}function i(e,n){var i=o(e),s=o(n);if("uri"==t&&(i=(0,a.uriSource)(i),s=(0,a.uriSource)(s)),!r)return"boolean"==typeof i&&"boolean"==typeof s?i&&!s?-1:!i&&s?1:0:"number"==typeof i&&"number"==typeof s?null==i&&null==s?0:null==i?-1:null==s?1:parseInt(i)>parseInt(s)?1:parseInt(i)<parseInt(s)?-1:0:i&&!s?-1:!i&&s?1:i||s?i.toLowerCase()>s.toLowerCase()?1:i.toLowerCase()<s.toLowerCase()?-1:0:0;var l=r.indexOf(i+":"),u=r.indexOf(s+":");return l<u?1:l>u?-1:void 0}var s=Object.assign([],e.sort(i));return n&&s.reverse(),s},f=function(e){var t=void 0,n=void 0,r=void 0;for(r=e.length-1;r>0;r--)t=Math.floor(Math.random()*(r+1)),n=e[r],e[r]=e[t],e[t]=n;return e};t.arrayOf=i,t.mergeDuplicates=s,t.removeDuplicates=l,t.applyFilter=u,t.createRange=c,t.sortItems=d,t.shuffle=f,t.indexToArray=o,t.default={arrayOf:i,mergeDuplicates:s,removeDuplicates:l,applyFilter:u,createRange:c,sortItems:d,shuffle:f,indexToArray:o}},function(e,t,n){e.exports=n(87)()},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.collate=t.formatGroup=t.formatClient=t.formatTracks=t.formatTrack=t.formatUsers=t.formatUser=t.formatPlaylists=t.formatPlaylist=t.formatArtists=t.formatArtist=t.formatAlbums=t.formatAlbum=t.formatSimpleObject=t.formatImages=t.digestMopidyImages=t.getTrackIcon=t.toJSON=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a="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},o=n(4),i=function(e){try{return JSON.parse(e)}catch(t){if(e.constructor==={}.constructor)return e;console.error("Could not convert non-JSON",string)}return{}},s=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return!1;if(!e)return!1;if(void 0===e.uri)return!1;if(void 0===t.tracks[e.uri])return!1;var n=t.tracks[e.uri];return!!n.images&&u(n.images).small},l=function(e,t){for(var n=[],r=0;r<t.length;r++){if("object"===a(t[r])){var o=t[r].url;!o&&t[r].uri&&(o=t[r].uri),t[r].url=o,o&&o.startsWith("/images/")&&(o="//"+e.host+":"+e.port+o)}else"string"==typeof t[r]&&t[r].startsWith("/images/")&&(t[r]="//"+e.host+":"+e.port+t[r]);n.push(t[r])}return n},u=function(e){var t={formatted:!0,small:null,medium:null,large:null,huge:null};if(!e)return t;if(Array.isArray(e)){if(e.length<=0)return t;for(var n=0;n<e.length;n++){var r=e[n];if(r.formatted)return r;if(r.__model__&&"Image"==r.__model__)r.width<400?t.small=r.url:r.width<800?t.medium=r.url:r.width<1e3?t.large=r.url:t.huge=r.url;else if("string"==typeof r)t.small=r;else if(void 0!==r.width)r.width<400?t.small=r.url:r.width<800?t.medium=r.url:r.width<1e3?t.large=r.url:t.huge=r.url;else if(void 0!==r.size)switch(r.size){case"mega":case"extralarge":case"large":t.medium=r["#text"];break;case"medium":case"small":t.small=r["#text"]}}}else e.small&&(t.small=e.small.url),e.medium&&(t.medium=e.medium.url),e.large&&(t.large=e.large.url),e.huge&&(t.huge=e.huge.url);return t.small||(t.medium?t.small=t.medium:t.large?t.small=t.large:t.huge?t.small=t.huge:t.small=null),t.medium||(t.large?t.medium=t.large:t.huge?t.medium=t.huge:t.medium=t.small),t.large||(t.large=t.medium),t.huge||(t.huge=t.large),t},c=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var o,i=["uri","name"][Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;e.hasOwnProperty(s)&&(t[s]=e[s])}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;t.push(b(s))}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;t.push(_(s))}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;t.push(y(s))}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;t.push(b(s))}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=!0,r=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;t.push(g(s))}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return t},_=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var i,s=["uri","provider","name","type","last_modified","added_at","release_date","listeners","play_count","wiki","wiki_publish_date","popularity","images","artists_uris","tracks_uris","tracks_total","tracks_more","artists"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return t.images&&!t.images.formatted&&(t.images=u(t.images)),e.last_modified&&void 0===t.added_at?t.added_at=e.last_modified:e.added_at&&void 0===t.last_modified&&(t.last_modified=e.added_at),e.date&&!t.date&&(t.release_date=e.date),e.album_type&&(t.type=e.album_type),void 0===t.provider&&void 0!==t.uri&&(t.provider=(0,o.uriSource)(t.uri)),t},y=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var i,s=["uri","provider","mbid","name","type","popularity","followers","listeners","added_at","biography","biography_link","biography_publish_date","related_artists_uris","albums_uris","albums_total","albums_more","tracks_uris","tracks_total","tracks_more"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return e.images&&e.images.length>0&&(t.images=[u(e.images)]),e.followers&&void 0!==e.followers.total&&(t.followers=e.followers.total),e.bio&&(e.bio.content&&!t.biography&&(t.biography=e.bio.content),e.bio.links&&e.bio.links.link&&e.bio.links.link.href&&!t.biography_link&&(t.biography_link=e.bio.links.link.href),e.bio.published&&!t.biography_publish_date&&(t.biography_publish_date=e.bio.published)),void 0===t.provider&&void 0!==t.uri&&(t.provider=(0,o.uriSource)(t.uri)),t},v=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var i,s=["uri","snapshot_id","provider","type","collaborative","public","name","description","images","popularity","followers","last_modified","can_edit","owner","user_uri","tracks_uris","tracks_total","tracks_more"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return t.images&&!t.images.formatted&&(t.images=u(t.images)),e.last_modified_date&&void 0===t.last_modified&&(t.last_modified=e.last_modified_date),e.followers&&void 0!==e.followers.total&&(t.followers=e.followers.total),e.tracks&&void 0!==e.tracks.total&&(t.tracks_total=e.tracks.total),t.last_modified&&void 0===t.added_at?t.added_at=e.last_modified:t.added_at&&void 0===t.last_modified&&(t.last_modified=e.added_at),e.owner&&(t.owner={id:e.owner.id,uri:e.owner.uri,name:e.owner.display_name?e.owner.display_name:null},t.user_uri=e.owner.uri),t.uri=(0,o.upgradeSpotifyPlaylistUri)(t.uri),void 0===t.provider&&void 0!==t.uri&&(t.provider=(0,o.uriSource)(t.uri)),t},g=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var i,s=["id","uri","provider","name","images","followers","playlists_uris","playlists_total","playlists_more"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return!t.images&&e.image?t.images=u(e.image):!t.images&&e.avatar?t.images=u(e.avatar):t.images&&!t.images.formatted&&(t.images=u(t.images)),e.followers&&void 0!==e.followers.total&&(t.followers=e.followers.total),e.realname&&(t.name=e.realname),e.display_name&&!t.name&&(t.name=e.display_name),e.id&&!t.name&&(t.name=e.id),void 0===t.provider&&void 0!==t.uri&&(t.provider=(0,o.uriSource)(t.uri)),t},b=function(e){var t={};e&&e.track&&(0,o.isObject)(e.track)&&(e.added_by&&(e.track.added_by=e.added_by),e.added_at&&(e.track.added_at=e.added_at),e.tlid&&(e.track.tlid=e.tlid),e=e.track);var n=!0,r=!1,a=void 0;try{for(var i,s=["uri","tlid","provider","name","images","release_date","disc_number","track_number","duration","followers","popularity","userloved","last_modified","added_at","is_explicit","is_local","lyrics","lyrics_path","lyrics_results","artists","album"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return e.followers&&e.followers.total&&(t.followers=e.followers.total),t.last_modified&&void 0===t.added_at?t.added_at=t.last_modified:t.added_at&&void 0===t.last_modified&&(t.last_modified=t.added_at),void 0===t.duration&&void 0!==e.duration_ms?t.duration=e.duration_ms:void 0===t.duration&&void 0!==e.length&&(t.duration=e.length),void 0===t.track_number&&void 0!==e.track_no&&(t.track_number=e.track_no),void 0===t.disc_number&&void 0!==e.disc_no&&(t.disc_number=e.disc_no),void 0===t.release_date&&void 0!==e.date&&(t.release_date=e.date),void 0===t.explicit&&void 0!==e.explicit&&(t.is_explicit=e.explicit),e.album&&e.album.images&&(void 0!==t.images&&t.images.formatted||(t.images=u(e.album.images))),void 0===t.provider&&void 0!==t.uri&&(t.provider=(0,o.uriSource)(t.uri)),t},E=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var i,s=["id","connected","name","host_name","volume","mute","latency","power_on_command","power_off_command"][Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;e.hasOwnProperty(l)&&(t[l]=e[l])}}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return e.config?(void 0===t.latency&&void 0!==e.config.latency&&(t.latency=e.config.latency),!t.name&&e.config.name&&(t.name=e.config.name),void 0!==e.config.volume&&(void 0!==e.config.volume.percent&&(t.volume=e.config.volume.percent),e.config.volume.muted&&(t.mute=e.config.volume.muted))):(void 0===t.latency&&void 0!==e.latency&&(t.latency=e.latency),"object"===a(e.volume)&&(e.volume.percent&&(t.volume=e.volume.percent),e.volume.muted&&(t.mute=e.volume.muted))),void 0===t.name&&e.host&&e.host.name&&(t.name=e.host.name),t},k=function(e){var t={},n=!0,r=!1,a=void 0;try{for(var o,i=["id","name","mute","volume","stream_id","clients_ids"][Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;e.hasOwnProperty(s)&&(t[s]=e[s])}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return void 0===t.mute&&void 0!==e.muted&&(t.mute=e.muted),t},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==(e=r({},e)).artists_uris&&(e.artists=[]),void 0!==e.albums_uris&&(e.albums=[]),void 0!==e.tracks_uris&&(e.tracks=[]),void 0!==e.users_uris&&(e.users=[]),void 0!==e.playlists_uris&&(e.playlists=[]),void 0!==e.related_artists_uris&&(e.related_artists=[]),void 0!==e.clients_ids&&(e.clients=[]),t.artists){if(e.artists_uris){var n=!0,a=!1,o=void 0;try{for(var i,s=e.artists_uris[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;t.artists[l]&&e.artists.push(t.artists[l])}}catch(e){a=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(a)throw o}}}if(e.related_artists_uris){var u=!0,c=!1,d=void 0;try{for(var f,p=e.related_artists_uris[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){l=f.value;t.artists[l]&&e.related_artists.push(t.artists[l])}}catch(e){c=!0,d=e}finally{try{!u&&p.return&&p.return()}finally{if(c)throw d}}}e.artist_uri&&t.artists[e.artist_uri]&&(e.artist=t.artists[e.artist_uri])}if(t.albums){if(e.albums_uris){var m=!0,h=!1,_=void 0;try{for(var y,v=e.albums_uris[Symbol.iterator]();!(m=(y=v.next()).done);m=!0){l=y.value;t.albums[l]&&e.albums.push(t.albums[l])}}catch(e){h=!0,_=e}finally{try{!m&&v.return&&v.return()}finally{if(h)throw _}}}e.album_uri&&t.albums[e.album_uri]&&(e.album=t.albums[e.album_uri])}if(t.tracks){if(e.tracks_uris){var g=!0,b=!1,E=void 0;try{for(var k,w=e.tracks_uris[Symbol.iterator]();!(g=(k=w.next()).done);g=!0){l=k.value;t.tracks[l]&&e.tracks.push(t.tracks[l])}}catch(e){b=!0,E=e}finally{try{!g&&w.return&&w.return()}finally{if(b)throw E}}}e.track_uri&&t.tracks[e.track_uri]&&(e.track=t.tracks[e.track_uri])}if(t.users){if(e.users_uris){var S=!0,O=!1,T=void 0;try{for(var A,C=e.users_uris[Symbol.iterator]();!(S=(A=C.next()).done);S=!0){l=A.value;t.users[l]&&e.users.push(t.users[l])}}catch(e){O=!0,T=e}finally{try{!S&&C.return&&C.return()}finally{if(O)throw T}}}e.user_uri&&t.users[e.user_uri]&&(e.user=t.users[e.user_uri])}if(t.playlists){if(e.playlists_uris){var P=!0,x=!1,N=void 0;try{for(var R,M=e.playlists_uris[Symbol.iterator]();!(P=(R=M.next()).done);P=!0){l=R.value;t.playlists[l]&&e.playlists.push(t.playlists[l])}}catch(e){x=!0,N=e}finally{try{!P&&M.return&&M.return()}finally{if(x)throw N}}}e.playlist_uri&&t.playlists[e.playlist_uri]&&(e.playlist=t.playlists[e.playlist_uri])}if(t.clients&&e.clients_ids){var D=!0,L=!1,I=void 0;try{for(var j,U=e.clients_ids[Symbol.iterator]();!(D=(j=U.next()).done);D=!0){var Y=j.value;t.clients[Y]&&e.clients.push(t.clients[Y])}}catch(e){L=!0,I=e}finally{try{!D&&U.return&&U.return()}finally{if(L)throw I}}}return e};t.toJSON=i,t.getTrackIcon=s,t.digestMopidyImages=l,t.formatImages=u,t.formatSimpleObject=c,t.formatAlbum=_,t.formatAlbums=f,t.formatArtist=y,t.formatArtists=p,t.formatPlaylist=v,t.formatPlaylists=m,t.formatUser=g,t.formatUsers=h,t.formatTrack=b,t.formatTracks=d,t.formatClient=E,t.formatGroup=k,t.collate=w,t.default={toJSON:i,getTrackIcon:s,digestMopidyImages:l,formatImages:u,formatSimpleObject:c,formatAlbum:_,formatAlbums:f,formatArtist:y,formatArtists:p,formatPlaylist:v,formatPlaylists:m,formatUser:g,formatUsers:h,formatTrack:b,formatTracks:d,formatClient:E,formatGroup:k,collate:w}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setPort=function(e){return{type:"PUSHER_SET_PORT",port:e}},t.setUsername=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"PUSHER_SET_USERNAME",username:e.replace(/[\W_]+/g,""),force:t}},t.connect=function(){return{type:"PUSHER_CONNECT"}},t.disconnect=function(){return{type:"PUSHER_DISCONNECT"}},t.upgrade=function(){return{type:"PUSHER_UPGRADE"}},t.reload=function(){return{type:"PUSHER_RELOAD"}},t.restart=function(){return{type:"PUSHER_RESTART"}},t.localScan=function(){return{type:"PUSHER_LOCAL_SCAN"}},t.getConnections=function(){return{type:"PUSHER_GET_CONNECTIONS"}},t.connectionAdded=function(e){return{type:"PUSHER_CONNECTION_ADDED",connection:e}},t.updateConnection=function(e){return{type:"PUSHER_UPDATE_CONNECTION",connection:e}},t.connectionChanged=function(e){return{type:"PUSHER_CONNECTION_CHANGED",connection:e}},t.connectionRemoved=function(e){return{type:"PUSHER_CONNECTION_REMOVED",connection:e}},t.request=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{type:"PUSHER_REQUEST",method:e,params:t,response_callback:n,error_callback:r}},t.getConfig=function(){return{type:"PUSHER_GET_CONFIG"}},t.getVersion=function(){return{type:"PUSHER_GET_VERSION"}},t.deliverBroadcast=function(e,t){return{type:"PUSHER_DELIVER_BROADCAST",data:{method:e,params:t}}},t.deliverMessage=function(e,t,n){return{type:"PUSHER_DELIVER_MESSAGE",data:{recipient:e,method:t,params:n}}},t.getRadio=function(){return{type:"PUSHER_GET_RADIO"}},t.startRadio=function(e){return{type:"PUSHER_START_RADIO",uris:e}},t.updateRadio=function(e){return{type:"PUSHER_UPDATE_RADIO",uris:e}},t.stopRadio=function(){return{type:"PUSHER_STOP_RADIO"}},t.radioStarted=function(e){return{type:"PUSHER_RADIO_STARTED",radio:e}},t.radioChanged=function(e){return{type:"PUSHER_RADIO_CHANGED",radio:e}},t.radioStopped=function(){return{type:"PUSHER_RADIO_STOPPED"}},t.debug=function(){return{type:"PUSHER_DEBUG",message:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},t.getQueueMetadata=function(){return{type:"PUSHER_GET_QUEUE_METADATA"}},t.queueMetadataChanged=function(e){return{type:"PUSHER_QUEUE_METADATA_CHANGED",queue_metadata:e}},t.addQueueMetadata=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:"PUSHER_ADD_QUEUE_METADATA",tlids:e,from_uri:t}},t.getCommands=function(){return{type:"PUSHER_GET_COMMANDS"}},t.setCommand=function(e){return{type:"PUSHER_SET_COMMAND",command:e}},t.setCommands=function(e){return{type:"PUSHER_SET_COMMANDS",commands:e}},t.removeCommand=function(e){return{type:"PUSHER_REMOVE_COMMAND",id:e}},t.runCommand=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"PUSHER_RUN_COMMAND",id:e,notify:t}},t.commandsUpdated=function(e){return{type:"PUSHER_COMMANDS_UPDATED",commands:e}}},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.set=function(e){return{type:"LASTFM_SET",data:e}},t.authorizationGranted=function(e){return e.session.expiry=(new Date).getTime()+3600,{type:"LASTFM_AUTHORIZATION_GRANTED",data:e}},t.revokeAuthorization=function(){return{type:"LASTFM_AUTHORIZATION_REVOKED"}},t.importAuthorization=function(e){return{type:"LASTFM_IMPORT_AUTHORIZATION",authorization:e}},t.getMe=function(){return function(e,t){var n="method=user.getInfo&user="+t().lastfm.authorization.name;l(e,t,n).then((function(t){t.user&&e({type:"LASTFM_ME_LOADED",me:t.user})}),(function(t){e(i.handleException("Could not get your LastFM profile",t))}))}},t.getTrack=function(e){return function(t,n){if(void 0!==n().core.tracks[e]){var a=n().core.tracks[e];if(a.artists){var o="method=track.getInfo&track="+a.name+"&artist="+encodeURIComponent(a.artists[0].name);n().lastfm.authorization&&(o+="&username="+n().lastfm.authorization.name),l(t,n,o).then((function(e){if(e.track){var n=r({uri:a.uri},e.track,a);t(i.trackLoaded(n))}}),(function(e){}))}else t(i.handleException("Could not get LastFM track",{},"Track has no artists"))}else t(i.handleException("Could not get LastFM track",{},"Could not find track in index"))}},t.getArtist=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,a){if(n)var o="method=artist.getInfo&mbid="+n;else{t=t.replace("&","and");o="method=artist.getInfo&artist="+(t=encodeURIComponent(t))}l(r,a,o).then((function(t){if(t.artist){var n={uri:e,mbid:t.artist.mbid,biography:t.artist.bio.content,biography_publish_date:t.artist.bio.published,biography_link:t.artist.bio.links.link.href,listeners:parseInt(t.artist.stats.listeners)};r(i.artistLoaded(n))}}),(function(e){}))}},t.getAlbum=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(a,o){if(r)var s="method=album.getInfo&mbid="+r;else{t=encodeURIComponent(t);s="method=album.getInfo&album="+(n=encodeURIComponent(n))+"&artist="+t}l(a,o,s).then((function(t){if(t.album){var n=o().core.albums[e],r={uri:e,images:t.album.image,listeners:parseInt(t.album.listeners),play_count:parseInt(t.album.playcount),mbid:t.album.mbid,wiki:t.album.wiki?t.album.wiki.content:null,wiki_publish_date:t.album.wiki?t.album.wiki.published:null};n&&n.images&&delete r.images,a(i.albumLoaded(r))}}),(function(e){}))}},t.getImages=function(e,t){return function(n,o){var s=o().core[e][t];if(s)switch(e){case"tracks":if(s.mbid)var u="method=album.getInfo&mbid="+s.mbid;else if((s=(0,a.collate)(s,{artists:o().core.artists})).artists&&s.artists.length>0&&s.album){var c=encodeURIComponent(s.artists[0].name);u="method=album.getInfo&album="+encodeURIComponent(s.album.name)+"&artist="+c}u&&l(n,o,u).then((function(e){if(e.album){var r=(0,a.formatImages)(e.album.image);n(i.trackLoaded({uri:t,images:r}))}}));break;case"albums":if(s.mbid)u="method=album.getInfo&mbid="+s.mbid;else if((s=(0,a.collate)(s,{artists:o().core.artists})).artists&&s.artists.length>0)c=encodeURIComponent(s.artists[0].name),u="method=album.getInfo&album="+encodeURIComponent(s.name)+"&artist="+c;u&&l(n,o,u).then((function(e){e.album&&(s=r({},s,{images:e.album.image}),n(i.albumLoaded(s)))}))}}},t.loveTrack=function(e){return function(t,n){if(void 0!==n().core.tracks[e]){var a=n().core.tracks[e];if(a.artists){var o=encodeURIComponent(a.artists[0].name),s="method=track.love&track="+a.name+"&artist="+o;u(t,n,s).then((function(e){a=r({},a,{userloved:!0}),t({type:"TRACKS_LOADED",tracks:[a]})}))}else t(i.handleException("Could not love LastFM track",a,"Track has no artists"))}else t(i.handleException("Could not love LastFM track",a,"Could not find track in index"))}},t.unloveTrack=function(e){return function(t,n){if(void 0!==n().core.tracks[e]){var a=n().core.tracks[e];if(a.artists){var o=encodeURIComponent(a.artists[0].name),s="method=track.unlove&track="+a.name+"&artist="+o;u(t,n,s).then((function(e){a=r({},a,{userloved:!1}),t({type:"TRACKS_LOADED",tracks:[a]})}))}else t(i.handleException("Could not unlove LastFM track",a,"Track has no artists"))}else t(i.handleException("Could not unlove LastFM track",a,"Could not find track in index"))}},t.scrobble=function(e){return function(t,n){var r=e.name,a="Unknown";e.artists&&(a=e.artists[0].name);var o="method=track.scrobble";o+="&track="+r+"&artist="+(a=encodeURIComponent(a)),o+="&timestamp="+Math.floor(Date.now()/1e3),u(t,n,o).then((function(e){}),(function(e){t(i.handleException("Could not scrobble LastFM track",e,e.description?e.description:null))}))}};var a=n(12),o=n(4),i=n(8),s=n(1);var l=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return new Promise((function(t,a){var i="https://ws.audioscrobbler.com/2.0/?format=json&"+n,l="GET",u=n.substring(n.indexOf("method=")+7,n.length);u=u.substring(0,u.indexOf("&")),r?l="POST":i+="&api_key=4320a3ef51c9b3d69de552ac083c55e3";var c={method:l,timeout:3e4},d=(0,o.generateGuid)();e(s.startLoading(d,"lastfm_"+u)),fetch(i,c).then((function(t){return e(s.stopLoading(d)),t.status>=200&&t.status<300?Promise.resolve(t):Promise.reject(new Error(t.statusText))})).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){a(e)}))}))},u=function(e,t,n){return new Promise((function(r,a){t().lastfm.authorization||a({params:n,error:"No active LastFM authorization (session)"});var i=(0,o.generateGuid)(),u=n.substring(n.indexOf("method=")+7,n.length);u=u.substring(0,u.indexOf("&")),e(s.startLoading(i,"lastfm_"+u)),n+="&sk="+t().lastfm.authorization.key;var c=t().lastfm.authorization_url+"?action=sign_request&"+n;fetch(c,{method:"GET",timeout:3e4}).then((function(t){return e(s.stopLoading(i)),t.status>=200&&t.status<300?Promise.resolve(t):Promise.reject(new Error(t.statusText))})).then((function(e){return e.json()})).then((function(n){l(e,t,n.params,!0).then((function(e){return r(e)}),(function(e){return a(e)}))})).catch((function(e){a(e)}))}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(0)),a=o(n(34));function o(e){return e&&e.__esModule?e:{default:e}}var i=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleContextMenuTrigger=function(e,t){var r=n.props,a=r.title,o=r.handleContextMenuTrigger,i=r.uiActions.showContextMenu;if(o)return o(e);e.preventDefault(),i({e:e,context:"custom",title:a,options:t})},n.renderContextMenuTrigger=function(){var e=n.props,t=e.handleContextMenuTrigger,o=e.options;return t||o?r.default.createElement(a.default,{onTrigger:function(e){return n.handleContextMenuTrigger(e,o)}}):null},n.renderOptions=function(){var e=n.props,t=e.handleContextMenuTrigger,a=e.options;return a||t?r.default.createElement("div",{className:"header__options"},n.renderContextMenuTrigger(),r.default.createElement("div",{className:"header__options__wrapper"},a||null)):null},n.render=function(){var e=n.props,t=e.className,a=e.children;return r.default.createElement("header",{className:t},r.default.createElement("h1",null,a),n.renderOptions())},n.state={expanded:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(r.default.Component);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(39),l=n(4);t.default=function(e){var t=e.retainScroll,n=e.scrollTo,r=e.onContextMenu,o=e.className,u=void 0===o?"":o,c=e.activeClassName,d=e.to,f=e.exact,p=e.children;if(!d)return i.default.createElement("span",{className:u},p);var m=(0,s.useHistory)(),h=(0,s.useLocation)(),_=decodeURIComponent(d),y=decodeURIComponent(m.location.pathname),v=f?y===_:y.startsWith(_),g=m&&v?c||"active":"";return i.default.createElement(s.Link,{onClick:function(){var e=document.getElementById("main");m.replace(h.pathname,a({},h.state,{scroll_position:e.scrollTop})),t||(0,l.scrollTo)(n,n)},onContextMenu:r||null,className:u+" "+g,to:d},p)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e){var t=e.radius,n=e.stroke,r=e.progress,o=t-2*n,i=2*o*Math.PI,s=i-r*i;return a.default.createElement("svg",{className:"loader__spinner__progress",height:2*t,width:2*t},a.default.createElement("circle",{className:"loader__spinner__progress__circle",stroke:"white",fill:"transparent",strokeWidth:n,strokeDasharray:i+" "+i,strokeDashoffset:s,r:o,cx:t,cy:t}))};t.default=(0,r.memo)((function(e){var t=e.body,n=e.loading,r=e.finished,i=void 0!==r&&r,l=e.mini,u=e.lazy,c=e.white,d=e.className,f=void 0===d?"":d,p=e.progress,m=void 0===p?null:p;if(!n&&!i)return null;var h="loader";return f&&(h+=" "+f),l&&(h+=" loader--mini"),t&&(h+=" loader--body"),u&&(h+=" loader--lazy"),c&&(h+=" loader--white"),navigator.onLine?i?(h+=" loader--finished",a.default.createElement("div",{className:h},a.default.createElement("div",{className:"loader__spinner"},a.default.createElement(o.default,{name:"check"}),a.default.createElement("div",{className:"loader__spinner__background"}),a.default.createElement("div",{className:"loader__spinner__foreground"})))):m?(h+=" loader--progress",a.default.createElement("div",{className:h},a.default.createElement("div",{className:"loader__spinner"},a.default.createElement(s,{stroke:"2",radius:l?"13":"60",progress:m}),a.default.createElement("div",{className:"loader__spinner__foreground"})))):a.default.createElement("div",{className:h},a.default.createElement("div",{className:"loader__spinner"},a.default.createElement("div",{className:"loader__spinner__background"}),a.default.createElement("div",{className:"loader__spinner__foreground"}))):a.default.createElement("div",{className:h},a.default.createElement("div",{className:"loader__offline"},a.default.createElement(o.default,{name:"wifi_off"}),a.default.createElement("p",null," You need to be online load this resource ")))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=s(r),o=s(n(17)),i=s(n(5));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=e.placeholder,n=void 0===t||t,r=function(){if(e.image)return e.image;if(e.images){var t=e.images;Array.isArray(t)&&t.length>0&&(t=t[0]);var n="medium";if(e.size&&(n=e.size),t[n])return t[n]}return null}(),s="thumbnail thumbnail--loaded";e.size&&(s+=" thumbnail--"+e.size),e.circle&&(s+=" thumbnail--circle"),e.className&&(s+=" "+e.className);return a.default.createElement("div",{className:s},n&&a.default.createElement(i.default,{className:"thumbnail__placeholder",name:function(){switch(e.type){case"directory":return"folder";case"artist":return"perm_identity";case"playlist":return"queue_music";case"album":return"album";case"track":return"audiotrack";default:return"image"}}()}),e.useImageTag&&r?a.default.createElement("img",{alt:"Artwork thumbnail",className:"thumbnail__image thumbnail__image--use-image-tag",src:r}):a.default.createElement("div",{className:"thumbnail__image",style:{backgroundImage:'url("'+r+'")'}}),e.glow&&r&&a.default.createElement("div",{className:"thumbnail__image thumbnail__image--glow",style:{backgroundImage:'url("'+r+'")'}}),a.default.createElement("div",{className:"thumbnail__actions"},e.canZoom&&r&&a.default.createElement(o.default,{className:"thumbnail__actions__item thumbnail__actions__item--zoom",to:"/image-zoom?url="+r},a.default.createElement(i.default,{name:"search"})),e.children))}))},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=s(r),o=s(n(17)),i=n(4);function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=null,n=e.uri,r=e.type||(0,i.uriType)(n);switch(e.unencoded||(n=encodeURIComponent(n)),r){case"playlist":t="/playlist/"+n;break;case"artist":t="/artist/"+n;break;case"album":t="/album/"+n;break;case"track":t="/track/"+n;break;case"user":t="/user/"+n;break;case"browse":t="/library/browse/"+n;break;case"recommendations":t="/discover/recommendations/"+n;break;case"search":var s=n.split("%3A");t="/search/"+s[2]+"/"+s[3];break;default:t=null}return n?a.default.createElement(o.default,{className:e.className?e.className:null,to:t,onContextMenu:function(t){return e.handleContextMenu?e.handleContextMenu(t):null}},e.children):a.default.createElement("span",{className:e.className?e.className:null},e.children)}))},function(e,t,n){var r;
/*!
* jQuery JavaScript Library v3.4.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2019-05-01T21:04Z
*/!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(n,a){"use strict";var o=[],i=n.document,s=Object.getPrototypeOf,l=o.slice,u=o.concat,c=o.push,d=o.indexOf,f={},p=f.toString,m=f.hasOwnProperty,h=m.toString,_=h.call(Object),y={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},g=function(e){return null!=e&&e===e.window},b={type:!0,src:!0,nonce:!0,noModule:!0};function E(e,t,n){var r,a,o=(n=n||i).createElement("script");if(o.text=e,t)for(r in b)(a=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,a);n.head.appendChild(o).parentNode.removeChild(o)}function k(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[p.call(e)]||"object":typeof e}var w=function(e,t){return new w.fn.init(e,t)},S=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function O(e){var t=!!e&&"length"in e&&e.length,n=k(e);return!v(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jquery:"3.4.1",constructor:w,length:0,toArray:function(){return l.call(this)},get:function(e){return null==e?l.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:o.sort,splice:o.splice},w.extend=w.fn.extend=function(){var e,t,n,r,a,o,i=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof i&&(u=i,i=arguments[s]||{},s++),"object"==typeof i||v(i)||(i={}),s===l&&(i=this,s--);s<l;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&i!==r&&(u&&r&&(w.isPlainObject(r)||(a=Array.isArray(r)))?(n=i[t],o=a&&!Array.isArray(n)?[]:a||w.isPlainObject(n)?n:{},a=!1,i[t]=w.extend(u,o,r)):void 0!==r&&(i[t]=r));return i},w.extend({expando:"jQuery"+("3.4.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==p.call(e))&&(!(t=s(e))||"function"==typeof(n=m.call(t,"constructor")&&t.constructor)&&h.call(n)===_)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){E(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(O(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(S,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(O(Object(e))?w.merge(n,"string"==typeof e?[e]:e):c.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:d.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,a=e.length;r<n;r++)e[a++]=t[r];return e.length=a,e},grep:function(e,t,n){for(var r=[],a=0,o=e.length,i=!n;a<o;a++)!t(e[a],a)!==i&&r.push(e[a]);return r},map:function(e,t,n){var r,a,o=0,i=[];if(O(e))for(r=e.length;o<r;o++)null!=(a=t(e[o],o,n))&&i.push(a);else for(o in e)null!=(a=t(e[o],o,n))&&i.push(a);return u.apply([],i)},guid:1,support:y}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=o[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){f["[object "+t+"]"]=t.toLowerCase()}));var T=
/*!
* Sizzle CSS Selector Engine v2.3.4
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://js.foundation/
*
* Date: 2019-04-08
*/
function(e){var t,n,r,a,o,i,s,l,u,c,d,f,p,m,h,_,y,v,g,b="sizzle"+1*new Date,E=e.document,k=0,w=0,S=le(),O=le(),T=le(),A=le(),C=function(e,t){return e===t&&(d=!0),0},P={}.hasOwnProperty,x=[],N=x.pop,R=x.push,M=x.push,D=x.slice,L=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",j="[\\x20\\t\\r\\n\\f]",U="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",Y="\\["+j+"*("+U+")(?:"+j+"*([*^$|!~]?=)"+j+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+U+"))|)"+j+"*\\]",F=":("+U+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+Y+")*)|.*)\\)|)",H=new RegExp(j+"+","g"),z=new RegExp("^"+j+"+|((?:^|[^\\\\])(?:\\\\.)*)"+j+"+$","g"),B=new RegExp("^"+j+"*,"+j+"*"),G=new RegExp("^"+j+"*([>+~]|"+j+")"+j+"*"),q=new RegExp(j+"|>"),V=new RegExp(F),W=new RegExp("^"+U+"$"),K={ID:new RegExp("^#("+U+")"),CLASS:new RegExp("^\\.("+U+")"),TAG:new RegExp("^("+U+"|[*])"),ATTR:new RegExp("^"+Y),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+j+"*(even|odd|(([+-]|)(\\d*)n|)"+j+"*(?:([+-]|)"+j+"*(\\d+)|))"+j+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+j+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+j+"*((?:-\\d)?\\d*)"+j+"*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,$=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+j+"?|("+j+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ae=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){f()},ie=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{M.apply(x=D.call(E.childNodes),E.childNodes),x[E.childNodes.length].nodeType}catch(e){M={apply:x.length?function(e,t){R.apply(e,D.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,a){var o,s,u,c,d,m,y,v=t&&t.ownerDocument,k=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==k&&9!==k&&11!==k)return r;if(!a&&((t?t.ownerDocument||t:E)!==p&&f(t),t=t||p,h)){if(11!==k&&(d=Z.exec(e)))if(o=d[1]){if(9===k){if(!(u=t.getElementById(o)))return r;if(u.id===o)return r.push(u),r}else if(v&&(u=v.getElementById(o))&&g(t,u)&&u.id===o)return r.push(u),r}else{if(d[2])return M.apply(r,t.getElementsByTagName(e)),r;if((o=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return M.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!_||!_.test(e))&&(1!==k||"object"!==t.nodeName.toLowerCase())){if(y=e,v=t,1===k&&q.test(e)){for((c=t.getAttribute("id"))?c=c.replace(re,ae):t.setAttribute("id",c=b),s=(m=i(e)).length;s--;)m[s]="#"+c+" "+ge(m[s]);y=m.join(","),v=ee.test(e)&&ye(t.parentNode)||t}try{return M.apply(r,v.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return l(e.replace(z,"$1"),t,r,a)}function le(){var e=[];return function t(n,a){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=a}}function ue(e){return e[b]=!0,e}function ce(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),a=n.length;a--;)r.attrHandle[n[a]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function me(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function he(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function _e(e){return ue((function(t){return t=+t,ue((function(n,r){for(var a,o=e([],n.length,t),i=o.length;i--;)n[a=o[i]]&&(n[a]=!(r[a]=n[a]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!X.test(t||n&&n.nodeName||"HTML")},f=se.setDocument=function(e){var t,a,i=e?e.ownerDocument||e:E;return i!==p&&9===i.nodeType&&i.documentElement?(m=(p=i).documentElement,h=!o(p),E!==p&&(a=p.defaultView)&&a.top!==a&&(a.addEventListener?a.addEventListener("unload",oe,!1):a.attachEvent&&a.attachEvent("onunload",oe)),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ce((function(e){return m.appendChild(e).id=b,!p.getElementsByName||!p.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&h){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&h){var n,r,a,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(a=t.getElementsByName(e),r=0;o=a[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],a=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[a++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&h)return t.getElementsByClassName(e)},y=[],_=[],(n.qsa=J.test(p.querySelectorAll))&&(ce((function(e){m.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&_.push("[*^$]="+j+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||_.push("\\["+j+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+b+"-]").length||_.push("~="),e.querySelectorAll(":checked").length||_.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||_.push(".#.+[+~]")})),ce((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&_.push("name"+j+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&_.push(":enabled",":disabled"),m.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&_.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),_.push(",.*:")}))),(n.matchesSelector=J.test(v=m.matches||m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=v.call(e,"*"),v.call(e,"[s!='']:x"),y.push("!=",F)})),_=_.length&&new RegExp(_.join("|")),y=y.length&&new RegExp(y.join("|")),t=J.test(m.compareDocumentPosition),g=t||J.test(m.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},C=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===E&&g(E,e)?-1:t===p||t.ownerDocument===E&&g(E,t)?1:c?L(c,e)-L(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,a=e.parentNode,o=t.parentNode,i=[e],s=[t];if(!a||!o)return e===p?-1:t===p?1:a?-1:o?1:c?L(c,e)-L(c,t):0;if(a===o)return fe(e,t);for(n=e;n=n.parentNode;)i.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;i[r]===s[r];)r++;return r?fe(i[r],s[r]):i[r]===E?-1:s[r]===E?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&f(e),n.matchesSelector&&h&&!A[t+" "]&&(!y||!y.test(t))&&(!_||!_.test(t)))try{var r=v.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!==p&&f(e),g(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==p&&f(e);var a=r.attrHandle[t.toLowerCase()],o=a&&P.call(r.attrHandle,t.toLowerCase())?a(e,t,!h):void 0;return void 0!==o?o:n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ae)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],a=0,o=0;if(d=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(C),d){for(;t=e[o++];)t===e[o]&&(a=r.push(o));for(;a--;)e.splice(r[a],1)}return c=null,e},a=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=a(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ue,match:K,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=i(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+" "];return t||(t=new RegExp("(^|"+j+")"+e+"("+j+"|$)"))&&S(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var a=se.attr(r,e);return null==a?"!="===t:!t||(a+="","="===t?a===n:"!="===t?a!==n:"^="===t?n&&0===a.indexOf(n):"*="===t?n&&a.indexOf(n)>-1:"$="===t?n&&a.slice(-n.length)===n:"~="===t?(" "+a.replace(H," ")+" ").indexOf(n)>-1:"|="===t&&(a===n||a.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,a){var o="nth"!==e.slice(0,3),i="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===a?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,f,p,m,h=o!==i?"nextSibling":"previousSibling",_=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s,g=!1;if(_){if(o){for(;h;){for(f=t;f=f[h];)if(s?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;m=h="only"===e&&!m&&"nextSibling"}return!0}if(m=[i?_.firstChild:_.lastChild],i&&v){for(g=(p=(u=(c=(d=(f=_)[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&u[1])&&u[2],f=p&&_.childNodes[p];f=++p&&f&&f[h]||(g=p=0)||m.pop();)if(1===f.nodeType&&++g&&f===t){c[e]=[k,p,g];break}}else if(v&&(g=p=(u=(c=(d=(f=t)[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&u[1]),!1===g)for(;(f=++p&&f&&f[h]||(g=p=0)||m.pop())&&((s?f.nodeName.toLowerCase()!==y:1!==f.nodeType)||!++g||(v&&((c=(d=f[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[k,g]),f!==t)););return(g-=a)===r||g%r==0&&g/r>=0}}},PSEUDO:function(e,t){var n,a=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[b]?a(t):a.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue((function(e,n){for(var r,o=a(e,t),i=o.length;i--;)e[r=L(e,o[i])]=!(n[r]=o[i])})):function(e){return a(e,0,n)}):a}},pseudos:{not:ue((function(e){var t=[],n=[],r=s(e.replace(z,"$1"));return r[b]?ue((function(e,t,n,a){for(var o,i=r(e,null,a,[]),s=e.length;s--;)(o=i[s])&&(e[s]=!(t[s]=o))})):function(e,a,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:ue((function(e){return function(t){return se(e,t).length>0}})),contains:ue((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||a(t)).indexOf(e)>-1}})),lang:ue((function(e){return W.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===m},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:he(!1),disabled:he(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return $.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:_e((function(){return[0]})),last:_e((function(e,t){return[t-1]})),eq:_e((function(e,t,n){return[n<0?n+t:n]})),even:_e((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:_e((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:_e((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e})),gt:_e((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=me(t);function ve(){}function ge(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,a=t.next,o=a||r,i=n&&"parentNode"===o,s=w++;return t.first?function(t,n,a){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,a);return!1}:function(t,n,l){var u,c,d,f=[k,s];if(l){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,l))return!0}else for(;t=t[r];)if(1===t.nodeType||i)if(c=(d=t[b]||(t[b]={}))[t.uniqueID]||(d[t.uniqueID]={}),a&&a===t.nodeName.toLowerCase())t=t[r]||t;else{if((u=c[o])&&u[0]===k&&u[1]===s)return f[2]=u[2];if(c[o]=f,f[2]=e(t,n,l))return!0}return!1}}function Ee(e){return e.length>1?function(t,n,r){for(var a=e.length;a--;)if(!e[a](t,n,r))return!1;return!0}:e[0]}function ke(e,t,n,r,a){for(var o,i=[],s=0,l=e.length,u=null!=t;s<l;s++)(o=e[s])&&(n&&!n(o,r,a)||(i.push(o),u&&t.push(s)));return i}function we(e,t,n,r,a,o){return r&&!r[b]&&(r=we(r)),a&&!a[b]&&(a=we(a,o)),ue((function(o,i,s,l){var u,c,d,f=[],p=[],m=i.length,h=o||function(e,t,n){for(var r=0,a=t.length;r<a;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),_=!e||!o&&t?h:ke(h,f,e,s,l),y=n?a||(o?e:m||r)?[]:i:_;if(n&&n(_,y,s,l),r)for(u=ke(y,p),r(u,[],s,l),c=u.length;c--;)(d=u[c])&&(y[p[c]]=!(_[p[c]]=d));if(o){if(a||e){if(a){for(u=[],c=y.length;c--;)(d=y[c])&&u.push(_[c]=d);a(null,y=[],u,l)}for(c=y.length;c--;)(d=y[c])&&(u=a?L(o,d):f[c])>-1&&(o[u]=!(i[u]=d))}}else y=ke(y===i?y.splice(m,y.length):y),a?a(null,i,y,l):M.apply(i,y)}))}function Se(e){for(var t,n,a,o=e.length,i=r.relative[e[0].type],s=i||r.relative[" "],l=i?1:0,c=be((function(e){return e===t}),s,!0),d=be((function(e){return L(t,e)>-1}),s,!0),f=[function(e,n,r){var a=!i&&(r||n!==u)||((t=n).nodeType?c(e,n,r):d(e,n,r));return t=null,a}];l<o;l++)if(n=r.relative[e[l].type])f=[be(Ee(f),n)];else{if((n=r.filter[e[l].type].apply(null,e[l].matches))[b]){for(a=++l;a<o&&!r.relative[e[a].type];a++);return we(l>1&&Ee(f),l>1&&ge(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,l<a&&Se(e.slice(l,a)),a<o&&Se(e=e.slice(a)),a<o&&ge(e))}f.push(n)}return Ee(f)}return ve.prototype=r.filters=r.pseudos,r.setFilters=new ve,i=se.tokenize=function(e,t){var n,a,o,i,s,l,u,c=O[e+" "];if(c)return t?0:c.slice(0);for(s=e,l=[],u=r.preFilter;s;){for(i in n&&!(a=B.exec(s))||(a&&(s=s.slice(a[0].length)||s),l.push(o=[])),n=!1,(a=G.exec(s))&&(n=a.shift(),o.push({value:n,type:a[0].replace(z," ")}),s=s.slice(n.length)),r.filter)!(a=K[i].exec(s))||u[i]&&!(a=u[i](a))||(n=a.shift(),o.push({value:n,type:i,matches:a}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):O(e,l).slice(0)},s=se.compile=function(e,t){var n,a=[],o=[],s=T[e+" "];if(!s){for(t||(t=i(e)),n=t.length;n--;)(s=Se(t[n]))[b]?a.push(s):o.push(s);(s=T(e,function(e,t){var n=t.length>0,a=e.length>0,o=function(o,i,s,l,c){var d,m,_,y=0,v="0",g=o&&[],b=[],E=u,w=o||a&&r.find.TAG("*",c),S=k+=null==E?1:Math.random()||.1,O=w.length;for(c&&(u=i===p||i||c);v!==O&&null!=(d=w[v]);v++){if(a&&d){for(m=0,i||d.ownerDocument===p||(f(d),s=!h);_=e[m++];)if(_(d,i||p,s)){l.push(d);break}c&&(k=S)}n&&((d=!_&&d)&&y--,o&&g.push(d))}if(y+=v,n&&v!==y){for(m=0;_=t[m++];)_(g,b,i,s);if(o){if(y>0)for(;v--;)g[v]||b[v]||(b[v]=N.call(l));b=ke(b)}M.apply(l,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(l)}return c&&(k=S,u=E),g};return n?ue(o):o}(o,a))).selector=e}return s},l=se.select=function(e,t,n,a){var o,l,u,c,d,f="function"==typeof e&&e,p=!a&&i(e=f.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(u=l[0]).type&&9===t.nodeType&&h&&r.relative[l[1].type]){if(!(t=(r.find.ID(u.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=K.needsContext.test(e)?0:l.length;o--&&(u=l[o],!r.relative[c=u.type]);)if((d=r.find[c])&&(a=d(u.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(o,1),!(e=a.length&&ge(l)))return M.apply(n,a),n;break}}return(f||s(e,p))(a,t,!h,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(C).join("")===b,n.detectDuplicates=!!d,f(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),ce((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||de(I,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(n);w.find=T,w.expr=T.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=T.uniqueSort,w.text=T.getText,w.isXMLDoc=T.isXML,w.contains=T.contains,w.escapeSelector=T.escape;var A=function(e,t,n){for(var r=[],a=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(a&&w(e).is(n))break;r.push(e)}return r},C=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},P=w.expr.match.needsContext;function x(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function R(e,t,n){return v(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?w.grep(e,(function(e){return d.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,a=this;if("string"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t<r;t++)if(w.contains(a[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,a[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(R(this,e||[],!1))},not:function(e){return this.pushStack(R(this,e||[],!0))},is:function(e){return!!R(this,"string"==typeof e&&P.test(e)?w(e):e||[],!1).length}});var M,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,a;if(!e)return this;if(n=n||M,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:i,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(a=i.getElementById(r[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,M=w(i);var L=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function j(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,a=this.length,o=[],i="string"!=typeof e&&w(e);if(!P.test(e))for(;r<a;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(i?i.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?d.call(w(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return A(e,"parentNode")},parentsUntil:function(e,t,n){return A(e,"parentNode",n)},next:function(e){return j(e,"nextSibling")},prev:function(e){return j(e,"previousSibling")},nextAll:function(e){return A(e,"nextSibling")},prevAll:function(e){return A(e,"previousSibling")},nextUntil:function(e,t,n){return A(e,"nextSibling",n)},prevUntil:function(e,t,n){return A(e,"previousSibling",n)},siblings:function(e){return C((e.parentNode||{}).firstChild,e)},children:function(e){return C(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(x(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var a=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(a=w.filter(r,a)),this.length>1&&(I[e]||w.uniqueSort(a),L.test(e)&&a.reverse()),this.pushStack(a)}}));var U=/[^\x20\t\r\n\f]+/g;function Y(e){return e}function F(e){throw e}function H(e,t,n,r){var a;try{e&&v(a=e.promise)?a.call(e).done(t).fail(n):e&&v(a=e.then)?a.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(U)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,a,o=[],i=[],s=-1,l=function(){for(a=a||e.once,r=t=!0;i.length;s=-1)for(n=i.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,a&&(o=n?[]:"")},u={add:function(){return o&&(n&&!t&&(s=o.length-1,i.push(n)),function t(n){w.each(n,(function(n,r){v(r)?e.unique&&u.has(r)||o.push(r):r&&r.length&&"string"!==k(r)&&t(r)}))}(arguments),n&&!t&&l()),this},remove:function(){return w.each(arguments,(function(e,t){for(var n;(n=w.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return a=i=[],o=n="",this},disabled:function(){return!o},lock:function(){return a=i=[],n||t||(o=n=""),this},locked:function(){return!!a},fireWith:function(e,n){return a||(n=[e,(n=n||[]).slice?n.slice():n],i.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},w.extend({Deferred:function(e){var t=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",a={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(n){w.each(t,(function(t,r){var a=v(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=a&&a.apply(this,arguments);e&&v(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,a?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,a){var o=0;function i(e,t,r,a){return function(){var s=this,l=arguments,u=function(){var n,u;if(!(e<o)){if((n=r.apply(s,l))===t.promise())throw new TypeError("Thenable self-resolution");u=n&&("object"==typeof n||"function"==typeof n)&&n.then,v(u)?a?u.call(n,i(o,t,Y,a),i(o,t,F,a)):(o++,u.call(n,i(o,t,Y,a),i(o,t,F,a),i(o,t,Y,t.notifyWith))):(r!==Y&&(s=void 0,l=[n]),(a||t.resolveWith)(s,l))}},c=a?u:function(){try{u()}catch(n){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(n,c.stackTrace),e+1>=o&&(r!==F&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),n.setTimeout(c))}}return w.Deferred((function(n){t[0][3].add(i(0,n,v(a)?a:Y,n.notifyWith)),t[1][3].add(i(0,n,v(e)?e:Y)),t[2][3].add(i(0,n,v(r)?r:F))})).promise()},promise:function(e){return null!=e?w.extend(e,a):a}},o={};return w.each(t,(function(e,n){var i=n[2],s=n[5];a[n[1]]=i.add,s&&i.add((function(){r=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),i.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=i.fireWith})),a.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),a=l.call(arguments),o=w.Deferred(),i=function(e){return function(n){r[e]=this,a[e]=arguments.length>1?l.call(arguments):n,--t||o.resolveWith(r,a)}};if(t<=1&&(H(e,o.done(i(n)).resolve,o.reject,!t),"pending"===o.state()||v(a[n]&&a[n].then)))return o.then();for(;n--;)H(a[n],i(n),o.reject);return o.promise()}});var z=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&z.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},w.readyException=function(e){n.setTimeout((function(){throw e}))};var B=w.Deferred();function G(){i.removeEventListener("DOMContentLoaded",G),n.removeEventListener("load",G),w.ready()}w.fn.ready=function(e){return B.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||B.resolveWith(i,[w]))}}),w.ready.then=B.then,"complete"===i.readyState||"loading"!==i.readyState&&!i.documentElement.doScroll?n.setTimeout(w.ready):(i.addEventListener("DOMContentLoaded",G),n.addEventListener("load",G));var q=function(e,t,n,r,a,o,i){var s=0,l=e.length,u=null==n;if("object"===k(n))for(s in a=!0,n)q(e,t,s,n[s],!0,o,i);else if(void 0!==r&&(a=!0,v(r)||(i=!0),u&&(i?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(w(e),n)})),t))for(;s<l;s++)t(e[s],n,i?r:r.call(e[s],s,t(e[s],n)));return a?e:u?t.call(e):l?t(e[0],n):o},V=/^-ms-/,W=/-([a-z])/g;function K(e,t){return t.toUpperCase()}function X(e){return e.replace(V,"ms-").replace(W,K)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,a=this.cache(e);if("string"==typeof t)a[X(t)]=n;else for(r in t)a[X(r)]=t[r];return a},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(U)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,Z=new Q,ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,te=/[A-Z]/g;function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(te,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:ee.test(e)?JSON.parse(e):e)}(n)}catch(e){}Z.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Z.hasData(e)||J.hasData(e)},data:function(e,t,n){return Z.access(e,t,n)},removeData:function(e,t){Z.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,a,o=this[0],i=o&&o.attributes;if(void 0===e){if(this.length&&(a=Z.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){for(n=i.length;n--;)i[n]&&0===(r=i[n].name).indexOf("data-")&&(r=X(r.slice(5)),ne(o,r,a[r]));J.set(o,"hasDataAttrs",!0)}return a}return"object"==typeof e?this.each((function(){Z.set(this,e)})):q(this,(function(t){var n;if(o&&void 0===t)return void 0!==(n=Z.get(o,e))?n:void 0!==(n=ne(o,e))?n:void 0;this.each((function(){Z.set(this,e,t)}))}),null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each((function(){Z.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,a=n.shift(),o=w._queueHooks(e,t);"inprogress"===a&&(a=n.shift(),r--),a&&("fx"===t&&n.unshift("inprogress"),delete o.stop,a.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add((function(){J.remove(e,[t+"queue",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each((function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){w.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,a=w.Deferred(),o=this,i=this.length,s=function(){--r||a.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";i--;)(n=J.get(o[i],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),a.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ae=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ie=i.documentElement,se=function(e){return w.contains(e.ownerDocument,e)},le={composed:!0};ie.getRootNode&&(se=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(le)===e.ownerDocument});var ue=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&se(e)&&"none"===w.css(e,"display")},ce=function(e,t,n,r){var a,o,i={};for(o in t)i[o]=e.style[o],e.style[o]=t[o];for(o in a=n.apply(e,r||[]),t)e.style[o]=i[o];return a};function de(e,t,n,r){var a,o,i=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},l=s(),u=n&&n[3]||(w.cssNumber[t]?"":"px"),c=e.nodeType&&(w.cssNumber[t]||"px"!==u&&+l)&&ae.exec(w.css(e,t));if(c&&c[3]!==u){for(l/=2,u=u||c[3],c=+l||1;i--;)w.style(e,t,c+u),(1-o)*(1-(o=s()/l||.5))<=0&&(i=0),c/=o;c*=2,w.style(e,t,c+u),n=n||[]}return n&&(c=+c||+l||0,a=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=c,r.end=a)),a}var fe={};function pe(e){var t,n=e.ownerDocument,r=e.nodeName,a=fe[r];return a||(t=n.body.appendChild(n.createElement(r)),a=w.css(t,"display"),t.parentNode.removeChild(t),"none"===a&&(a="block"),fe[r]=a,a)}function me(e,t){for(var n,r,a=[],o=0,i=e.length;o<i;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(a[o]=J.get(r,"display")||null,a[o]||(r.style.display="")),""===r.style.display&&ue(r)&&(a[o]=pe(r))):"none"!==n&&(a[o]="none",J.set(r,"display",n)));for(o=0;o<i;o++)null!=a[o]&&(e[o].style.display=a[o]);return e}w.fn.extend({show:function(){return me(this,!0)},hide:function(){return me(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ue(this)?w(this).show():w(this).hide()}))}});var he=/^(?:checkbox|radio)$/i,_e=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,ye=/^$|^module$|\/(?:java|ecma)script/i,ve={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,"",""]};function ge(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&x(e,t)?w.merge([e],n):n}function be(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}ve.optgroup=ve.option,ve.tbody=ve.tfoot=ve.colgroup=ve.caption=ve.thead,ve.th=ve.td;var Ee,ke,we=/<|&#?\w+;/;function Se(e,t,n,r,a){for(var o,i,s,l,u,c,d=t.createDocumentFragment(),f=[],p=0,m=e.length;p<m;p++)if((o=e[p])||0===o)if("object"===k(o))w.merge(f,o.nodeType?[o]:o);else if(we.test(o)){for(i=i||d.appendChild(t.createElement("div")),s=(_e.exec(o)||["",""])[1].toLowerCase(),l=ve[s]||ve._default,i.innerHTML=l[1]+w.htmlPrefilter(o)+l[2],c=l[0];c--;)i=i.lastChild;w.merge(f,i.childNodes),(i=d.firstChild).textContent=""}else f.push(t.createTextNode(o));for(d.textContent="",p=0;o=f[p++];)if(r&&w.inArray(o,r)>-1)a&&a.push(o);else if(u=se(o),i=ge(d.appendChild(o),"script"),u&&be(i),n)for(c=0;o=i[c++];)ye.test(o.type||"")&&n.push(o);return d}Ee=i.createDocumentFragment().appendChild(i.createElement("div")),(ke=i.createElement("input")).setAttribute("type","radio"),ke.setAttribute("checked","checked"),ke.setAttribute("name","t"),Ee.appendChild(ke),y.checkClone=Ee.cloneNode(!0).cloneNode(!0).lastChild.checked,Ee.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!Ee.cloneNode(!0).lastChild.defaultValue;var Oe=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ae=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Pe(){return!1}function xe(e,t){return e===function(){try{return i.activeElement}catch(e){}}()==("focus"===t)}function Ne(e,t,n,r,a,o){var i,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ne(e,s,n,r,t[s],o);return e}if(null==r&&null==a?(a=n,r=n=void 0):null==a&&("string"==typeof n?(a=r,r=void 0):(a=r,r=n,n=void 0)),!1===a)a=Pe;else if(!a)return e;return 1===o&&(i=a,(a=function(e){return w().off(e),i.apply(this,arguments)}).guid=i.guid||(i.guid=w.guid++)),e.each((function(){w.event.add(this,t,a,r,n)}))}function Re(e,t,n){n?(J.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,a,o=J.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=l.call(arguments),J.set(this,t,o),r=n(this,t),this[t](),o!==(a=J.get(this,t))||r?J.set(this,t,!1):a={},o!==a)return e.stopImmediatePropagation(),e.preventDefault(),a.value}else o.length&&(J.set(this,t,{value:w.event.trigger(w.extend(o[0],w.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&w.event.add(e,t,Ce)}w.event={global:{},add:function(e,t,n,r,a){var o,i,s,l,u,c,d,f,p,m,h,_=J.get(e);if(_)for(n.handler&&(n=(o=n).handler,a=o.selector),a&&w.find.matchesSelector(ie,a),n.guid||(n.guid=w.guid++),(l=_.events)||(l=_.events={}),(i=_.handle)||(i=_.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(U)||[""]).length;u--;)p=h=(s=Ae.exec(t[u])||[])[1],m=(s[2]||"").split(".").sort(),p&&(d=w.event.special[p]||{},p=(a?d.delegateType:d.bindType)||p,d=w.event.special[p]||{},c=w.extend({type:p,origType:h,data:r,handler:n,guid:n.guid,selector:a,needsContext:a&&w.expr.match.needsContext.test(a),namespace:m.join(".")},o),(f=l[p])||((f=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,m,i)||e.addEventListener&&e.addEventListener(p,i)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),a?f.splice(f.delegateCount++,0,c):f.push(c),w.event.global[p]=!0)},remove:function(e,t,n,r,a){var o,i,s,l,u,c,d,f,p,m,h,_=J.hasData(e)&&J.get(e);if(_&&(l=_.events)){for(u=(t=(t||"").match(U)||[""]).length;u--;)if(p=h=(s=Ae.exec(t[u])||[])[1],m=(s[2]||"").split(".").sort(),p){for(d=w.event.special[p]||{},f=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=o=f.length;o--;)c=f[o],!a&&h!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,d.remove&&d.remove.call(e,c));i&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,m,_.handle)||w.removeEvent(e,p,_.handle),delete l[p])}else for(p in l)w.event.remove(e,p+t[u],n,r,!0);w.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,a,o,i,s=w.event.fix(e),l=new Array(arguments.length),u=(J.get(this,"events")||{})[s.type]||[],c=w.event.special[s.type]||{};for(l[0]=s,t=1;t<arguments.length;t++)l[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(i=w.event.handlers.call(this,s,u),t=0;(a=i[t++])&&!s.isPropagationStopped();)for(s.currentTarget=a.elem,n=0;(o=a.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(a.elem,l))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,a,o,i,s=[],l=t.delegateCount,u=e.target;if(l&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],i={},n=0;n<l;n++)void 0===i[a=(r=t[n]).selector+" "]&&(i[a]=r.needsContext?w(a,this).index(u)>-1:w.find(a,this,null,[u]).length),i[a]&&o.push(r);o.length&&s.push({elem:u,handlers:o})}return u=this,l<t.length&&s.push({elem:u,handlers:t.slice(l)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:v(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return he.test(t.type)&&t.click&&x(t,"input")&&Re(t,"click",Ce),!1},trigger:function(e){var t=this||e;return he.test(t.type)&&t.click&&x(t,"input")&&Re(t,"click"),!0},_default:function(e){var t=e.target;return he.test(t.type)&&t.click&&x(t,"input")&&J.get(t,"click")||x(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Pe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Pe,isPropagationStopped:Pe,isImmediatePropagationStopped:Pe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.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,code:!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(e){var t=e.button;return null==e.which&&Oe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},(function(e,t){w.event.special[e]={setup:function(){return Re(this,e,xe),!1},trigger:function(){return Re(this,e),!0},delegateType:t}})),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,a=e.relatedTarget,o=e.handleObj;return a&&(a===r||w.contains(r,a))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}})),w.fn.extend({on:function(e,t,n,r){return Ne(this,e,t,n,r)},one:function(e,t,n,r){return Ne(this,e,t,n,r,1)},off:function(e,t,n){var r,a;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(a in e)this.off(a,t,e[a]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Pe),this.each((function(){w.event.remove(this,e,n,t)}))}});var Me=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,De=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,Ie=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return x(e,"table")&&x(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Ue(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ye(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,a,o,i,s,l,u;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),i=J.set(t,o),u=o.events))for(a in delete i.handle,i.events={},u)for(n=0,r=u[a].length;n<r;n++)w.event.add(t,a,u[a][n]);Z.hasData(e)&&(s=Z.access(e),l=w.extend({},s),Z.set(t,l))}}function He(e,t){var n=t.nodeName.toLowerCase();"input"===n&&he.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function ze(e,t,n,r){t=u.apply([],t);var a,o,i,s,l,c,d=0,f=e.length,p=f-1,m=t[0],h=v(m);if(h||f>1&&"string"==typeof m&&!y.checkClone&&Le.test(m))return e.each((function(a){var o=e.eq(a);h&&(t[0]=m.call(this,a,o.html())),ze(o,t,n,r)}));if(f&&(o=(a=Se(t,e[0].ownerDocument,!1,e,r)).firstChild,1===a.childNodes.length&&(a=o),o||r)){for(s=(i=w.map(ge(a,"script"),Ue)).length;d<f;d++)l=a,d!==p&&(l=w.clone(l,!0,!0),s&&w.merge(i,ge(l,"script"))),n.call(e[d],l,d);if(s)for(c=i[i.length-1].ownerDocument,w.map(i,Ye),d=0;d<s;d++)l=i[d],ye.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&!l.noModule&&w._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")}):E(l.textContent.replace(Ie,""),l,c))}return e}function Be(e,t,n){for(var r,a=t?w.filter(t,e):e,o=0;null!=(r=a[o]);o++)n||1!==r.nodeType||w.cleanData(ge(r)),r.parentNode&&(n&&se(r)&&be(ge(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Me,"<$1></$2>")},clone:function(e,t,n){var r,a,o,i,s=e.cloneNode(!0),l=se(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(i=ge(s),r=0,a=(o=ge(e)).length;r<a;r++)He(o[r],i[r]);if(t)if(n)for(o=o||ge(e),i=i||ge(s),r=0,a=o.length;r<a;r++)Fe(o[r],i[r]);else Fe(e,s);return(i=ge(s,"script")).length>0&&be(i,!l&&ge(e,"script")),s},cleanData:function(e){for(var t,n,r,a=w.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)a[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return q(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return ze(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)}))},prepend:function(){return ze(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return ze(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return ze(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return q(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!ve[(_e.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return ze(this,arguments,(function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ge(this)),n&&n.replaceChild(t,this))}),e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){w.fn[e]=function(e){for(var n,r=[],a=w(e),o=a.length-1,i=0;i<=o;i++)n=i===o?this:this.clone(!0),w(a[i])[t](n),c.apply(r,n.get());return this.pushStack(r)}}));var Ge=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),qe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},Ve=new RegExp(oe.join("|"),"i");function We(e,t,n){var r,a,o,i,s=e.style;return(n=n||qe(e))&&(""!==(i=n.getPropertyValue(t)||n[t])||se(e)||(i=w.style(e,t)),!y.pixelBoxStyles()&&Ge.test(i)&&Ve.test(t)&&(r=s.width,a=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=i,i=n.width,s.width=r,s.minWidth=a,s.maxWidth=o)),void 0!==i?i+"":i}function Ke(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(c){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(u).appendChild(c);var e=n.getComputedStyle(c);r="1%"!==e.top,l=12===t(e.marginLeft),c.style.right="60%",s=36===t(e.right),a=36===t(e.width),c.style.position="absolute",o=12===t(c.offsetWidth/3),ie.removeChild(u),c=null}}function t(e){return Math.round(parseFloat(e))}var r,a,o,s,l,u=i.createElement("div"),c=i.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(y,{boxSizingReliable:function(){return e(),a},pixelBoxStyles:function(){return e(),s},pixelPosition:function(){return e(),r},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),o}}))}();var Xe=["Webkit","Moz","ms"],$e=i.createElement("div").style,Qe={};function Je(e){var t=w.cssProps[e]||Qe[e];return t||(e in $e?e:Qe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Xe.length;n--;)if((e=Xe[n]+t)in $e)return e}(e)||e)}var Ze=/^(none|table(?!-c[ea]).+)/,et=/^--/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=ae.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function at(e,t,n,r,a,o){var i="width"===t?1:0,s=0,l=0;if(n===(r?"border":"content"))return 0;for(;i<4;i+=2)"margin"===n&&(l+=w.css(e,n+oe[i],!0,a)),r?("content"===n&&(l-=w.css(e,"padding"+oe[i],!0,a)),"margin"!==n&&(l-=w.css(e,"border"+oe[i]+"Width",!0,a))):(l+=w.css(e,"padding"+oe[i],!0,a),"padding"!==n?l+=w.css(e,"border"+oe[i]+"Width",!0,a):s+=w.css(e,"border"+oe[i]+"Width",!0,a));return!r&&o>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-s-.5))||0),l}function ot(e,t,n){var r=qe(e),a=(!y.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),o=a,i=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ge.test(i)){if(!n)return i;i="auto"}return(!y.boxSizingReliable()&&a||"auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&e.getClientRects().length&&(a="border-box"===w.css(e,"boxSizing",!1,r),(o=s in e)&&(i=e[s])),(i=parseFloat(i)||0)+at(e,t,n||(a?"border":"content"),o,r,i)+"px"}function it(e,t,n,r,a){return new it.prototype.init(e,t,n,r,a)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,o,i,s=X(t),l=et.test(t),u=e.style;if(l||(t=Je(s)),i=w.cssHooks[t]||w.cssHooks[s],void 0===n)return i&&"get"in i&&void 0!==(a=i.get(e,!1,r))?a:u[t];"string"===(o=typeof n)&&(a=ae.exec(n))&&a[1]&&(n=de(e,t,a),o="number"),null!=n&&n==n&&("number"!==o||l||(n+=a&&a[3]||(w.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),i&&"set"in i&&void 0===(n=i.set(e,n,r))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var a,o,i,s=X(t);return et.test(t)||(t=Je(s)),(i=w.cssHooks[t]||w.cssHooks[s])&&"get"in i&&(a=i.get(e,!0,n)),void 0===a&&(a=We(e,t,r)),"normal"===a&&t in nt&&(a=nt[t]),""===n||n?(o=parseFloat(a),!0===n||isFinite(o)?o||0:a):a}}),w.each(["height","width"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,t,r):ce(e,tt,(function(){return ot(e,t,r)}))},set:function(e,n,r){var a,o=qe(e),i=!y.scrollboxSize()&&"absolute"===o.position,s=(i||r)&&"border-box"===w.css(e,"boxSizing",!1,o),l=r?at(e,t,r,s,o):0;return s&&i&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-at(e,t,"border",!1,o)-.5)),l&&(a=ae.exec(n))&&"px"!==(a[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),rt(0,n,l)}}})),w.cssHooks.marginLeft=Ke(y.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-ce(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,a={},o="string"==typeof n?n.split(" "):[n];r<4;r++)a[e+oe[r]+t]=o[r]||o[r-2]||o[0];return a}},"margin"!==e&&(w.cssHooks[e+t].set=rt)})),w.fn.extend({css:function(e,t){return q(this,(function(e,t,n){var r,a,o={},i=0;if(Array.isArray(t)){for(r=qe(e),a=t.length;i<a;i++)o[t[i]]=w.css(e,t[i],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)}),e,t,arguments.length>1)}}),w.Tween=it,it.prototype={constructor:it,init:function(e,t,n,r,a,o){this.elem=e,this.prop=n,this.easing=a||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=it.propHooks[this.prop];return e&&e.get?e.get(this):it.propHooks._default.get(this)},run:function(e){var t,n=it.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):it.propHooks._default.set(this),this}},it.prototype.init.prototype=it.prototype,it.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Je(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},it.propHooks.scrollTop=it.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=it.prototype.init,w.fx.step={};var st,lt,ut=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function dt(){lt&&(!1===i.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(dt):n.setTimeout(dt,w.fx.interval),w.fx.tick())}function ft(){return n.setTimeout((function(){st=void 0})),st=Date.now()}function pt(e,t){var n,r=0,a={height:e};for(t=t?1:0;r<4;r+=2-t)a["margin"+(n=oe[r])]=a["padding"+n]=e;return t&&(a.opacity=a.width=e),a}function mt(e,t,n){for(var r,a=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),o=0,i=a.length;o<i;o++)if(r=a[o].call(n,t,e))return r}function ht(e,t,n){var r,a,o=0,i=ht.prefilters.length,s=w.Deferred().always((function(){delete l.elem})),l=function(){if(a)return!1;for(var t=st||ft(),n=Math.max(0,u.startTime+u.duration-t),r=1-(n/u.duration||0),o=0,i=u.tweens.length;o<i;o++)u.tweens[o].run(r);return s.notifyWith(e,[u,r,n]),r<1&&i?n:(i||s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:st||ft(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(a)return this;for(a=!0;n<r;n++)u.tweens[n].run(1);return t?(s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u,t])):s.rejectWith(e,[u,t]),this}}),c=u.props;for(!function(e,t){var n,r,a,o,i;for(n in e)if(a=t[r=X(n)],o=e[n],Array.isArray(o)&&(a=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(i=w.cssHooks[r])&&"expand"in i)for(n in o=i.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=a);else t[r]=a}(c,u.opts.specialEasing);o<i;o++)if(r=ht.prefilters[o].call(u,e,c,u.opts))return v(r.stop)&&(w._queueHooks(u.elem,u.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,mt,u),v(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),w.fx.timer(w.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u}w.Animation=w.extend(ht,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return de(n.elem,e,ae.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(U);for(var n,r=0,a=e.length;r<a;r++)n=e[r],ht.tweeners[n]=ht.tweeners[n]||[],ht.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,a,o,i,s,l,u,c,d="width"in t||"height"in t,f=this,p={},m=e.style,h=e.nodeType&&ue(e),_=J.get(e,"fxshow");for(r in n.queue||(null==(i=w._queueHooks(e,"fx")).unqueued&&(i.unqueued=0,s=i.empty.fire,i.empty.fire=function(){i.unqueued||s()}),i.unqueued++,f.always((function(){f.always((function(){i.unqueued--,w.queue(e,"fx").length||i.empty.fire()}))}))),t)if(a=t[r],ut.test(a)){if(delete t[r],o=o||"toggle"===a,a===(h?"hide":"show")){if("show"!==a||!_||void 0===_[r])continue;h=!0}p[r]=_&&_[r]||w.style(e,r)}if((l=!w.isEmptyObject(t))||!w.isEmptyObject(p))for(r in d&&1===e.nodeType&&(n.overflow=[m.overflow,m.overflowX,m.overflowY],null==(u=_&&_.display)&&(u=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(u?c=u:(me([e],!0),u=e.style.display||u,c=w.css(e,"display"),me([e]))),("inline"===c||"inline-block"===c&&null!=u)&&"none"===w.css(e,"float")&&(l||(f.done((function(){m.display=u})),null==u&&(c=m.display,u="none"===c?"":c)),m.display="inline-block")),n.overflow&&(m.overflow="hidden",f.always((function(){m.overflow=n.overflow[0],m.overflowX=n.overflow[1],m.overflowY=n.overflow[2]}))),l=!1,p)l||(_?"hidden"in _&&(h=_.hidden):_=J.access(e,"fxshow",{display:u}),o&&(_.hidden=!h),h&&me([e],!0),f.done((function(){for(r in h||me([e]),J.remove(e,"fxshow"),p)w.style(e,r,p[r])}))),l=mt(h?_[r]:0,r,f),r in _||(_[r]=l.start,h&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?ht.prefilters.unshift(e):ht.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ue).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var a=w.isEmptyObject(e),o=w.speed(t,n,r),i=function(){var t=ht(this,w.extend({},e),o);(a||J.get(this,"finish"))&&t.stop(!0)};return i.finish=i,a||!1===o.queue?this.each(i):this.queue(o.queue,i)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each((function(){var t=!0,a=null!=e&&e+"queueHooks",o=w.timers,i=J.get(this);if(a)i[a]&&i[a].stop&&r(i[a]);else for(a in i)i[a]&&i[a].stop&&ct.test(a)&&r(i[a]);for(a=o.length;a--;)o[a].elem!==this||null!=e&&o[a].queue!==e||(o[a].anim.stop(n),t=!1,o.splice(a,1));!t&&n||w.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=J.get(this),r=n[e+"queue"],a=n[e+"queueHooks"],o=w.timers,i=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),a&&a.stop&&a.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<i;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),w.each(["toggle","show","hide"],(function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,a){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(pt(t,!0),e,r,a)}})),w.each({slideDown:pt("show"),slideUp:pt("hide"),slideToggle:pt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),st=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){lt||(lt=!0,dt())},w.fx.stop=function(){lt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(e,t){return e=w.fx&&w.fx.speeds[e]||e,t=t||"fx",this.queue(t,(function(t,r){var a=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(a)}}))},function(){var e=i.createElement("input"),t=i.createElement("select").appendChild(i.createElement("option"));e.type="checkbox",y.checkOn=""!==e.value,y.optSelected=t.selected,(e=i.createElement("input")).value="t",e.type="radio",y.radioValue="t"===e.value}();var _t,yt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return q(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,a,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(a=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?_t:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:(e.setAttribute(t,n+""),n):a&&"get"in a&&null!==(r=a.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&x(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,a=t&&t.match(U);if(a&&1===e.nodeType)for(;n=a[r++];)e.removeAttribute(n)}}),_t={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=yt[t]||w.find.attr;yt[t]=function(e,t,r){var a,o,i=t.toLowerCase();return r||(o=yt[i],yt[i]=a,a=null!=n(e,t,r)?i:null,yt[i]=o),a}}));var vt=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function bt(e){return(e.match(U)||[]).join(" ")}function Et(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(U)||[]}w.fn.extend({prop:function(e,t){return q(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,a,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,a=w.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:e[t]=n:a&&"get"in a&&null!==(r=a.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,a,o,i,s,l=0;if(v(e))return this.each((function(t){w(this).addClass(e.call(this,t,Et(this)))}));if((t=kt(e)).length)for(;n=this[l++];)if(a=Et(n),r=1===n.nodeType&&" "+bt(a)+" "){for(i=0;o=t[i++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a!==(s=bt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,a,o,i,s,l=0;if(v(e))return this.each((function(t){w(this).removeClass(e.call(this,t,Et(this)))}));if(!arguments.length)return this.attr("class","");if((t=kt(e)).length)for(;n=this[l++];)if(a=Et(n),r=1===n.nodeType&&" "+bt(a)+" "){for(i=0;o=t[i++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a!==(s=bt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):v(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,Et(this),t),t)})):this.each((function(){var t,a,o,i;if(r)for(a=0,o=w(this),i=kt(e);t=i[a++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=Et(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+bt(Et(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;w.fn.extend({val:function(e){var t,n,r,a=this[0];return arguments.length?(r=v(e),this.each((function(n){var a;1===this.nodeType&&(null==(a=r?e.call(this,n,w(this).val()):e)?a="":"number"==typeof a?a+="":Array.isArray(a)&&(a=w.map(a,(function(e){return null==e?"":e+""}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,a,"value")||(this.value=a))}))):a?(t=w.valHooks[a.type]||w.valHooks[a.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(a,"value"))?n:"string"==typeof(n=a.value)?n.replace(wt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:bt(w.text(e))}},select:{get:function(e){var t,n,r,a=e.options,o=e.selectedIndex,i="select-one"===e.type,s=i?null:[],l=i?o+1:a.length;for(r=o<0?l:i?o:0;r<l;r++)if(((n=a[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!x(n.parentNode,"optgroup"))){if(t=w(n).val(),i)return t;s.push(t)}return s},set:function(e,t){for(var n,r,a=e.options,o=w.makeArray(t),i=a.length;i--;)((r=a[i]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},y.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),y.focusin="onfocusin"in n;var St=/^(?:focusinfocus|focusoutblur)$/,Ot=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(e,t,r,a){var o,s,l,u,c,d,f,p,h=[r||i],_=m.call(e,"type")?e.type:e,y=m.call(e,"namespace")?e.namespace.split("."):[];if(s=p=l=r=r||i,3!==r.nodeType&&8!==r.nodeType&&!St.test(_+w.event.triggered)&&(_.indexOf(".")>-1&&(y=_.split("."),_=y.shift(),y.sort()),c=_.indexOf(":")<0&&"on"+_,(e=e[w.expando]?e:new w.Event(_,"object"==typeof e&&e)).isTrigger=a?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:w.makeArray(t,[e]),f=w.event.special[_]||{},a||!f.trigger||!1!==f.trigger.apply(r,t))){if(!a&&!f.noBubble&&!g(r)){for(u=f.delegateType||_,St.test(u+_)||(s=s.parentNode);s;s=s.parentNode)h.push(s),l=s;l===(r.ownerDocument||i)&&h.push(l.defaultView||l.parentWindow||n)}for(o=0;(s=h[o++])&&!e.isPropagationStopped();)p=s,e.type=o>1?u:f.bindType||_,(d=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&d.apply(s,t),(d=c&&s[c])&&d.apply&&$(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=_,a||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),t)||!$(r)||c&&v(r[_])&&!g(r)&&((l=r[c])&&(r[c]=null),w.event.triggered=_,e.isPropagationStopped()&&p.addEventListener(_,Ot),r[_](),e.isPropagationStopped()&&p.removeEventListener(_,Ot),w.event.triggered=void 0,l&&(r[c]=l)),e.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),y.focusin||w.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,a=J.access(r,t);a||r.addEventListener(e,n,!0),J.access(r,t,(a||0)+1)},teardown:function(){var r=this.ownerDocument||this,a=J.access(r,t)-1;a?J.access(r,t,a):(r.removeEventListener(e,n,!0),J.remove(r,t))}}}));var Tt=n.location,At=Date.now(),Ct=/\?/;w.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+e),t};var Pt=/\[\]$/,xt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,Rt=/^(?:input|select|textarea|keygen)/i;function Mt(e,t,n,r){var a;if(Array.isArray(t))w.each(t,(function(t,a){n||Pt.test(e)?r(e,a):Mt(e+"["+("object"==typeof a&&null!=a?t:"")+"]",a,n,r)}));else if(n||"object"!==k(t))r(e,t);else for(a in t)Mt(e+"["+a+"]",t[a],n,r)}w.param=function(e,t){var n,r=[],a=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,(function(){a(this.name,this.value)}));else for(n in e)Mt(n,e[n],t,a);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&Rt.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!he.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(xt,"\r\n")}})):{name:t.name,value:n.replace(xt,"\r\n")}})).get()}});var Dt=/%20/g,Lt=/#.*$/,It=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ut=/^(?:GET|HEAD)$/,Yt=/^\/\//,Ft={},Ht={},zt="*/".concat("*"),Bt=i.createElement("a");function Gt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,a=0,o=t.toLowerCase().match(U)||[];if(v(n))for(;r=o[a++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qt(e,t,n,r){var a={},o=e===Ht;function i(s){var l;return a[s]=!0,w.each(e[s]||[],(function(e,s){var u=s(t,n,r);return"string"!=typeof u||o||a[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),i(u),!1)})),l}return i(t.dataTypes[0])||!a["*"]&&i("*")}function Vt(e,t){var n,r,a=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((a[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Bt.href=Tt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,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":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Vt(Vt(e,w.ajaxSettings),t):Vt(w.ajaxSettings,e)},ajaxPrefilter:Gt(Ft),ajaxTransport:Gt(Ht),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,a,o,s,l,u,c,d,f,p,m=w.ajaxSetup({},t),h=m.context||m,_=m.context&&(h.nodeType||h.jquery)?w(h):w.event,y=w.Deferred(),v=w.Callbacks("once memory"),g=m.statusCode||{},b={},E={},k="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=jt.exec(o);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(e,t){return null==c&&(e=E[e.toLowerCase()]=E[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(m.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)S.always(e[S.status]);else for(t in e)g[t]=[g[t],e[t]];return this},abort:function(e){var t=e||k;return r&&r.abort(t),O(0,t),this}};if(y.promise(S),m.url=((e||m.url||Tt.href)+"").replace(Yt,Tt.protocol+"//"),m.type=t.method||t.type||m.method||m.type,m.dataTypes=(m.dataType||"*").toLowerCase().match(U)||[""],null==m.crossDomain){u=i.createElement("a");try{u.href=m.url,u.href=u.href,m.crossDomain=Bt.protocol+"//"+Bt.host!=u.protocol+"//"+u.host}catch(e){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=w.param(m.data,m.traditional)),qt(Ft,m,t,S),c)return S;for(f in(d=w.event&&m.global)&&0==w.active++&&w.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Ut.test(m.type),a=m.url.replace(Lt,""),m.hasContent?m.data&&m.processData&&0===(m.contentType||"").indexOf("application/x-www-form-urlencoded")&&(m.data=m.data.replace(Dt,"+")):(p=m.url.slice(a.length),m.data&&(m.processData||"string"==typeof m.data)&&(a+=(Ct.test(a)?"&":"?")+m.data,delete m.data),!1===m.cache&&(a=a.replace(It,"$1"),p=(Ct.test(a)?"&":"?")+"_="+At+++p),m.url=a+p),m.ifModified&&(w.lastModified[a]&&S.setRequestHeader("If-Modified-Since",w.lastModified[a]),w.etag[a]&&S.setRequestHeader("If-None-Match",w.etag[a])),(m.data&&m.hasContent&&!1!==m.contentType||t.contentType)&&S.setRequestHeader("Content-Type",m.contentType),S.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+zt+"; q=0.01":""):m.accepts["*"]),m.headers)S.setRequestHeader(f,m.headers[f]);if(m.beforeSend&&(!1===m.beforeSend.call(h,S,m)||c))return S.abort();if(k="abort",v.add(m.complete),S.done(m.success),S.fail(m.error),r=qt(Ht,m,t,S)){if(S.readyState=1,d&&_.trigger("ajaxSend",[S,m]),c)return S;m.async&&m.timeout>0&&(l=n.setTimeout((function(){S.abort("timeout")}),m.timeout));try{c=!1,r.send(b,O)}catch(e){if(c)throw e;O(-1,e)}}else O(-1,"No Transport");function O(e,t,i,s){var u,f,p,b,E,k=t;c||(c=!0,l&&n.clearTimeout(l),r=void 0,o=s||"",S.readyState=e>0?4:0,u=e>=200&&e<300||304===e,i&&(b=function(e,t,n){for(var r,a,o,i,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(a in s)if(s[a]&&s[a].test(r)){l.unshift(a);break}if(l[0]in n)o=l[0];else{for(a in n){if(!l[0]||e.converters[a+" "+l[0]]){o=a;break}i||(i=a)}o=o||i}if(o)return o!==l[0]&&l.unshift(o),n[o]}(m,S,i)),b=function(e,t,n,r){var a,o,i,s,l,u={},c=e.dataTypes.slice();if(c[1])for(i in e.converters)u[i.toLowerCase()]=e.converters[i];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(i=u[l+" "+o]||u["* "+o]))for(a in u)if((s=a.split(" "))[1]===o&&(i=u[l+" "+s[0]]||u["* "+s[0]])){!0===i?i=u[a]:!0!==u[a]&&(o=s[0],c.unshift(s[1]));break}if(!0!==i)if(i&&e.throws)t=i(t);else try{t=i(t)}catch(e){return{state:"parsererror",error:i?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(m,b,S,u),u?(m.ifModified&&((E=S.getResponseHeader("Last-Modified"))&&(w.lastModified[a]=E),(E=S.getResponseHeader("etag"))&&(w.etag[a]=E)),204===e||"HEAD"===m.type?k="nocontent":304===e?k="notmodified":(k=b.state,f=b.data,u=!(p=b.error))):(p=k,!e&&k||(k="error",e<0&&(e=0))),S.status=e,S.statusText=(t||k)+"",u?y.resolveWith(h,[f,k,S]):y.rejectWith(h,[S,k,p]),S.statusCode(g),g=void 0,d&&_.trigger(u?"ajaxSuccess":"ajaxError",[S,m,u?f:p]),v.fireWith(h,[S,k]),d&&(_.trigger("ajaxComplete",[S,m]),--w.active||w.event.trigger("ajaxStop")))}return S},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],(function(e,t){w[t]=function(e,n,r,a){return v(n)&&(a=a||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:a,data:n,success:r},w.isPlainObject(e)&&e))}})),w._evalUrl=function(e,t){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){w.globalEval(e,t)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return v(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=v(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Kt=w.ajaxSettings.xhr();y.cors=!!Kt&&"withCredentials"in Kt,y.ajax=Kt=!!Kt,w.ajaxTransport((function(e){var t,r;if(y.cors||Kt&&!e.crossDomain)return{send:function(a,o){var i,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];for(i in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest"),a)s.setRequestHeader(i,a[i]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),w.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,a){t=w("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&a("error"===e.type?404:200,e.type)}),i.head.appendChild(t[0])},abort:function(){n&&n()}}}));var Xt,$t=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$t.pop()||w.expando+"_"+At++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",(function(e,t,r){var a,o,i,s=!1!==e.jsonp&&(Qt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return a=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Qt,"$1"+a):!1!==e.jsonp&&(e.url+=(Ct.test(e.url)?"&":"?")+e.jsonp+"="+a),e.converters["script json"]=function(){return i||w.error(a+" was not called"),i[0]},e.dataTypes[0]="json",o=n[a],n[a]=function(){i=arguments},r.always((function(){void 0===o?w(n).removeProp(a):n[a]=o,e[a]&&(e.jsonpCallback=t.jsonpCallback,$t.push(a)),i&&v(o)&&o(i[0]),i=o=void 0})),"script"})),y.createHTMLDocument=((Xt=i.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Xt.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=i.implementation.createHTMLDocument("")).createElement("base")).href=i.location.href,t.head.appendChild(r)):t=i),o=!n&&[],(a=N.exec(e))?[t.createElement(a[1])]:(a=Se([e],t,o),o&&o.length&&w(o).remove(),w.merge([],a.childNodes)));var r,a,o},w.fn.load=function(e,t,n){var r,a,o,i=this,s=e.indexOf(" ");return s>-1&&(r=bt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(a="POST"),i.length>0&&w.ajax({url:e,type:a||"GET",dataType:"html",data:t}).done((function(e){o=arguments,i.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)})).always(n&&function(e,t){i.each((function(){n.apply(this,o||[e.responseText,t,e])}))}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){w.fn[t]=function(e){return this.on(t,e)}})),w.expr.pseudos.animated=function(e){return w.grep(w.timers,(function(t){return e===t.elem})).length},w.offset={setOffset:function(e,t,n){var r,a,o,i,s,l,u=w.css(e,"position"),c=w(e),d={};"static"===u&&(e.style.position="relative"),s=c.offset(),o=w.css(e,"top"),l=w.css(e,"left"),("absolute"===u||"fixed"===u)&&(o+l).indexOf("auto")>-1?(i=(r=c.position()).top,a=r.left):(i=parseFloat(o)||0,a=parseFloat(l)||0),v(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(d.top=t.top-s.top+i),null!=t.left&&(d.left=t.left-s.left+a),"using"in t?t.using.call(e,d):c.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){w.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],a={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((a=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),a.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-a.top-w.css(r,"marginTop",!0),left:t.left-a.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||ie}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return q(this,(function(e,r,a){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===a)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:a,n?a:o.pageYOffset):e[r]=a}),e,r,arguments.length)}})),w.each(["top","left"],(function(e,t){w.cssHooks[t]=Ke(y.pixelPosition,(function(e,n){if(n)return n=We(e,t),Ge.test(n)?w(e).position()[t]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){w.fn[r]=function(a,o){var i=arguments.length&&(n||"boolean"!=typeof a),s=n||(!0===a||!0===o?"margin":"border");return q(this,(function(t,n,a){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===a?w.css(t,n,s):w.style(t,n,a,s)}),t,i?a:void 0,i)}}))})),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}})),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,a;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=l.call(arguments,2),(a=function(){return e.apply(t||this,r.concat(l.call(arguments)))}).guid=e.guid=e.guid||w.guid++,a},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=x,w.isFunction=v,w.isWindow=g,w.camelCase=X,w.type=k,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},void 0===(r=function(){return w}.apply(t,[]))||(e.exports=r);var Jt=n.jQuery,Zt=n.$;return w.noConflict=function(e){return n.$===w&&(n.$=Zt),e&&n.jQuery===w&&(n.jQuery=Jt),w},a||(n.jQuery=n.$=w),w}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=s(n(0)),o=n(4),i=s(n(18));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.render=function(){var e=n.props.showLoader;return a.default.createElement(i.default,{body:!0,lazy:!0,loading:e})},n.state={listening:!!n.props.loadKey,loadKey:n.props.loadKey},n.handleScroll=(0,o.throttle)(n.handleScroll.bind(n),50),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.element=document.getElementById("main"),this.element.addEventListener("scroll",this.handleScroll,!1)}},{key:"componentWillUnmount",value:function(){this.element.removeEventListener("scroll",this.handleScroll,!1)}},{key:"handleScroll",value:function(e){var t=this.state.listening,n=this.props,r=(n.loadKey,n.loadMore),a=this.element||{},o=a.scrollTop,i=a.scrollHeight,s=a.offsetHeight;t&&(o>i-s-Math.max(document.documentElement.clientHeight,window.innerHeight||0)/2&&this.setState({listening:!1},(function(){r()})))}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.loadKey&&e.loadKey!==t.loadKey?{loadKey:e.loadKey,listening:!0}:null}}]),t}(a.default.Component);t.default=l},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=!0,a="Invariant failed";t.a=function(e,t){if(!e)throw r?new Error(a):new Error(a+": "+(t||""))}},function(e,t,n){"use strict";n.r(t);var r=n(20),a=n(0),o=n.n(a),i=n(10),s=n.n(i),l=n(27),u=n(66),c=n.n(u),d=n(79),f=n.n(d),p=1073741823;var m=o.a.createContext||function(e,t){var n,r,o="__create-react-context-"+f()()+"__",i=function(e){function n(){var t,n,r;return(t=e.apply(this,arguments)||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}c()(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[o]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},r.render=function(){return this.props.children},n}(a.Component);i.childContextTypes=((n={})[o]=s.a.object.isRequired,n);var l=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}c()(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},r.componentDidMount=function(){this.context[o]&&this.context[o].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},r.componentWillUnmount=function(){this.context[o]&&this.context[o].off(this.onUpdate)},r.getValue=function(){return this.context[o]?this.context[o].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return l.contextTypes=((r={})[o]=s.a.object,r),{Provider:i,Consumer:l}},h=n(25),_=n(11),y=n(67),v=n.n(y),g=(n(46),n(24)),b=n(80),E=n.n(b);n.d(t,"MemoryRouter",(function(){return S})),n.d(t,"Prompt",(function(){return T})),n.d(t,"Redirect",(function(){return N})),n.d(t,"Route",(function(){return I})),n.d(t,"Router",(function(){return w})),n.d(t,"StaticRouter",(function(){return z})),n.d(t,"Switch",(function(){return B})),n.d(t,"__RouterContext",(function(){return k})),n.d(t,"generatePath",(function(){return x})),n.d(t,"matchPath",(function(){return L})),n.d(t,"useHistory",(function(){return V})),n.d(t,"useLocation",(function(){return W})),n.d(t,"useParams",(function(){return K})),n.d(t,"useRouteMatch",(function(){return X})),n.d(t,"withRouter",(function(){return G}));var k=function(e){var t=m();return t.displayName=e,t}("Router"),w=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(k.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(o.a.Component);var S=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=Object(l.d)(t.props),t}return Object(r.a)(t,e),t.prototype.render=function(){return o.a.createElement(w,{history:this.history,children:this.props.children})},t}(o.a.Component);var O=function(e){function t(){return e.apply(this,arguments)||this}Object(r.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},t}(o.a.Component);function T(e){var t=e.message,n=e.when,r=void 0===n||n;return o.a.createElement(k.Consumer,null,(function(e){if(e||Object(h.a)(!1),!r||e.staticContext)return null;var n=e.history.block;return o.a.createElement(O,{onMount:function(e){e.release=n(t)},onUpdate:function(e,r){r.message!==t&&(e.release(),e.release=n(t))},onUnmount:function(e){e.release()},message:t})}))}var A={},C=1e4,P=0;function x(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if(A[e])return A[e];var t=v.a.compile(e);return P<C&&(A[e]=t,P++),t}(e)(t,{pretty:!0})}function N(e){var t=e.computedMatch,n=e.to,r=e.push,a=void 0!==r&&r;return o.a.createElement(k.Consumer,null,(function(e){e||Object(h.a)(!1);var r=e.history,i=e.staticContext,s=a?r.push:r.replace,u=Object(l.c)(t?"string"==typeof n?x(n,t.params):Object(_.a)({},n,{pathname:x(n.pathname,t.params)}):n);return i?(s(u),null):o.a.createElement(O,{onMount:function(){s(u)},onUpdate:function(e,t){var n=Object(l.c)(t.to);Object(l.f)(n,Object(_.a)({},u,{key:n.key}))||s(u)},to:n})}))}var R={},M=1e4,D=0;function L(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,u=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=R[n]||(R[n]={});if(r[e])return r[e];var a=[],o={regexp:v()(e,a,t),keys:a};return D<M&&(r[e]=o,D++),o}(n,{end:o,strict:s,sensitive:u}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var c=l[0],d=l.slice(1),f=e===c;return o&&!f?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=d[n],e}),{})}}),null)}var I=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(k.Consumer,null,(function(t){t||Object(h.a)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?L(n.pathname,e.props):t.match,a=Object(_.a)({},t,{location:n,match:r}),i=e.props,s=i.children,l=i.component,u=i.render;return Array.isArray(s)&&0===s.length&&(s=null),o.a.createElement(k.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:l?o.a.createElement(l,a):u?u(a):null:"function"==typeof s?s(a):null)}))},t}(o.a.Component);function j(e){return"/"===e.charAt(0)?e:"/"+e}function U(e,t){if(!e)return t;var n=j(e);return 0!==t.pathname.indexOf(n)?t:Object(_.a)({},t,{pathname:t.pathname.substr(n.length)})}function Y(e){return"string"==typeof e?e:Object(l.e)(e)}function F(e){return function(){Object(h.a)(!1)}}function H(){}var z=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).handlePush=function(e){return t.navigateTo(e,"PUSH")},t.handleReplace=function(e){return t.navigateTo(e,"REPLACE")},t.handleListen=function(){return H},t.handleBlock=function(){return H},t}Object(r.a)(t,e);var n=t.prototype;return n.navigateTo=function(e,t){var n=this.props,r=n.basename,a=void 0===r?"":r,o=n.context,i=void 0===o?{}:o;i.action=t,i.location=function(e,t){return e?Object(_.a)({},t,{pathname:j(e)+t.pathname}):t}(a,Object(l.c)(e)),i.url=Y(i.location)},n.render=function(){var e=this.props,t=e.basename,n=void 0===t?"":t,r=e.context,a=void 0===r?{}:r,i=e.location,s=void 0===i?"/":i,u=Object(g.a)(e,["basename","context","location"]),c={createHref:function(e){return j(n+Y(e))},action:"POP",location:U(n,Object(l.c)(s)),push:this.handlePush,replace:this.handleReplace,go:F(),goBack:F(),goForward:F(),listen:this.handleListen,block:this.handleBlock};return o.a.createElement(w,Object(_.a)({},u,{history:c,staticContext:a}))},t}(o.a.Component);var B=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(k.Consumer,null,(function(t){t||Object(h.a)(!1);var n,r,a=e.props.location||t.location;return o.a.Children.forEach(e.props.children,(function(e){if(null==r&&o.a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?L(a.pathname,Object(_.a)({},e.props,{path:i})):t.match}})),r?o.a.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.a.Component);function G(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=Object(g.a)(t,["wrappedComponentRef"]);return o.a.createElement(k.Consumer,null,(function(t){return t||Object(h.a)(!1),o.a.createElement(e,Object(_.a)({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,E()(n,e)}var q=o.a.useContext;function V(){return q(k).history}function W(){return q(k).location}function K(){var e=q(k).match;return e?e.params:{}}function X(e){return e?L(W().pathname,e):q(k).match}},function(e,t,n){"use strict";var r=n(11);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}var i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),u=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};function s(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=s(t),a=s(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},u=n(25);function c(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function f(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function h(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function _(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return w})),n.d(t,"b",(function(){return P})),n.d(t,"d",(function(){return N})),n.d(t,"c",(function(){return h})),n.d(t,"f",(function(){return _})),n.d(t,"e",(function(){return m}));var v=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",E="hashchange";function k(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),v||Object(u.a)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,s=i.forceRefresh,l=void 0!==s&&s,d=i.getUserConfirmation,_=void 0===d?g:d,w=i.keyLength,S=void 0===w?6:w,O=e.basename?p(c(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return O&&(o=f(o,O)),h(o,r,n)}function A(){return Math.random().toString(36).substr(2,S)}var C=y();function P(e){Object(r.a)(H,e),H.length=n.length,C.notifyListeners(H.location,H.action)}function x(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||M(T(e.state))}function N(){M(T(k()))}var R=!1;function M(e){if(R)R=!1,P();else{C.confirmTransitionTo(e,"POP",_,(function(t){t?P({action:"POP",location:e}):function(e){var t=H.location,n=L.indexOf(t.key);-1===n&&(n=0);var r=L.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(R=!0,j(a))}(e)}))}}var D=T(k()),L=[D.key];function I(e){return O+m(e)}function j(e){n.go(e)}var U=0;function Y(e){1===(U+=e)&&1===e?(window.addEventListener(b,x),o&&window.addEventListener(E,N)):0===U&&(window.removeEventListener(b,x),o&&window.removeEventListener(E,N))}var F=!1;var H={length:n.length,action:"POP",location:D,createHref:I,push:function(e,t){var r=h(e,t,A(),H.location);C.confirmTransitionTo(r,"PUSH",_,(function(e){if(e){var t=I(r),o=r.key,i=r.state;if(a)if(n.pushState({key:o,state:i},null,t),l)window.location.href=t;else{var s=L.indexOf(H.location.key),u=L.slice(0,s+1);u.push(r.key),L=u,P({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=h(e,t,A(),H.location);C.confirmTransitionTo(r,"REPLACE",_,(function(e){if(e){var t=I(r),o=r.key,i=r.state;if(a)if(n.replaceState({key:o,state:i},null,t),l)window.location.replace(t);else{var s=L.indexOf(H.location.key);-1!==s&&(L[s]=r.key),P({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:j,goBack:function(){j(-1)},goForward:function(){j(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return F||(Y(1),F=!0),function(){return F&&(F=!1,Y(-1)),t()}},listen:function(e){var t=C.appendListener(e);return Y(1),function(){Y(-1),t()}}};return H}var S="hashchange",O={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+d(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:d,decodePath:c},slash:{encodePath:c,decodePath:c}};function T(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function A(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(T(window.location.href)+"#"+e)}function P(e){void 0===e&&(e={}),v||Object(u.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?g:a,i=n.hashType,s=void 0===i?"slash":i,l=e.basename?p(c(e.basename)):"",d=O[s],_=d.encodePath,b=d.decodePath;function E(){var e=b(A());return l&&(e=f(e,l)),h(e)}var k=y();function w(e){Object(r.a)(F,e),F.length=t.length,k.notifyListeners(F.location,F.action)}var P=!1,x=null;function N(){var e,t,n=A(),r=_(n);if(n!==r)C(r);else{var a=E(),i=F.location;if(!P&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(x===m(a))return;x=null,function(e){if(P)P=!1,w();else{k.confirmTransitionTo(e,"POP",o,(function(t){t?w({action:"POP",location:e}):function(e){var t=F.location,n=L.lastIndexOf(m(t));-1===n&&(n=0);var r=L.lastIndexOf(m(e));-1===r&&(r=0);var a=n-r;a&&(P=!0,I(a))}(e)}))}}(a)}}var R=A(),M=_(R);R!==M&&C(M);var D=E(),L=[m(D)];function I(e){t.go(e)}var j=0;function U(e){1===(j+=e)&&1===e?window.addEventListener(S,N):0===j&&window.removeEventListener(S,N)}var Y=!1;var F={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=T(window.location.href)),n+"#"+_(l+m(e))},push:function(e,t){var n=h(e,void 0,void 0,F.location);k.confirmTransitionTo(n,"PUSH",o,(function(e){if(e){var t=m(n),r=_(l+t);if(A()!==r){x=t,function(e){window.location.hash=e}(r);var a=L.lastIndexOf(m(F.location)),o=L.slice(0,a+1);o.push(t),L=o,w({action:"PUSH",location:n})}else w()}}))},replace:function(e,t){var n=h(e,void 0,void 0,F.location);k.confirmTransitionTo(n,"REPLACE",o,(function(e){if(e){var t=m(n),r=_(l+t);A()!==r&&(x=t,C(r));var a=L.indexOf(m(F.location));-1!==a&&(L[a]=t),w({action:"REPLACE",location:n})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return Y||(U(1),Y=!0),function(){return Y&&(Y=!1,U(-1)),t()}},listen:function(e){var t=k.appendListener(e);return U(1),function(){U(-1),t()}}};return F}function x(e,t,n){return Math.min(Math.max(e,t),n)}function N(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,u=void 0===l?6:l,c=y();function d(e){Object(r.a)(b,e),b.length=b.entries.length,c.notifyListeners(b.location,b.action)}function f(){return Math.random().toString(36).substr(2,u)}var p=x(s,0,o.length-1),_=o.map((function(e){return h(e,void 0,"string"==typeof e?f():e.key||f())})),v=m;function g(e){var t=x(b.index+e,0,b.entries.length-1),r=b.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var b={length:_.length,action:"POP",location:_[p],index:p,entries:_,createHref:v,push:function(e,t){var r=h(e,t,f(),b.location);c.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=b.index+1,n=b.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),d({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=h(e,t,f(),b.location);c.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(b.entries[b.index]=r,d({action:"REPLACE",location:r}))}))},go:g,goBack:function(){g(-1)},goForward:function(){g(1)},canGo:function(e){var t=b.index+e;return t>=0&&t<b.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return b}},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"initialize",(function(){return H})),n.d(r,"ga",(function(){return z})),n.d(r,"set",(function(){return B})),n.d(r,"send",(function(){return G})),n.d(r,"pageview",(function(){return q})),n.d(r,"modalview",(function(){return V})),n.d(r,"timing",(function(){return W})),n.d(r,"event",(function(){return K})),n.d(r,"exception",(function(){return X})),n.d(r,"plugin",(function(){return $})),n.d(r,"outboundLink",(function(){return Q})),n.d(r,"testModeAPI",(function(){return J})),n.d(r,"default",(function(){return Z}));var a=n(0),o=n.n(a),i=n(10),s=n.n(i);function l(e){console.warn("[react-ga]",e)}function u(e){return(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})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y="_blank",v=1,g=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return n=function(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?m(e):t}(this,(e=p(t)).call.apply(e,[this].concat(a))),_(m(n),"handleClick",(function(e){var r=n.props,a=r.target,o=r.eventLabel,i=r.to,s=r.onClick,l=r.trackerNames,u={label:o},c=a!==y,d=!(e.ctrlKey||e.shiftKey||e.metaKey||e.button===v);c&&d?(e.preventDefault(),t.trackLink(u,(function(){window.location.href=i}),l)):t.trackLink(u,(function(){}),l),s&&s(e)})),n}var n,r,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(t,e),n=t,(r=[{key:"render",value:function(){var e=this.props,t=e.to,n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(n,!0).forEach((function(t){_(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},d(e,["to"]),{href:t,onClick:this.handleClick});return this.props.target===y&&(n.rel="noopener noreferrer"),delete n.eventLabel,delete n.trackerNames,o.a.createElement("a",n)}}])&&f(n.prototype,r),a&&f(n,a),t}(a.Component);function b(e){return e.replace(/^\s+|\s+$/g,"")}_(g,"trackLink",(function(){l("ga tracking not enabled")})),_(g,"propTypes",{eventLabel:s.a.string.isRequired,target:s.a.string,to:s.a.string,onClick:s.a.func,trackerNames:s.a.arrayOf(s.a.string)}),_(g,"defaultProps",{target:null,to:null,onClick:null,trackerNames:null});var E=/^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i;var k="REDACTED (Potential Email Address)";function w(e,t){return function(e){return"string"==typeof e&&-1!==e.indexOf("@")}(e)?(l("This arg looks like an email address, redacting."),k):t?function(e){return b(e).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,(function(e,t,n){return t>0&&t+e.length!==n.length&&e.search(E)>-1&&":"!==n.charAt(t-2)&&("-"!==n.charAt(t+e.length)||"-"===n.charAt(t-1))&&n.charAt(t-1).search(/[^\s-]/)<0?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)}))}(e):e}var S=function(e){var t,n,r,a,o,i,s,l="https://www.google-analytics.com/analytics.js";e&&e.gaAddress?l=e.gaAddress:e&&e.debug&&(l="https://www.google-analytics.com/analytics_debug.js"),t=window,n=document,r="script",a=l,o="ga",t.GoogleAnalyticsObject=o,t.ga=t.ga||function(){(t.ga.q=t.ga.q||[]).push(arguments)},t.ga.l=1*new Date,i=n.createElement(r),s=n.getElementsByTagName(r)[0],i.async=1,i.src=a,s.parentNode.insertBefore(i,s)};var O=[],T={calls:O,ga:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];O.push([].concat(t))},resetCalls:function(){O.length=0}};function A(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function P(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){return(x="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})(e)}function N(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var R="undefined"==typeof window||"undefined"==typeof document,M=!1,D=!0,L=!1,I=!0,j=function(){var e;return L?T.ga.apply(T,arguments):!R&&(window.ga?(e=window).ga.apply(e,arguments):l("ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually"))};function U(e){return w(e,D)}function Y(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=n[0];if("function"==typeof j){if("string"!=typeof a)return void l("ga command must be a string");!I&&Array.isArray(e)||j.apply(void 0,n),Array.isArray(e)&&e.forEach((function(e){j.apply(void 0,N(["".concat(e,".").concat(a)].concat(n.slice(1))))}))}}function F(e,t){e?t&&(t.debug&&!0===t.debug&&(M=!0),!1===t.titleCase&&(D=!1),t.useExistingGa)||(t&&t.gaOptions?j("create",e,t.gaOptions):j("create",e,"auto")):l("gaTrackingID is required in initialize()")}function H(e,t){if(t&&!0===t.testMode)L=!0;else{if(R)return!1;t&&!0===t.standardImplementation||S(t)}return I=!t||"boolean"!=typeof t.alwaysSendToDefaultTracker||t.alwaysSendToDefaultTracker,Array.isArray(e)?e.forEach((function(e){"object"===x(e)?F(e.trackingId,e):l("All configs must be an object")})):F(e,t),!0}function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.length>0&&(j.apply(void 0,t),M&&"with arguments: ".concat(JSON.stringify(t))),window.ga}function B(e,t){e?"object"===x(e)?(0===Object.keys(e).length&&l("empty `fieldsObject` given to .set()"),Y(t,"set",e),M&&"with fieldsObject: ".concat(JSON.stringify(e))):l("Expected `fieldsObject` arg to be an Object"):l("`fieldsObject` is required in .set()")}function G(e,t){Y(t,"send",e),M&&("with fieldObject: ".concat(JSON.stringify(e)),"with trackers: ".concat(JSON.stringify(t)))}function q(e,t,n){if(e){var r=b(e);if(""!==r){var a={};if(n&&(a.title=n),Y(t,"send",function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(n,!0).forEach((function(t){P(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({hitType:"pageview",page:r},a)),M){var o="";n&&(o=" and title: ".concat(n)),"with path: ".concat(r).concat(o)}}else l("path cannot be an empty string in .pageview()")}else l("path is required in .pageview()")}function V(e,t){if(e){var n=function(e){return"/"===e.substring(0,1)?e.substring(1):e}(b(e));if(""!==n){var r="/modal/".concat(n);Y(t,"send","pageview",r),M&&"with path: ".concat(r)}else l("modalName cannot be an empty string or a single / in .modalview()")}else l("modalName is required in .modalview(modalName)")}function W(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.variable,r=e.value,a=e.label,o=arguments.length>1?arguments[1]:void 0;if(t&&n&&r&&"number"==typeof r){var i={hitType:"timing",timingCategory:U(t),timingVar:U(n),timingValue:r};a&&(i.timingLabel=U(a)),G(i,o)}else l("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number")}function K(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.action,r=e.label,a=e.value,o=e.nonInteraction,i=e.transport,s=A(e,["category","action","label","value","nonInteraction","transport"]),u=arguments.length>1?arguments[1]:void 0;if(t&&n){var c={hitType:"event",eventCategory:U(t),eventAction:U(n)};r&&(c.eventLabel=U(r)),void 0!==a&&("number"!=typeof a?l("Expected `args.value` arg to be a Number."):c.eventValue=a),void 0!==o&&("boolean"!=typeof o?l("`args.nonInteraction` must be a boolean."):c.nonInteraction=o),void 0!==i&&("string"!=typeof i?l("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(i)&&l("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),c.transport=i)),Object.keys(s).filter((function(e){return"dimension"===e.substr(0,"dimension".length)})).forEach((function(e){c[e]=s[e]})),Object.keys(s).filter((function(e){return"metric"===e.substr(0,"metric".length)})).forEach((function(e){c[e]=s[e]})),G(c,u)}else l("args.category AND args.action are required in event()")}function X(e,t){var n=e.description,r=e.fatal,a={hitType:"exception"};n&&(a.exDescription=U(n)),void 0!==r&&("boolean"!=typeof r?l("`args.fatal` must be a boolean."):a.exFatal=r),G(a,t)}var $={require:function(e,t,n){if(e){var r=b(e);if(""!==r){var a=n?"".concat(n,".require"):"require";if(t){if("object"!==x(t))return void l("Expected `options` arg to be an Object");0===Object.keys(t).length&&l("Empty `options` given to .require()"),z(a,r,t),M&&"called ga('require', '".concat(r,"', ").concat(JSON.stringify(t))}else z(a,r),M&&"called ga('require', '".concat(r,"');")}else l("`name` cannot be an empty string in .require()")}else l("`name` is required in .require()")},execute:function(e,t){var n,r;if(1==(arguments.length<=2?0:arguments.length-2)?n=arguments.length<=2?void 0:arguments[2]:(r=arguments.length<=2?void 0:arguments[2],n=arguments.length<=3?void 0:arguments[3]),"string"!=typeof e)l("Expected `pluginName` arg to be a String.");else if("string"!=typeof t)l("Expected `action` arg to be a String.");else{var a="".concat(e,":").concat(t);n=n||null,r&&n?(z(a,r,n),M&&("called ga('".concat(a,"');"),'actionType: "'.concat(r,'" with payload: ').concat(JSON.stringify(n)))):n?(z(a,n),M&&("called ga('".concat(a,"');"),"with payload: ".concat(JSON.stringify(n)))):(z(a),M&&"called ga('".concat(a,"');"))}}};function Q(e,t,n){if("function"==typeof t)if(e&&e.label){var r={hitType:"event",eventCategory:"Outbound",eventAction:"Click",eventLabel:U(e.label)},a=!1,o=setTimeout((function(){a=!0,t()}),250);r.hitCallback=function(){clearTimeout(o),a||t()},G(r,n)}else l("args.label is required in outboundLink()");else l("hitCallback function is required")}var J=T,Z={initialize:H,ga:z,set:B,send:G,pageview:q,modalview:V,timing:W,event:K,exception:X,plugin:$,outboundLink:Q,testModeAPI:T};function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"initialize",(function(){return ne})),n.d(t,"ga",(function(){return re})),n.d(t,"set",(function(){return ae})),n.d(t,"send",(function(){return oe})),n.d(t,"pageview",(function(){return ie})),n.d(t,"modalview",(function(){return se})),n.d(t,"timing",(function(){return le})),n.d(t,"event",(function(){return ue})),n.d(t,"exception",(function(){return ce})),n.d(t,"plugin",(function(){return de})),n.d(t,"outboundLink",(function(){return fe})),n.d(t,"testModeAPI",(function(){return pe})),n.d(t,"OutboundLink",(function(){return me}));var ne=H,re=z,ae=B,oe=G,ie=q,se=V,le=W,ue=K,ce=X,de=$,fe=Q,pe=J;g.origTrackLink=g.trackLink,g.trackLink=Q;var me=g;t.default=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ee(n,!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ee(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},r,{OutboundLink:me})},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=s(n(0)),o=n(3),i=s(n(5));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(t){function n(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"componentDidMount",value:function(){e("body").addClass("modal-open")}},{key:"componentWillUnmount",value:function(){e("body").removeClass("modal-open")}},{key:"render",value:function(){var e=this.props,t=e.extraControls,n=void 0===t?null:t,r=e.noclose,o=void 0!==r&&r,s=e.children,l=e.className,u=void 0===l?"":l;return a.default.createElement("div",{className:"modal "+u},a.default.createElement("div",{className:"controls"},n,!o&&a.default.createElement("div",{className:"control close",onClick:function(e){return window.history.back()}},a.default.createElement(i.default,{name:"close",className:"white"}))),a.default.createElement("div",{className:"content"},s))}}]),n}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{shortkeys_enabled:e.ui.shortkeys_enabled}}),(function(e){return{}}))(l)}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(21));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=e.items,n=e.className,r=e.nolinks;return t?a.default.createElement("span",{className:n+" links-sentence"},t.map((function(e,n){var i=e.name,s=e.uri;if(!i)return a.default.createElement("span",null,"-");var l=null;if(n==t.length-2?l=" and ":n<t.length-2&&(l=", "),i)if(!s||r)u=a.default.createElement("span",null,i);else u=a.default.createElement(o.default,{className:"links-sentence__item links-sentence__item--link",uri:s},i);else var u=a.default.createElement("span",null,"-");return a.default.createElement("span",{key:"index_"+s},u,l)}))):a.default.createElement("span",{className:n+" links-sentence"},"-")}))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=n(3),i=n(2),s=p(n(152)),l=f(n(6)),u=f(n(1)),c=n(4),d=n(9);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var m=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.touch_dragging_tracks_keys=!1,t.handleKeyDown=t.handleKeyDown.bind(t),t.handleTouchMove=t.handleTouchMove.bind(t),t.handleTouchEnd=t.handleTouchEnd.bind(t),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"componentDidMount",value:function(){window.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("touchmove",this.handleTouchMove,!1),window.addEventListener("touchend",this.handleTouchEnd,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("touchmove",this.handleTouchMove,!1),window.removeEventListener("touchend",this.handleTouchEnd,!1)}},{key:"handleKeyDown",value:function(e){if(!(["INPUT","TEXTAREA"].indexOf(e.target.nodeName)>-1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)){var t=this.digestTracksKeys(),n=!1;switch(e.key.toLowerCase()){case"enter":t&&t.length>0&&this.playTracks(),n=!0;break;case"backspace":case"delete":t&&t.length>0&&this.removeTracks(),n=!0;break;case"a":for(var r=[],a=0;a<this.props.tracks.length;a++)r.push(this.buildTrackKey(this.props.tracks[a],a));this.props.uiActions.setSelectedTracks(r),n=!0}return n?(e.preventDefault(),!1):void 0}}},{key:"handleDrag",value:function(e,t){var n=[];this.props.selected_tracks.includes(t)?n=this.digestTracksKeys():(this.props.uiActions.setSelectedTracks([t]),n=this.digestTracksKeys([t]));var r=(0,d.arrayOf)("index",n);this.props.uiActions.dragStart(e,this.props.track_context,this.props.uri,n,r)}},{key:"handleDrop",value:function(e,t){if(this.props.dragger&&this.props.dragger.active&&void 0!==this.props.reorderTracks){var n=this.props.dragger.victims_indexes,r=this.digestTracksKeys([t]);return this.props.reorderTracks(n,r[0].index)}this.touch_dragging_tracks_keys=!1}},{key:"handleTouchDrag",value:function(e,t){this.props.selected_tracks.includes(t)?this.touch_dragging_tracks_keys=this.props.selected_tracks:(this.touch_dragging_tracks_keys=[t],this.props.uiActions.setSelectedTracks([t]))}},{key:"handleTouchMove",value:function(t){if(this.touch_dragging_tracks_keys){var n=t.touches[0],r=e(document.elementFromPoint(n.clientX,n.clientY));return r.is(".track")||(r=r.closest(".list__item--track")),e(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),r.length>0&&r.addClass("touch-drag-hover"),t.returnValue=!1,t.cancelBubble=!0,t.preventDefault(),t.stopPropagation(),!1}}},{key:"handleTouchEnd",value:function(t){if(this.touch_dragging_tracks_keys){var n=t.changedTouches[0],r=e(document.elementFromPoint(n.clientX,n.clientY));if(r.is(".list__item--track")||(r=r.closest(".list__item--track")),r.length>0){var a=r.parent().children(".list__item--track").index(r);void 0!==this.props.reorderTracks&&(this.props.reorderTracks((0,d.arrayOf)("index",this.digestTracksKeys()),a),this.props.uiActions.setSelectedTracks([]))}e(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),e("body").removeClass("touch-dragging")}this.touch_dragging_tracks_keys=!1}},{key:"handleTap",value:function(e,t){this.updateSelection(e,t,!0)}},{key:"handleDoubleTap",value:function(e,t){this.playTracks([t]),this.updateSelection(e,t)}},{key:"handleClick",value:function(e,t){this.updateSelection(e,t)}},{key:"handleDoubleClick",value:function(e,t){this.props.context_menu&&this.props.uiActions.hideContextMenu(),this.playTracks([t]),this.updateSelection(e,t)}},{key:"handleContextMenu",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0;var n=this.props.selected_tracks;t&&!n.includes(t)&&(n=[t],this.props.uiActions.setSelectedTracks(n));var r=this.digestTracksKeys(n),a=(0,d.arrayOf)("uri",r),o=(0,d.arrayOf)("index",r),i={e:e,context:this.props.track_context?this.props.track_context+"-track":"track",tracklist_uri:this.props.uri?this.props.uri:null,items:r,uris:a,indexes:o};this.props.uiActions.showContextMenu(i)}},{key:"updateSelection",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.props.selected_tracks;if(e.ctrlKey||e.metaKey||n)if(r.includes(t)){var a=r.indexOf(t);r.splice(a,1)}else r.push(t);else if(e.shiftKey){var o=this.digestTracksKeys(r[r.length-1]),i=o.index,s=this.digestTracksKeys(t),l=s.index;if(i<l)var u=i+1,c=l;else u=l,c=i-1;if(!1!==u&&u>=0&&!1!==c&&c>=0)for(var d=u;d<=c;d++)r.push(this.buildTrackKey(this.props.tracks[d],d))}else r=[t];this.props.uiActions.setSelectedTracks(r)}},{key:"isRightClick",value:function(e){return"which"in e?3==e.which:"button"in e&&2==e.button}},{key:"playTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(null!==e)var t=this.digestTracksKeys(e);else t=this.digestTracksKeys();(0,d.arrayOf)("index",t);if(t.length<=0)return this.props.uiActions.createNotification({content:"No tracks selected",level:"error"});if(void 0!==this.props.playTracks)return this.props.playTracks(t);var n=(0,d.arrayOf)("uri",t);return this.props.mopidyActions.playURIs(n,this.props.uri)}},{key:"removeTracks",value:function(){var e=this.digestTracksKeys();if(void 0!==this.props.removeTracks){var t=(0,d.arrayOf)("index",e);return this.props.removeTracks(t)}this.props.uiActions.createNotification({content:"Cannot delete "+(e.length>1?"these tracks":"this track"),level:"error"})}},{key:"buildTrackKey",value:function(e,t){var n=t;return n+="@@"+(e.tlid?e.tlid:"none"),n+="@@"+e.uri,n+="@@"+(this.props.uri?this.props.uri:"none"),n+="@@"+(this.props.track_context?this.props.track_context:"none")}},{key:"digestTracksKeys",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.selected_tracks,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return!1;var n=!1;e instanceof Array||(n=!0,e=[e]);var r=[],a=!0,o=!1,i=void 0;try{for(var s,l=e[Symbol.iterator]();!(a=(s=l.next()).done);a=!0){var u=s.value,c=u.split("@@");t?r.push(c[0]):r.push({key:u,index:parseInt(c[0]),tlid:parseInt(c[1]),uri:c[2],context:c[3],context_uri:c[4]})}}catch(e){o=!0,i=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw i}}return n&&r.length>0?r[0]:r}},{key:"render",value:function(){var e=this;if(!this.props.tracks||"[object Array]"!==Object.prototype.toString.call(this.props.tracks))return null;var t="list list--tracks "+this.props.track_context;return this.props.className&&(t+=" "+this.props.className),a.default.createElement("div",{className:t},this.props.tracks.map((function(t,n){var r=e.buildTrackKey(t,n);return t.key=r,a.default.createElement(s.default,{show_source_icon:e.props.show_source_icon,key:r,mini_zones:e.props.slim_mode||(0,c.isTouchDevice)(),track:t,track_context:e.props.track_context,can_sort:"queue"==e.props.track_context||"editable-playlist"==e.props.track_context,selected:e.props.selected_tracks.includes(r),play_state:e.props.play_state,dragger:e.props.dragger,handleClick:function(t){return e.handleClick(t,r)},handleDoubleClick:function(t){return e.handleDoubleClick(t,r)},handleContextMenu:function(t){return e.handleContextMenu(t,r)},handleDrag:function(t){return e.handleDrag(t,r)},handleDrop:function(t){return e.handleDrop(t,r)},handleTap:function(t){return e.handleTap(t,r)},handleDoubleTap:function(t){return e.handleDoubleTap(t,r)},handleTouchDrag:function(t){return e.handleTouchDrag(t,r)}})})))}}]),n}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{play_state:e.mopidy.play_state,slim_mode:e.ui.slim_mode,selected_tracks:e.ui.selected_tracks,dragger:e.ui.dragger,current_track:e.core.current_track,context_menu:e.ui.context_menu}}),(function(e){return{mopidyActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e)}}))(m)}).call(this,n(22))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.set=function(e){return{type:"GENIUS_SET",data:e}},t.authorizationGranted=function(e){return{type:"GENIUS_AUTHORIZATION_GRANTED",data:e}},t.revokeAuthorization=function(){return{type:"GENIUS_AUTHORIZATION_REVOKED"}},t.importAuthorization=function(e){return{type:"GENIUS_IMPORT_AUTHORIZATION",authorization:e}},t.getMe=function(){return function(e,t){i(e,t,"account").then((function(t){e({type:"GENIUS_ME_LOADED",me:t.user})}),(function(t){e(a.handleException("Could not load your Genius profile",t))}))}},t.getTrackLyrics=s,t.findTrackLyrics=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t,n){if(e){var r="";r+=e.artists[0].name+" ",r=(r=(r=(r=(r+=e.name).toLowerCase()).replace(/\([^)]*\) */g,"")).replace(/\([^[]*\] */g,"")).replace(/(?= - ).*$/g,""),i(t,n,"search","GET","q="+encodeURIComponent(r)).then((function(n){if(n.hits&&n.hits.length>0){for(var r=[],o=0;o<n.hits.length;o++)r.push({title:n.hits[o].result.full_title,url:n.hits[o].result.url,path:n.hits[o].result.path});t(a.trackLoaded({uri:e.uri,lyrics_results:r}));var i=r[0];t(s(e.uri,i.path))}}),(function(e){t(a.handleException("Could not search for track lyrics",e))}))}}};var r=n(4),a=n(8),o=n(1);var i=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GET",i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(s,l){if(n.startsWith("https://")||n.startsWith("http://"))var u=n;else{u="https://api.genius.com/"+n;t().genius.access_token&&(u+="?access_token="+t().genius.access_token)}i&&(u+="&"+i);var c={method:a,url:u,timeout:3e4,crossDomain:!0};i&&(c.data="string"==typeof i?i:JSON.stringify(i));var d=(0,r.generateGuid)();e(o.startLoading(d,"genius_"+n)),fetch(u,c).then((function(t){return e(o.stopLoading(d)),t.status>=200&&t.status<300?Promise.resolve(t):Promise.reject(new Error(t.statusText))})).then((function(e){return e.json()})).then((function(e){var t=e.meta.status,n=e.response;t>=200&&t<300&&n?s(n):l({config:c,xhr:xhr,status:t,error:error})})).catch((function(e){l(e)}))}))};function s(t,n){return function(i,s){i(a.trackLoaded({uri:t,lyrics:null,lyrics_path:null}));var l="//"+s().mopidy.host+":"+s().mopidy.port+"/iris/http/get_lyrics?path="+n+"&connection_id="+s().pusher.connection_id,u=(0,r.generateGuid)();i(o.startLoading(u,"genius_get_lyrics")),fetch(l,{method:"GET",timeout:1e4}).then((function(e){return i(o.stopLoading(u)),e.status>=200&&e.status<300?Promise.resolve(e):Promise.reject(new Error(e.statusText))})).then((function(e){return e.json()})).then((function(r){if(r.result){var o=e(r.result).find(".lyrics");if(o.length>0){(o=o.first()).find("a").replaceWith((function(e,t){return t}));var s=o.html();s=(s=s.replace(/(\[)/g,'<span class="mid_grey-text">[')).replace(/(\])/g,"]</span>"),i(a.trackLoaded({uri:t,lyrics:s,lyrics_path:n}))}}else i(a.handleException("Could not get track lyrics",r.error))})).catch((function(e){i(a.handleException("Could not get track lyrics",e))}))}}}).call(this,n(22))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=s(n(0)),o=s(n(5)),i=n(9);function s(e){return e&&e.__esModule?e:{default:e}}function l(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var u=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.uid=t.props.name.replace(" ","_").toLowerCase(),t.props.uid&&(t.uid+="_"+t.props.uid),t.state={expanded:!1,changed:!1},t.handleClick=t.handleClick.bind(t),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"setExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.expanded;e?(this.setState({expanded:e,changed:!1}),window.addEventListener("click",this.handleClick,!1)):(this.setState({expanded:e}),window.removeEventListener("click",this.handleClick,!1),this.props.onClose&&this.state.changed&&this.props.onClose())}},{key:"handleClick",value:function(t){e(t.target).closest(".dropdown-field").attr("data-uid")!=this.uid&&this.state.expanded&&this.setExpanded(!1)}},{key:"handleChange",value:function(e,t){var n=this.props.value;if(this.setState({changed:!0}),this.isMultiSelect()){if("select-all"==e)for(var r=[],a=0;a<this.props.options.length;a++)r.push(this.props.options[a].value);else if(t){var o=n.indexOf(e);n.splice(o,1);r=n}else{n.push(e);r=n}r=(0,i.removeDuplicates)(r)}else{r=e;this.setExpanded(!1)}return this.props.handleChange(r)}},{key:"isMultiSelect",value:function(){return this.props.value instanceof Array}},{key:"selectedOptions",value:function(){var e=this.props,t=e.options,n=e.value,r=[];if(t)if(null==n)r=[t[0]];else if(this.isMultiSelect()){var a=!0,o=!1,i=void 0;try{for(var s,u=function(){var e=s.value;r=[].concat(l(r),l(t.filter((function(t){return t.value===e}))))},c=n[Symbol.iterator]();!(a=(s=c.next()).done);a=!0)u()}catch(e){o=!0,i=e}finally{try{!a&&c.return&&c.return()}finally{if(o)throw i}}}else r=t.filter((function(e){return e.value===n}));return r}},{key:"render",value:function(){var e=this,t=this.props,n=t.options,r=t.no_status_icon,i=t.no_label,s=t.button,l=t.className,u=void 0===l?"":l,c=t.name,d=(t.value,t.icon),f=t.icon_type,p=t.selected_icon,m=t.valueAsLabel,h=t.noLabel,_=this.state.expanded;if(!n)return null;var y=this.selectedOptions(),v=Object.assign([],n);this.isMultiSelect()&&v.push({value:"select-all",label:"Select all",className:"mid_grey-text"});var g="dropdown-field "+u;_&&(g+=" dropdown-field--expanded"),r&&(g+=" dropdown-field--no-status-icon"),i&&(g+=" dropdown-field--no-label"),s&&(g+=" dropdown-field--buttonify");var b=a.default.createElement(o.default,{name:"check"});return p&&(b=a.default.createElement(o.default,{name:p})),a.default.createElement("div",{className:g,"data-uid":this.uid},a.default.createElement("div",{className:"dropdown-field__label"+(s?" button "+s:""),onClick:function(t){return e.setExpanded()}},d?a.default.createElement(o.default,{name:d,type:f||"material"}):null,!h&&a.default.createElement("span",{className:"text"},a.default.createElement("span",{className:"dropdown-field__label__value"},m&&1===y.length?y[0].label:c),a.default.createElement("span",{className:"dropdown-field__label__name"},c),this.isMultiSelect()?" ("+y.length+")":null)),a.default.createElement("div",{className:"dropdown-field__options"},a.default.createElement("div",{className:"dropdown-field__options__liner"},v.map((function(t){var n=y.includes(t);return a.default.createElement("div",{className:"dropdown-field__options__item "+(t.className?t.className:""),key:t.value,onClick:function(r){return e.handleChange(t.value,n)}},!r&&n&&b,t.label)})))))}}]),n}(a.default.Component);t.default=u}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t="context-menu-trigger mouse-contextable touch-contextable";return e.className&&(t+=" "+e.className),a.default.createElement("span",{className:t,onClick:function(t){t.preventDefault(),t.stopPropagation(),e.onTrigger(t)}},a.default.createElement(o.default,{name:"more_horiz"}))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(42);var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(){var e=n.props.image,t=n.state.url;e&&e!==t&&n.loadImage(e)},n.state={loaded:!1,url:null,outgoingUrl:null},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.image&&this.loadImage(this.props.image)}},{key:"loadImage",value:function(e){if(e&&""!==e){this.setState({loaded:(0,s.isCached)(e),url:e});var t=this,n=new Image;n.src=e,n.onload=function(){t.setState({loaded:!0,url:e})}}else this.setState({loaded:!1,url:null})}},{key:"render",value:function(){var e=this.props,t=e.blur,n=e.fixedHeight,r=(e.image,e.animate),a=void 0===r||r,o=this.state,s=o.loaded,l=o.url,u="parallax preserve-3d";u+=" parallax--"+(n?"fixed":"flexible")+"-height",t&&(u+=" parallax--blur"),s&&(u+=" parallax--loaded"),a&&(u+=" parallax--animate");var c=s&&l?{backgroundImage:'url("'+l+'")'}:{};return i.default.createElement("div",{className:u},i.default.createElement("div",{className:"parallax__layer preserve-3d"},i.default.createElement("div",{className:"parallax__image",style:c}),i.default.createElement("div",{className:"parallax__overlay"})))}}]),t}(i.default.Component);t.default=l},function(e,t,n){"use strict";function r(e){return{type:"SNAPCAST_CLIENTS_LOADED",clients:e,flush:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function a(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"SNAPCAST_GROUPS_LOADED",groups:e}}function o(e){return{type:"SNAPCAST_STREAMS_LOADED",streams:e,flush:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=function(e){return{type:"SNAPCAST_SET",data:e}},t.setConnection=function(e){return{type:"SNAPCAST_SET_CONNECTION",data:e}},t.setEnabled=function(e){return{type:"SNAPCAST_SET_ENABLED",enabled:e}},t.connect=function(){return{type:"SNAPCAST_CONNECT"}},t.disconnect=function(){return{type:"SNAPCAST_DISCONNECT"}},t.request=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{type:"SNAPCAST_REQUEST",method:e,params:t,response_callback:n,error_callback:r}},t.debug=function(){return{type:"SNAPCAST_DEBUG",message:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},t.getServer=function(){return{type:"SNAPCAST_GET_SERVER"}},t.setClientName=function(e,t){return{type:"SNAPCAST_SET_CLIENT_NAME",id:e,name:t}},t.setClientMute=function(e,t){return{type:"SNAPCAST_SET_CLIENT_MUTE",id:e,mute:t}},t.setClientVolume=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:"SNAPCAST_SET_CLIENT_VOLUME",id:e,volume:t,group_id:n}},t.setClientLatency=function(e,t){return{type:"SNAPCAST_SET_CLIENT_LATENCY",id:e,latency:t}},t.setClientGroup=function(e,t){return{type:"SNAPCAST_SET_CLIENT_GROUP",id:e,group_id:t}},t.deleteClient=function(e){return{type:"SNAPCAST_DELETE_CLIENT",id:e}},t.setGroupName=function(e,t){return{type:"SNAPCAST_SET_GROUP_NAME",id:e,name:t}},t.setGroupStream=function(e,t){return{type:"SNAPCAST_SET_GROUP_STREAM",id:e,stream_id:t}},t.setGroupMute=function(e,t){return{type:"SNAPCAST_SET_GROUP_MUTE",id:e,mute:t}},t.setGroupVolume=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{type:"SNAPCAST_SET_GROUP_VOLUME",id:e,percent:t,old_percent:n}},t.calculateGroupVolume=function(e,t){return{type:"SNAPCAST_CALCULATE_GROUP_VOLUME",id:e,clients:t}},t.serverLoaded=function(e){return{type:"SNAPCAST_SERVER_LOADED",server:e}},t.clientLoaded=function(e){return r([e])},t.clientsLoaded=r,t.groupLoaded=function(e){return a([e])},t.groupsLoaded=a,t.streamLoaded=function(e){return o([e])},t.streamsLoaded=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);t.default=(0,r.memo)((function(e){if(void 0===e.data)return null;switch(e.type){case"total-time":for(var t=0,n=e.data,r=0;r<n.length;r++)n[r].duration&&(t+=parseInt(n[r].duration));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(null===e)return null;var t=Math.floor(e/1e3),n=Math.floor(e/6e4),r=Math.floor(e/36e5);return r>1?r+"+ hrs":n>1?n+" mins":t?t+" sec":"0 mins"}(t);case"length":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!e)return null;var t="",n=void 0,r=void 0,a=void 0,o=void 0;return(o=Math.floor(e/1e3)-60*(r=Math.floor(e/6e4)))<=9&&(o="0"+o),0==o&&(o="00"),(a=r-60*(n=Math.floor(e/36e5)))<=9&&n&&(a="0"+a),0==a&&(a="0"),n&&(t+=n+":"),a&&(t+=a+":"),o&&(t+=o),t}(e.data);case"date":return 4==e.data.length?e.data:(a=new Date(e.data)).getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear();case"ago":var a=new Date(e.data),o=new Date-a,i=Math.floor(o/1e3),s=Math.floor(o/6e4),l=Math.floor(o/36e5),u=Math.floor(o/864e5),c=Math.floor(o/6048e5),d=Math.floor(o/314496e5);return i<60?i+" second"+(i>1?"s":""):s<60?s+" minute"+(s>1?"s":""):l<24?l+" hour"+(l>1?"s":""):u<7?u+" day"+(u>1?"s":""):c<54?c+" week"+(c>1?"s":""):d+" year"+(d>1?"s":"");default:return null}}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(0),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,a.memo)((function(e){var t=e.type,n=e.title,r=e.children;return o.default.createElement("div",{className:"error-message"+(t?" error-message--"+t:"")},o.default.createElement("i",{className:"error-message__icon icon icon--material"},"error"),o.default.createElement("h4",{className:"error-message__title"},n||"Unknown error"),o.default.createElement("div",{className:"error-message__content"},r))}))},function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserRouter",(function(){return d})),n.d(t,"HashRouter",(function(){return f})),n.d(t,"Link",(function(){return v})),n.d(t,"NavLink",(function(){return E}));var r=n(26);n.d(t,"MemoryRouter",(function(){return r.MemoryRouter})),n.d(t,"Prompt",(function(){return r.Prompt})),n.d(t,"Redirect",(function(){return r.Redirect})),n.d(t,"Route",(function(){return r.Route})),n.d(t,"Router",(function(){return r.Router})),n.d(t,"StaticRouter",(function(){return r.StaticRouter})),n.d(t,"Switch",(function(){return r.Switch})),n.d(t,"__RouterContext",(function(){return r.__RouterContext})),n.d(t,"generatePath",(function(){return r.generatePath})),n.d(t,"matchPath",(function(){return r.matchPath})),n.d(t,"useHistory",(function(){return r.useHistory})),n.d(t,"useLocation",(function(){return r.useLocation})),n.d(t,"useParams",(function(){return r.useParams})),n.d(t,"useRouteMatch",(function(){return r.useRouteMatch})),n.d(t,"withRouter",(function(){return r.withRouter}));var a=n(20),o=n(0),i=n.n(o),s=n(27),l=(n(10),n(11)),u=n(24),c=n(25),d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=Object(s.a)(t.props),t}return Object(a.a)(t,e),t.prototype.render=function(){return i.a.createElement(r.Router,{history:this.history,children:this.props.children})},t}(i.a.Component);var f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=Object(s.b)(t.props),t}return Object(a.a)(t,e),t.prototype.render=function(){return i.a.createElement(r.Router,{history:this.history,children:this.props.children})},t}(i.a.Component);var p=function(e,t){return"function"==typeof e?e(t):e},m=function(e,t){return"string"==typeof e?Object(s.c)(e,null,null,t):e},h=function(e){return e},_=i.a.forwardRef;void 0===_&&(_=h);var y=_((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,o=Object(u.a)(e,["innerRef","navigate","onClick"]),s=o.target,c=Object(l.a)({},o,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||s&&"_self"!==s||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=h!==_&&t||n,i.a.createElement("a",c)}));var v=_((function(e,t){var n=e.component,a=void 0===n?y:n,o=e.replace,s=e.to,d=e.innerRef,f=Object(u.a)(e,["component","replace","to","innerRef"]);return i.a.createElement(r.__RouterContext.Consumer,null,(function(e){e||Object(c.a)(!1);var n=e.history,r=m(p(s,e.location),e.location),u=r?n.createHref(r):"",y=Object(l.a)({},f,{href:u,navigate:function(){var t=p(s,e.location);(o?n.replace:n.push)(t)}});return h!==_?y.ref=t||d:y.innerRef=d,i.a.createElement(a,y)}))})),g=function(e){return e},b=i.a.forwardRef;void 0===b&&(b=g);var E=b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,o=e.activeClassName,s=void 0===o?"active":o,d=e.activeStyle,f=e.className,h=e.exact,_=e.isActive,y=e.location,E=e.strict,k=e.style,w=e.to,S=e.innerRef,O=Object(u.a)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","strict","style","to","innerRef"]);return i.a.createElement(r.__RouterContext.Consumer,null,(function(e){e||Object(c.a)(!1);var n=y||e.location,o=m(p(w,n),n),u=o.pathname,T=u&&u.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),A=T?Object(r.matchPath)(n.pathname,{path:T,exact:h,strict:E}):null,C=!!(_?_(A,n):A),P=C?function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(f,s):f,x=C?Object(l.a)({},k,{},d):k,N=Object(l.a)({"aria-current":C&&a||null,className:P,style:x,to:o},O);return g!==b?N.ref=t||S:N.innerRef=S,i.a.createElement(v,N)}))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=d(n(0)),i=n(4),s=d(n(17)),l=d(n(5)),u=d(n(19)),c=d(n(30));function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var p=function(e){function t(){var e,n,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var d=arguments.length,p=Array(d),m=0;m<d;m++)p[m]=arguments[m];return n=a=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(p))),a.shouldComponentUpdate=function(e){var t=a.props.item;return e.item!==t},a.onContextMenu=function(e){var t=a.props.onContextMenu;t&&t(e)},a.renderSecondary=function(e){var t=e.uri,n=e.tracks_total,r=e.followers,a=e.albums_uris,s=e.artists;switch((0,i.uriType)(t)){case"playlist":return n?o.default.createElement("span",{className:"grid__item__secondary__content"},n+" tracks"):null;case"artist":return o.default.createElement("span",{className:"grid__item__secondary__content"},r&&r.toLocaleString()+" followers ",a&&a.length+" albums");case"album":return o.default.createElement("span",{className:"grid__item__secondary__content"},s&&o.default.createElement(c.default,{nolinks:!0,items:s}));default:return o.default.createElement("span",{className:"grid__item__secondary__content"},s&&o.default.createElement(c.default,{nolinks:!0,items:item.artists}),r&&r.toLocaleString()+" followers")}},a.render=function(){var e=a.props,t=e.item.album,n=e.link,c=e.type,d=e.show_source_icon,f=a.props.item;if(!f)return null;t&&(f=r({},f,t));var p=n||"/"+c+"/"+encodeURIComponent(f.uri);return o.default.createElement(s.default,{className:"grid__item grid__item--"+c,to:p,onClick:i.scrollTo,onContextMenu:a.onContextMenu},o.default.createElement(u.default,{glow:!0,size:"medium",className:"grid__item__thumbnail",images:f.images||f.icons,type:c}),o.default.createElement("div",{className:"grid__item__name"},f.name?f.name:o.default.createElement("span",{className:"opaque-text"},f.uri)),o.default.createElement("div",{className:"grid__item__secondary"},d&&o.default.createElement(l.default,{name:(0,i.sourceIcon)(f.uri),type:"fontawesome",className:"source"}),a.renderSecondary(f)))},f(a,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.mopidyActions,n=e.spotifyActions,r=e.spotifyAvailable,a=e.item;if(a&&!a.images)switch((0,i.uriType)(a.uri)){case"artist":n&&r&&n.getArtistImages(a);break;case"album":t&&t.getImages("albums",[a.uri])}}}]),t}(o.default.Component);t.default=p},function(e,t,n){"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){var e=""+(new Date).getTime(),t=void 0,n=void 0;try{return(t=window.localStorage).setItem(e,e),n=t.getItem(e)===e,t.removeItem(e),n&&t}catch(e){return!1}}(),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(a){var n=a.getItem(e);return n?JSON.parse(n):t}return console.warn("localStorage not available. Using default value for '"+e+"'."),t},i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(a){var o=a.getItem(e);if(!o||n)var i=t;else i=r({},JSON.parse(o),t);a.setItem(e,JSON.stringify(i))}else console.warn("localStorage not available. '"+e+"' will not perist when you close your browser.")},s={get:function(e){var t=o("cache",{});if(void 0!==t['"'+e+'"'])return t['"'+e+'"']},set:function(e,t){var n=o("cache",{});return n['"'+e+'"']=t,i("cache",n),!0},clear:function(){i("cache",{},!0)}},l=function(e){var t=new Image;return t.src=e,t.complete};t.get=o,t.set=i,t.cache=s,t.isCached=l,t.default={get:o,set:i,cache:s,isCached:l}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=d(n(0)),a=n(3),o=n(2),i=c(n(1)),s=c(n(6)),l=c(n(15)),u=d(n(40));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var p=function(e){function t(){var e,n,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var o=arguments.length,i=Array(o),s=0;s<o;s++)i[s]=arguments[s];return n=a=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),a.handleContextMenu=function(e,t){var n=a.props.uiActions.showContextMenu;e.preventDefault(),n({e:e,context:"album",uris:[t.uri],items:[t],tracklist_uri:t.uri})},a.render=function(){var e=a.props,t=e.albums,n=e.className,o=e.mini,i=e.lastfmActions,s=e.mopidyActions,l=e.show_source_icon;return t?r.default.createElement("div",{className:"grid grid--albums "+n+" "+(o?" grid--mini":"")},t.map((function(e){return r.default.createElement(u.default,{key:e.uri,type:"album",item:e,lastfmActions:i,mopidyActions:s,show_source_icon:l,onContextMenu:function(t){return a.handleContextMenu(t,e)}})}))):null},f(a,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(r.default.Component);t.default=(0,a.connect)((function(e){return{artists:e.core.artists}}),(function(e){return{uiActions:(0,o.bindActionCreators)(i,e),lastfmActions:(0,o.bindActionCreators)(l,e),mopidyActions:(0,o.bindActionCreators)(s,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=u(n(0)),o=n(3),i=n(2),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),l=u(n(40));function u(e){return e&&e.__esModule?e:{default:e}}var c=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"handleContextMenu",value:function(e,t){e.preventDefault();var n={e:e,context:"playlist",uris:[t.uri],items:[t],tracklist_uri:t.uri};this.props.uiActions.showContextMenu(n)}},{key:"render",value:function(){var e=this;if(!this.props.playlists)return null;var t="grid grid--playlists";return this.props.className&&(t+=" "+this.props.className),this.props.single_row&&(t+=" grid--single-row"),this.props.mini&&(t+=" grid--mini"),a.default.createElement("div",{className:t},this.props.playlists.map((function(t){return a.default.createElement(l.default,{key:t.uri,type:"playlist",item:t,show_source_icon:e.props.show_source_icon,onClick:function(n){e.props.history.push("/playlist/"+encodeURIComponent(t.uri))},onContextMenu:function(n){return e.handleContextMenu(n,t)}})})))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{}}),(function(e){return{uiActions:(0,i.bindActionCreators)(s,e)}}))(c)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={in_focus:!1,value:n.props.value?n.props.value:""},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"handleChange",value:function(e){this.setState({value:e.target.value})}},{key:"handleFocus",value:function(e){this.setState({in_focus:!0})}},{key:"handleBlur",value:function(e){this.setState({in_focus:!1}),this.state.value!==this.props.value&&this.props.onChange(this.state.value)}},{key:"render",value:function(){var e=this;return i.default.createElement("input",{className:this.props.className?this.props.className:"",type:this.props.type?this.props.type:"text",onChange:function(t){return e.handleChange(t)},onFocus:function(t){return e.handleFocus(t)},onBlur:function(t){return e.handleBlur(t)},value:this.state.value,placeholder:this.props.placeholder?this.props.placeholder:null})}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.value;return t.in_focus||t.value===n?null:{value:n}}}]),t}(i.default.Component);t.default=s},function(e,t,n){"use strict";e.exports=n(89)},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(4);var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleChange=(0,s.throttle)(n.handleChange.bind(n),100),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"handleChange",value:function(e){this.props.onVolumeChange(e,this.props.volume)}},{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.mute,a=t.volume,o=t.vertical,s="slider slider--volume";return r&&(s+=" slider--muted"),i.default.createElement("div",{className:"slider__wrapper slider__wrapper--"+(o?"vertical":"horiztonal")+" "+n},i.default.createElement("div",{className:s},i.default.createElement("input",{className:"slider__input",type:"range",min:"0",max:"25",orient:o?"vertical":"horizontal",value:a/4,onChange:function(t){return e.handleChange(4*parseInt(t.target.value))}}),i.default.createElement("div",{className:"slider__track"},i.default.createElement("div",{className:"slider__track__progress",style:o?{height:a+"%"}:{width:a+"%"}}))))}}]),t}(i.default.Component);t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){return e.mute?a.default.createElement("button",{className:"control mute-control "+(e.noTooltip?"":"tooltip ")+(e.className?e.className:""),onClick:function(){return e.onMuteChange(!1)}},a.default.createElement(o.default,{className:"red-text",name:"volume_off"}),e.noTooltip?null:a.default.createElement("span",{className:"tooltip__content"},"Unmute")):a.default.createElement("button",{className:"control mute-control "+(e.noTooltip?"":"tooltip ")+(e.className?e.className:""),onClick:function(){return e.onMuteChange(!0)}},a.default.createElement(o.default,{className:"muted",name:"volume_mute"}),e.noTooltip?null:a.default.createElement("span",{className:"tooltip__content"},"Mute"))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=f(n(1)),c=f(n(7)),d=n(4);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"remove",value:function(){var e=this.props,t=e.spotifyActions,n=e.uri;t.following(n,"DELETE")}},{key:"add",value:function(){var e=this.props,t=e.spotifyActions,n=e.uri;t.following(n,"PUT")}},{key:"render",value:function(){var e=this,t=this.props,n=t.uri,r=t.addText,a=t.removeText,o=t.spotify_authorized,s=t.is_following,l=t.uiActions,u=t.load_queue,c=this.props.className;return n?(c+=" button",(0,d.isLoading)(u,["spotify_me/tracks?","spotify_me/albums?","spotify_me/following?","spotify_playlists/"+(0,d.getFromUri)("playlistid",n)+"/followers?"])&&(c+=" button--working"),o?!0===s?i.default.createElement("button",{type:"button",className:c+" button--destructive",onClick:function(){return e.remove()}},a):i.default.createElement("button",{type:"button",className:c+" button--default",onClick:function(){return e.add()}},r):i.default.createElement("button",{type:"button",className:c+" button--disabled",onClick:function(){return l.createNotification({content:"You must authorize Spotify first",level:"warning"})}},r)):null}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{load_queue:e.ui.load_queue,spotify_authorized:e.spotify.authorization}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),spotifyActions:(0,l.bindActionCreators)(c,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(182);Object.defineProperty(t,"captialize",{enumerable:!0,get:function(){return c(r).default}});var a=n(183);Object.defineProperty(t,"clamp",{enumerable:!0,get:function(){return c(a).default}});var o=n(184);Object.defineProperty(t,"distanceTo",{enumerable:!0,get:function(){return c(o).default}});var i=n(185);Object.defineProperty(t,"isDefined",{enumerable:!0,get:function(){return c(i).default}});var s=n(186);Object.defineProperty(t,"isNumber",{enumerable:!0,get:function(){return c(s).default}});var l=n(187);Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c(l).default}});var u=n(188);function c(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"length",{enumerable:!0,get:function(){return c(u).default}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=n(3),i=n(2),s=n(26),l=p(n(202)),u=f(n(1)),c=f(n(15)),d=f(n(72));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"handleContextMenu",value:function(e,t){this.props.handleContextMenu&&(e.preventDefault(),this.props.handleContextMenu(e,t))}},{key:"render",value:function(){var e=this;if(!this.props.rows)return null;var t="list";return this.props.className&&(t+=" "+this.props.className),a.default.createElement("div",{className:t},this.props.rows.map((function(t,n){return a.default.createElement(l.default,{key:n,item:t,lastfmActions:e.props.lastfmActions,discogsActions:e.props.discogsActions,history:e.props.history,link_prefix:e.props.link_prefix,handleContextMenu:function(n){return e.handleContextMenu(n,t)},thumbnail:e.props.thumbnail,details:e.props.details,nocontext:e.props.nocontext})})))}}]),t}(a.default.Component);t.default=(0,s.withRouter)((0,o.connect)((function(e,t){return{}}),(function(e){return{uiActions:(0,i.bindActionCreators)(u,e),lastfmActions:(0,i.bindActionCreators)(c,e),discogsActions:(0,i.bindActionCreators)(d,e)}}))(m))},,function(e,t,n){(function(r){var a;/** @license MIT License (c) copyright 2010-2014 original author or authors */
!function(o){"use strict";void 0===(a=function(e){var t,a="undefined"!=typeof setTimeout&&setTimeout,o=function(e,t){return setTimeout(e,t)},i=function(e){return clearTimeout(e)},s=function(e){return a(e,0)};if(void 0!==r&&"[object process]"===Object.prototype.toString.call(r))s=function(e){return r.nextTick(e)};else if(t="undefined"!=typeof MutationObserver&&MutationObserver||"undefined"!=typeof WebKitMutationObserver&&WebKitMutationObserver)s=function(e){var t,n=document.createTextNode("");new e((function(){var e=t;t=void 0,e()})).observe(n,{characterData:!0});var r=0;return function(e){t=e,n.data=r^=1}}(t);else if(!a){var l=n(113);o=function(e,t){return l.setTimer(t,e)},i=l.cancelTimer,s=l.runOnLoop||l.runOnContext}return{setTimer:o,clearTimer:i,asap:s}}.call(t,n,t,e))||(e.exports=a)}(n(14))}).call(this,n(55))},function(e,t){var n,r,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var l,u=[],c=!1,d=-1;function f(){c&&l&&(c=!1,l.length?u=l.concat(u):d=-1,u.length&&p())}function p(){if(!c){var e=s(f);c=!0;for(var t=u.length;t;){for(l=u,u=[];++d<t;)l&&l[d].run();d=-1,t=u.length}l=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}a.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new m(e,t)),1!==u.length||c||s(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=h,a.addListener=h,a.once=h,a.off=h,a.removeListener=h,a.removeAllListeners=h,a.emit=h,a.prependListener=h,a.prependOnceListener=h,a.listeners=function(e){return[]},a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;
/**
* [js-sha256]{@link https://github.com/emn178/js-sha256}
*
* @version 0.9.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/!function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&"object"==typeof module&&module.exports,AMD=__webpack_require__(126),ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];!root.JS_SHA256_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(n){return new Sha256(t,!0).update(n)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(e){return t.create().update(e)};for(var n=0;n<OUTPUT_TYPES.length;++n){var r=OUTPUT_TYPES[n];t[r]=createOutputMethod(r,e)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(e){if("string"==typeof e)return crypto.createHash(algorithm).update(e,"utf8").digest("hex");if(null==e)throw new Error(ERROR);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod},createHmacOutputMethod=function(e,t){return function(n,r){return new HmacSha256(n,t,!0).update(r)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(t){return new HmacSha256(t,e)},t.update=function(e,n){return t.create(e).update(n)};for(var n=0;n<OUTPUT_TYPES.length;++n){var r=OUTPUT_TYPES[n];t[r]=createHmacOutputMethod(r,e)}return t};function Sha256(e,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}function HmacSha256(e,t,n){var r,a=typeof e;if("string"===a){var o,i=[],s=e.length,l=0;for(r=0;r<s;++r)(o=e.charCodeAt(r))<128?i[l++]=o:o<2048?(i[l++]=192|o>>6,i[l++]=128|63&o):o<55296||o>=57344?(i[l++]=224|o>>12,i[l++]=128|o>>6&63,i[l++]=128|63&o):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++r)),i[l++]=240|o>>18,i[l++]=128|o>>12&63,i[l++]=128|o>>6&63,i[l++]=128|63&o);e=i}else{if("object"!==a)throw new Error(ERROR);if(null===e)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw new Error(ERROR)}e.length>64&&(e=new Sha256(t,!0).update(e).array());var u=[],c=[];for(r=0;r<64;++r){var d=e[r]||0;u[r]=92^d,c[r]=54^d}Sha256.call(this,t,n),this.update(c),this.oKeyPad=u,this.inner=!0,this.sharedMemory=n}Sha256.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if("string"!==n){if("object"!==n)throw new Error(ERROR);if(null===e)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw new Error(ERROR);t=!0}for(var r,a,o=0,i=e.length,s=this.blocks;o<i;){if(this.hashed&&(this.hashed=!1,s[0]=this.block,s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)for(a=this.start;o<i&&a<64;++o)s[a>>2]|=e[o]<<SHIFT[3&a++];else for(a=this.start;o<i&&a<64;++o)(r=e.charCodeAt(o))<128?s[a>>2]|=r<<SHIFT[3&a++]:r<2048?(s[a>>2]|=(192|r>>6)<<SHIFT[3&a++],s[a>>2]|=(128|63&r)<<SHIFT[3&a++]):r<55296||r>=57344?(s[a>>2]|=(224|r>>12)<<SHIFT[3&a++],s[a>>2]|=(128|r>>6&63)<<SHIFT[3&a++],s[a>>2]|=(128|63&r)<<SHIFT[3&a++]):(r=65536+((1023&r)<<10|1023&e.charCodeAt(++o)),s[a>>2]|=(240|r>>18)<<SHIFT[3&a++],s[a>>2]|=(128|r>>12&63)<<SHIFT[3&a++],s[a>>2]|=(128|r>>6&63)<<SHIFT[3&a++],s[a>>2]|=(128|63&r)<<SHIFT[3&a++]);this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.block=s[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e,t,n,r,a,o,i,s,l,u=this.h0,c=this.h1,d=this.h2,f=this.h3,p=this.h4,m=this.h5,h=this.h6,_=this.h7,y=this.blocks;for(e=16;e<64;++e)t=((a=y[e-15])>>>7|a<<25)^(a>>>18|a<<14)^a>>>3,n=((a=y[e-2])>>>17|a<<15)^(a>>>19|a<<13)^a>>>10,y[e]=y[e-16]+t+y[e-7]+n<<0;for(l=c&d,e=0;e<64;e+=4)this.first?(this.is224?(o=300032,_=(a=y[0]-1413257819)-150054599<<0,f=a+24177077<<0):(o=704751109,_=(a=y[0]-210244248)-1521486534<<0,f=a+143694565<<0),this.first=!1):(t=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),r=(o=u&c)^u&d^l,_=f+(a=_+(n=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))+(p&m^~p&h)+K[e]+y[e])<<0,f=a+(t+r)<<0),t=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),r=(i=f&u)^f&c^o,h=d+(a=h+(n=(_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&p^~_&m)+K[e+1]+y[e+1])<<0,t=((d=a+(t+r)<<0)>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),r=(s=d&f)^d&u^i,m=c+(a=m+(n=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7))+(h&_^~h&p)+K[e+2]+y[e+2])<<0,t=((c=a+(t+r)<<0)>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),r=(l=c&d)^c&f^s,p=u+(a=p+(n=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&h^~m&_)+K[e+3]+y[e+3])<<0,u=a+(t+r)<<0;this.h0=this.h0+u<<0,this.h1=this.h1+c<<0,this.h2=this.h2+d<<0,this.h3=this.h3+f<<0,this.h4=this.h4+p<<0,this.h5=this.h5+m<<0,this.h6=this.h6+h<<0,this.h7=this.h7+_<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,a=this.h4,o=this.h5,i=this.h6,s=this.h7,l=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[15&a]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[15&o]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i];return this.is224||(l+=HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[15&s]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,a=this.h4,o=this.h5,i=this.h6,s=this.h7,l=[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,n>>24&255,n>>16&255,n>>8&255,255&n,r>>24&255,r>>16&255,r>>8&255,255&r,a>>24&255,a>>16&255,a>>8&255,255&a,o>>24&255,o>>16&255,o>>8&255,255&o,i>>24&255,i>>16&255,i>>8&255,255&i];return this.is224||l.push(s>>24&255,s>>16&255,s>>8&255,255&s),l},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}()}).call(this,__webpack_require__(55),__webpack_require__(47))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.set=function(e){return{type:"GOOGLE_SET",data:e}},t.getLibraryArtists=function(){return{type:"GOOGLE_GET_LIBRARY_ARTISTS"}},t.clearLibraryArtists=function(){return{type:"GOOGLE_CLEAR_LIBRARY_ARTISTS"}},t.getLibraryAlbums=function(){return{type:"GOOGLE_GET_LIBRARY_ALBUMS"}},t.clearLibraryAlbums=function(){return{type:"GOOGLE_CLEAR_LIBRARY_ALBUMS"}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=i(n(0)),o=i(n(38));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.render=function(){var e=n.state,t=e.hasError,r=e.info,i=(r=void 0===r?{}:r).componentStack,s=n.props.children;return t?a.default.createElement(o.default,{type:"error-boundary"},i&&a.default.createElement("pre",{className:"error-message__trace"},i)):s},n.state={hasError:!1,error:null,info:{}},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidCatch",value:function(e,t){this.setState({hasError:!0,error:e,info:t}),console.error(e,t)}}]),t}(a.default.Component);t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(0);(r=a)&&r.__esModule;t.default=(0,a.memo)((function(e){var t=parseInt(e.value);return t>1e6?(t/=1e6,t=Math.round(10*t)/10,t+="m"):t>1e3?(t/=1e3,t=Math.round(10*t)/10,t+="k"):t=t.toLocaleString(),t}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(0)),a=n(3),o=n(2),i=f(n(40)),s=n(12),l=d(n(1)),u=d(n(15)),c=d(n(7));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var m=function(e){function t(){var e,n,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var o=arguments.length,l=Array(o),u=0;u<o;u++)l[u]=arguments[u];return n=a=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),a.handleContextMenu=function(e,t){var n=a.props.uiActions.showContextMenu;e.preventDefault(),n({e:e,context:"artist",uris:[t.uri],items:[t]})},a.render=function(){var e=a.props,t=e.artists,n=e.albums,o=e.className,l=(e.single_row,e.mini),u=e.show_source_icon,c=e.history,d=e.spotifyActions,f=e.spotifyAvailable,p=e.lastfmActions;return t?r.default.createElement("div",{className:"grid grid--artists "+o+" "+(l?"grid--mini":"")},t.map((function(e){var t=(0,s.collate)(e,{albums:n});return r.default.createElement(i.default,{key:t.uri,type:"artist",item:t,show_source_icon:u,onClick:function(){c.push("/artist/"+encodeURIComponent(t.uri))},lastfmActions:p,spotifyActions:d,spotifyAvailable:f,onContextMenu:function(e){return a.handleContextMenu(e,t)}})}))):null},p(a,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(r.default.Component);t.default=(0,a.connect)((function(e,t){return{albums:e.core.albums,spotifyAvailable:e.spotify.enabled}}),(function(e){return{uiActions:(0,o.bindActionCreators)(l,e),lastfmActions:(0,o.bindActionCreators)(u,e),spotifyActions:(0,o.bindActionCreators)(c,e)}}))(m)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(0)),a=o(n(5));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=e.onChange,n=e.value,o=e.options;return r.default.createElement("div",{className:"select-field"},r.default.createElement("select",{onChange:function(e){return t(e.target.value)},value:n},o.map((function(e){return r.default.createElement("option",{value:e.value,key:e.key||e.value},e.label)}))),r.default.createElement(a.default,{name:"arrow_drop_down",className:"select-field__icon"}))}},function(e,t,n){"use strict";function r(e){var t=void 0;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach((function(t){if("constructor"!==t){var n=Object.getOwnPropertyDescriptor(e.prototype,t);"function"==typeof n.value&&Object.defineProperty(e.prototype,t,a(e,t,n))}})),e}function a(e,t,n){var r=n.value;if("function"!=typeof r)throw new Error("@autobind decorator can only be applied to methods not: "+typeof r);var a=!1;return{configurable:!0,get:function(){if(a||this===e.prototype||this.hasOwnProperty(t))return r;var n=r.bind(this);return a=!0,Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),a=!1,n}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return 1===t.length?r.apply(void 0,t):a.apply(void 0,t)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=i(n(0)),o=(i(n(17)),i(n(5)));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:"",active:!!n.props.slim_mode},n.handleKeyUp=n.handleKeyUp.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){window.addEventListener("keyup",this.handleKeyUp,!1),this.setState({value:this.props.initialValue})}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keyup",this.handleKeyUp,!1)}},{key:"handleKeyUp",value:function(e){27!=e.keyCode||this.props.slim_mode||(e.preventDefault(),this.setState({value:"",active:!1}),this.handleChange(""))}},{key:"handleSubmit",value:function(e){var t=this.props.onSubmit;return t&&t(e),e.preventDefault(),!1}},{key:"activate",value:function(){this.setState({active:!0})}},{key:"handleChange",value:function(e){this.setState({value:e,active:!!this.props.slim_mode||""!=e}),this.props.handleChange(e)}},{key:"handleBlur",value:function(){""!=this.state.value||this.props.slim_mode||this.setState({active:!1})}},{key:"render",value:function(){var e=this;return a.default.createElement("span",{className:"filter-field "+(this.state.active?"active":""),onClick:function(t){return e.activate()}},a.default.createElement("form",{onSubmit:function(t){return e.handleSubmit(t)}},a.default.createElement("input",{type:"text",placeholder:"Filter",value:this.state.value,onFocus:function(t){return e.activate()},onBlur:function(t){return e.handleBlur()},onChange:function(t){return e.handleChange(t.target.value)}}),a.default.createElement(o.default,{name:"search",type:"material"})))}}]),t}(a.default.Component);t.default=s},function(e,t,n){"use strict";var r=n(46),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),_=0;_<i.length;++_){var y=i[_];if(!(o[y]||r&&r[y]||h&&h[y]||s&&s[y])){var v=f(n,y);try{u(t,y,v)}catch(e){}}}return t}return t}},function(e,t,n){"use strict";(function(e,r){var a,o=n(78);a="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:r;var i=Object(o.a)(a);t.a=i}).call(this,n(47),n(90)(e))},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){var r=n(91);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(s+=e.slice(i,p),i=p+d.length,f)s+=f[1];else{var m=e[i],h=n[2],_=n[3],y=n[4],v=n[5],g=n[6],b=n[7];s&&(r.push(s),s="");var E=null!=h&&null!=m&&m!==h,k="+"===g||"*"===g,w="?"===g||"*"===g,S=n[2]||c,O=y||v;r.push({name:_||o++,prefix:h||"",delimiter:S,optional:w,repeat:k,partial:E,asterisk:!!b,pattern:O?u(O):b?".*":"[^"+l(S)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,f=s[c.name];if(null==f){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function f(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var u=e[s];if("string"==typeof u)i+=l(u);else{var f=l(u.prefix),p="(?:"+u.pattern+")";t.push(u),u.repeat&&(p+="(?:"+f+p+")*"),i+=p=u.optional?u.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var m=l(n.delimiter||"/"),h=i.slice(-m.length)===m;return a||(i=(h?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&h?"":"(?="+m+"|$)",c(new RegExp("^"+i,d(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(o(e,n),t,n)}(e,t,n)}},function(e,t,n){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=i(e),u=1;u<arguments.length;u++){for(var c in n=Object(arguments[u]))a.call(n,c)&&(l[c]=n[c]);if(r){s=r(n);for(var d=0;d<s.length;d++)o.call(n,s[d])&&(l[s[d]]=n[s[d]])}}return l}},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){function e(t){Error.call(this),this.message=t,this.name=e.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return{pending:e,fulfilled:n,rejected:t,inspect:function(e){var r=e.state();return 0===r?{state:"pending"}:r>0?n(e.value):t(e.value)}};function e(){return{state:"pending"}}function t(e){return{state:"rejected",reason:e}}function n(e){return{state:"fulfilled",value:e}}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return e.tryCatchResolve=t,e;function e(e,n){return arguments.length<2&&(n=t),function(t,a,o){var i=e._defer(),s=o.length,l=new Array(s);return r({f:t,thisArg:a,args:o,params:l,i:s-1,call:n},i._handler),i};function r(t,r){if(t.i<0)return n(t.f,t.thisArg,t.params,r);e._handler(t.args[t.i]).fold(a,t,void 0,r)}function a(e,t,n){e.params[e.i]=t,e.i-=1,r(e,n)}}function t(e,t,n,r){try{r.resolve(e.apply(t,n))}catch(e){r.reject(e)}}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getArtistImages=function(e,t){return function(n,r){i(n,r,"database/search","type=artist&query="+t.name).then((function(t){if(t&&t.results.length>0&&void 0!==t.results[0].cover_image){var r={uri:e,images:[t.results[0].cover_image]};n(a.artistLoaded(r))}}),(function(e){console.error(e)}))}};var r=n(4),a=n(8),o=n(1),i=function(e,t,n,a){return new Promise((function(t,i){var s="https://api.discogs.com/"+n+"?"+a,l=(0,r.generateGuid)();e(o.startLoading(l,"discogs_"+n)),fetch(s,{method:"GET",timeout:3e4,mode:"cors",headers:{"User-Agent":"Iris/1.0",Authorization:"Discogs key=CXIwsVMAjrXIVitBWgqd, secret=KiEUfwKpebxRnEHlKoXnYIftJxeuqjTK"}}).then((function(t){return e(o.stopLoading(l)),t.status>=200&&t.status<300?Promise.resolve(t):Promise.reject(new Error(t.statusText))})).then((function(e){return e.json()})).then((function(e){t(e)})).catch((function(e){i(e)}))}))}},function(e,t,n){"use strict";e.exports=n(134).default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(6)),c=n(4);var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleChange=(0,c.throttle)(n.handleChange.bind(n),250),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"handleChange",value:function(e){this.props.mopidyActions.setTimePosition(this.props.current_track.duration*(e/100))}},{key:"render",value:function(){var e=this,t=0;return this.props.connected&&this.props.time_position&&this.props.current_track&&this.props.current_track.duration&&(t=this.props.time_position/this.props.current_track.duration,(t*=100)>1e3&&(t=100)),i.default.createElement("div",{className:"slider slider--playback-progress slider--"+this.props.play_state},i.default.createElement("input",{type:"range",min:"0",max:"100",value:t,className:"slider__input",onChange:function(t){return e.handleChange(parseInt(t.target.value))}}),i.default.createElement("div",{className:"slider__track"},i.default.createElement("div",{className:"slider__track__progress",style:{width:t+"%"}})))}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{current_track:e.core.current_track&&void 0!==e.core.tracks[e.core.current_track.uri]?e.core.tracks[e.core.current_track.uri]:null,connected:e.mopidy.connected,time_position:e.mopidy.time_position,play_state:e.mopidy.play_state}}),(function(e){return{mopidyActions:(0,l.bindActionCreators)(u,e)}}))(d)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=s(r),o=s(n(19)),i=s(n(21));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){return e.artists?a.default.createElement("div",{className:"related-artists"},e.artists.map((function(e,t){var n=e.images;return Array.isArray(n)&&(n=n[0]),e.uri?a.default.createElement(i.default,{type:"artist",uri:e.uri,key:e.uri,className:"related-artists__item related-artists__item--link"},a.default.createElement(o.default,{className:"related-artists__item__thumbnail",circle:!0,size:"small",images:n}),a.default.createElement("span",{className:"related-artists__item__name"},e.name)):a.default.createElement("span",{key:e.uri,className:"related-artists__item"},a.default.createElement(o.default,{className:"related-artists__item__thumbnail",circle:!0,size:"small",images:n}),a.default.createElement("span",{className:"related-artists__item__name"},e.name))}))):null}))},function(e,t,n){"use strict";var r=n(167).default;e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var r=o(n(0)),a=o(n(10));function o(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.formatLabel?e.formatLabel(e.children,e.type):e.children;return r.default.createElement("span",{className:e.classNames[e.type+"Label"]},r.default.createElement("span",{className:e.classNames.labelContainer},t))}i.propTypes={children:a.default.node.isRequired,classNames:a.default.objectOf(a.default.string).isRequired,formatLabel:a.default.func,type:a.default.string.isRequired},e.exports=t.default},function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";(function(t){var n="__global_unique_id__";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(this,n(47))},function(e,t,n){"use strict";var r=n(46),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),_=0;_<i.length;++_){var y=i[_];if(!(o[y]||r&&r[y]||h&&h[y]||s&&s[y])){var v=f(n,y);try{u(t,y,v)}catch(e){}}}}return t}},function(e,t,n){"use strict";var r=u(n(0)),a=u(n(83)),o=n(3),i=n(39),s=u(n(92)),l=u(n(133));function u(e){return e&&e.__esModule?e:{default:e}}n(221),a.default.render(r.default.createElement(o.Provider,{store:s.default},r.default.createElement(i.BrowserRouter,{basename:"/iris"},r.default.createElement(i.Route,{path:"/",component:l.default}))),document.getElementById("app"))},function(e,t,n){"use strict";
/** @license React v16.12.0
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var r=n(68),a="function"==typeof Symbol&&Symbol.for,o=a?Symbol.for("react.element"):60103,i=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,c=a?Symbol.for("react.provider"):60109,d=a?Symbol.for("react.context"):60110,f=a?Symbol.for("react.forward_ref"):60112,p=a?Symbol.for("react.suspense"):60113;a&&Symbol.for("react.suspense_list");var m=a?Symbol.for("react.memo"):60115,h=a?Symbol.for("react.lazy"):60116;a&&Symbol.for("react.fundamental"),a&&Symbol.for("react.responder"),a&&Symbol.for("react.scope");var _="function"==typeof Symbol&&Symbol.iterator;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||v}function E(){}function k(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||v}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(y(85));this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=b.prototype;var w=k.prototype=new E;w.constructor=k,r(w,b.prototype),w.isPureReactComponent=!0;var S={current:null},O={current:null},T=Object.prototype.hasOwnProperty,A={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var r,a={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)T.call(t,r)&&!A.hasOwnProperty(r)&&(a[r]=t[r]);var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===a[r]&&(a[r]=l[r]);return{$$typeof:o,type:e,key:i,ref:s,props:a,_owner:O.current}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var x=/\/+/g,N=[];function R(e,t,n,r){if(N.length){var a=N.pop();return a.result=e,a.keyPrefix=t,a.func=n,a.context=r,a.count=0,a}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function M(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>N.length&&N.push(e)}function D(e,t,n){return null==e?0:function e(t,n,r,a){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var l=!1;if(null===t)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case i:l=!0}}if(l)return r(a,t,""===n?"."+L(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var u=0;u<t.length;u++){var c=n+L(s=t[u],u);l+=e(s,c,r,a)}else if(null===t||"object"!=typeof t?c=null:c="function"==typeof(c=_&&t[_]||t["@@iterator"])?c:null,"function"==typeof c)for(t=c.call(t),u=0;!(s=t.next()).done;)l+=e(s=s.value,c=n+L(s,u++),r,a);else if("object"===s)throw r=""+t,Error(y(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return l}(e,"",t,n)}function L(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function I(e,t){e.func.call(e.context,t,e.count++)}function j(e,t,n){var r=e.result,a=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?U(e,r,n,(function(e){return e})):null!=e&&(P(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,a+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(x,"$&/")+"/")+n)),r.push(e))}function U(e,t,n,r,a){var o="";null!=n&&(o=(""+n).replace(x,"$&/")+"/"),D(e,j,t=R(t,o,r,a)),M(t)}function Y(){var e=S.current;if(null===e)throw Error(y(321));return e}var F={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return U(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;D(e,I,t=R(null,null,t,n)),M(t)},count:function(e){return D(e,(function(){return null}),null)},toArray:function(e){var t=[];return U(e,t,null,(function(e){return e})),t},only:function(e){if(!P(e))throw Error(y(143));return e}},createRef:function(){return{current:null}},Component:b,PureComponent:k,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:d,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:f,render:e}},lazy:function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},memo:function(e,t){return{$$typeof:m,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return Y().useCallback(e,t)},useContext:function(e,t){return Y().useContext(e,t)},useEffect:function(e,t){return Y().useEffect(e,t)},useImperativeHandle:function(e,t,n){return Y().useImperativeHandle(e,t,n)},useDebugValue:function(){},useLayoutEffect:function(e,t){return Y().useLayoutEffect(e,t)},useMemo:function(e,t){return Y().useMemo(e,t)},useReducer:function(e,t,n){return Y().useReducer(e,t,n)},useRef:function(e){return Y().useRef(e)},useState:function(e){return Y().useState(e)},Fragment:s,Profiler:u,StrictMode:l,Suspense:p,createElement:C,cloneElement:function(e,t,n){if(null==e)throw Error(y(267,e));var a=r({},e.props),i=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=O.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)T.call(t,c)&&!A.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){u=Array(c);for(var d=0;d<c;d++)u[d]=arguments[d+2];a.children=u}return{$$typeof:o,type:e.type,key:i,ref:s,props:a,_owner:l}},createFactory:function(e){var t=C.bind(null,e);return t.type=e,t},isValidElement:P,version:"16.12.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:S,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:O,IsSomeRendererActing:{current:!1},assign:r}},H={default:F},z=H&&F||H;e.exports=z.default||z},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(84)},function(e,t,n){"use strict";
/** @license React v16.12.0
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var r=n(0),a=n(68),o=n(85);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var s=null,l={};function u(){if(s)for(var e in l){var t=l[e],n=s.indexOf(e);if(!(-1<n))throw Error(i(96,e));if(!d[n]){if(!t.extractEvents)throw Error(i(97,e));for(var r in d[n]=t,n=t.eventTypes){var a=void 0,o=n[r],u=t,p=r;if(f.hasOwnProperty(p))throw Error(i(99,p));f[p]=o;var m=o.phasedRegistrationNames;if(m){for(a in m)m.hasOwnProperty(a)&&c(m[a],u,p);a=!0}else o.registrationName?(c(o.registrationName,u,p),a=!0):a=!1;if(!a)throw Error(i(98,r,e))}}}}function c(e,t,n){if(p[e])throw Error(i(100,e));p[e]=t,m[e]=t.eventTypes[n].dependencies}var d=[],f={},p={},m={};function h(e,t,n,r,a,o,i,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(e){this.onError(e)}}var _=!1,y=null,v=!1,g=null,b={onError:function(e){_=!0,y=e}};function E(e,t,n,r,a,o,i,s,l){_=!1,y=null,h.apply(b,arguments)}var k=null,w=null,S=null;function O(e,t,n){var r=e.type||"unknown-event";e.currentTarget=S(n),function(e,t,n,r,a,o,s,l,u){if(E.apply(this,arguments),_){if(!_)throw Error(i(198));var c=y;_=!1,y=null,v||(v=!0,g=c)}}(r,t,void 0,e),e.currentTarget=null}function T(e,t){if(null==t)throw Error(i(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function A(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var C=null;function P(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)O(e,t[r],n[r]);else t&&O(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function x(e){if(null!==e&&(C=T(C,e)),e=C,C=null,e){if(A(e,P),C)throw Error(i(95));if(v)throw e=g,v=!1,g=null,e}}var N={injectEventPluginOrder:function(e){if(s)throw Error(i(101));s=Array.prototype.slice.call(e),u()},injectEventPluginsByName:function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!l.hasOwnProperty(t)||l[t]!==r){if(l[t])throw Error(i(102,t));l[t]=r,n=!0}}n&&u()}};function R(e,t){var n=e.stateNode;if(!n)return null;var r=k(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var M=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;M.hasOwnProperty("ReactCurrentDispatcher")||(M.ReactCurrentDispatcher={current:null}),M.hasOwnProperty("ReactCurrentBatchConfig")||(M.ReactCurrentBatchConfig={suspense:null});var D=/^(.*)[\\\/]/,L="function"==typeof Symbol&&Symbol.for,I=L?Symbol.for("react.element"):60103,j=L?Symbol.for("react.portal"):60106,U=L?Symbol.for("react.fragment"):60107,Y=L?Symbol.for("react.strict_mode"):60108,F=L?Symbol.for("react.profiler"):60114,H=L?Symbol.for("react.provider"):60109,z=L?Symbol.for("react.context"):60110,B=L?Symbol.for("react.concurrent_mode"):60111,G=L?Symbol.for("react.forward_ref"):60112,q=L?Symbol.for("react.suspense"):60113,V=L?Symbol.for("react.suspense_list"):60120,W=L?Symbol.for("react.memo"):60115,K=L?Symbol.for("react.lazy"):60116;L&&Symbol.for("react.fundamental"),L&&Symbol.for("react.responder"),L&&Symbol.for("react.scope");var X="function"==typeof Symbol&&Symbol.iterator;function $(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=X&&e[X]||e["@@iterator"])?e:null}function Q(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case U:return"Fragment";case j:return"Portal";case F:return"Profiler";case Y:return"StrictMode";case q:return"Suspense";case V:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case z:return"Context.Consumer";case H:return"Context.Provider";case G:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case W:return Q(e.type);case K:if(e=1===e._status?e._result:null)return Q(e)}return null}function J(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,a=e._debugSource,o=Q(e.type);n=null,r&&(n=Q(r.type)),r=o,o="",a?o=" (at "+a.fileName.replace(D,"")+":"+a.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}var Z=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),ee=null,te=null,ne=null;function re(e){if(e=w(e)){if("function"!=typeof ee)throw Error(i(280));var t=k(e.stateNode);ee(e.stateNode,e.type,t)}}function ae(e){te?ne?ne.push(e):ne=[e]:te=e}function oe(){if(te){var e=te,t=ne;if(ne=te=null,re(e),t)for(e=0;e<t.length;e++)re(t[e])}}function ie(e,t){return e(t)}function se(e,t,n,r){return e(t,n,r)}function le(){}var ue=ie,ce=!1,de=!1;function fe(){null===te&&null===ne||(le(),oe())}new Map;var pe=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,me=Object.prototype.hasOwnProperty,he={},_e={};function ye(e,t,n,r,a,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var ve={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){ve[e]=new ye(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];ve[t]=new ye(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){ve[e]=new ye(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){ve[e]=new ye(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){ve[e]=new ye(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){ve[e]=new ye(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){ve[e]=new ye(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){ve[e]=new ye(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){ve[e]=new ye(e,5,!1,e.toLowerCase(),null,!1)}));var ge=/[\-:]([a-z])/g;function be(e){return e[1].toUpperCase()}function Ee(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function ke(e,t,n,r){var a=ve.hasOwnProperty(t)?ve[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!me.call(_e,e)||!me.call(he,e)&&(pe.test(e)?_e[e]=!0:(he[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function we(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Se(e){e._valueTracker||(e._valueTracker=function(e){var t=we(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Oe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=we(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Te(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Ae(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Ee(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Ce(e,t){null!=(t=t.checked)&&ke(e,"checked",t,!1)}function Pe(e,t){Ce(e,t);var n=Ee(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?Ne(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ne(e,t.type,Ee(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function xe(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function Ne(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Re(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Me(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Ee(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function De(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Le(e,t){var n=t.value;if(null==n){if(n=t.defaultValue,null!=(t=t.children)){if(null!=n)throw Error(i(92));if(Array.isArray(t)){if(!(1>=t.length))throw Error(i(93));t=t[0]}n=t}null==n&&(n="")}e._wrapperState={initialValue:Ee(n)}}function Ie(e,t){var n=Ee(t.value),r=Ee(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function je(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(ge,be);ve[t]=new ye(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(ge,be);ve[t]=new ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(ge,be);ve[t]=new ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){ve[e]=new ye(e,1,!1,e.toLowerCase(),null,!1)})),ve.xlinkHref=new ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){ve[e]=new ye(e,1,!1,e.toLowerCase(),null,!0)}));var Ue={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Ye(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Fe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ye(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var He,ze=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,a){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Ue.svg||"innerHTML"in e)e.innerHTML=t;else{for((He=He||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=He.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Be(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function Ge(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var qe={animationend:Ge("Animation","AnimationEnd"),animationiteration:Ge("Animation","AnimationIteration"),animationstart:Ge("Animation","AnimationStart"),transitionend:Ge("Transition","TransitionEnd")},Ve={},We={};function Ke(e){if(Ve[e])return Ve[e];if(!qe[e])return e;var t,n=qe[e];for(t in n)if(n.hasOwnProperty(t)&&t in We)return Ve[e]=n[t];return e}Z&&(We=document.createElement("div").style,"AnimationEvent"in window||(delete qe.animationend.animation,delete qe.animationiteration.animation,delete qe.animationstart.animation),"TransitionEvent"in window||delete qe.transitionend.transition);var Xe=Ke("animationend"),$e=Ke("animationiteration"),Qe=Ke("animationstart"),Je=Ke("transitionend"),Ze="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" ");function et(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function tt(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function nt(e){if(et(e)!==e)throw Error(i(188))}function rt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=et(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return nt(a),e;if(o===r)return nt(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var at,ot,it,st=!1,lt=[],ut=null,ct=null,dt=null,ft=new Map,pt=new Map,mt=[],ht="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),_t="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function yt(e,t,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:r}}function vt(e,t){switch(e){case"focus":case"blur":ut=null;break;case"dragenter":case"dragleave":ct=null;break;case"mouseover":case"mouseout":dt=null;break;case"pointerover":case"pointerout":ft.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":pt.delete(t.pointerId)}}function gt(e,t,n,r,a){return null===e||e.nativeEvent!==a?(e=yt(t,n,r,a),null!==t&&(null!==(t=pr(t))&&ot(t)),e):(e.eventSystemFlags|=r,e)}function bt(e){var t=fr(e.target);if(null!==t){var n=et(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=tt(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){it(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Et(e){if(null!==e.blockedOn)return!1;var t=Nn(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==t){var n=pr(t);return null!==n&&ot(n),e.blockedOn=t,!1}return!0}function kt(e,t,n){Et(e)&&n.delete(t)}function wt(){for(st=!1;0<lt.length;){var e=lt[0];if(null!==e.blockedOn){null!==(e=pr(e.blockedOn))&&at(e);break}var t=Nn(e.topLevelType,e.eventSystemFlags,e.nativeEvent);null!==t?e.blockedOn=t:lt.shift()}null!==ut&&Et(ut)&&(ut=null),null!==ct&&Et(ct)&&(ct=null),null!==dt&&Et(dt)&&(dt=null),ft.forEach(kt),pt.forEach(kt)}function St(e,t){e.blockedOn===t&&(e.blockedOn=null,st||(st=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,wt)))}function Ot(e){function t(t){return St(t,e)}if(0<lt.length){St(lt[0],e);for(var n=1;n<lt.length;n++){var r=lt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ut&&St(ut,e),null!==ct&&St(ct,e),null!==dt&&St(dt,e),ft.forEach(t),pt.forEach(t),n=0;n<mt.length;n++)(r=mt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<mt.length&&null===(n=mt[0]).blockedOn;)bt(n),null===n.blockedOn&&mt.shift()}function Tt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function At(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Ct(e,t,n){(t=R(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=T(n._dispatchListeners,t),n._dispatchInstances=T(n._dispatchInstances,e))}function Pt(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=At(t);for(t=n.length;0<t--;)Ct(n[t],"captured",e);for(t=0;t<n.length;t++)Ct(n[t],"bubbled",e)}}function xt(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=R(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=T(n._dispatchListeners,t),n._dispatchInstances=T(n._dispatchInstances,e))}function Nt(e){e&&e.dispatchConfig.registrationName&&xt(e._targetInst,null,e)}function Rt(e){A(e,Pt)}function Mt(){return!0}function Dt(){return!1}function Lt(e,t,n,r){for(var a in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(a)&&((t=e[a])?this[a]=t(n):"target"===a?this.target=r:this[a]=n[a]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Mt:Dt,this.isPropagationStopped=Dt,this}function It(e,t,n,r){if(this.eventPool.length){var a=this.eventPool.pop();return this.call(a,e,t,n,r),a}return new this(e,t,n,r)}function jt(e){if(!(e instanceof this))throw Error(i(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Ut(e){e.eventPool=[],e.getPooled=It,e.release=jt}a(Lt.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Mt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Mt)},persist:function(){this.isPersistent=Mt},isPersistent:Dt,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Dt,this._dispatchInstances=this._dispatchListeners=null}}),Lt.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Lt.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return a(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=a({},r.Interface,e),n.extend=r.extend,Ut(n),n},Ut(Lt);var Yt=Lt.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Ft=Lt.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ht=Lt.extend({view:null,detail:null}),zt=Ht.extend({relatedTarget:null});function Bt(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Gt={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},qt={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Vt={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Wt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Vt[e])&&!!t[e]}function Kt(){return Wt}for(var Xt=Ht.extend({key:function(e){if(e.key){var t=Gt[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Bt(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?qt[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Kt,charCode:function(e){return"keypress"===e.type?Bt(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Bt(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),$t=0,Qt=0,Jt=!1,Zt=!1,en=Ht.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Kt,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=$t;return $t=e.screenX,Jt?"mousemove"===e.type?e.screenX-t:0:(Jt=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Qt;return Qt=e.screenY,Zt?"mousemove"===e.type?e.screenY-t:0:(Zt=!0,0)}}),tn=en.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),nn=en.extend({dataTransfer:null}),rn=Ht.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Kt}),an=Lt.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),on=en.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),sn=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd",0],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel",0],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort",2],[Xe,"animationEnd",2],[$e,"animationIteration",2],[Qe,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress","progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[Je,"transitionEnd",2],["waiting","waiting",2]],ln={},un={},cn=0;cn<sn.length;cn++){var dn=sn[cn],fn=dn[0],pn=dn[1],mn=dn[2],hn="on"+(pn[0].toUpperCase()+pn.slice(1)),_n={phasedRegistrationNames:{bubbled:hn,captured:hn+"Capture"},dependencies:[fn],eventPriority:mn};ln[pn]=_n,un[fn]=_n}var yn={eventTypes:ln,getEventPriority:function(e){return void 0!==(e=un[e])?e.eventPriority:2},extractEvents:function(e,t,n,r){var a=un[e];if(!a)return null;switch(e){case"keypress":if(0===Bt(n))return null;case"keydown":case"keyup":e=Xt;break;case"blur":case"focus":e=zt;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=en;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=nn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=rn;break;case Xe:case $e:case Qe:e=Yt;break;case Je:e=an;break;case"scroll":e=Ht;break;case"wheel":e=on;break;case"copy":case"cut":case"paste":e=Ft;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=tn;break;default:e=Lt}return Rt(t=e.getPooled(a,t,n,r)),t}},vn=o.unstable_UserBlockingPriority,gn=o.unstable_runWithPriority,bn=yn.getEventPriority,En=10,kn=[];function wn(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=fr(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var a=Tt(e.nativeEvent);r=e.topLevelType;for(var o=e.nativeEvent,i=e.eventSystemFlags,s=null,l=0;l<d.length;l++){var u=d[l];u&&(u=u.extractEvents(r,t,o,a,i))&&(s=T(s,u))}x(s)}}var Sn=!0;function On(e,t){Tn(t,e,!1)}function Tn(e,t,n){switch(bn(t)){case 0:var r=An.bind(null,t,1);break;case 1:r=Cn.bind(null,t,1);break;default:r=xn.bind(null,t,1)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function An(e,t,n){ce||le();var r=xn,a=ce;ce=!0;try{se(r,e,t,n)}finally{(ce=a)||fe()}}function Cn(e,t,n){gn(vn,xn.bind(null,e,t,n))}function Pn(e,t,n,r){if(kn.length){var a=kn.pop();a.topLevelType=e,a.eventSystemFlags=t,a.nativeEvent=n,a.targetInst=r,e=a}else e={topLevelType:e,eventSystemFlags:t,nativeEvent:n,targetInst:r,ancestors:[]};try{if(t=wn,n=e,de)t(n,void 0);else{de=!0;try{ue(t,n,void 0)}finally{de=!1,fe()}}}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,kn.length<En&&kn.push(e)}}function xn(e,t,n){if(Sn)if(0<lt.length&&-1<ht.indexOf(e))e=yt(null,e,t,n),lt.push(e);else{var r=Nn(e,t,n);null===r?vt(e,n):-1<ht.indexOf(e)?(e=yt(r,e,t,n),lt.push(e)):function(e,t,n,r){switch(t){case"focus":return ut=gt(ut,e,t,n,r),!0;case"dragenter":return ct=gt(ct,e,t,n,r),!0;case"mouseover":return dt=gt(dt,e,t,n,r),!0;case"pointerover":var a=r.pointerId;return ft.set(a,gt(ft.get(a)||null,e,t,n,r)),!0;case"gotpointercapture":return a=r.pointerId,pt.set(a,gt(pt.get(a)||null,e,t,n,r)),!0}return!1}(r,e,t,n)||(vt(e,n),Pn(e,t,n,null))}}function Nn(e,t,n){var r=Tt(n);if(null!==(r=fr(r))){var a=et(r);if(null===a)r=null;else{var o=a.tag;if(13===o){if(null!==(r=tt(a)))return r;r=null}else if(3===o){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;r=null}else a!==r&&(r=null)}}return Pn(e,t,n,r),null}function Rn(e){if(!Z)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}var Mn=new("function"==typeof WeakMap?WeakMap:Map);function Dn(e){var t=Mn.get(e);return void 0===t&&(t=new Set,Mn.set(e,t)),t}function Ln(e,t,n){if(!n.has(e)){switch(e){case"scroll":Tn(t,"scroll",!0);break;case"focus":case"blur":Tn(t,"focus",!0),Tn(t,"blur",!0),n.add("blur"),n.add("focus");break;case"cancel":case"close":Rn(e)&&Tn(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Ze.indexOf(e)&&On(e,t)}n.add(e)}}var In={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},jn=["Webkit","ms","Moz","O"];function Un(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||In.hasOwnProperty(e)&&In[e]?(""+t).trim():t+"px"}function Yn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=Un(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(In).forEach((function(e){jn.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),In[t]=In[e]}))}));var Fn=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hn(e,t){if(t){if(Fn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if(!("object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62,""))}}function zn(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Bn(e,t){var n=Dn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=m[t];for(var r=0;r<t.length;r++)Ln(t[r],e,n)}function Gn(){}function qn(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Vn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Wn(e,t){var n,r=Vn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Vn(r)}}function Kn(){for(var e=window,t=qn();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=qn((e=t.contentWindow).document)}return t}function Xn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var $n="$",Qn="/$",Jn="$?",Zn="$!",er=null,tr=null;function nr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function rr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ar="function"==typeof setTimeout?setTimeout:void 0,or="function"==typeof clearTimeout?clearTimeout:void 0;function ir(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function sr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===$n||n===Zn||n===Jn){if(0===t)return e;t--}else n===Qn&&t++}e=e.previousSibling}return null}var lr=Math.random().toString(36).slice(2),ur="__reactInternalInstance$"+lr,cr="__reactEventHandlers$"+lr,dr="__reactContainere$"+lr;function fr(e){var t=e[ur];if(t)return t;for(var n=e.parentNode;n;){if(t=n[dr]||n[ur]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=sr(e);null!==e;){if(n=e[ur])return n;e=sr(e)}return t}n=(e=n).parentNode}return null}function pr(e){return!(e=e[ur]||e[dr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function mr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function hr(e){return e[cr]||null}var _r=null,yr=null,vr=null;function gr(){if(vr)return vr;var e,t,n=yr,r=n.length,a="value"in _r?_r.value:_r.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return vr=a.slice(e,1<t?1-t:void 0)}var br=Lt.extend({data:null}),Er=Lt.extend({data:null}),kr=[9,13,27,32],wr=Z&&"CompositionEvent"in window,Sr=null;Z&&"documentMode"in document&&(Sr=document.documentMode);var Or=Z&&"TextEvent"in window&&!Sr,Tr=Z&&(!wr||Sr&&8<Sr&&11>=Sr),Ar=String.fromCharCode(32),Cr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Pr=!1;function xr(e,t){switch(e){case"keyup":return-1!==kr.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Nr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Rr=!1;var Mr={eventTypes:Cr,extractEvents:function(e,t,n,r){var a;if(wr)e:{switch(e){case"compositionstart":var o=Cr.compositionStart;break e;case"compositionend":o=Cr.compositionEnd;break e;case"compositionupdate":o=Cr.compositionUpdate;break e}o=void 0}else Rr?xr(e,n)&&(o=Cr.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=Cr.compositionStart);return o?(Tr&&"ko"!==n.locale&&(Rr||o!==Cr.compositionStart?o===Cr.compositionEnd&&Rr&&(a=gr()):(yr="value"in(_r=r)?_r.value:_r.textContent,Rr=!0)),o=br.getPooled(o,t,n,r),a?o.data=a:null!==(a=Nr(n))&&(o.data=a),Rt(o),a=o):a=null,(e=Or?function(e,t){switch(e){case"compositionend":return Nr(t);case"keypress":return 32!==t.which?null:(Pr=!0,Ar);case"textInput":return(e=t.data)===Ar&&Pr?null:e;default:return null}}(e,n):function(e,t){if(Rr)return"compositionend"===e||!wr&&xr(e,t)?(e=gr(),vr=yr=_r=null,Rr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Tr&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Er.getPooled(Cr.beforeInput,t,n,r)).data=e,Rt(t)):t=null,null===a?t:null===t?a:[a,t]}},Dr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Lr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Dr[e.type]:"textarea"===t}var Ir={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function jr(e,t,n){return(e=Lt.getPooled(Ir.change,e,t,n)).type="change",ae(n),Rt(e),e}var Ur=null,Yr=null;function Fr(e){x(e)}function Hr(e){if(Oe(mr(e)))return e}function zr(e,t){if("change"===e)return t}var Br=!1;function Gr(){Ur&&(Ur.detachEvent("onpropertychange",qr),Yr=Ur=null)}function qr(e){if("value"===e.propertyName&&Hr(Yr))if(e=jr(Yr,e,Tt(e)),ce)x(e);else{ce=!0;try{ie(Fr,e)}finally{ce=!1,fe()}}}function Vr(e,t,n){"focus"===e?(Gr(),Yr=n,(Ur=t).attachEvent("onpropertychange",qr)):"blur"===e&&Gr()}function Wr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Hr(Yr)}function Kr(e,t){if("click"===e)return Hr(t)}function Xr(e,t){if("input"===e||"change"===e)return Hr(t)}Z&&(Br=Rn("input")&&(!document.documentMode||9<document.documentMode));var $r,Qr={eventTypes:Ir,_isInputEventSupported:Br,extractEvents:function(e,t,n,r){var a=t?mr(t):window,o=a.nodeName&&a.nodeName.toLowerCase();if("select"===o||"input"===o&&"file"===a.type)var i=zr;else if(Lr(a))if(Br)i=Xr;else{i=Wr;var s=Vr}else(o=a.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===a.type||"radio"===a.type)&&(i=Kr);if(i&&(i=i(e,t)))return jr(i,n,r);s&&s(e,a,t),"blur"===e&&(e=a._wrapperState)&&e.controlled&&"number"===a.type&&Ne(a,"number",a.value)}},Jr={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Zr={eventTypes:Jr,extractEvents:function(e,t,n,r,a){var o="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e;if(o&&0==(32&a)&&(n.relatedTarget||n.fromElement)||!i&&!o)return null;if(a=r.window===r?r:(a=r.ownerDocument)?a.defaultView||a.parentWindow:window,i?(i=t,null!==(t=(t=n.relatedTarget||n.toElement)?fr(t):null)&&(t!==(o=et(t))||5!==t.tag&&6!==t.tag)&&(t=null)):i=null,i===t)return null;if("mouseout"===e||"mouseover"===e)var s=en,l=Jr.mouseLeave,u=Jr.mouseEnter,c="mouse";else"pointerout"!==e&&"pointerover"!==e||(s=tn,l=Jr.pointerLeave,u=Jr.pointerEnter,c="pointer");if(e=null==i?a:mr(i),a=null==t?a:mr(t),(l=s.getPooled(l,i,n,r)).type=c+"leave",l.target=e,l.relatedTarget=a,(r=s.getPooled(u,t,n,r)).type=c+"enter",r.target=a,r.relatedTarget=e,c=t,(s=i)&&c)e:{for(e=c,i=0,t=u=s;t;t=At(t))i++;for(t=0,a=e;a;a=At(a))t++;for(;0<i-t;)u=At(u),i--;for(;0<t-i;)e=At(e),t--;for(;i--;){if(u===e||u===e.alternate)break e;u=At(u),e=At(e)}u=null}else u=null;for(e=u,u=[];s&&s!==e&&(null===(i=s.alternate)||i!==e);)u.push(s),s=At(s);for(s=[];c&&c!==e&&(null===(i=c.alternate)||i!==e);)s.push(c),c=At(c);for(c=0;c<u.length;c++)xt(u[c],"bubbled",l);for(c=s.length;0<c--;)xt(s[c],"captured",r);return n===$r?($r=null,[l]):($r=n,[l,r])}};var ea="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},ta=Object.prototype.hasOwnProperty;function na(e,t){if(ea(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!ta.call(t,n[r])||!ea(e[n[r]],t[n[r]]))return!1;return!0}var ra=Z&&"documentMode"in document&&11>=document.documentMode,aa={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},oa=null,ia=null,sa=null,la=!1;function ua(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return la||null==oa||oa!==qn(n)?null:("selectionStart"in(n=oa)&&Xn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},sa&&na(sa,n)?null:(sa=n,(e=Lt.getPooled(aa.select,ia,e,t)).type="select",e.target=oa,Rt(e),e))}var ca={eventTypes:aa,extractEvents:function(e,t,n,r){var a,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(a=!o)){e:{o=Dn(o),a=m.onSelect;for(var i=0;i<a.length;i++)if(!o.has(a[i])){o=!1;break e}o=!0}a=!o}if(a)return null;switch(o=t?mr(t):window,e){case"focus":(Lr(o)||"true"===o.contentEditable)&&(oa=o,ia=t,sa=null);break;case"blur":sa=ia=oa=null;break;case"mousedown":la=!0;break;case"contextmenu":case"mouseup":case"dragend":return la=!1,ua(n,r);case"selectionchange":if(ra)break;case"keydown":case"keyup":return ua(n,r)}return null}};N.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),k=hr,w=pr,S=mr,N.injectEventPluginsByName({SimpleEventPlugin:yn,EnterLeaveEventPlugin:Zr,ChangeEventPlugin:Qr,SelectEventPlugin:ca,BeforeInputEventPlugin:Mr}),new Set;var da=[],fa=-1;function pa(e){0>fa||(e.current=da[fa],da[fa]=null,fa--)}function ma(e,t){fa++,da[fa]=e.current,e.current=t}var ha={},_a={current:ha},ya={current:!1},va=ha;function ga(e,t){var n=e.type.contextTypes;if(!n)return ha;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ba(e){return null!=(e=e.childContextTypes)}function Ea(e){pa(ya),pa(_a)}function ka(e){pa(ya),pa(_a)}function wa(e,t,n){if(_a.current!==ha)throw Error(i(168));ma(_a,t),ma(ya,n)}function Sa(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,Q(t)||"Unknown",o));return a({},n,{},r)}function Oa(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||ha,va=_a.current,ma(_a,t),ma(ya,ya.current),!0}function Ta(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(t=Sa(e,t,va),r.__reactInternalMemoizedMergedChildContext=t,pa(ya),pa(_a),ma(_a,t)):pa(ya),ma(ya,n)}var Aa=o.unstable_runWithPriority,Ca=o.unstable_scheduleCallback,Pa=o.unstable_cancelCallback,xa=o.unstable_shouldYield,Na=o.unstable_requestPaint,Ra=o.unstable_now,Ma=o.unstable_getCurrentPriorityLevel,Da=o.unstable_ImmediatePriority,La=o.unstable_UserBlockingPriority,Ia=o.unstable_NormalPriority,ja=o.unstable_LowPriority,Ua=o.unstable_IdlePriority,Ya={},Fa=void 0!==Na?Na:function(){},Ha=null,za=null,Ba=!1,Ga=Ra(),qa=1e4>Ga?Ra:function(){return Ra()-Ga};function Va(){switch(Ma()){case Da:return 99;case La:return 98;case Ia:return 97;case ja:return 96;case Ua:return 95;default:throw Error(i(332))}}function Wa(e){switch(e){case 99:return Da;case 98:return La;case 97:return Ia;case 96:return ja;case 95:return Ua;default:throw Error(i(332))}}function Ka(e,t){return e=Wa(e),Aa(e,t)}function Xa(e,t,n){return e=Wa(e),Ca(e,t,n)}function $a(e){return null===Ha?(Ha=[e],za=Ca(Da,Ja)):Ha.push(e),Ya}function Qa(){if(null!==za){var e=za;za=null,Pa(e)}Ja()}function Ja(){if(!Ba&&null!==Ha){Ba=!0;var e=0;try{var t=Ha;Ka(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ha=null}catch(t){throw null!==Ha&&(Ha=Ha.slice(e+1)),Ca(Da,Qa),t}finally{Ba=!1}}}var Za=3;function eo(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function to(e,t){if(e&&e.defaultProps)for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var no={current:null},ro=null,ao=null,oo=null;function io(){oo=ao=ro=null}function so(e,t){var n=e.type._context;ma(no,n._currentValue),n._currentValue=t}function lo(e){var t=no.current;pa(no),e.type._context._currentValue=t}function uo(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function co(e,t){ro=e,oo=ao=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(qi=!0),e.firstContext=null)}function fo(e,t){if(oo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(oo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===ao){if(null===ro)throw Error(i(308));ao=t,ro.dependencies={expirationTime:0,firstContext:t,responders:null}}else ao=ao.next=t;return e._currentValue}var po=!1;function mo(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function ho(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function _o(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function yo(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function vo(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,a=null;null===r&&(r=e.updateQueue=mo(e.memoizedState))}else r=e.updateQueue,a=n.updateQueue,null===r?null===a?(r=e.updateQueue=mo(e.memoizedState),a=n.updateQueue=mo(n.memoizedState)):r=e.updateQueue=ho(a):null===a&&(a=n.updateQueue=ho(r));null===a||r===a?yo(r,t):null===r.lastUpdate||null===a.lastUpdate?(yo(r,t),yo(a,t)):(yo(r,t),a.lastUpdate=t)}function go(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=mo(e.memoizedState):bo(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function bo(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=ho(t)),t}function Eo(e,t,n,r,o,i){switch(n.tag){case 1:return"function"==typeof(e=n.payload)?e.call(i,r,o):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null==(o="function"==typeof(e=n.payload)?e.call(i,r,o):e))break;return a({},r,o);case 2:po=!0}return r}function ko(e,t,n,r,a){po=!1;for(var o=(t=bo(e,t)).baseState,i=null,s=0,l=t.firstUpdate,u=o;null!==l;){var c=l.expirationTime;c<a?(null===i&&(i=l,o=u),s<c&&(s=c)):(Al(c,l.suspenseConfig),u=Eo(e,0,l,u,n,r),null!==l.callback&&(e.effectTag|=32,l.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=l:(t.lastEffect.nextEffect=l,t.lastEffect=l))),l=l.next}for(c=null,l=t.firstCapturedUpdate;null!==l;){var d=l.expirationTime;d<a?(null===c&&(c=l,null===i&&(o=u)),s<d&&(s=d)):(u=Eo(e,0,l,u,n,r),null!==l.callback&&(e.effectTag|=32,l.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=l:(t.lastCapturedEffect.nextEffect=l,t.lastCapturedEffect=l))),l=l.next}null===i&&(t.lastUpdate=null),null===c?t.lastCapturedUpdate=null:e.effectTag|=32,null===i&&null===c&&(o=u),t.baseState=o,t.firstUpdate=i,t.firstCapturedUpdate=c,Cl(s),e.expirationTime=s,e.memoizedState=u}function wo(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),So(t.firstEffect,n),t.firstEffect=t.lastEffect=null,So(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function So(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;if("function"!=typeof n)throw Error(i(191,n));n.call(r)}e=e.nextEffect}}var Oo=M.ReactCurrentBatchConfig,To=(new r.Component).refs;function Ao(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var Co={isMounted:function(e){return!!(e=e._reactInternalFiber)&&et(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=ml(),a=Oo.suspense;(a=_o(r=hl(r,e,a),a)).payload=t,null!=n&&(a.callback=n),vo(e,a),_l(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=ml(),a=Oo.suspense;(a=_o(r=hl(r,e,a),a)).tag=1,a.payload=t,null!=n&&(a.callback=n),vo(e,a),_l(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=ml(),r=Oo.suspense;(r=_o(n=hl(n,e,r),r)).tag=2,null!=t&&(r.callback=t),vo(e,r),_l(e,n)}};function Po(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!na(n,r)||!na(a,o))}function xo(e,t,n){var r=!1,a=ha,o=t.contextType;return"object"==typeof o&&null!==o?o=fo(o):(a=ba(t)?va:_a.current,o=(r=null!=(r=t.contextTypes))?ga(e,a):ha),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Co,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function No(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Co.enqueueReplaceState(t,t.state,null)}function Ro(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=To;var o=t.contextType;"object"==typeof o&&null!==o?a.context=fo(o):(o=ba(t)?va:_a.current,a.context=ga(e,o)),null!==(o=e.updateQueue)&&(ko(e,o,n,a,r),a.state=e.memoizedState),"function"==typeof(o=t.getDerivedStateFromProps)&&(Ao(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Co.enqueueReplaceState(a,a.state,null),null!==(o=e.updateQueue)&&(ko(e,o,n,a,r),a.state=e.memoizedState)),"function"==typeof a.componentDidMount&&(e.effectTag|=4)}var Mo=Array.isArray;function Do(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:((t=function(e){var t=r.refs;t===To&&(t=r.refs={}),null===e?delete t[a]:t[a]=e})._stringRef=a,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function Lo(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function Io(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t,n){return(e=Kl(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Ql(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=Do(e,t,n),r.return=e,r):((r=Xl(n.type,n.key,n.props,null,e.mode,r)).ref=Do(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Jl(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=$l(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Ql(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case I:return(n=Xl(t.type,t.key,t.props,null,e.mode,n)).ref=Do(e,null,t),n.return=e,n;case j:return(t=Jl(t,e.mode,n)).return=e,t}if(Mo(t)||$(t))return(t=$l(t,e.mode,n,null)).return=e,t;Lo(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case I:return n.key===a?n.type===U?d(e,t,n.props.children,r,a):u(e,t,n,r):null;case j:return n.key===a?c(e,t,n,r):null}if(Mo(n)||$(n))return null!==a?null:d(e,t,n,r,null);Lo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case I:return e=e.get(null===r.key?n:r.key)||null,r.type===U?d(t,e,r.props.children,a,r.key):u(t,e,r,a);case j:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(Mo(r)||$(r))return d(t,e=e.get(n)||null,r,a,null);Lo(t,r)}return null}function h(a,i,s,l){for(var u=null,c=null,d=i,h=i=0,_=null;null!==d&&h<s.length;h++){d.index>h?(_=d,d=null):_=d.sibling;var y=p(a,d,s[h],l);if(null===y){null===d&&(d=_);break}e&&d&&null===y.alternate&&t(a,d),i=o(y,i,h),null===c?u=y:c.sibling=y,c=y,d=_}if(h===s.length)return n(a,d),u;if(null===d){for(;h<s.length;h++)null!==(d=f(a,s[h],l))&&(i=o(d,i,h),null===c?u=d:c.sibling=d,c=d);return u}for(d=r(a,d);h<s.length;h++)null!==(_=m(d,a,h,s[h],l))&&(e&&null!==_.alternate&&d.delete(null===_.key?h:_.key),i=o(_,i,h),null===c?u=_:c.sibling=_,c=_);return e&&d.forEach((function(e){return t(a,e)})),u}function _(a,s,l,u){var c=$(l);if("function"!=typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var d=c=null,h=s,_=s=0,y=null,v=l.next();null!==h&&!v.done;_++,v=l.next()){h.index>_?(y=h,h=null):y=h.sibling;var g=p(a,h,v.value,u);if(null===g){null===h&&(h=y);break}e&&h&&null===g.alternate&&t(a,h),s=o(g,s,_),null===d?c=g:d.sibling=g,d=g,h=y}if(v.done)return n(a,h),c;if(null===h){for(;!v.done;_++,v=l.next())null!==(v=f(a,v.value,u))&&(s=o(v,s,_),null===d?c=v:d.sibling=v,d=v);return c}for(h=r(a,h);!v.done;_++,v=l.next())null!==(v=m(h,a,_,v.value,u))&&(e&&null!==v.alternate&&h.delete(null===v.key?_:v.key),s=o(v,s,_),null===d?c=v:d.sibling=v,d=v);return e&&h.forEach((function(e){return t(a,e)})),c}return function(e,r,o,l){var u="object"==typeof o&&null!==o&&o.type===U&&null===o.key;u&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case I:e:{for(c=o.key,u=r;null!==u;){if(u.key===c){if(7===u.tag?o.type===U:u.elementType===o.type){n(e,u.sibling),(r=a(u,o.type===U?o.props.children:o.props)).ref=Do(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===U?((r=$l(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Xl(o.type,o.key,o.props,null,e.mode,l)).ref=Do(e,r,o),l.return=e,e=l)}return s(e);case j:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Jl(o,e.mode,l)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Ql(o,e.mode,l)).return=e,e=r),s(e);if(Mo(o))return h(e,r,o,l);if($(o))return _(e,r,o,l);if(c&&Lo(e,o),void 0===o&&!u)switch(e.tag){case 1:case 0:throw e=e.type,Error(i(152,e.displayName||e.name||"Component"))}return n(e,r)}}var jo=Io(!0),Uo=Io(!1),Yo={},Fo={current:Yo},Ho={current:Yo},zo={current:Yo};function Bo(e){if(e===Yo)throw Error(i(174));return e}function Go(e,t){ma(zo,t),ma(Ho,e),ma(Fo,Yo);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Fe(null,"");break;default:t=Fe(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}pa(Fo),ma(Fo,t)}function qo(e){pa(Fo),pa(Ho),pa(zo)}function Vo(e){Bo(zo.current);var t=Bo(Fo.current),n=Fe(t,e.type);t!==n&&(ma(Ho,e),ma(Fo,n))}function Wo(e){Ho.current===e&&(pa(Fo),pa(Ho))}var Ko={current:0};function Xo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===Jn||n.data===Zn))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function $o(e,t){return{responder:e,props:t}}var Qo=M.ReactCurrentDispatcher,Jo=M.ReactCurrentBatchConfig,Zo=0,ei=null,ti=null,ni=null,ri=null,ai=null,oi=null,ii=0,si=null,li=0,ui=!1,ci=null,di=0;function fi(){throw Error(i(321))}function pi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ea(e[n],t[n]))return!1;return!0}function mi(e,t,n,r,a,o){if(Zo=o,ei=t,ni=null!==e?e.memoizedState:null,Qo.current=null===ni?Mi:Di,t=n(r,a),ui){do{ui=!1,di+=1,ni=null!==e?e.memoizedState:null,oi=ri,si=ai=ti=null,Qo.current=Di,t=n(r,a)}while(ui);ci=null,di=0}if(Qo.current=Ri,(e=ei).memoizedState=ri,e.expirationTime=ii,e.updateQueue=si,e.effectTag|=li,e=null!==ti&&null!==ti.next,Zo=0,oi=ai=ri=ni=ti=ei=null,ii=0,si=null,li=0,e)throw Error(i(300));return t}function hi(){Qo.current=Ri,Zo=0,oi=ai=ri=ni=ti=ei=null,ii=0,si=null,li=0,ui=!1,ci=null,di=0}function _i(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===ai?ri=ai=e:ai=ai.next=e,ai}function yi(){if(null!==oi)oi=(ai=oi).next,ni=null!==(ti=ni)?ti.next:null;else{if(null===ni)throw Error(i(310));var e={memoizedState:(ti=ni).memoizedState,baseState:ti.baseState,queue:ti.queue,baseUpdate:ti.baseUpdate,next:null};ai=null===ai?ri=e:ai.next=e,ni=ti.next}return ai}function vi(e,t){return"function"==typeof t?t(e):t}function gi(e){var t=yi(),n=t.queue;if(null===n)throw Error(i(311));if(n.lastRenderedReducer=e,0<di){var r=n.dispatch;if(null!==ci){var a=ci.get(n);if(void 0!==a){ci.delete(n);var o=t.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);return ea(o,t.memoizedState)||(qi=!0),t.memoizedState=o,t.baseUpdate===n.last&&(t.baseState=o),n.lastRenderedState=o,[o,r]}}return[t.memoizedState,r]}r=n.last;var s=t.baseUpdate;if(o=t.baseState,null!==s?(null!==r&&(r.next=null),r=s.next):r=null!==r?r.next:null,null!==r){var l=a=null,u=r,c=!1;do{var d=u.expirationTime;d<Zo?(c||(c=!0,l=s,a=o),d>ii&&Cl(ii=d)):(Al(d,u.suspenseConfig),o=u.eagerReducer===e?u.eagerState:e(o,u.action)),s=u,u=u.next}while(null!==u&&u!==r);c||(l=s,a=o),ea(o,t.memoizedState)||(qi=!0),t.memoizedState=o,t.baseUpdate=l,t.baseState=a,n.lastRenderedState=o}return[t.memoizedState,n.dispatch]}function bi(e){var t=_i();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:vi,lastRenderedState:e}).dispatch=Ni.bind(null,ei,e),[t.memoizedState,e]}function Ei(e){return gi(vi)}function ki(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===si?(si={lastEffect:null}).lastEffect=e.next=e:null===(t=si.lastEffect)?si.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,si.lastEffect=e),e}function wi(e,t,n,r){var a=_i();li|=e,a.memoizedState=ki(t,n,void 0,void 0===r?null:r)}function Si(e,t,n,r){var a=yi();r=void 0===r?null:r;var o=void 0;if(null!==ti){var i=ti.memoizedState;if(o=i.destroy,null!==r&&pi(r,i.deps))return void ki(0,n,o,r)}li|=e,a.memoizedState=ki(t,n,o,r)}function Oi(e,t){return wi(516,192,e,t)}function Ti(e,t){return Si(516,192,e,t)}function Ai(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ci(){}function Pi(e,t){return _i().memoizedState=[e,void 0===t?null:t],e}function xi(e,t){var n=yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&pi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ni(e,t,n){if(!(25>di))throw Error(i(301));var r=e.alternate;if(e===ei||null!==r&&r===ei)if(ui=!0,e={expirationTime:Zo,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===ci&&(ci=new Map),void 0===(n=ci.get(t)))ci.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var a=ml(),o=Oo.suspense;o={expirationTime:a=hl(a,e,o),suspenseConfig:o,action:n,eagerReducer:null,eagerState:null,next:null};var s=t.last;if(null===s)o.next=o;else{var l=s.next;null!==l&&(o.next=l),s.next=o}if(t.last=o,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var u=t.lastRenderedState,c=r(u,n);if(o.eagerReducer=r,o.eagerState=c,ea(c,u))return}catch(e){}_l(e,a)}}var Ri={readContext:fo,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useLayoutEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useResponder:fi,useDeferredValue:fi,useTransition:fi},Mi={readContext:fo,useCallback:Pi,useContext:fo,useEffect:Oi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,36,Ai.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wi(4,36,e,t)},useMemo:function(e,t){var n=_i();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=_i();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ni.bind(null,ei,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},_i().memoizedState=e},useState:bi,useDebugValue:Ci,useResponder:$o,useDeferredValue:function(e,t){var n=bi(e),r=n[0],a=n[1];return Oi((function(){o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===t?null:t;try{a(e)}finally{Jo.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=bi(!1),n=t[0],r=t[1];return[Pi((function(t){r(!0),o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===e?null:e;try{r(!1),t()}finally{Jo.suspense=n}}))}),[e,n]),n]}},Di={readContext:fo,useCallback:xi,useContext:fo,useEffect:Ti,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Si(4,36,Ai.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Si(4,36,e,t)},useMemo:function(e,t){var n=yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&pi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:gi,useRef:function(){return yi().memoizedState},useState:Ei,useDebugValue:Ci,useResponder:$o,useDeferredValue:function(e,t){var n=Ei(),r=n[0],a=n[1];return Ti((function(){o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===t?null:t;try{a(e)}finally{Jo.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=Ei(),n=t[0],r=t[1];return[xi((function(t){r(!0),o.unstable_next((function(){var n=Jo.suspense;Jo.suspense=void 0===e?null:e;try{r(!1),t()}finally{Jo.suspense=n}}))}),[e,n]),n]}},Li=null,Ii=null,ji=!1;function Ui(e,t){var n=Vl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Yi(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Fi(e){if(ji){var t=Ii;if(t){var n=t;if(!Yi(e,t)){if(!(t=ir(n.nextSibling))||!Yi(e,t))return e.effectTag=-1025&e.effectTag|2,ji=!1,void(Li=e);Ui(Li,n)}Li=e,Ii=ir(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,ji=!1,Li=e}}function Hi(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Li=e}function zi(e){if(e!==Li)return!1;if(!ji)return Hi(e),ji=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!rr(t,e.memoizedProps))for(t=Ii;t;)Ui(e,t),t=ir(t.nextSibling);if(Hi(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Qn){if(0===t){Ii=ir(e.nextSibling);break e}t--}else n!==$n&&n!==Zn&&n!==Jn||t++}e=e.nextSibling}Ii=null}}else Ii=Li?ir(e.stateNode.nextSibling):null;return!0}function Bi(){Ii=Li=null,ji=!1}var Gi=M.ReactCurrentOwner,qi=!1;function Vi(e,t,n,r){t.child=null===e?Uo(t,null,n,r):jo(t,e.child,n,r)}function Wi(e,t,n,r,a){n=n.render;var o=t.ref;return co(t,a),r=mi(e,t,n,r,o,a),null===e||qi?(t.effectTag|=1,Vi(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=a&&(e.expirationTime=0),cs(e,t,a))}function Ki(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!=typeof i||Wl(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Xl(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Xi(e,t,i,r,a,o))}return i=e.child,a<o&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:na)(a,r)&&e.ref===t.ref)?cs(e,t,o):(t.effectTag|=1,(e=Kl(i,r)).ref=t.ref,e.return=t,t.child=e)}function Xi(e,t,n,r,a,o){return null!==e&&na(e.memoizedProps,r)&&e.ref===t.ref&&(qi=!1,a<o)?cs(e,t,o):Qi(e,t,n,r,o)}function $i(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Qi(e,t,n,r,a){var o=ba(n)?va:_a.current;return o=ga(t,o),co(t,a),n=mi(e,t,n,r,o,a),null===e||qi?(t.effectTag|=1,Vi(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=a&&(e.expirationTime=0),cs(e,t,a))}function Ji(e,t,n,r,a){if(ba(n)){var o=!0;Oa(t)}else o=!1;if(co(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),xo(t,n,r),Ro(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=fo(u):u=ga(t,u=ba(n)?va:_a.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==u)&&No(t,i,r,u),po=!1;var f=t.memoizedState;l=i.state=f;var p=t.updateQueue;null!==p&&(ko(t,p,r,i,a),l=t.memoizedState),s!==r||f!==l||ya.current||po?("function"==typeof c&&(Ao(t,n,c,r),l=t.memoizedState),(s=po||Po(t,n,s,r,f,l,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.effectTag|=4)):("function"==typeof i.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=u,r=s):("function"==typeof i.componentDidMount&&(t.effectTag|=4),r=!1)}else i=t.stateNode,s=t.memoizedProps,i.props=t.type===t.elementType?s:to(t.type,s),l=i.context,"object"==typeof(u=n.contextType)&&null!==u?u=fo(u):u=ga(t,u=ba(n)?va:_a.current),(d="function"==typeof(c=n.getDerivedStateFromProps)||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==u)&&No(t,i,r,u),po=!1,l=t.memoizedState,f=i.state=l,null!==(p=t.updateQueue)&&(ko(t,p,r,i,a),f=t.memoizedState),s!==r||l!==f||ya.current||po?("function"==typeof c&&(Ao(t,n,c,r),f=t.memoizedState),(c=po||Po(t,n,s,r,l,f,u))?(d||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,f,u),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,f,u)),"function"==typeof i.componentDidUpdate&&(t.effectTag|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=f),i.props=r,i.state=f,i.context=u,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),r=!1);return Zi(e,t,n,r,o,a)}function Zi(e,t,n,r,a,o){$i(e,t);var i=0!=(64&t.effectTag);if(!r&&!i)return a&&Ta(t,n,!1),cs(e,t,o);r=t.stateNode,Gi.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&i?(t.child=jo(t,e.child,null,o),t.child=jo(t,null,s,o)):Vi(e,t,s,o),t.memoizedState=r.state,a&&Ta(t,n,!0),t.child}function es(e){var t=e.stateNode;t.pendingContext?wa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&wa(0,t.context,!1),Go(e,t.containerInfo)}var ts,ns,rs,as,os={dehydrated:null,retryTime:0};function is(e,t,n){var r,a=t.mode,o=t.pendingProps,i=Ko.current,s=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&i)&&(null===e||null!==e.memoizedState)),r?(s=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(i|=1),ma(Ko,1&i),null===e){if(void 0!==o.fallback&&Fi(t),s){if(s=o.fallback,(o=$l(null,a,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=$l(s,a,n,null)).return=t,o.sibling=n,t.memoizedState=os,t.child=o,n}return a=o.children,t.memoizedState=null,t.child=Uo(t,null,a,n)}if(null!==e.memoizedState){if(a=(e=e.child).sibling,s){if(o=o.fallback,(n=Kl(e,e.pendingProps)).return=t,0==(2&t.mode)&&(s=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=s;null!==s;)s.return=n,s=s.sibling;return(a=Kl(a,o,a.expirationTime)).return=t,n.sibling=a,n.childExpirationTime=0,t.memoizedState=os,t.child=n,a}return n=jo(t,e.child,o.children,n),t.memoizedState=null,t.child=n}if(e=e.child,s){if(s=o.fallback,(o=$l(null,a,0,null)).return=t,o.child=e,null!==e&&(e.return=o),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=$l(s,a,n,null)).return=t,o.sibling=n,n.effectTag|=2,o.childExpirationTime=0,t.memoizedState=os,t.child=o,n}return t.memoizedState=null,t.child=jo(t,e,o.children,n)}function ss(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),uo(e.return,t)}function ls(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,last:r,tail:n,tailExpiration:0,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.last=r,i.tail=n,i.tailExpiration=0,i.tailMode=a,i.lastEffect=o)}function us(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Vi(e,t,r.children,n),0!=(2&(r=Ko.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ss(e,n);else if(19===e.tag)ss(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ma(Ko,r),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Xo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),ls(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Xo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}ls(t,!0,n,null,o,t.lastEffect);break;case"together":ls(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function cs(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&Cl(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Kl(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Kl(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function ds(e){e.effectTag|=4}function fs(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ps(e){switch(e.tag){case 1:ba(e.type)&&Ea();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(qo(),ka(),0!=(64&(t=e.effectTag)))throw Error(i(285));return e.effectTag=-4097&t|64,e;case 5:return Wo(e),null;case 13:return pa(Ko),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return pa(Ko),null;case 4:return qo(),null;case 10:return lo(e),null;default:return null}}function ms(e,t){return{value:e,source:t,stack:J(t)}}ts=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ns=function(){},rs=function(e,t,n,r,o){var i=e.memoizedProps;if(i!==r){var s,l,u=t.stateNode;switch(Bo(Fo.current),e=null,n){case"input":i=Te(u,i),r=Te(u,r),e=[];break;case"option":i=Re(u,i),r=Re(u,r),e=[];break;case"select":i=a({},i,{value:void 0}),r=a({},r,{value:void 0}),e=[];break;case"textarea":i=De(u,i),r=De(u,r),e=[];break;default:"function"!=typeof i.onClick&&"function"==typeof r.onClick&&(u.onclick=Gn)}for(s in Hn(n,r),n=null,i)if(!r.hasOwnProperty(s)&&i.hasOwnProperty(s)&&null!=i[s])if("style"===s)for(l in u=i[s])u.hasOwnProperty(l)&&(n||(n={}),n[l]="");else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(p.hasOwnProperty(s)?e||(e=[]):(e=e||[]).push(s,null));for(s in r){var c=r[s];if(u=null!=i?i[s]:void 0,r.hasOwnProperty(s)&&c!==u&&(null!=c||null!=u))if("style"===s)if(u){for(l in u)!u.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in c)c.hasOwnProperty(l)&&u[l]!==c[l]&&(n||(n={}),n[l]=c[l])}else n||(e||(e=[]),e.push(s,n)),n=c;else"dangerouslySetInnerHTML"===s?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(e=e||[]).push(s,""+c)):"children"===s?u===c||"string"!=typeof c&&"number"!=typeof c||(e=e||[]).push(s,""+c):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(p.hasOwnProperty(s)?(null!=c&&Bn(o,s),e||u===c||(e=[])):(e=e||[]).push(s,c))}n&&(e=e||[]).push("style",n),o=e,(t.updateQueue=o)&&ds(t)}},as=function(e,t,n,r){n!==r&&ds(t)};var hs="function"==typeof WeakSet?WeakSet:Set;function _s(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=J(n)),null!==n&&Q(n.type),t=t.value,null!==e&&1===e.tag&&Q(e.type);try{console.error(t)}catch(e){setTimeout((function(){throw e}))}}function ys(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Fl(e,t)}else t.current=null}function vs(e,t){switch(t.tag){case 0:case 11:case 15:gs(2,0,t);break;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:to(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}function gs(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if(0!=(r.tag&e)){var a=r.destroy;r.destroy=void 0,void 0!==a&&a()}0!=(r.tag&t)&&(a=r.create,r.destroy=a()),r=r.next}while(r!==n)}}function bs(e,t,n){switch("function"==typeof Gl&&Gl(t),t.tag){case 0:case 11:case 14:case 15:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;Ka(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var a=t;try{n()}catch(e){Fl(a,e)}}e=e.next}while(e!==r)}))}break;case 1:ys(t),"function"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){Fl(e,t)}}(t,n);break;case 5:ys(t);break;case 4:Ss(e,t,n)}}function Es(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==t&&Es(t)}function ks(e){return 5===e.tag||3===e.tag||4===e.tag}function ws(e){e:{for(var t=e.return;null!==t;){if(ks(t)){var n=t;break e}t=t.return}throw Error(i(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.effectTag&&(Be(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ks(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var a=e;;){var o=5===a.tag||6===a.tag;if(o){var s=o?a.stateNode:a.stateNode.instance;if(n)if(r){var l=s;s=n,8===(o=t).nodeType?o.parentNode.insertBefore(l,s):o.insertBefore(l,s)}else t.insertBefore(s,n);else r?(8===(l=t).nodeType?(o=l.parentNode).insertBefore(s,l):(o=l).appendChild(s),null!=(l=l._reactRootContainer)||null!==o.onclick||(o.onclick=Gn)):t.appendChild(s)}else if(4!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===e)break;for(;null===a.sibling;){if(null===a.return||a.return===e)return;a=a.return}a.sibling.return=a.return,a=a.sibling}}function Ss(e,t,n){for(var r,a,o=t,s=!1;;){if(!s){s=o.return;e:for(;;){if(null===s)throw Error(i(160));switch(r=s.stateNode,s.tag){case 5:a=!1;break e;case 3:case 4:r=r.containerInfo,a=!0;break e}s=s.return}s=!0}if(5===o.tag||6===o.tag){e:for(var l=e,u=o,c=n,d=u;;)if(bs(l,d,c),null!==d.child&&4!==d.tag)d.child.return=d,d=d.child;else{if(d===u)break;for(;null===d.sibling;){if(null===d.return||d.return===u)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}a?(l=r,u=o.stateNode,8===l.nodeType?l.parentNode.removeChild(u):l.removeChild(u)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,a=!0,o.child.return=o,o=o.child;continue}}else if(bs(e,o,n),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(s=!1)}o.sibling.return=o.return,o=o.sibling}}function Os(e,t){switch(t.tag){case 0:case 11:case 14:case 15:gs(4,8,t);break;case 1:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[cr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&Ce(n,r),zn(e,a),t=zn(e,r),a=0;a<o.length;a+=2){var s=o[a],l=o[a+1];"style"===s?Yn(n,l):"dangerouslySetInnerHTML"===s?ze(n,l):"children"===s?Be(n,l):ke(n,s,l,t)}switch(e){case"input":Pe(n,r);break;case"textarea":Ie(n,r);break;case"select":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?Me(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?Me(n,!!r.multiple,r.defaultValue,!0):Me(n,!!r.multiple,r.multiple?[]:"",!1))}}}break;case 6:if(null===t.stateNode)throw Error(i(162));t.stateNode.nodeValue=t.memoizedProps;break;case 3:(t=t.stateNode).hydrate&&(t.hydrate=!1,Ot(t.containerInfo));break;case 12:break;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,tl=qa()),null!==n)e:for(e=n;;){if(5===e.tag)o=e.stateNode,r?"function"==typeof(o=o.style).setProperty?o.setProperty("display","none","important"):o.display="none":(o=e.stateNode,a=null!=(a=e.memoizedProps.style)&&a.hasOwnProperty("display")?a.display:null,o.style.display=Un("display",a));else if(6===e.tag)e.stateNode.nodeValue=r?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(o=e.child.sibling).return=e,e=o;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}Ts(t);break;case 19:Ts(t);break;case 17:case 20:case 21:break;default:throw Error(i(163))}}function Ts(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new hs),t.forEach((function(t){var r=zl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var As="function"==typeof WeakMap?WeakMap:Map;function Cs(e,t,n){(n=_o(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){al||(al=!0,ol=r),_s(e,t)},n}function Ps(e,t,n){(n=_o(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return _s(e,t),r(a)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===il?il=new Set([this]):il.add(this),_s(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var xs,Ns=Math.ceil,Rs=M.ReactCurrentDispatcher,Ms=M.ReactCurrentOwner,Ds=0,Ls=8,Is=16,js=32,Us=0,Ys=1,Fs=2,Hs=3,zs=4,Bs=5,Gs=Ds,qs=null,Vs=null,Ws=0,Ks=Us,Xs=null,$s=1073741823,Qs=1073741823,Js=null,Zs=0,el=!1,tl=0,nl=500,rl=null,al=!1,ol=null,il=null,sl=!1,ll=null,ul=90,cl=null,dl=0,fl=null,pl=0;function ml(){return(Gs&(Is|js))!==Ds?1073741821-(qa()/10|0):0!==pl?pl:pl=1073741821-(qa()/10|0)}function hl(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=Va();if(0==(4&t))return 99===r?1073741823:1073741822;if((Gs&Is)!==Ds)return Ws;if(null!==n)e=eo(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=eo(e,150,100);break;case 97:case 96:e=eo(e,5e3,250);break;case 95:e=2;break;default:throw Error(i(326))}return null!==qs&&e===Ws&&--e,e}function _l(e,t){if(50<dl)throw dl=0,fl=null,Error(i(185));if(null!==(e=yl(e,t))){var n=Va();1073741823===t?(Gs&Ls)!==Ds&&(Gs&(Is|js))===Ds?El(e):(gl(e),Gs===Ds&&Qa()):gl(e),(4&Gs)===Ds||98!==n&&99!==n||(null===cl?cl=new Map([[e,t]]):(void 0===(n=cl.get(e))||n>t)&&cl.set(e,t))}}function yl(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,a=null;if(null===r&&3===e.tag)a=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){a=r.stateNode;break}r=r.return}return null!==a&&(qs===a&&(Cl(t),Ks===zs&&tu(a,Ws)),nu(a,t)),a}function vl(e){var t=e.lastExpiredTime;return 0!==t?t:eu(e,t=e.firstPendingTime)?(t=e.lastPingedTime)>(e=e.nextKnownPendingLevel)?t:e:t}function gl(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=$a(El.bind(null,e));else{var t=vl(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=ml();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var a=e.callbackPriority;if(e.callbackExpirationTime===t&&a>=r)return;n!==Ya&&Pa(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?$a(El.bind(null,e)):Xa(r,bl.bind(null,e),{timeout:10*(1073741821-t)-qa()}),e.callbackNode=t}}}function bl(e,t){if(pl=0,t)return ru(e,t=ml()),gl(e),null;var n=vl(e);if(0!==n){if(t=e.callbackNode,(Gs&(Is|js))!==Ds)throw Error(i(327));if(jl(),e===qs&&n===Ws||Sl(e,n),null!==Vs){var r=Gs;Gs|=Is;for(var a=Tl();;)try{xl();break}catch(t){Ol(e,t)}if(io(),Gs=r,Rs.current=a,Ks===Ys)throw t=Xs,Sl(e,n),tu(e,n),gl(e),t;if(null===Vs)switch(a=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=Ks,qs=null,r){case Us:case Ys:throw Error(i(345));case Fs:ru(e,2<n?2:n);break;case Hs:if(tu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Ml(a)),1073741823===$s&&10<(a=tl+nl-qa())){if(el){var o=e.lastPingedTime;if(0===o||o>=n){e.lastPingedTime=n,Sl(e,n);break}}if(0!==(o=vl(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=ar(Dl.bind(null,e),a);break}Dl(e);break;case zs:if(tu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Ml(a)),el&&(0===(a=e.lastPingedTime)||a>=n)){e.lastPingedTime=n,Sl(e,n);break}if(0!==(a=vl(e))&&a!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Qs?r=10*(1073741821-Qs)-qa():1073741823===$s?r=0:(r=10*(1073741821-$s)-5e3,0>(r=(a=qa())-r)&&(r=0),(n=10*(1073741821-n)-a)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ns(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=ar(Dl.bind(null,e),r);break}Dl(e);break;case Bs:if(1073741823!==$s&&null!==Js){o=$s;var s=Js;if(0>=(r=0|s.busyMinDurationMs)?r=0:(a=0|s.busyDelayMs,r=(o=qa()-(10*(1073741821-o)-(0|s.timeoutMs||5e3)))<=a?0:a+r-o),10<r){tu(e,n),e.timeoutHandle=ar(Dl.bind(null,e),r);break}}Dl(e);break;default:throw Error(i(329))}if(gl(e),e.callbackNode===t)return bl.bind(null,e)}}return null}function El(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,e.finishedExpirationTime===t)Dl(e);else{if((Gs&(Is|js))!==Ds)throw Error(i(327));if(jl(),e===qs&&t===Ws||Sl(e,t),null!==Vs){var n=Gs;Gs|=Is;for(var r=Tl();;)try{Pl();break}catch(t){Ol(e,t)}if(io(),Gs=n,Rs.current=r,Ks===Ys)throw n=Xs,Sl(e,t),tu(e,t),gl(e),n;if(null!==Vs)throw Error(i(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,qs=null,Dl(e),gl(e)}}return null}function kl(e,t){var n=Gs;Gs|=1;try{return e(t)}finally{(Gs=n)===Ds&&Qa()}}function wl(e,t){var n=Gs;Gs&=-2,Gs|=Ls;try{return e(t)}finally{(Gs=n)===Ds&&Qa()}}function Sl(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,or(n)),null!==Vs)for(n=Vs.return;null!==n;){var r=n;switch(r.tag){case 1:var a=r.type.childContextTypes;null!=a&&Ea();break;case 3:qo(),ka();break;case 5:Wo(r);break;case 4:qo();break;case 13:case 19:pa(Ko);break;case 10:lo(r)}n=n.return}qs=e,Vs=Kl(e.current,null),Ws=t,Ks=Us,Xs=null,Qs=$s=1073741823,Js=null,Zs=0,el=!1}function Ol(e,t){for(;;){try{if(io(),hi(),null===Vs||null===Vs.return)return Ks=Ys,Xs=t,null;e:{var n=e,r=Vs.return,a=Vs,o=t;if(t=Ws,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==o&&"object"==typeof o&&"function"==typeof o.then){var i=o,s=0!=(1&Ko.current),l=r;do{var u;if(u=13===l.tag){var c=l.memoizedState;if(null!==c)u=null!==c.dehydrated;else{var d=l.memoizedProps;u=void 0!==d.fallback&&(!0!==d.unstable_avoidThisFallback||!s)}}if(u){var f=l.updateQueue;if(null===f){var p=new Set;p.add(i),l.updateQueue=p}else f.add(i);if(0==(2&l.mode)){if(l.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var m=_o(1073741823,null);m.tag=2,vo(a,m)}a.expirationTime=1073741823;break e}o=void 0,a=t;var h=n.pingCache;if(null===h?(h=n.pingCache=new As,o=new Set,h.set(i,o)):void 0===(o=h.get(i))&&(o=new Set,h.set(i,o)),!o.has(a)){o.add(a);var _=Hl.bind(null,n,i,a);i.then(_,_)}l.effectTag|=4096,l.expirationTime=t;break e}l=l.return}while(null!==l);o=Error((Q(a.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+J(a))}Ks!==Bs&&(Ks=Fs),o=ms(o,a),l=r;do{switch(l.tag){case 3:i=o,l.effectTag|=4096,l.expirationTime=t,go(l,Cs(l,i,t));break e;case 1:i=o;var y=l.type,v=l.stateNode;if(0==(64&l.effectTag)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===il||!il.has(v)))){l.effectTag|=4096,l.expirationTime=t,go(l,Ps(l,i,t));break e}}l=l.return}while(null!==l)}Vs=Rl(Vs)}catch(e){t=e;continue}break}}function Tl(){var e=Rs.current;return Rs.current=Ri,null===e?Ri:e}function Al(e,t){e<$s&&2<e&&($s=e),null!==t&&e<Qs&&2<e&&(Qs=e,Js=t)}function Cl(e){e>Zs&&(Zs=e)}function Pl(){for(;null!==Vs;)Vs=Nl(Vs)}function xl(){for(;null!==Vs&&!xa();)Vs=Nl(Vs)}function Nl(e){var t=xs(e.alternate,e,Ws);return e.memoizedProps=e.pendingProps,null===t&&(t=Rl(e)),Ms.current=null,t}function Rl(e){Vs=e;do{var t=Vs.alternate;if(e=Vs.return,0==(2048&Vs.effectTag)){e:{var n=t,r=Ws,o=(t=Vs).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:ba(t.type)&&Ea();break;case 3:qo(),ka(),(o=t.stateNode).pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(null===n||null===n.child)&&zi(t)&&ds(t),ns(t);break;case 5:Wo(t),r=Bo(zo.current);var s=t.type;if(null!==n&&null!=t.stateNode)rs(n,t,s,o,r),n.ref!==t.ref&&(t.effectTag|=128);else if(o){var l=Bo(Fo.current);if(zi(t)){var u=(o=t).stateNode;n=o.type;var c=o.memoizedProps,d=r;switch(u[ur]=o,u[cr]=c,s=void 0,r=u,n){case"iframe":case"object":case"embed":On("load",r);break;case"video":case"audio":for(u=0;u<Ze.length;u++)On(Ze[u],r);break;case"source":On("error",r);break;case"img":case"image":case"link":On("error",r),On("load",r);break;case"form":On("reset",r),On("submit",r);break;case"details":On("toggle",r);break;case"input":Ae(r,c),On("invalid",r),Bn(d,"onChange");break;case"select":r._wrapperState={wasMultiple:!!c.multiple},On("invalid",r),Bn(d,"onChange");break;case"textarea":Le(r,c),On("invalid",r),Bn(d,"onChange")}for(s in Hn(n,c),u=null,c)c.hasOwnProperty(s)&&(l=c[s],"children"===s?"string"==typeof l?r.textContent!==l&&(u=["children",l]):"number"==typeof l&&r.textContent!==""+l&&(u=["children",""+l]):p.hasOwnProperty(s)&&null!=l&&Bn(d,s));switch(n){case"input":Se(r),xe(r,c,!0);break;case"textarea":Se(r),je(r);break;case"select":case"option":break;default:"function"==typeof c.onClick&&(r.onclick=Gn)}s=u,o.updateQueue=s,(o=null!==s)&&ds(t)}else{n=t,d=s,c=o,u=9===r.nodeType?r:r.ownerDocument,l===Ue.html&&(l=Ye(d)),l===Ue.html?"script"===d?((c=u.createElement("div")).innerHTML="<script><\/script>",u=c.removeChild(c.firstChild)):"string"==typeof c.is?u=u.createElement(d,{is:c.is}):(u=u.createElement(d),"select"===d&&(d=u,c.multiple?d.multiple=!0:c.size&&(d.size=c.size))):u=u.createElementNS(l,d),(c=u)[ur]=n,c[cr]=o,ts(c,t,!1,!1),t.stateNode=c;var f=r,m=zn(d=s,n=o);switch(d){case"iframe":case"object":case"embed":On("load",c),r=n;break;case"video":case"audio":for(r=0;r<Ze.length;r++)On(Ze[r],c);r=n;break;case"source":On("error",c),r=n;break;case"img":case"image":case"link":On("error",c),On("load",c),r=n;break;case"form":On("reset",c),On("submit",c),r=n;break;case"details":On("toggle",c),r=n;break;case"input":Ae(c,n),r=Te(c,n),On("invalid",c),Bn(f,"onChange");break;case"option":r=Re(c,n);break;case"select":c._wrapperState={wasMultiple:!!n.multiple},r=a({},n,{value:void 0}),On("invalid",c),Bn(f,"onChange");break;case"textarea":Le(c,n),r=De(c,n),On("invalid",c),Bn(f,"onChange");break;default:r=n}Hn(d,r),u=void 0,l=d;var h=c,_=r;for(u in _)if(_.hasOwnProperty(u)){var y=_[u];"style"===u?Yn(h,y):"dangerouslySetInnerHTML"===u?null!=(y=y?y.__html:void 0)&&ze(h,y):"children"===u?"string"==typeof y?("textarea"!==l||""!==y)&&Be(h,y):"number"==typeof y&&Be(h,""+y):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(p.hasOwnProperty(u)?null!=y&&Bn(f,u):null!=y&&ke(h,u,y,m))}switch(d){case"input":Se(c),xe(c,n,!1);break;case"textarea":Se(c),je(c);break;case"option":null!=n.value&&c.setAttribute("value",""+Ee(n.value));break;case"select":(r=c).multiple=!!n.multiple,null!=(c=n.value)?Me(r,!!n.multiple,c,!1):null!=n.defaultValue&&Me(r,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof r.onClick&&(c.onclick=Gn)}(o=nr(s,o))&&ds(t)}null!==t.ref&&(t.effectTag|=128)}else if(null===t.stateNode)throw Error(i(166));break;case 6:if(n&&null!=t.stateNode)as(n,t,n.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(i(166));r=Bo(zo.current),Bo(Fo.current),zi(t)?(s=(o=t).stateNode,r=o.memoizedProps,s[ur]=o,(o=s.nodeValue!==r)&&ds(t)):(s=t,(o=(9===r.nodeType?r:r.ownerDocument).createTextNode(o))[ur]=s,t.stateNode=o)}break;case 11:break;case 13:if(pa(Ko),o=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=r;break e}o=null!==o,s=!1,null===n?void 0!==t.memoizedProps.fallback&&zi(t):(s=null!==(r=n.memoizedState),o||null===r||null!==(r=n.child.sibling)&&(null!==(c=t.firstEffect)?(t.firstEffect=r,r.nextEffect=c):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8)),o&&!s&&0!=(2&t.mode)&&(null===n&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Ko.current)?Ks===Us&&(Ks=Hs):(Ks!==Us&&Ks!==Hs||(Ks=zs),0!==Zs&&null!==qs&&(tu(qs,Ws),nu(qs,Zs)))),(o||s)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:qo(),ns(t);break;case 10:lo(t);break;case 9:case 14:break;case 17:ba(t.type)&&Ea();break;case 19:if(pa(Ko),null===(o=t.memoizedState))break;if(s=0!=(64&t.effectTag),null===(c=o.rendering)){if(s)fs(o,!1);else if(Ks!==Us||null!==n&&0!=(64&n.effectTag))for(n=t.child;null!==n;){if(null!==(c=Xo(n))){for(t.effectTag|=64,fs(o,!1),null!==(s=c.updateQueue)&&(t.updateQueue=s,t.effectTag|=4),null===o.lastEffect&&(t.firstEffect=null),t.lastEffect=o.lastEffect,o=r,s=t.child;null!==s;)n=o,(r=s).effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,null===(c=r.alternate)?(r.childExpirationTime=0,r.expirationTime=n,r.child=null,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null):(r.childExpirationTime=c.childExpirationTime,r.expirationTime=c.expirationTime,r.child=c.child,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,n=c.dependencies,r.dependencies=null===n?null:{expirationTime:n.expirationTime,firstContext:n.firstContext,responders:n.responders}),s=s.sibling;ma(Ko,1&Ko.current|2),t=t.child;break e}n=n.sibling}}else{if(!s)if(null!==(n=Xo(c))){if(t.effectTag|=64,s=!0,null!==(r=n.updateQueue)&&(t.updateQueue=r,t.effectTag|=4),fs(o,!0),null===o.tail&&"hidden"===o.tailMode&&!c.alternate){null!==(t=t.lastEffect=o.lastEffect)&&(t.nextEffect=null);break}}else qa()>o.tailExpiration&&1<r&&(t.effectTag|=64,s=!0,fs(o,!1),t.expirationTime=t.childExpirationTime=r-1);o.isBackwards?(c.sibling=t.child,t.child=c):(null!==(r=o.last)?r.sibling=c:t.child=c,o.last=c)}if(null!==o.tail){0===o.tailExpiration&&(o.tailExpiration=qa()+500),r=o.tail,o.rendering=r,o.tail=r.sibling,o.lastEffect=t.lastEffect,r.sibling=null,o=Ko.current,ma(Ko,o=s?1&o|2:1&o),t=r;break e}break;case 20:case 21:break;default:throw Error(i(156,t.tag))}t=null}if(o=Vs,1===Ws||1!==o.childExpirationTime){for(s=0,r=o.child;null!==r;)(n=r.expirationTime)>s&&(s=n),(c=r.childExpirationTime)>s&&(s=c),r=r.sibling;o.childExpirationTime=s}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Vs.firstEffect),null!==Vs.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Vs.firstEffect),e.lastEffect=Vs.lastEffect),1<Vs.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Vs:e.firstEffect=Vs,e.lastEffect=Vs))}else{if(null!==(t=ps(Vs)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Vs.sibling))return t;Vs=e}while(null!==Vs);return Ks===Us&&(Ks=Bs),null}function Ml(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function Dl(e){var t=Va();return Ka(99,Ll.bind(null,e,t)),null}function Ll(e,t){do{jl()}while(null!==ll);if((Gs&(Is|js))!==Ds)throw Error(i(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var a=Ml(n);if(e.firstPendingTime=a,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===qs&&(Vs=qs=null,Ws=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,a=n.firstEffect):a=n:a=n.firstEffect,null!==a){var o=Gs;Gs|=js,Ms.current=null,er=Sn;var s=Kn();if(Xn(s)){if("selectionStart"in s)var l={start:s.selectionStart,end:s.selectionEnd};else e:{var u=(l=(l=s.ownerDocument)&&l.defaultView||window).getSelection&&l.getSelection();if(u&&0!==u.rangeCount){l=u.anchorNode;var c=u.anchorOffset,d=u.focusNode;u=u.focusOffset;try{l.nodeType,d.nodeType}catch(e){l=null;break e}var f=0,p=-1,m=-1,h=0,_=0,y=s,v=null;t:for(;;){for(var g;y!==l||0!==c&&3!==y.nodeType||(p=f+c),y!==d||0!==u&&3!==y.nodeType||(m=f+u),3===y.nodeType&&(f+=y.nodeValue.length),null!==(g=y.firstChild);)v=y,y=g;for(;;){if(y===s)break t;if(v===l&&++h===c&&(p=f),v===d&&++_===u&&(m=f),null!==(g=y.nextSibling))break;v=(y=v).parentNode}y=g}l=-1===p||-1===m?null:{start:p,end:m}}else l=null}l=l||{start:0,end:0}}else l=null;tr={focusedElem:s,selectionRange:l},Sn=!1,rl=a;do{try{Il()}catch(e){if(null===rl)throw Error(i(330));Fl(rl,e),rl=rl.nextEffect}}while(null!==rl);rl=a;do{try{for(s=e,l=t;null!==rl;){var b=rl.effectTag;if(16&b&&Be(rl.stateNode,""),128&b){var E=rl.alternate;if(null!==E){var k=E.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&b){case 2:ws(rl),rl.effectTag&=-3;break;case 6:ws(rl),rl.effectTag&=-3,Os(rl.alternate,rl);break;case 1024:rl.effectTag&=-1025;break;case 1028:rl.effectTag&=-1025,Os(rl.alternate,rl);break;case 4:Os(rl.alternate,rl);break;case 8:Ss(s,c=rl,l),Es(c)}rl=rl.nextEffect}}catch(e){if(null===rl)throw Error(i(330));Fl(rl,e),rl=rl.nextEffect}}while(null!==rl);if(k=tr,E=Kn(),b=k.focusedElem,l=k.selectionRange,E!==b&&b&&b.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(b.ownerDocument.documentElement,b)){null!==l&&Xn(b)&&(E=l.start,void 0===(k=l.end)&&(k=E),"selectionStart"in b?(b.selectionStart=E,b.selectionEnd=Math.min(k,b.value.length)):(k=(E=b.ownerDocument||document)&&E.defaultView||window).getSelection&&(k=k.getSelection(),c=b.textContent.length,s=Math.min(l.start,c),l=void 0===l.end?s:Math.min(l.end,c),!k.extend&&s>l&&(c=l,l=s,s=c),c=Wn(b,s),d=Wn(b,l),c&&d&&(1!==k.rangeCount||k.anchorNode!==c.node||k.anchorOffset!==c.offset||k.focusNode!==d.node||k.focusOffset!==d.offset)&&((E=E.createRange()).setStart(c.node,c.offset),k.removeAllRanges(),s>l?(k.addRange(E),k.extend(d.node,d.offset)):(E.setEnd(d.node,d.offset),k.addRange(E))))),E=[];for(k=b;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof b.focus&&b.focus(),b=0;b<E.length;b++)(k=E[b]).element.scrollLeft=k.left,k.element.scrollTop=k.top}tr=null,Sn=!!er,er=null,e.current=n,rl=a;do{try{for(b=r;null!==rl;){var w=rl.effectTag;if(36&w){var S=rl.alternate;switch(k=b,(E=rl).tag){case 0:case 11:case 15:gs(16,32,E);break;case 1:var O=E.stateNode;if(4&E.effectTag)if(null===S)O.componentDidMount();else{var T=E.elementType===E.type?S.memoizedProps:to(E.type,S.memoizedProps);O.componentDidUpdate(T,S.memoizedState,O.__reactInternalSnapshotBeforeUpdate)}var A=E.updateQueue;null!==A&&wo(0,A,O);break;case 3:var C=E.updateQueue;if(null!==C){if(s=null,null!==E.child)switch(E.child.tag){case 5:s=E.child.stateNode;break;case 1:s=E.child.stateNode}wo(0,C,s)}break;case 5:var P=E.stateNode;null===S&&4&E.effectTag&&nr(E.type,E.memoizedProps)&&P.focus();break;case 6:case 4:case 12:break;case 13:if(null===E.memoizedState){var x=E.alternate;if(null!==x){var N=x.memoizedState;if(null!==N){var R=N.dehydrated;null!==R&&Ot(R)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(i(163))}}if(128&w){E=void 0;var M=rl.ref;if(null!==M){var D=rl.stateNode;switch(rl.tag){case 5:E=D;break;default:E=D}"function"==typeof M?M(E):M.current=E}}rl=rl.nextEffect}}catch(e){if(null===rl)throw Error(i(330));Fl(rl,e),rl=rl.nextEffect}}while(null!==rl);rl=null,Fa(),Gs=o}else e.current=n;if(sl)sl=!1,ll=e,ul=t;else for(rl=a;null!==rl;)t=rl.nextEffect,rl.nextEffect=null,rl=t;if(0===(t=e.firstPendingTime)&&(il=null),1073741823===t?e===fl?dl++:(dl=0,fl=e):dl=0,"function"==typeof Bl&&Bl(n.stateNode,r),gl(e),al)throw al=!1,e=ol,ol=null,e;return(Gs&Ls)!==Ds?null:(Qa(),null)}function Il(){for(;null!==rl;){var e=rl.effectTag;0!=(256&e)&&vs(rl.alternate,rl),0==(512&e)||sl||(sl=!0,Xa(97,(function(){return jl(),null}))),rl=rl.nextEffect}}function jl(){if(90!==ul){var e=97<ul?97:ul;return ul=90,Ka(e,Ul)}}function Ul(){if(null===ll)return!1;var e=ll;if(ll=null,(Gs&(Is|js))!==Ds)throw Error(i(331));var t=Gs;for(Gs|=js,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:gs(128,0,n),gs(0,64,n)}}catch(t){if(null===e)throw Error(i(330));Fl(e,t)}n=e.nextEffect,e.nextEffect=null,e=n}return Gs=t,Qa(),!0}function Yl(e,t,n){vo(e,t=Cs(e,t=ms(n,t),1073741823)),null!==(e=yl(e,1073741823))&&gl(e)}function Fl(e,t){if(3===e.tag)Yl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Yl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===il||!il.has(r))){vo(n,e=Ps(n,e=ms(t,e),1073741823)),null!==(n=yl(n,1073741823))&&gl(n);break}}n=n.return}}function Hl(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),qs===e&&Ws===n?Ks===zs||Ks===Hs&&1073741823===$s&&qa()-tl<nl?Sl(e,Ws):el=!0:eu(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,e.finishedExpirationTime===n&&(e.finishedExpirationTime=0,e.finishedWork=null),gl(e)))}function zl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=hl(t=ml(),e,null)),null!==(e=yl(e,t))&&gl(e)}xs=function(e,t,n){var r=t.expirationTime;if(null!==e){var a=t.pendingProps;if(e.memoizedProps!==a||ya.current)qi=!0;else{if(r<n){switch(qi=!1,t.tag){case 3:es(t),Bi();break;case 5:if(Vo(t),4&t.mode&&1!==n&&a.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:ba(t.type)&&Oa(t);break;case 4:Go(t,t.stateNode.containerInfo);break;case 10:so(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?is(e,t,n):(ma(Ko,1&Ko.current),null!==(t=cs(e,t,n))?t.sibling:null);ma(Ko,1&Ko.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return us(e,t,n);t.effectTag|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null),ma(Ko,Ko.current),!r)return null}return cs(e,t,n)}qi=!1}}else qi=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,a=ga(t,_a.current),co(t,n),a=mi(null,t,r,e,a,n),t.effectTag|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,hi(),ba(r)){var o=!0;Oa(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null;var s=r.getDerivedStateFromProps;"function"==typeof s&&Ao(t,r,s,e),a.updater=Co,t.stateNode=a,a._reactInternalFiber=t,Ro(t,r,e,n),t=Zi(null,t,r,!0,o,n)}else t.tag=0,Vi(null,t,a,n),t=t.child;return t;case 16:if(a=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(a),1!==a._status)throw a._result;switch(a=a._result,t.type=a,o=t.tag=function(e){if("function"==typeof e)return Wl(e)?1:0;if(null!=e){if((e=e.$$typeof)===G)return 11;if(e===W)return 14}return 2}(a),e=to(a,e),o){case 0:t=Qi(null,t,a,e,n);break;case 1:t=Ji(null,t,a,e,n);break;case 11:t=Wi(null,t,a,e,n);break;case 14:t=Ki(null,t,a,to(a.type,e),r,n);break;default:throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Qi(e,t,r,a=t.elementType===r?a:to(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ji(e,t,r,a=t.elementType===r?a:to(r,a),n);case 3:if(es(t),null===(r=t.updateQueue))throw Error(i(282));if(a=null!==(a=t.memoizedState)?a.element:null,ko(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===a)Bi(),t=cs(e,t,n);else{if((a=t.stateNode.hydrate)&&(Ii=ir(t.stateNode.containerInfo.firstChild),Li=t,a=ji=!0),a)for(n=Uo(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Vi(e,t,r,n),Bi();t=t.child}return t;case 5:return Vo(t),null===e&&Fi(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,rr(r,a)?s=null:null!==o&&rr(r,o)&&(t.effectTag|=16),$i(e,t),4&t.mode&&1!==n&&a.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Vi(e,t,s,n),t=t.child),t;case 6:return null===e&&Fi(t),null;case 13:return is(e,t,n);case 4:return Go(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=jo(t,null,r,n):Vi(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Wi(e,t,r,a=t.elementType===r?a:to(r,a),n);case 7:return Vi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Vi(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,s=t.memoizedProps,so(t,o=a.value),null!==s){var l=s.value;if(0===(o=ea(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(s.children===a.children&&!ya.current){t=cs(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var u=l.dependencies;if(null!==u){s=l.child;for(var c=u.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===l.tag&&((c=_o(n,null)).tag=2,vo(l,c)),l.expirationTime<n&&(l.expirationTime=n),null!==(c=l.alternate)&&c.expirationTime<n&&(c.expirationTime=n),uo(l.return,n),u.expirationTime<n&&(u.expirationTime=n);break}c=c.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}}Vi(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,co(t,n),r=r(a=fo(a,o.unstable_observedBits)),t.effectTag|=1,Vi(e,t,r,n),t.child;case 14:return o=to(a=t.type,t.pendingProps),Ki(e,t,a,o=to(a.type,o),r,n);case 15:return Xi(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:to(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,ba(r)?(e=!0,Oa(t)):e=!1,co(t,n),xo(t,r,a),Ro(t,r,a,n),Zi(null,t,r,!0,e,n);case 19:return us(e,t,n)}throw Error(i(156,t.tag))};var Bl=null,Gl=null;function ql(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Vl(e,t,n,r){return new ql(e,t,n,r)}function Wl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Kl(e,t){var n=e.alternate;return null===n?((n=Vl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xl(e,t,n,r,a,o){var s=2;if(r=e,"function"==typeof e)Wl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case U:return $l(n.children,a,o,t);case B:s=8,a|=7;break;case Y:s=8,a|=1;break;case F:return(e=Vl(12,n,t,8|a)).elementType=F,e.type=F,e.expirationTime=o,e;case q:return(e=Vl(13,n,t,a)).type=q,e.elementType=q,e.expirationTime=o,e;case V:return(e=Vl(19,n,t,a)).elementType=V,e.expirationTime=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case H:s=10;break e;case z:s=9;break e;case G:s=11;break e;case W:s=14;break e;case K:s=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Vl(s,n,t,a)).elementType=e,t.type=r,t.expirationTime=o,t}function $l(e,t,n,r){return(e=Vl(7,e,r,t)).expirationTime=n,e}function Ql(e,t,n){return(e=Vl(6,e,null,t)).expirationTime=n,e}function Jl(e,t,n){return(t=Vl(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zl(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function eu(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function tu(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function nu(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function ru(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function au(e,t,n,r){var a=t.current,o=ml(),s=Oo.suspense;o=hl(o,a,s);e:if(n){t:{if(et(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ba(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var u=n.type;if(ba(u)){n=Sa(n,u,l);break e}}n=l}else n=ha;return null===t.context?t.context=n:t.pendingContext=n,(t=_o(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),vo(a,t),_l(a,o),o}function ou(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function iu(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function su(e,t){iu(e,t),(e=e.alternate)&&iu(e,t)}function lu(e,t,n){var r=new Zl(e,t,n=null!=n&&!0===n.hydrate),a=Vl(3,null,null,2===t?7:1===t?3:0);r.current=a,a.stateNode=r,e[dr]=r.current,n&&0!==t&&function(e){var t=Dn(e);ht.forEach((function(n){Ln(n,e,t)})),_t.forEach((function(n){Ln(n,e,t)}))}(9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function uu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function cu(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"==typeof a){var s=a;a=function(){var e=ou(i);s.call(e)}}au(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new lu(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"==typeof a){var l=a;a=function(){var e=ou(i);l.call(e)}}wl((function(){au(t,i,e,a)}))}return ou(i)}function du(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!uu(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:j,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}lu.prototype.render=function(e,t){au(e,this._internalRoot,null,void 0===t?null:t)},lu.prototype.unmount=function(e){var t=this._internalRoot,n=void 0===e?null:e,r=t.containerInfo;au(null,t,null,(function(){r[dr]=null,null!==n&&n()}))},at=function(e){if(13===e.tag){var t=eo(ml(),150,100);_l(e,t),su(e,t)}},ot=function(e){if(13===e.tag){ml();var t=Za++;_l(e,t),su(e,t)}},it=function(e){if(13===e.tag){var t=ml();_l(e,t=hl(t,e,null)),su(e,t)}},ee=function(e,t,n){switch(t){case"input":if(Pe(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=hr(r);if(!a)throw Error(i(90));Oe(r),Pe(r,a)}}}break;case"textarea":Ie(e,n);break;case"select":null!=(t=n.value)&&Me(e,!!n.multiple,t,!1)}},ie=kl,se=function(e,t,n,r){var a=Gs;Gs|=4;try{return Ka(98,e.bind(null,t,n,r))}finally{(Gs=a)===Ds&&Qa()}},le=function(){(Gs&(1|Is|js))===Ds&&(function(){if(null!==cl){var e=cl;cl=null,e.forEach((function(e,t){ru(t,e),gl(t)})),Qa()}}(),jl())},ue=function(e,t){var n=Gs;Gs|=2;try{return e(t)}finally{(Gs=n)===Ds&&Qa()}};var fu,pu,mu={createPortal:du,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=rt(t))?null:e.stateNode},hydrate:function(e,t,n){if(!uu(t))throw Error(i(200));return cu(null,e,t,!0,n)},render:function(e,t,n){if(!uu(t))throw Error(i(200));return cu(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){if(!uu(n))throw Error(i(200));if(null==e||void 0===e._reactInternalFiber)throw Error(i(38));return cu(e,t,n,!1,r)},unmountComponentAtNode:function(e){if(!uu(e))throw Error(i(40));return!!e._reactRootContainer&&(wl((function(){cu(null,null,e,!1,(function(){e._reactRootContainer=null,e[dr]=null}))})),!0)},unstable_createPortal:function(){return du.apply(void 0,arguments)},unstable_batchedUpdates:kl,flushSync:function(e,t){if((Gs&(Is|js))!==Ds)throw Error(i(187));var n=Gs;Gs|=1;try{return Ka(99,e.bind(null,t))}finally{Gs=n,Qa()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[pr,mr,hr,N.injectEventPluginsByName,f,Rt,function(e){A(e,Nt)},ae,oe,xn,x,jl,{current:!1}]}};pu=(fu={findFiberByHostInstance:fr,bundleType:0,version:"16.12.0",rendererPackageName:"react-dom"}).findFiberByHostInstance,function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Bl=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(e){}},Gl=function(e){try{t.onCommitFiberUnmount(n,e)}catch(e){}}}catch(e){}}(a({},fu,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:M.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=rt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return pu?pu(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}));var hu={default:mu},_u=hu&&mu||hu;e.exports=_u.default||_u},function(e,t,n){"use strict";e.exports=n(86)},function(e,t,n){"use strict";
/** @license React v0.18.0
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var r,a,o,i,s;if(Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var l=null,u=null,c=function(){if(null!==l)try{var e=t.unstable_now();l(!0,e),l=null}catch(e){throw setTimeout(c,0),e}},d=Date.now();t.unstable_now=function(){return Date.now()-d},r=function(e){null!==l?setTimeout(r,0,e):(l=e,setTimeout(c,0))},a=function(e,t){u=setTimeout(e,t)},o=function(){clearTimeout(u)},i=function(){return!1},s=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,p=window.Date,m=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var _=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof _&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof f&&"function"==typeof f.now)t.unstable_now=function(){return f.now()};else{var y=p.now();t.unstable_now=function(){return p.now()-y}}var v=!1,g=null,b=-1,E=5,k=0;i=function(){return t.unstable_now()>=k},s=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):E=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,S=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();k=e+E;try{g(!0,e)?S.postMessage(null):(v=!1,g=null)}catch(e){throw S.postMessage(null),e}}else v=!1},r=function(e){g=e,v||(v=!0,S.postMessage(null))},a=function(e,n){b=m((function(){e(t.unstable_now())}),n)},o=function(){h(b),b=-1}}function O(e,t){var n=e.length;e.push(t);e:for(;;){var r=Math.floor((n-1)/2),a=e[r];if(!(void 0!==a&&0<C(a,t)))break e;e[r]=t,e[n]=a,n=r}}function T(e){return void 0===(e=e[0])?null:e}function A(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],s=o+1,l=e[s];if(void 0!==i&&0>C(i,n))void 0!==l&&0>C(l,i)?(e[r]=l,e[s]=n,r=s):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>C(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var P=[],x=[],N=1,R=null,M=3,D=!1,L=!1,I=!1;function j(e){for(var t=T(x);null!==t;){if(null===t.callback)A(x);else{if(!(t.startTime<=e))break;A(x),t.sortIndex=t.expirationTime,O(P,t)}t=T(x)}}function U(e){if(I=!1,j(e),!L)if(null!==T(P))L=!0,r(Y);else{var t=T(x);null!==t&&a(U,t.startTime-e)}}function Y(e,n){L=!1,I&&(I=!1,o()),D=!0;var r=M;try{for(j(n),R=T(P);null!==R&&(!(R.expirationTime>n)||e&&!i());){var s=R.callback;if(null!==s){R.callback=null,M=R.priorityLevel;var l=s(R.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?R.callback=l:R===T(P)&&A(P),j(n)}else A(P);R=T(P)}if(null!==R)var u=!0;else{var c=T(x);null!==c&&a(U,c.startTime-n),u=!1}return u}finally{R=null,M=r,D=!1}}function F(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var H=s;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,i){var s=t.unstable_now();if("object"==typeof i&&null!==i){var l=i.delay;l="number"==typeof l&&0<l?s+l:s,i="number"==typeof i.timeout?i.timeout:F(e)}else i=F(e),l=s;return e={id:N++,callback:n,priorityLevel:e,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>s?(e.sortIndex=l,O(x,e),null===T(P)&&e===T(x)&&(I?o():I=!0,a(U,l-s))):(e.sortIndex=i,O(P,e),L||D||(L=!0,r(Y))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_shouldYield=function(){var e=t.unstable_now();j(e);var n=T(P);return n!==R&&null!==R&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<R.expirationTime||i()},t.unstable_requestPaint=H,t.unstable_continueExecution=function(){L||D||(L=!0,r(Y))},t.unstable_pauseExecution=function(){},t.unstable_getFirstCallbackNode=function(){return T(P)},t.unstable_Profiling=null},function(e,t,n){"use strict";var r=n(88);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";
/** @license React v16.8.5
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,a=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,l=r?Symbol.for("react.profiler"):60114,u=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,m=r?Symbol.for("react.suspense"):60113,h=r?Symbol.for("react.memo"):60115,_=r?Symbol.for("react.lazy"):60116;function y(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case d:case f:case i:case l:case s:case m:return e;default:switch(e=e&&e.$$typeof){case c:case p:case u:return e;default:return t}}case _:case h:case o:return t}}}function v(e){return y(e)===f}t.typeOf=y,t.AsyncMode=d,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=u,t.Element=a,t.ForwardRef=p,t.Fragment=i,t.Lazy=_,t.Memo=h,t.Portal=o,t.Profiler=l,t.StrictMode=s,t.Suspense=m,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===f||e===l||e===s||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===_||e.$$typeof===h||e.$$typeof===u||e.$$typeof===c||e.$$typeof===p)},t.isAsyncMode=function(e){return v(e)||y(e)===d},t.isConcurrentMode=v,t.isContextConsumer=function(e){return y(e)===c},t.isContextProvider=function(e){return y(e)===u},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return y(e)===p},t.isFragment=function(e){return y(e)===i},t.isLazy=function(e){return y(e)===_},t.isMemo=function(e){return y(e)===h},t.isPortal=function(e){return y(e)===o},t.isProfiler=function(e){return y(e)===l},t.isStrictMode=function(e){return y(e)===s},t.isSuspense=function(e){return y(e)===m}},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(2),o=C(n(93)),i=n(4),s=C(n(42)),l=C(n(94)),u=C(n(95)),c=C(n(96)),d=C(n(97)),f=C(n(98)),p=C(n(99)),m=C(n(100)),h=C(n(101)),_=C(n(102)),y=C(n(103)),v=C(n(104)),g=C(n(105)),b=C(n(106)),E=C(n(107)),k=C(n(127)),w=C(n(128)),S=C(n(129)),O=C(n(130)),T=C(n(131)),A=C(n(132));function C(e){return e&&e.__esModule?e:{default:e}}var P={core:{outputs:[],queue:[],queue_metadata:{},current_track:null,albums:{},artists:{},playlists:{},users:{},tracks:{},http_streaming_enabled:!1,http_streaming_cachebuster:null,http_streaming_url:"http://"+window.location.hostname+":8000/mopidy"},ui:{theme:"dark",smooth_scrolling_enabled:!0,hotkeys_enabled:!0,playback_controls_touch_enabled:!0,allow_reporting:!0,wide_scrollbar_enabled:!1,window_focus:!0,slim_mode:!1,selected_tracks:[],notifications:{},processes:{}},mopidy:{connected:!1,host:window.location.hostname,port:window.location.port?window.location.port:"https:"===window.location.protocol?"443":"80",ssl:"https:"===window.location.protocol,mute:!1,volume:0,progress:0,play_state:null,uri_schemes:[],library_albums_uri:"local:directory?type=album",library_artists_uri:"local:directory?type=artist&role=albumartist"},pusher:{connected:!1,username:(0,i.generateGuid)(),client_id:(0,i.generateGuid)(),connections:{},version:{current:null},config:{}},lastfm:{me:null,authorization_url:"https://jamesbarnsley.co.nz/iris/auth_lastfm.php"},genius:{me:null,authorization_url:"https://jamesbarnsley.co.nz/iris/auth_genius.php"},spotify:{me:null,autocomplete_results:{},authorization_url:"https://jamesbarnsley.co.nz/iris/auth_spotify.php"},google:{enabled:!1},snapcast:{enabled:!1,connected:!1,host:window.location.hostname,port:"1780",ssl:"https:"===window.location.protocol,streams:{},groups:{},clients:{},server:null,commands:{}}};P.core=r({},P.core,s.default.get("core")),P.ui=r({},P.ui,s.default.get("ui")),P.mopidy=r({},P.mopidy,s.default.get("mopidy")),P.pusher=r({},P.pusher,s.default.get("pusher")),P.spotify=r({},P.spotify,s.default.get("spotify")),P.lastfm=r({},P.lastfm,s.default.get("lastfm")),P.genius=r({},P.genius,s.default.get("genius")),P.google=r({},P.google,s.default.get("google")),P.snapcast=r({},P.snapcast,s.default.get("snapcast")),P=(0,y.default)(P);var x=(0,a.combineReducers)({core:l.default,ui:u.default,pusher:c.default,mopidy:d.default,lastfm:f.default,genius:_.default,spotify:p.default,google:h.default,snapcast:m.default});t.default=(0,a.createStore)(x,P,(0,a.applyMiddleware)(o.default,A.default,v.default,g.default,E.default,b.default,S.default,k.default,w.default,O.default,T.default))},function(e,t,n){"use strict";function r(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(a){return"function"==typeof a?a(n,r,e):t(a)}}}}n.r(t);var a=r();a.withExtraArgument=r,t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"CORE_SET":return r({},e,t.data);case"CACHEBUST_HTTP_STREAM":return r({},e,{http_streaming_cachebuster:(new Date).getTime()});case"CURRENT_TRACK_LOADED":return r({},e,{current_track:t.track,current_track_uri:t.uri});case"CLEAR_CURRENT_TRACK":return r({},e,{current_track:null,current_track_uri:null});case"NEXT_TRACK_LOADED":return r({},e,{next_track_uri:t.uri});case"QUEUE_LOADED":return r({},e,{queue:t.tracks});case"PUSHER_QUEUE_METADATA":case"PUSHER_QUEUE_METADATA_CHANGED":for(var n=Object.assign([],e.current_tracklist),s=0;s<n.length;s++)void 0!==t.queue_metadata["tlid_"+n[s].tlid]&&(n[s]=r({},n[s],t.queue_metadata["tlid_"+n[s].tlid]));return r({},e,{current_tracklist:n,queue_metadata:t.queue_metadata});case"PUSHER_RADIO_LOADED":case"PUSHER_RADIO_STARTED":case"PUSHER_RADIO_CHANGED":case"PUSHER_RADIO_STOPPED":return r({},e,{seeds_resolved:!1,radio:t.radio});case"RADIO_SEEDS_RESOLVED":var l=r({},e.radio,{resolved_seeds:t.resolved_seeds});return r({},e,{radio:l});case"TRACKS_LOADED":var u=r({},e.tracks),c=!0,d=!1,f=void 0;try{for(var p,m=t.tracks[Symbol.iterator]();!(c=(p=m.next()).done);c=!0){var h=p.value;u[h.uri]=h}}catch(e){d=!0,f=e}finally{try{!c&&m.return&&m.return()}finally{if(d)throw f}}return r({},e,{tracks:u});case"ALBUMS_LOADED":var _=r({},e.albums),y=!0,v=!1,g=void 0;try{for(var b,E=t.albums[Symbol.iterator]();!(y=(b=E.next()).done);y=!0){var k=b.value;_[k.uri]=k}}catch(e){v=!0,g=e}finally{try{!y&&E.return&&E.return()}finally{if(v)throw g}}return r({},e,{albums:_});case"ARTISTS_LOADED":var w=r({},e.artists),S=!0,O=!1,T=void 0;try{for(var A,C=t.artists[Symbol.iterator]();!(S=(A=C.next()).done);S=!0){var P=A.value;w[P.uri]=P}}catch(e){O=!0,T=e}finally{try{!S&&C.return&&C.return()}finally{if(O)throw T}}return r({},e,{artists:w});case"PLAYLISTS_LOADED":var x=r({},e.playlists),N=!0,R=!1,M=void 0;try{for(var D,L=t.playlists[Symbol.iterator]();!(N=(D=L.next()).done);N=!0){var I=D.value;x[I.uri]=I}}catch(e){R=!0,M=e}finally{try{!N&&L.return&&L.return()}finally{if(R)throw M}}return r({},e,{playlists:x});case"USERS_LOADED":var j=r({},e.users),U=!0,Y=!1,F=void 0;try{for(var H,z=t.users[Symbol.iterator]();!(U=(H=z.next()).done);U=!0){var B=H.value;j[B.uri]=B}}catch(e){Y=!0,F=e}finally{try{!U&&z.return&&z.return()}finally{if(Y)throw F}}return r({},e,{users:j});case"ARTIST_ALBUMS_LOADED":w=r({},e.artists);var G=[];w[t.artist_uri].albums_uris&&(G=w[t.artist_uri].albums_uris);P=r({},w[t.artist_uri],{albums_uris:[].concat(i(G),i(t.albums_uris)),albums_more:t.more,albums_total:t.total});return w[t.artist_uri]=P,r({},e,{artists:w});case"USER_PLAYLISTS_LOADED":j=r({},e.users);var q=[];j[t.uri]&&j[t.uri].playlists_uris&&(q=j[t.uri].playlists_uris);var V=[].concat(i(q),i((0,a.arrayOf)("uri",t.playlists)));B=r({},j[t.uri],{playlists_uris:V,playlists_more:t.more,playlists_total:t.total});return j[t.uri]=B,r({},e,{users:j});case"REMOVE_FROM_INDEX":var W=r({},e[t.index_name]);t.new_key?W[t.key]={moved_to:t.new_key}:delete W[t.key];var K={};return K[t.index_name]=W,r({},e,K);case"PLAYLIST_TRACKS":x=r({},e.playlists),I=r({},x[t.key],{tracks_uris:t.tracks_uris});return x[t.key]=I,r({},e,{playlists:x});case"LIBRARY_PLAYLISTS_LOADED":if(e.library_playlists)var X=[].concat(i(e.library_playlists),i(t.uris));else X=t.uris;return X=(0,a.removeDuplicates)(X),r({},e,{library_playlists:X,library_playlists_started:!0});case"SPOTIFY_GENRES_LOADED":return r({},e,{genres:t.genres});case"SEARCH_STARTED":return r({},e,{search_results:{artists_uris:[],albums_uris:[],playlists_uris:[],tracks:[]}});case"SEARCH_RESULTS_LOADED":if(e.search_results&&e.search_results.artists_uris)var $=e.search_results.artists_uris;else $=[];if(t.artists_uris&&($=[].concat(i($),i(t.artists_uris))),void 0!==t.artists_more)var Q=t.artists_more;else if(e.search_results&&e.search_results.artists_more)Q=e.search_results.artists_more;else Q=null;if(e.search_results&&e.search_results.albums_uris)G=e.search_results.albums_uris;else G=[];if(t.albums_uris&&(G=[].concat(i(G),i(t.albums_uris))),void 0!==t.albums_more)var J=t.albums_more;else if(e.search_results&&e.search_results.albums_more)J=e.search_results.albums_more;else J=null;if(e.search_results&&e.search_results.playlists_uris)V=e.search_results.playlists_uris;else V=[];if(t.playlists_uris&&(V=[].concat(i(V),i(t.playlists_uris))),void 0!==t.playlists_more)var Z=t.playlists_more;else if(e.search_results&&e.search_results.playlists_more)Z=e.search_results.playlists_more;else Z=null;if(e.search_results&&e.search_results.tracks)u=e.search_results.tracks;else u=[];if(t.tracks&&(u=[].concat(i(u),i((0,o.formatTracks)(t.tracks)))),void 0!==t.tracks_more)var ee=t.tracks_more;else if(e.search_results&&e.search_results.tracks_more)ee=e.search_results.tracks_more;else ee=null;return r({},e,{search_results:{artists_more:Q,artists_uris:(0,a.removeDuplicates)($),albums_more:J,albums_uris:(0,a.removeDuplicates)(G),playlists_more:Z,playlists_uris:(0,a.removeDuplicates)(V),tracks:u,tracks_more:ee}});default:return e}};var a=n(9),o=n(12);function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"LAZY_LOADING":return r({},e,{lazy_loading:t.start});case"SET_SLIM_MODE":return r({},e,{slim_mode:t.slim_mode});case"SET_WINDOW_FOCUS":return r({},e,{window_focus:t.window_focus});case"DEBUG":return r({},e,{debug_response:t.response});case"UI_SET":return r({},e,t.data);case"SET_WINDOW_TITLE":return t.title?r({},e,{window_title:t.title}):e;case"TOGGLE_SIDEBAR":var n=!e.sidebar_open;return void 0!==t.new_state&&(n=t.new_state),r({},e,{sidebar_open:n});case"SET_CURRENT_TRACK_TRANSITION":return r({},e,{current_track_transition:t.current_track_transition});case"SET_SELECTED_TRACKS":return r({},e,{selected_tracks:Object.assign([],t.keys)});case"ICON_LOADED":var a=r({},e.icons);return a[t.key]=t.icon,r({},e,{icons:a});case"INSTALL_PROMPT":return r({},e,{install_prompt:t.event});case"SHOW_CONTEXT_MENU":return r({},e,{context_menu:t.data});case"HIDE_CONTEXT_MENU":return r({},e,{context_menu:r({},e.context_menu,{closing:!0})});case"REMOVE_CONTEXT_MENU":return r({},e,{context_menu:null});case"SHOW_TOUCH_CONTEXT_MENU":return r({},e,{touch_context_menu:t.data});case"HIDE_TOUCH_CONTEXT_MENU":return r({},e,{touch_context_menu:r({},e.touch_context_menu,{closing:!0})});case"REMOVE_TOUCH_CONTEXT_MENU":return r({},e,{touch_context_menu:null});case"DRAG_START":return r({},e,{dragger:{dragging:!0,active:!1,context:t.context,from_uri:t.from_uri,victims:t.victims,victims_indexes:t.victims_indexes,start_x:t.start_x,start_y:t.start_y}});case"DRAG_ACTIVE":var o=r({},e.dragger,{active:!0});return r({},e,{dragger:o});case"DRAG_END":return r({},e,{dragger:!1});case"OPEN_MODAL":return r({},e,{modal:t.modal});case"CLOSE_MODAL":return r({},e,{modal:!1});case"CREATE_NOTIFICATION":return(i=r({},e.notifications))[t.notification.key]=t.notification,r({},e,{notifications:i});case"CLOSE_NOTIFICATION":return(i=r({},e.notifications))[t.key]&&(i[t.key].closing=!0),r({},e,{notifications:i});case"REMOVE_NOTIFICATION":var i;return delete(i=r({},e.notifications))[t.key],r({},e,{notifications:i});case"START_LOADING":return(s=r({},e.load_queue?e.load_queue:{}))[t.key]=t.source,r({},e,{load_queue:s});case"STOP_LOADING":var s;return(s=r({},e.load_queue?e.load_queue:{}))[t.key]&&delete s[t.key],r({},e,{load_queue:s});case"START_PROCESS":case"UPDATE_PROCESS":if((u=r({},e.processes?e.processes:[]))[t.key])var l=r({},u[t.key].data,t.data);else l=t.data;return u[t.key]={key:t.key,content:t.content,description:t.description,status:"running",level:t.level,data:l},r({},e,{processes:u});case"RESUME_PROCESS":return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{status:"running"})),r({},e,{processes:u});case"CANCEL_PROCESS":return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{status:"cancelling"})),r({},e,{processes:u});case"PROCESS_CANCELLED":return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{status:"cancelled"})),r({},e,{processes:u});case"PROCESS_FINISHED":return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{status:"finished"})),r({},e,{processes:u});case"CLOSE_PROCESS":return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{closing:!0})),r({},e,{processes:u});case"REMOVE_PROCESS":var u;return(u=r({},e.processes?e.processes:{}))[t.key]&&(u[t.key]=r({},u[t.key],{status:"completed",closing:!1})),r({},e,{processes:u});default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"PUSHER_CONNECT":case"PUSHER_CONNECTING":return r({},e,{connected:!1,connecting:!0});case"PUSHER_CONNECTED":return r({},e,{connected:!0,connecting:!1,connection_id:t.connection_id,client_id:t.client_id,username:t.username});case"PUSHER_DISCONNECTED":return r({},e,{connected:!1,connecting:!1});case"PUSHER_SET_PORT":return r({},e,{port:t.port});case"PUSHER_SET_USERNAME":return r({},e,{username:t.username});case"PUSHER_CONNECTIONS":for(var n={},a=0;a<t.connections.length;a++)n[t.connections[a].connection_id]=t.connections[a];return r({},e,{connections:n});case"PUSHER_CONNECTION_ADDED":case"PUSHER_CONNECTION_CHANGED":return(n=r({},e.connections))[t.connection.connection_id]=t.connection,r({},e,{connections:n});case"PUSHER_CONNECTION_UPDATED":return r({},e,{username:t.connection.username,client_id:t.connection.client_id,connection_id:t.connection.connection_id});case"PUSHER_CONNECTION_REMOVED":return delete(n=r({},e.connections))[t.connection.connection_id],r({},e,{connections:n});case"PUSHER_VERSION":return r({},e,{version:t.version,upgrading:!1});case"PUSHER_START_UPGRADE":return r({},e,{upgrading:!0});case"PUSHER_CONFIG":return r({},e,{config:t.config});case"PUSHER_COMMANDS_UPDATED":return r({},e,{commands:t.commands});default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"MOPIDY_SET":return r({},e,t.data);case"MOPIDY_CONNECT":case"MOPIDY_CONNECTING":return r({},e,{connected:!1,connecting:!0});case"MOPIDY_CONNECTED":return r({},e,{connected:!0,connecting:!1,restart_running:!1,upgrade_running:!1});case"MOPIDY_DISCONNECTED":return r({},e,{connected:!1,connecting:!1});case"MOPIDY_CHANGE_TRACK":return r({},e,{tlid:t.tlid});case"MOPIDY_URI_SCHEMES":return r({},e,{uri_schemes:t.uri_schemes});case"MOPIDY_RESTART_STARTED":return r({},e,{restart_running:!0});case"MOPIDY_RESTART_FINISHED":return r({},e,{restart_running:!1});case"MOPIDY_UPGRADE_STARTED":return r({},e,{upgrade_running:!0});case"MOPIDY_UPGRADE_FINISHED":return r({},e,{upgrade_running:!1});case"MOPIDY_LOCAL_SCAN_STARTED":return r({},e,{local_scan_running:!0});case"MOPIDY_LOCAL_SCAN_FINISHED":return r({},e,{local_scan_running:!1});case"MOPIDY_PLAY_STATE":return r({},e,{play_state:t.play_state});case"MOPIDY_CONSUME":return r({},e,{consume:t.consume});case"MOPIDY_RANDOM":return r({},e,{random:t.random});case"MOPIDY_REPEAT":return r({},e,{repeat:t.repeat});case"MOPIDY_VOLUME":return r({},e,{volume:t.volume});case"MOPIDY_MUTE":return r({},e,{mute:t.mute});case"MOPIDY_TIME_POSITION":return r({},e,{time_position:t.time_position});case"MOPIDY_QUEUE_HISTORY":for(var n=[],i=0;i<t.tracks.length;i++)n.push(r({},t.tracks[i][1],{played_at:t.tracks[i][0],type:"history"}));return r({},e,{queue_history:n});case"MOPIDY_DIRECTORY_FLUSH":return r({},e,{directory:null});case"MOPIDY_DIRECTORY_LOADED":return r({},e,{directory:t.directory});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED":if(e.library_playlists)var s=[].concat(o(e.library_playlists),o(t.uris));else s=t.uris;return r({},e,{library_playlists:(0,a.removeDuplicates)(s)});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL":return r({},e,{library_playlists_loaded_all:!0});case"MOPIDY_LIBRARY_PLAYLIST_CREATED":var l=[];return e.library_playlists&&(l=Object.assign([],e.library_playlists)),l.push(t.key),r({},e,{library_playlists:l});case"MOPIDY_LIBRARY_PLAYLIST_DELETED":l=[];return e.library_playlists&&(l=Object.assign([],e.library_playlists)).splice(l.indexOf(t.uri),1),r({},e,{library_playlists:l});case"MOPIDY_LIBRARY_ARTISTS_LOADED":if(e.library_artists)s=[].concat(o(e.library_artists),o(t.uris));else s=t.uris;return r({},e,{library_artists:(0,a.removeDuplicates)(s)});case"MOPIDY_CLEAR_LIBRARY_ARTISTS":return r({},e,{library_artists:null});case"MOPIDY_LIBRARY_ALBUMS_LOADED":if(e.library_albums)s=[].concat(o(e.library_albums),o(t.uris));else s=t.uris;return r({},e,{library_albums:(0,a.removeDuplicates)(s)});case"MOPIDY_CLEAR_LIBRARY_ALBUMS":return r({},e,{library_albums:null});case"MOPIDY_CLEAR_SEARCH_RESULTS":return r({},e,{search_results:{}});case"MOPIDY_SEARCH_RESULTS_LOADED":if(e.search_results)var u=r({},e.search_results);else u={};return u.query=t.query,u[t.context]?u[t.context]=[].concat(o(u[t.context]),o(t.results)):u[t.context]=t.results,r({},e,{search_results:u});default:return e}};var a=n(9);function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"LASTFM_CONNECT":case"LASTFM_CONNECTING":return r({},e,{connected:!1,connecting:!0});case"LASTFM_CONNECTED":return r({},e,{connected:!0,connecting:!1});case"LASTFM_SET":return r({},e,t.data);case"LASTFM_ME_LOADED":return r({},e,{me:t.me});case"LASTFM_AUTHORIZATION_GRANTED":return r({},e,{authorizing:!1,authorization:t.data.session});case"LASTFM_AUTHORIZATION_REVOKED":return r({},e,{authorizing:!1,authorization:!1,me:null});case"LASTFM_IMPORT_AUTHORIZATION":return r({},e,{authorizing:!1,authorization:t.authorization,me:null});default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"SPOTIFY_SET":return r({},e,t.data);case"PUSHER_SPOTIFY_TOKEN":return e.authorization?e:r({},e,{authorizing:!1,authorization:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_GRANTED":return r({},e,{enabled:!0,authorizing:!1,authorization:t.data,access_token:t.data.access_token,refresh_token:t.data.refresh_token,token_expiry:t.data.token_expiry});case"SPOTIFY_AUTHORIZATION_REVOKED":return r({},e,{authorizing:!1,authorization:!1,access_token:!1,refresh_token:!1,token_expiry:0,me:!1});case"SPOTIFY_IMPORT_AUTHORIZATION":return r({},e,{authorizing:!1,authorization:t.authorization,access_token:t.authorization.access_token,refresh_token:t.authorization.refresh_token,token_expiry:t.authorization.token_expiry,me:t.me});case"SPOTIFY_TOKEN_REFRESHING":return r({},e,{refreshing_token:!0});case"SPOTIFY_TOKEN_REFRESHED":return r({},e,{refreshing_token:!1,access_token:t.data.access_token,token_expiry:t.data.token_expiry});case"SPOTIFY_TOKEN_CHANGED":return r({},e,{access_token:t.spotify_token.access_token,token_expiry:t.spotify_token.token_expiry});case"SPOTIFY_ME_LOADED":return r({},e,{me:t.me});case"SPOTIFY_FEATURED_PLAYLISTS_LOADED":return r({},e,{featured_playlists:t.data});case"SPOTIFY_NEW_RELEASES_LOADED":var n=[];return e.new_releases&&(n=Object.assign([],e.new_releases)),r({},e,{new_releases:(0,a.removeDuplicates)([].concat(i(n),i(t.uris))),new_releases_more:t.more,new_releases_total:t.total});case"SPOTIFY_DISCOVER_LOADED":return t.data?r({},e,{discover:[].concat(i(e.discover),[t.data])}):r({},e,{discover:[]});case"CLEAR_SPOTIFY_RECOMMENDATIONS":return r({},e,{recommendations:{artists_uris:[],albums_uris:[],tracks_uris:[]}});case"SPOTIFY_RECOMMENDATIONS_LOADED":return r({},e,{recommendations:{artists_uris:t.artists_uris,albums_uris:t.albums_uris,tracks_uris:t.tracks_uris}});case"SPOTIFY_FAVORITES_LOADED":return r({},e,{favorite_artists:t.artists_uris,favorite_tracks:t.tracks_uris});case"SPOTIFY_AUTOCOMPLETE_LOADING":return(s=e.autocomplete_results)[t.field_id]={loading:!0},r({},e,{autocomplete_results:s});case"SPOTIFY_AUTOCOMPLETE_LOADED":return(s=e.autocomplete_results)[t.field_id]=t.results,s[t.field_id].loading=!1,r({},e,{autocomplete_results:s});case"SPOTIFY_AUTOCOMPLETE_CLEAR":var s;return void 0!==(s=e.autocomplete_results)[t.field_id]&&delete s[t.field_id],r({},e,{autocomplete_results:s});case"SPOTIFY_GENRES_LOADED":return r({},e,{genres:t.genres});case"SPOTIFY_CATEGORIES_LOADED":var l=r({},e.categories),u=!0,c=!1,d=void 0;try{for(var f,p=t.categories[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var m=f.value;l[m.uri]=m}}catch(e){c=!0,d=e}finally{try{!u&&p.return&&p.return()}finally{if(c)throw d}}return r({},e,{categories:l});case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED":l=r({},e.categories);var h=[];l[t.uri]&&l[t.uri].playlists_uris&&(h=l[t.uri].playlists_uris);m=r({},l[t.uri],{playlists_uris:[].concat(i(h),i(t.uris)),playlists_more:t.more,playlists_total:t.total});return l[t.uri]=m,r({},e,{categories:l});case"SPOTIFY_FLUSH_LIBRARY":return r({},e,{library_playlists:null,library_playlists_loaded_all:null,library_playlists_status:null,library_albums:null,library_albums_status:null,library_albums_loaded_all:null,library_artists:null,library_artists_status:null,library_artists_loaded_all:null,library_tracks:null,library_tracks_status:null,library_tracks_loaded_all:null});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":if(e.library_playlists)var _=[].concat(i(e.library_playlists),i(t.uris));else _=t.uris;return r({},e,{library_playlists:(0,a.removeDuplicates)(_)});case"SPOTIFY_LIBRARY_ARTISTS_LOADED":if(e.library_artists)_=[].concat(i(e.library_artists),i(t.uris));else _=t.uris;return r({},e,{library_artists:(0,a.removeDuplicates)(_)});case"SPOTIFY_LIBRARY_ALBUMS_LOADED":if(e.library_albums)_=[].concat(i(e.library_albums),i(t.uris));else _=t.uris;return r({},e,{library_albums:(0,a.removeDuplicates)(_)});case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":var y=t.data.items;_=[];return y&&(y=(0,o.formatTracks)(y),_=(0,a.arrayOf)("uri",y),e.library_tracks&&(_=[].concat(i(e.library_tracks),i(_)))),r({},e,{library_tracks:(0,a.removeDuplicates)(_),library_tracks_more:t.data.next});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL":return r({},e,{library_playlists_loaded_all:!0});case"SPOTIFY_LIBRARY_PLAYLISTS_CLEAR":return r({},e,{library_playlists:[]});case"SPOTIFY_LIBRARY_ARTISTS_CLEAR":return r({},e,{library_artists:[]});case"SPOTIFY_LIBRARY_ALBUMS_CLEAR":return r({},e,{library_albums:[]});case"SPOTIFY_LIBRARY_ALBUM_CHECK":var v=Object.assign([],e.library_albums);return(g=v.indexOf(t.key))>-1&&!t.in_library?v.splice(g,1):g<0&&t.in_library&&v.push(t.key),r({},e,{library_albums:v});case"SPOTIFY_LIBRARY_ARTIST_CHECK":v=Object.assign([],e.library_artists);return(g=v.indexOf(t.key))>-1&&!t.in_library?v.splice(g,1):g<0&&t.in_library&&v.push(t.key),r({},e,{library_artists:v});case"SPOTIFY_LIBRARY_PLAYLIST_CHECK":v=Object.assign([],e.library_playlists);return(g=v.indexOf(t.key))>-1&&!t.in_library?v.splice(g,1):g<0&&t.in_library&&v.push(t.key),r({},e,{library_playlists:v});case"SPOTIFY_LIBRARY_TRACK_CHECK":var g;v=Object.assign([],e.library_tracks);return(g=v.indexOf(t.key))>-1&&!t.in_library?v.splice(g,1):g<0&&t.in_library&&v.push(t.key),r({},e,{library_tracks:v});case"SPOTIFY_CLEAR_SEARCH_RESULTS":return r({},e,{search_results:{}});case"SPOTIFY_SEARCH_RESULTS_LOADED":if(e.search_results)var b=r({},e.search_results);else b={};return b.query=t.query,b.results?b[t.context]=[].concat(i(b[t.context]),i(t.results)):b[t.context]=t.results,t.more?b[t.context+"_more"]=t.more:b[t.context+"_more"]=null,r({},e,{search_results:b});default:return e}};var a=n(9),o=n(12);function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"SNAPCAST_SET":return r({},e,t.data);case"SNAPCAST_CONNECTED":return r({},e,{connected:!0,connecting:!1});case"SNAPCAST_CONNECTING":return r({},e,{connecting:!0,connected:!1});case"SNAPCAST_DISCONNECTED":return r({},e,{connected:!1,connecting:!1});case"SNAPCAST_SERVER_LOADED":return r({},e,{server:t.server});case"SNAPCAST_CLIENTS_LOADED":if(t.flush)var n={};else n=r({},e.clients);var a=!0,o=!1,i=void 0;try{for(var s,l=t.clients[Symbol.iterator]();!(a=(s=l.next()).done);a=!0){var u=s.value;n[u.id]=u}}catch(e){o=!0,i=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw i}}return r({},e,{clients:n});case"SNAPCAST_GROUPS_LOADED":if(t.flush)var c={};else c=r({},e.groups);var d=!0,f=!1,p=void 0;try{for(var m,h=t.groups[Symbol.iterator]();!(d=(m=h.next()).done);d=!0){var _=m.value;c[_.id]=r({},c[_.id]?c[_.id]:{},_)}}catch(e){f=!0,p=e}finally{try{!d&&h.return&&h.return()}finally{if(f)throw p}}return r({},e,{groups:c});case"SNAPCAST_STREAMS_LOADED":if(t.flush)var y={};else y=r({},e.streams);var v=!0,g=!1,b=void 0;try{for(var E,k=t.streams[Symbol.iterator]();!(v=(E=k.next()).done);v=!0){var w=E.value;y[w.id]=w}}catch(e){g=!0,b=e}finally{try{!v&&k.return&&k.return()}finally{if(g)throw b}}return r({},e,{streams:y});default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"GOOGLE_SET":return r({},e,t.data);case"GOOGLE_LIBRARY_ARTISTS_LOADED":if(e.library_artists)var n=[].concat(o(e.library_artists),o(t.uris));else n=t.uris;return r({},e,{library_artists:(0,a.removeDuplicates)(n)});case"GOOGLE_CLEAR_LIBRARY_ARTISTS":return r({},e,{library_artists:null});case"GOOGLE_LIBRARY_ALBUMS_LOADED":if(e.library_albums)n=[].concat(o(e.library_albums),o(t.uris));else n=t.uris;return r({},e,{library_albums:(0,a.removeDuplicates)(n)});case"GOOGLE_CLEAR_LIBRARY_ALBUMS":return r({},e,{library_albums:null});default:return e}};var a=n(9);function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case"GENIUS_SET":return r({},e,t.data);case"GENIUS_ME_LOADED":return r({},e,{me:t.me});case"GENIUS_AUTHORIZATION_GRANTED":return r({},e,{authorizing:!1,authorization:t.data,authorization_code:t.data.authorization_code,access_token:t.data.access_token});case"GENIUS_AUTHORIZATION_REVOKED":return r({},e,{authorizing:!1,authorization:null,authorization_code:null,access_token:null,me:null});case"GENIUS_IMPORT_AUTHORIZATION":return r({},e,{authorizing:!1,authorization:t.authorization,authorization_code:t.authorization.authorization_code,access_token:t.authorization.access_token,me:null});default:return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return void 0!==e.ui.shortkeys_enabled&&(e.ui.hotkeys_enabled=e.ui.shortkeys_enabled),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=c(n(0)),o=c(n(28)),i=n(9),s=c(n(21)),l=n(4),u=n(12);function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var f=n(8),p=n(1),m=n(6),h=n(7),_=function(e){return function(t){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=e.getState(),_=c.core;switch(n.type){case"HANDLE_EXCEPTION":var y=n.message;if(n.description)var v=n.description;else if(n.data.xhr&&n.data.xhr.responseText){var g=JSON.parse(n.data.xhr.responseText);g.error&&g.error.message&&(v=g.error.message)}else v=n.data.xhr?n.data.xhr.status+" "+n.data.xhr.statusText:null;var b=e.getState(),E={core:r({},b.core),ui:r({},b.ui),spotify:r({},b.spotify),mopidy:r({},b.mopidy),pusher:r({},b.pusher)};delete E.core.albums,delete E.core.artists,delete E.core.playlists,delete E.core.users,delete E.core.queue_metadata,delete E.core.current_tracklist,delete E.spotify.library_albums,delete E.spotify.library_artists,delete E.spotify.library_playlists,delete E.spotify.autocomplete_results,delete E.mopidy.library_albums,delete E.mopidy.library_artists,delete E.mopidy.library_playlists;var k=r({},n.data,{message:y,description:v,state:E});e.getState().ui.allow_reporting&&o.default.event({category:"Error",action:y,label:v,nonInteraction:!0}),n.show_notification&&e.dispatch(p.createNotification({content:y,level:"error",description:v})),console.error(y,v,k);break;case"PLAY_PLAYLIST":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Play",label:n.uri}),t(n);break;case"SAVE_PLAYLIST":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Save",label:n.key}),t(n);break;case"CREATE_PLAYLIST":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Create",label:+n.name}),t(n);break;case"REORDER_PLAYLIST_TRACKS":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Reorder tracks",label:n.key}),t(n);break;case"ADD_PLAYLIST_TRACKS":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Add tracks",label:n.playlist_uri}),t(n);break;case"REMOVE_PLAYLIST_TRACKS":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Remove tracks",label:n.playlist_uri}),t(n);break;case"DELETE_PLAYLIST":e.getState().ui.allow_reporting&&o.default.event({category:"Playlist",action:"Delete",label:n.uri}),t(n);break;case"SEARCH_STARTED":if(e.getState().ui.allow_reporting&&o.default.event({category:"Search",action:"Started",label:n.type+": "+n.query}),t(n),(b=e.getState()).ui.search_uri_schemes)var w=b.ui.search_uri_schemes;else w=b.mopidy.uri_schemes;for(var S=["local:","file:","gmusic:"],O=[],T=0;T<S.length;T++){var A=w.indexOf(S[T]);A>-1&&O.push(S[T])}n.only_mopidy||b.ui.search_settings&&!b.ui.search_settings.spotify||e.dispatch(h.getSearchResults(n.query)),b.mopidy.connected&&e.dispatch(m.getSearchResults(n.search_type,n.query,100,O));break;case"GET_LIBRARY_PLAYLISTS":e.getState().spotify.connected&&e.dispatch(h.getLibraryPlaylists()),e.getState().mopidy.connected&&e.dispatch(m.getLibraryPlaylists()),t(n);break;case"GET_LIBRARY_ALBUMS":e.getState().spotify.connected&&e.dispatch(h.getLibraryAlbums()),e.getState().mopidy.connected&&e.dispatch(m.getLibraryAlbums()),t(n);break;case"GET_LIBRARY_ARTISTS":e.getState().spotify.connected&&e.dispatch(h.getLibraryArtists()),e.getState().mopidy.connected&&e.dispatch(m.getLibraryArtists()),t(n);break;case"RESTART":location.reload();break;case"PLAYLIST_TRACKS":var C=(0,u.formatTracks)(n.tracks);n.tracks_uris=(0,i.arrayOf)("uri",C),e.dispatch({type:"TRACKS_LOADED",tracks:C}),t(n);break;case"PLAYLIST_TRACKS_ADDED":var P=e.getState().core.playlists[n.key];switch(e.dispatch(p.createNotification({content:a.default.createElement("span",null,"Added ",n.tracks_uris.length," tracks to ",a.default.createElement(s.default,{uri:n.key},P?P.name:"playlist"))})),(0,l.uriSource)(n.key)){case"spotify":e.dispatch(h.getPlaylist(n.key));break;case"m3u":e.getState().mopidy.connected&&e.dispatch(m.getPlaylist(n.key))}t(n);break;case"PLAYLIST_TRACKS_REORDERED":var x=r({},_.playlists),N=r({},x[n.key]),R=Object.assign([],N.tracks_uris),M=n.insert_before;M>n.range_start&&(M-=n.range_length);var D=R.splice(n.range_start,n.range_length);for(D.reverse(),T=0;T<D.length;T++)R.splice(M,0,D[T]);var L=null;n.snapshot_id&&(L=n.snapshot_id),N.tracks_uris=R,N.snapshot_id=L,e.dispatch({type:"PLAYLISTS_LOADED",playlists:[N]});break;case"PLAYLIST_TRACKS_REMOVED":x=r({},_.playlists),N=r({},x[n.key]),R=Object.assign([],N.tracks_uris);var I=n.tracks_indexes.reverse();for(T=0;T<I.length;T++)R.splice(I[T],1);L=null,n.snapshot_id&&(L=n.snapshot_id),N.tracks_uris=R,N.snapshot_id=L,e.dispatch({type:"PLAYLISTS_LOADED",playlists:[N]});break;case"LOAD_TRACK":if(!n.force_reload&&e.getState().core.tracks[n.uri])break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getTrack(n.uri)),e.getState().spotify.me&&e.dispatch(h.following(n.uri));break;default:e.getState().mopidy.connected&&e.dispatch(m.getTrack(n.uri))}t(n);break;case"LOAD_ALBUM":if(!n.force_reload&&e.getState().core.albums[n.uri]&&e.getState().core.albums[n.uri].tracks_uris)break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getAlbum(n.uri)),e.getState().spotify.me&&e.dispatch(h.following(n.uri));break;default:e.getState().mopidy.connected&&e.dispatch(m.getAlbum(n.uri))}t(n);break;case"LOAD_ARTIST":if(!n.force_reload&&e.getState().core.artists[n.uri]&&e.getState().core.artists[n.uri].albums_uris&&e.getState().core.artists[n.uri].tracks_uris)break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getArtist(n.uri,!0)),e.getState().spotify.me&&e.dispatch(h.following(n.uri));break;default:e.getState().mopidy.connected&&e.dispatch(m.getArtist(n.uri))}t(n);break;case"LOAD_PLAYLIST":if(!n.force_reload&&e.getState().core.playlists[n.uri]&&e.getState().core.playlists[n.uri].tracks_uris)break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getPlaylist(n.uri)),e.getState().spotify.me&&e.dispatch(h.following(n.uri));break;default:e.getState().mopidy.connected&&e.dispatch(m.getPlaylist(n.uri))}t(n);break;case"LOAD_USER":if(!n.force_reload&&e.getState().core.users[n.uri]&&e.getState().core.users[n.uri].playlists_uris)break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getUser(n.uri)),e.getState().spotify.me&&e.dispatch(h.following(n.uri))}t(n);break;case"LOAD_USER_PLAYLISTS":if(!n.force_reload&&e.getState().core.users[n.uri]&&e.getState().core.users[n.uri].playlists_uris)break;switch((0,l.uriSource)(n.uri)){case"spotify":e.dispatch(h.getUserPlaylists(n.uri))}t(n);break;case"CURRENT_TRACK_LOADED":e.dispatch(f.trackLoaded(n.track)),n.track=(0,u.formatTrack)(n.track),t(n);break;case"QUEUE_LOADED":e.dispatch(f.tracksLoaded(n.tracks)),n.tracks=(0,u.formatTracks)(n.tracks),t(n);break;case"TRACKS_LOADED":var j=r({},_.tracks),U=_.artists,Y=_.albums,F=[],H=[],z=[],B=!0,G=!1,q=void 0;try{for(var V,W=n.tracks[Symbol.iterator]();!(B=(V=W.next()).done);B=!0){var K=V.value;if(void 0!==j[(pe=(0,u.formatTrack)(K)).uri]&&(pe=r({},j[pe.uri],pe)),K.album&&(pe.album=(0,u.formatSimpleObject)(K.album),Y[K.album.uri]||z.push(K.album)),K.artists&&K.artists.length>0){pe.artists=[];var X=!0,$=!1,Q=void 0;try{for(var J,Z=K.artists[Symbol.iterator]();!(X=(J=Z.next()).done);X=!0){var ee=J.value;pe.artists.push((0,u.formatSimpleObject)(ee)),U[ee.uri]||H.push(ee)}}catch(e){$=!0,Q=e}finally{try{!X&&Z.return&&Z.return()}finally{if($)throw Q}}}F.push(pe)}}catch(e){G=!0,q=e}finally{try{!B&&W.return&&W.return()}finally{if(G)throw q}}n.tracks=F,H.length>0&&e.dispatch(f.artistsLoaded(H)),z.length>0&&e.dispatch(f.albumsLoaded(z)),t(n);break;case"ALBUMS_LOADED":Y=r({},_.albums),z=[],H=[],F=[];var te=!0,ne=!1,re=void 0;try{for(var ae,oe=n.albums[Symbol.iterator]();!(te=(ae=oe.next()).done);te=!0){var ie=ae.value,se=(0,u.formatAlbum)(ie);if(Y[se.uri]&&(se=r({},Y[se.uri],se)),ie.tracks){se.tracks_uris=[];var le=!0,ue=!1,ce=void 0;try{for(var de,fe=ie.tracks[Symbol.iterator]();!(le=(de=fe.next()).done);le=!0){var pe;(pe=de.value).album||(pe.album=(0,u.formatSimpleObject)(se)),se.tracks_uris.push(pe.uri),F.push(pe)}}catch(e){ue=!0,ce=e}finally{try{!le&&fe.return&&fe.return()}finally{if(ue)throw ce}}}ie.artists&&(se.artists_uris=(0,i.arrayOf)("uri",ie.artists),H=[].concat(d(H),d(ie.artists))),z.push(se)}}catch(e){ne=!0,re=e}finally{try{!te&&oe.return&&oe.return()}finally{if(ne)throw re}}n.albums=z,H.length>0&&e.dispatch(f.artistsLoaded(H)),F.length>0&&e.dispatch(f.tracksLoaded(F)),t(n);break;case"ARTISTS_LOADED":U=r({},_.artists),H=[],F=[];var me=!0,he=!1,_e=void 0;try{for(var ye,ve=n.artists[Symbol.iterator]();!(me=(ye=ve.next()).done);me=!0){var ge=ye.value;if(U[(ee=(0,u.formatArtist)(ge)).uri]){if(U[ee.uri].images&&ee.images){var be=U[ee.uri].images,Ee=!0,ke=!0,we=!1,Se=void 0;try{for(var Oe,Te=be[Symbol.iterator]();!(ke=(Oe=Te.next()).done);ke=!0){var Ae=Oe.value;Ae.huge==ee.images[0].huge&&(Ee=!1)}}catch(e){we=!0,Se=e}finally{try{!ke&&Te.return&&Te.return()}finally{if(we)throw Se}}Ee&&(ee.images=Object.assign([],[].concat(d(be),d(ee.images))))}ee=r({},U[ee.uri],ee)}ge.tracks&&(C=(0,u.formatTracks)(ge.tracks),R=(0,i.arrayOf)("uri",C),ee.tracks_uris=R,F=[].concat(d(F),d(C))),H.push(ee)}}catch(e){he=!0,_e=e}finally{try{!me&&ve.return&&ve.return()}finally{if(he)throw _e}}n.artists=H,F.length>0&&e.dispatch(f.tracksLoaded(F)),t(n);break;case"PLAYLISTS_LOADED":var Ce=r({},_.playlists),Pe=[],xe=(F=[],!0),Ne=!1,Re=void 0;try{for(var Me,De=n.playlists[Symbol.iterator]();!(xe=(Me=De.next()).done);xe=!0){switch(N=Me.value,N=(0,u.formatPlaylist)(N),(0,l.uriSource)(N.uri)){case"m3u":N.can_edit=!0;break;case"spotify":e.getState().spotify.authorization&&e.getState().spotify.me&&(N.can_edit=N.owner.id==e.getState().spotify.me.id)}Ce[N.uri]&&void 0===(N=r({},Ce[N.uri],N)).tracks_uris&&(N.tracks_uris=[]),N.tracks&&(C=(0,u.formatTracks)(N.tracks),R=(0,i.arrayOf)("uri",C),N.tracks_uris=R,delete N.tracks,F=[].concat(d(F),d(C))),Pe.push(N)}}catch(e){Ne=!0,Re=e}finally{try{!xe&&De.return&&De.return()}finally{if(Ne)throw Re}}n.playlists=Pe,F.length>0&&e.dispatch(f.tracksLoaded(F)),t(n);break;case"USERS_LOADED":var Le=r({},_.users),Ie=[],je=!0,Ue=!1,Ye=void 0;try{for(var Fe,He=n.users[Symbol.iterator]();!(je=(Fe=He.next()).done);je=!0){var ze=Fe.value;Le[(ze=(0,u.formatUser)(ze)).uri]&&(ze=r({},Le[ze.uri],ze)),Ie.push(ze)}}catch(e){Ue=!0,Ye=e}finally{try{!je&&He.return&&He.return()}finally{if(Ue)throw Ye}}n.users=Ie,t(n);break;case"USER_PLAYLISTS_LOADED":e.dispatch(f.playlistsLoaded(n.playlists)),t(n);break;case"LOADED_MORE":var Be=n.parent_type+"s",Ge=r({},_[n.parent_type+"s"]),qe=r({},Ge[n.parent_key]);if(void 0!==n.records_data.items)var Ve=n.records_data.items;else Ve=void 0!==n.records_data.tracks?n.records_data.tracks:void 0!==n.records_data.artists?n.records_data.artists:void 0!==n.records_data.albums?n.records_data.albums:void 0!==n.records_data.playlists?n.records_data.playlists:n.records_data;"track"==n.records_type&&(Ve=(0,u.formatTracks)(Ve));var We=n.records_type+"s",Ke=(0,i.arrayOf)("uri",Ve);n.extra_data&&(Ve=Ve.map((function(e){return r({},e,n.extra_data)}))),"playlist"==n.records_type&&(Ke=(0,l.upgradeSpotifyPlaylistUris)(Ke));var Xe=Ke;void 0!==qe[We+"_uris"]&&(Xe=[].concat(d(qe[We+"_uris"]),d(Xe))),qe[We+"_uris"]=Xe,void 0!==n.records_data.next&&(qe[We+"_more"]=n.records_data.next);var $e={type:Be.toUpperCase()+"_LOADED"};$e[Be]=[qe],e.dispatch($e);var Qe={type:We.toUpperCase()+"_LOADED"};Qe[We]=Ve,e.dispatch(Qe),t(n);break;default:return t(n)}}}};t.default=_},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o="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},i=n(28),s=(r=i)&&r.__esModule?r:{default:r};var l=n(1),u=function(t){return function(n){return function(r){switch(r.type){case"MOPIDY_STATE":var i=t.getState().core.tracks,u=t.getState().core.current_track;void 0!==i[u]&&i[u],n(r);break;case"SET_WINDOW_TITLE":if(r.play_state?r.play_state:t.getState().mopidy.play_state,r.title)var c=r.title;else c=t.getState().ui.window_title;document.title=" "+c,n(r);break;case"OPEN_MODAL":t.getState().ui.allow_reporting&&s.default.event({category:"Modal",action:"Opened",label:r.modal.name}),e("body").addClass("modal-open"),t.dispatch(l.hideContextMenu()),t.dispatch(l.hideTouchContextMenu()),n(r);break;case"CLOSE_MODAL":t.getState().ui.allow_reporting&&s.default.event({category:"Modal",action:"Closed",label:null}),e("body").removeClass("modal-open"),n(r);break;case"HIDE_CONTEXT_MENU":t.getState().ui.context_menu&&(setTimeout((function(){t.dispatch(l.removeContextMenu())}),200),n(r));break;case"HIDE_TOUCH_CONTEXT_MENU":t.getState().ui.context_menu&&(setTimeout((function(){t.dispatch(l.removeTouchContextMenu())}),200),n(r));break;case"BROWSER_NOTIFICATION":if(void 0===(p=window.Notification||window.mozNotification||window.webkitNotification))return!1;void 0!==p&&p.requestPermission((function(e){}));var d={};o(r.data)&&(d=r.data),o(d.data)&&(d=a({},d,d.data)),c="";var f={body:"",dir:"auto",lang:"EN",tag:"iris"};d.title&&(c=d.title),d.body&&(f.body=d.body),d.icon&&(f.icon=d.icon);var p=new p(c,f);break;case"CREATE_NOTIFICATION":r.notification.sticky||setTimeout((function(){t.dispatch(l.closeNotification(r.notification.key))}),1e3*r.notification.duration),n(r);break;case"CLOSE_NOTIFICATION":var m=a({},t.getState().ui.notifications);setTimeout((function(){t.dispatch(l.removeNotification(r.key))}),200),n(r);break;case"REMOVE_NOTIFICATION":r.manual&&(m=a({},t.getState().ui.notifications))[r.key]&&"broadcast"==m[r.key].type&&t.dispatch({type:"SUPPRESS_BROADCAST",key:r.key}),n(r);break;case"BROADCASTS_LOADED":var h=[];void 0!==t.getState().ui.suppressed_broadcasts&&(h=t.getState().ui.suppressed_broadcasts);for(var _=0;_<r.broadcasts.length;_++){var y=r.broadcasts[_];!h.includes(y.key)&&y.message&&(d={key:y.key?y.key:null,title:y.title?y.title:null,content:y.message?y.message:null,links:y.links?y.links:null,type:"broadcast",sticky:!0},t.dispatch(l.createNotification(d)))}n(r);break;case"START_PROCESS":t.dispatch({type:r.key,data:r.data}),t.dispatch({type:r.key+"_STARTED"}),n(r);break;case"RESUME_PROCESS":t.dispatch({type:r.key,data:t.getState().ui.processes[r.key].data}),n(r);break;case"PROCESS_CANCELLED":t.dispatch({type:r.key+"_CANCELLED"}),n(r);break;case"PROCESS_FINISHED":t.dispatch({type:r.key+"_FINISHED"}),r.completionMessage?(t.dispatch(l.updateProcess(r.key,r.completionMessage.content,{},r.completionMessage.description,r.completionMessage.level)),r.completionMessage.sticky||setTimeout((function(){t.dispatch(l.closeProcess(r.key))}),5e3)):t.dispatch(l.closeProcess(r.key)),n(r);break;case"CLOSE_PROCESS":setTimeout((function(){t.dispatch(l.removeProcess(r.key))}),200),n(r);break;default:return n(r)}}}};t.default=u}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(28),i=(r=o)&&r.__esModule?r:{default:r},s=n(4);var l=n(8),u=n(1),c=n(13),d=n(15),f=n(32),p=n(7),m=function(){var e=this,t=null,n=null,r=[],o=function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(o,i){var l=(0,s.generateGuid)(),c={jsonrpc:"2.0",id:l,method:n};a&&(c.params=a),e.getState().ui.log_pusher&&console.log("Pusher log (outgoing)",c),t.send(JSON.stringify(c)),e.dispatch(u.startLoading(l,"pusher_"+n)),setTimeout((function(){e.dispatch(u.stopLoading(l)),i({id:l,code:32300,message:"Request timed out"})}),3e4),r[l]={resolve:o,reject:i}}))};return function(m){return function(h){return function(_){var y=m.getState().pusher;switch(_.type){case"PUSHER_CONNECT":null!=t&&t.close(),clearTimeout(n),m.dispatch({type:"PUSHER_CONNECTING"}),(t=new WebSocket("ws"+("https:"===window.location.protocol?"s":"")+"://"+m.getState().mopidy.host+":"+m.getState().mopidy.port+"/iris/ws/")).onopen=function(){m.dispatch({type:"PUSHER_CONNECTED"})},t.onclose=function(e){m.dispatch({type:"PUSHER_DISCONNECTED"}),n=setTimeout((function(){m.dispatch(c.connect())}),5e3)},t.onerror=function(e){1==t.readyState&&m.dispatch(l.handleException("Pusher websocket error",e,e.type))},t.onmessage=function(e){!function(e,t,n){t.getState().ui.log_pusher&&console.log("Pusher log (incoming)",n);var a=null;if(n.id?a=n.id:n.error&&n.error.id&&(a=n.error.id),a)void 0!==r[a]?(t.dispatch(u.stopLoading(a)),void 0!==n.error?r[a].reject(n.error):r[a].resolve(n.result)):t.dispatch(l.handleException("Pusher: Response received with no matching request",n));else if(void 0!==n.error)t.dispatch(l.handleException("Pusher: "+n.error.message,n,void 0!==n.error.data&&void 0!==n.error.data.description?n.error.data.description:null));else{var o=n.params?n.params:{};switch(n.method){case"connection_added":t.dispatch(c.connectionAdded(o.connection));break;case"connection_changed":t.dispatch(c.connectionChanged(o.connection));break;case"connection_removed":t.dispatch(c.connectionRemoved(o.connection));break;case"queue_metadata_changed":t.dispatch(c.queueMetadataChanged(o.queue_metadata));break;case"spotify_token_changed":t.dispatch(p.tokenChanged(o.spotify_token));break;case"share_configuration_received":t.dispatch(u.createNotification({type:"share-configuration-received",configuration:o,sticky:!0}));break;case"notification":t.dispatch(u.createNotification(o.notification));break;case"radio_started":t.dispatch(c.radioStarted(o.radio));break;case"radio_changed":t.dispatch(c.radioChanged(o.radio));break;case"radio_stopped":t.dispatch(c.radioStopped());break;case"commands_changed":t.dispatch(c.commandsUpdated(o.commands));break;case"reload":window.location.reload(!0);break;case"local_scan_started":t.dispatch(u.updateProcess("local_scan","Scanning local library"));break;case"local_scan_updated":t.dispatch(u.updateProcess("local_scan","Scanning local library",{},o.output));break;case"local_scan_finished":t.dispatch(u.processFinished("local_scan",{content:"Local scan finished",description:o.output,sticky:!0}));break;case"local_scan_error":t.dispatch(u.processFinished("local_scan",{level:"error",content:"Local scan failed",description:o.error,sticky:!0}));break;case"upgrade_started":t.dispatch(u.updateProcess("upgrade","Upgrading"));break;case"upgrade_updated":t.dispatch(u.updateProcess("upgrade","Upgrading",{},o.output));break;case"upgrade_finished":t.dispatch(u.updateProcess("upgrade","Restarting to complete upgrade"));break;case"upgrade_error":t.dispatch(u.processFinished("upgrade",{level:"error",content:"Upgrade failed",description:o.error,sticky:!0}));break;case"restart_started":t.dispatch(u.removeProcess("upgrade","Restarting"));break;case"restart_updated":t.dispatch(u.updateProcess("upgrade","Restarting",{},o.output));break;case"restart_error":t.dispatch(u.processFinished("upgrade",{level:"error",content:"Restart failed",description:o.error,sticky:!0}));break;case"test_started":t.dispatch(u.updateProcess("test","Running test",{},o.output));break;case"test_updated":t.dispatch(u.updateProcess("test","Running test"));break;case"test_finished":t.dispatch(u.processFinished("test",{content:"Test finished",description:o.output,sticky:!0}));break;case"test_error":t.dispatch(u.removeProcess("test",{level:"error",content:o.message,description:o.error}))}}}(0,m,JSON.parse(e.data))};break;case"PUSHER_CONNECTED":m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Connected",label:_.username}),clearTimeout(n),m.dispatch(c.updateConnection()),m.dispatch(c.getConfig()),m.dispatch(c.getRadio()),m.dispatch(c.getCommands()),m.dispatch(c.getQueueMetadata()),setTimeout((function(){m.dispatch(c.getVersion())}),500),h(_);break;case"PUSHER_REQUEST":o(m,_.method,_.params).then((function(t){_.response_callback&&_.response_callback.call(e,t)}),(function(t){_.error_callback?_.error_callback.call(e,t):m.dispatch(l.handleException("Pusher request failed",t,_.method,_))}));break;case"PUSHER_DELIVER_MESSAGE":o(m,"send_message",_.data).then((function(e){m.dispatch(u.createNotification({level:"warning",content:"Message delivered"}))}),(function(e){m.dispatch(l.handleException("Could not deliver message",e))}));break;case"PUSHER_DELIVER_BROADCAST":o(m,"broadcast",_.data);break;case"PUSHER_SET_USERNAME":m.dispatch(c.updateConnection({username:_.username})),h(_);break;case"PUSHER_UPDATE_CONNECTION":var v=a({username:m.getState().pusher.username,client_id:m.getState().pusher.client_id},_.connection?_.connection:{});o(m,"update_connection",v).then((function(e){e.type="PUSHER_CONNECTION_UPDATED",m.dispatch(e)}),(function(e){m.dispatch(l.handleException("Could not update connection",e))})),h(_);break;case"PUSHER_GET_QUEUE_METADATA":o(m,"get_queue_metadata").then((function(e){e.type="PUSHER_QUEUE_METADATA",m.dispatch(e)}),(function(e){m.dispatch(l.handleException("Could not load queue metadata",e))}));break;case"PUSHER_ADD_QUEUE_METADATA":o(m,"add_queue_metadata",{tlids:_.tlids,added_from:_.from_uri,added_by:y.username});break;case"PUSHER_GET_VERSION":o(m,"get_version").then((function(e){m.dispatch({type:"PUSHER_VERSION",version:e.version})}),(function(e){m.dispatch(l.handleException("Could not load version",e))}));break;case"PUSHER_GET_CONFIG":o(m,"get_config").then((function(e){m.dispatch({type:"PUSHER_CONFIG",config:e.config})}),(function(e){m.dispatch(l.handleException("Could not load config",e))}));break;case"PUSHER_GET_CONNECTIONS":return o(m,"get_connections").then((function(e){m.dispatch({type:"PUSHER_CONNECTIONS",connections:e.connections})}),(function(e){m.dispatch(l.handleException("Could not load connections",e))})),h(_);case"PUSHER_GET_COMMANDS":o(m,"get_commands").then((function(e){m.dispatch(c.commandsUpdated(e.commands))}),(function(e){})),h(_);break;case"PUSHER_SET_COMMAND":var g=a({},y.commands);if(g[_.command.id])var b=a({},g[_.command.id],_.command);else b=_.command;g[_.command.id]=b,m.dispatch(c.setCommands(g));break;case"PUSHER_SET_COMMANDS":o(m,"set_commands",{commands:_.commands}).then((function(e){}),(function(e){m.dispatch(l.handleException("Could not set commands",e))})),h(_);break;case"PUSHER_REMOVE_COMMAND":var E=a({},y.commands);delete E[_.id],o(m,"set_commands",{commands:E}).then((function(e){}),(function(e){m.dispatch(l.handleException("Could not remove command",e))})),h(_);break;case"PUSHER_RUN_COMMAND":b=a({},y.commands[_.id]);var k="command_"+_.id;_.notify&&m.dispatch(u.startProcess(k,"Running command")),o(m,"run_command",{id:_.id}).then((function(e){m.dispatch(u.removeProcess(k)),_.notify&&m.dispatch(u.createNotification({key:k,level:"warning",content:"Command sent"}))}),(function(e){m.dispatch(u.removeProcess(k)),m.dispatch(l.handleException("Could not run command",e))}));break;case"PUSHER_GET_RADIO":o(m,"get_radio").then((function(e){m.dispatch({type:"PUSHER_RADIO_LOADED",radio:e.radio}),e.radio.enabled&&m.dispatch(p.resolveRadioSeeds(e.radio))}),(function(e){m.dispatch(l.handleException("Could not load radio",e))}));break;case"PUSHER_START_RADIO":case"PUSHER_UPDATE_RADIO":m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Start radio",label:_.uris.join()}),"PUSHER_UPDATE_RADIO"==_.type?m.dispatch(u.startProcess("PUSHER_RADIO_PROCESS","Updating radio")):m.dispatch(u.startProcess("PUSHER_RADIO_PROCESS","Starting radio"));for(var w={reset:"PUSHER_START_RADIO"==_.type,seed_artists:[],seed_genres:[],seed_tracks:[]},S=0;S<_.uris.length;S++)switch((0,s.uriType)(_.uris[S])){case"artist":w.seed_artists.push(_.uris[S]);break;case"track":w.seed_tracks.push(_.uris[S]);break;case"genre":w.seed_genres.push(_.uris[S])}"PUSHER_START_RADIO"==_.type&&m.dispatch(c.deliverBroadcast("notification",{notification:{level:"warning",content:y.username+" is starting radio mode"}})),o(m,"change_radio",w).then((function(e){m.dispatch(u.processFinished("PUSHER_RADIO_PROCESS")),0==e.status&&m.dispatch(u.createNotification({content:e.message,level:"error"})),m.dispatch(c.radioChanged(e.radio))}),(function(e){m.dispatch(u.processFinished("PUSHER_RADIO_PROCESS")),m.dispatch(l.handleException("Could not change radio",e))}));break;case"PUSHER_STOP_RADIO":m.dispatch(u.createNotification({content:"Stopping radio"})),m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Stop radio"}),m.dispatch(c.deliverBroadcast("notification",{notification:{level:"warning",content:y.username+" stopped radio mode"}})),o(m,"stop_radio",w={seed_artists:[],seed_genres:[],seed_tracks:[]}).then((function(e){m.dispatch(c.radioStopped())}),(function(e){m.dispatch(l.handleException("Could not stop radio",e))}));break;case"PUSHER_BROWSER_NOTIFICATION":m.dispatch(u.createBrowserNotification(_));break;case"PUSHER_NOTIFICATION":w=a({},_,{type:_.notification_type});m.dispatch(u.createNotification(w));break;case"PUSHER_RELOAD":window.location.reload(!0);break;case"PUSHER_RESTART":o(m,"restart"),h(_);break;case"PUSHER_UPGRADE":m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Upgrade",label:""}),o(m,"upgrade");break;case"PUSHER_LOCAL_SCAN":m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Local scan",label:""}),o(m,"local_scan");break;case"PUSHER_TEST":o(m,"test");break;case"PUSHER_VERSION":m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Version",label:_.version.current}),h(_);break;case"PUSHER_CONFIG":var O=m.getState().spotify,T=!1,A={};!O.country&&_.config.country&&(A.country=_.config.country,T=!0),!O.locale&&_.config.locale&&(A.locale=_.config.locale,T=!0),_.config.spotify_authorization_url&&(A.authorization_url=_.config.spotify_authorization_url,T=!0),T&&m.dispatch(p.set(A)),m.dispatch(d.set({authorization_url:_.config.lastfm_authorization_url?_.config.lastfm_authorization_url:null})),m.dispatch(f.set({authorization_url:_.config.genius_authorization_url?_.config.genius_authorization_url:null})),h(_);break;case"PUSHER_DEBUG":o(m,_.message.method,_.message.data).then((function(e){m.dispatch({type:"DEBUG",response:e})}),(function(e){m.dispatch(l.handleException("Could not debug",e,e.message))}));break;case"PUSHER_ERROR":m.dispatch(u.createNotification(_.message,"bad")),m.getState().ui.allow_reporting&&i.default.event({category:"Pusher",action:"Error",label:_.message});break;default:return h(_)}}}}}();t.default=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=c(n(28)),o=c(n(108)),i=n(56),s=n(4),l=n(12),u=n(9);function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var f=n(6),p=n(8),m=n(1),h=n(7),_=n(13),y=n(57),v=n(15),g=n(72),b=function(){var e=this,t=null,n=null,c=0,b=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t.getState().mopidy.connected)return!1;var a=n.split("."),o=a[0],i=a[1];return new Promise((function(a,l){if(i in e[o])var u=e[o][i],c=i;else u=e[o],c=o;if(!u||"function"!=typeof u){var d={message:"Call to an invalid object. Check you are calling a valid Mopidy object.",call:n,value:r};t.dispatch(p.handleException("Mopidy: "+d.message,d)),l(d)}var f=(0,s.generateGuid)();t.dispatch(m.startLoading(f,"mopidy_"+c));var h=setTimeout((function(){t.dispatch(m.stopLoading(f)),l({message:"Request timed out",call:n,value:r})}),3e4);u(r).then((function(e){clearTimeout(h),t.dispatch(m.stopLoading(f)),a(e)}),(function(e){clearTimeout(h),t.dispatch(m.stopLoading(f)),l(e)}))}))};return function(E){return function(k){return function(w){switch(w.type){case"MOPIDY_CONNECT":null!=t&&t.close(),E.dispatch({type:"MOPIDY_CONNECTING"});var S=E.getState();(t=new o.default({webSocketUrl:"ws"+("https:"===window.location.protocol?"s":"")+"://"+S.mopidy.host+":"+S.mopidy.port+"/mopidy/ws/",callingConvention:"by-position-or-by-name"})).on((function(e,t){return function(e,t,r,a){switch(t.getState().ui.log_mopidy,r){case"state:online":t.dispatch({type:"MOPIDY_CONNECTED"}),t.dispatch(f.getPlayState()),t.dispatch(f.getVolume()),t.dispatch(f.getMute()),t.dispatch(f.getConsume()),t.dispatch(f.getRandom()),t.dispatch(f.getRepeat()),t.dispatch(f.getQueue()),t.dispatch(f.getCurrentTrack()),t.dispatch(f.getTimePosition()),t.dispatch(f.getUriSchemes()),n=setInterval((function(){"playing"==t.getState().mopidy.play_state&&(c%5==0&&!0===t.getState().ui.window_focus?t.dispatch(f.getTimePosition()):t.dispatch(f.timePosition(t.getState().mopidy.time_position+1e3)),c++)}),1e3);break;case"state:offline":t.dispatch({type:"MOPIDY_DISCONNECTED"}),t.dispatch(f.clearCurrentTrack()),clearInterval(n),c=0;break;case"event:tracklistChanged":t.dispatch(f.getQueue()),setTimeout((function(){t.dispatch(f.getNextTrack())}),1e3);break;case"event:playbackStateChanged":t.dispatch({type:"MOPIDY_PLAY_STATE",play_state:a.new_state}),t.dispatch(f.getTimePosition());break;case"event:seeked":t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:a.time_position});break;case"event:trackPlaybackEnded":t.dispatch(f.clearCurrentTrack()),t.dispatch({type:"MOPIDY_TIME_POSITION",time_position:0});break;case"event:trackPlaybackStarted":t.dispatch(f.currentTrackLoaded(a.tl_track)),setTimeout((function(){t.dispatch(f.getNextTrack())}),1e3);break;case"event:volumeChanged":t.dispatch({type:"MOPIDY_VOLUME",volume:a.volume});break;case"event:muteChanged":t.dispatch({type:"MOPIDY_MUTE",mute:a.mute});break;case"event:optionsChanged":t.dispatch(f.getConsume()),t.dispatch(f.getRandom()),t.dispatch(f.getRepeat())}}(0,E,e,t)}));break;case"MOPIDY_CONNECTED":E.getState().ui.allow_reporting&&a.default.event({category:"Mopidy",action:"Connected",label:(0,i.sha256)(window.location.hostname)}),k(w);break;case"MOPIDY_DISCONNECT":null!=t&&t.close(),t=null,E.dispatch({type:"MOPIDY_DISCONNECTED"});break;case"MOPIDY_DISCONNECTED":(0,s.setFavicon)("favicon_error.png");break;case"MOPIDY_DEBUG":b(t,E,w.call,w.value).then((function(e){E.dispatch({type:"DEBUG",response:e})}));break;case"MOPIDY_SET_CONNECTION":E.dispatch(f.set(w.data)),setTimeout((function(){E.dispatch(f.connect()),E.dispatch(_.connect())}),250);break;case"SET_WINDOW_FOCUS":!0===w.window_focus&&(E.dispatch(f.getPlayState()),E.dispatch(f.getVolume()),E.dispatch(f.getMute()),E.dispatch(f.getConsume()),E.dispatch(f.getRandom()),E.dispatch(f.getRepeat()),E.dispatch(f.getCurrentTrack()),E.dispatch(f.getTimePosition()));break;case"MOPIDY_REQUEST":b(t,E,w.method,w.params).then((function(t){w.response_callback&&E.dispatch(w.response_callback.call(e,t))}),(function(t){w.error_callback?E.dispatch(w.error_callback.call(e,t)):E.dispatch(p.handleException("Mopidy request failed",t,w.method,w))}));break;case"MOPIDY_PLAY_STATE":E.dispatch(m.setWindowTitle(null,w.play_state)),"playing"==w.play_state?(0,s.setFavicon)("favicon.png"):(0,s.setFavicon)("favicon_paused.png"),k(w);break;case"MOPIDY_GET_PLAY_STATE":b(t,E,"playback.getState").then((function(e){E.dispatch({type:"MOPIDY_PLAY_STATE",play_state:e})}));break;case"MOPIDY_PLAY":b(t,E,"playback.play").then((function(e){E.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"playing"})})),E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+("paused"==E.getState().mopidy.play_state?" resumed":" started")+" playback",icon:!!E.getState().core.current_track&&(0,l.getTrackIcon)(E.getState().core.current_track,E.getState().core)}}));break;case"MOPIDY_PAUSE":b(t,E,"playback.pause").then((function(e){E.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"paused"}),E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" paused playback",icon:!!E.getState().core.current_track&&(0,l.getTrackIcon)(E.getState().core.current_track,E.getState().core)}}))}));break;case"MOPIDY_PREVIOUS":E.dispatch(m.setCurrentTrackTransition("previous")),b(t,E,"playback.previous");break;case"MOPIDY_NEXT":E.dispatch(m.setCurrentTrackTransition("next")),b(t,E,"playback.next").then((function(e){E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+' skipped "'+E.getState().core.current_track.name+'"',icon:!!E.getState().core.current_track&&(0,l.getTrackIcon)(E.getState().core.current_track,E.getState().core)}}))}));break;case"MOPIDY_STOP":b(t,E,"playback.stop").then((function(e){E.dispatch(f.clearCurrentTrack()),E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" stopped playback",icon:!!E.getState().core.current_track&&(0,l.getTrackIcon)(E.getState().core.current_track,E.getState().core)}}))}));break;case"MOPIDY_CHANGE_TRACK":b(t,E,"playback.play",{tlid:w.tlid}).then((function(e){E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" changed track"}}))}));break;case"MOPIDY_REMOVE_TRACKS":b(t,E,"tracklist.remove",{criteria:{tlid:w.tlids}}).then((function(e){E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" removed "+w.tlids.length+" tracks"}}))}));break;case"MOPIDY_GET_REPEAT":b(t,E,"tracklist.getRepeat").then((function(e){E.dispatch({type:"MOPIDY_REPEAT",repeat:e})}));break;case"MOPIDY_SET_REPEAT":b(t,E,"tracklist.setRepeat",[w.repeat]);break;case"MOPIDY_GET_RANDOM":b(t,E,"tracklist.getRandom").then((function(e){E.dispatch({type:"MOPIDY_RANDOM",random:e})}));break;case"MOPIDY_SET_RANDOM":b(t,E,"tracklist.setRandom",[w.random]);break;case"MOPIDY_GET_CONSUME":b(t,E,"tracklist.getConsume").then((function(e){E.dispatch({type:"MOPIDY_CONSUME",consume:e})}));break;case"MOPIDY_SET_CONSUME":b(t,E,"tracklist.setConsume",[w.consume]);break;case"MOPIDY_GET_MUTE":b(t,E,"mixer.getMute").then((function(e){E.dispatch({type:"MOPIDY_MUTE",mute:e})}));break;case"MOPIDY_SET_MUTE":b(t,E,"mixer.setMute",[w.mute]).then((function(e){E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+(w.mute?" muted":" unmuted")+" playback"}}))}));break;case"MOPIDY_GET_VOLUME":b(t,E,"mixer.getVolume").then((function(e){E.dispatch({type:"MOPIDY_VOLUME",volume:e})}));break;case"MOPIDY_SET_VOLUME":b(t,E,"mixer.setVolume",{volume:w.volume}).then((function(e){E.dispatch({type:"MOPIDY_VOLUME",volume:w.volume})}));break;case"MOPIDY_SET_TIME_POSITION":b(t,E,"playback.seek",{time_position:w.time_position}).then((function(e){E.dispatch({type:"MOPIDY_TIME_POSITION",time_position:w.time_position})}));break;case"MOPIDY_GET_TIME_POSITION":b(t,E,"playback.getTimePosition").then((function(e){E.dispatch({type:"MOPIDY_TIME_POSITION",time_position:e})}));break;case"MOPIDY_GET_URI_SCHEMES":b(t,E,"getUriSchemes").then((function(e){for(var t=e,n=["http","https","mms","rtmp","rtmps","rtsp","sc","yt"],r=0;r<n.length;r++){var a=t.indexOf(n[r]);a>-1&&t.splice(a,1)}for(r=0;r<t.length;r++)t[r]=t[r]+":";E.dispatch(h.set({enabled:t.includes("spotify:")})),E.dispatch(y.set({enabled:t.includes("gmusic:")})),void 0===E.getState().ui.uri_schemes_search_enabled&&E.dispatch(m.set({uri_schemes_search_enabled:t})),E.dispatch({type:"MOPIDY_URI_SCHEMES",uri_schemes:t})}));break;case"MOPIDY_PLAY_PLAYLIST":if((O=E.getState().core.playlists[w.uri])&&O.tracks_uris&&O.tracks_uris.length>0){if(O.tracks_total==O.tracks_uris.length){E.dispatch(f.playURIs(O.tracks_uris,w.uri,w.shuffle));break}if("spotify"==O.provider){E.dispatch(h.getAllPlaylistTracks(w.uri,w.shuffle,"play"));break}}else if("spotify"==(0,s.uriSource)(w.uri)&&E.getState().spotify.enabled){E.dispatch(h.getAllPlaylistTracks(w.uri,w.shuffle,"play"));break}b(t,E,"playlists.lookup",{uri:w.uri}).then((function(e){if(e&&void 0!==e.tracks&&e.tracks){var t=(0,u.arrayOf)("uri",e.tracks);w.shuffle&&(t=(0,u.shuffle)(t)),E.dispatch(f.playURIs(t,w.uri))}else E.dispatch(m.createNotification({content:"Failed to load playlist tracks",level:"error"}))}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Lookup failed"),e))}));break;case"MOPIDY_ENQUEUE_PLAYLIST":var O;if((O=E.getState().core.playlists[w.uri])&&O.tracks_uris&&O.tracks_uris.length>0){if(O.tracks_total==O.tracks_uris.length){var T=Object.assign([],O.tracks_uris);w.shuffle&&(T=(0,u.shuffle)(T)),E.dispatch(f.enqueueURIs(T,w.uri,w.play_next,w.at_position,w.offset));break}if("spotify"==O.provider){E.dispatch(h.getAllPlaylistTracks(w.uri,w.shuffle,"enqueue",w.play_next));break}}else if("spotify"==(0,s.uriSource)(w.uri)&&E.getState().spotify.enabled){E.dispatch(h.getAllPlaylistTracks(w.uri,w.shuffle,"enqueue",w.play_next));break}b(t,E,"playlists.lookup",{uri:w.uri}).then((function(e){if(void 0===e.tracks)E.dispatch(m.createNotification({content:"Failed to load playlist tracks",level:"error"}));else{var t=(0,u.arrayOf)("uri",e.tracks);w.shuffle&&(t=(0,u.shuffle)(t)),E.dispatch(f.enqueueURIs(t,w.uri,w.play_next,w.at_position,w.offset))}}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Lookup failed"),e))}));break;case"MOPIDY_ENQUEUE_URIS":if(!w.uris||w.uris.length<=0){e.props.uiActions.createNotification({content:"No URIs to enqueue",level:"warning"});break}E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" is adding "+w.uris.length+" URIs to queue",icon:!!E.getState().core.current_track&&(0,l.getTrackIcon)(E.getState().core.current_track,E.getState().core)}}));for(var A=Object.assign([],w.uris),C=[];A.length>0;)C.push({uris:A.splice(0,5),at_position:w.at_position,play_next:w.play_next,offset:w.offset+5*C.length,from_uri:w.from_uri});w.batches=C,k(w),E.dispatch(m.startProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+w.uris.length+" URI(s)",{batches:C,remaining:w.uris.length,total:w.uris.length}));break;case"MOPIDY_ENQUEUE_URIS_PROCESSOR":if((Z=E.getState().ui.processes.MOPIDY_ENQUEUE_URIS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_ENQUEUE_URIS_PROCESSOR"));if(!(w.data.batches&&w.data.batches.length>0)){E.dispatch(m.processFinished("MOPIDY_ENQUEUE_URIS_PROCESSOR"));break}for(var P=(C=Object.assign([],w.data.batches))[0],x=0,N=0;N<C.length;N++)x+=C[N].uris.length;C.shift(),E.dispatch(m.updateProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+x+" URI(s)",{remaining:x}));var R=E.getState().core.current_track,M=E.getState().core.queue,D=-1;if(R)for(N=0;N<M.length;N++)if(M[N].tlid==R.tlid){D=N;break}var L={uris:P.uris};P.play_next?L.at_position=D>-1?D+P.offset+1:0+P.offset:P.at_position&&(L.at_position=P.at_position+P.offset),b(t,E,"tracklist.add",L).then((function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n].tlid);E.dispatch(_.addQueueMetadata(t,P.from_uri)),setTimeout((function(){E.dispatch(m.runProcess(w.type,{batches:C}))}),100)}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Adding tracks failed"),e))}));break;case"MOPIDY_PLAY_URIS":var I=w.from_uri,j=Object.assign([],w.uris);if(!j||!j.length){e.props.uiActions.createNotification({content:"No URIs to play",level:"warning"});break}if(w.shuffle&&(j=(0,u.shuffle)(j)),E.getState().core.radio&&E.getState().core.radio.enabled&&E.dispatch(_.stopRadio()),E.getState().ui.clear_tracklist_on_play&&E.dispatch(f.clearTracklist()),E.getState().mopidy.random)var U=Math.floor(Math.random()*j.length);else U=0;var Y=j[U];b(t,E,"tracklist.add",{uris:[Y],at_position:0}).then((function(e){if(e.length>0){E.dispatch(f.changeTrack(e[0].tlid));for(var t=[],n=0;n<e.length;n++)t.push(e[n].tlid);E.dispatch(_.addQueueMetadata(t,I))}else E.dispatch(p.handleException("Mopidy: Failed to add some tracks",e));j.splice(U,1),j.length>0&&setTimeout((function(){E.dispatch(f.enqueueURIs(j,I,null,1))}),100)}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Adding tracks failed"),e))}));break;case"MOPIDY_REORDER_TRACKLIST":b(t,E,"tracklist.move",{start:w.range_start,end:w.range_start+w.range_length,to_position:w.insert_before}).then((function(){}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Reorder failed"),e))}));break;case"MOPIDY_CLEAR_TRACKLIST":b(t,E,"tracklist.clear").then((function(){E.dispatch(p.clearCurrentTrack()),E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" cleared the playback queue"}}))}));break;case"MOPIDY_SHUFFLE_TRACKLIST":b(t,E,"tracklist.shuffle",{start:1}).then((function(){E.dispatch(_.deliverBroadcast("notification",{notification:{content:E.getState().pusher.username+" shuffled the playback queue"}}))}));break;case"MOPIDY_GET_SEARCH_RESULTS":E.dispatch({type:"MOPIDY_CLEAR_SEARCH_RESULTS"});var F=["spotify:"],H=Object.assign([],E.getState().ui.uri_schemes_search_enabled);for(N=0;N<H.length;N++)F.includes(H[N])&&H.splice(N,1);var z=H.length,B=H.shift();z<=0?E.dispatch(m.createNotification({content:"No sources selected",level:"warning"})):E.dispatch(m.startProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+z+" Mopidy providers",{context:w.context,query:w.query,limit:w.limit,total:z,remaining:H.length,uri_scheme:B,uri_schemes:H}));break;case"MOPIDY_GET_SEARCH_RESULTS_PROCESSOR":if((Z=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));if(!w.data.uri_scheme)return void E.dispatch(m.processFinished("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));var G=Object.assign([],w.data.uri_schemes),q=G.shift();switch(E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":",""),{remaining:w.data.uri_schemes.length})),w.data.context){case"albums":if((Z=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")));var V=function(){E.dispatch(m.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:w.data.context,query:w.data.query,limit:w.data.limit,uri_scheme:q,uri_schemes:G}))};b(t,E,"library.search",{query:{album:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0){var t=[];if(e[0].albums&&(t=[].concat(d(e[0].albums),d(t))),e[0].tracks)for(var n=0;n<e[0].tracks.length;n++)void 0!==e[0].tracks[n].album&&void 0!==e[0].tracks[n].album.uri&&t.push(e[0].tracks[n].album);var r=(0,u.arrayOf)("uri",t);r=(0,u.removeDuplicates)(r),E.dispatch(p.albumsLoaded(t)),E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:w.data.context,results:r})}V()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),V()}));break;case"artists":if((Z=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")));V=function(){E.dispatch(m.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:w.data.context,query:w.data.query,limit:w.data.limit,uri_scheme:q,uri_schemes:G}))};b(t,E,"library.search",{query:{artist:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0){var t=[];if(e[0].artists)for(var n=0;n<e[0].artists.length;n++)t.push(e[0].artists.uri);if(e[0].tracks)for(n=0;n<e[0].tracks.length;n++)if(e[0].tracks[n].artists)for(var r=0;r<e[0].tracks[n].artists.length;r++){var a=e[0].tracks[n].artists[r];a.uri&&t.push(a.uri)}t=(0,u.removeDuplicates)(t);for(n=0;n<t.length;n++)E.dispatch(f.getArtist(t[n]));E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:w.data.context,results:t})}V()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),V()}));break;case"playlists":if((Z=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching playlists"));V=function(){E.dispatch(m.processFinished("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"))};b(t,E,"playlists.asList").then((function(e){if(e.length>0){for(var t=[],n=0;n<e.length;n++){var r=e[n];r.name.includes(w.data.query)&&w.data.uri_schemes.includes((0,s.uriSource)(r.uri)+":")&&t.push(r.uri)}for(n=0;n<t.length;n++)E.dispatch(f.getPlaylist(t[n]));E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:w.data.context,results:t})}V()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),V()}));break;case"tracks":if((Z=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR)&&"cancelling"==Z.status)return void E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")));V=function(){E.dispatch(m.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:w.data.context,query:w.data.query,limit:w.data.limit,uri_scheme:q,uri_schemes:G}))};b(t,E,"library.search",{query:{any:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0&&void 0!==e[0].tracks){var t=e[0].tracks;E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:w.data.context,results:(0,l.formatTracks)(t)})}V()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),V()}));break;case"all":default:var W=function(){var e=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;e&&"cancelling"==e.status?E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR")):(E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")+" albums",{remaining:w.data.uri_schemes.length+.75})),b(t,E,"library.search",{query:{album:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0){var t=[];if(e[0].albums&&(t=[].concat(d(e[0].albums),d(t))),e[0].tracks)for(var n=0;n<e[0].tracks.length;n++)void 0!==e[0].tracks[n].album&&void 0!==e[0].tracks[n].album.uri&&t.push(e[0].tracks[n].album);var r=(0,u.arrayOf)("uri",t);r=(0,u.removeDuplicates)(r),E.dispatch(p.albumsLoaded(t)),E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:"albums",results:r})}K()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),K()})))},K=function(){var e=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;e&&"cancelling"==e.status?E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR")):(E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")+" artists",{remaining:w.data.uri_schemes.length+.5})),b(t,E,"library.search",{query:{artist:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0){var t=[];if(e[0].artists)for(var n=0;n<e[0].artists.length;n++)t.push(e[0].artists.uri);if(e[0].tracks)for(n=0;n<e[0].tracks.length;n++)if(e[0].tracks[n].artists)for(var r=0;r<e[0].tracks[n].artists.length;r++){var a=e[0].tracks[n].artists[r];a.uri&&t.push(a.uri)}t=(0,u.removeDuplicates)(t);for(n=0;n<t.length;n++)E.dispatch(f.getArtist(t[n]));E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:"artists",results:t})}X()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),X()})))},X=function(){var e=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;e&&"cancelling"==e.status?E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR")):"m3u:"==w.data.uri_scheme?(E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")+" playlists",{remaining:w.data.uri_schemes.length+.25})),b(t,E,"playlists.asList").then((function(e){if(e.length>0){for(var t=[],n=0;n<e.length;n++){var r=e[n];r.name.includes(w.data.query)&&w.data.uri_schemes.includes((0,s.uriSource)(r.uri)+":")&&t.push(r.uri)}t=t;for(n=0;n<t.length;n++)E.dispatch(f.getPlaylist(t[n]));E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:"playlists",results:t})}$()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),$()}))):$()},$=function(){E.dispatch(m.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:w.data.context,query:w.data.query,limit:w.data.limit,uri_scheme:q,uri_schemes:G,remaining:w.data.uri_schemes.length}))};!function(){var e=E.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;e&&"cancelling"==e.status?E.dispatch(m.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR")):(E.dispatch(m.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+w.data.uri_scheme.replace(":","")+" tracks",{remaining:w.data.uri_schemes.length+1})),b(t,E,"library.search",{query:{any:[w.data.query]},uris:[w.data.uri_scheme]}).then((function(e){if(e.length>0&&void 0!==e[0].tracks){var t=e[0].tracks;E.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",query:w.data.query,context:"tracks",results:(0,l.formatTracks)(t)})}W()}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Search failed"),e)),W()})))}()}break;case"MOPIDY_GET_LIBRARY_PLAYLISTS":b(t,E,"playlists.asList").then((function(e){for(var n=(0,u.arrayOf)("uri",e),r=[],a=0;a<n.length;a++)"spotify"!=(0,s.uriSource)(n[a])&&r.push(n[a]);E.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED",uris:r}),E.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL"});for(a=0;a<r.length;a++)b(t,E,"playlists.lookup",{uri:r[a]}).then((function(e){var t=(0,s.uriSource)(e.uri),n={type:"playlist",name:e.name,uri:e.uri,source:t,provider:"mopidy",last_modified:e.last_modified,tracks_total:e.tracks?e.tracks.length:0};E.dispatch(p.playlistLoaded(n))}))}));break;case"MOPIDY_GET_PLAYLIST":b(t,E,"playlists.lookup",w.data).then((function(e){var t=r({},e,{uri:e.uri,type:"playlist",is_completely_loaded:!0,provider:"mopidy",tracks:e.tracks?e.tracks:[],tracks_total:e.tracks?e.tracks.length:0});t.tracks.length>0&&E.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:t.tracks,key:t.uri}),E.dispatch(p.playlistLoaded(t))}));break;case"MOPIDY_RESOLVE_PLAYLIST_TRACKS":var Q=Object.assign([],w.tracks);A=(0,u.arrayOf)("uri",Q);b(t,E,"library.lookup",{uris:A}).then((function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t][0];if(n)for(var r=Q.filter((function(e){return n.uri==e.uri})),a=0;a<r.length;a++){var o=Q.indexOf(r[a]);Q[o]=n}}E.dispatch({type:"PLAYLIST_TRACKS",tracks:Q,key:w.key})}));break;case"MOPIDY_ADD_PLAYLIST_TRACKS":b(t,E,"playlists.lookup",{uri:w.key}).then((function(e){for(var n=[],a=0;a<w.tracks_uris.length;a++)n.push({__model__:"Track",uri:w.tracks_uris[a]});var o=r({},e);o.tracks?o.tracks=[].concat(d(o.tracks),n):o.tracks=n,b(t,E,"playlists.save",{playlist:o}).then((function(e){E.dispatch({type:"PLAYLIST_TRACKS_ADDED",key:w.key,tracks_uris:w.tracks_uris})}))}));break;case"MOPIDY_REMOVE_PLAYLIST_TRACKS":var J=Object.assign([],w.tracks_indexes);J.sort((function(e,t){return t-e})),b(t,E,"playlists.lookup",{uri:w.key}).then((function(e){for(var n=r({},e),a=0;a<J.length;a++)n.tracks.splice(J[a],1);b(t,E,"playlists.save",{playlist:n}).then((function(e){E.dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:w.key,tracks_indexes:w.tracks_indexes})}))}));break;case"MOPIDY_SAVE_PLAYLIST":b(t,E,"playlists.lookup",{uri:w.key}).then((function(e){var n=r({},e,{name:w.name});b(t,E,"playlists.save",{playlist:n}).then((function(e){var t=r({},E.getState().core.playlists[w.key],{uri:e.uri,name:e.name});w.key!==t.uri&&E.dispatch(p.removeFromIndex("playlists",w.key,t.uri)),E.dispatch(p.playlistLoaded(t)),E.dispatch(m.createNotification({level:"warning",content:"Playlist saved"}))}))}));break;case"MOPIDY_REORDER_PLAYLIST_TRACKS":b(t,E,"playlists.lookup",{uri:w.key}).then((function(e){var n=r({},e),a=Object.assign([],n.tracks),o=[],i=w.range_start,s=w.range_length,l=w.insert_before;l>i&&(l-=s);for(var u=0;u<s;u++)o.unshift(a[i+u]);a.splice(i,s);for(u=0;u<o.length;u++)a.splice(l,0,o[u]);n=r({},n,{tracks:a}),b(t,E,"playlists.save",{playlist:n}).then((function(e){E.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:n.tracks,key:n.uri})}))}));break;case"MOPIDY_CREATE_PLAYLIST":b(t,E,"playlists.create",{name:w.name,uri_scheme:w.scheme}).then((function(e){E.dispatch(m.createNotification({level:"warning",content:"Created playlist"})),E.dispatch(p.playlistLoaded(e)),E.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_CREATED",key:e.uri})}));break;case"MOPIDY_DELETE_PLAYLIST":b(t,E,"playlists.delete",{uri:w.uri}).then((function(e){E.dispatch(m.createNotification({content:"Deleted playlist"})),E.dispatch(p.removeFromIndex("playlists",w.uri)),E.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_DELETED",key:w.uri})}));break;case"MOPIDY_GET_LIBRARY_ALBUMS":var Z;(Z=E.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR)?"cancelled"==Z.status?E.dispatch(m.resumeProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")):Z.status:b(t,E,"library.browse",{uri:E.getState().mopidy.library_albums_uri}).then((function(e){if(!(e.length<=0)){var t=(0,u.arrayOf)("uri",e);E.dispatch({type:"MOPIDY_LIBRARY_ALBUMS_LOADED",uris:t}),E.dispatch(m.startProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+t.length+" local albums",{uris:t,total:t.length,remaining:t.length}))}}));break;case"MOPIDY_LIBRARY_ALBUMS_PROCESSOR":if(void 0!==E.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR)if("cancelling"==E.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status)return E.dispatch(m.processCancelled("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")),!1;var ee=(A=Object.assign([],w.data.uris)).splice(0,50);ee.length>0?(E.dispatch(m.updateProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+A.length+" local albums",{uris:A,remaining:A.length})),E.dispatch(f.getAlbums(ee,{name:"MOPIDY_LIBRARY_ALBUMS_PROCESSOR",data:{uris:A}}))):E.dispatch(m.processFinished("MOPIDY_LIBRARY_ALBUMS_PROCESSOR"));break;case"MOPIDY_GET_ALBUMS":b(t,E,"library.lookup",{uris:w.uris}).then((function(e){var t=[],n=[],a=[];for(var o in e)if(e.hasOwnProperty(o)&&e[o].length>0&&e[o][0].album){var i=e[o],s=[];if(i[0].artists){var l=!0,u=!1,c=void 0;try{for(var d,f=e[o][0].artists[Symbol.iterator]();!(l=(d=f.next()).done);l=!0){var h=d.value;s.push(h.uri),n.push(h)}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}var _=[],y=!0,v=!1,g=void 0;try{for(var b,k=i[Symbol.iterator]();!(y=(b=k.next()).done);y=!0){var S=b.value;_.push(S.uri),a.push(S)}}catch(e){v=!0,g=e}finally{try{!y&&k.return&&k.return()}finally{if(v)throw g}}var O=r({source:"local",artists_uris:s,tracks_uris:_,tracks_total:_.length,last_modified:i[0].last_modified},i[0].album);t.push(O)}E.dispatch(p.albumsLoaded(t)),E.dispatch(p.artistsLoaded(n)),E.dispatch(p.tracksLoaded(a)),w.processor&&setTimeout((function(){E.dispatch(m.runProcess(w.processor.name,w.processor.data))}),10)}));break;case"MOPIDY_GET_ALBUM":b(t,E,"library.lookup",{uris:[w.uri]}).then((function(e){if(e){var n=e[w.uri];if(n&&n.length){var a=[];if(n[0].artists){var o=!0,i=!1,s=void 0;try{for(var l,c=n[0].artists[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var d=l.value;a.push(d)}}catch(e){i=!0,s=e}finally{try{!o&&c.return&&c.return()}finally{if(i)throw s}}}var m=r({},n[0].album,{source:"local",artists_uris:(0,u.arrayOf)("uri",a),tracks_uris:(0,u.arrayOf)("uri",n),tracks_total:n.length});E.dispatch(p.albumLoaded(m)),E.dispatch(p.artistsLoaded(a)),n[0].album.images||E.dispatch(f.getImages("albums",[m.uri])),b(t,E,"library.lookup",{uris:m.tracks_uris}).then((function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n][0]);E.dispatch(p.tracksLoaded(t))}))}}}));break;case"MOPIDY_GET_LIBRARY_ARTISTS":var te=E.getState().mopidy.library_artists_uri;b(t,E,"library.browse",{uri:te}).then((function(e){if(!(e.length<=0)){for(var t=[],n=0;n<e.length;n++)e[n].uri=e[n].uri.replace("local:directory?albumartist=",""),t.push(e[n].uri);E.dispatch(p.artistsLoaded(e)),E.dispatch({type:"MOPIDY_LIBRARY_ARTISTS_LOADED",uris:t})}}));break;case"MOPIDY_GET_ARTIST":b(t,E,"library.lookup",{uris:[w.uri]}).then((function(e){if(e){var t=e[w.uri];if(t&&t.length){for(var n=[],a=0;a<t.length;a++)if(t[a].album){var o=r({},t[a].album,{uri:t[a].album.uri});if(o){n.find((function(e){return o.uri==e.uri}))||n.push(o)}}n&&E.dispatch(p.albumsLoaded(n));var i={uri:w.uri,provider:"mopidy"},s=!0,l=!1,c=void 0;try{for(var d,f=t[0].artists[Symbol.iterator]();!(s=(d=f.next()).done);s=!0){var m=d.value;m.uri===i.uri&&(i=r({},m))}}catch(e){l=!0,c=e}finally{try{!s&&f.return&&f.return()}finally{if(l)throw c}}i.albums_uris=(0,u.arrayOf)("uri",n),i.tracks=t,E.dispatch(p.artistLoaded(i));var _=E.getState().core.artists[i.uri];_&&(_.images||(E.getState().spotify.enabled?E.dispatch(h.getArtistImages(i)):E.dispatch(g.getArtistImages(i.uri,i))),_.biography||(i.musicbrainz_id?E.dispatch(v.getArtist(i.uri,!1,i.musicbrainz_id)):E.dispatch(v.getArtist(i.uri,i.name))))}}}));break;case"MOPIDY_GET_ARTISTS":b(t,E,"library.lookup",{uris:w.uris}).then((function(e){if(!(e.length<=0)){var t=[];for(var n in e)if(e.hasOwnProperty(n)&&e[n].length>0&&e[n][0].artists){var a=r({},e?e[n][0].artists[0]:{},{provider:"mopidy"});t.push(a)}E.dispatch(p.artistsLoaded(t)),w.processor&&setTimeout((function(){E.dispatch(m.runProcess(w.processor.name,w.processor.data))}),100)}}));break;case"MOPIDY_GET_QUEUE":b(t,E,"tracklist.getTlTracks").then((function(e){E.dispatch({type:"QUEUE_LOADED",tracks:e})}));break;case"MOPIDY_GET_QUEUE_HISTORY":b(t,E,"history.getHistory").then((function(e){E.dispatch({type:"MOPIDY_QUEUE_HISTORY",tracks:e})}));break;case"MOPIDY_GET_CURRENT_TRACK":b(t,E,"playback.getCurrentTlTrack").then((function(e){e&&e.track&&E.dispatch(f.currentTrackLoaded(e))}));break;case"MOPIDY_CURRENT_TRACK_LOADED":E.dispatch(m.setCurrentTrackTransition(!1));var ne=(0,l.formatTrack)(w.tl_track);ne.uri&&(E.dispatch({type:"CURRENT_TRACK_LOADED",track:ne,uri:ne.uri}),void 0!==E.getState().core.tracks[ne.uri]&&void 0!==E.getState().core.tracks[ne.uri].images||(E.getState().spotify.enabled&&"spotify"==(0,s.uriSource)(ne.uri)?E.dispatch(h.getTrack(ne.uri)):E.dispatch(f.getImages("tracks",[ne.uri]))));break;case"MOPIDY_GET_NEXT_TRACK":b(t,E,"tracklist.getNextTlid").then((function(e){if(e&&e>=0){var t=(0,u.applyFilter)("tlid",e,E.getState().core.queue,!0);t&&t.uri&&(E.dispatch({type:"NEXT_TRACK_LOADED",uri:t.uri}),void 0!==E.getState().core.tracks[t.uri]&&void 0!==E.getState().core.tracks[t.uri].images||(E.getState().spotify.enabled&&"spotify"==(0,s.uriSource)(t.uri)?E.dispatch(h.getTrack(t.uri)):E.dispatch(f.getImages("tracks",[t.uri]))))}}));break;case"MOPIDY_GET_TRACK":b(t,E,"library.lookup",{uris:[w.uri]}).then((function(e){if(e){var t=e[w.uri];if(t&&t.length){var n=r({},t[0]);E.dispatch(p.trackLoaded(n)),E.dispatch(f.getImages("tracks",[n.uri]))}}}),(function(e){E.dispatch(p.handleException("Mopidy: "+(e.message?e.message:"Could not get track"),e))}));break;case"MOPIDY_GET_IMAGES":w.uris&&b(t,E,"library.getImages",{uris:w.uris}).then((function(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];r.length?(r=(0,l.formatImages)((0,l.digestMopidyImages)(E.getState().mopidy,r)),t.push({uri:n,images:r})):E.dispatch(v.getImages(w.context,n))}var a={type:(w.context+"_LOADED").toUpperCase()};a[w.context]=t,E.dispatch(a)})),k(w);break;case"MOPIDY_GET_DIRECTORY":E.dispatch({type:"MOPIDY_DIRECTORY_FLUSH"}),b(t,E,"library.browse",{uri:w.uri}).then((function(e){var n=[],a=[],o=!0,i=!1,s=void 0;try{for(var c,d=e[Symbol.iterator]();!(o=(c=d.next()).done);o=!0){var f=c.value;"track"===f.type?n.push(f.uri):a.push(f)}}catch(e){i=!0,s=e}finally{try{!o&&d.return&&d.return()}finally{if(i)throw s}}a.length>0&&b(t,E,"library.getImages",{uris:(0,u.arrayOf)("uri",a)}).then((function(e){var t=a.map((function(t){var n=e[t.uri]||void 0;return n&&(n=(0,l.formatImages)((0,l.digestMopidyImages)(E.getState().mopidy,n))),r({},t,{images:n})}));E.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{subdirectories:t}})})),n.length>0?b(t,E,"library.lookup",{uris:n}).then((function(e){if(!(e.length<=0)){var t=[];for(var n in e)e.hasOwnProperty(n)&&e[n].length>0&&t.push((0,l.formatTrack)(e[n][0]));E.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{tracks:t,subdirectories:a}})}})):E.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{tracks:Q,subdirectories:a}})}));break;case"MOPIDY_DIRECTORY":E.getState().ui.allow_reporting&&w.data&&a.default.event({category:"Directory",action:"Load",label:w.data.uri}),k(w);break;default:return k(w)}}}}}();t.default=b},function(e,t,n){var r,a=n(109),o=n(110),i=n(111);function s(e){if(!(this instanceof s))return new s(e);this._console=this._getConsole(e||{}),this._settings=this._configure(e||{}),this._backoffDelay=this._settings.backoffDelayMin,this._pendingRequests={},this._webSocket=null,a.createEventEmitter(this),this._delegateEvents(),this._settings.autoConnect&&this.connect()}s.ConnectionError=function(e){this.name="ConnectionError",this.message=e},s.ConnectionError.prototype=Object.create(Error.prototype),s.ConnectionError.prototype.constructor=s.ConnectionError,s.ServerError=function(e){this.name="ServerError",this.message=e},s.ServerError.prototype=Object.create(Error.prototype),s.ServerError.prototype.constructor=s.ServerError,s.WebSocket=o.Client,s.when=i,s.prototype._getConsole=function(e){if(void 0!==e.console)return e.console;var t="undefined"!=typeof console&&console||{};return t.log=t.log||function(){},t.warn=t.warn||function(){},t.error=t.error||function(){},t},s.prototype._configure=function(e){var t="undefined"!=typeof document&&"https:"===document.location.protocol?"wss://":"ws://",n="undefined"!=typeof document&&document.location.host||"localhost";return e.webSocketUrl=e.webSocketUrl||t+n+"/mopidy/ws",!1!==e.autoConnect&&(e.autoConnect=!0),e.backoffDelayMin=e.backoffDelayMin||1e3,e.backoffDelayMax=e.backoffDelayMax||64e3,void 0===e.callingConvention&&this._console.warn("Mopidy.js is using the default calling convention. The default will change in the future. You should explicitly specify which calling convention you use."),e.callingConvention=e.callingConvention||"by-position-only",e},s.prototype._delegateEvents=function(){this.off("websocket:close"),this.off("websocket:error"),this.off("websocket:incomingMessage"),this.off("websocket:open"),this.off("state:offline"),this.on("websocket:close",this._cleanup),this.on("websocket:error",this._handleWebSocketError),this.on("websocket:incomingMessage",this._handleMessage),this.on("websocket:open",this._resetBackoffDelay),this.on("websocket:open",this._getApiSpec),this.on("state:offline",this._reconnect)},s.prototype.connect=function(){if(this._webSocket){if(this._webSocket.readyState===s.WebSocket.OPEN)return;this._webSocket.close()}this._webSocket=this._settings.webSocket||new s.WebSocket(this._settings.webSocketUrl),this._webSocket.onclose=function(e){this.emit("websocket:close",e)}.bind(this),this._webSocket.onerror=function(e){this.emit("websocket:error",e)}.bind(this),this._webSocket.onopen=function(){this.emit("websocket:open")}.bind(this),this._webSocket.onmessage=function(e){this.emit("websocket:incomingMessage",e)}.bind(this)},s.prototype._cleanup=function(e){Object.keys(this._pendingRequests).forEach(function(t){var n=this._pendingRequests[t];delete this._pendingRequests[t];var r=new s.ConnectionError("WebSocket closed");r.closeEvent=e,n.reject(r)}.bind(this)),this.emit("state:offline")},s.prototype._reconnect=function(){this.emit("reconnectionPending",{timeToAttempt:this._backoffDelay}),setTimeout(function(){this.emit("reconnecting"),this.connect()}.bind(this),this._backoffDelay),this._backoffDelay=2*this._backoffDelay,this._backoffDelay>this._settings.backoffDelayMax&&(this._backoffDelay=this._settings.backoffDelayMax)},s.prototype._resetBackoffDelay=function(){this._backoffDelay=this._settings.backoffDelayMin},s.prototype.close=function(){this.off("state:offline",this._reconnect),this._webSocket.close()},s.prototype._handleWebSocketError=function(e){this._console.warn("WebSocket error:",e.stack||e)},s.prototype._send=function(e){switch(this._webSocket.readyState){case s.WebSocket.CONNECTING:return i.reject(new s.ConnectionError("WebSocket is still connecting"));case s.WebSocket.CLOSING:return i.reject(new s.ConnectionError("WebSocket is closing"));case s.WebSocket.CLOSED:return i.reject(new s.ConnectionError("WebSocket is closed"));default:var t=i.defer();return e.jsonrpc="2.0",e.id=this._nextRequestId(),this._pendingRequests[e.id]=t.resolver,this._webSocket.send(JSON.stringify(e)),this.emit("websocket:outgoingMessage",e),t.promise}},s.prototype._nextRequestId=(r=-1,function(){return r+=1}),s.prototype._handleMessage=function(e){try{var t=JSON.parse(e.data);t.hasOwnProperty("id")?this._handleResponse(t):t.hasOwnProperty("event")?this._handleEvent(t):this._console.warn("Unknown message type received. Message was: "+e.data)}catch(t){if(!(t instanceof SyntaxError))throw t;this._console.warn("WebSocket message parsing failed. Message was: "+e.data)}},s.prototype._handleResponse=function(e){if(this._pendingRequests.hasOwnProperty(e.id)){var t,n=this._pendingRequests[e.id];delete this._pendingRequests[e.id],e.hasOwnProperty("result")?n.resolve(e.result):e.hasOwnProperty("error")?((t=new s.ServerError(e.error.message)).code=e.error.code,t.data=e.error.data,n.reject(t),this._console.warn("Server returned error:",e.error)):((t=new Error("Response without 'result' or 'error' received")).data={response:e},n.reject(t),this._console.warn("Response without 'result' or 'error' received. Message was:",e))}else this._console.warn("Unexpected response received. Message was:",e)},s.prototype._handleEvent=function(e){var t=e.event,n=e;delete n.event,this.emit("event:"+this._snakeToCamel(t),n)},s.prototype._getApiSpec=function(){return this._send({method:"core.describe"}).then(this._createApi.bind(this)).catch(this._handleWebSocketError)},s.prototype._createApi=function(e){var t="by-position-or-by-name"===this._settings.callingConvention,n=function(e){return function(){var n={method:e};return 0===arguments.length?this._send(n):t?arguments.length>1?i.reject(new Error("Expected zero arguments, a single array, or a single object.")):Array.isArray(arguments[0])||arguments[0]===Object(arguments[0])?(n.params=arguments[0],this._send(n)):i.reject(new TypeError("Expected an array or an object.")):(n.params=Array.prototype.slice.call(arguments),this._send(n))}.bind(this)}.bind(this),r=function(e){var t=this;return e.forEach(function(e){e=this._snakeToCamel(e),t[e]=t[e]||{},t=t[e]}.bind(this)),t}.bind(this),a=function(t){var a,o=((a=t.split(".")).length>=1&&"core"===a[0]&&(a=a.slice(1)),a),i=this._snakeToCamel(o.slice(-1)[0]),s=r(o.slice(0,-1));s[i]=n(t),s[i].description=e[t].description,s[i].params=e[t].params}.bind(this);Object.keys(e).forEach(a),this.emit("state:online")},s.prototype._snakeToCamel=function(e){return e.replace(/(_[a-z])/g,(function(e){return e.toUpperCase().replace("_","")}))},e.exports=s},function(e,t,n){var r,a;(function(o){void 0===(a="function"==typeof(r=o)?r.call(t,n,t,e):r)||(e.exports=a)}||function(t){e.exports=t()}||function(e){this.bane=e()})((function(){"use strict";var e=Array.prototype.slice;function t(e){if("function"!=typeof e)throw new TypeError("Listener is not function");return e}function n(e){return e.supervisors||(e.supervisors=[]),e.supervisors}function r(e,t){return e.listeners||(e.listeners={}),t&&!e.listeners[t]&&(e.listeners[t]=[]),t?e.listeners[t]:e.listeners}function a(e){return e.errbacks||(e.errbacks=[]),e.errbacks}function o(o){function i(e,t,n){try{t.listener.apply(t.thisp||o,n)}catch(t){!function(e,t,n){var r,a=n.length;if(a>0)for(r=0;r<a;++r)n[r](e,t);else setTimeout((function(){throw t.message=e+" listener threw error: "+t.message,t}),0)}(e,t,a(o))}}return(o=o||{}).on=function(e,a,o){if("function"==typeof e)return n(this).push({listener:e,thisp:a});r(this,e).push({listener:t(a),thisp:o})},o.off=function(e,t){var o,i,s,l;if(e)if("function"==typeof e?(o=n(this),t=e):o=r(this,e),t){for(s=0,l=o.length;s<l;++s)if(o[s].listener===t)return void o.splice(s,1)}else o.splice(0,o.length);else{for(s in(o=n(this)).splice(0,o.length),i=r(this))i.hasOwnProperty(s)&&(o=r(this,s)).splice(0,o.length);(o=a(this)).splice(0,o.length)}},o.once=function(e,t,n){var r=function(){o.off(e,r),t.apply(this,arguments)};o.on(e,r,n)},o.bind=function(e,t){var n,r,a;if(t)for(r=0,a=t.length;r<a;++r){if("function"!=typeof e[t[r]])throw new Error("No such method "+t[r]);this.on(t[r],e[t[r]],e)}else for(n in e)"function"==typeof e[n]&&this.on(n,e[n],e);return e},o.emit=function(t){var a,o,s=n(this),l=e.call(arguments);for(a=0,o=s.length;a<o;++a)i(t,s[a],l);for(s=r(this,t).slice(),l=e.call(arguments,1),a=0,o=s.length;a<o;++a)i(t,s[a],l)},o.errback=function(e){this.errbacks||(this.errbacks=[]),this.errbacks.push(t(e))},o}return{createEventEmitter:o,aggregate:function(e){var t=o();return e.forEach((function(e){e.on((function(e,n){t.emit(e,n)}))})),t}}}))},function(e,t){e.exports={Client:window.WebSocket}},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){var t=n(112),r=n(114),a=n(115),o=n(116),i=n(117),s=n(118),l=n(119),u=n(120),c=n(121),d=n(69),f=[r,a,o,s,l,i,u,t,c].reduce((function(e,t){return t(e)}),n(123)),p=n(71)(f);function m(e,t,n,r){var a=f.resolve(e);return arguments.length<2?a:a.then(t,n,r)}function h(e){return function(){for(var t=0,n=arguments.length,r=new Array(n);t<n;++t)r[t]=arguments[t];return p(e,this,r)}}function _(e){for(var t=0,n=arguments.length-1,r=new Array(n);t<n;++t)r[t]=arguments[t+1];return p(e,this,r)}function y(){var e=f._defer();function t(t){e._handler.resolve(t)}function n(t){e._handler.reject(t)}function r(t){e._handler.notify(t)}this.promise=e,this.resolve=t,this.reject=n,this.notify=r,this.resolver={resolve:t,reject:n,notify:r}}return m.promise=function(e){return new f(e)},m.resolve=f.resolve,m.reject=f.reject,m.lift=h,m.try=_,m.attempt=_,m.iterate=f.iterate,m.unfold=f.unfold,m.join=function(){return f.all(arguments)},m.all=function(e){return m(e,f.all)},m.settle=function(e){return m(e,f.settle)},m.any=h(f.any),m.some=h(f.some),m.race=h(f.race),m.map=function(e,t){return m(e,(function(e){return f.map(e,t)}))},m.filter=function(e,t){return m(e,(function(e){return f.filter(e,t)}))},m.reduce=h(f.reduce),m.reduceRight=h(f.reduceRight),m.isPromiseLike=function(e){return e&&"function"==typeof e.then},m.Promise=f,m.defer=function(){return new y},m.TimeoutError=d,m}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){var t=n(54),r=n(69);function a(e,n,r,a){return t.setTimer((function(){e(r,a,n)}),n)}return function(e){function n(e,t,n){a(o,e,t,n)}function o(e,t){t.resolve(e)}function i(e,t,n){var a=void 0===e?new r("timed out after "+n+"ms"):e;t.reject(a)}return(e.prototype.delay=function(e){var t=this._beget();return this._handler.fold(n,e,void 0,t._handler),t},e.prototype.timeout=function(e,n){var r=this._beget(),o=r._handler,s=a(i,e,n,r._handler);return this._handler.visit(o,(function(e){t.clearTimer(s),this.resolve(e)}),(function(e){t.clearTimer(s),this.reject(e)}),o.notify),r},e)}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t){},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){var t=n(70),r=n(71);return function(e){var n=r(e),a=e.resolve,o=e.all,i=Array.prototype.reduce,s=Array.prototype.reduceRight,l=Array.prototype.slice;return e.any=function(t){for(var n,r,a=e._defer(),o=a._handler,i=t.length>>>0,s=i,l=[],u=0;u<i;++u)if(void 0!==(r=t[u])||u in t){if((n=e._handler(r)).state()>0){o.become(n),e._visitRemaining(t,u,n);break}n.visit(o,c,d)}else--s;0===s&&o.reject(new RangeError("any(): array must not be empty"));return a;function c(e){l=null,this.resolve(e)}function d(e){this.resolved||(l.push(e),0==--s&&this.reject(l))}},e.some=function(t,n){var r,a,o,i=e._defer(),s=i._handler,l=[],u=[],c=t.length>>>0,d=0;for(o=0;o<c;++o)(void 0!==(a=t[o])||o in t)&&++d;n=Math.max(n,0),r=d-n+1,d=Math.min(n,d),n>d?s.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+d)):0===d&&s.resolve(l);for(o=0;o<c;++o)(void 0!==(a=t[o])||o in t)&&e._handler(a).visit(s,f,p,s.notify);return i;function f(e){this.resolved||(l.push(e),0==--d&&(u=null,this.resolve(l)))}function p(e){this.resolved||(u.push(e),0==--r&&(l=null,this.reject(u)))}},e.settle=function(e){return o(e.map(u))},e.map=function(t,n){return e._traverse(n,t)},e.filter=function(t,n){var r=l.call(t);return e._traverse(n,r).then((function(t){return function(t,n){for(var r=n.length,a=new Array(r),o=0,i=0;o<r;++o)n[o]&&(a[i++]=e._handler(t[o]).value);return a.length=i,a}(r,t)}))},e.reduce=function(e,t){return arguments.length>2?i.call(e,c(t),arguments[2]):i.call(e,c(t))},e.reduceRight=function(e,t){return arguments.length>2?s.call(e,c(t),arguments[2]):s.call(e,c(t))},e.prototype.spread=function(e){return this.then(o).then((function(t){return e.apply(this,t)}))},e;function u(n){var r;return n instanceof e&&(r=n._handler.join()),r&&0===r.state()||!r?a(n).then(t.fulfilled,t.rejected):(r._unreport(),t.inspect(r))}function c(e){return function(t,r,a){return n(e,void 0,[t,r,a])}}}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return function(n){var r=n.resolve,a=n.reject,o=n.prototype.catch;function i(e,t){return function(n){return function(e,t){return function(e){return e===Error||null!=e&&e.prototype instanceof Error}(t)?e instanceof t:t(e)}(n,t)?e.call(this,n):a(n)}}function s(e,t,n,a){var o,i=e.call(t);return"object"!=typeof(o=i)&&"function"!=typeof o||null===o?n(a):function(e,t,n){return r(e).then((function(){return t(n)}))}(i,n,a)}return n.prototype.done=function(e,t){this._handler.visit(this._handler.receiver,e,t)},n.prototype.catch=n.prototype.otherwise=function(t){return arguments.length<2?o.call(this,t):"function"!=typeof t?this.ensure(e):o.call(this,i(arguments[1],t))},n.prototype.finally=n.prototype.ensure=function(e){return"function"!=typeof e?this:this.then((function(n){return s(e,this,t,n)}),(function(t){return s(e,this,a,t)}))},n.prototype.else=n.prototype.orElse=function(e){return this.then(void 0,(function(){return e}))},n.prototype.yield=function(e){return this.then((function(){return e}))},n.prototype.tap=function(e){return this.then(e).yield(this)},n};function e(){throw new TypeError("catch predicate must be a function")}function t(e){return e}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return function(e){return e.prototype.fold=function(t,n){var r=this._beget();return this._handler.fold((function(n,r,a){e._handler(n).fold((function(e,n,r){r.resolve(t.call(this,n,e))}),r,this,a)}),n,r._handler.receiver,r._handler),r},e}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){var t=n(70).inspect;return function(e){return e.prototype.inspect=function(){return t(e._handler(this))},e}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return function(e){var t=e.resolve;return e.iterate=function(e,t,r,a){return n((function(t){return[t,e(t)]}),t,r,a)},e.unfold=n,e;function n(e,r,a,o){return t(o).then((function(n){return t(r(n)).then((function(r){return r?n:t(e(n)).spread(i)}))}));function i(o,i){return t(a(o)).then((function(){return n(e,r,a,i)}))}}}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return function(e){return e.prototype.progress=function(e){return this.then(void 0,void 0,e)},e}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return function(e){return e.prototype.with=e.prototype.withThis=function(e){var t=this._beget(),n=t._handler;return n.receiver=e,this._handler.chain(n,e),t},e}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){var t=n(54).setTimer,r=n(122);return function(e){var n,i=o,s=o;"undefined"!=typeof console&&(n=console,i=void 0!==n.error?function(e){n.error(e)}:function(e){n.log(e)},s=void 0!==n.info?function(e){n.info(e)}:function(e){n.log(e)}),e.onPotentiallyUnhandledRejection=function(e){p(d,e)},e.onPotentiallyUnhandledRejectionHandled=function(e){p(f,e)},e.onFatalRejection=function(e){p(a,e.value)};var l=[],u=[],c=null;function d(e){e.handled||(u.push(e),i("Potentially unhandled rejection ["+e.id+"] "+r.formatError(e.value)))}function f(e){var t=u.indexOf(e);t>=0&&(u.splice(t,1),s("Handled previous rejection ["+e.id+"] "+r.formatObject(e.value)))}function p(e,n){l.push(e,n),null===c&&(c=t(m,0))}function m(){for(c=null;l.length>0;)l.shift()(l.shift())}return e};function a(e){throw e}function o(){}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){return{formatError:function(t){var n="object"==typeof t&&null!==t&&(t.stack||t.message)?t.stack||t.message:e(t);return t instanceof Error?n:n+" (WARNING: non-Error used)"},formatObject:e,tryStringify:t};function e(e){var n=String(e);return"[object Object]"===n&&"undefined"!=typeof JSON&&(n=t(e,n)),n}function t(e,t){try{return JSON.stringify(e)}catch(e){return t}}}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(e){return n(124)({scheduler:new(n(125))(n(54).asap)})}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t,n){(function(r){var a;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(o){"use strict";void 0===(a=function(){return function(e){var t=e.scheduler,n=function(){if(null!=r&&"function"==typeof r.emit)return function(e,t){return"unhandledRejection"===e?r.emit(e,t.value,t):r.emit(e,t)};if("undefined"!=typeof self&&function(){if("function"==typeof CustomEvent)try{return new CustomEvent("unhandledRejection")instanceof CustomEvent}catch(e){}return!1}())return function(e,t){return function(n,r){var a=new t(n,{detail:{reason:r.value,key:r},bubbles:!1,cancelable:!0});return!e.dispatchEvent(a)}}(self,CustomEvent);if("undefined"!=typeof self&&function(){if("undefined"!=typeof document&&"function"==typeof document.createEvent)try{return document.createEvent("CustomEvent").initCustomEvent("eventType",!1,!0,{}),!0}catch(e){}return!1}())return function(e,t){return function(n,r){var a=t.createEvent("CustomEvent");return a.initCustomEvent(n,!1,!0,{reason:r.value,key:r}),!e.dispatchEvent(a)}}(self,document);return Y}(),a=Object.create||function(e){function t(){}return t.prototype=e,new t};function o(e,t){this._handler=e===h?t:function(e){var t=new v;try{e((function(e){t.resolve(e)}),n,(function(e){t.notify(e)}))}catch(e){n(e)}return t;function n(e){t.reject(e)}}(e)}function i(e){return R(e)?e:new o(h,new g(p(e)))}function s(e){return new o(h,new g(new w(e)))}function l(){return A}function u(e,t,n){for(var r,a="function"==typeof t?function(r,a,o){o.resolved||c(n,d,r,e(t,a,r),o)}:d,i=new v,s=n.length>>>0,l=new Array(s),u=0;u<n.length&&!i.resolved;++u)void 0!==(r=n[u])||u in n?c(n,a,u,r,i):--s;return 0===s&&i.become(new E(l)),new o(h,i);function d(e,t,n){l[e]=t,0==--s&&n.become(new E(l))}}function c(e,t,n,r,a){if(M(r)){var o=function(e){return R(e)?e._handler.join():m(e)}(r),i=o.state();0===i?o.fold(t,n,void 0,a):i>0?t(n,o.value,a):(a.become(o),d(e,n+1,o))}else t(n,r,a)}function d(e,t,n){for(var r=t;r<e.length;++r)f(p(e[r]),n)}function f(e,t){if(e!==t){var n=e.state();0===n?e.visit(e,void 0,e._unreport):n<0&&e._unreport()}}function p(e){return R(e)?e._handler.join():M(e)?m(e):new E(e)}function m(e){try{var t=e.then;return"function"==typeof t?new b(t,e):new E(e)}catch(e){return new w(e)}}function h(){}function _(){}o.resolve=i,o.reject=s,o.never=l,o._defer=function(){return new o(h,new v)},o._handler=p,o.prototype.then=function(e,t,n){var r=this._handler,a=r.join().state();if("function"!=typeof e&&a>0||"function"!=typeof t&&a<0)return new this.constructor(h,r);var o=this._beget(),i=o._handler;return r.chain(i,r.receiver,e,t,n),o},o.prototype.catch=function(e){return this.then(void 0,e)},o.prototype._beget=function(){return function(e,t){var n=new v(e.receiver,e.join().context);return new t(h,n)}(this._handler,this.constructor)},o.all=function(e){return u(U,null,e)},o.race=function(e){if("object"!=typeof e||null===e)return s(new TypeError("non-iterable passed to race()"));return 0===e.length?l():1===e.length?i(e[0]):function(e){var t,n,r,a=new v;for(t=0;t<e.length;++t)if(void 0!==(n=e[t])||t in e){if(0!==(r=p(n)).state()){a.become(r),d(e,t+1,r);break}r.visit(a,a.resolve,a.reject)}return new o(h,a)}(e)},o._traverse=function(e,t){return u(I,e,t)},o._visitRemaining=d,h.prototype.when=h.prototype.become=h.prototype.notify=h.prototype.fail=h.prototype._unreport=h.prototype._report=Y,h.prototype._state=0,h.prototype.state=function(){return this._state},h.prototype.join=function(){for(var e=this;void 0!==e.handler;)e=e.handler;return e},h.prototype.chain=function(e,t,n,r,a){this.when({resolver:e,receiver:t,fulfilled:n,rejected:r,progress:a})},h.prototype.visit=function(e,t,n,r){this.chain(y,e,t,n,r)},h.prototype.fold=function(e,t,n,r){this.when(new N(e,t,n,r))},j(h,_),_.prototype.become=function(e){e.fail()};var y=new _;function v(e,t){o.createContext(this,t),this.consumers=void 0,this.receiver=e,this.handler=void 0,this.resolved=!1}function g(e){this.handler=e}function b(e,n){v.call(this),t.enqueue(new x(e,n,this))}function E(e){o.createContext(this),this.value=e}j(h,v),v.prototype._state=0,v.prototype.resolve=function(e){this.become(p(e))},v.prototype.reject=function(e){this.resolved||this.become(new w(e))},v.prototype.join=function(){if(!this.resolved)return this;for(var e=this;void 0!==e.handler;)if((e=e.handler)===this)return this.handler=new w(new TypeError("Promise cycle"));return e},v.prototype.run=function(){var e=this.consumers,t=this.handler;this.handler=this.handler.join(),this.consumers=void 0;for(var n=0;n<e.length;++n)t.when(e[n])},v.prototype.become=function(e){this.resolved||(this.resolved=!0,this.handler=e,void 0!==this.consumers&&t.enqueue(this),void 0!==this.context&&e._report(this.context))},v.prototype.when=function(e){this.resolved?t.enqueue(new C(e,this.handler)):void 0===this.consumers?this.consumers=[e]:this.consumers.push(e)},v.prototype.notify=function(e){this.resolved||t.enqueue(new P(e,this))},v.prototype.fail=function(e){var t=void 0===e?this.context:e;this.resolved&&this.handler.join().fail(t)},v.prototype._report=function(e){this.resolved&&this.handler.join()._report(e)},v.prototype._unreport=function(){this.resolved&&this.handler.join()._unreport()},j(h,g),g.prototype.when=function(e){t.enqueue(new C(e,this))},g.prototype._report=function(e){this.join()._report(e)},g.prototype._unreport=function(){this.join()._unreport()},j(v,b),j(h,E),E.prototype._state=1,E.prototype.fold=function(e,t,n,r){!function(e,t,n,r,a){if("function"!=typeof e)return a.become(n);o.enterContext(n),function(e,t,n,r,a){try{e.call(r,t,n,a)}catch(e){a.become(new w(e))}}(e,t,n.value,r,a),o.exitContext()}(e,t,this,n,r)},E.prototype.when=function(e){D(e.fulfilled,this,e.receiver,e.resolver)};var k=0;function w(e){o.createContext(this),this.id=++k,this.value=e,this.handled=!1,this.reported=!1,this._report()}function S(e,t){this.rejection=e,this.context=t}function O(e){this.rejection=e}j(h,w),w.prototype._state=-1,w.prototype.fold=function(e,t,n,r){r.become(this)},w.prototype.when=function(e){"function"==typeof e.rejected&&this._unreport(),D(e.rejected,this,e.receiver,e.resolver)},w.prototype._report=function(e){t.afterQueue(new S(this,e))},w.prototype._unreport=function(){this.handled||(this.handled=!0,t.afterQueue(new O(this)))},w.prototype.fail=function(e){this.reported=!0,n("unhandledRejection",this),o.onFatalRejection(this,void 0===e?this.context:e)},S.prototype.run=function(){this.rejection.handled||this.rejection.reported||(this.rejection.reported=!0,n("unhandledRejection",this.rejection)||o.onPotentiallyUnhandledRejection(this.rejection,this.context))},O.prototype.run=function(){this.rejection.reported&&(n("rejectionHandled",this.rejection)||o.onPotentiallyUnhandledRejectionHandled(this.rejection))},o.createContext=o.enterContext=o.exitContext=o.onPotentiallyUnhandledRejection=o.onPotentiallyUnhandledRejectionHandled=o.onFatalRejection=Y;var T=new h,A=new o(h,T);function C(e,t){this.continuation=e,this.handler=t}function P(e,t){this.handler=t,this.value=e}function x(e,t,n){this._then=e,this.thenable=t,this.resolver=n}function N(e,t,n,r){this.f=e,this.z=t,this.c=n,this.to=r,this.resolver=y,this.receiver=this}function R(e){return e instanceof o}function M(e){return("object"==typeof e||"function"==typeof e)&&null!==e}function D(e,t,n,r){if("function"!=typeof e)return r.become(t);o.enterContext(t),function(e,t,n,r){try{r.become(p(e.call(n,t)))}catch(e){r.become(new w(e))}}(e,t.value,n,r),o.exitContext()}function L(e,t,n,r,a){if("function"!=typeof e)return a.notify(t);o.enterContext(n),function(e,t,n,r){try{r.notify(e.call(n,t))}catch(e){r.notify(e)}}(e,t,r,a),o.exitContext()}function I(e,t,n){try{return e(t,n)}catch(e){return s(e)}}function j(e,t){t.prototype=a(e.prototype),t.prototype.constructor=t}function U(e,t){return t}function Y(){}return C.prototype.run=function(){this.handler.join().when(this.continuation)},P.prototype.run=function(){var e=this.handler.consumers;if(void 0!==e)for(var t,n=0;n<e.length;++n)L((t=e[n]).progress,this.value,this.handler,t.receiver,t.resolver)},x.prototype.run=function(){var e=this.resolver;!function(e,t,n,r,a){try{e.call(t,n,r,a)}catch(e){r(e)}}(this._then,this.thenable,(function(t){e.resolve(t)}),(function(t){e.reject(t)}),(function(t){e.notify(t)}))},N.prototype.fulfilled=function(e){this.f.call(this.c,this.z,e,this.to)},N.prototype.rejected=function(e){this.to.reject(e)},N.prototype.progress=function(e){this.to.notify(e)},o}}.call(t,n,t,e))||(e.exports=a)}(n(14))}).call(this,n(55))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */!function(a){"use strict";void 0===(r=function(){function e(e){this._async=e,this._running=!1,this._queue=this,this._queueLen=0,this._afterQueue={},this._afterQueueLen=0;var t=this;this.drain=function(){t._drain()}}return e.prototype.enqueue=function(e){this._queue[this._queueLen++]=e,this.run()},e.prototype.afterQueue=function(e){this._afterQueue[this._afterQueueLen++]=e,this.run()},e.prototype.run=function(){this._running||(this._running=!0,this._async(this.drain))},e.prototype._drain=function(){for(var e=0;e<this._queueLen;++e)this._queue[e].run(),this._queue[e]=void 0;for(this._queueLen=0,this._running=!1,e=0;e<this._afterQueueLen;++e)this._afterQueue[e].run(),this._afterQueue[e]=void 0;this._afterQueueLen=0},e}.call(t,n,t,e))||(e.exports=r)}(n(14))},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(28),o=(r=a)&&r.__esModule?r:{default:r},i=n(12);var s=n(8),l=n(1),u=n(15),c=function(e){return function(t){return function(n){switch(n.type){case"LASTFM_ME_LOADED":var r=(0,i.formatUser)(n.me);Object.assign(r,{uri:"lastfm:user:"+r.name}),e.dispatch(s.userLoaded(r)),n.me=r,t(n);break;case"LASTFM_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(u.getMe())}),100),t(n);break;case"LASTFM_AUTHORIZATION_REVOKED":e.getState().ui.allow_reporting&&o.default.event({category:"LastFM",action:"Authorization revoked"}),e.dispatch(l.createNotification({content:"Logout successful",description:"If you have shared your authorization, make sure you revoke your token",sticky:!0,links:[{url:"https://www.last.fm/settings/applications",text:"Authorized apps",new_window:!0}]})),t(n);break;default:return t(n)}}}};t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(12),a=n(8),o=n(32),i=function(e){return function(t){return function(n){switch(e.getState(),n.type){case"GENIUS_ME_LOADED":var i=(0,r.formatUser)(n.me);Object.assign(i,{uri:"genius:user:"+i.id}),e.dispatch({type:"GENIUS_USER_LOADED",user:n.me}),n.me=i,t(n);break;case"GENIUS_USER_LOADED":var s=(0,r.formatUser)(n.user);Object.assign(s,{uri:"genius:user:"+s.id}),e.dispatch(a.userLoaded(s)),n.user=s,t(n);break;case"GENIUS_IMPORT_AUTHORIZATION":setTimeout((function(){e.dispatch(o.getMe())}),100),t(n);break;default:return t(n)}}}};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(28),i=(r=o)&&r.__esModule?r:{default:r},s=n(56),l=n(9),u=n(4),c=n(12);var d=n(8),f=n(1),p=n(7),m=n(13),h=function(e){return function(t){return function(n){var r=e.getState().spotify;switch(n.type){case"SPOTIFY_AUTHORIZATION_GRANTED":e.getState().ui.allow_reporting&&i.default.event({category:"Spotify",action:"Authorization granted"}),e.dispatch(p.flushLibrary()),t(n);break;case"SPOTIFY_AUTHORIZATION_REVOKED":e.getState().ui.allow_reporting&&i.default.event({category:"Spotify",action:"Authorization revoked"}),e.dispatch(f.createNotification({content:"Logout successful",description:"If you have shared your authorization, make sure you revoke your token",sticky:!0,links:[{url:"https://www.spotify.com/nz/account/apps/",text:"Authorized apps",new_window:!0}]})),t(n),e.dispatch(p.getMe()),e.dispatch(p.flushLibrary());break;case"SPOTIFY_IMPORT_AUTHORIZATION":e.dispatch(p.flushLibrary()),setTimeout((function(){e.dispatch(p.getMe())}),100),t(n);break;case"SPOTIFY_RECOMMENDATIONS_LOADED":e.getState().ui.allow_reporting&&n.seeds_uris&&i.default.event({category:"Spotify",action:"Recommendations",label:n.seeds_uris.join(",")}),t(n);break;case"SPOTIFY_USER_LOADED":e.getState().ui.allow_reporting&&n.data&&i.default.event({category:"User",action:"Load",label:n.data.uri}),t(n);break;case"SPOTIFY_CREATE_PLAYLIST":e.dispatch(p.createPlaylist(n.name,n.description,n.is_private,n.is_collaborative));break;case"SPOTIFY_REMOVE_PLAYLIST_TRACKS":var o=a({},e.getState().core.playlists[n.key]);e.dispatch(p.deleteTracksFromPlaylist(o.uri,o.snapshot_id,n.tracks_indexes));break;case"SPOTIFY_ADD_PLAYLIST_TRACKS":e.dispatch(p.addTracksToPlaylist(n.key,n.tracks_uris));break;case"SPOTIFY_REORDER_PLAYLIST_TRACKS":e.dispatch(p.reorderPlaylistTracks(n.key,n.range_start,n.range_length,n.insert_before,n.snapshot_id));break;case"SPOTIFY_SAVE_PLAYLIST":e.dispatch(p.savePlaylist(n.key,n.name,n.description,n.is_public,n.is_collaborative,n.image));break;case"SPOTIFY_NEW_RELEASES_LOADED":e.dispatch({type:"ALBUMS_LOADED",albums:n.data.albums.items}),n.uris=(0,l.arrayOf)("uri",n.data.albums.items),n.more=n.data.albums.next,n.total=n.data.albums.total,t(n);break;case"SPOTIFY_ARTIST_ALBUMS_LOADED":e.dispatch(d.albumsLoaded(n.data.items)),e.dispatch({type:"ARTIST_ALBUMS_LOADED",artist_uri:n.artist_uri,albums_uris:(0,l.arrayOf)("uri",n.data.items),more:n.data.next,total:n.data.total});break;case"SPOTIFY_USER_PLAYLISTS_LOADED":for(var h=[],_=0;_<n.data.items.length;_++)delete(o=a({},n.data.items[_],{tracks_total:n.data.items[_].tracks.total})).tracks,h.push(o);e.dispatch({type:"PLAYLISTS_LOADED",playlists:h}),e.dispatch({type:"USER_PLAYLISTS_LOADED",key:n.key,uris:(0,l.arrayOf)("uri",h),more:n.data.next,total:n.data.total});break;case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED":e.dispatch(d.playlistsLoaded(n.playlists.items)),n.uris=(0,l.arrayOf)("uri",n.playlists.items),n.more=n.playlists.next,n.total=n.playlists.total,delete n.playlists,n.uris=(0,u.upgradeSpotifyPlaylistUris)(n.uris),t(n);break;case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED_MORE":e.dispatch({type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",uri:n.uri,playlists:n.data.playlists});break;case"SPOTIFY_CATEGORY_LOADED":e.dispatch({type:"SPOTIFY_CATEGORIES_LOADED",categories:[n.category]});break;case"SPOTIFY_CATEGORIES_LOADED":var y=a({},r.categories),v=[],g=!0,b=!1,E=void 0;try{for(var k,w=n.categories[Symbol.iterator]();!(g=(k=w.next()).done);g=!0){var S=k.value,O=a({},S);O.uri||(O.uri="category:"+O.id),void 0!==y[O.uri]&&(O=a({},y[O.uri],O)),O.icons&&(O.icons=(0,c.formatImages)(O.icons)),v.push(O)}}catch(e){b=!0,E=e}finally{try{!g&&w.return&&w.return()}finally{if(b)throw E}}n.categories=v,t(n);break;case"SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR":e.dispatch(p.getLibraryPlaylistsProcessor(n.data));break;case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":h=[];var T=!0,A=!1,C=void 0;try{for(var P,x=n.playlists[Symbol.iterator]();!(T=(P=x.next()).done);T=!0)o=P.value,Object.assign(o,{uri:o.uri.replace(/spotify:user:([^:]*?):/i,"spotify:"),can_edit:e.getState().spotify.me&&e.getState().spotify.me.id==o.owner.id,source:"spotify",in_library:!0,tracks_total:o.tracks.total}),delete o.tracks,h.push(o)}catch(e){A=!0,C=e}finally{try{!T&&x.return&&x.return()}finally{if(A)throw C}}e.dispatch({type:"PLAYLISTS_LOADED",playlists:h}),n.uris=(0,l.arrayOf)("uri",h),t(n);break;case"SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR":e.dispatch(p.getLibraryArtistsProcessor(n.data));break;case"SPOTIFY_LIBRARY_ARTISTS_LOADED":var N=[];for(_=0;_<n.artists.length;_++)N.push(a({},n.artists[_],{source:"spotify",in_library:!0}));e.dispatch({type:"ARTISTS_LOADED",artists:N}),n.uris=(0,l.arrayOf)("uri",N),t(n);break;case"SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR":e.dispatch(p.getLibraryAlbumsProcessor(n.data));break;case"SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR":e.dispatch(p.getLibraryTracksAndPlayProcessor(n.data));break;case"SPOTIFY_GET_ALL_PLAYLIST_TRACKS_PROCESSOR":e.dispatch(p.getAllPlaylistTracksProcessor(n.data));break;case"SPOTIFY_LIBRARY_ALBUMS_LOADED":var R=[];for(_=0;_<n.albums.length;_++)R.push(a({},n.albums[_].album,{in_library:!0,source:"spotify",added_at:n.albums[_].added_at,tracks:n.albums[_].album.tracks.items,tracks_more:n.albums[_].album.tracks.next,tracks_total:n.albums[_].album.tracks.total}));e.dispatch({type:"ALBUMS_LOADED",albums:R}),n.uris=(0,l.arrayOf)("uri",R),t(n);break;case"SPOTIFY_FAVORITES_LOADED":n.artists.length>0&&(e.dispatch({type:"ARTISTS_LOADED",artists:n.artists}),n.artists_uris=(0,l.arrayOf)("uri",n.artists)),n.tracks.length>0&&(e.dispatch({type:"TRACKS_LOADED",tracks:n.tracks}),n.tracks_uris=(0,l.arrayOf)("uri",n.tracks)),t(n);break;case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":n.data&&e.dispatch({type:"TRACKS_LOADED",tracks:n.data.items}),t(n);break;case"SPOTIFY_TRACK_LOADED":e.dispatch({type:"TRACKS_LOADED",tracks:[n.data]}),t(n);break;case"SEARCH_STARTED":e.dispatch({type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}),t(n);break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_TRACKS":e.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",results:(0,c.formatTracks)(n.data.tracks.items),more:n.data.tracks.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ARTISTS":e.dispatch({type:"ARTISTS_LOADED",artists:n.data.artists.items}),e.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",results:(0,l.arrayOf)("uri",n.data.playlists.items),more:n.data.playlists.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ALBUMS":e.dispatch({type:"ALBUMS_LOADED",albums:n.data.albums.items}),e.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:(0,l.arrayOf)("uri",n.data.albums.items),more:n.data.albums.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_PLAYLISTS":for(h=[],_=0;_<n.data.playlists.items.length;_++)h.push(a({},n.data.playlists.items[_],{tracks_total:n.data.playlists.items[_].tracks.total}));e.dispatch({type:"PLAYLISTS_LOADED",playlists:h}),e.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:(0,l.arrayOf)("uri",n.data.playlists.items),more:n.data.playlists.next});break;case"SPOTIFY_ME_LOADED":var M=a({},(0,c.formatUser)(n.me));if("Anonymous"==e.getState().pusher.username&&e.dispatch(m.setUsername(M.name)),e.getState().ui.allow_reporting){var D=(0,s.sha256)(M.id);i.default.set({userId:D}),i.default.event({category:"Spotify",action:"Authorization verified",label:D})}e.dispatch(d.userLoaded(M)),n.me=M,t(n);break;default:return t(n)}}}};t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(28),o=((r=a)&&r.__esModule,n(9));var i,s=n(8),l=n(6),u=n(1),c=(i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;e.dispatch(l.request(t,n,r,a))},function(e){return function(t){return function(n){switch(e.getState().google,n.type){case"GOOGLE_GET_LIBRARY_ALBUMS":var r=e.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR;r?"cancelled"===r.status?e.dispatch(u.resumeProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR")):r.status:i(e,"library.browse",{uri:"gmusic:album"},(function(t){if(!(t.length<=0)){var n=(0,o.arrayOf)("uri",t);e.dispatch({type:"GOOGLE_LIBRARY_ALBUMS_LOADED",uris:n}),e.dispatch(u.startProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR","Loading "+n.length+" Google albums",{uris:n,total:n.length,remaining:n.length}))}}));break;case"GOOGLE_LIBRARY_ALBUMS_PROCESSOR":if(void 0!==e.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR&&"cancelling"===e.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR.status)return e.dispatch(u.processCancelled("GOOGLE_LIBRARY_ALBUMS_PROCESSOR")),!1;var a=Object.assign([],n.data.uris),c=a.splice(0,50);c.length>0?(e.dispatch(u.updateProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR","Loading "+a.length+" Google albums",{uris:a,remaining:a.length})),e.dispatch(l.getAlbums(c,{name:"GOOGLE_LIBRARY_ALBUMS_PROCESSOR",data:{uris:a}}))):e.dispatch(u.processFinished("GOOGLE_LIBRARY_ALBUMS_PROCESSOR"));break;case"GOOGLE_GET_LIBRARY_ARTISTS":i(e,"library.browse",{uri:"gmusic:artist"},(function(t){if(!(t.length<=0)){for(var n=[],r=0;r<t.length;r++)t[r].uri=t[r].uri.replace("local:directory?albumartist=",""),n.push(t[r].uri);e.dispatch(s.artistsLoaded(t)),e.dispatch({type:"GOOGLE_LIBRARY_ARTISTS_LOADED",uris:n})}}),(function(t){e.dispatch(s.handleException("Could not load Google artists",t))}));break;default:return t(n)}}}});t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(28),i=(r=o)&&r.__esModule?r:{default:r},s=n(56),l=n(4),u=n(9),c=n(12);function d(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var f=n(8),p=n(1),m=(n(13),n(36)),h=function(){var e=this,t=null,n=null,r=[],o=function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise((function(o,i){var s=(0,l.generateGuid)(8),u={jsonrpc:"2.0",id:s,method:n};a&&(u.params=a),e.getState().ui.log_snapcast&&console.log("Snapcast log (outgoing)",u),t.send(JSON.stringify(u)),e.dispatch(p.startLoading(s,"snapcast_"+n));setTimeout((function(){e.dispatch(p.stopLoading(s)),i({id:s,code:32300,message:"Request timed out"})}),3e4);r[s]={resolve:o,reject:i}}))};return function(l){return function(h){return function(_){var y=l.getState().snapcast;switch(_.type){case"SNAPCAST_CONNECT":t&&t.close(),clearTimeout(n),l.dispatch({type:"SNAPCAST_CONNECTING"}),(t=new WebSocket("ws"+("https:"===window.location.protocol?"s":"")+"://"+l.getState().snapcast.host+":"+l.getState().snapcast.port+"/jsonrpc")).onopen=function(){l.dispatch({type:"SNAPCAST_CONNECTED"})},t.onclose=function(e){l.dispatch({type:"SNAPCAST_DISCONNECTED"}),l.getState().snapcast.enabled&&(clearTimeout(n),n=setTimeout((function(){l.dispatch(m.connect())}),5e3))},t.onerror=function(e){1==t.readyState&&l.dispatch(f.handleException("Snapcast websocket error",e,e.type))},t.onmessage=function(e){!function e(t,n,a){if(n.getState().ui.log_snapcast&&console.log("Snapcast log (incoming)",a),Array.isArray(a))a.map((function(r){return e(t,n,r)}));else{var o=null;if(a.id?o=a.id:a.error&&a.error.id&&(o=a.error.id),o)void 0!==r[o]?(n.dispatch(p.stopLoading(o)),void 0!==a.error?r[o].reject(a.error):r[o].resolve(a.result)):n.dispatch(f.handleException("Snapcast: Response received with no matching request",a));else switch(a.method){case"Client.OnConnect":case"Client.OnDisconnect":n.dispatch(m.clientLoaded(a.params.client));break;case"Client.OnVolumeChanged":case"Client.OnLatencyChanged":case"Client.OnNameChanged":n.dispatch(m.clientLoaded(a.params));break;case"Group.OnMute":n.dispatch(m.groupLoaded(a.params));break;case"Server.OnUpdate":n.dispatch(m.serverLoaded(a.param))}}}(t,l,JSON.parse(e.data))};break;case"SNAPCAST_CONNECTED":l.getState().ui.allow_reporting&&i.default.event({category:"Snapcast",action:"Connected",label:(0,s.sha256)(window.location.hostname)}),l.dispatch(m.getServer()),h(_);break;case"SNAPCAST_DISCONNECT":null!=t&&t.close(),t=null,clearTimeout(n);break;case"SNAPCAST_SET_CONNECTION":l.dispatch(m.serverLoaded({})),l.dispatch(m.clientsLoaded([])),l.dispatch(m.groupsLoaded([])),l.dispatch(m.streamsLoaded([])),l.dispatch(m.set(_.data)),l.getState().snapcast.enabled&&setTimeout((function(){l.dispatch(m.connect())}),250);break;case"SNAPCAST_DEBUG":o(l,_.message.method,_.message.data).then((function(e){l.dispatch({type:"DEBUG",response:e})}),(function(e){l.dispatch(f.handleException("Could not debug",e,e.message))}));break;case"SNAPCAST_REQUEST":o(l,_.method,_.params).then((function(t){_.response_callback&&_.response_callback.call(e,t)}),(function(t){_.error_callback?_.error_callback.call(e,t):l.dispatch(f.handleException("Snapcast request failed",t,_.method,_))}));break;case"SNAPCAST_SET_ENABLED":l.dispatch(m.set({enabled:_.enabled})),l.dispatch(_.enabled?m.connect():m.disconnect());break;case"SNAPCAST_GET_SERVER":o(l,"Server.GetStatus").then((function(e){l.dispatch(m.serverLoaded(e.server.server,!0)),l.dispatch(m.groupsLoaded(e.server.groups,!0)),l.dispatch(m.streamsLoaded(e.server.streams,!0))}),(function(e){l.dispatch(f.handleException("Could not get Snapcast server",e))}));break;case"SNAPCAST_GROUPS_LOADED":var v=a({},y.groups),g=[],b=_.groups.map((function(e){var t=(0,c.formatGroup)(e);return v[t.id]&&(t=a({},v[t.id],t)),e.clients&&(t.clients_ids=(0,u.arrayOf)("id",e.clients),g=[].concat(d(g),d(e.clients)),l.dispatch(m.calculateGroupVolume(t.id,e.clients))),void 0!==t.name&&""!==t.name||(t.name="Group "+t.id.substring(0,3)),t}));_.groups=b,g.length>0&&l.dispatch(m.clientsLoaded(g,_.flush)),h(_);break;case"SNAPCAST_CALCULATE_GROUP_VOLUME":var E=_.clients.reduce((function(e,t){return e+(0,c.formatClient)(t).volume}),0);l.dispatch(m.groupLoaded({id:_.id,volume:E/_.clients.length}));break;case"SNAPCAST_CLIENTS_LOADED":var k=a({},y.clients),w=(g=[],!0),S=!1,O=void 0;try{for(var T,A=_.clients[Symbol.iterator]();!(w=(T=A.next()).done);w=!0){var C=T.value;k[(P=(0,c.formatClient)(C)).id]&&(P=a({},k[P.id],P)),g.push(P)}}catch(e){S=!0,O=e}finally{try{!w&&A.return&&A.return()}finally{if(S)throw O}}_.clients=g,h(_);break;case"SNAPCAST_SET_CLIENT_NAME":var P=y.clients[_.id],x={id:_.id,name:_.name};o(l,"Client.SetName",x).then((function(e){l.dispatch(m.clientLoaded({id:_.id,name:e.name}))}));break;case"SNAPCAST_SET_CLIENT_MUTE":P=l.getState().snapcast.clients[_.id],x={id:_.id,volume:{muted:_.mute,percent:P.volume}};o(l,"Client.SetVolume",x).then((function(e){l.dispatch(m.clientLoaded({id:_.id,volume:e.volume.percent,mute:e.volume.muted}))}),(function(e){l.dispatch(f.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_VOLUME":P=y.clients[_.id],x={id:_.id,volume:{muted:P.mute,percent:_.volume}};o(l,"Client.SetVolume",x).then((function(e){l.dispatch(m.clientLoaded({id:_.id,volume:e.volume.percent}))}),(function(e){l.dispatch(f.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_LATENCY":P=l.getState().snapcast.clients[_.id],x={id:_.id,latency:_.latency};o(l,"Client.SetLatency",x).then((function(e){l.dispatch(m.clientLoaded({id:_.id,latency:e.latency}))}),(function(e){l.dispatch(f.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_CLIENT_GROUP":var N=(M=y.groups[_.group_id]).clients_ids,R=N.indexOf(_.id);R<=-1?N.push(_.id):N.splice(R,1);x={id:_.group_id,clients:N};o(l,"Group.SetClients",x).then((function(e){l.dispatch(m.groupsLoaded(e.server.groups,!0))}),(function(e){l.dispatch(f.handleException("Error",e,e.message))}));break;case"SNAPCAST_DELETE_CLIENT":x={id:_.id};o(l,"Server.DeleteClient",x).then((function(e){l.dispatch({type:"SNAPCAST_CLIENT_REMOVED",key:_.data.params.id})}),(function(e){l.dispatch(f.handleException("Error",e,e.message))}));break;case"SNAPCAST_SET_GROUP_NAME":var M=y.groups[_.id];x={id:_.id,name:_.name};o(l,"Group.SetName",x).then((function(e){l.dispatch(m.groupLoaded({id:_.id,name:e.name}))}));break;case"SNAPCAST_SET_GROUP_STREAM":M=l.getState().snapcast.groups[_.id],x={id:_.id,stream_id:_.stream_id};o(l,"Group.SetStream",x).then((function(e){l.dispatch(m.groupLoaded({id:_.id,stream_id:_.stream_id}))}),(function(e){l.dispatch(f.handleException("Could not change stream",e,e.message))}));break;case"SNAPCAST_SET_GROUP_MUTE":M=l.getState().snapcast.groups[_.id],x={id:_.id,mute:_.mute};o(l,"Group.SetMute",x).then((function(e){l.dispatch(m.groupLoaded({id:_.id,mute:e.mute}))}),(function(e){l.dispatch(f.handleException("Could not toggle mute",e,e.message))}));break;case"SNAPCAST_SET_GROUP_VOLUME":var D=[],L=(M=y.groups[_.id],_.percent-_.old_percent),I=!0,j=!1,U=void 0;try{for(var Y,F=M.clients_ids[Symbol.iterator]();!(I=(Y=F.next()).done);I=!0){var H=Y.value,z=(P=y.clients[H]).volume,B=z+L;(L>0&&z<100||L<0&&z>0)&&D.push({id:P.id,volume:B})}}catch(e){j=!0,U=e}finally{try{!I&&F.return&&F.return()}finally{if(j)throw U}}var G=!0,q=!1,V=void 0;try{for(var W,K=D[Symbol.iterator]();!(G=(W=K.next()).done);G=!0){var X=W.value,$=X.volume+(M.clients_ids.length-D.length)*L;$<0?$=0:$>100&&($=100),l.dispatch(m.setClientVolume(X.id,$))}}catch(e){q=!0,V=e}finally{try{!G&&K.return&&K.return()}finally{if(q)throw V}}l.dispatch(m.groupLoaded({id:_.id,volume:_.percent}));break;default:return h(_)}}}}}();t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(42),o=(r=a)&&r.__esModule?r:{default:r};var i=function(e){return function(t){return function(n){switch(t(n),window._store=e,e.getState().ui.log_actions&&["START_LOADING","STOP_LOADING"].includes(n.type),n.type){case"PUSHER_CONNECTED":o.default.set("pusher",{connection_id:n.connection_id});break;case"PUSHER_SET_PORT":o.default.set("pusher",{port:n.port});break;case"PUSHER_SET_USERNAME":o.default.set("pusher",{username:n.username});break;case"MOPIDY_URISCHEMES_FILTERED":o.default.set("mopidy",{uri_schemes:n.data});break;case"SPOTIFY_AUTHORIZATION_GRANTED":if(void 0!==n.authorization)var r=n.authorization;else n.data&&(r=n.data);o.default.set("spotify",{authorization:r,access_token:r.access_token,refresh_token:r.refresh_token,token_expiry:r.token_expiry});break;case"SPOTIFY_IMPORT_AUTHORIZATION":o.default.set("spotify",{authorization:n.authorization,access_token:n.authorization.access_token,refresh_token:n.authorization.refresh_token,token_expiry:n.authorization.token_expiry,me:null});break;case"SPOTIFY_AUTHORIZATION_REVOKED":o.default.set("spotify",{authorization:null,access_token:null,refresh_token:null,token_expiry:null,me:null});break;case"SPOTIFY_TOKEN_REFRESHED":o.default.set("spotify",{access_token:n.data.access_token,token_expiry:n.data.token_expiry,provider:n.provider});break;case"SPOTIFY_ME_LOADED":o.default.set("spotify",{me:n.me});break;case"LASTFM_ME_LOADED":o.default.set("lastfm",{me:n.me});break;case"LASTFM_AUTHORIZATION_GRANTED":o.default.set("lastfm",{authorization:n.data.session});break;case"LASTFM_AUTHORIZATION_REVOKED":o.default.set("lastfm",{authorization:null,me:null});break;case"LASTFM_IMPORT_AUTHORIZATION":o.default.set("lastfm",{authorization:n.authorization,me:null});break;case"GENIUS_ME_LOADED":o.default.set("genius",{me:n.me});break;case"GENIUS_AUTHORIZATION_GRANTED":o.default.set("genius",{authorization:n.data,authorization_code:n.data.authorization_code,access_token:n.data.access_token});break;case"GENIUS_AUTHORIZATION_REVOKED":o.default.set("genius",{me:null,authorization:null,authorization_code:null,access_token:null});break;case"GENIUS_IMPORT_AUTHORIZATION":o.default.set("genius",{authorization:n.authorization,authorization_code:n.authorization.authorization_code,access_token:n.authorization.access_token,me:null});break;case"CORE_SET":o.default.set("core",n.data);break;case"UI_SET":o.default.set("ui",n.data);break;case"MOPIDY_SET":o.default.set("mopidy",n.data);break;case"SPOTIFY_SET":o.default.set("spotify",n.data);break;case"SNAPCAST_SET":o.default.set("snapcast",n.data);break;case"SNAPCAST_COMMANDS_UPDATED":o.default.set("snapcast",{commands:n.commands});break;case"SUPPRESS_BROADCAST":var a=o.default.get("ui");if(void 0!==a.suppressed_broadcasts)var i=a.suppressed_broadcasts;else i=[];i.push(n.key),o.default.set("ui",{suppressed_broadcasts:i})}}}};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.App=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=ie(n(0)),o=n(2),i=n(39),s=n(3),l=(ie(n(73)),ie(n(28))),u=ie(n(138)),c=ie(n(142)),d=ie(n(145)),f=ie(n(146)),p=ie(n(147)),m=ie(n(148)),h=ie(n(149)),_=ie(n(150)),y=ie(n(38)),v=ie(n(151)),g=ie(n(153)),b=ie(n(154)),E=ie(n(155)),k=ie(n(156)),w=ie(n(158)),S=ie(n(159)),O=ie(n(160)),T=ie(n(161)),A=ie(n(163)),C=ie(n(178)),P=ie(n(196)),x=ie(n(197)),N=ie(n(199)),R=ie(n(200)),M=ie(n(201)),D=ie(n(204)),L=ie(n(205)),I=ie(n(206)),j=ie(n(207)),U=ie(n(208)),Y=ie(n(209)),F=ie(n(210)),H=ie(n(211)),z=ie(n(212)),B=ie(n(213)),G=ie(n(214)),q=ie(n(215)),V=ie(n(216)),W=ie(n(217)),K=ie(n(218)),X=n(4),$=ie(n(42)),Q=oe(n(8)),J=oe(n(1)),Z=oe(n(13)),ee=oe(n(6)),te=oe(n(7)),ne=oe(n(15)),re=oe(n(32)),ae=oe(n(36));function oe(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function ie(e){return e&&e.__esModule?e:{default:e}}var se=t.App=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=["ui","spotify","pusher","snapcast","mopidy","google","lastfm","genius"],a=new URLSearchParams(window.location.search),o=[];a.forEach((function(e,t){if(r.includes(t))try{$.default.set(t,JSON.parse(e)),o.push(t)}catch(e){console.error(e)}}));if(o.length>0){o.forEach((function(e){return a.delete(e)}));var i=window.location.toString().replace(window.location.search,a.toString());console.log("settings changed:",o,"redirect to:",i),window.location.assign(i)}return n.handleInstallPrompt=n.handleInstallPrompt.bind(n),n.handleFocusAndBlur=n.handleFocusAndBlur.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentWillUnmount",value:function(){window.removeEventListener("beforeinstallprompt",this.handleInstallPrompt,!1),window.removeEventListener("focus",this.handleFocusAndBlur,!1),window.removeEventListener("blur",this.handleFocusAndBlur,!1)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.history,n=e.snapcast_enabled,r=e.allow_reporting,a=e.initial_setup_complete,o=e.mopidyActions,i=e.pusherActions,s=e.snapcastActions,u=e.coreActions;window.addEventListener("beforeinstallprompt",this.handleInstallPrompt,!1),window.addEventListener("focus",this.handleFocusAndBlur,!1),window.addEventListener("blur",this.handleFocusAndBlur,!1),r&&l.default.initialize("UA-64701652-3"),o.connect(),i.connect(),n&&s.connect(),u.getBroadcasts(),a||t.push("/initial-setup")}},{key:"componentDidUpdate",value:function(e){if(this.props.location!==e.location){this.props.allow_reporting&&(l.default.set({page:this.props.location.pathname}),l.default.pageview(this.props.location.pathname));var t=this.props.location.state?this.props.location.state:{};t.scroll_position&&(0,X.scrollTo)(parseInt(t.scroll_position),!1),this.props.uiActions.toggleSidebar(!1),this.props.uiActions.setSelectedTracks([]),this.props.context_menu&&this.props.uiActions.hideContextMenu()}}},{key:"handleFocusAndBlur",value:function(e){this.props.uiActions.setWindowFocus(document.hasFocus())}},{key:"handleInstallPrompt",value:function(e){e.preventDefault(),this.props.uiActions.installPrompt(e)}},{key:"render",value:function(){var e=this.props.theme+"-theme app-inner";return e+=" "+(navigator.onLine?"online":"offline"),this.props.wide_scrollbar_enabled&&(e+=" wide-scrollbar"),this.props.dragging&&(e+=" dragging"),this.props.sidebar_open&&(e+=" sidebar-open"),this.props.touch_dragging&&(e+=" touch-dragging"),this.props.context_menu&&(e+=" context-menu-open"),this.props.slim_mode&&(e+=" slim-mode"),this.props.smooth_scrolling_enabled&&(e+=" smooth-scrolling-enabled"),(0,X.isTouchDevice)()?e+=" touch":e+=" notouch",a.default.createElement("div",{className:e},a.default.createElement("div",{className:"body"},a.default.createElement(i.Switch,null,a.default.createElement(i.Route,{path:"/initial-setup",component:B.default}),a.default.createElement(i.Route,{path:"/kiosk-mode",component:G.default}),a.default.createElement(i.Route,{path:"/add-to-playlist/:uris",component:V.default}),a.default.createElement(i.Route,{path:"/image-zoom",component:W.default}),a.default.createElement(i.Route,{path:"/share-configuration",component:q.default}),a.default.createElement(i.Route,{path:"/edit-command/:id?",component:K.default}),a.default.createElement(i.Route,{path:"/queue/radio",component:H.default}),a.default.createElement(i.Route,{path:"/queue/add-uri",component:z.default}),a.default.createElement(i.Route,{path:"/playlist/create",component:F.default}),a.default.createElement(i.Route,{path:"/playlist/:uri/edit",component:Y.default}),a.default.createElement(i.Route,null,a.default.createElement("div",null,a.default.createElement(u.default,{location:this.props.location,history:this.props.history,tabIndex:"3"}),a.default.createElement(c.default,{history:this.props.history,slim_mode:this.props.slim_mode,tabIndex:"2"}),a.default.createElement("main",{id:"main",className:"smooth-scroll",tabIndex:"1"},a.default.createElement(i.Switch,null,a.default.createElement(i.Route,{exact:!0,path:"/",component:w.default}),a.default.createElement(i.Route,{exact:!0,path:"/queue",component:w.default}),a.default.createElement(i.Route,{exact:!0,path:"/queue/history",component:S.default}),a.default.createElement(i.Route,{exact:!0,path:"/settings/debug",component:O.default}),a.default.createElement(i.Route,{path:"/settings",component:A.default}),a.default.createElement(i.Route,{exact:!0,path:"/search/:type?/:term?",component:T.default}),a.default.createElement(i.Route,{exact:!0,path:"/album/:uri",component:v.default}),a.default.createElement(i.Route,{exact:!0,path:"/artist/:uri/:sub_view?",component:g.default}),a.default.createElement(i.Route,{exact:!0,path:"/playlist/:uri",component:b.default}),a.default.createElement(i.Route,{exact:!0,path:"/user/:uri",component:E.default}),a.default.createElement(i.Route,{exact:!0,path:"/track/:uri",component:k.default}),a.default.createElement(i.Route,{exact:!0,path:"/discover/recommendations/:seeds?",component:C.default}),a.default.createElement(i.Route,{exact:!0,path:"/discover/featured",component:P.default}),a.default.createElement(i.Route,{exact:!0,path:"/discover/categories/:id",component:N.default}),a.default.createElement(i.Route,{exact:!0,path:"/discover/categories",component:x.default}),a.default.createElement(i.Route,{exact:!0,path:"/discover/new-releases",component:R.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/artists",component:M.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/albums",component:D.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/tracks",component:L.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/playlists",component:I.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/browse",component:j.default}),a.default.createElement(i.Route,{exact:!0,path:"/library/browse/:uri",component:U.default}),a.default.createElement(i.Route,null,a.default.createElement(y.default,{type:"not-found",title:"Not found"},a.default.createElement("p",null,"Oops, that link could not be found"))))))))),a.default.createElement(m.default,{uiActions:this.props.uiActions,slim_mode:this.props.slim_mode}),this.props.hotkeys_enabled&&a.default.createElement(h.default,{history:this.props.history}),a.default.createElement(d.default,null),a.default.createElement(f.default,null),a.default.createElement(p.default,null),this.props.debug_info?a.default.createElement(_.default,null):null)}}]),t}(a.default.Component);t.default=(0,s.connect)((function(e,t){return{theme:e.ui.theme,wide_scrollbar_enabled:e.ui.wide_scrollbar_enabled,smooth_scrolling_enabled:e.ui.smooth_scrolling_enabled,hotkeys_enabled:e.ui.hotkeys_enabled,allow_reporting:e.ui.allow_reporting,touch_dragging:e.ui.touch_dragging,initial_setup_complete:e.ui.initial_setup_complete,slim_mode:e.ui.slim_mode,mopidy_connected:e.mopidy.connected,snapcast_enabled:e.snapcast.enabled,spotify_authorized:e.spotify.authorization,sidebar_open:e.ui.sidebar_open,dragging:e.ui.dragger&&e.ui.dragger.active,context_menu:e.ui.context_menu,debug_info:e.ui.debug_info}}),(function(e){return{coreActions:(0,o.bindActionCreators)(Q,e),uiActions:(0,o.bindActionCreators)(J,e),pusherActions:(0,o.bindActionCreators)(Z,e),mopidyActions:(0,o.bindActionCreators)(ee,e),spotifyActions:(0,o.bindActionCreators)(te,e),lastfmActions:(0,o.bindActionCreators)(ne,e),geniusActions:(0,o.bindActionCreators)(re,e),snapcastActions:(0,o.bindActionCreators)(ae,e)}}))(se)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),o=u(a),i=u(n(10)),s=n(135),l=n(137);function u(e){return e&&e.__esModule?e:{default:e}}var c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.initHowler=n.initHowler.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.initHowler()}},{key:"componentWillReceiveProps",value:function(e){JSON.stringify(e.src)!==JSON.stringify(this.props.src)?this.initHowler(e):this.toggleHowler(e)}},{key:"componentWillUnmount",value:function(){this.destroyHowler()}},{key:"initHowler",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;this.destroyHowler(),void 0!==s.Howl&&(this.howler=new s.Howl({src:e.src,format:e.format,mute:e.mute,loop:e.loop,preload:e.preload,volume:e.volume,onend:e.onEnd,onplay:e.onPlay,onpause:e.onPause,onvolume:e.onVolume,onstop:e.onStop,onload:e.onLoad,onloaderror:e.onLoadError,html5:e.html5}),e.playing&&this.play())}},{key:"destroyHowler",value:function(){this.howler&&(this.howler.off(),this.howler.stop(),this.howler.unload(),this.howler=null)}},{key:"toggleHowler",value:function(e){e.playing?this.play():this.pause(),this.loop(e.loop),e.mute!==this.props.mute&&this.mute(e.mute),e.volume!==this.props.volume&&this.volume(e.volume),void 0!==e.seek&&e.seek!==this.seek()&&this.seek(e.seek),e.preload&&"unloaded"===this.howlerState()&&this.load()}},{key:"play",value:function(){this.howler.playing()||("unloaded"===this.howlerState()&&this.load(),this.howler.play())}},{key:"pause",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;e?this.howler.pause(e):this.howler.pause()}},{key:"howlerState",value:function(){return this.howler.state()}},{key:"stop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;e?this.howler.stop(e):this.howler.stop()}},{key:"mute",value:function(){var e;(e=this.howler).mute.apply(e,arguments)}},{key:"volume",value:function(){var e;return(e=this.howler).volume.apply(e,arguments)}},{key:"loop",value:function(){var e;return(e=this.howler).loop.apply(e,arguments)}},{key:"seek",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.howler?e||0===e?e||0===e?(this.howler.seek(e),e):void 0:this.howler.seek():0}},{key:"duration",value:function(){return this.howler.duration()}},{key:"load",value:function(){this.howler.load()}},{key:"render",value:function(){return o.default.createElement("div",null)}},{key:"howler",set:function(e){e&&(this._howler=e)},get:function(){return this._howler}}]),t}(a.Component);c.propTypes={src:i.default.oneOfType([i.default.string,i.default.arrayOf(i.default.string)]).isRequired,format:i.default.arrayOf(i.default.string),playing:i.default.bool,mute:i.default.bool,loop:i.default.bool,preload:i.default.bool,volume:i.default.number,onEnd:i.default.func,onPause:i.default.func,onPlay:i.default.func,onVolume:i.default.func,onStop:i.default.func,onLoad:i.default.func,onLoadError:i.default.func,html5:i.default.bool},c.defaultProps={playing:!0,format:[],mute:!1,preload:!0,loop:!1,volume:1,onEnd:l.noop,onPause:l.noop,onPlay:l.noop,onVolume:l.noop,onStop:l.noop,onLoad:l.noop,onLoadError:l.noop,html5:!1},t.default=c},function(e,t,n){"use strict";var r=void 0;"undefined"!=typeof window&&(r=n(136)),e.exports=r},function(e,t,n){(function(n){var r;
/*!
* howler.js v2.1.3
* howlerjs.com
*
* (c) 2013-2019, James Simpson of GoldFire Studios
* goldfirestudios.com
*
* MIT License
*/!function(){"use strict";var a=function(){this.init()};a.prototype={init:function(){var e=this||o;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||o;if(e=parseFloat(e),t.ctx||p(),void 0!==e&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,o.ctx.currentTime);for(var n=0;n<t._howls.length;n++)if(!t._howls[n]._webAudio)for(var r=t._howls[n]._getSoundIds(),a=0;a<r.length;a++){var i=t._howls[n]._soundById(r[a]);i&&i._node&&(i._node.volume=i._volume*e)}return t}return t._volume},mute:function(e){var t=this||o;t.ctx||p(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,o.ctx.currentTime);for(var n=0;n<t._howls.length;n++)if(!t._howls[n]._webAudio)for(var r=t._howls[n]._getSoundIds(),a=0;a<r.length;a++){var i=t._howls[n]._soundById(r[a]);i&&i._node&&(i._node.muted=!!e||i._muted)}return t},unload:function(){for(var e=this||o,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,p()),e},codecs:function(e){return(this||o)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||o;if(e.state=e.ctx&&e.ctx.state||"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{void 0===(new Audio).oncanplaythrough&&(e._canPlayEvent="canplay")}catch(t){e.noAudio=!0}else e.noAudio=!0;try{(new Audio).muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||o,t=null;try{t="undefined"!=typeof Audio?new Audio:null}catch(t){return e}if(!t||"function"!=typeof t.canPlayType)return e;var n=t.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),a=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(a||!n&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!n,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!t.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(t.canPlayType("audio/x-flac;")||t.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||o;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(var r=0;r<e.html5PoolSize;r++)try{var a=new Audio;a._unlocked=!0,e._releaseHtml5Audio(a)}catch(n){e.noAudio=!0}for(r=0;r<e._howls.length;r++)if(!e._howls[r]._webAudio)for(var o=e._howls[r]._getSoundIds(),i=0;i<o.length;i++){var s=e._howls[r]._soundById(o[i]);s&&s._node&&!s._node._unlocked&&(s._node._unlocked=!0,s._node.load())}e._autoResume();var l=e.ctx.createBufferSource();l.buffer=e._scratchBuffer,l.connect(e.ctx.destination),void 0===l.start?l.noteOn(0):l.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),l.onended=function(){l.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),e}},_obtainHtml5Audio:function(){var e=this||o;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=(new Audio).play();return t&&"undefined"!=typeof Promise&&(t instanceof Promise||"function"==typeof t.then)&&t.catch((function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")})),new Audio},_releaseHtml5Audio:function(e){var t=this||o;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&o.usingWebAudio){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio)for(var n=0;n<e._howls[t]._sounds.length;n++)if(!e._howls[t]._sounds[n]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout((function(){e.autoSuspend&&(e._suspendTimer=null,e.state="suspending",e.ctx.suspend().then((function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())})))}),3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&o.usingWebAudio)return"running"===e.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state?(e.ctx.resume().then((function(){e.state="running";for(var t=0;t<e._howls.length;t++)e._howls[t]._emit("resume")})),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var o=new a,i=function(e){e.src&&0!==e.src.length?this.init(e):console.error("An array of source files must be passed with any new Howl.")};i.prototype={init:function(e){var t=this;return o.ctx||p(),t._autoplay=e.autoplay||!1,t._format="string"!=typeof e.format?e.format:[e.format],t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload="boolean"!=typeof e.preload||e.preload,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src="string"!=typeof e.src?e.src:[e.src],t._volume=void 0!==e.volume?e.volume:1,t._xhrWithCredentials=e.xhrWithCredentials||!1,t._duration=0,t._state="unloaded",t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=o.usingWebAudio&&!t._html5,void 0!==o.ctx&&o.ctx&&o.autoUnlock&&o._unlockAudio(),o._howls.push(t),t._autoplay&&t._queue.push({event:"play",action:function(){t.play()}}),t._preload&&t.load(),t},load:function(){var e=null;if(o.noAudio)this._emit("loaderror",null,"No audio support.");else{"string"==typeof this._src&&(this._src=[this._src]);for(var t=0;t<this._src.length;t++){var n,r;if(this._format&&this._format[t])n=this._format[t];else{if("string"!=typeof(r=this._src[t])){this._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}(n=/^data:audio\/([^;,]+);/i.exec(r))||(n=/\.([^.]+)$/.exec(r.split("?",1)[0])),n&&(n=n[1].toLowerCase())}if(n||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),n&&o.codecs(n)){e=this._src[t];break}}if(e)return this._src=e,this._state="loading","https:"===window.location.protocol&&"http:"===e.slice(0,5)&&(this._html5=!0,this._webAudio=!1),new s(this),this._webAudio&&u(this),this;this._emit("loaderror",null,"No codec support for selected audio sources.")}},play:function(e,t){var n=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===n._state&&!n._sprite[e])return null;if(void 0===e&&(e="__default",!n._playLock)){for(var a=0,i=0;i<n._sounds.length;i++)n._sounds[i]._paused&&!n._sounds[i]._ended&&(a++,r=n._sounds[i]._id);1===a?e=null:r=null}}var s=r?n._soundById(r):n._inactiveSound();if(!s)return null;if(r&&!e&&(e=s._sprite||"__default"),"loaded"!==n._state){s._sprite=e,s._ended=!1;var l=s._id;return n._queue.push({event:"play",action:function(){n.play(l)}}),l}if(r&&!s._paused)return t||n._loadQueue("play"),s._id;n._webAudio&&o._autoResume();var u=Math.max(0,s._seek>0?s._seek:n._sprite[e][0]/1e3),c=Math.max(0,(n._sprite[e][0]+n._sprite[e][1])/1e3-u),d=1e3*c/Math.abs(s._rate),f=n._sprite[e][0]/1e3,p=(n._sprite[e][0]+n._sprite[e][1])/1e3;s._sprite=e,s._ended=!1;var m=function(){s._paused=!1,s._seek=u,s._start=f,s._stop=p,s._loop=!(!s._loop&&!n._sprite[e][2])};if(!(u>=p)){var h=s._node;if(n._webAudio){var _=function(){n._playLock=!1,m(),n._refreshBuffer(s);var e=s._muted||n._muted?0:s._volume;h.gain.setValueAtTime(e,o.ctx.currentTime),s._playStart=o.ctx.currentTime,void 0===h.bufferSource.start?s._loop?h.bufferSource.noteGrainOn(0,u,86400):h.bufferSource.noteGrainOn(0,u,c):s._loop?h.bufferSource.start(0,u,86400):h.bufferSource.start(0,u,c),d!==1/0&&(n._endTimers[s._id]=setTimeout(n._ended.bind(n,s),d)),t||setTimeout((function(){n._emit("play",s._id),n._loadQueue()}),0)};"running"===o.state?_():(n._playLock=!0,n.once("resume",_),n._clearTimer(s._id))}else{var y=function(){h.currentTime=u,h.muted=s._muted||n._muted||o._muted||h.muted,h.volume=s._volume*o.volume(),h.playbackRate=s._rate;try{var r=h.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(n._playLock=!0,m(),r.then((function(){n._playLock=!1,h._unlocked=!0,t||(n._emit("play",s._id),n._loadQueue())})).catch((function(){n._playLock=!1,n._emit("playerror",s._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),s._ended=!0,s._paused=!0}))):t||(n._playLock=!1,m(),n._emit("play",s._id),n._loadQueue()),h.playbackRate=s._rate,h.paused)return void n._emit("playerror",s._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||s._loop?n._endTimers[s._id]=setTimeout(n._ended.bind(n,s),d):(n._endTimers[s._id]=function(){n._ended(s),h.removeEventListener("ended",n._endTimers[s._id],!1)},h.addEventListener("ended",n._endTimers[s._id],!1))}catch(e){n._emit("playerror",s._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===h.src&&(h.src=n._src,h.load());var v=window&&window.ejecta||!h.readyState&&o._navigator.isCocoonJS;if(h.readyState>=3||v)y();else{n._playLock=!0;var g=function(){y(),h.removeEventListener(o._canPlayEvent,g,!1)};h.addEventListener(o._canPlayEvent,g,!1),n._clearTimer(s._id)}}return s._id}n._ended(s)},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r<n.length;r++){t._clearTimer(n[r]);var a=t._soundById(n[r]);if(a&&!a._paused&&(a._seek=t.seek(n[r]),a._rateSeek=0,a._paused=!0,t._stopFade(n[r]),a._node))if(t._webAudio){if(!a._node.bufferSource)continue;void 0===a._node.bufferSource.stop?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),t._cleanBuffer(a._node)}else isNaN(a._node.duration)&&a._node.duration!==1/0||a._node.pause();arguments[1]||t._emit("pause",a?a._id:null)}return t},stop:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"stop",action:function(){n.stop(e)}}),n;for(var r=n._getSoundIds(e),a=0;a<r.length;a++){n._clearTimer(r[a]);var o=n._soundById(r[a]);o&&(o._seek=o._start||0,o._rateSeek=0,o._paused=!0,o._ended=!0,n._stopFade(r[a]),o._node&&(n._webAudio?o._node.bufferSource&&(void 0===o._node.bufferSource.stop?o._node.bufferSource.noteOff(0):o._node.bufferSource.stop(0),n._cleanBuffer(o._node)):isNaN(o._node.duration)&&o._node.duration!==1/0||(o._node.currentTime=o._start||0,o._node.pause(),o._node.duration===1/0&&n._clearSound(o._node))),t||n._emit("stop",o._id))}return n},mute:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"mute",action:function(){n.mute(e,t)}}),n;if(void 0===t){if("boolean"!=typeof e)return n._muted;n._muted=e}for(var r=n._getSoundIds(t),a=0;a<r.length;a++){var i=n._soundById(r[a]);i&&(i._muted=e,i._interval&&n._stopFade(i._id),n._webAudio&&i._node?i._node.gain.setValueAtTime(e?0:i._volume,o.ctx.currentTime):i._node&&(i._node.muted=!!o._muted||e),n._emit("mute",i._id))}return n},volume:function(){var e,t,n,r=this,a=arguments;if(0===a.length)return r._volume;if(1===a.length||2===a.length&&void 0===a[1]){var i=r._getSoundIds(),s=i.indexOf(a[0]);s>=0?t=parseInt(a[0],10):e=parseFloat(a[0])}else a.length>=2&&(e=parseFloat(a[0]),t=parseInt(a[1],10));if(!(void 0!==e&&e>=0&&e<=1))return(n=t?r._soundById(t):r._sounds[0])?n._volume:0;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"volume",action:function(){r.volume.apply(r,a)}}),r;void 0===t&&(r._volume=e),t=r._getSoundIds(t);for(var l=0;l<t.length;l++)(n=r._soundById(t[l]))&&(n._volume=e,a[2]||r._stopFade(t[l]),r._webAudio&&n._node&&!n._muted?n._node.gain.setValueAtTime(e,o.ctx.currentTime):n._node&&!n._muted&&(n._node.volume=e*o.volume()),r._emit("volume",n._id));return r},fade:function(e,t,n,r){var a=this;if("loaded"!==a._state||a._playLock)return a._queue.push({event:"fade",action:function(){a.fade(e,t,n,r)}}),a;e=parseFloat(e),t=parseFloat(t),n=parseFloat(n),a.volume(e,r);for(var i=a._getSoundIds(r),s=0;s<i.length;s++){var l=a._soundById(i[s]);if(l){if(r||a._stopFade(i[s]),a._webAudio&&!l._muted){var u=o.ctx.currentTime,c=u+n/1e3;l._volume=e,l._node.gain.setValueAtTime(e,u),l._node.gain.linearRampToValueAtTime(t,c)}a._startFadeInterval(l,e,t,n,i[s],void 0===r)}}return a},_startFadeInterval:function(e,t,n,r,a,o){var i=this,s=t,l=n-t,u=Math.abs(l/.01),c=Math.max(4,u>0?r/u:r),d=Date.now();e._fadeTo=n,e._interval=setInterval((function(){var a=(Date.now()-d)/r;d=Date.now(),s+=l*a,s=Math.max(0,s),s=Math.min(1,s),s=Math.round(100*s)/100,i._webAudio?e._volume=s:i.volume(s,e._id,!0),o&&(i._volume=s),(n<t&&s<=n||n>t&&s>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,i.volume(n,e._id),i._emit("fade",e._id))}),c)},_stopFade:function(e){var t=this._soundById(e);return t&&t._interval&&(this._webAudio&&t._node.gain.cancelScheduledValues(o.ctx.currentTime),clearInterval(t._interval),t._interval=null,this.volume(t._fadeTo,e),t._fadeTo=null,this._emit("fade",e)),this},loop:function(){var e,t,n,r=this,a=arguments;if(0===a.length)return r._loop;if(1===a.length){if("boolean"!=typeof a[0])return!!(n=r._soundById(parseInt(a[0],10)))&&n._loop;e=a[0],r._loop=e}else 2===a.length&&(e=a[0],t=parseInt(a[1],10));for(var o=r._getSoundIds(t),i=0;i<o.length;i++)(n=r._soundById(o[i]))&&(n._loop=e,r._webAudio&&n._node&&n._node.bufferSource&&(n._node.bufferSource.loop=e,e&&(n._node.bufferSource.loopStart=n._start||0,n._node.bufferSource.loopEnd=n._stop)));return r},rate:function(){var e,t,n,r=this,a=arguments;if(0===a.length)t=r._sounds[0]._id;else if(1===a.length){var i=r._getSoundIds(),s=i.indexOf(a[0]);s>=0?t=parseInt(a[0],10):e=parseFloat(a[0])}else 2===a.length&&(e=parseFloat(a[0]),t=parseInt(a[1],10));if("number"!=typeof e)return(n=r._soundById(t))?n._rate:r._rate;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"rate",action:function(){r.rate.apply(r,a)}}),r;void 0===t&&(r._rate=e),t=r._getSoundIds(t);for(var l=0;l<t.length;l++)if(n=r._soundById(t[l])){r.playing(t[l])&&(n._rateSeek=r.seek(t[l]),n._playStart=r._webAudio?o.ctx.currentTime:n._playStart),n._rate=e,r._webAudio&&n._node&&n._node.bufferSource?n._node.bufferSource.playbackRate.setValueAtTime(e,o.ctx.currentTime):n._node&&(n._node.playbackRate=e);var u=r.seek(t[l]),c=(r._sprite[n._sprite][0]+r._sprite[n._sprite][1])/1e3-u,d=1e3*c/Math.abs(n._rate);!r._endTimers[t[l]]&&n._paused||(r._clearTimer(t[l]),r._endTimers[t[l]]=setTimeout(r._ended.bind(r,n),d)),r._emit("rate",n._id)}return r},seek:function(){var e,t,n=this,r=arguments;if(0===r.length)t=n._sounds[0]._id;else if(1===r.length){var a=n._getSoundIds(),i=a.indexOf(r[0]);i>=0?t=parseInt(r[0],10):n._sounds.length&&(t=n._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if(void 0===t)return n;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"seek",action:function(){n.seek.apply(n,r)}}),n;var s=n._soundById(t);if(s){if(!("number"==typeof e&&e>=0)){if(n._webAudio){var l=n.playing(t)?o.ctx.currentTime-s._playStart:0,u=s._rateSeek?s._rateSeek-s._seek:0;return s._seek+(u+l*Math.abs(s._rate))}return s._node.currentTime}var c=n.playing(t);c&&n.pause(t,!0),s._seek=e,s._ended=!1,n._clearTimer(t),n._webAudio||!s._node||isNaN(s._node.duration)||(s._node.currentTime=e);var d=function(){n._emit("seek",t),c&&n.play(t,!0)};if(c&&!n._webAudio){var f=function(){n._playLock?setTimeout(f,0):d()};setTimeout(f,0)}else d()}return n},playing:function(e){if("number"==typeof e){var t=this._soundById(e);return!!t&&!t._paused}for(var n=0;n<this._sounds.length;n++)if(!this._sounds[n]._paused)return!0;return!1},duration:function(e){var t=this._duration,n=this._soundById(e);return n&&(t=this._sprite[n._sprite][1]/1e3),t},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,n=0;n<t.length;n++)t[n]._paused||e.stop(t[n]._id),e._webAudio||(e._clearSound(t[n]._node),t[n]._node.removeEventListener("error",t[n]._errorFn,!1),t[n]._node.removeEventListener(o._canPlayEvent,t[n]._loadFn,!1),o._releaseHtml5Audio(t[n]._node)),delete t[n]._node,e._clearTimer(t[n]._id);var r=o._howls.indexOf(e);r>=0&&o._howls.splice(r,1);var a=!0;for(n=0;n<o._howls.length;n++)if(o._howls[n]._src===e._src||e._src.indexOf(o._howls[n]._src)>=0){a=!1;break}return l&&a&&delete l[e._src],o.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,r){var a=this["_on"+e];return"function"==typeof t&&a.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),this},off:function(e,t,n){var r=this["_on"+e],a=0;if("number"==typeof t&&(n=t,t=null),t||n)for(a=0;a<r.length;a++){var o=n===r[a].id;if(t===r[a].fn&&o||!t&&o){r.splice(a,1);break}}else if(e)this["_on"+e]=[];else{var i=Object.keys(this);for(a=0;a<i.length;a++)0===i[a].indexOf("_on")&&Array.isArray(this[i[a]])&&(this[i[a]]=[])}return this},once:function(e,t,n){return this.on(e,t,n,1),this},_emit:function(e,t,n){for(var r=this["_on"+e],a=r.length-1;a>=0;a--)r[a].id&&r[a].id!==t&&"load"!==e||(setTimeout(function(e){e.call(this,t,n)}.bind(this,r[a].fn),0),r[a].once&&this.off(e,r[a].fn,r[a].id));return this._loadQueue(e),this},_loadQueue:function(e){if(this._queue.length>0){var t=this._queue[0];t.event===e&&(this._queue.shift(),this._loadQueue()),e||t.action()}return this},_ended:function(e){var t=e._sprite;if(!this._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(this._ended.bind(this,e),100),this;var n=!(!e._loop&&!this._sprite[t][2]);if(this._emit("end",e._id),!this._webAudio&&n&&this.stop(e._id,!0).play(e._id),this._webAudio&&n){this._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=o.ctx.currentTime;var r=1e3*(e._stop-e._start)/Math.abs(e._rate);this._endTimers[e._id]=setTimeout(this._ended.bind(this,e),r)}return this._webAudio&&!n&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,this._clearTimer(e._id),this._cleanBuffer(e._node),o._autoSuspend()),this._webAudio||n||this.stop(e._id,!0),this},_clearTimer:function(e){if(this._endTimers[e]){if("function"!=typeof this._endTimers[e])clearTimeout(this._endTimers[e]);else{var t=this._soundById(e);t&&t._node&&t._node.removeEventListener("ended",this._endTimers[e],!1)}delete this._endTimers[e]}return this},_soundById:function(e){for(var t=0;t<this._sounds.length;t++)if(e===this._sounds[t]._id)return this._sounds[t];return null},_inactiveSound:function(){this._drain();for(var e=0;e<this._sounds.length;e++)if(this._sounds[e]._ended)return this._sounds[e].reset();return new s(this)},_drain:function(){var e=this._pool,t=0,n=0;if(!(this._sounds.length<e)){for(n=0;n<this._sounds.length;n++)this._sounds[n]._ended&&t++;for(n=this._sounds.length-1;n>=0;n--){if(t<=e)return;this._sounds[n]._ended&&(this._webAudio&&this._sounds[n]._node&&this._sounds[n]._node.disconnect(0),this._sounds.splice(n,1),t--)}}},_getSoundIds:function(e){if(void 0===e){for(var t=[],n=0;n<this._sounds.length;n++)t.push(this._sounds[n]._id);return t}return[e]},_refreshBuffer:function(e){return e._node.bufferSource=o.ctx.createBufferSource(),e._node.bufferSource.buffer=l[this._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,o.ctx.currentTime),this},_cleanBuffer:function(e){var t=o._navigator&&o._navigator.vendor.indexOf("Apple")>=0;if(o._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=o._scratchBuffer}catch(e){}return e.bufferSource=null,this},_clearSound:function(e){/MSIE |Trident\//.test(o._navigator&&o._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var s=function(e){this._parent=e,this.init()};s.prototype={init:function(){var e=this._parent;return this._muted=e._muted,this._loop=e._loop,this._volume=e._volume,this._rate=e._rate,this._seek=0,this._paused=!0,this._ended=!0,this._sprite="__default",this._id=++o._counter,e._sounds.push(this),this.create(),this},create:function(){var e=this._parent,t=o._muted||this._muted||this._parent._muted?0:this._volume;return e._webAudio?(this._node=void 0===o.ctx.createGain?o.ctx.createGainNode():o.ctx.createGain(),this._node.gain.setValueAtTime(t,o.ctx.currentTime),this._node.paused=!0,this._node.connect(o.masterGain)):o.noAudio||(this._node=o._obtainHtml5Audio(),this._errorFn=this._errorListener.bind(this),this._node.addEventListener("error",this._errorFn,!1),this._loadFn=this._loadListener.bind(this),this._node.addEventListener(o._canPlayEvent,this._loadFn,!1),this._node.src=e._src,this._node.preload="auto",this._node.volume=t*o.volume(),this._node.load()),this},reset:function(){var e=this._parent;return this._muted=e._muted,this._loop=e._loop,this._volume=e._volume,this._rate=e._rate,this._seek=0,this._rateSeek=0,this._paused=!0,this._ended=!0,this._sprite="__default",this._id=++o._counter,this},_errorListener:function(){this._parent._emit("loaderror",this._id,this._node.error?this._node.error.code:0),this._node.removeEventListener("error",this._errorFn,!1)},_loadListener:function(){var e=this._parent;e._duration=Math.ceil(10*this._node.duration)/10,0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue()),this._node.removeEventListener(o._canPlayEvent,this._loadFn,!1)}};var l={},u=function(e){var t=e._src;if(l[t])return e._duration=l[t].duration,void f(e);if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(",")[1]),r=new Uint8Array(n.length),a=0;a<n.length;++a)r[a]=n.charCodeAt(a);d(r.buffer,e)}else{var o=new XMLHttpRequest;o.open("GET",t,!0),o.withCredentials=e._xhrWithCredentials,o.responseType="arraybuffer",o.onload=function(){var t=(o.status+"")[0];"0"===t||"2"===t||"3"===t?d(o.response,e):e._emit("loaderror",null,"Failed loading audio file with status: "+o.status+".")},o.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete l[t],e.load())},c(o)}},c=function(e){try{e.send()}catch(t){e.onerror()}},d=function(e,t){var n=function(){t._emit("loaderror",null,"Decoding audio data failed.")},r=function(e){e&&t._sounds.length>0?(l[t._src]=e,f(t,e)):n()};"undefined"!=typeof Promise&&1===o.ctx.decodeAudioData.length?o.ctx.decodeAudioData(e).then(r).catch(n):o.ctx.decodeAudioData(e,r,n)},f=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},p=function(){if(o.usingWebAudio){try{"undefined"!=typeof AudioContext?o.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?o.ctx=new webkitAudioContext:o.usingWebAudio=!1}catch(e){o.usingWebAudio=!1}o.ctx||(o.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(o._navigator&&o._navigator.platform),t=o._navigator&&o._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),n=t?parseInt(t[1],10):null;if(e&&n&&n<9){var r=/safari/.test(o._navigator&&o._navigator.userAgent.toLowerCase());(o._navigator&&o._navigator.standalone&&!r||o._navigator&&!o._navigator.standalone&&!r)&&(o.usingWebAudio=!1)}o.usingWebAudio&&(o.masterGain=void 0===o.ctx.createGain?o.ctx.createGainNode():o.ctx.createGain(),o.masterGain.gain.setValueAtTime(o._muted?0:o._volume,o.ctx.currentTime),o.masterGain.connect(o.ctx.destination)),o._setup()}};void 0===(r=function(){return{Howler:o,Howl:i}}.apply(t,[]))||(e.exports=r),t.Howler=o,t.Howl=i,"undefined"!=typeof window?(window.HowlerGlobal=a,window.Howler=o,window.Howl=i,window.Sound=s):void 0!==n&&(n.HowlerGlobal=a,n.Howler=o,n.Howl=i,n.Sound=s)}(),
/*!
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
*
* howler.js v2.1.3
* howlerjs.com
*
* (c) 2013-2019, James Simpson of GoldFire Studios
* goldfirestudios.com
*
* MIT License
*/
function(){"use strict";var e;HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){if(!this.ctx||!this.ctx.listener)return this;for(var t=this._howls.length-1;t>=0;t--)this._howls[t].stereo(e);return this},HowlerGlobal.prototype.pos=function(e,t,n){return this.ctx&&this.ctx.listener?(t="number"!=typeof t?this._pos[1]:t,n="number"!=typeof n?this._pos[2]:n,"number"!=typeof e?this._pos:(this._pos=[e,t,n],void 0!==this.ctx.listener.positionX?(this.ctx.listener.positionX.setTargetAtTime(this._pos[0],Howler.ctx.currentTime,.1),this.ctx.listener.positionY.setTargetAtTime(this._pos[1],Howler.ctx.currentTime,.1),this.ctx.listener.positionZ.setTargetAtTime(this._pos[2],Howler.ctx.currentTime,.1)):this.ctx.listener.setPosition(this._pos[0],this._pos[1],this._pos[2]),this)):this},HowlerGlobal.prototype.orientation=function(e,t,n,r,a,o){if(!this.ctx||!this.ctx.listener)return this;var i=this._orientation;return t="number"!=typeof t?i[1]:t,n="number"!=typeof n?i[2]:n,r="number"!=typeof r?i[3]:r,a="number"!=typeof a?i[4]:a,o="number"!=typeof o?i[5]:o,"number"!=typeof e?i:(this._orientation=[e,t,n,r,a,o],void 0!==this.ctx.listener.forwardX?(this.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),this.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),this.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),this.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),this.ctx.listener.upY.setTargetAtTime(a,Howler.ctx.currentTime,.1),this.ctx.listener.upZ.setTargetAtTime(o,Howler.ctx.currentTime,.1)):this.ctx.listener.setOrientation(e,t,n,r,a,o),this)},Howl.prototype.init=(e=Howl.prototype.init,function(t){return this._orientation=t.orientation||[1,0,0],this._stereo=t.stereo||null,this._pos=t.pos||null,this._pannerAttr={coneInnerAngle:void 0!==t.coneInnerAngle?t.coneInnerAngle:360,coneOuterAngle:void 0!==t.coneOuterAngle?t.coneOuterAngle:360,coneOuterGain:void 0!==t.coneOuterGain?t.coneOuterGain:0,distanceModel:void 0!==t.distanceModel?t.distanceModel:"inverse",maxDistance:void 0!==t.maxDistance?t.maxDistance:1e4,panningModel:void 0!==t.panningModel?t.panningModel:"HRTF",refDistance:void 0!==t.refDistance?t.refDistance:1,rolloffFactor:void 0!==t.rolloffFactor?t.rolloffFactor:1},this._onstereo=t.onstereo?[{fn:t.onstereo}]:[],this._onpos=t.onpos?[{fn:t.onpos}]:[],this._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}),Howl.prototype.stereo=function(e,n){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(e,n)}}),r;var a=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===n){if("number"!=typeof e)return r._stereo;r._stereo=e,r._pos=[e,0,0]}for(var o=r._getSoundIds(n),i=0;i<o.length;i++){var s=r._soundById(o[i]);if(s){if("number"!=typeof e)return s._stereo;s._stereo=e,s._pos=[e,0,0],s._node&&(s._pannerAttr.panningModel="equalpower",s._panner&&s._panner.pan||t(s,a),"spatial"===a?void 0!==s._panner.positionX?(s._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),s._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),s._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):s._panner.setPosition(e,0,0):s._panner.pan.setValueAtTime(e,Howler.ctx.currentTime)),r._emit("stereo",s._id)}}return r},Howl.prototype.pos=function(e,n,r,a){var o=this;if(!o._webAudio)return o;if("loaded"!==o._state)return o._queue.push({event:"pos",action:function(){o.pos(e,n,r,a)}}),o;if(n="number"!=typeof n?0:n,r="number"!=typeof r?-.5:r,void 0===a){if("number"!=typeof e)return o._pos;o._pos=[e,n,r]}for(var i=o._getSoundIds(a),s=0;s<i.length;s++){var l=o._soundById(i[s]);if(l){if("number"!=typeof e)return l._pos;l._pos=[e,n,r],l._node&&(l._panner&&!l._panner.pan||t(l,"spatial"),void 0!==l._panner.positionX?(l._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime)):l._panner.setPosition(e,n,r)),o._emit("pos",l._id)}}return o},Howl.prototype.orientation=function(e,n,r,a){var o=this;if(!o._webAudio)return o;if("loaded"!==o._state)return o._queue.push({event:"orientation",action:function(){o.orientation(e,n,r,a)}}),o;if(n="number"!=typeof n?o._orientation[1]:n,r="number"!=typeof r?o._orientation[2]:r,void 0===a){if("number"!=typeof e)return o._orientation;o._orientation=[e,n,r]}for(var i=o._getSoundIds(a),s=0;s<i.length;s++){var l=o._soundById(i[s]);if(l){if("number"!=typeof e)return l._orientation;l._orientation=[e,n,r],l._node&&(l._panner||(l._pos||(l._pos=o._pos||[0,0,-.5]),t(l,"spatial")),void 0!==l._panner.orientationX?(l._panner.orientationX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.orientationY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime)):l._panner.setOrientation(e,n,r)),o._emit("orientation",l._id)}}return o},Howl.prototype.pannerAttr=function(){var e,n,r,a=this,o=arguments;if(!a._webAudio)return a;if(0===o.length)return a._pannerAttr;if(1===o.length){if("object"!=typeof o[0])return(r=a._soundById(parseInt(o[0],10)))?r._pannerAttr:a._pannerAttr;e=o[0],void 0===n&&(e.pannerAttr||(e.pannerAttr={coneInnerAngle:e.coneInnerAngle,coneOuterAngle:e.coneOuterAngle,coneOuterGain:e.coneOuterGain,distanceModel:e.distanceModel,maxDistance:e.maxDistance,refDistance:e.refDistance,rolloffFactor:e.rolloffFactor,panningModel:e.panningModel}),a._pannerAttr={coneInnerAngle:void 0!==e.pannerAttr.coneInnerAngle?e.pannerAttr.coneInnerAngle:a._coneInnerAngle,coneOuterAngle:void 0!==e.pannerAttr.coneOuterAngle?e.pannerAttr.coneOuterAngle:a._coneOuterAngle,coneOuterGain:void 0!==e.pannerAttr.coneOuterGain?e.pannerAttr.coneOuterGain:a._coneOuterGain,distanceModel:void 0!==e.pannerAttr.distanceModel?e.pannerAttr.distanceModel:a._distanceModel,maxDistance:void 0!==e.pannerAttr.maxDistance?e.pannerAttr.maxDistance:a._maxDistance,refDistance:void 0!==e.pannerAttr.refDistance?e.pannerAttr.refDistance:a._refDistance,rolloffFactor:void 0!==e.pannerAttr.rolloffFactor?e.pannerAttr.rolloffFactor:a._rolloffFactor,panningModel:void 0!==e.pannerAttr.panningModel?e.pannerAttr.panningModel:a._panningModel})}else 2===o.length&&(e=o[0],n=parseInt(o[1],10));for(var i=a._getSoundIds(n),s=0;s<i.length;s++)if(r=a._soundById(i[s])){var l=r._pannerAttr;l={coneInnerAngle:void 0!==e.coneInnerAngle?e.coneInnerAngle:l.coneInnerAngle,coneOuterAngle:void 0!==e.coneOuterAngle?e.coneOuterAngle:l.coneOuterAngle,coneOuterGain:void 0!==e.coneOuterGain?e.coneOuterGain:l.coneOuterGain,distanceModel:void 0!==e.distanceModel?e.distanceModel:l.distanceModel,maxDistance:void 0!==e.maxDistance?e.maxDistance:l.maxDistance,refDistance:void 0!==e.refDistance?e.refDistance:l.refDistance,rolloffFactor:void 0!==e.rolloffFactor?e.rolloffFactor:l.rolloffFactor,panningModel:void 0!==e.panningModel?e.panningModel:l.panningModel};var u=r._panner;u?(u.coneInnerAngle=l.coneInnerAngle,u.coneOuterAngle=l.coneOuterAngle,u.coneOuterGain=l.coneOuterGain,u.distanceModel=l.distanceModel,u.maxDistance=l.maxDistance,u.refDistance=l.refDistance,u.rolloffFactor=l.rolloffFactor,u.panningModel=l.panningModel):(r._pos||(r._pos=a._pos||[0,0,-.5]),t(r,"spatial"))}return a},Sound.prototype.init=function(e){return function(){var t=this._parent;this._orientation=t._orientation,this._stereo=t._stereo,this._pos=t._pos,this._pannerAttr=t._pannerAttr,e.call(this),this._stereo?t.stereo(this._stereo):this._pos&&t.pos(this._pos[0],this._pos[1],this._pos[2],this._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var t=this._parent;return this._orientation=t._orientation,this._stereo=t._stereo,this._pos=t._pos,this._pannerAttr=t._pannerAttr,this._stereo?t.stereo(this._stereo):this._pos?t.pos(this._pos[0],this._pos[1],this._pos[2],this._id):this._panner&&(this._panner.disconnect(0),this._panner=void 0,t._refreshBuffer(this)),e.call(this)}}(Sound.prototype.reset);var t=function(e,t){"spatial"===(t=t||"spatial")?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,void 0!==e._panner.positionX?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),void 0!==e._panner.orientationX?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}()}).call(this,n(47))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.noop=function(){}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=m(n(0)),o=n(3),i=n(2),s=n(26),l=m(n(17)),u=m(n(5)),c=m(n(140)),d=p(n(1)),f=p(n(6));function p(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}var h=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"renderStatusIcon",value:function(){var e=this.props,t=e.update_available,n=e.mopidy_connected,r=e.pusher_connected,o=e.snapcast_connected,i=e.snapcast_enabled;return t?a.default.createElement("span",{className:"status tooltip tooltip--right"},a.default.createElement(u.default,{name:"cloud_download",className:"green-text"}),a.default.createElement("span",{className:"tooltip__content"},"Update available")):navigator.onLine?!n||!r||!o&&i?a.default.createElement("span",{className:"status tooltip tooltip--right"},a.default.createElement(u.default,{name:"warning",className:"red-text"}),a.default.createElement("span",{className:"tooltip__content"},!n&&a.default.createElement("span",null,"Mopidy not connected",a.default.createElement("br",null)),!r&&a.default.createElement("span",null,"Pusher not connected",a.default.createElement("br",null)),!o&&i&&a.default.createElement("span",null,"Snapcast not connected",a.default.createElement("br",null)))):null:a.default.createElement("span",{className:"status tooltip tooltip--right"},a.default.createElement(u.default,{name:"wifi_off",className:"red-text"}),a.default.createElement("span",{className:"tooltip__content"},"Browser offline"))}},{key:"render",value:function(){var e=this.props,t=e.history,n=e.spotify_enabled,r=e.uiActions;return a.default.createElement("aside",{className:"sidebar"},a.default.createElement("div",{className:"sidebar__liner"},a.default.createElement("nav",{className:"sidebar__menu"},a.default.createElement("section",{className:"sidebar__menu__section"},a.default.createElement(l.default,{to:"/queue",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"play_arrow",type:"material"}),"Now playing"),a.default.createElement(l.default,{to:"/search",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"search",type:"material"}),"Search")),n&&a.default.createElement("section",{className:"sidebar__menu__section"},a.default.createElement("title",{className:"sidebar__menu__section__title"},"Discover"),a.default.createElement(l.default,{to:"/discover/recommendations",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"explore",type:"material"}),"Discover"),a.default.createElement(l.default,{to:"/discover/categories",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"mood",type:"material"}),"Genre / Mood"),a.default.createElement(l.default,{to:"/discover/featured",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"star",type:"material"}),"Featured playlists"),a.default.createElement(l.default,{to:"/discover/new-releases",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"new_releases",type:"material"}),"New releases")),a.default.createElement("section",{className:"sidebar__menu__section"},a.default.createElement("title",{className:"sidebar__menu__section__title"},"My Music"),a.default.createElement(l.default,{to:"/library/playlists",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"queue_music",type:"material"}),"Playlists"),a.default.createElement(l.default,{to:"/library/artists",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"recent_actors",type:"material"}),"Artists"),a.default.createElement(l.default,{to:"/library/albums",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"album",type:"material"}),"Albums"),a.default.createElement(l.default,{to:"/library/tracks",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"music_note",type:"material"}),"Tracks"),a.default.createElement(l.default,{to:"/library/browse",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"folder",type:"material"}),"Browse")),a.default.createElement("section",{className:"sidebar__menu__section"},a.default.createElement(l.default,{to:"/settings",history:t,className:"sidebar__menu__item",activeClassName:"sidebar__menu__item--active"},a.default.createElement(u.default,{name:"settings",type:"material"}),"Settings",this.renderStatusIcon())))),a.default.createElement(c.default,null),a.default.createElement("div",{className:"close",onClick:function(e){return r.toggleSidebar(!1)}},a.default.createElement(u.default,{name:"close"})))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,pusher_connected:e.pusher.connected,spotify_enabled:e.spotify.enabled,spotify_authorized:e.spotify.authorization,snapcast_connected:e.snapcast.connected,snapcast_enabled:e.snapcast.enabled,update_available:!(!e.pusher.version||!e.pusher.version.update_available)&&e.pusher.version.update_available,test_mode:!!e.ui.test_mode&&e.ui.test_mode,dragger:e.ui.dragger}}),(function(e){return{uiActions:(0,i.bindActionCreators)(d,e),mopidyActions:(0,i.bindActionCreators)(f,e)}}))((0,s.withRouter)(h))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=s(n(0)),i=s(n(10));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.displayName="FontAwesome",e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"render",value:function(){var e=this.props,t=e.border,n=e.cssModule,a=e.className,i=e.fixedWidth,s=e.flip,l=e.inverse,u=e.name,c=e.pulse,d=e.rotate,f=e.size,p=e.spin,m=e.stack,h=e.tag,_=void 0===h?"span":h,y=e.ariaLabel,v=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["border","cssModule","className","fixedWidth","flip","inverse","name","pulse","rotate","size","spin","stack","tag","ariaLabel"]),g=y?{"aria-label":y}:{"aria-hidden":!0},b=[];return n?(b.push(n.fa),b.push(n["fa-"+u]),f&&b.push(n["fa-"+f]),p&&b.push(n["fa-spin"]),c&&b.push(n["fa-pulse"]),t&&b.push(n["fa-border"]),i&&b.push(n["fa-fw"]),l&&b.push(n["fa-inverse"]),s&&b.push(n["fa-flip-"+s]),d&&b.push(n["fa-rotate-"+d]),m&&b.push(n["fa-stack-"+m])):(b.push("fa"),b.push("fa-"+u),f&&b.push("fa-"+f),p&&b.push("fa-spin"),c&&b.push("fa-pulse"),t&&b.push("fa-border"),i&&b.push("fa-fw"),l&&b.push("fa-inverse"),s&&b.push("fa-flip-"+s),d&&b.push("fa-rotate-"+d),m&&b.push("fa-stack-"+m)),a&&b.push(a),o.default.createElement(_,r({},v,g,{className:b.join(" ")}))}}]),t}(o.default.Component);l.propTypes={ariaLabel:i.default.string,border:i.default.bool,className:i.default.string,cssModule:i.default.object,fixedWidth:i.default.bool,flip:i.default.oneOf(["horizontal","vertical"]),inverse:i.default.bool,name:i.default.string.isRequired,pulse:i.default.bool,rotate:i.default.oneOf([90,180,270]),size:i.default.oneOf(["lg","2x","3x","4x","5x"]),spin:i.default.bool,stack:i.default.oneOf(["1x","2x"]),tag:i.default.string},t.default=l,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=n(3),i=n(2),s=n(26),l=p(n(141)),u=f(n(1)),c=f(n(6)),d=f(n(7));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._zones=[{title:"Add to queue",icon:"play_arrow",action:"enqueue"},{title:"Play next",icon:"play_arrow",action:"enqueue_next"},{title:"Add to playlist",icon:"playlist_add",action:"add_to_playlist",accepts:["tltrack","track","album","playlist","artist"]}],n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"handleMouseMove",value:function(e){if(!this.props.dragger||!this.props.dragger.active)return null;this.props.uiActions.dragMove(e)}},{key:"handleMouseUp",value:function(e,t){for(var n=this._zones[t],r=this.props.dragger.victims,a=[],o=0;o<r.length;o++)a.push(r[o].uri);switch(n.action){case"enqueue":this.props.mopidyActions.enqueueURIs(a,this.props.dragger.from_uri);break;case"enqueue_next":this.props.mopidyActions.enqueueURIs(a,this.props.dragger.from_uri,!0);break;case"add_to_playlist":this.props.history.push("/add-to-playlist/"+encodeURIComponent(a.join(",")))}}},{key:"render",value:function(){var e=this;return this.props.dragger&&this.props.dragger.active?a.default.createElement("div",{className:"dropzones"},this._zones.map((function(t,n){return a.default.createElement(l.default,{key:n,data:t,handleMouseUp:function(t){return e.handleMouseUp(t,n)}})}))):null}}]),t}(a.default.Component);t.default=(0,s.withRouter)((0,o.connect)((function(e,t){return{dragger:e.ui.dragger}}),(function(e){return{uiActions:(0,i.bindActionCreators)(u,e),spotifyActions:(0,i.bindActionCreators)(d,e),mopidyActions:(0,i.bindActionCreators)(c,e)}}))(m))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=i(n(0)),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={hover:!1},n.handleMouseOver=n.handleMouseOver.bind(n),n.handleMouseOut=n.handleMouseOut.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){window.addEventListener("mouseover",this.handleMouseOver,!1),window.addEventListener("mouseout",this.handleMouseOut,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mouseover",this.handleMouseOver,!1),window.removeEventListener("mouseout",this.handleMouseOut,!1)}},{key:"handleMouseOver",value:function(e){this.setState({hover:!0})}},{key:"handleMouseOut",value:function(e){this.setState({hover:!1})}},{key:"render",value:function(){var e=this;return this.props.data?a.default.createElement("div",{className:this.state.hover?"dropzone hover":"dropzone",onMouseUp:function(t){return e.props.handleMouseUp(t)}},a.default.createElement(o.default,{name:this.props.data.icon}),a.default.createElement("span",{className:"title"},this.props.data.title)):null}}]),t}(a.default.Component);t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=w(n(0)),i=n(3),s=n(2),l=w(n(17)),u=w(n(74)),c=w(n(48)),d=w(n(49)),f=w(n(143)),p=w(n(37)),m=w(n(30)),h=w(n(19)),_=w(n(5)),y=w(n(144)),v=n(4),g=k(n(1)),b=k(n(8)),E=k(n(6));function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function w(e){return e&&e.__esModule?e:{default:e}}var S=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleTouchStart=function(e){if(n.props.touch_enabled){var t=Math.floor(Date.now());return n.start_time=t,n.start_position={x:e.touches[0].clientX},!1}},n.handleTouchEnd=function(e){if(n.props.touch_enabled){var t=Math.floor(Date.now()),r=e.changedTouches[0].clientX;if(n.start_time+200<t)return!1;n.start_position.x+10>r&&n.start_position.x-10<r?((0,v.scrollTo)(null,!1),n.props.history.push("/queue")):n.start_position.x<r?(n.setTransition("previous"),n.props.mopidyActions.previous()):n.start_position.x>r&&(n.setTransition("next"),n.props.mopidyActions.next()),n.end_time=t,e.preventDefault()}},n.stream=null,n.state={expanded:!1,current_track:null,transition_track:null,transition_direction:null},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"setTransition",value:function(e){var t=this;this.setState({transition_track:this.state.current_track,transition_direction:e}),setTimeout((function(){t.setState({transition_track:null})}),250)}},{key:"renderPlayButton",value:function(){var e=this,t=o.default.createElement("button",{className:"control play",onClick:function(){return e.props.mopidyActions.play()}},o.default.createElement(_.default,{name:"play_circle_filled",type:"material"}));return"playing"==this.props.play_state&&(t=o.default.createElement("button",{className:"control play",onClick:function(){return e.props.mopidyActions.pause()}},o.default.createElement(_.default,{name:"pause_circle_filled",type:"material"}))),t}},{key:"renderConsumeButton",value:function(){var e=this,t=o.default.createElement("button",{className:"control tooltip",onClick:function(){return e.props.mopidyActions.setConsume(!0)}},o.default.createElement(_.default,{name:"restaurant",type:"material"}),o.default.createElement("span",{className:"tooltip__content"},"Consume"));return this.props.consume&&(t=o.default.createElement("button",{className:"control control--active tooltip",onClick:function(){return e.props.mopidyActions.setConsume(!1)}},o.default.createElement(_.default,{name:"restaurant",type:"material"}),o.default.createElement("span",{className:"tooltip__content"},"Consume"))),t}},{key:"renderRandomButton",value:function(){var e=this,t=o.default.createElement("button",{className:"control tooltip",onClick:function(){return e.props.mopidyActions.setRandom(!0)}},o.default.createElement(_.default,{name:"shuffle",type:"material"}),o.default.createElement("span",{className:"tooltip__content"},"Shuffle"));return this.props.random&&(t=o.default.createElement("button",{className:"control control--active tooltip",onClick:function(){return e.props.mopidyActions.setRandom(!1)}},o.default.createElement(_.default,{name:"shuffle",type:"material"}),o.default.createElement("span",{className:"tooltip__content"},"Shuffle"))),t}},{key:"renderRepeatButton",value:function(){var e=this,t=o.default.createElement("button",{className:"control tooltip",onClick:function(){return e.props.mopidyActions.setRepeat(!0)}},o.default.createElement(_.default,{name:"repeat"}),o.default.createElement("span",{className:"tooltip__content"},"Repeat"));return this.props.repeat&&(t=o.default.createElement("button",{className:"control control--active tooltip",onClick:function(){return e.props.mopidyActions.setRepeat(!1)}},o.default.createElement(_.default,{name:"repeat"}),o.default.createElement("span",{className:"tooltip__content"},"Repeat"))),t}},{key:"render",value:function(){var e=this,t=this.props,n=t.next_track,r=t.touch_enabled,a=t.time_position,i=this.state,s=i.current_track,v=i.expanded,g=i.transition_track,b=i.transition_direction;return o.default.createElement("div",{className:"playback-controls"+(v?" playback-controls--expanded":"")+(r?" playback-controls--touch-enabled":"")},o.default.createElement("div",{className:"playback-controls__background"}),o.default.createElement(y.default,null),n&&n.images?o.default.createElement(h.default,{className:"hide",size:"large",images:n.images}):null,o.default.createElement("div",{className:"current-track__wrapper",transition:g,direction:b},g&&b&&o.default.createElement("div",{className:"current-track current-track__outgoing"},o.default.createElement("div",{className:"text"},o.default.createElement("div",{className:"title"},g.name),o.default.createElement("div",{className:"artist"},o.default.createElement(m.default,{items:g.artists,nolinks:!0})))),!s||g&&g.tlid===s.tlid?o.default.createElement("div",{className:"current-track",onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,tabIndex:"-1"},o.default.createElement(l.default,{className:"thumbnail-wrapper",to:"/kiosk-mode",tabIndex:"-1"},o.default.createElement(h.default,{size:"small",type:"track"})),o.default.createElement("div",{className:"text"},o.default.createElement("div",{className:"title"}," "),o.default.createElement("div",{className:"artist"}," "))):o.default.createElement("div",{className:"current-track current-track__incoming",onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,tabIndex:"-1",key:s.tlid},o.default.createElement(l.default,{className:"thumbnail-wrapper",to:"/kiosk-mode",tabIndex:"-1"},o.default.createElement(h.default,{size:"small",images:s.images,type:"track"})),o.default.createElement("div",{className:"text"},o.default.createElement("div",{className:"title"},s?s.name:o.default.createElement("span",null,"-")),o.default.createElement("div",{className:"artist"},s?o.default.createElement(m.default,{items:s.artists}):o.default.createElement(m.default,null))))),o.default.createElement("section",{className:"playback"},o.default.createElement("button",{className:"control previous",onClick:function(){return e.props.mopidyActions.previous()}},o.default.createElement(_.default,{name:"navigate_before",type:"material"})),this.renderPlayButton(),o.default.createElement("button",{className:"control next",onClick:function(){return e.props.mopidyActions.next()}},o.default.createElement(_.default,{name:"navigate_next",type:"material"}))),o.default.createElement("section",{className:"progress"},o.default.createElement("div",{className:"time time--current"},a?o.default.createElement(p.default,{type:"length",data:a}):"-"),o.default.createElement(u.default,null),o.default.createElement("div",{className:"time time--total"},s?o.default.createElement(p.default,{type:"length",data:s.duration}):"-")),o.default.createElement("section",{className:"settings"},this.renderConsumeButton(),this.renderRandomButton(),this.renderRepeatButton(),o.default.createElement(f.default,{force_expanded:this.state.expanded})),o.default.createElement("section",{className:"volume"},o.default.createElement(d.default,{mute:this.props.mute,onMuteChange:function(t){return e.props.mopidyActions.setMute(t)}}),o.default.createElement(c.default,{scrollWheel:!0,volume:this.props.volume,mute:this.props.mute,onVolumeChange:function(t){return e.props.mopidyActions.setVolume(t)}})),o.default.createElement("section",{className:"triggers"},o.default.createElement("button",{className:"control expanded-controls",onClick:function(t){return e.setState({expanded:!e.state.expanded})}},this.state.expanded?o.default.createElement(_.default,{name:"expand_more",type:"material"}):o.default.createElement(_.default,{name:"expand_less",type:"material"})),o.default.createElement("button",{className:"control sidebar-toggle"+(this.props.sidebar_open?" open":""),onClick:function(t){return e.props.uiActions.toggleSidebar()}},o.default.createElement(_.default,{className:"open",name:"menu",type:"material"}))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.current_track;return r({},t,{current_track:n})}}]),t}(o.default.Component);t.default=(0,i.connect)((function(e){return{snapcast_enabled:e.pusher.config.snapcast_enabled,current_track:e.core.current_track&&void 0!==e.core.tracks[e.core.current_track.uri]?e.core.tracks[e.core.current_track.uri]:null,next_track:e.core.next_track_uri&&void 0!==e.core.tracks[e.core.next_track_uri]?e.core.tracks[e.core.next_track_uri]:null,radio_enabled:!(!e.ui.radio||!e.ui.radio.enabled),play_state:e.mopidy.play_state,time_position:e.mopidy.time_position,consume:e.mopidy.consume,repeat:e.mopidy.repeat,random:e.mopidy.random,volume:e.mopidy.volume,mute:e.mopidy.mute,sidebar_open:e.ui.sidebar_open,slim_mode:e.ui.slim_mode,touch_enabled:e.ui.playback_controls_touch_enabled}}),(function(e){return{coreActions:(0,s.bindActionCreators)(b,e),uiActions:(0,s.bindActionCreators)(g,e),mopidyActions:(0,s.bindActionCreators)(E,e)}}))(S)},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=y(n(0)),o=n(3),i=n(2),s=y(n(48)),l=y(n(49)),u=y(n(5)),c=y(n(33)),d=_(n(8)),f=_(n(13)),p=_(n(36)),m=n(9),h=n(12);function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function y(e){return e&&e.__esModule?e:{default:e}}var v=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.componentDidUpdate=function(e){var n=e.force_expanded,r=t.props.force_expanded;!n&&r&&t.setExpanded(!0)},t.state={expanded:!1},t.handleClick=t.handleClick.bind(t),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"handleClick",value:function(t){!this.props.force_expanded&&e(t.target).closest(".output-control").length<=0&&this.setExpanded(!1)}},{key:"setExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.expanded,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;e?(this.setState({expanded:e}),window.addEventListener("click",this.handleClick,!1),t.pusher_connected&&t.snapcast_enabled&&this.props.snapcastActions.getServer()):(this.setState({expanded:e}),window.removeEventListener("click",this.handleClick,!1))}},{key:"snapcastGroups",value:function(){var e=this.props,t=e.snapcast_streams,n=e.snapcastActions,r=e.snapcast_groups,o=e.snapcast_clients,i=(0,m.indexToArray)(r);if(i.length<=0)return null;var u=Object.keys(t).map((function(e){return{value:e,label:e}}));return a.default.createElement("div",null,i.map((function(e){var t=(0,h.collate)(e,{clients:o});return t.clients&&t.clients.length&&t.clients.filter((function(e){return e.connected})).length?a.default.createElement("div",{className:"output-control__item outputs__item--snapcast",key:t.id},a.default.createElement("div",{className:"output-control__item__name"},t.name),a.default.createElement("div",{className:"output-control__item__controls"},a.default.createElement(c.default,{name:"Source",value:t.stream_id,icon:"settings_input_component",options:u,noLabel:!0,handleChange:function(e){return n.setGroupStream(t.id,e)}}),a.default.createElement(l.default,{className:"output-control__item__mute",noTooltip:!0,mute:t.mute,onMuteChange:function(e){return n.setGroupMute(t.id,e)}}),a.default.createElement(s.default,{className:"output-control__item__volume",volume:t.volume,mute:t.mute,onVolumeChange:function(e,r){return n.setGroupVolume(t.id,e,r)}}))):null})))}},{key:"commands",value:function(){var e=this.props,t=e.pusher_commands,n=e.pusherActions;if(!t)return null;var r=(0,m.indexToArray)(t);return r.length<=0?null:(r=(0,m.sortItems)(r,"sort_order"),a.default.createElement("div",{className:"output-control__item output-control__item--commands commands"},r.map((function(e){return a.default.createElement("div",{key:e.id,className:"commands__item commands__item--interactive",onClick:function(t){return n.runCommand(e.id)}},a.default.createElement(u.default,{className:"commands__item__icon",name:e.icon}),a.default.createElement("span",{className:e.colour+"-background commands__item__background"}))}))))}},{key:"localStreaming",value:function(){var e=this.props,t=e.http_streaming_enabled,n=e.http_streaming_volume,r=e.http_streaming_mute,o=e.coreActions;return t?a.default.createElement("div",{className:"output-control__item outputs__item--icecast"},a.default.createElement("div",{className:"output-control__item__name"},"Local browser"),a.default.createElement("div",{className:"output-control__item__controls"},a.default.createElement("span",{className:"output-control__item__action",onClick:function(e){return o.cachebustHttpStream()}},a.default.createElement(u.default,{name:"refresh"})),a.default.createElement(s.default,{className:"output-control__item__volume",volume:n,mute:r,onVolumeChange:function(e){return o.set({http_streaming_volume:e})},onMuteChange:function(e){return o.set({http_streaming_mute:e})}}))):null}},{key:"renderOutputs",value:function(){var e=this.snapcastGroups(),t=this.localStreaming(),n=this.commands();return e||t||n?a.default.createElement("div",{className:"output-control__items"},n,t,e):a.default.createElement("div",{className:"output-control__items output-control__items--no-results"},a.default.createElement("p",{className:"no-results"},"No outputs"))}},{key:"render",value:function(){var e=this;return this.state.expanded?a.default.createElement("span",{className:"output-control"},a.default.createElement("button",{className:"control speakers active",onClick:function(t){return e.setExpanded()}},a.default.createElement(u.default,{name:"speaker"})),this.renderOutputs()):this.props.http_streaming_enabled||this.props.snapcast_enabled||this.props.pusher_commands?a.default.createElement("span",{className:"output-control"},a.default.createElement("button",{className:"control speakers",onClick:function(t){return e.setExpanded()}},a.default.createElement(u.default,{name:"speaker"}))):a.default.createElement("span",{className:"output-control disabled"},a.default.createElement("button",{className:"control speakers"},a.default.createElement(u.default,{name:"speaker"})))}}]),n}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{http_streaming_enabled:e.core.http_streaming_enabled,http_streaming_volume:parseInt(e.core.http_streaming_volume)||50,http_streaming_mute:e.core.http_streaming_mute,pusher_connected:e.pusher.connected,snapcast_enabled:e.pusher.config?e.pusher.config.snapcast_enabled:null,show_disconnected_clients:void 0!==e.ui.snapcast_show_disconnected_clients&&e.ui.snapcast_show_disconnected_clients,snapcast_clients:e.snapcast.clients,snapcast_groups:e.snapcast.groups,snapcast_streams:e.snapcast.streams,pusher_commands:e.pusher.commands?e.pusher.commands:{}}}),(function(e){return{coreActions:(0,i.bindActionCreators)(d,e),snapcastActions:(0,i.bindActionCreators)(p,e),pusherActions:(0,i.bindActionCreators)(f,e)}}))(v)}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=c(n(0)),i=c(n(73)),s=n(3),l=n(2),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(8));function c(e){return e&&e.__esModule?e:{default:e}}var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.render=function(){var e=n.props,t=e.play_state,r=e.enabled,a=e.volume,s=e.url,l=e.current_track,u=(l=void 0===l?{}:l).uri,c=n.state.cachebuster;return u&&r&&s?(console.debug("Attempting to play stream "+s+"?cb="+c),o.default.createElement(i.default,{src:s+"?cb="+c,playing:"playing"===t,volume:a/100,onPlay:function(){return console.debug("Playing stream "+s+"?cb="+c)},onLoad:function(){return console.debug("Loaded stream "+s+"?cb="+c)},onError:function(){return console.error("Failed to play stream "+s+"?cb="+c)}})):null},n.state={uri:"",play_state:"",cachebuster:""},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.play_state,a=e.current_track,o=(a=void 0===a?{}:a).uri;return o&&o===t.uri&&n===t.play_state?null:r({},t,{uri:o,play_state:n,cachebuster:""+Date.now()})}}]),t}(o.default.Component);t.default=(0,s.connect)((function(e){return{current_track:e.core.current_track||{},play_state:e.mopidy.play_state,enabled:e.core.http_streaming_enabled,volume:e.core.http_streaming_volume>=0?e.core.http_streaming_volume:50,url:e.core.http_streaming_url?e.core.http_streaming_url:null,cachebuster:e.core.http_streaming_cachebuster}}),(function(e){return{coreActions:(0,l.bindActionCreators)(u,e)}}))(d)},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=E(n(0)),o=n(3),i=n(2),s=n(26),l=n(4),u=n(9),c=E(n(17)),d=E(n(5)),f=E(n(18)),p=E(n(21)),m=b(n(8)),h=b(n(1)),_=b(n(13)),y=b(n(6)),v=b(n(15)),g=b(n(7));function b(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}var k=function(t){function n(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t));return r.componentDidMount=function(){window.addEventListener("scroll",r.handleScroll,!1),window.addEventListener("mousedown",r.handleMouseDown,!1),window.addEventListener("touchstart",r.handleTouchStart,!1)},r.componentWillUnmount=function(){window.removeEventListener("scroll",r.handleScroll,!1),window.removeEventListener("mousedown",r.handleMouseDown,!1),window.removeEventListener("touchstart",r.handleTouchStart,!1)},r.componentDidUpdate=function(e){var t=e.menu,n=e.tracks,a=r.props,o=a.menu,i=a.tracks,s=a.lastfm_authorized,l=a.spotify_authorized,u=a.spotifyActions,c=a.lastfmActions;if(!t&&o){r.setState({submenu:null});var d=r.getContext(r.props);if(l&&"spotify"===d.source)switch(o.context){case"artist":case"album":case"playlist":case"editable-playlist":case"track":case"playlist-track":case"editable-playlist-track":case"queue-track":u.following(o.items[0].uri)}s&&d.is_track&&1==d.items_count&&o.items[0].uri&&void 0!==n[o.items[0].uri]&&void 0===i[o.items[0].uri].userloved&&c.getTrack(o.items[0].uri)}},r.handleScroll=function(){var e=r.props,t=e.menu,n=e.uiActions.hideContextMenu;t&&n()},r.handleMouseDown=function(t){var n=r.props,a=n.menu,o=n.uiActions.hideContextMenu;a&&e(t.target).closest(".context-menu").length<=0&&e(t.target).closest(".context-menu-trigger").length<=0&&o()},r.handleTouchStart=function(t){var n=r.props,a=n.menu,o=n.uiActions.hideContextMenu;a&&e(t.target).closest(".context-menu").length<=0&&e(t.target).closest(".context-menu-trigger").length<=0&&o()},r.inLibrary=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.uri,n=r.props,a=n.spotify_library_artists,o=n.spotify_library_albums,i=n.spotify_library_playlists,s=n.spotify_library_tracks;if(!t)return!1;switch((0,l.uriType)(t)){case"artist":return a&&a.indexOf(t)>-1;case"album":return o&&o.indexOf(t)>-1;case"playlist":return i&&i.indexOf(t)>-1;case"track":return s&&s.indexOf(t)>-1;default:return!1}},r.isLoved=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.uri,n=r.props.tracks;if(!t)return!1;if(void 0===n[t])return!1;var a=n[t];return void 0!==a.userloved&&"1"==a.userloved},r.canBeInLibrary=function(){var e=r.props,t=e.spotify_authorized,n=e.menu.items;return!!t&&"spotify"===(0,l.uriSource)(n[0].uri)},r.toggleInLibrary=function(e,t){var n=r.props,a=n.uiActions.hideContextMenu,o=n.spotifyActions.following,i=n.menu,s=(i=void 0===i?{}:i).items;a(),o(s[0].uri,t?"DELETE":"PUT")},r.playQueueItem=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.mopidyActions.changeTrack,a=e.menu,o=(a=void 0===a?{}:a).items;t(),n(o[0].tlid)},r.removeFromQueue=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.mopidyActions.removeTracks,a=e.menu,o=(a=void 0===a?{}:a).items;t(),n((0,u.arrayOf)("tlid",o))},r.playURIs=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.mopidyActions.playURIs,a=e.menu,o=(a=void 0===a?{}:a).uris,i=a.tracklist_uri;t(),n(o,i)},r.playPlaylist=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.mopidyActions.playPlaylist,a=e.menu,o=(a=void 0===a?{}:a).uris;t(),n(o[0])},r.enqueuePlaylist=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=r.props,a=n.uiActions.hideContextMenu,o=n.mopidyActions.enqueuePlaylist,i=n.menu,s=(i=void 0===i?{}:i).uris;a(),o(s[0],t)},r.shufflePlayPlaylist=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.mopidyActions.playPlaylist,a=e.menu,o=(a=void 0===a?{}:a).uris;t(),n(o[0],!0)},r.playArtistTopTracks=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.spotifyActions.playArtistTopTracks,a=e.menu,o=(a=void 0===a?{}:a).uris;t(),n(o[0])},r.addToQueue=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=r.props,a=n.uiActions.hideContextMenu,o=n.mopidyActions.enqueueURIs,i=n.menu,s=(i=void 0===i?{}:i).uris,l=i.tracklist_uri;a(),o(s,l,t)},r.addTracksToPlaylist=function(e,t){var n=r.props,a=n.uiActions.hideContextMenu,o=n.coreActions.addTracksToPlaylist,i=n.menu,s=(i=void 0===i?{}:i).uris;a(),o(t,s)},r.toggleLoved=function(e,t){var n=r.props,a=n.uiActions.hideContextMenu,o=n.lastfmActions,i=o.unloveTrack,s=o.loveTrack,l=n.menu,u=(l=void 0===l?{}:l).uris;a(),t?i(u[0]):s(u[0])},r.unloveTrack=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.lastfmActions.unloveTrack,a=e.menu,o=(a=void 0===a?{}:a).items;t(),n(o[0])},r.removeFromPlaylist=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.coreActions.removeTracksFromPlaylist,a=e.menu,o=(a=void 0===a?{}:a).tracklist_uri,i=a.indexes;t(),n(o,i)},r.deletePlaylist=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.coreActions.deletePlaylist,a=e.menu,o=(a=void 0===a?{}:a).uris;t(),n(o[0])},r.startRadio=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.pusherActions.startRadio,a=e.menu,o=(a=void 0===a?{}:a).uris;t(),n(o)},r.goToRecommendations=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.menu,a=(n=void 0===n?{}:n).items,o=e.history.push;t(),o("/discover/recommendations/"+(0,u.arrayOf)("uri",a).join(","))},r.goToArtist=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.menu,a=(n=void 0===n?{}:n).items,o=e.history.push;if(!a||a.length<=0||!a[0].artists_uris||a[0].artists_uris.length<=0)return null;t(),o((0,l.buildLink)(a[0].artists_uris[0]))},r.goToUser=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.menu,a=(n=void 0===n?{}:n).items,o=e.history.push;if(!a||a.length<=0||!a[0].user_uri)return null;t(),o((0,l.buildLink)(a[0].user_uri))},r.goToTrack=function(){var e=r.props,t=e.uiActions.hideContextMenu,n=e.menu,a=(n=void 0===n?{}:n).uris,o=e.history.push;if(!a)return null;t(),o((0,l.buildLink)(a[0]))},r.copyURIs=function(){var t=r.props,n=t.uiActions,a=n.hideContextMenu,o=n.createNotification,i=t.menu,s=(i=void 0===i?{}:i).uris,l=e("<input>");e("body").append(l),l.val(s.join(",")).select(),document.execCommand("copy"),l.remove(),o({content:"Copied "+s.length+" URIs"}),a()},r.renderTitle=function(){var e=r.props,t=e.uiActions,n=t.hideContextMenu,o=t.setSelectedTracks,i=e.queue_metadata,s=e.menu.title,u=r.getContext();if(u.items_count>1)return a.default.createElement("div",{className:"context-menu__title"},a.default.createElement("div",{className:"context-menu__title__text"},u.items_count+" "+u.nice_name+(u.items_count>1?"s":"")+" selected",a.default.createElement("span",{className:"context-menu__title__deselect",onClick:function(){o([]),n()}},a.default.createElement(d.default,{name:"close"}))));if(1===u.items_count&&"queue-track"===u.name&&void 0!==u.item&&void 0!==i["tlid_"+u.item.tlid]){var c=i["tlid_"+u.item.tlid];if(c.added_from&&c.added_by){var f=c.added_from?(0,l.uriType)(c.added_from):null;switch(f){case"discover":var m=a.default.createElement(p.default,{type:"recommendations",uri:(0,l.getFromUri)("seeds",c.added_from)},"discover");break;case"browse":m=a.default.createElement(p.default,{type:"browse",uri:c.added_from.replace("iris:browse:","")},"browse");break;case"search":m=a.default.createElement(p.default,{type:"search",uri:c.added_from.replace("iris:","")},"search");break;default:m=a.default.createElement(p.default,{type:f,uri:c.added_from},f)}return a.default.createElement("div",{className:"context-menu__title"},a.default.createElement("div",{className:"context-menu__title__text"},c.added_by+" added from ",m))}}return"custom"===u.name&&s?a.default.createElement("div",{className:"context-menu__title"},a.default.createElement("div",{className:"context-menu__title__text"},s)):null},r.setSubmenu=function(e){var t=r.state.submenu,n=r.props,a=n.spotify_library_playlists_loaded_all,o=n.mopidy_library_playlists_loaded_all,i=n.spotifyActions,s=n.mopidyActions;t!==e&&"add-to-playlist"==e&&(a||i.getLibraryPlaylists(),o||s.getLibraryPlaylists()),r.setState({submenu:e})},r.closeSubmenu=function(){return r.setState({submenu:null})},r.renderSubmenu=function(){var e=r.state.submenu,t=r.props,n=t.playlists,o=t.processes,i=null,s=!1;if("add-to-playlist"===e){var l=(0,u.indexToArray)(n);l=l.filter((function(e){return e.can_edit})),l=(0,u.sortItems)(l,"name"),o.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR&&"running"===o.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status&&(s=!0),i=a.default.createElement("span",{className:"context-menu__item"},a.default.createElement("span",{className:"context-menu__item mid_grey-text"},a.default.createElement("span",{className:"context-menu__item__link context-menu__item__link--inactive"},"No writable playlists"))),l.length&&(i=l.map((function(e){return a.default.createElement("span",{className:"context-menu__item",key:e.uri},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(t){return r.addTracksToPlaylist(t,e.uri)}},a.default.createElement("span",{className:"context-menu__item__label"},e.name)))})))}return a.default.createElement("div",{className:"context-menu__section context-menu__section--submenu"},a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link context-menu__item__link--close-submenu",onClick:r.closeSubmenu},a.default.createElement("span",{className:"context-menu__item__label"},a.default.createElement(d.default,{name:"arrow_back"}),a.default.createElement("span",null," Back")))),i,s&&a.default.createElement("div",{className:"context-menu__item"},a.default.createElement(f.default,{className:"context-menu__item",mini:!0,loading:!0})))},r.renderItems=function(){var e=r.props,t=e.lastfm_authorized,n=e.spotify_authorized,o=e.load_queue,i=r.getContext(),s=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.playURIs},a.default.createElement("span",{className:"context-menu__item__label"},"Play"))),u=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.playPlaylist},a.default.createElement("span",{className:"context-menu__item__label"},"Play"))),f=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.shufflePlayPlaylist},a.default.createElement("span",{className:"context-menu__item__label"},"Shuffle play"))),p=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.playQueueItem},a.default.createElement("span",{className:"context-menu__item__label"},"Play"))),m=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return r.addToQueue(e,!0)}},a.default.createElement("span",{className:"context-menu__item__label"},"Play next"))),h=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.playArtistTopTracks},a.default.createElement("span",{className:"context-menu__item__label"},"Play top tracks"))),_=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.addToQueue},a.default.createElement("span",{className:"context-menu__item__label"},"Add to queue"))),y=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.enqueuePlaylist},a.default.createElement("span",{className:"context-menu__item__label"},"Add to queue"))),v=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return r.enqueuePlaylist(e,!0)}},a.default.createElement("span",{className:"context-menu__item__label"},"Play next"))),g=a.default.createElement("div",{className:"context-menu__item context-menu__item--has-submenu"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(){return r.setSubmenu("add-to-playlist")}},a.default.createElement("span",{className:"context-menu__item__label"},"Add to playlist"),a.default.createElement(d.default,{className:"submenu-icon",name:"arrow_forward"}))),b=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return r.toggleInLibrary(e,i.in_library)}},a.default.createElement("span",{className:"context-menu__item__label"},i.in_library?"Remove from library":"Add to library")));if(b=n?(0,l.isLoading)(o,["spotify_me/tracks/contains","spotify_me/playlists/contains","spotify_me/albums/contains","spotify_me/artists/contains"])?a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link"},a.default.createElement("span",{className:"context-menu__item__label mid_grey-text"},"Add to library"))):a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return r.toggleInLibrary(e,i.in_library)}},a.default.createElement("span",{className:"context-menu__item__label"},i.in_library?"Remove from library":"Add to library"))):null,t)if((0,l.isLoading)(o,["lastfm_track.getInfo"]))E=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link"},a.default.createElement("span",{className:"context-menu__item__label mid_grey-text"},"Love track")));else E=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return r.toggleLoved(e,i.is_loved)}},a.default.createElement("span",{className:"context-menu__item__label"},i.is_loved?"Unlove track":"Love track")));else var E=null;var k=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.goToArtist},a.default.createElement("span",{className:"context-menu__item__label"},"Go to artist"))),w=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.goToUser},a.default.createElement("span",{className:"context-menu__item__label"},"Go to user"))),S=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.goToTrack},a.default.createElement("span",{className:"context-menu__item__label"},"Track info"))),O=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.goToRecommendations},a.default.createElement("span",{className:"context-menu__item__label"},"Discover similar"))),T=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.startRadio},a.default.createElement("span",{className:"context-menu__item__label"},"Start radio"))),A=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.removeFromQueue},a.default.createElement("span",{className:"context-menu__item__label"},"Remove"))),C=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.removeFromPlaylist},a.default.createElement("span",{className:"context-menu__item__label"},"Remove"))),P=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement(c.default,{className:"context-menu__item__link",to:"/playlist/"+i.item.uri+"/edit"},a.default.createElement("span",{className:"context-menu__item__label"},"Edit"))),x=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.deletePlaylist},a.default.createElement("span",{className:"context-menu__item__label"},"Delete"))),N=a.default.createElement("div",{className:"context-menu__item"},a.default.createElement("a",{className:"context-menu__item__link",onClick:r.copyURIs},a.default.createElement("span",{className:"context-menu__item__label"},"Copy URI "+(i.items_count>1?"s":""))));switch(i.name){case"album":return a.default.createElement("div",null,s,m,_,r.canBeInLibrary()&&a.default.createElement("div",{className:"context-menu__divider"}),r.canBeInLibrary()&&b,a.default.createElement("div",{className:"context-menu__divider"}),k,N);case"artist":return a.default.createElement("div",null,"spotify"===i.source&&h,"spotify"===i.source&&T,r.canBeInLibrary()&&a.default.createElement("div",{className:"context-menu__divider"}),r.canBeInLibrary()&&b,a.default.createElement("div",{className:"context-menu__divider"}),"spotify"===i.source&&O,N);case"playlist":return a.default.createElement("div",null,u,v,f,y,r.canBeInLibrary()&&a.default.createElement("div",{className:"context-menu__divider"}),r.canBeInLibrary()&&b,a.default.createElement("div",{className:"context-menu__divider"}),"spotify"===i.source&&w,N,1===i.items_count&&i.item.can_edit&&a.default.createElement("div",null,a.default.createElement("div",{className:"context-menu__divider"}),P,x));case"queue-track":return a.default.createElement("div",null,1===i.items_count&&p,a.default.createElement("div",{className:"context-menu__divider"}),g,r.canBeInLibrary()&&b,E,a.default.createElement("div",{className:"context-menu__divider"}),"spotify"===i.source&&i.items_count<=5&&O,1===i.items_count&&S,N,a.default.createElement("div",{className:"context-menu__divider"}),A);case"editable-playlist-track":return a.default.createElement("div",null,s,m,_,"spotify"===i.source&&1===i.items_count&&T,a.default.createElement("div",{className:"context-menu__divider"}),g,r.canBeInLibrary()&&b,E,a.default.createElement("div",{className:"context-menu__divider"}),"spotify"===i.source&&i.items_count<=5&&O,1===i.items_count&&S,N,a.default.createElement("div",{className:"context-menu__divider"}),C);default:return a.default.createElement("div",null,s,m,_,"spotify"===i.source&&1===i.items_count&&T,a.default.createElement("div",{className:"context-menu__divider"}),g,r.canBeInLibrary()&&b,E,a.default.createElement("div",{className:"context-menu__divider"}),"spotify"===i.source&&i.items_count<=5&&O,1===i.items_count&&S,a.default.createElement("div",{className:"context-menu__divider"}),N)}},r.state={submenu:null},r.handleScroll=(0,l.throttle)(r.handleScroll.bind(r),50),r.handleMouseDown=r.handleMouseDown.bind(r),r.handleTouchStart=r.handleTouchStart.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"getContext",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=e.menu,n={name:null,nice_name:"Unknown",is_track:!1};if(t&&t.context){switch(n.name=t.context,n.nice_name=t.context,t.context){case"playlist":case"editable-playlist":n.nice_name="playlist";break;case"track":case"queue-track":case"playlist-track":case"editable-playlist-track":n.nice_name="track",n.is_track=!0}if(t.items&&t.items.length>0){var r=t.items[0];n.item=r,n.items_count=t.items.length,n.source=(0,l.uriSource)(r.uri),n.type=(0,l.uriType)(r.uri),n.in_library=this.inLibrary(r),n.is_loved=this.isLoved(r)}}return n}},{key:"render",value:function(){var e=this.props,t=e.menu,n=e.uiActions.hideContextMenu,r=this.state.submenu;if(!t)return null;var o={left:t.position_x,top:t.position_y},i="context-menu "+t.context;return r&&(i+=" context-menu--submenu-expanded"),t.closing&&(i+=" context-menu--closing"),t.position_x>window.innerWidth-174&&(o.left="auto",o.right=10),t.position_y>window.innerHeight-200&&(o.top="auto",o.bottom=10),a.default.createElement("div",{id:"context-menu",className:i,style:o},a.default.createElement("div",{className:"context-menu__section context-menu__section--items"},this.renderTitle(),"custom"===t.context?t.options:this.renderItems()),this.renderSubmenu(),a.default.createElement("div",{className:"context-menu__background",onClick:n}))}}]),n}(a.default.Component);t.default=(0,o.connect)((function(e){return{menu:e.ui.context_menu,load_queue:e.ui.load_queue,processes:e.ui.processes,current_track:e.core.current_track,current_tracklist:e.core.current_tracklist,queue_metadata:e.core.queue_metadata,spotify_library_playlists:e.spotify.library_playlists,spotify_library_playlists_loaded_all:e.spotify.library_playlists_loaded_all,mopidy_library_playlists:e.mopidy.library_playlists,mopidy_library_playlists_loaded_all:e.mopidy.library_playlists_loaded_all,spotify_library_artists:e.spotify.library_artists,mopidy_library_artists:e.mopidy.library_artists,spotify_library_albums:e.spotify.library_albums,mopidy_library_albums:e.mopidy.library_albums,spotify_library_tracks:e.spotify.library_tracks,playlists:e.core.playlists,tracks:e.core.tracks,spotify_authorized:e.spotify.authorization,lastfm_authorized:e.lastfm.authorization}}),(function(e){return{coreActions:(0,i.bindActionCreators)(m,e),uiActions:(0,i.bindActionCreators)(h,e),pusherActions:(0,i.bindActionCreators)(_,e),spotifyActions:(0,i.bindActionCreators)(g,e),lastfmActions:(0,i.bindActionCreators)(v,e),mopidyActions:(0,i.bindActionCreators)(y,e)}}))((0,s.withRouter)(k))}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=f(n(1)),c=f(n(6)),d=f(n(7));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var p=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseMove=n.handleMouseMove.bind(n),n.handleMouseUp=n.handleMouseUp.bind(n),n.state={active:!1,position_x:0,position_y:0},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){window.addEventListener("mousemove",this.handleMouseMove,!1),window.addEventListener("mouseup",this.handleMouseUp,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mousemove",this.handleMouseMove,!1),window.removeEventListener("mouseup",this.handleMouseUp,!1)}},{key:"handleMouseMove",value:function(e){var t=this.props,n=t.dragger,r=t.uiActions.dragActive,a=e.target;if(!n)return null;if(e.clientX>n.start_x+10||e.clientX<n.start_x-10||e.clientY>n.start_y+10||e.clientY<n.start_y-10){this.setState({position_x:e.clientX,position_y:e.clientY});for(var o=document.getElementsByClassName("dropzone"),i=0;i<o.length;i++)o[i].classList.remove("hover");a.classList.contains("dropzone")&&!a.classList.contains("hover")&&(a.className+=" hover"),n.active||r()}}},{key:"handleMouseUp",value:function(e){var t=this.props,n=t.dragger,r=t.uiActions.dragEnd;if(!n)return null;r(e)}},{key:"render",value:function(){var e=this.props.dragger,t=(e=void 0===e?{}:e).active,n=e.victims,r=this.state,a=r.position_x,o=r.position_y;return t?i.default.createElement("div",{className:"dragger",style:{left:a,top:o}},"Dragging "+n.length+" things"):null}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e){return{dragger:e.ui.dragger}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),spotifyActions:(0,l.bindActionCreators)(d,e),mopidyActions:(0,l.bindActionCreators)(c,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=_(n(0)),o=n(3),i=n(2),s=h(n(1)),l=h(n(7)),u=h(n(15)),c=h(n(32)),d=h(n(36)),f=_(n(5)),p=_(n(18)),m=n(9);function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}var y=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"importConfiguration",value:function(e,t){var n=this;t.ui&&this.props.uiActions.set(t.ui),t.spotify&&this.props.spotifyActions.importAuthorization(t.spotify.authorization,t.spotify.me),t.snapcast&&(this.props.snapcastActions.set(t.snapcast),setTimeout((function(){return n.props.snapcastActions.connect()}),100)),t.lastfm&&this.props.lastfmActions.importAuthorization(t.lastfm.authorization,t.lastfm.me),t.genius&&this.props.geniusActions.importAuthorization(t.genius.authorization,t.genius.me),this.props.uiActions.removeNotification(e,!0),this.props.uiActions.createNotification({level:"warning",content:"Import successful"})}},{key:"renderNotifications",value:function(){var e=this;if(!this.props.notifications||this.props.notifications.length<=0)return null;var t=(0,m.indexToArray)(this.props.notifications);return a.default.createElement("span",null,t.map((function(t){switch(t.type){case"shortcut":return a.default.createElement("div",{className:"notification notification--shortcut"+(t.closing?" closing":""),key:t.key,"data-duration":t.duration},a.default.createElement(f.default,{name:t.content}));case"share-configuration-received":return a.default.createElement("div",{className:"notification notification--info",key:t.key,"data-key":t.key,"data-duration":t.duration},a.default.createElement(f.default,{name:"close",className:"notification__close-button",onClick:function(n){return e.props.uiActions.removeNotification(t.key,!0)}}),a.default.createElement("h4",{className:"notification__title"},"Configuration shared"),a.default.createElement("div",{className:"notification__content"},a.default.createElement("p",null,"Another user has shared their configuration with you. This includes:"),a.default.createElement("ul",null,t.configuration.ui?a.default.createElement("li",null,"User interface"):null,t.configuration.spotify?a.default.createElement("li",null,"Spotify"):null,t.configuration.lastfm?a.default.createElement("li",null,"LastFM"):null,t.configuration.genius?a.default.createElement("li",null,"Genius"):null,t.configuration.snapcast?a.default.createElement("li",null,"Snapcast"):null),a.default.createElement("p",null,"Do you want to import this?")),a.default.createElement("div",{className:"notification__actions"},a.default.createElement("a",{className:"notification__actions__item button button--default",onClick:function(n){return e.importConfiguration(t.key,t.configuration)}},"Import now")));default:return a.default.createElement("div",{className:"notification notification--"+t.level+(t.closing?" closing":""),key:t.key,"data-key":t.key,"data-duration":t.duration},a.default.createElement(f.default,{name:"close",className:"notification__close-button",onClick:function(n){return e.props.uiActions.removeNotification(t.key,!0)}}),t.title?a.default.createElement("h4",{className:"notification__title"},t.title):null,t.content?a.default.createElement("div",{className:"notification__content"},t.content):null,t.description?a.default.createElement("div",{className:"notification__description"},t.description):null,t.links?a.default.createElement("div",{className:"notification__actions"},t.links.map((function(e,t){return a.default.createElement("a",{className:"notification__actions__item button button--secondary",href:e.url,target:e.new_window?"_blank":"self",key:t},e.text)}))):null)}})))}},{key:"renderProcess",value:function(e){var t=e.data,n=t.total,r=t.remaining,o=e.level,i=void 0===o?"info":o,s=e.content,l=e.description,u=void 0===l?null:l,c=e.status,d=e.closing,m=e.key,h=this.props.uiActions,_=0;switch(n&&r&&(_=((n-r)/n).toFixed(4)),c){case"running":return a.default.createElement("div",{className:"notification notification--"+i+" notification--process"+(d?" closing":""),key:m},a.default.createElement(p.default,{progress:_,loading:!0,mini:!0,white:!0}),s&&""!==s&&a.default.createElement("div",{className:"notification__content"},s),u&&""!==u&&a.default.createElement("div",{className:"notification__description"},u),a.default.createElement(f.default,{name:"close",className:"notification__close-button",onClick:function(){h.cancelProcess(m)}}));case"finished":return a.default.createElement("div",{className:"notification notification--"+i+" notification--process"+(d?" closing":""),key:m},a.default.createElement(f.default,{className:"notification__icon",name:"error"===i?"close":"check"}),s&&""!==s&&a.default.createElement("div",{className:"notification__content"},s),u&&""!==u&&a.default.createElement("div",{className:"notification__description"},u),a.default.createElement(f.default,{name:"close",className:"notification__close-button",onClick:function(){h.closeProcess(m)}}));case"cancelling":return a.default.createElement("div",{className:"notification notification--"+i+" notification--process cancelling"+(d?" closing":""),key:m},a.default.createElement(p.default,null),s&&""!==s&&a.default.createElement("div",{className:"notification__content"},s),u&&""!==u&&a.default.createElement("div",{className:"notification__description"},u));case"cancelled":case"completed":default:return null}}},{key:"renderProcesses",value:function(){var e=this,t=this.props.processes,n=void 0===t?{}:t,r=Object.keys(n).map((function(e){return n[e]}));return r.length?a.default.createElement("span",null,r.map((function(t){return e.renderProcess(t)}))):null}},{key:"render",value:function(){return a.default.createElement("div",{className:"notifications"},this.renderNotifications(),this.renderProcesses())}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e){return{broadcasts:e.ui.broadcasts?e.ui.broadcasts:[],notifications:e.ui.notifications?e.ui.notifications:[],processes:e.ui.processes?e.ui.processes:{}}}),(function(e){return{uiActions:(0,i.bindActionCreators)(s,e),spotifyActions:(0,i.bindActionCreators)(l,e),geniusActions:(0,i.bindActionCreators)(c,e),lastfmActions:(0,i.bindActionCreators)(u,e),snapcastActions:(0,i.bindActionCreators)(d,e)}}))(y)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){window.addEventListener("resize",t,!1);var t=function(t){Math.max(document.documentElement.clientWidth,window.innerWidth||0)<=800?e.slim_mode||e.uiActions.setSlimMode(!0):e.slim_mode&&e.uiActions.setSlimMode(!1)};return null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=d(n(0)),o=d(n(28)),i=n(3),s=n(2),l=c(n(1)),u=c(n(6));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function d(e){return e&&e.__esModule?e:{default:e}}var f=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleKeyDown=n.handleKeyDown.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){window.addEventListener("keydown",this.handleKeyDown,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.handleKeyDown,!1)}},{key:"handleKeyDown",value:function(e){var t=this.props,n=t.play_state,r=t.mopidyActions,a=t.uiActions,i=t.mute,s=t.play_time_position,l=t.history,u=t.modal,c=t.dragging,d=t.allow_reporting,f=this.props.volume,p=e.key.toLowerCase();if(("INPUT"!==e.target.nodeName||"text"!==e.target.type&&"number"!==e.target.type)&&"TEXTAREA"!==e.target.nodeName&&("BUTTON"!==e.target.nodeName||" "!==p)&&!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)){var m=!1;switch(p){case" ":case"p":"playing"==n?(r.pause(),a.createNotification({content:"pause",type:"shortcut"}),d&&o.default.event({category:"Hotkey",action:p,label:"Pause"})):(r.play(),a.createNotification({content:"play_arrow",type:"shortcut"}),d&&o.default.event({category:"Hotkey",action:p,label:"Play"})),m=!0;break;case"escape":c?(a.dragEnd(),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Dragging"})):u&&(window.history.back(),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Modal"}));break;case"s":l.push("/search"),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Search"});break;case"q":l.push("/queue"),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Queue"});break;case"k":l.push("/kiosk-mode"),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Kiosk mode"});break;case",":window.history.back(),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Back"});break;case".":window.history.forward(),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Forward"});break;case"=":"false"!==f&&((f+=5)>100&&(f=100),r.setVolume(f),i&&r.setMute(!1),a.createNotification({content:"volume_up",type:"shortcut"})),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Volume up"});break;case"-":"false"!==f&&((f-=5)<0&&(f=0),r.setVolume(f),i&&r.setMute(!1)),a.createNotification({content:"volume_down",type:"shortcut"}),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Volume down"});break;case"0":i?(r.setMute(!1),a.createNotification({content:"volume_up",type:"shortcut"}),d&&o.default.event({category:"Hotkey",action:p,label:"Unmute"})):(r.setMute(!0),a.createNotification({content:"volume_off",type:"shortcut"}),d&&o.default.event({category:"Hotkey",action:p,label:"Mute"})),m=!0;break;case";":var h=s-3e4;h<0&&(h=0),r.setTimePosition(h),a.createNotification({content:"fast_rewind",type:"shortcut"}),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Rewind"});break;case"'":r.setTimePosition(s+3e4),a.createNotification({content:"fast_forward",type:"shortcut"}),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Fastforward"});break;case"[":r.previous(),a.createNotification({content:"skip_previous",type:"shortcut"}),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Previous"});break;case"]":r.next(),a.createNotification({content:"skip_next",type:"shortcut"}),m=!0,d&&o.default.event({category:"Hotkey",action:p,label:"Next"})}m&&e.preventDefault()}}},{key:"render",value:function(){return null}}]),t}(a.default.Component);t.default=(0,i.connect)((function(e,t){return{volume:!!e.mopidy.volume&&e.mopidy.volume,mute:e.mopidy.mute,play_state:e.mopidy.play_state,play_time_position:parseInt(e.mopidy.time_position),dragging:e.ui.dragger&&e.ui.dragger.dragging,allow_reporting:e.ui.allow_reporting}}),(function(e){return{uiActions:(0,s.bindActionCreators)(l,e),mopidyActions:(0,s.bindActionCreators)(u,e)}}))(f)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=n(42),c=n(4),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),f=n(9);var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"localStorageSize",value:function(){var e="";for(var t in window.localStorage)window.localStorage.hasOwnProperty(t)&&(e+=window.localStorage[t]);var n=0;return""!==e&&(n=(16*e.length/8192).toFixed(2)),{used:n,percent:(n/5e3*100).toFixed(2)}}},{key:"renderLoadQueue",value:function(){var e=this.props.ui.load_queue;if(!e)return i.default.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading");var t=(0,f.indexToArray)(e);return t.length>0?i.default.createElement("div",{className:"debug-info-item"},t.map((function(e){return i.default.createElement("div",{key:e},e)}))):i.default.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading")}},{key:"render",value:function(){var e=this.localStorageSize();return i.default.createElement("div",{className:"debug-info"},i.default.createElement("div",{className:"debug-info-section"},i.default.createElement("div",{className:"debug-info-item"},"Version:"," ",version),i.default.createElement("div",{className:"debug-info-item"},"Build:"," ",build)),i.default.createElement("div",{className:"debug-info-section"},i.default.createElement("h5",null,"Indexes"),i.default.createElement("div",{className:"debug-info-item"},"Albums:"," ",this.props.core.albums?Object.keys(this.props.core.albums).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Artists:"," ",this.props.core.artists?Object.keys(this.props.core.artists).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Playlists:"," ",this.props.core.playlists?Object.keys(this.props.core.playlists).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Tracks:"," ",this.props.core.tracks?Object.keys(this.props.core.tracks).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Users:"," ",this.props.core.users?Object.keys(this.props.core.users).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Notifications:"," ",this.props.ui.notifications?Object.keys(this.props.ui.notifications).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Processes:"," ",this.props.ui.processes?Object.keys(this.props.ui.processes).length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Enqueue batches:"," ",this.props.mopidy.enqueue_uris_batches?this.props.mopidy.enqueue_uris_batches.length:"0"),i.default.createElement("div",{className:"debug-info-item"},"Cached URLs:"," ",Object.keys((0,u.get)("cache")).length)),i.default.createElement("div",{className:"debug-info-section"},i.default.createElement("h5",null,"Config"),i.default.createElement("div",{className:"debug-info-item"},"Slim mode:"," ",this.props.ui.slim_mode?"on":"off"),i.default.createElement("div",{className:"debug-info-item"},"Test mode:"," ",this.props.ui.test_mode?"on":"off"),i.default.createElement("div",{className:"debug-info-item"},"Touch:"," ",(0,c.isTouchDevice)()?"on":"off"),i.default.createElement("div",{className:"debug-info-item"},"LocalStorage usage:"," ",e.used,"kb (~",e.percent,"%)"),i.default.createElement("div",{className:"debug-info-item"},"Selected tracks:"," ",this.props.ui.selected_tracks.length,i.default.createElement("br",null),this.props.ui.selected_tracks.map((function(e,t){return i.default.createElement("div",{key:e+"_"+t},e)})))),i.default.createElement("div",{className:"debug-info-section"},i.default.createElement("h5",null,"Load queue"),this.renderLoadQueue()))}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{core:e.core,ui:e.ui,mopidy:e.mopidy}}),(function(e){return{uiActions:(0,l.bindActionCreators)(d,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Album=void 0;var r=O(n(0)),a=n(3),o=n(2),i=O(n(38)),s=(O(n(16)),O(n(31))),l=O(n(19)),u=(O(n(35)),O(n(30))),c=O(n(18)),d=O(n(50)),f=O(n(59)),p=O(n(37)),m=O(n(23)),h=O(n(34)),_=O(n(5)),y=S(n(8)),v=S(n(1)),g=S(n(6)),b=S(n(7)),E=S(n(15)),k=n(4),w=n(12);function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function O(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var A=t.Album=function(e){function t(){var e,n,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var o=arguments.length,y=Array(o),v=0;v<o;v++)y[v]=arguments[v];return n=a=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(y))),a.componentDidMount=function(){var e=a.props,t=e.uri,n=e.album,r=e.coreActions.loadAlbum,o=e.lastfmActions.getAlbum;a.setWindowTitle(),r(t),n&&n.artists&&void 0===n.wiki&&o(n.uri,n.artists[0].name,n.name)},a.handleContextMenu=function(e){var t=a.props,n=t.uri,r=t.uiActions.showContextMenu;e.preventDefault(),r(e,{uris:[n]},"album","click")},a.componentDidUpdate=function(e){var t=e.uri,n=e.album,r=e.mopidy_connected,o=a.props,i=o.uri,s=o.album,l=o.mopidy_connected,u=o.coreActions.loadAlbum,c=o.lastfmActions.getAlbum;i!==t?u(i):!r&&l&&"spotify"!==(0,k.uriSource)(i)&&u(i),(!n&&s||!n.artists&&s.artists)&&void 0===s.wiki&&s.artists.length>0&&c(s.uri,s.artists[0].name,s.name),!n&&s&&a.setWindowTitle(s)},a.setWindowTitle=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.props.album,t=a.props.uiActions.setWindowTitle;if(e){var n="";if(e.artists_uris&&n)for(var r=0;r<e.artists_uris.length;r++){var o=e.artists_uris[r];n.hasOwnProperty(o)&&(""!=n&&(n+=", "),n+=n[o].name)}t(e.name+" by "+n+" (album)")}else t("Album")},a.handleContextMenu=function(e){var t=a.props,n=t.album,r=t.uri;(0,t.uiActions.showContextMenu)({e:e,context:"album",items:[n],uris:[r]})},a.loadMore=function(){var e=a.props,t=e.spotifyActions.getMore,n=e.album,r=(n=void 0===n?{}:n).uri,o=n.name;t(n.tracks_more,{parent_type:"album",parent_key:r,records_type:"track"},null,{album:{uri:r,name:o}})},a.play=function(){var e=a.props,t=e.uri;(0,e.mopidyActions.playURIs)([t],t)},a.inLibrary=function(){var e=a.props.uri,t=(0,k.uriSource)(e)+"_library_albums";return a.props[t]&&a.props[t].indexOf(a.props.uri)>-1},a.render=function(){var e=a.props,t=e.uri,n=e.album,o=e.tracks,y=e.artists,v=e.load_queue;if(!n)return(0,k.isLoading)(v,["spotify_albums/"+(0,k.getFromUri)("albumid",t)])?r.default.createElement(c.default,{body:!0,loading:!0}):r.default.createElement(i.default,{type:"not-found",title:"Not found"},r.default.createElement("p",null,'Could not find album with URI "'+encodeURIComponent(t)+'"'));var g=(0,w.collate)(n,{tracks:o,artists:y});if(!g.tracks_uris||g.tracks_uris&&!g.tracks||g.tracks_uris.length!==g.tracks.length)var b=!0;else b=!1;return r.default.createElement("div",{className:"view album-view content-wrapper preserve-3d"},r.default.createElement("div",{className:"thumbnail-wrapper"},r.default.createElement(l.default,{size:"large",glow:!0,canZoom:!0,images:g.images,type:"album"})),r.default.createElement("div",{className:"title"},r.default.createElement("h1",null,g.name),r.default.createElement("ul",{className:"details"},a.props.slim_mode?null:r.default.createElement("li",{className:"source"},r.default.createElement(_.default,{type:"fontawesome",name:(0,k.sourceIcon)(g.uri)})),g.artists&&g.artists.length>0?r.default.createElement("li",null,r.default.createElement(u.default,{items:g.artists})):null,g.release_date?r.default.createElement("li",null,r.default.createElement(p.default,{type:"date",data:g.release_date})):null,g.tracks?r.default.createElement("li",null,g.tracks_total||g.tracks.length," ","tracks"):null,!a.props.slim_mode&&g.tracks?r.default.createElement("li",null,r.default.createElement(p.default,{type:"total-time",data:g.tracks})):null,!a.props.slim_mode&&g.play_count?r.default.createElement("li",null,r.default.createElement(f.default,{value:g.play_count})," ","plays"):null,!a.props.slim_mode&&g.listeners?r.default.createElement("li",null,r.default.createElement(f.default,{value:g.listeners})," ","listeners"):null)),r.default.createElement("div",{className:"actions"},r.default.createElement("button",{className:"button button--primary",onClick:function(e){return a.play()}},"Play"),"spotify"==(0,k.uriSource)(a.props.uri)?r.default.createElement(d.default,{className:"secondary",uri:a.props.uri,addText:"Add to library",removeText:"Remove from library",is_following:a.inLibrary()}):null,r.default.createElement(h.default,{onTrigger:function(e){return a.handleContextMenu(e)}})),r.default.createElement("section",{className:"list-wrapper"},r.default.createElement(s.default,{className:"album-track-list",tracks:g.tracks,uri:g.uri}),r.default.createElement(m.default,{loadKey:g.tracks_more,showLoader:b,loadMore:function(){return a.loadMore()}})),g.wiki?r.default.createElement("section",{className:"wiki"},r.default.createElement("h4",{className:"wiki__title"},"About"),r.default.createElement("div",{className:"wiki__text"},r.default.createElement("p",null,g.wiki),r.default.createElement("br",null),r.default.createElement("div",{className:"mid_grey-text"},"Published:"," ",g.wiki_publish_date))):null)},T(a,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(r.default.Component);t.default=(0,a.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n,slim_mode:e.ui.slim_mode,theme:e.ui.theme,load_queue:e.ui.load_queue,tracks:e.core.tracks,artists:e.core.artists,album:!(!e.core.albums||void 0===e.core.albums[n])&&e.core.albums[n],albums:e.core.albums,spotify_library_albums:e.spotify.library_albums,local_library_albums:e.mopidy.library_albums,spotify_authorized:e.spotify.authorization,mopidy_connected:e.mopidy.connected}}),(function(e){return{coreActions:(0,o.bindActionCreators)(y,e),uiActions:(0,o.bindActionCreators)(v,e),mopidyActions:(0,o.bindActionCreators)(g,e),spotifyActions:(0,o.bindActionCreators)(b,e),lastfmActions:(0,o.bindActionCreators)(E,e)}}))(A)},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=f(n(0)),o=f(n(5)),i=f(n(30)),s=f(n(37)),l=f(n(21)),u=f(n(34)),c=f(n(58)),d=n(4);function f(e){return e&&e.__esModule?e:{default:e}}var p=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.state={hover:!1},t.start_time=0,t.end_time=0,t.start_position=!1,t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"handleMouseEnter",value:function(e){this.setState({hover:!0})}},{key:"handleMouseLeave",value:function(e){this.setState({hover:!1})}},{key:"handleMouseDown",value:function(t){if(e(t.target).is("a"))return!1;0===t.button?this.start_position={x:t.pageX,y:t.pageY}:this.start_position=!1}},{key:"handleMouseMove",value:function(t){e(t.target);if(void 0===this.props.handleDrag)return!1;if(this.start_position){var n=this.start_position.x,r=this.start_position.y;(t.pageX>n+5||t.pageX<n-5||t.pageY>r+5||t.pageY<r-5)&&(this.props.handleDrag(t),this.start_position=!1)}}},{key:"handleMouseUp",value:function(t){var n=e(t.target);if(0!==t.button)return this.start_position=!1,!1;this.props.dragger?(t.preventDefault(),void 0!==this.props.handleDrop&&this.props.handleDrop(t)):!n.is("a")&&n.closest("a").length<=0&&(this.props.handleClick(t),this.start_position=!1)}},{key:"handleDoubleClick",value:function(e){this.props.handleDoubleClick(e)}},{key:"handleTouchStart",value:function(t){var n=e(t.target),r=Math.floor(Date.now());return n.hasClass("drag-zone")&&(this.props.handleTouchDrag(t),t.preventDefault()),this.start_time=r,this.start_position={x:t.touches[0].clientX,y:t.touches[0].clientY},!1}},{key:"handleTouchEnd",value:function(t){var n=e(t.target),r=Math.floor(Date.now()),a=t.changedTouches[0].clientX,o=t.changedTouches[0].clientY;if(this.start_time+200<r)return!1;if(this.start_position.x+10>a&&this.start_position.x-10<a&&this.start_position.y+10>o&&this.start_position.y-10<o){if(n.is("a")||t.preventDefault(),n.hasClass("touch-contextable"))return this.props.handleContextMenu(t),!1;if(r-this.end_time>0&&r-this.end_time<=300)return this.props.handleDoubleTap(t),t.preventDefault(),!1;this.props.handleTap(t)}this.end_time=r}},{key:"render",value:function(){var e=this;if(!this.props.track)return null;var t=this.props.track,n="list__item list__item--track mouse-draggable mouse-selectable mouse-contextable",r=[];if(t.artists&&r.push(a.default.createElement("li",{className:"details__item details__item--artists",key:"artists"},t.artists?a.default.createElement(i.default,{items:t.artists}):"-")),t.album){if(t.album.uri)var f=a.default.createElement(l.default,{type:"album",uri:t.album.uri},t.album.name);else f=a.default.createElement("span",null,t.album.name);r.push(a.default.createElement("li",{className:"details__item details__item--album",key:"album"},f))}if("history"==this.props.track_context)var p=a.default.createElement("div",{className:"list__item__column__item list__item__column__item--played_at"},t.played_at?a.default.createElement("span",null,a.default.createElement(s.default,{type:"ago",data:t.played_at})," ago"):"-");else if("queue"==this.props.track_context)if(t.added_from&&t.added_by){var m=t.added_from?(0,d.uriType)(t.added_from):null;switch(m){case"discover":var h=a.default.createElement(l.default,{type:"recommendations",uri:(0,d.getFromUri)("seeds",t.added_from)},"Discover");break;case"browse":h=a.default.createElement(l.default,{uri:t.added_from},"Browse");break;case"search":h=a.default.createElement(l.default,{uri:t.added_from},"Search");break;case"radio":h=a.default.createElement("span",null,"Radio");break;case"queue-history":h=a.default.createElement("span",null,"Queue history");break;default:h=a.default.createElement(l.default,{type:m,uri:t.added_from},(0,d.titleCase)(m))}p=a.default.createElement("div",{className:"list__item__column__item list__item__column__item--added"},a.default.createElement("span",{className:"from"},h),a.default.createElement("span",{className:"by by--with-spacing"},""+t.added_by))}else if(t.added_by)p=a.default.createElement("div",{className:"list__item__column__item list__item__column__item--added"},a.default.createElement("span",{className:"by"},t.added_by));var _=null;return(0,d.isTouchDevice)()&&this.props.can_sort&&(n+=" list__item--has-drag-zone",_=a.default.createElement("span",{className:"list__item__column__item list__item__column__item--drag-zone drag-zone touch-draggable mouse-draggable",key:"drag-zone"},a.default.createElement(o.default,{name:"drag_indicator"}))),this.props.selected&&(n+=" list__item--selected"),this.props.can_sort&&(n+=" list__item--can-sort"),void 0!==t.type&&(n+=" list__item--"+t.type),t.playing&&(n+=" list__item--playing"),this.state.hover&&(n+=" list__item--hover"),p&&(n+=" list__item--has-middle-column"),r.length>0&&(n+=" list__item--has-details"),a.default.createElement(c.default,null,a.default.createElement("div",{className:n,onMouseEnter:function(t){return e.handleMouseEnter(t)},onMouseLeave:function(t){return e.handleMouseLeave(t)},onMouseDown:function(t){return e.handleMouseDown(t)},onMouseUp:function(t){return e.handleMouseUp(t)},onMouseMove:function(t){return e.handleMouseMove(t)},onDoubleClick:function(t){return e.handleDoubleClick(t)},onContextMenu:function(t){return e.props.handleContextMenu(t)},onTouchStart:function(t){return e.handleTouchStart(t)},onTouchEnd:function(t){return e.handleTouchEnd(t)}},a.default.createElement("div",{className:"list__item__column list__item__column--name"},a.default.createElement("div",{className:"list__item__column__item--name"},t.name?t.name:a.default.createElement("span",{className:"mid_grey-text"},t.uri),t.playing?a.default.createElement(o.default,{className:"js--"+this.props.play_state,name:"playing",type:"css"}):null),r?a.default.createElement("ul",{className:"list__item__column__item--details"},r):null),p?a.default.createElement("div",{className:"list__item__column list__item__column--middle"},p):null,a.default.createElement("div",{className:"list__item__column list__item__column--right"},_,t.is_explicit?a.default.createElement("span",{className:"flag flag--dark"},"EXPLICIT"):null,a.default.createElement("span",{className:"list__item__column__item list__item__column__item--duration"},t.duration?a.default.createElement(s.default,{type:"length",data:t.duration}):"-"),this.props.show_source_icon?a.default.createElement("span",{className:"list__item__column__item list__item__column__item--source"},a.default.createElement(o.default,{type:"fontawesome",name:(0,d.sourceIcon)(t.uri),fixedWidth:!0})):null,a.default.createElement(u.default,{className:"list__item__column__item--context-menu-trigger subtle",onTrigger:function(t){return e.props.handleContextMenu(t)}}))))}}]),n}(a.default.Component);t.default=p}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=R(n(0)),o=n(3),i=n(2),s=n(39),l=R(n(38)),u=R(n(17)),c=R(n(23)),d=R(n(31)),f=R(n(43)),p=R(n(19)),m=R(n(35)),h=R(n(60)),_=R(n(75)),y=R(n(50)),v=R(n(34)),g=R(n(33)),b=R(n(5)),E=R(n(18)),k=N(n(8)),w=N(n(1)),S=N(n(6)),O=N(n(13)),T=N(n(15)),A=N(n(7)),C=n(4),P=n(12),x=n(9);function N(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function R(e){return e&&e.__esModule?e:{default:e}}function M(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var D=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=M(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.uri,n=e.mopidy_connected,a=e.artist,o=r.props,i=o.uri,s=o.mopidy_connected,l=o.artist,u=o.coreActions.loadArtist;i!==t?u(i):!n&&s&&"spotify"!=(0,C.uriSource)(i)&&u(i),!a&&l&&r.setWindowTitle(l),t!==i&&l&&r.setWindowTitle(l)},M(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadArtist(this.props.uri)}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.artist;e?this.props.uiActions.setWindowTitle(e.name+" (artist)"):this.props.uiActions.setWindowTitle("Artist")}},{key:"handleContextMenu",value:function(e){var t={e:e,context:"artist",items:[this.props.artist],uris:[this.props.uri]};this.props.uiActions.showContextMenu(t)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.artist.albums_more,{parent_type:"artist",parent_key:this.props.uri,records_type:"album"})}},{key:"inLibrary",value:function(){var e=(0,C.uriSource)(this.props.uri)+"_library_artists";return this.props[e]&&this.props[e].indexOf(this.props.uri)>-1}},{key:"setSort",value:function(e){var t=!1;null!==e&&this.props.sort==e&&(t=!this.props.sort_reverse);var n={artist_albums_sort_reverse:t,artist_albums_sort:e};this.props.uiActions.set(n)}},{key:"setFilter",value:function(e){this.props.uiActions.set({artist_albums_filter:e})}},{key:"renderOverview",value:function(){var e=this,t=(0,P.collate)(this.props.artist,{artists:this.props.artists,albums:this.props.albums,tracks:this.props.tracks});this.props.sort&&t.albums&&(t.albums=(0,x.sortItems)(t.albums,this.props.sort,this.props.sort_reverse)),this.props.filter&&t.albums&&(t.albums=(0,x.applyFilter)("type",this.props.filter,t.albums));if(!t.tracks_uris||t.tracks_uris&&!t.tracks||t.tracks_uris.length!==t.tracks.length)var n=!0;else n=!1;return a.default.createElement("div",{className:"body overview"},a.default.createElement("div",{className:"top-tracks col col--w"+(t.related_artists&&t.related_artists.length>0?"70":"100")},t.tracks?a.default.createElement("h4",null,"Top tracks"):null,a.default.createElement("div",{className:"list-wrapper"},a.default.createElement(d.default,{className:"artist-track-list",uri:t.uri,tracks:t.tracks?t.tracks.splice(0,10):[]}),a.default.createElement(c.default,{showLoader:n}))),a.default.createElement("div",{className:"col col--w5"}),t.related_artists&&t.related_artists.length>0&&a.default.createElement("div",{className:"col col--w25 related-artists"},a.default.createElement("h4",null,"Related artists"),a.default.createElement("div",{className:"list-wrapper"},a.default.createElement(_.default,{artists:t.related_artists.slice(0,6)})),a.default.createElement(u.default,{to:"/artist/"+encodeURIComponent(this.props.uri)+"/related-artists",scrollTo:"#sub-views-menu",className:"button button--default"},"All related artists")),a.default.createElement("div",{className:"cf"}),t.albums&&a.default.createElement("div",{className:"albums"},a.default.createElement("h4",null,a.default.createElement("div",null,"Albums"),a.default.createElement(g.default,{icon:"swap_vert",name:"Sort",value:this.props.sort,valueAsLabel:!0,options:[{value:null,label:"Default"},{value:"name",label:"Name"},{value:"release_date",label:"Date"},{value:"tracks_uris.length",label:"Tracks"}],selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(t){e.setSort(t),e.props.uiActions.hideContextMenu()}}),a.default.createElement(g.default,{icon:"filter_list",name:"Filter",value:this.props.filter,valueAsLabel:!0,options:[{value:null,label:"All"},{value:"album",label:"Albums"},{value:"single",label:"Singles"},{value:"compilation",label:"Compilations"}],handleChange:function(t){e.setFilter(t),e.props.uiActions.hideContextMenu()}}),(this.props.sort||this.props.filter)&&a.default.createElement("a",{className:"button button--discrete button--small",onClick:function(t){e.setFilter(null),e.setSort(null)}},a.default.createElement(b.default,{name:"clear"}),"Reset")),a.default.createElement("section",{className:"grid-wrapper no-top-padding"},a.default.createElement(f.default,{albums:t.albums}),a.default.createElement(c.default,{loadKey:t.albums_more,showLoader:t.albums_more,loadMore:function(){return e.loadMore()}}))))}},{key:"renderTracks",value:function(){var e=(0,P.collate)(this.props.artist,{artists:this.props.artists,tracks:this.props.tracks});if(!e.tracks_uris||e.tracks_uris&&!e.tracks||e.tracks_uris.length!==e.tracks.length)var t=!0;else t=!1;return a.default.createElement("div",{className:"body related-artists"},a.default.createElement("section",{className:"list-wrapper no-top-padding"},a.default.createElement(d.default,{className:"artist-track-list",uri:e.uri,tracks:e.tracks}),a.default.createElement(c.default,{showLoader:t})))}},{key:"renderRelatedArtists",value:function(){var e=(0,P.collate)(this.props.artist,{artists:this.props.artists});return a.default.createElement("div",{className:"body related-artists"},a.default.createElement("section",{className:"grid-wrapper no-top-padding"},a.default.createElement(h.default,{artists:e.related_artists})))}},{key:"renderAbout",value:function(){var e=(0,P.collate)(this.props.artist,{artists:this.props.artists}),t=[];if(e.images&&e.images.length>0){var n=!0,r=!1,o=void 0;try{for(var i,s=e.images[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var l=i.value;l.huge&&t.push(a.default.createElement("div",{className:"tile thumbnail-wrapper",key:l.huge},a.default.createElement(p.default,{size:"huge",canZoom:!0,images:l})))}}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}}return a.default.createElement("div",{className:"body about"},a.default.createElement("div",{className:"col col--w40 tiles artist-stats"},t,a.default.createElement("div",{className:"tile"},a.default.createElement("span",{className:"content"},a.default.createElement(b.default,{type:"fontawesome",name:(0,C.sourceIcon)(e.uri)}),(0,C.titleCase)((0,C.uriSource)(e.uri))+" artist")),e.followers&&a.default.createElement("div",{className:"tile"},a.default.createElement("span",{className:"content"},a.default.createElement(b.default,{type:"fontawesome",name:"users"}),e.followers.toLocaleString()+" followers")),e.popularity&&a.default.createElement("div",{className:"tile"},a.default.createElement("span",{className:"content"},a.default.createElement(b.default,{type:"fontawesome",name:"fire"}),e.popularity+" % popularity")),e.listeners&&a.default.createElement("div",{className:"tile"},a.default.createElement("span",{className:"content"},a.default.createElement(b.default,{type:"fontawesome",name:"headphones"}),e.listeners.toLocaleString()+" listeners"))),a.default.createElement("div",{className:"col col--w60 biography"},a.default.createElement("section",null,a.default.createElement("br",null),e.biography&&a.default.createElement("div",{className:"biography-text"},a.default.createElement("p",null,e.biography),a.default.createElement("br",null),a.default.createElement("div",{className:"mid_grey-text"},"Published: "+e.biography_publish_date),a.default.createElement("div",{className:"mid_grey-text"},"Origin: ",a.default.createElement("a",{href:e.biography_link,target:"_blank"},e.biography_link))))))}},{key:"render",value:function(){var e=this,t=(0,C.uriSource)(this.props.uri);if(!this.props.artist)return(0,C.isLoading)(this.props.load_queue,["spotify_artists/"+(0,C.getFromUri)("artistid",this.props.uri),"lastfm_method=artist.getInfo"])?a.default.createElement(E.default,{body:!0,loading:!0}):a.default.createElement(l.default,{type:"not-found",title:"Not found"},a.default.createElement("p",null,'Could not find artist with URI "'+encodeURIComponent(this.props.uri)+'"'));if(this.props.artist&&this.props.artist.images&&this.props.artist.images.length>0)var n=this.props.artist.images[0].huge;else n=null;var r="spotify"==t;if(this.props.artist.tracks_uris&&this.props.artist.tracks_uris.length>0)var o=this.props.artist.tracks_uris;else o=this.props.artist.albums_uris;return a.default.createElement("div",{className:"view artist-view preserve-3d"},a.default.createElement("div",{className:"intro preserve-3d"},a.default.createElement(m.default,{image:n}),a.default.createElement("div",{className:"liner"},a.default.createElement("div",{className:"heading"},a.default.createElement("div",{className:"heading__thumbnail"},a.default.createElement(p.default,{size:"medium",circle:!0,canZoom:!0,type:"artist",image:n})),a.default.createElement("div",{className:"heading__content"},a.default.createElement("h1",null,this.props.artist?this.props.artist.name:null),a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.props.mopidyActions.playURIs(o,e.props.artist.uri)}},"Play"),r?a.default.createElement(y.default,{uri:this.props.uri,removeText:"Remove from library",addText:"Add to library",is_following:this.inLibrary()}):null,a.default.createElement(v.default,{className:"white",onTrigger:function(t){return e.handleContextMenu(t)}})))),a.default.createElement("div",{className:"sub-views",id:"sub-views-menu"},a.default.createElement(u.default,{exact:!0,history:this.props.history,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/"+encodeURIComponent(this.props.uri),scrollTo:"#sub-views-menu"},a.default.createElement("h4",null,"Overview")),this.props.artist.tracks_uris&&this.props.artist.tracks_uris.length>10&&a.default.createElement(u.default,{exact:!0,history:this.props.history,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/"+encodeURIComponent(this.props.uri)+"/tracks",scrollTo:"#sub-views-menu"},a.default.createElement("h4",null,"Tracks")),this.props.artist.related_artists_uris&&a.default.createElement(u.default,{exact:!0,history:this.props.history,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/"+encodeURIComponent(this.props.uri)+"/related-artists",scrollTo:"#sub-views-menu"},a.default.createElement("h4",null,"Related artists")),a.default.createElement(u.default,{exact:!0,history:this.props.history,activeClassName:"sub-views__option--active",className:"sub-views__option",to:"/artist/"+encodeURIComponent(this.props.uri)+"/about",scrollTo:"#sub-views-menu"},a.default.createElement("h4",null,"About"))))),a.default.createElement("div",{className:"content-wrapper"},a.default.createElement(s.Switch,null,a.default.createElement(s.Route,{exact:!0,path:"/artist/:id/related-artists"},this.renderRelatedArtists()),a.default.createElement(s.Route,{exact:!0,path:"/artist/:id/tracks"},this.renderTracks()),a.default.createElement(s.Route,{exact:!0,path:"/artist/:id/about"},this.renderAbout()),a.default.createElement(s.Route,{exact:!0,path:"/artist/:id"},this.renderOverview()))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n,theme:e.ui.theme,slim_mode:e.ui.slim_mode,load_queue:e.ui.load_queue,artist:void 0!==e.core.artists[n]&&e.core.artists[n],tracks:e.core.tracks,artists:e.core.artists,spotify_library_artists:e.spotify.library_artists,local_library_artists:e.mopidy.library_artists,albums:e.core.albums?e.core.albums:[],filter:e.ui.artist_albums_filter?e.ui.artist_albums_filter:null,sort:e.ui.artist_albums_sort?e.ui.artist_albums_sort:null,sort_reverse:!!e.ui.artist_albums_sort_reverse,spotify_authorized:e.spotify.authorization,mopidy_connected:e.mopidy.connected}}),(function(e){return{coreActions:(0,i.bindActionCreators)(k,e),uiActions:(0,i.bindActionCreators)(w,e),mopidyActions:(0,i.bindActionCreators)(S,e),pusherActions:(0,i.bindActionCreators)(O,e),lastfmActions:(0,i.bindActionCreators)(T,e),spotifyActions:(0,i.bindActionCreators)(A,e)}}))(D)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=A(n(0)),o=n(3),i=n(2),s=A(n(28)),l=A(n(38)),u=A(n(17)),c=A(n(31)),d=A(n(19)),f=(A(n(35)),A(n(59))),p=A(n(37)),m=A(n(23)),h=A(n(50)),_=A(n(18)),y=A(n(34)),v=A(n(21)),g=A(n(5)),b=T(n(8)),E=T(n(1)),k=T(n(6)),w=T(n(7)),S=n(4),O=n(12);function T(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function A(e){return e&&e.__esModule?e:{default:e}}var C=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));P.call(n);var r=e.uri;return r.includes("spotify:user:")&&(r=r.replace(/spotify:user:([^:]*?):/i,"spotify:"),e.history.push("/playlist/"+encodeURIComponent(r))),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadPlaylist(this.props.uri)}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.playlist;e?this.props.uiActions.setWindowTitle(e.name+" (playlist)"):this.props.uiActions.setWindowTitle("Playlist")}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.playlist.tracks_more,{parent_type:"playlist",parent_key:this.props.playlist.uri,records_type:"track"})}},{key:"handleContextMenu",value:function(e){var t={e:e,context:"playlist",items:[this.props.playlist],uris:[this.props.uri]};this.props.uiActions.showContextMenu(t)}},{key:"play",value:function(){this.props.mopidyActions.playPlaylist(this.props.playlist.uri)}},{key:"follow",value:function(){this.props.allow_reporting&&s.default.event({category:"Playlist",action:"Follow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"PUT")}},{key:"unfollow",value:function(){this.props.allow_reporting&&s.default.event({category:"Playlist",action:"Unfollow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"DELETE")}},{key:"delete",value:function(){this.props.mopidyActions.deletePlaylist(this.props.playlist.uri)}},{key:"reorderTracks",value:function(e,t){this.props.coreActions.reorderPlaylistTracks(this.props.playlist.uri,e,t,this.props.playlist.snapshot_id)}},{key:"removeTracks",value:function(e){this.props.coreActions.removeTracksFromPlaylist(this.props.playlist.uri,e)}},{key:"inLibrary",value:function(){var e=(0,S.uriSource)(this.props.uri)+"_library_playlists";return this.props[e]&&this.props[e].indexOf(this.props.uri)>-1}},{key:"renderActions",value:function(){var e=this;switch((0,S.uriSource)(this.props.uri)){case"m3u":return a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.play()}},"Play"),a.default.createElement(u.default,{className:"button button--default",to:"/playlist/"+encodeURIComponent(this.props.uri)+"/edit"},"Edit"),a.default.createElement(y.default,{onTrigger:function(t){return e.handleContextMenu(t)}}));case"spotify":return this.props.playlist.can_edit?a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.play()}},"Play"),a.default.createElement(u.default,{className:"button button--default",to:"/playlist/"+encodeURIComponent(this.props.uri)+"/edit"},"Edit"),a.default.createElement(y.default,{onTrigger:function(t){return e.handleContextMenu(t)}})):a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.play()}},"Play"),a.default.createElement(h.default,{uri:this.props.uri,addText:"Add to library",removeText:"Remove from library",is_following:this.inLibrary()}),a.default.createElement(y.default,{onTrigger:function(t){return e.handleContextMenu(t)}}));default:return a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.play()}},"Play"),a.default.createElement(y.default,{onTrigger:function(t){return e.handleContextMenu(t)}}))}}},{key:"render",value:function(){var e=this,t=(0,S.getFromUri)("playlistid",this.props.uri);if(!this.props.playlist)return(0,S.isLoading)(this.props.load_queue,["spotify_playlists/"+t+"?"])?a.default.createElement(_.default,{body:!0,loading:!0}):a.default.createElement(l.default,{type:"not-found",title:"Not found"},a.default.createElement("p",null,'Could not find playlist with URI "',encodeURIComponent(this.props.uri),'"'));var n=(0,O.collate)(this.props.playlist,{tracks:this.props.tracks,users:this.props.users}),r="playlist";if(n.can_edit&&(r="editable-playlist"),0===n.tracks_total||n.tracks_uris&&(!n.tracks_uris||n.tracks)&&n.tracks_uris.length===n.tracks.length)o=!1;else var o=!0;return a.default.createElement("div",{className:"view playlist-view content-wrapper preserve-3d"},a.default.createElement("div",{className:"thumbnail-wrapper"},a.default.createElement(d.default,{size:"large",glow:!0,canZoom:!0,images:n.images,type:"playlist"})),a.default.createElement("div",{className:"title"},a.default.createElement("h1",null,n.name),n.description?a.default.createElement("h2",{className:"description",dangerouslySetInnerHTML:{__html:n.description}}):null,a.default.createElement("ul",{className:"details"},this.props.slim_mode?null:a.default.createElement("li",{className:"source"},a.default.createElement(g.default,{type:"fontawesome",name:(0,S.sourceIcon)(n.uri)})),n.user_uri?a.default.createElement("li",null,a.default.createElement(v.default,{type:"user",uri:n.user_uri},n.user?n.user.name:(0,S.getFromUri)("userid",n.user_uri))):null,a.default.createElement("li",null,n.tracks_total?n.tracks_total:"0"," ","tracks"),!this.props.slim_mode&&n.tracks&&n.tracks_total>0?a.default.createElement("li",null,a.default.createElement(p.default,{type:"total-time",data:n.tracks})):null,this.props.slim_mode||void 0===n.followers?null:a.default.createElement("li",null,a.default.createElement(f.default,{value:n.followers})," ","followers"),!this.props.slim_mode&&n.last_modified_date?a.default.createElement("li",null,"Edited",a.default.createElement(p.default,{type:"ago",data:n.last_modified_date})):null)),this.renderActions(),a.default.createElement("section",{className:"list-wrapper"},a.default.createElement(c.default,{uri:n.uri,className:"playlist-track-list",track_context:r,tracks:n.tracks,removeTracks:function(t){return e.removeTracks(t)},reorderTracks:function(t,n){return e.reorderTracks(t,n)}}),a.default.createElement(m.default,{loadKey:n.tracks_more,showLoader:o||n.tracks_more,loadMore:function(){return e.loadMore()}})))}}]),t}(a.default.Component),P=function(){var e=this;this.componentDidUpdate=function(t){var n=t.uri,r=t.playlist,a=t.mopidy_connected,o=e.props,i=o.uri,s=o.playlist,l=o.mopidy_connected,u=o.coreActions.loadPlaylist,c=o.history.push;r&&s&&r.moved_to!==s.moved_to&&c("/playlist/"+encodeURIComponent(s.moved_to)),i!==n?u(i):!a&&l&&"spotify"!==(0,S.uriSource)(i)&&u(nextProps.uri),!r&&s&&e.setWindowTitle(s),n!==i&&s&&e.setWindowTitle(s)}};t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n=(n=(n=(n=(n=(n=n.replace(/\s/g,"%20")).replace(/\[/g,"%5B")).replace(/\]/g,"%5D")).replace(/\(/g,"%28")).replace(/\)/g,"%29")).replace(/\#/g,"%23"),allow_reporting:e.ui.allow_reporting,slim_mode:e.ui.slim_mode,theme:e.ui.theme,load_queue:e.ui.load_queue,users:e.core.users,tracks:e.core.tracks,playlist:void 0!==e.core.playlists[n]&&e.core.playlists[n],spotify_library_playlists:e.spotify.library_playlists,local_library_playlists:e.mopidy.library_playlists,mopidy_connected:e.mopidy.connected,spotify_authorized:e.spotify.authorization,spotify_userid:e.spotify.me&&e.spotify.me.id?e.spotify.me.id:null}}),(function(e){return{coreActions:(0,i.bindActionCreators)(b,e),uiActions:(0,i.bindActionCreators)(E,e),mopidyActions:(0,i.bindActionCreators)(k,e),spotifyActions:(0,i.bindActionCreators)(w,e)}}))(C)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=k(n(0)),o=n(3),i=n(2),s=k(n(38)),l=k(n(19)),u=k(n(44)),c=k(n(50)),d=k(n(23)),f=k(n(35)),p=k(n(59)),m=k(n(18)),h=k(n(5)),_=E(n(8)),y=E(n(1)),v=E(n(7)),g=n(4),b=n(12);function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function k(e){return e&&e.__esModule?e:{default:e}}function w(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var S=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=w(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.uri,n=e.user,a=r.props,o=a.uri,i=a.user,s=a.coreActions,l=s.loadUser,u=s.loadUserPlaylists;t!==o&&(l(o),u(o)),!n&&i&&r.setWindowTitle(i)},w(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadUser(this.props.uri),this.props.coreActions.loadUserPlaylists(this.props.uri)}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.user;e?this.props.uiActions.setWindowTitle(e.name+" (user)"):this.props.uiActions.setWindowTitle("User")}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.user.playlists_more,{parent_type:"user",parent_key:this.props.uri,records_type:"playlist"})}},{key:"isMe",value:function(){var e=(0,g.getFromUri)("userid",this.props.uri);return this.props.me&&this.props.me.id&&this.props.me.id==e}},{key:"render",value:function(){var e=this,t=(0,g.getFromUri)("userid",this.props.uri);if(!this.props.user)return(0,g.isLoading)(this.props.load_queue,["spotify_users/"+t,"spotify_users/"+t+"/playlists/?"])?a.default.createElement(m.default,{body:!0,loading:!0}):a.default.createElement(s.default,{type:"not-found",title:"Not found"},a.default.createElement("p",null,'Could not find user with URI "',encodeURIComponent(this.props.uri),'"'));var n=(0,b.collate)(this.props.user,{playlists:this.props.playlists});if(n&&n.images)var r=n.images.huge;else r=null;return a.default.createElement("div",{className:"view user-view preserve-3d"},a.default.createElement("div",{className:"intro preserve-3d"},a.default.createElement(f.default,{image:r,blur:!0}),a.default.createElement("div",{className:"liner"},a.default.createElement("div",{className:"heading"},a.default.createElement("div",{className:"heading__thumbnail"},a.default.createElement(l.default,{size:"medium",circle:!0,canZoom:!0,image:r,type:"user"})),a.default.createElement("div",{className:"heading__content"},a.default.createElement("h1",null,n.name),a.default.createElement("div",{className:"heading__content__details"},a.default.createElement("div",{className:"actions"},a.default.createElement(c.default,{className:"primary",uri:n.uri,addText:"Follow",removeText:"Unfollow"})),a.default.createElement("h2",null,a.default.createElement("ul",{className:"details"},this.props.slim_mode?null:a.default.createElement("li",{className:"source"},a.default.createElement(h.default,{type:"fontawesome",name:(0,g.sourceIcon)(n.uri)})),n.playlists_total?a.default.createElement("li",null,a.default.createElement(p.default,{value:n.playlists_total})," ","playlists"):null,n.followers?a.default.createElement("li",null,a.default.createElement(p.default,{value:n.followers})," ","followers"):null,this.isMe()?a.default.createElement("li",null,a.default.createElement("span",{className:"blue-text"},"You")):null))))))),a.default.createElement("div",{className:"content-wrapper"},a.default.createElement("section",{className:"grid-wrapper"},a.default.createElement("h4",null,"Playlists"),a.default.createElement(u.default,{playlists:n.playlists}),a.default.createElement(d.default,{loadKey:n.playlists_more,showLoader:n.playlists_more,loadMore:function(){return e.loadMore()}}))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n,me:e.spotify.me,load_queue:e.ui.load_queue,spotify_authorized:e.spotify.authorization,playlists:e.core.playlists,user:void 0!==e.core.users[n]&&e.core.users[n]}}),(function(e){return{coreActions:(0,i.bindActionCreators)(_,e),uiActions:(0,i.bindActionCreators)(y,e),spotifyActions:(0,i.bindActionCreators)(v,e)}}))(S)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=T(n(0)),o=n(3),i=n(2),s=T(n(17)),l=T(n(38)),u=T(n(16)),c=T(n(19)),d=T(n(30)),f=T(n(157)),p=T(n(37)),m=T(n(61)),h=T(n(34)),_=T(n(5)),y=T(n(18)),v=O(n(8)),g=O(n(1)),b=O(n(6)),E=O(n(7)),k=O(n(15)),w=O(n(32)),S=n(4);function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function T(e){return e&&e.__esModule?e:{default:e}}function A(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var C=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=A(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.uri,n=e.track,a=e.mopidy_connected,o=r.props,i=o.uri,s=o.track,l=o.genius_authorized,u=o.lastfm_authorized,c=o.mopidy_connected,d=o.coreActions.loadTrack,f=o.geniusActions.findTrackLyrics,p=o.lastfmActions.getTrack;t!==i?(d(i),l&&s.artists&&f(s)):!a&&c&&"spotify"!==(0,S.uriSource)(i)&&d(i),(!n&&s||!n.artists&&s.artists)&&(r.setWindowTitle(s),u&&p(s.uri),l&&!s.lyrics_results&&f(s)),!n&&s&&r.setWindowTitle(s)},A(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.coreActions.loadTrack(this.props.uri),this.props.track&&(this.setWindowTitle(this.props.track),this.props.genius_authorized&&this.props.track.artists&&!this.props.track.lyrics_results&&this.props.geniusActions.findTrackLyrics(this.props.track))}},{key:"handleContextMenu",value:function(e){e.preventDefault();var t={uris:[this.props.uri]};this.props.uiActions.showContextMenu(e,t,"track","click")}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.track;if(e){for(var t="",n=0;n<e.artists.length;n++)""!=t&&(t+=", "),t+=e.artists[n].name;this.props.uiActions.setWindowTitle(e.name+" by "+t+" (track)")}else this.props.uiActions.setWindowTitle("Track")}},{key:"handleContextMenu",value:function(e){var t={e:e,context:"track",items:[this.props.track],uris:[this.props.uri]};this.props.uiActions.showContextMenu(t)}},{key:"play",value:function(){this.props.mopidyActions.playURIs([this.props.uri],this.props.uri)}},{key:"renderLyricsSelector",value:function(){var e=this.props,t=e.track,n=e.geniusActions;return void 0===t.lyrics_results||null===t.lyrics_results?null:t.lyrics_results.length<=0?a.default.createElement("div",{className:"field lyrics-selector"},a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",disabled:"disabled",value:"No results"}),a.default.createElement("div",{className:"description"},"Switch to another lyrics seach result"))):a.default.createElement("div",{className:"field lyrics-selector"},a.default.createElement("div",{className:"input"},a.default.createElement(m.default,{onChange:function(e){return n.getTrackLyrics(t.uri,e)},options:t.lyrics_results.map((function(e){return{value:e.path,label:e.title,defaultValue:e.path===t.lyrics_path}}))}),a.default.createElement("div",{className:"description"},"Switch to another lyrics seach result")))}},{key:"renderLyrics",value:function(){return(0,S.isLoading)(this.props.load_queue,["genius_"])?a.default.createElement("div",{className:"lyrics"},a.default.createElement(y.default,{body:!0,loading:!0})):this.props.track.lyrics?a.default.createElement("div",{className:"lyrics"},a.default.createElement("div",{className:"content",dangerouslySetInnerHTML:{__html:this.props.track.lyrics}}),a.default.createElement("div",{className:"origin mid_grey-text"},"Origin:"," ",a.default.createElement("a",{href:"https://genius.com"+this.props.track.lyrics_path,target:"_blank"},"https://genius.com"+this.props.track.lyrics_path))):a.default.createElement(l.default,{type:"not-found",title:"Could not load lyrics"})}},{key:"render",value:function(){var e=this;if((0,S.isLoading)(this.props.load_queue,["spotify_track/"+(0,S.getFromUri)("trackid",this.props.uri)]))return a.default.createElement(y.default,{body:!0,loading:!0});if(!this.props.track)return null;var t=this.props.track;if(t.album){var n=this.props.albums[t.album.uri];n&&n.images&&(t.images=n.images)}return a.default.createElement("div",{className:"view track-view content-wrapper"},this.props.slim_mode?a.default.createElement(u.default,{icon:"music",title:"Track",handleContextMenuTrigger:function(t){return e.handleContextMenu(t)},uiActions:this.props.uiActions}):null,a.default.createElement("div",{className:"thumbnail-wrapper"},a.default.createElement(c.default,{size:"large",canZoom:!0,images:t.images,type:"album"})),a.default.createElement("div",{className:"title"},a.default.createElement("h1",null,t.name),a.default.createElement("h2",null,t.album&&t.album.uri&&a.default.createElement(s.default,{to:"/album/"+t.album.uri},t.album.name),t.album&&!t.album.uri?t.album.name:null,t.album?null:"Unknown album"," by ",a.default.createElement(d.default,{items:t.artists})),a.default.createElement("ul",{className:"details"},this.props.slim_mode?null:a.default.createElement("li",{className:"source"},a.default.createElement(_.default,{type:"fontawesome",name:(0,S.sourceIcon)(this.props.uri)})),t.date?a.default.createElement("li",null,a.default.createElement(p.default,{type:"date",data:t.date})):null,t.explicit?a.default.createElement("li",null,a.default.createElement("span",{className:"flag flag--dark"},"EXPLICIT")):null,a.default.createElement("li",null,t.disc_number>0&&a.default.createElement("span",null,"Disc ",t.disc_number),t.disc_number>0&&t.track_number>0&&a.default.createElement("span",null,", "),t.track_number&&a.default.createElement("span",null,"Track ",t.track_number)),t.duration&&a.default.createElement("li",null,a.default.createElement(p.default,{type:"length",data:t.duration})),t.popularity&&a.default.createElement("li",null,t.popularity+"% popularity"))),a.default.createElement("div",{className:"actions"},a.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.play()}},"Play"),a.default.createElement(f.default,{uri:this.props.uri,artist:this.props.track.artists?this.props.track.artists[0].name:null,track:this.props.track.name,addText:"Love",removeText:"Unlove",is_loved:this.props.track.userloved}),a.default.createElement(h.default,{onTrigger:function(t){return e.handleContextMenu(t)}})),this.props.genius_authorized?null:a.default.createElement("p",{className:"no-results"},"Want track lyrics? Authorize Genius under",a.default.createElement(s.default,{to:"/settings/genius",scrollTo:"#services-menu"},"Settings"),"."),this.props.genius_authorized?this.renderLyricsSelector():null,this.props.genius_authorized?this.renderLyrics():null)}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n=function(e){var t=(0,S.uriSource)(e)+":"+(0,S.uriType)(e)+":",n=(0,S.getFromUri)("trackid",e);return t+(n=(n=encodeURIComponent(n).replace(/[!'()*]/g,escape)).replace(/%2F/g,"/"))}(n),slim_mode:e.ui.slim_mode,load_queue:e.ui.load_queue,track:!(!e.core.tracks||void 0===e.core.tracks[n])&&e.core.tracks[n],tracks:e.core.tracks,artists:e.core.artists,albums:e.core.albums,spotify_library_albums:e.spotify.library_albums,local_library_albums:e.mopidy.library_albums,lastfm_authorized:e.lastfm.authorization,spotify_authorized:e.spotify.authorization,genius_authorized:e.genius.authorization,mopidy_connected:e.mopidy.connected}}),(function(e){return{coreActions:(0,i.bindActionCreators)(v,e),uiActions:(0,i.bindActionCreators)(g,e),mopidyActions:(0,i.bindActionCreators)(b,e),lastfmActions:(0,i.bindActionCreators)(k,e),spotifyActions:(0,i.bindActionCreators)(E,e),geniusActions:(0,i.bindActionCreators)(w,e)}}))(C)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=d(n(1)),c=d(n(15));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var f=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"remove",value:function(){this.props.lastfmActions.unloveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"add",value:function(){this.props.lastfmActions.loveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"render",value:function(){var e=this;if(!this.props.uri)return!1;var t="button";return this.props.className&&(t+=" "+this.props.className),this.props.lastfm_authorized?this.props.is_loved&&"0"!==this.props.is_loved?i.default.createElement("button",{className:t+" button--destructive",onClick:function(t){return e.remove()}},this.props.removeText):i.default.createElement("button",{className:t+" button--default",onClick:function(t){return e.add()}},this.props.addText):i.default.createElement("button",{className:t+" button--disabled",onClick:function(t){return e.props.uiActions.createNotification({content:"You must authorize LastFM first",level:"warning"})}},this.props.addText)}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{load_queue:e.ui.load_queue,lastfm_authorized:e.lastfm.authorization}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),lastfmActions:(0,l.bindActionCreators)(c,e)}}))(f)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=O(n(0)),i=n(3),s=n(2),l=O(n(17)),u=O(n(5)),c=O(n(35)),d=O(n(31)),f=O(n(37)),p=O(n(30)),m=O(n(19)),h=O(n(16)),_=O(n(21)),y=O(n(23)),v=S(n(8)),g=S(n(1)),b=S(n(13)),E=S(n(7)),k=S(n(6)),w=n(4);function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function O(e){return e&&e.__esModule?e:{default:e}}var T=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.added_from_uri,r=n.props,a=r.coreActions,o=a.loadAlbum,i=a.loadArtist,s=a.loadPlaylist,l=r.added_from_uri;if(l&&l!==t)switch((0,w.uriType)(l)){case"album":o(l);break;case"artist":i(l);break;case"playlist":s(l)}},n.state={limit:50,per_page:50},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){var e=this.props.location.state?this.props.location.state:{};e.limit&&this.setState({limit:e.limit}),this.props.uiActions.setWindowTitle("Now playing")}},{key:"shouldComponentUpdate",value:function(e){return e!==this.props}},{key:"loadMore",value:function(){var e=this.state,t=e.limit,n=e.per_page,r=this.props,a=r.location,o=r.history,i=t+n;this.setState({limit:i});var s=a&&a.state?a.state:{};s.limit=i,o.replace({state:s})}},{key:"removeTracks",value:function(e){for(var t=this.props,n=t.queue_tracks,r=t.mopidyActions,a=[],o=0;o<e.length;o++){var i=n[e[o]];void 0!==i.tlid&&a.push(i.tlid)}a.length>0&&r.removeTracks(a)}},{key:"playTrack",value:function(e){this.props.mopidyActions.changeTrack(e.tlid)}},{key:"playTracks",value:function(e){this.props.mopidyActions.changeTrack(e[0].tlid)}},{key:"reorderTracks",value:function(e,t){this.props.mopidyActions.reorderTracklist(e,t)}},{key:"renderArtwork",value:function(e){var t=this.props.current_track,n=t&&t.album&&t.album.uri?t.album.uri:null;return e?o.default.createElement("div",{className:"current-track__artwork"},o.default.createElement(m.default,{glow:!0,image:e,type:"track"},o.default.createElement(_.default,{uri:n,className:"thumbnail__actions__item"},o.default.createElement(u.default,{name:"art_track"})),o.default.createElement(l.default,{to:"/kiosk-mode",className:"thumbnail__actions__item"},o.default.createElement(u.default,{name:"expand",type:"fontawesome"})))):o.default.createElement("div",{className:"current-track__artwork"},o.default.createElement(m.default,{glow:!0,type:"track"}))}},{key:"renderAddedFrom",value:function(){var e=this.props.added_from_uri;if(!e)return null;var t=(0,w.uriType)(e),n=[];switch(t){case"radio":var r=(0,w.getFromUri)("seeds",e),a=!0,i=!1,s=void 0;try{for(var l,u=r[Symbol.iterator]();!(a=(l=u.next()).done);a=!0){var c=l.value,d=(0,w.uriType)(c),f=this.props[d+"s"];f&&f[c]&&n.push(f[c])}}catch(e){i=!0,s=e}finally{try{!a&&u.return&&u.return()}finally{if(i)throw s}}break;case"search":n.push({uri:e,name:'"'+(0,w.getFromUri)("searchterm",e)+'" search'});break;default:var h=this.props[t+"s"];h&&h[e]&&n.push(h[e])}return n.length<=0?null:o.default.createElement("div",{className:"current-track__added-from"},n[0].images&&o.default.createElement(_.default,{uri:n[0].uri,className:"current-track__added-from__thumbnail"},o.default.createElement(m.default,{images:n[0].images,size:"small",circle:"artist"===(0,w.uriType)(n[0].uri),type:"artist"})),o.default.createElement("div",{className:"current-track__added-from__text"},"Playing from ",o.default.createElement(p.default,{items:n}),"radio"===t&&o.default.createElement("span",{className:"flag flag--blue"},"Radio")))}},{key:"render",value:function(){var e=this,t=this.props,n=t.current_track,r=t.queue_tracks,a=t.theme,i=this.state.limit,s=r.length,m=r.slice(0,i),v=null;n&&this.props.current_track_uri&&void 0!==n.images&&n.images&&(v=n.images.large);var g=o.default.createElement("span",null,this.props.spotify_enabled&&o.default.createElement(l.default,{className:"button button--no-hover",to:"/queue/radio"},o.default.createElement(u.default,{name:"radio"}),"Radio"),o.default.createElement(l.default,{className:"button button--no-hover",to:"/queue/history"},o.default.createElement(u.default,{name:"history"}),"History"),o.default.createElement(l.default,{className:"button button--no-hover",to:"/queue/add-uri"},o.default.createElement(u.default,{name:"playlist_add"}),"Add URI"));return o.default.createElement("div",{className:"view queue-view preserve-3d"},o.default.createElement(h.default,{options:g,uiActions:this.props.uiActions},o.default.createElement(u.default,{name:"play_arrow",type:"material"}),"Now playing"),"dark"===a&&o.default.createElement(c.default,{image:v,blur:!0}),o.default.createElement("div",{className:"content-wrapper"},o.default.createElement("div",{className:"current-track"},this.renderArtwork(v),o.default.createElement("div",{className:"current-track__details"},o.default.createElement("div",{className:"current-track__title"},n?o.default.createElement(_.default,{type:"track",uri:n.uri},n.name):o.default.createElement("span",null,"-")),n?o.default.createElement(p.default,{className:"current-track__artists",items:n.artists}):o.default.createElement(p.default,{className:"current-track__artists"}),this.renderAddedFrom(),o.default.createElement("div",{className:"current-track__queue-details"},o.default.createElement("ul",{className:"details"},o.default.createElement("li",null,r.length+" tracks"),o.default.createElement("li",null,o.default.createElement(f.default,{type:"total-time",data:r})),r.length>0&&o.default.createElement("li",null,o.default.createElement("a",{onClick:this.props.mopidyActions.shuffleTracklist},o.default.createElement(u.default,{name:"shuffle"}),"Shuffle")),r.length>0&&o.default.createElement("li",null,o.default.createElement("a",{onClick:this.props.mopidyActions.clearTracklist},o.default.createElement(u.default,{name:"delete_sweep"}),"Clear")))))),o.default.createElement("section",{className:"list-wrapper"},o.default.createElement(d.default,{uri:"iris:queue",show_source_icon:!0,track_context:"queue",className:"queue-track-list",tracks:m,removeTracks:function(t){return e.removeTracks(t)},playTracks:function(t){return e.playTracks(t)},playTrack:function(t){return e.playTrack(t)},reorderTracks:function(t,n){return e.reorderTracks(t,n)}})),o.default.createElement(y.default,{loadKey:s>i?i:s,showLoader:i<s,loadMore:function(){return e.loadMore()}})))}}]),t}(o.default.Component);t.default=(0,i.connect)((function(e,t){var n=e.core.current_track,a=[];if(e.core.queue&&e.core.tracks){var o=!0,i=!1,s=void 0;try{for(var l,u=e.core.queue[Symbol.iterator]();!(o=(l=u.next()).done);o=!0){var c=l.value,d=r({},c,{playing:n&&n.tlid==c.tlid});e.core.tracks.hasOwnProperty(d.uri)&&(d=r({},e.core.tracks[d.uri],d)),void 0!==e.core.queue_metadata["tlid_"+d.tlid]&&(d=r({},d,e.core.queue_metadata["tlid_"+d.tlid])),d.playing&&(n=d),a.push(d)}}catch(e){i=!0,s=e}finally{try{!o&&u.return&&u.return()}finally{if(i)throw s}}}return{theme:e.ui.theme,spotify_enabled:e.spotify.enabled,radio:e.core.radio,radio_enabled:!(!e.core.radio||!e.core.radio.enabled),artists:e.core.artists,albums:e.core.albums,playlists:e.core.playlists,tracks:e.core.tracks,queue_tracks:a,current_track_uri:e.core.current_track_uri,current_track:n,added_from_uri:n&&n.added_from?n.added_from:null}}),(function(e){return{coreActions:(0,s.bindActionCreators)(v,e),uiActions:(0,s.bindActionCreators)(g,e),pusherActions:(0,s.bindActionCreators)(b,e),spotifyActions:(0,s.bindActionCreators)(E,e),mopidyActions:(0,s.bindActionCreators)(k,e)}}))(T)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=_(n(0)),i=n(3),s=n(2),l=_(n(31)),u=_(n(16)),c=_(n(5)),d=h(n(1)),f=h(n(13)),p=h(n(7)),m=h(n(6));function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var v=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=y(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.mopidy_connected,n=r.props.mopidy_connected;!t&&n&&r.loadHistory()},y(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Queue history"),this.loadHistory()}},{key:"loadHistory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;e.mopidy_connected&&this.props.mopidyActions.getQueueHistory()}},{key:"render",value:function(){for(var e=this,t=o.default.createElement("a",{className:"button button--no-hover",onClick:function(t){return e.props.history.push("/queue")}},o.default.createElement(c.default,{name:"keyboard_backspace"}),"  Back"),n=[],a=0;a<this.props.queue_history.length;a++){var i=r({},this.props.queue_history[a]);void 0!==this.props.tracks[i.uri]&&(i=r({},i,this.props.tracks[i.uri])),n.push(i)}return o.default.createElement("div",{className:"view queue-history-view"},o.default.createElement(u.default,{options:t,uiActions:this.props.uiActions},o.default.createElement(c.default,{name:"play_arrow",type:"material"}),"Playback history"),o.default.createElement("section",{className:"content-wrapper"},o.default.createElement(l.default,{uri:"iris:queue-history",className:"queue-history-track-list",track_context:"history",tracks:n,show_source_icon:!0})))}}]),t}(o.default.Component);t.default=(0,i.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,tracks:e.core.tracks?e.core.tracks:{},queue_history:e.mopidy.queue_history?e.mopidy.queue_history:[]}}),(function(e){return{uiActions:(0,s.bindActionCreators)(d,e),pusherActions:(0,s.bindActionCreators)(f,e),spotifyActions:(0,s.bindActionCreators)(p,e),mopidyActions:(0,s.bindActionCreators)(m,e)}}))(v)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=h(n(0)),o=n(3),i=n(2),s=h(n(16)),l=h(n(5)),u=m(n(1)),c=m(n(13)),d=m(n(6)),f=m(n(7)),p=m(n(36));function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}var _=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={mopidy_call:"playlists.asList",mopidy_data:"{}",pusher_data:'{"method":"get_config"}',snapcast_data:'{"method":"Server.GetStatus"}',access_token:n.props.access_token,toggling_test_mode:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Debug")}},{key:"callMopidy",value:function(e){e.preventDefault(),this.props.mopidyActions.debug(this.state.mopidy_call,JSON.parse(this.state.mopidy_data))}},{key:"callPusher",value:function(e){e.preventDefault(),this.props.pusherActions.debug(JSON.parse(this.state.pusher_data))}},{key:"callSnapcast",value:function(e){e.preventDefault(),this.props.snapcastActions.debug(JSON.parse(this.state.snapcast_data))}},{key:"toggleTestMode",value:function(e){this.setState({toggling_test_mode:!0}),this.props.uiActions.set({test_mode:!this.props.test_mode}),setTimeout(location.reload(),1e3)}},{key:"render",value:function(){var e=this,t=a.default.createElement("a",{className:"button button--discrete button--no-hover",onClick:function(t){return e.props.history.push("/settings")}},a.default.createElement(l.default,{name:"keyboard_backspace"}),"Back");return a.default.createElement("div",{className:"view debugger-view"},a.default.createElement(s.default,{options:t,uiActions:this.props.uiActions},a.default.createElement(l.default,{name:"settings",type:"material"}),"Debug"),a.default.createElement("div",{className:"content-wrapper"},a.default.createElement("h4",{className:"underline"},"User interface"),a.default.createElement("form",null,a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Test mode"),a.default.createElement("div",{className:"input"},this.state.toggling_test_mode?a.default.createElement("span",{className:"button button--working"},"Applying..."):this.props.test_mode?a.default.createElement("span",{className:"button button--destructive",onClick:function(t){return e.toggleTestMode(t)}},"Disable"):a.default.createElement("span",{className:"button button--primary",onClick:function(t){return e.toggleTestMode(t)}},"Enable"))),a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Debug"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"debug_info",checked:this.props.debug_info,onChange:function(t){return e.props.uiActions.set({debug_info:!e.props.debug_info})}}),a.default.createElement("span",{className:"label"},"Show debug overlay")))),a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Logging"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.log_actions,onChange:function(t){return e.props.uiActions.set({log_actions:!e.props.log_actions})}}),a.default.createElement("span",{className:"label"},"Log actions")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"log_mopidy",checked:this.props.log_mopidy,onChange:function(t){return e.props.uiActions.set({log_mopidy:!e.props.log_mopidy})}}),a.default.createElement("span",{className:"label"},"Log Mopidy")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"log_pusher",checked:this.props.log_pusher,onChange:function(t){return e.props.uiActions.set({log_pusher:!e.props.log_pusher})}}),a.default.createElement("span",{className:"label"},"Log Pusher")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"log_pusher",checked:this.props.log_snapcast,onChange:function(t){return e.props.uiActions.set({log_snapcast:!e.props.log_snapcast})}}),a.default.createElement("span",{className:"label"},"Log Snapcast")))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"}),a.default.createElement("div",{className:"input"},a.default.createElement("a",{className:"button button--default",onClick:function(t){return e.props.uiActions.createNotification({content:"Test notification"})}},"Create notification"),a.default.createElement("a",{className:"button button--default",onClick:function(t){return e.props.uiActions.startProcess("test_process","Test process",{remaining:68,total:100})}},"Create process notification"),a.default.createElement("a",{className:"button button--default",onClick:function(t){return e.props.pusherActions.request("test")}},"Run test process")))),a.default.createElement("h4",{className:"underline"},"Spotify"),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Access token"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.props.spotifyActions.authorizationGranted({access_token:t.target.value})},value:this.state.access_token}))),a.default.createElement("h4",{className:"underline"},"Mopidy"),a.default.createElement("form",{onSubmit:function(t){return e.callMopidy(t)}},a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Call"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({mopidy_call:t.target.value})},value:this.state.mopidy_call}))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Data"),a.default.createElement("div",{className:"input"},a.default.createElement("textarea",{onChange:function(t){return e.setState({mopidy_data:t.target.value})},value:this.state.mopidy_data}))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"}),a.default.createElement("div",{className:"input"},a.default.createElement("button",{type:"submit",className:"button button--default"},"Send")))),a.default.createElement("h4",{className:"underline"},"Pusher"),a.default.createElement("form",{onSubmit:function(t){return e.callPusher(t)}},a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Examples"),a.default.createElement("div",{className:"input"},a.default.createElement("select",{onChange:function(t){return e.setState({pusher_data:t.target.value})}},a.default.createElement("option",{value:'{"method":"get_config"}'},"Get config"),a.default.createElement("option",{value:'{"method":"get_version"}'},"Get version"),a.default.createElement("option",{value:'{"method":"get_connections"}'},"Get connections"),a.default.createElement("option",{value:'{"method":"get_radio"}'},"Get radio"),a.default.createElement("option",{value:'{"method":"get_queue_metadata"}'},"Get queue metadata"),a.default.createElement("option",{value:'{"method":"broadcast","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}'},"Broadcast to all clients"),a.default.createElement("option",{value:'{"method":"send_message","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}'},"Broadcast to one client"),a.default.createElement("option",{value:'{"method":"set_username","data":{"connection_id":"CONNECTION_ID_HERE","username":"NewUsername"}}'},"Change username"),a.default.createElement("option",{value:'{"method":"refresh_spotify_token"}'},"Refresh Spotify token"),a.default.createElement("option",{value:'{"method":"broadcast","data":{"method":"reload","params":{}}}'},"Forced reload for all connected clients"),a.default.createElement("option",{value:'{"method":"perform_upgrade"}'},"Perform upgrade (beta)")))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Data"),a.default.createElement("div",{className:"input"},a.default.createElement("textarea",{onChange:function(t){return e.setState({pusher_data:t.target.value})},value:this.state.pusher_data}))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"}),a.default.createElement("div",{className:"input"},a.default.createElement("button",{type:"submit",className:"button button--default"},"Send")))),a.default.createElement("h4",{className:"underline"},"Snapcast"),a.default.createElement("form",{onSubmit:function(t){return e.callSnapcast(t)}},a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Data"),a.default.createElement("div",{className:"input"},a.default.createElement("textarea",{onChange:function(t){return e.setState({snapcast_data:t.target.value})},value:this.state.snapcast_data}))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"}),a.default.createElement("div",{className:"input"},a.default.createElement("button",{type:"submit",className:"button button--default"},"Send")))),a.default.createElement("h4",{className:"underline"},"Response"),a.default.createElement("pre",null,this.props.debug_response?JSON.stringify(this.props.debug_response,null,2):null)))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{connection_id:e.pusher.connection_id,access_token:e.spotify.access_token?e.spotify.access_token:"",log_actions:!!e.ui.log_actions&&e.ui.log_actions,log_pusher:!!e.ui.log_pusher&&e.ui.log_pusher,log_mopidy:!!e.ui.log_mopidy&&e.ui.log_mopidy,log_snapcast:!!e.ui.log_snapcast&&e.ui.log_snapcast,test_mode:!!e.ui.test_mode&&e.ui.test_mode,debug_info:!!e.ui.debug_info&&e.ui.debug_info,debug_response:e.ui.debug_response}}),(function(e){return{uiActions:(0,i.bindActionCreators)(u,e),pusherActions:(0,i.bindActionCreators)(c,e),mopidyActions:(0,i.bindActionCreators)(d,e),spotifyActions:(0,i.bindActionCreators)(f,e),snapcastActions:(0,i.bindActionCreators)(p,e)}}))(_)},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=T(n(0)),i=n(3),s=n(2),l=n(39),u=T(n(16)),c=T(n(5)),d=T(n(33)),f=T(n(31)),p=T(n(60)),m=T(n(43)),h=T(n(44)),_=T(n(23)),y=T(n(162)),v=T(n(21)),g=O(n(8)),b=O(n(1)),E=O(n(6)),k=O(n(7)),w=n(4),S=n(9);function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function T(e){return e&&e.__esModule?e:{default:e}}function A(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var C=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.componentDidUpdate=function(e){var n=e.type,r=e.term,a=e.mopidy_connected,o=t.props,i=o.type,s=o.term,l=o.mopidy_connected,u=o.uri_schemes_search_enabled,c=t.state,d=c.type,f=c.term;n===i&&r===s||t.digestUri({type:i,term:s}),!a&&l&&u&&(t.search(d,f,"mopidy"),u.includes("spotify:")&&t.search(d,f,"spotify"))},t.state={type:"all",term:""},t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),a(n,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Search"),e(document).find(".search-form input").focus(),this.digestUri(r({},this.props,{term:decodeURIComponent(this.props.term)}))}},{key:"handleSubmit",value:function(e){var t=this,n=encodeURIComponent(e);this.setState({term:e},(function(){t.props.term==e?t.search():t.props.history.push("/search/"+t.state.type+"/"+n)}))}},{key:"digestUri",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;e.type&&e.term?(this.setState({type:e.type,term:e.term}),this.search(e.type,e.term)):e.term&&""!=e.term||(this.props.spotifyActions.clearSearchResults(),this.props.mopidyActions.clearSearchResults())}},{key:"search",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.type,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.term,n=arguments[2];this.props.uiActions.setWindowTitle("Search: "+decodeURIComponent(t)),e&&t&&(("mopidy"==n||this.props.mopidy_connected&&this.props.uri_schemes_search_enabled)&&(void 0!==this.props.mopidy_search_results.query&&this.props.mopidy_search_results.query==t||(this.props.mopidyActions.clearSearchResults(),this.props.mopidyActions.getSearchResults(e,t))),("spotify"==n||this.props.mopidy_connected&&this.props.uri_schemes_search_enabled&&this.props.uri_schemes_search_enabled.includes("spotify:"))&&(void 0!==this.props.spotify_search_results.query&&this.props.spotify_search_results.query==t||(this.props.spotifyActions.clearSearchResults(),this.props.spotifyActions.getSearchResults(e,t))))}},{key:"loadMore",value:function(e){alert("load more: "+e)}},{key:"setSort",value:function(e){var t=!1;this.props.sort==e&&(t=!this.props.sort_reverse);var n={search_results_sort_reverse:t,search_results_sort:e};this.props.uiActions.set(n)}},{key:"handleSourceChange",value:function(e){this.props.uiActions.set({uri_schemes_search_enabled:e}),this.props.uiActions.hideContextMenu()}},{key:"renderArtists",value:function(e,t){var n=this,r=encodeURIComponent(this.state.term);return o.default.createElement("div",null,o.default.createElement("h4",null,o.default.createElement(v.default,{uri:"iris:search:all:"+r},"Search "),o.default.createElement(c.default,{type:"fontawesome",name:"angle-right"})," Artists"),o.default.createElement("section",{className:"grid-wrapper"},o.default.createElement(p.default,{artists:e,show_source_icon:!0}),o.default.createElement(_.default,{enabled:this.props.artists_more&&t,loadMore:function(){return n.loadMore("artists")}})))}},{key:"renderAlbums",value:function(e,t){var n=this,r=encodeURIComponent(this.state.term);return o.default.createElement("div",null,o.default.createElement("h4",null,o.default.createElement(v.default,{uri:"iris:search:all:"+r},"Search "),o.default.createElement(c.default,{type:"fontawesome",name:"angle-right"})," Albums"),o.default.createElement("section",{className:"grid-wrapper"},o.default.createElement(m.default,{albums:e,show_source_icon:!0}),o.default.createElement(_.default,{enabled:this.props.albums_more&&t,loadMore:function(){return n.loadMore("albums")}})))}},{key:"renderPlaylists",value:function(e,t){var n=this,r=encodeURIComponent(this.state.term);return o.default.createElement("div",null,o.default.createElement("h4",null,o.default.createElement(v.default,{uri:"iris:search:all:"+r},"Search "),o.default.createElement(c.default,{type:"fontawesome",name:"angle-right"})," Playlists"),o.default.createElement("section",{className:"grid-wrapper"},o.default.createElement(h.default,{playlists:e,show_source_icon:!0}),o.default.createElement(_.default,{enabled:this.props.playlists_more&&t,loadMore:function(){return n.loadMore("playlists")}})))}},{key:"renderTracks",value:function(e,t){var n=this,r=encodeURIComponent(this.state.term);return o.default.createElement("div",null,o.default.createElement("h4",null,o.default.createElement(v.default,{uri:"iris:search:all:"+r},"Search "),o.default.createElement(c.default,{type:"fontawesome",name:"angle-right"})," Tracks"),o.default.createElement("section",{className:"list-wrapper"},o.default.createElement(f.default,{tracks:e,uri:"iris:search:"+this.state.type+":"+r,show_source_icon:!0}),o.default.createElement(_.default,{enabled:this.props.tracks_more&&t,loadMore:function(){return n.loadMore("tracks")}})))}},{key:"renderAll",value:function(e,t,n,r,a){var i=this,s=encodeURIComponent(this.state.term);if(e.length>0)var l=o.default.createElement("section",null,o.default.createElement("div",{className:"inner"},o.default.createElement(v.default,{uri:"iris:search:artist:"+s},o.default.createElement("h4",null,"Artists")),o.default.createElement(p.default,{mini:!0,show_source_icon:!0,artists:e.slice(0,6)}),e.length>=6&&o.default.createElement(v.default,{uri:"iris:search:artist:"+s,className:"button button--default"},"All artists ("+e.length+")")));else l=null;if(t.length>0)var u=o.default.createElement("section",null,o.default.createElement("div",{className:"inner"},o.default.createElement(v.default,{uri:"iris:search:album:"+s},o.default.createElement("h4",null,"Albums")),o.default.createElement(m.default,{mini:!0,show_source_icon:!0,albums:t.slice(0,6)}),t.length>=6&&o.default.createElement(v.default,{uri:"iris:search:album:"+s,className:"button button--default"},"All albums ("+t.length+")")));else u=null;if(n.length>0)var c=o.default.createElement("section",null,o.default.createElement("div",{className:"inner"},o.default.createElement(v.default,{uri:"iris:search:playlist:"+s},o.default.createElement("h4",null,"Playlists")),o.default.createElement(h.default,{mini:!0,show_source_icon:!0,playlists:n.slice(0,6)}),n.length>=6&&o.default.createElement(v.default,{uri:"iris:search:playlist:"+s,className:"button button--default"},"All playlists ("+n.length+")")));else c=null;if(r.length>0)var d=o.default.createElement("section",{className:"list-wrapper"},o.default.createElement(f.default,{tracks:r,uri:"iris:search:"+this.state.type+":"+s,show_source_icon:!0}),o.default.createElement(_.default,{loading:this.props.tracks_more&&a,loadMore:function(){return i.loadMore("tracks")}}));else d=null;return o.default.createElement("div",null,o.default.createElement("div",{className:"search-result-sections cf"},l,u,c),d)}},{key:"render",value:function(){for(var e=this,t=[],n=0;n<this.props.uri_schemes.length;n++)t.push({value:this.props.uri_schemes[n],label:(0,w.titleCase)(this.props.uri_schemes[n].replace(":","").replace("+"," "))});var r=this.props.search_settings&&this.props.search_settings.spotify,a=this.props.sort,i=this.props.sort_reverse,s=null;switch(this.props.sort){case"uri":s=this.props.uri_schemes_priority;break;case"followers":i=!i}var f=[];this.props.mopidy_search_results.artists&&(f=[].concat(A(f),A((0,w.getIndexedRecords)(this.props.artists,this.props.mopidy_search_results.artists)))),this.props.spotify_search_results.artists&&(f=[].concat(A(f),A((0,w.getIndexedRecords)(this.props.artists,this.props.spotify_search_results.artists)))),f=(0,S.sortItems)(f,a,i,s);var p=[];this.props.mopidy_search_results.albums&&(p=[].concat(A(p),A((0,w.getIndexedRecords)(this.props.albums,this.props.mopidy_search_results.albums)))),this.props.spotify_search_results.albums&&(p=[].concat(A(p),A((0,w.getIndexedRecords)(this.props.albums,this.props.spotify_search_results.albums)))),p=(0,S.sortItems)(p,a,i,s);var m=[];this.props.mopidy_search_results.playlists&&(m=[].concat(A(m),A((0,w.getIndexedRecords)(this.props.playlists,this.props.mopidy_search_results.playlists)))),this.props.spotify_search_results.playlists&&(m=[].concat(A(m),A((0,w.getIndexedRecords)(this.props.playlists,this.props.spotify_search_results.playlists)))),m=(0,S.sortItems)(m,a,i,s);var h=[];this.props.mopidy_search_results.tracks&&(h=[].concat(A(h),A(this.props.mopidy_search_results.tracks))),this.props.spotify_search_results.tracks&&(h=[].concat(A(h),A(this.props.spotify_search_results.tracks))),h=(0,S.sortItems)(h,"followers"==a?"popularity":a,i,s);var _=o.default.createElement("span",null,o.default.createElement(d.default,{icon:"swap_vert",name:"Sort",value:this.props.sort,valueAsLabel:!0,options:[{value:"followers",label:"Popularity"},{value:"name",label:"Name"},{value:"artists.name",label:"Artist"},{value:"duration",label:"Duration"},{value:"uri",label:"Source"}],selected_icon:this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down",handleChange:function(t){e.setSort(t),e.props.uiActions.hideContextMenu()}}),o.default.createElement(d.default,{icon:"cloud",name:"Sources",value:this.props.uri_schemes_search_enabled,options:t,handleChange:function(t){return e.handleSourceChange(t)},onClose:function(){e.props.spotifyActions.clearSearchResults(),e.props.mopidyActions.clearSearchResults(),e.search()}}));return o.default.createElement("div",{className:"view search-view"},o.default.createElement(u.default,{options:_,uiActions:this.props.uiActions},o.default.createElement(c.default,{name:"search",type:"material"})),o.default.createElement(y.default,{history:this.props.history,term:this.state.term,onSubmit:function(t){return e.handleSubmit(t)}}),o.default.createElement("div",{className:"content-wrapper"},o.default.createElement(l.Switch,null,o.default.createElement(l.Route,{path:"/search/artist/:term"},this.renderArtists(f,r)),o.default.createElement(l.Route,{path:"/search/album/:term"},this.renderAlbums(p,r)),o.default.createElement(l.Route,{path:"/search/playlist/:term"},this.renderPlaylists(m,r)),o.default.createElement(l.Route,{path:"/search/track/:term"},this.renderTracks(h,r)),o.default.createElement(l.Route,{path:"/search"},this.renderAll(f,p,m,h,r)))))}}]),n}(o.default.Component);t.default=(0,i.connect)((function(e,t){return{type:t.match.params.type,term:t.match.params.term,mopidy_connected:e.mopidy.connected,albums:e.core.albums?e.core.albums:[],artists:e.core.artists?e.core.artists:[],playlists:e.core.playlists?e.core.playlists:[],tracks:e.core.tracks?e.core.tracks:[],uri_schemes_search_enabled:e.ui.uri_schemes_search_enabled?e.ui.uri_schemes_search_enabled:[],uri_schemes_priority:e.ui.uri_schemes_priority?e.ui.uri_schemes_priority:[],uri_schemes:e.mopidy.uri_schemes?e.mopidy.uri_schemes:[],mopidy_search_results:e.mopidy.search_results?e.mopidy.search_results:{},spotify_search_results:e.spotify.search_results?e.spotify.search_results:{},sort:e.ui.search_results_sort?e.ui.search_results_sort:"followers.total",sort_reverse:!!e.ui.search_results_sort_reverse}}),(function(e){return{coreActions:(0,s.bindActionCreators)(g,e),uiActions:(0,s.bindActionCreators)(b,e),mopidyActions:(0,s.bindActionCreators)(E,e),spotifyActions:(0,s.bindActionCreators)(k,e)}}))(C)}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),c=n(4);var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.shouldComponentUpdate=function(e,t){var r=n.props.term,a=n.props.term;return e.term!==r||t.term!==a},n.state={term:e.term,pristine:!0},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"handleBlur",value:function(){var e=this.props.onBlur,t=this.state.term;this.setState({pristine:!1}),e&&e(t)}},{key:"handleFocus",value:function(e){this.setState({pristine:!1})}},{key:"handleSubmit",value:function(e){switch(e.preventDefault(),(0,c.uriType)(this.state.term)){case"album":this.props.history.push("/album/"+encodeURIComponent(this.state.term));break;case"artist":this.props.history.push("/artist/"+encodeURIComponent(this.state.term));break;case"playlist":this.props.history.push("/playlist/"+encodeURIComponent(this.state.term));break;case"track":this.props.history.push("/track/"+encodeURIComponent(this.state.term));break;default:this.props.onSubmit(this.state.term)}return!1}},{key:"render",value:function(){var e=this;return i.default.createElement("form",{className:"search-form",onSubmit:function(t){return e.handleSubmit(t)}},i.default.createElement("label",null,i.default.createElement("input",{type:"text",placeholder:"Search...",onChange:function(t){return e.setState({term:t.target.value,pristine:!1})},onBlur:function(t){return e.handleBlur},onFocus:function(t){return e.handleFocus},value:this.state.term})))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.pristine,r=t.term;return n&&""===r&&r!==e.term?{term:r,pristine:!1}:null}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e){return{uiActions:(0,l.bindActionCreators)(u,e)}}))(d)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=S(n(0)),o=n(3),i=n(2),s=n(39),l=S(n(164)),u=S(n(165)),c=S(n(166)),d=S(n(169)),f=S(n(45)),p=S(n(16)),m=S(n(5)),h=S(n(170)),_=w(n(8)),y=w(n(1)),v=w(n(13)),g=w(n(6)),b=w(n(15)),E=w(n(7)),k=n(4);function w(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function S(e){return e&&e.__esModule?e:{default:e}}var O=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(){var e=n.props.pusher.username,t=n.state,r=t.pusher_username,a=t.input_in_focus,o=null;e&&e!==r&&"pusher_username"!==a&&(o=e),o&&n.setState({pusher_username:o})},n.renderLocalScanButton=function(){var e=n.props.ui.processes,t=e.local_scan&&"running"===e.local_scan.status;return a.default.createElement("button",{className:"button button--default "+(t?"button--working":""),onClick:function(e){return n.props.pusherActions.localScan()}},"Run local scan")},n.state={mopidy_host:n.props.mopidy.host,mopidy_port:n.props.mopidy.port,mopidy_library_artists_uri:n.props.mopidy.library_artists_uri,mopidy_library_albums_uri:n.props.mopidy.library_albums_uri,pusher_username:n.props.pusher.username,input_in_focus:null},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Settings")}},{key:"resetAllSettings",value:function(){return localStorage.clear(),window.location="#",window.location.reload(!0),!1}},{key:"resetServiceWorkerAndCache",value:function(){"serviceWorker"in navigator?(caches.keys().then((function(e){e.forEach((function(e){caches.delete(e)}))})),navigator.serviceWorker.getRegistrations().then((function(e){var t=!0,n=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(t=(a=o.next()).done);t=!0){a.value.unregister()}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}})),window.location="#",window.location.reload(!0)):this.props.coreActions.handleException("Service Worker not supported")}},{key:"handleBlur",value:function(e,t,n){this.setState({input_in_focus:null});var r={};switch(r[t]=n,this.props[e+"Actions"].set(r),t){case"library_albums_uri":this.props.mopidyActions.clearLibraryAlbums();break;case"library_artists_uri":this.props.mopidyActions.clearLibraryArtists()}}},{key:"renderServerStatus",value:function(){var e=this.props,t=e.mopidy,n=e.pusher,r="grey",o="help",i="Unknown",s=null;return t.connecting||n.connecting?(o="autorenew",i="Connecting...",s="icon--spin"):t.connected&&n.connected?t.connected&&n.connected&&(r="green",o="check",i="Connected"):(r="red",o="close",i="Disconnected"),a.default.createElement("span",{className:r+"-text"},a.default.createElement(m.default,{className:s,name:o})," ",i)}},{key:"render",value:function(){var e=this,t=this.props,n=t.mopidyActions,r=t.mopidy,o=t.pusherActions,i=(t.pusher,t.history),_=t.uiActions,y=t.ui,v=a.default.createElement("span",null,a.default.createElement("a",{className:"button button--discrete button--no-hover",onClick:function(e){return i.push("/settings/debug")}},a.default.createElement(m.default,{name:"code"}),"Debug"),a.default.createElement("a",{className:"button button--discrete button--no-hover",href:"https://github.com/jaedb/Iris/wiki",target:"_blank"},a.default.createElement(m.default,{name:"help"}),"Help"));return a.default.createElement("div",{className:"view settings-view"},a.default.createElement(p.default,{options:v,uiActions:_},a.default.createElement(m.default,{name:"settings",type:"material"}),"Settings"),a.default.createElement("section",{className:"content-wrapper"},a.default.createElement("h4",{className:"underline"},"Server",a.default.createElement("a",{name:"server"})),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Status"),a.default.createElement("div",{className:"input"},a.default.createElement("div",{className:"text"},this.renderServerStatus()))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Username"),a.default.createElement("div",{className:"input"},a.default.createElement(f.default,{onChange:function(e){return o.setUsername(e.replace(/\W/g,""))},value:this.state.pusher_username}),a.default.createElement("div",{className:"description"},"A non-unique string used to identify this client (no special characters)"))),a.default.createElement("form",{onSubmit:function(t){return e.setConfig(t)}},a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Host"),a.default.createElement("div",{className:"input"},a.default.createElement(f.default,{value:r.host,onChange:function(e){return n.setConnection({host:e})}}))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Port"),a.default.createElement("div",{className:"input"},a.default.createElement(f.default,{type:"text",value:r.port,onChange:function(e){return n.setConnection({port:e})}})))),a.default.createElement("h4",{className:"underline"},"Services",a.default.createElement("a",{name:"services"})),a.default.createElement(s.Route,{path:"/settings/:service?/:id?",component:h.default}),a.default.createElement("h4",{className:"underline"},"Interface",a.default.createElement("a",{name:"interface"})),a.default.createElement("div",{className:"field radio"},a.default.createElement("div",{className:"name"},"Theme"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"theme",value:"dark",checked:"dark"==y.theme,onChange:function(e){return _.set({theme:e.target.value})}}),a.default.createElement("span",{className:"label"},"Dark")),a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"theme",value:"light",checked:"light"==y.theme,onChange:function(e){return _.set({theme:e.target.value})}}),a.default.createElement("span",{className:"label"},"Light")))),a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Behavior"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"log_actions",checked:y.clear_tracklist_on_play,onChange:function(e){return _.set({clear_tracklist_on_play:!y.clear_tracklist_on_play})}}),a.default.createElement("span",{className:"label tooltip"},"Clear tracklist on play of URI(s)",a.default.createElement("span",{className:"tooltip__content"},"Playing one or more URIs will clear the current play queue first"))),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"hotkeys_enabled",checked:y.hotkeys_enabled,onChange:function(e){return _.set({hotkeys_enabled:!y.hotkeys_enabled})}}),a.default.createElement("span",{className:"label"},"Enable hotkeys")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"smooth_scrolling_enabled",checked:y.smooth_scrolling_enabled,onChange:function(e){return _.set({smooth_scrolling_enabled:!y.smooth_scrolling_enabled})}}),a.default.createElement("span",{className:"label"},"Enable smooth scrolling")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"playback_controls_touch_enabled",checked:y.playback_controls_touch_enabled,onChange:function(e){return _.set({playback_controls_touch_enabled:!y.playback_controls_touch_enabled})}}),a.default.createElement("span",{className:"label tooltip"},"Enable touch events on play controls",a.default.createElement("span",{className:"tooltip__content"},"Allows left- and right-swipe to change tracks"))),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"wide_scrollbar_enabled",checked:y.wide_scrollbar_enabled,onChange:function(e){return _.set({wide_scrollbar_enabled:!y.wide_scrollbar_enabled})}}),a.default.createElement("span",{className:"label"},"Use wide scrollbars")))),a.default.createElement("div",{className:"field sources-priority"},a.default.createElement("div",{className:"name"},"Sources priority"),a.default.createElement("div",{className:"input"},a.default.createElement(c.default,{uri_schemes:r.uri_schemes?r.uri_schemes:[],uri_schemes_priority:y.uri_schemes_priority?y.uri_schemes_priority:[],uiActions:_}),a.default.createElement("div",{className:"description"},"Drag-and-drop to prioritize search providers and results"))),(0,k.isHosted)()?null:a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Reporting"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"allow_reporting",checked:y.allow_reporting,onChange:function(e){return _.set({allow_reporting:!y.allow_reporting})}}),a.default.createElement("span",{className:"label"},"Allow reporting of anonymous usage statistics")),a.default.createElement("div",{className:"description"},"This helps identify errors and potential features that make Iris better for everyone. See",a.default.createElement("a",{href:"https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy",target:"_blank"},"privacy policy"),"."))),a.default.createElement("div",{className:"field commands-setup",id:"commands-setup"},a.default.createElement("div",{className:"name"},"Commands"),a.default.createElement("div",{className:"input"},a.default.createElement(d.default,{commands:this.props.pusher.commands,runCommand:function(t,n){return e.props.pusherActions.runCommand(t,n)},onChange:function(t){return e.props.pusherActions.setCommands(t)}}),a.default.createElement(s.Link,{to:"/edit-command",className:"button button--default"},"Add new"))),a.default.createElement("h4",{className:"underline"},"Advanced",a.default.createElement("a",{name:"advanced"})),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Artist library URI"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",value:this.state.mopidy_library_artists_uri,onChange:function(t){return e.setState({mopidy_library_artists_uri:t.target.value})},onBlur:function(t){return e.handleBlur("mopidy","library_artists_uri",t.target.value)}}),a.default.createElement("div",{className:"description"},"URI used for collecting library artists"))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Album library URI"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",value:this.state.mopidy_library_albums_uri,onChange:function(t){return e.setState({mopidy_library_albums_uri:t.target.value})},onBlur:function(t){return e.handleBlur("mopidy","library_albums_uri",t.target.value)}}),a.default.createElement("div",{className:"description"},"URI used for collecting library albums"))),a.default.createElement("div",{className:"field pusher-connections"},a.default.createElement("div",{className:"name"},"Connections"),a.default.createElement("div",{className:"input"},a.default.createElement("div",{className:"text"},a.default.createElement(u.default,null)))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Version"),a.default.createElement("div",{className:"input"},a.default.createElement("span",{className:"text"},this.props.pusher.version.current," ",a.default.createElement("span",{className:"mid_grey-text"},build),this.props.pusher.version.upgrade_available?a.default.createElement("span",{className:"flag flag--dark"},a.default.createElement(m.default,{name:"cloud_download",className:"blue-text"})," Upgrade available"):a.default.createElement("span",{className:"flag flag--dark"},a.default.createElement(m.default,{name:"check",className:"green-text"})," Up-to-date")))),a.default.createElement("div",{className:"field"},this.renderLocalScanButton(),a.default.createElement(s.Link,{className:"button button--default",to:"/share-configuration"},"Share configuration")),a.default.createElement("div",{className:"field"},this.props.pusher.version.upgrade_available?a.default.createElement("button",{className:"button button--secondary",onClick:function(t){return e.props.pusherActions.upgrade()}},"Upgrade to "+this.props.pusher.version.latest):null,a.default.createElement("button",{className:"button button--destructive"+(this.props.mopidy.restarting?" button--working":""),onClick:function(t){return e.props.pusherActions.restart()}},"Restart server"),a.default.createElement(l.default,{className:"button--destructive",content:"Reset all settings",confirmingContent:"Are you sure?",onConfirm:function(){return e.resetAllSettings()}}),a.default.createElement("button",{className:"button button--destructive",onClick:function(){return e.resetServiceWorkerAndCache()}},"Reset cache")),a.default.createElement("h4",{className:"underline"},"About",a.default.createElement("a",{name:"about"})),a.default.createElement("div",null,a.default.createElement("em",null,a.default.createElement("a",{href:"https://github.com/jaedb/Iris",target:"_blank"},"Iris"))," ","is an open-source project by",a.default.createElement("a",{href:"https://github.com/jaedb",target:"_blank"},"James Barnsley"),". It is provided free and with absolutely no warranty. If you paid someone for this software, please let me know."),a.default.createElement("br",null),a.default.createElement("br",null),a.default.createElement("div",null,a.default.createElement("a",{className:"button button--default",href:"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=james%40barnsley%2enz&lc=NZ&item_name=James%20Barnsley&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted",target:"_blank"},a.default.createElement(m.default,{type:"fontawesome",name:"paypal"})," ","Donate"),a.default.createElement("a",{className:"button button--default",href:"https://github.com/jaedb/Iris",target:"_blank"},a.default.createElement(m.default,{type:"fontawesome",name:"github"})," ","GitHub"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return e}),(function(e){return{coreActions:(0,i.bindActionCreators)(_,e),uiActions:(0,i.bindActionCreators)(y,e),pusherActions:(0,i.bindActionCreators)(v,e),mopidyActions:(0,i.bindActionCreators)(g,e),lastfmActions:(0,i.bindActionCreators)(b,e),spotifyActions:(0,i.bindActionCreators)(E,e)}}))(O)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={timing_out:!1,confirming:!1},n.confirming=!1,n.unconfirmTimer=!1,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentWillUnmount",value:function(){clearTimeout(this.unconfirmTimer)}},{key:"handleClick",value:function(e){this.state.confirming?(this.setState({confirming:!1}),this.props.onConfirm()):this.setState({confirming:!0})}},{key:"handleMouseEnter",value:function(e){this.setState({timing_out:!1}),clearTimeout(this.unconfirmTimer)}},{key:"handleMouseLeave",value:function(e){var t=this;this.state.confirming&&(this.setState({timing_out:!0}),this.unconfirmTimer=setTimeout((function(){t.setState({confirming:!1})}),2e3))}},{key:"render",value:function(){var e=this,t="button",n=this.props.content;return this.state.confirming&&(t+=" button--confirming",n=this.props.confirmingContent,this.state.timing_out&&(t+=" button--timing-out")),this.props.working&&(t+=" button--working",this.props.workingContent&&(n=this.props.workingContent)),this.props.className&&(t+=" "+this.props.className),i.default.createElement("button",{className:t,onClick:function(t){return e.handleClick(t)},onMouseLeave:function(t){return e.handleMouseLeave(t)},onMouseEnter:function(t){return e.handleMouseEnter(t)}},n)}}]),t}(i.default.Component);t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(13)),c=n(9);function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=d(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.connected,n=r.props,a=n.connected,o=n.pusherActions.getConnections;!t&&a&&o()},d(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.connected&&this.props.pusherActions.getConnections()}},{key:"render",value:function(){var e=this;if(!this.props.connected)return i.default.createElement("div",{className:"pusher-connection-list mid_grey-text"},"Not connected");var t=(0,c.indexToArray)(this.props.connections);return t.length<=0?i.default.createElement("div",{className:"pusher-connection-list mid_grey-text"},"No connections"):i.default.createElement("div",{className:"pusher-connection-list"},t.map((function(t){var n=!1;return t.connection_id==e.props.connection_id&&(n=!0),i.default.createElement("div",{className:n?"connection cf me":"connection cf",key:t.connection_id},i.default.createElement("div",{className:"col col--w30"},t.username," ",n?i.default.createElement("span",null,"(you)"):null),i.default.createElement("div",{className:"col col--w70"},t.ip,i.default.createElement("span",{className:"mid_grey-text"}," ","(",t.connection_id,")")))})))}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{connected:e.pusher.connected,connection_id:e.pusher.connection_id,connections:e.pusher.connections}}),(function(e){return{pusherActions:(0,l.bindActionCreators)(u,e)}}))(f)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=l(n(0)),o=l(n(76)),i=l(n(5)),s=n(4);function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"handleSort",value:function(e){this.props.uiActions.set({uri_schemes_priority:e})}},{key:"render",value:function(){for(var e=this,t=[],n=[],r=0;r<this.props.uri_schemes.length;r++){var l=this.props.uri_schemes_priority.indexOf(this.props.uri_schemes[r]);l>-1?t[l]=this.props.uri_schemes[r]:n.push(this.props.uri_schemes[r])}for(r=0;r<n.length;r++)t.push(n[r]);return a.default.createElement(o.default,{options:{animation:150},className:"sources-priority-field",onChange:function(t,n,r){e.handleSort(t)}},t.map((function(e){var t=(0,s.titleCase)(e.replace(":","").replace("+"," "));return a.default.createElement("span",{className:"source flag flag--grey",key:e,"data-id":e},a.default.createElement(i.default,{name:"drag_indicator"}),t)})))}}]),t}(a.default.Component);t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(10)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(0)),o=i(n(168));function i(e){return e&&e.__esModule?e:{default:e}}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function u(e){return(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})(e)}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h={nextSibling:null,activeComponent:null},_=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return n=function(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?f(e):t}(this,(e=d(t)).call.apply(e,[this].concat(a))),m(f(n),"sortable",null),n}var n,r,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(t,e),n=t,(r=[{key:"componentDidMount",value:function(){var e=this,t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){m(e,t,n[t])}))}return e}({},this.props.options);["onChoose","onStart","onEnd","onAdd","onUpdate","onSort","onRemove","onFilter","onMove","onClone"].forEach((function(n){var r=t[n];t[n]=function(){for(var t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];var i=a[0];if("onChoose"===n)h.nextSibling=i.item.nextElementSibling,h.activeComponent=e;else if(("onAdd"===n||"onUpdate"===n)&&e.props.onChange){var s=e.sortable.toArray(),l=h.activeComponent,c=l.sortable.toArray(),d=h.nextSibling&&null!==h.nextSibling.parentNode?h.nextSibling:null;if(i.from.insertBefore(i.item,d),l!==e){var f=l.props.options||{};"object"===u(f.group)&&"clone"===f.group.pull&&i.item.parentNode.removeChild(i.item),l.props.onChange&&l.props.onChange(c,l.sortable,i)}e.props.onChange&&e.props.onChange(s,e.sortable,i)}if("move"===i.type){var p=a[0],m=a[1],_=!r||r(p,m);return _}setTimeout((function(){r&&r(i)}),0)}})),this.sortable=o.default.create(this.node,t)}},{key:"shouldComponentUpdate",value:function(e){return!!e.onChange}},{key:"componentWillUnmount",value:function(){this.sortable&&(this.sortable.destroy(),this.sortable=null)}},{key:"render",value:function(){var e=this,t=this.props,n=t.tag,r=(t.options,t.onChange,l(t,["tag","options","onChange"]));return a.default.createElement(n,s({},r,{ref:function(t){e.node=t}}))}}])&&c(n.prototype,r),i&&c(n,i),t}(a.Component);m(_,"propTypes",{options:r.default.object,onChange:r.default.func,tag:r.default.oneOfType([r.default.string,r.default.func]),style:r.default.object}),m(_,"defaultProps",{options:{},tag:"div",style:{}});var y=_;t.default=y},function(e,t,n){"use strict";n.r(t),function(e){
/**!
* Sortable 1.10.1
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*/
function r(e){return(r="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})(e)}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){a(e,t,n[t])}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function l(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}n.d(t,"MultiDrag",(function(){return gt})),n.d(t,"Sortable",(function(){return Fe})),n.d(t,"Swap",(function(){return lt}));function u(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var c=u(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),d=u(/Edge/i),f=u(/firefox/i),p=u(/safari/i)&&!u(/chrome/i)&&!u(/android/i),m=u(/iP(ad|od|hone)/i),h=u(/chrome/i)&&u(/android/i),_={capture:!1,passive:!1};function y(e,t,n){e.addEventListener(t,n,!c&&_)}function v(e,t,n){e.removeEventListener(t,n,!c&&_)}function g(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function b(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function E(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&g(e,t):g(e,t))||r&&e===n)return e;if(e===n)break}while(e=b(e))}return null}var k,w=/\s+/g;function S(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(w," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(w," ")}}function O(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function T(e,t){var n="";if("string"==typeof e)n=e;else do{var r=O(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix;return a&&new a(n)}function A(e,t,n){if(e){var r=e.getElementsByTagName(t),a=0,o=r.length;if(n)for(;a<o;a++)n(r[a],a);return r}return[]}function C(){return c?document.documentElement:document.scrollingElement}function P(e,t,n,r,a){if(e.getBoundingClientRect||e===window){var o,i,s,l,u,d,f;if(e!==window&&e!==C()?(i=(o=e.getBoundingClientRect()).top,s=o.left,l=o.bottom,u=o.right,d=o.height,f=o.width):(i=0,s=0,l=window.innerHeight,u=window.innerWidth,d=window.innerHeight,f=window.innerWidth),(t||n)&&e!==window&&(a=a||e.parentNode,!c))do{if(a&&a.getBoundingClientRect&&("none"!==O(a,"transform")||n&&"static"!==O(a,"position"))){var p=a.getBoundingClientRect();i-=p.top+parseInt(O(a,"border-top-width")),s-=p.left+parseInt(O(a,"border-left-width")),l=i+o.height,u=s+o.width;break}}while(a=a.parentNode);if(r&&e!==window){var m=T(a||e),h=m&&m.a,_=m&&m.d;m&&(l=(i/=_)+(d/=_),u=(s/=h)+(f/=h))}return{top:i,left:s,bottom:l,right:u,width:f,height:d}}}function x(e,t,n){for(var r=L(e,!0),a=P(e)[t];r;){var o=P(r)[n];if(!("top"===n||"left"===n?a>=o:a<=o))return r;if(r===C())break;r=L(r,!1)}return!1}function N(e,t,n){for(var r=0,a=0,o=e.children;a<o.length;){if("none"!==o[a].style.display&&o[a]!==Fe.ghost&&o[a]!==Fe.dragged&&E(o[a],n.draggable,e,!1)){if(r===t)return o[a];r++}a++}return null}function R(e,t){for(var n=e.lastElementChild;n&&(n===Fe.ghost||"none"===O(n,"display")||t&&!g(n,t));)n=n.previousElementSibling;return n||null}function M(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===Fe.clone||t&&!g(e,t)||n++;return n}function D(e){var t=0,n=0,r=C();if(e)do{var a=T(e),o=a.a,i=a.d;t+=e.scrollLeft*o,n+=e.scrollTop*i}while(e!==r&&(e=e.parentNode));return[t,n]}function L(e,t){if(!e||!e.getBoundingClientRect)return C();var n=e,r=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var a=O(n);if(n.clientWidth<n.scrollWidth&&("auto"==a.overflowX||"scroll"==a.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==a.overflowY||"scroll"==a.overflowY)){if(!n.getBoundingClientRect||n===document.body)return C();if(r||t)return n;r=!0}}}while(n=n.parentNode);return C()}function I(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}function j(e,t){return function(){if(!k){var n=arguments,r=this;1===n.length?e.call(r,n[0]):e.apply(r,n),k=setTimeout((function(){k=void 0}),t)}}}function U(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function Y(t){var n=window.Polymer,r=e||window.Zepto;return n&&n.dom?n.dom(t).cloneNode(!0):r?r(t).clone(!0)[0]:t.cloneNode(!0)}function F(e,t){O(e,"position","absolute"),O(e,"top",t.top),O(e,"left",t.left),O(e,"width",t.width),O(e,"height",t.height)}function H(e){O(e,"position",""),O(e,"top",""),O(e,"left",""),O(e,"width",""),O(e,"height","")}var z="Sortable"+(new Date).getTime();function B(){var e,t=[];return{captureAnimationState:function(){(t=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(e){if("none"!==O(e,"display")&&e!==Fe.ghost){t.push({target:e,rect:P(e)});var n=i({},t[t.length-1].rect);if(e.thisAnimationDuration){var r=T(e,!0);r&&(n.top-=r.f,n.left-=r.e)}e.fromRect=n}}))},addAnimationState:function(e){t.push(e)},removeAnimationState:function(e){t.splice(function(e,t){for(var n in e)if(e.hasOwnProperty(n))for(var r in t)if(t.hasOwnProperty(r)&&t[r]===e[n][r])return Number(n);return-1}(t,{target:e}),1)},animateAll:function(n){var r=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof n&&n());var a=!1,o=0;t.forEach((function(e){var t=0,n=e.target,i=n.fromRect,s=P(n),l=n.prevFromRect,u=n.prevToRect,c=e.rect,d=T(n,!0);d&&(s.top-=d.f,s.left-=d.e),n.toRect=s,n.thisAnimationDuration&&I(l,s)&&!I(i,s)&&(c.top-s.top)/(c.left-s.left)==(i.top-s.top)/(i.left-s.left)&&(t=function(e,t,n,r){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-n.top,2)+Math.pow(t.left-n.left,2))*r.animation}(c,l,u,r.options)),I(s,i)||(n.prevFromRect=i,n.prevToRect=s,t||(t=r.options.animation),r.animate(n,c,s,t)),t&&(a=!0,o=Math.max(o,t),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout((function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null}),t),n.thisAnimationDuration=t)})),clearTimeout(e),a?e=setTimeout((function(){"function"==typeof n&&n()}),o):"function"==typeof n&&n(),t=[]},animate:function(e,t,n,r){if(r){O(e,"transition",""),O(e,"transform","");var a=T(this.el),o=a&&a.a,i=a&&a.d,s=(t.left-n.left)/(o||1),l=(t.top-n.top)/(i||1);e.animatingX=!!s,e.animatingY=!!l,O(e,"transform","translate3d("+s+"px,"+l+"px,0)"),function(e){e.offsetWidth}(e),O(e,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),O(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){O(e,"transition",""),O(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),r)}}}}var G=[],q={initializeByDefault:!0},V={mount:function(e){for(var t in q)!q.hasOwnProperty(t)||t in e||(e[t]=q[t]);G.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var a=e+"Global";G.forEach((function(r){t[r.pluginName]&&(t[r.pluginName][a]&&t[r.pluginName][a](i({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](i({sortable:t},n)))}))},initializePlugins:function(e,t,n,r){for(var a in G.forEach((function(r){var a=r.pluginName;if(e.options[a]||r.initializeByDefault){var i=new r(e,t,e.options);i.sortable=e,i.options=e.options,e[a]=i,o(n,i.defaults)}})),e.options)if(e.options.hasOwnProperty(a)){var i=this.modifyOption(e,a,e.options[a]);void 0!==i&&(e.options[a]=i)}},getEventProperties:function(e,t){var n={};return G.forEach((function(r){"function"==typeof r.eventProperties&&o(n,r.eventProperties.call(t[r.pluginName],e))})),n},modifyOption:function(e,t,n){var r;return G.forEach((function(a){e[a.pluginName]&&a.optionListeners&&"function"==typeof a.optionListeners[t]&&(r=a.optionListeners[t].call(e[a.pluginName],n))})),r}};function W(e){var t=e.sortable,n=e.rootEl,r=e.name,a=e.targetEl,o=e.cloneEl,s=e.toEl,l=e.fromEl,u=e.oldIndex,f=e.newIndex,p=e.oldDraggableIndex,m=e.newDraggableIndex,h=e.originalEvent,_=e.putSortable,y=e.extraEventProperties;if(t=t||n&&n[z]){var v,g=t.options,b="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||c||d?(v=document.createEvent("Event")).initEvent(r,!0,!0):v=new CustomEvent(r,{bubbles:!0,cancelable:!0}),v.to=s||n,v.from=l||n,v.item=a||n,v.clone=o,v.oldIndex=u,v.newIndex=f,v.oldDraggableIndex=p,v.newDraggableIndex=m,v.originalEvent=h,v.pullMode=_?_.lastPutMode:void 0;var E=i({},y,V.getEventProperties(r,t));for(var k in E)v[k]=E[k];n&&n.dispatchEvent(v),g[b]&&g[b].call(t,v)}}var K=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,a=s(n,["evt"]);V.pluginEvent.bind(Fe)(e,t,i({dragEl:$,parentEl:Q,ghostEl:J,rootEl:Z,nextEl:ee,lastDownEl:te,cloneEl:ne,cloneHidden:re,dragStarted:_e,putSortable:ue,activeSortable:Fe.active,originalEvent:r,oldIndex:ae,oldDraggableIndex:ie,newIndex:oe,newDraggableIndex:se,hideGhostForTarget:Ie,unhideGhostForTarget:je,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(e){X({sortable:t,name:e,originalEvent:r})}},a))};function X(e){W(i({putSortable:ue,cloneEl:ne,targetEl:$,rootEl:Z,oldIndex:ae,oldDraggableIndex:ie,newIndex:oe,newDraggableIndex:se},e))}var $,Q,J,Z,ee,te,ne,re,ae,oe,ie,se,le,ue,ce,de,fe,pe,me,he,_e,ye,ve,ge,be,Ee=!1,ke=!1,we=[],Se=!1,Oe=!1,Te=[],Ae=!1,Ce=[],Pe="undefined"!=typeof document,xe=m,Ne=d||c?"cssFloat":"float",Re=Pe&&!h&&!m&&"draggable"in document.createElement("div"),Me=function(){if(Pe){if(c)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),De=function(e,t){var n=O(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),a=N(e,0,t),o=N(e,1,t),i=a&&O(a),s=o&&O(o),l=i&&parseInt(i.marginLeft)+parseInt(i.marginRight)+P(a).width,u=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+P(o).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(a&&i.float&&"none"!==i.float){var c="left"===i.float?"left":"right";return!o||"both"!==s.clear&&s.clear!==c?"horizontal":"vertical"}return a&&("block"===i.display||"flex"===i.display||"table"===i.display||"grid"===i.display||l>=r&&"none"===n[Ne]||o&&"none"===n[Ne]&&l+u>r)?"vertical":"horizontal"},Le=function(e){function t(e,n){return function(r,a,o,i){var s=r.options.group.name&&a.options.group.name&&r.options.group.name===a.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,a,o,i),n)(r,a,o,i);var l=(n?r:a).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var n={},a=e.group;a&&"object"==r(a)||(a={name:a}),n.name=a.name,n.checkPull=t(a.pull,!0),n.checkPut=t(a.put),n.revertClone=a.revertClone,e.group=n},Ie=function(){!Me&&J&&O(J,"display","none")},je=function(){!Me&&J&&O(J,"display","")};Pe&&document.addEventListener("click",(function(e){if(ke)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ke=!1,!1}),!0);var Ue=function(e){if($){e=e.touches?e.touches[0]:e;var t=(a=e.clientX,o=e.clientY,we.some((function(e){if(!R(e)){var t=P(e),n=e[z].options.emptyInsertThreshold,r=a>=t.left-n&&a<=t.right+n,s=o>=t.top-n&&o<=t.bottom+n;return n&&r&&s?i=e:void 0}})),i);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[z]._onDragOver(n)}}var a,o,i},Ye=function(e){$&&$.parentNode[z]._isOutsideThisEl(e.target)};function Fe(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=o({},t),e[z]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return De(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Fe.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var r in V.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var a in Le(t),this)"_"===a.charAt(0)&&"function"==typeof this[a]&&(this[a]=this[a].bind(this));this.nativeDraggable=!t.forceFallback&&Re,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?y(e,"pointerdown",this._onTapStart):(y(e,"mousedown",this._onTapStart),y(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(y(e,"dragover",this),y(e,"dragenter",this)),we.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),o(this,B())}function He(e,t,n,r,a,o,i,s){var l,u,f=e[z],p=f.options.onMove;return!window.CustomEvent||c||d?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=n,l.draggedRect=r,l.related=a||t,l.relatedRect=o||P(t),l.willInsertAfter=s,l.originalEvent=i,e.dispatchEvent(l),p&&(u=p.call(f,l,i)),u}function ze(e){e.draggable=!1}function Be(){Ae=!1}function Ge(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function qe(e){return setTimeout(e,0)}function Ve(e){return clearTimeout(e)}Fe.prototype={constructor:Fe,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(ye=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,$):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,a=r.preventOnFilter,o=e.type,i=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(i||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,u=r.filter;if(function(e){Ce.length=0;var t=e.getElementsByTagName("input"),n=t.length;for(;n--;){var r=t[n];r.checked&&Ce.push(r)}}(n),!$&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||r.disabled||l.isContentEditable||(s=E(s,r.draggable,n,!1))&&s.animated||te===s)){if(ae=M(s),ie=M(s,r.draggable),"function"==typeof u){if(u.call(this,e,s,this))return X({sortable:t,rootEl:l,name:"filter",targetEl:s,toEl:n,fromEl:n}),K("filter",t,{evt:e}),void(a&&e.cancelable&&e.preventDefault())}else if(u&&(u=u.split(",").some((function(r){if(r=E(l,r.trim(),n,!1))return X({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),K("filter",t,{evt:e}),!0}))))return void(a&&e.cancelable&&e.preventDefault());r.handle&&!E(l,r.handle,n,!1)||this._prepareDragStart(e,i,s)}}},_prepareDragStart:function(e,t,n){var r,a=this,o=a.el,i=a.options,s=o.ownerDocument;if(n&&!$&&n.parentNode===o){var l=P(n);if(Z=o,Q=($=n).parentNode,ee=$.nextSibling,te=n,le=i.group,Fe.dragged=$,ce={target:$,clientX:(t||e).clientX,clientY:(t||e).clientY},me=ce.clientX-l.left,he=ce.clientY-l.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,$.style["will-change"]="all",r=function(){K("delayEnded",a,{evt:e}),Fe.eventCanceled?a._onDrop():(a._disableDelayedDragEvents(),!f&&a.nativeDraggable&&($.draggable=!0),a._triggerDragStart(e,t),X({sortable:a,name:"choose",originalEvent:e}),S($,i.chosenClass,!0))},i.ignore.split(",").forEach((function(e){A($,e.trim(),ze)})),y(s,"dragover",Ue),y(s,"mousemove",Ue),y(s,"touchmove",Ue),y(s,"mouseup",a._onDrop),y(s,"touchend",a._onDrop),y(s,"touchcancel",a._onDrop),f&&this.nativeDraggable&&(this.options.touchStartThreshold=4,$.draggable=!0),K("delayStart",this,{evt:e}),!i.delay||i.delayOnTouchOnly&&!t||this.nativeDraggable&&(d||c))r();else{if(Fe.eventCanceled)return void this._onDrop();y(s,"mouseup",a._disableDelayedDrag),y(s,"touchend",a._disableDelayedDrag),y(s,"touchcancel",a._disableDelayedDrag),y(s,"mousemove",a._delayedDragTouchMoveHandler),y(s,"touchmove",a._delayedDragTouchMoveHandler),i.supportPointer&&y(s,"pointermove",a._delayedDragTouchMoveHandler),a._dragStartTimer=setTimeout(r,i.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){$&&ze($),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;v(e,"mouseup",this._disableDelayedDrag),v(e,"touchend",this._disableDelayedDrag),v(e,"touchcancel",this._disableDelayedDrag),v(e,"mousemove",this._delayedDragTouchMoveHandler),v(e,"touchmove",this._delayedDragTouchMoveHandler),v(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?y(document,"pointermove",this._onTouchMove):y(document,t?"touchmove":"mousemove",this._onTouchMove):(y($,"dragend",this),y(Z,"dragstart",this._onDragStart));try{document.selection?qe((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(Ee=!1,Z&&$){K("dragStarted",this,{evt:t}),this.nativeDraggable&&y(document,"dragover",Ye);var n=this.options;!e&&S($,n.dragClass,!1),S($,n.ghostClass,!0),Fe.active=this,e&&this._appendGhost(),X({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(de){this._lastX=de.clientX,this._lastY=de.clientY,Ie();for(var e=document.elementFromPoint(de.clientX,de.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(de.clientX,de.clientY))!==t;)t=e;if($.parentNode[z]._isOutsideThisEl(e),t)do{if(t[z]){if(t[z]._onDragOver({clientX:de.clientX,clientY:de.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);je()}},_onTouchMove:function(e){if(ce){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,a=e.touches?e.touches[0]:e,o=J&&T(J),i=J&&o&&o.a,s=J&&o&&o.d,l=xe&&be&&D(be),u=(a.clientX-ce.clientX+r.x)/(i||1)+(l?l[0]-Te[0]:0)/(i||1),c=(a.clientY-ce.clientY+r.y)/(s||1)+(l?l[1]-Te[1]:0)/(s||1);if(!Fe.active&&!Ee){if(n&&Math.max(Math.abs(a.clientX-this._lastX),Math.abs(a.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(J){o?(o.e+=u-(fe||0),o.f+=c-(pe||0)):o={a:1,b:0,c:0,d:1,e:u,f:c};var d="matrix(".concat(o.a,",").concat(o.b,",").concat(o.c,",").concat(o.d,",").concat(o.e,",").concat(o.f,")");O(J,"webkitTransform",d),O(J,"mozTransform",d),O(J,"msTransform",d),O(J,"transform",d),fe=u,pe=c,de=a}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!J){var e=this.options.fallbackOnBody?document.body:Z,t=P($,!0,xe,!0,e),n=this.options;if(xe){for(be=e;"static"===O(be,"position")&&"none"===O(be,"transform")&&be!==document;)be=be.parentNode;be!==document.body&&be!==document.documentElement?(be===document&&(be=C()),t.top+=be.scrollTop,t.left+=be.scrollLeft):be=C(),Te=D(be)}S(J=$.cloneNode(!0),n.ghostClass,!1),S(J,n.fallbackClass,!0),S(J,n.dragClass,!0),O(J,"transition",""),O(J,"transform",""),O(J,"box-sizing","border-box"),O(J,"margin",0),O(J,"top",t.top),O(J,"left",t.left),O(J,"width",t.width),O(J,"height",t.height),O(J,"opacity","0.8"),O(J,"position",xe?"absolute":"fixed"),O(J,"zIndex","100000"),O(J,"pointerEvents","none"),Fe.ghost=J,e.appendChild(J),O(J,"transform-origin",me/parseInt(J.style.width)*100+"% "+he/parseInt(J.style.height)*100+"%")}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,a=n.options;K("dragStart",this,{evt:e}),Fe.eventCanceled?this._onDrop():(K("setupClone",this),Fe.eventCanceled||((ne=Y($)).draggable=!1,ne.style["will-change"]="",this._hideClone(),S(ne,this.options.chosenClass,!1),Fe.clone=ne),n.cloneId=qe((function(){K("clone",n),Fe.eventCanceled||(n.options.removeCloneOnHide||Z.insertBefore(ne,$),n._hideClone(),X({sortable:n,name:"clone"}))})),!t&&S($,a.dragClass,!0),t?(ke=!0,n._loopId=setInterval(n._emulateDragOver,50)):(v(document,"mouseup",n._onDrop),v(document,"touchend",n._onDrop),v(document,"touchcancel",n._onDrop),r&&(r.effectAllowed="move",a.setData&&a.setData.call(n,r,$)),y(document,"drop",n),O($,"transform","translateZ(0)")),Ee=!0,n._dragStartId=qe(n._dragStarted.bind(n,t,e)),y(document,"selectstart",n),_e=!0,p&&O(document.body,"user-select","none"))},_onDragOver:function(e){var t,n,r,a,o=this.el,s=e.target,l=this.options,u=l.group,c=Fe.active,d=le===u,f=l.sort,p=ue||c,m=this,h=!1;if(!Ae){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),s=E(s,l.draggable,o,!0),I("dragOver"),Fe.eventCanceled)return h;if($.contains(e.target)||s.animated&&s.animatingX&&s.animatingY||m._ignoreWhileAnimating===s)return Y(!1);if(ke=!1,c&&!l.disabled&&(d?f||(r=!Z.contains($)):ue===this||(this.lastPutMode=le.checkPull(this,c,$,e))&&u.checkPut(this,c,$,e))){if(a="vertical"===this._getDirection(e,s),t=P($),I("dragOverValid"),Fe.eventCanceled)return h;if(r)return Q=Z,j(),this._hideClone(),I("revert"),Fe.eventCanceled||(ee?Z.insertBefore($,ee):Z.appendChild($)),Y(!0);var _=R(o,l.draggable);if(!_||function(e,t,n){var r=P(R(n.el,n.options.draggable));return t?e.clientX>r.right+10||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+10}(e,a,this)&&!_.animated){if(_===$)return Y(!1);if(_&&o===e.target&&(s=_),s&&(n=P(s)),!1!==He(Z,o,$,t,s,n,e,!!s))return j(),o.appendChild($),Q=o,F(),Y(!0)}else if(s.parentNode===o){n=P(s);var y,v,g,b=$.parentNode!==o,k=!function(e,t,n){var r=n?e.left:e.top,a=n?e.right:e.bottom,o=n?e.width:e.height,i=n?t.left:t.top,s=n?t.right:t.bottom,l=n?t.width:t.height;return r===i||a===s||r+o/2===i+l/2}($.animated&&$.toRect||t,s.animated&&s.toRect||n,a),w=a?"top":"left",T=x(s,"top","top")||x($,"top","top"),A=T?T.scrollTop:void 0;if(ye!==s&&(v=n[w],Se=!1,Oe=!k&&l.invertSwap||b),0!==(y=function(e,t,n,r,a,o,i,s){var l=r?e.clientY:e.clientX,u=r?n.height:n.width,c=r?n.top:n.left,d=r?n.bottom:n.right,f=!1;if(!i)if(s&&ge<u*a){if(!Se&&(1===ve?l>c+u*o/2:l<d-u*o/2)&&(Se=!0),Se)f=!0;else if(1===ve?l<c+ge:l>d-ge)return-ve}else if(l>c+u*(1-a)/2&&l<d-u*(1-a)/2)return function(e){return M($)<M(e)?1:-1}(t);if((f=f||i)&&(l<c+u*o/2||l>d-u*o/2))return l>c+u/2?1:-1;return 0}(e,s,n,a,k?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,Oe,ye===s))){var C=M($);do{C-=y,g=Q.children[C]}while(g&&("none"===O(g,"display")||g===J))}if(0===y||g===s)return Y(!1);ye=s,ve=y;var N=s.nextElementSibling,D=!1,L=He(Z,o,$,t,s,n,e,D=1===y);if(!1!==L)return 1!==L&&-1!==L||(D=1===L),Ae=!0,setTimeout(Be,30),j(),D&&!N?o.appendChild($):s.parentNode.insertBefore($,D?N:s),T&&U(T,0,A-T.scrollTop),Q=$.parentNode,void 0===v||Oe||(ge=Math.abs(v-P(s)[w])),F(),Y(!0)}if(o.contains($))return Y(!1)}return!1}function I(l,u){K(l,m,i({evt:e,isOwner:d,axis:a?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:f,fromSortable:p,target:s,completed:Y,onMove:function(n,r){return He(Z,o,$,t,n,P(n),e,r)},changed:F},u))}function j(){I("dragOverAnimationCapture"),m.captureAnimationState(),m!==p&&p.captureAnimationState()}function Y(t){return I("dragOverCompleted",{insertion:t}),t&&(d?c._hideClone():c._showClone(m),m!==p&&(S($,ue?ue.options.ghostClass:c.options.ghostClass,!1),S($,l.ghostClass,!0)),ue!==m&&m!==Fe.active?ue=m:m===Fe.active&&ue&&(ue=null),p===m&&(m._ignoreWhileAnimating=s),m.animateAll((function(){I("dragOverAnimationComplete"),m._ignoreWhileAnimating=null})),m!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(s===$&&!$.animated||s===o&&!s.animated)&&(ye=null),l.dragoverBubble||e.rootEl||s===document||($.parentNode[z]._isOutsideThisEl(e.target),!t&&Ue(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),h=!0}function F(){oe=M($),se=M($,l.draggable),X({sortable:m,name:"change",toEl:o,newIndex:oe,newDraggableIndex:se,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){v(document,"mousemove",this._onTouchMove),v(document,"touchmove",this._onTouchMove),v(document,"pointermove",this._onTouchMove),v(document,"dragover",Ue),v(document,"mousemove",Ue),v(document,"touchmove",Ue)},_offUpEvents:function(){var e=this.el.ownerDocument;v(e,"mouseup",this._onDrop),v(e,"touchend",this._onDrop),v(e,"pointerup",this._onDrop),v(e,"touchcancel",this._onDrop),v(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;oe=M($),se=M($,n.draggable),K("drop",this,{evt:e}),Q=$&&$.parentNode,oe=M($),se=M($,n.draggable),Fe.eventCanceled?this._nulling():(Ee=!1,Oe=!1,Se=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ve(this.cloneId),Ve(this._dragStartId),this.nativeDraggable&&(v(document,"drop",this),v(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),p&&O(document.body,"user-select",""),e&&(_e&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),J&&J.parentNode&&J.parentNode.removeChild(J),(Z===Q||ue&&"clone"!==ue.lastPutMode)&&ne&&ne.parentNode&&ne.parentNode.removeChild(ne),$&&(this.nativeDraggable&&v($,"dragend",this),ze($),$.style["will-change"]="",_e&&!Ee&&S($,ue?ue.options.ghostClass:this.options.ghostClass,!1),S($,this.options.chosenClass,!1),X({sortable:this,name:"unchoose",toEl:Q,newIndex:null,newDraggableIndex:null,originalEvent:e}),Z!==Q?(oe>=0&&(X({rootEl:Q,name:"add",toEl:Q,fromEl:Z,originalEvent:e}),X({sortable:this,name:"remove",toEl:Q,originalEvent:e}),X({rootEl:Q,name:"sort",toEl:Q,fromEl:Z,originalEvent:e}),X({sortable:this,name:"sort",toEl:Q,originalEvent:e})),ue&&ue.save()):oe!==ae&&oe>=0&&(X({sortable:this,name:"update",toEl:Q,originalEvent:e}),X({sortable:this,name:"sort",toEl:Q,originalEvent:e})),Fe.active&&(null!=oe&&-1!==oe||(oe=ae,se=ie),X({sortable:this,name:"end",toEl:Q,originalEvent:e}),this.save()))),this._nulling())},_nulling:function(){K("nulling",this),Z=$=Q=J=ee=ne=te=re=ce=de=_e=oe=se=ae=ie=ye=ve=ue=le=Fe.dragged=Fe.ghost=Fe.clone=Fe.active=null,Ce.forEach((function(e){e.checked=!0})),Ce.length=fe=pe=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":$&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,a=n.length,o=this.options;r<a;r++)E(e=n[r],o.draggable,this.el,!1)&&t.push(e.getAttribute(o.dataIdAttr)||Ge(e));return t},sort:function(e){var t={},n=this.el;this.toArray().forEach((function(e,r){var a=n.children[r];E(a,this.options.draggable,n,!1)&&(t[e]=a)}),this),e.forEach((function(e){t[e]&&(n.removeChild(t[e]),n.appendChild(t[e]))}))},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return E(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var n=this.options;if(void 0===t)return n[e];var r=V.modifyOption(this,e,t);n[e]=void 0!==r?r:t,"group"===e&&Le(n)},destroy:function(){K("destroy",this);var e=this.el;e[z]=null,v(e,"mousedown",this._onTapStart),v(e,"touchstart",this._onTapStart),v(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(v(e,"dragover",this),v(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),(function(e){e.removeAttribute("draggable")})),this._onDrop(),we.splice(we.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!re){if(K("hideClone",this),Fe.eventCanceled)return;O(ne,"display","none"),this.options.removeCloneOnHide&&ne.parentNode&&ne.parentNode.removeChild(ne),re=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(re){if(K("showClone",this),Fe.eventCanceled)return;Z.contains($)&&!this.options.group.revertClone?Z.insertBefore(ne,$):ee?Z.insertBefore(ne,ee):Z.appendChild(ne),this.options.group.revertClone&&this.animate($,ne),O(ne,"display",""),re=!1}}else this._hideClone()}},Pe&&y(document,"touchmove",(function(e){(Fe.active||Ee)&&e.cancelable&&e.preventDefault()})),Fe.utils={on:y,off:v,css:O,find:A,is:function(e,t){return!!E(e,t,e,!1)},extend:function(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},throttle:j,closest:E,toggleClass:S,clone:Y,index:M,nextTick:qe,cancelNextTick:Ve,detectDirection:De,getChild:N},Fe.get=function(e){return e[z]},Fe.mount=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t[0].constructor===Array&&(t=t[0]),t.forEach((function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));e.utils&&(Fe.utils=i({},Fe.utils,e.utils)),V.mount(e)}))},Fe.create=function(e,t){return new Fe(e,t)},Fe.version="1.10.1";var We,Ke,Xe,$e,Qe,Je,Ze=[],et=!1;function tt(){Ze.forEach((function(e){clearInterval(e.pid)})),Ze=[]}function nt(){clearInterval(Je)}var rt,at=j((function(e,t,n,r){if(t.scroll){var a,o=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,s=t.scrollSensitivity,l=t.scrollSpeed,u=C(),c=!1;Ke!==n&&(Ke=n,tt(),We=t.scroll,a=t.scrollFn,!0===We&&(We=L(n,!0)));var d=0,f=We;do{var p=f,m=P(p),h=m.top,_=m.bottom,y=m.left,v=m.right,g=m.width,b=m.height,E=void 0,k=void 0,w=p.scrollWidth,S=p.scrollHeight,T=O(p),A=p.scrollLeft,x=p.scrollTop;p===u?(E=g<w&&("auto"===T.overflowX||"scroll"===T.overflowX||"visible"===T.overflowX),k=b<S&&("auto"===T.overflowY||"scroll"===T.overflowY||"visible"===T.overflowY)):(E=g<w&&("auto"===T.overflowX||"scroll"===T.overflowX),k=b<S&&("auto"===T.overflowY||"scroll"===T.overflowY));var N=E&&(Math.abs(v-o)<=s&&A+g<w)-(Math.abs(y-o)<=s&&!!A),R=k&&(Math.abs(_-i)<=s&&x+b<S)-(Math.abs(h-i)<=s&&!!x);if(!Ze[d])for(var M=0;M<=d;M++)Ze[M]||(Ze[M]={});Ze[d].vx==N&&Ze[d].vy==R&&Ze[d].el===p||(Ze[d].el=p,Ze[d].vx=N,Ze[d].vy=R,clearInterval(Ze[d].pid),0==N&&0==R||(c=!0,Ze[d].pid=setInterval(function(){r&&0===this.layer&&Fe.active._onTouchMove(Qe);var t=Ze[this.layer].vy?Ze[this.layer].vy*l:0,n=Ze[this.layer].vx?Ze[this.layer].vx*l:0;"function"==typeof a&&"continue"!==a.call(Fe.dragged.parentNode[z],n,t,e,Qe,Ze[this.layer].el)||U(Ze[this.layer].el,n,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&f!==u&&(f=L(f,!1)));et=c}}),30),ot=function(e){var t=e.originalEvent,n=e.putSortable,r=e.dragEl,a=e.activeSortable,o=e.dispatchSortableEvent,i=e.hideGhostForTarget,s=e.unhideGhostForTarget;if(t){var l=n||a;i();var u=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,c=document.elementFromPoint(u.clientX,u.clientY);s(),l&&!l.el.contains(c)&&(o("spill"),this.onSpill({dragEl:r,putSortable:n}))}};function it(){}function st(){}function lt(){function e(){this.defaults={swapClass:"sortable-swap-highlight"}}return e.prototype={dragStart:function(e){var t=e.dragEl;rt=t},dragOverValid:function(e){var t=e.completed,n=e.target,r=e.onMove,a=e.activeSortable,o=e.changed,i=e.cancel;if(a.options.swap){var s=this.sortable.el,l=this.options;if(n&&n!==s){var u=rt;!1!==r(n)?(S(n,l.swapClass,!0),rt=n):rt=null,u&&u!==rt&&S(u,l.swapClass,!1)}o(),t(!0),i()}},drop:function(e){var t=e.activeSortable,n=e.putSortable,r=e.dragEl,a=n||this.sortable,o=this.options;rt&&S(rt,o.swapClass,!1),rt&&(o.swap||n&&n.options.swap)&&r!==rt&&(a.captureAnimationState(),a!==t&&t.captureAnimationState(),function(e,t){var n,r,a=e.parentNode,o=t.parentNode;if(!a||!o||a.isEqualNode(t)||o.isEqualNode(e))return;n=M(e),r=M(t),a.isEqualNode(o)&&n<r&&r++;a.insertBefore(t,a.children[n]),o.insertBefore(e,o.children[r])}(r,rt),a.animateAll(),a!==t&&t.animateAll())},nulling:function(){rt=null}},o(e,{pluginName:"swap",eventProperties:function(){return{swapItem:rt}}})}it.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,n=e.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=N(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(t,r):this.sortable.el.appendChild(t),this.sortable.animateAll(),n&&n.animateAll()},drop:ot},o(it,{pluginName:"revertOnSpill"}),st.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:ot},o(st,{pluginName:"removeOnSpill"});var ut,ct,dt,ft,pt,mt=[],ht=[],_t=!1,yt=!1,vt=!1;function gt(){function e(e){for(var t in this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this));e.options.supportPointer?y(document,"pointerup",this._deselectMultiDrag):(y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag)),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,setData:function(t,n){var r="";mt.length&&ct===e?mt.forEach((function(e,t){r+=(t?", ":"")+e.textContent})):r=n.textContent,t.setData("Text",r)}}}return e.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){var t=e.dragEl;dt=t},delayEnded:function(){this.isMultiDrag=~mt.indexOf(dt)},setupClone:function(e){var t=e.sortable,n=e.cancel;if(this.isMultiDrag){for(var r=0;r<mt.length;r++)ht.push(Y(mt[r])),ht[r].sortableIndex=mt[r].sortableIndex,ht[r].draggable=!1,ht[r].style["will-change"]="",S(ht[r],this.options.selectedClass,!1),mt[r]===dt&&S(ht[r],this.options.chosenClass,!1);t._hideClone(),n()}},clone:function(e){var t=e.sortable,n=e.rootEl,r=e.dispatchSortableEvent,a=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||mt.length&&ct===t&&(bt(!0,n),r("clone"),a()))},showClone:function(e){var t=e.cloneNowShown,n=e.rootEl,r=e.cancel;this.isMultiDrag&&(bt(!1,n),ht.forEach((function(e){O(e,"display","")})),t(),pt=!1,r())},hideClone:function(e){var t=this,n=(e.sortable,e.cloneNowHidden),r=e.cancel;this.isMultiDrag&&(ht.forEach((function(e){O(e,"display","none"),t.options.removeCloneOnHide&&e.parentNode&&e.parentNode.removeChild(e)})),n(),pt=!0,r())},dragStartGlobal:function(e){e.sortable;!this.isMultiDrag&&ct&&ct.multiDrag._deselectMultiDrag(),mt.forEach((function(e){e.sortableIndex=M(e)})),mt=mt.sort((function(e,t){return e.sortableIndex-t.sortableIndex})),vt=!0},dragStarted:function(e){var t=this,n=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(n.captureAnimationState(),this.options.animation)){mt.forEach((function(e){e!==dt&&O(e,"position","absolute")}));var r=P(dt,!1,!0,!0);mt.forEach((function(e){e!==dt&&F(e,r)})),yt=!0,_t=!0}n.animateAll((function(){yt=!1,_t=!1,t.options.animation&&mt.forEach((function(e){H(e)})),t.options.sort&&Et()}))}},dragOver:function(e){var t=e.target,n=e.completed,r=e.cancel;yt&&~mt.indexOf(t)&&(n(!1),r())},revert:function(e){var t=e.fromSortable,n=e.rootEl,r=e.sortable,a=e.dragRect;mt.length>1&&(mt.forEach((function(e){r.addAnimationState({target:e,rect:yt?P(e):a}),H(e),e.fromRect=a,t.removeAnimationState(e)})),yt=!1,function(e,t){mt.forEach((function(n,r){var a=t.children[n.sortableIndex+(e?Number(r):0)];a?t.insertBefore(n,a):t.appendChild(n)}))}(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(e){var t=e.sortable,n=e.isOwner,r=e.insertion,a=e.activeSortable,o=e.parentEl,i=e.putSortable,s=this.options;if(r){if(n&&a._hideClone(),_t=!1,s.animation&&mt.length>1&&(yt||!n&&!a.options.sort&&!i)){var l=P(dt,!1,!0,!0);mt.forEach((function(e){e!==dt&&(F(e,l),o.appendChild(e))})),yt=!0}if(!n)if(yt||Et(),mt.length>1){var u=pt;a._showClone(t),a.options.animation&&!pt&&u&&ht.forEach((function(e){a.addAnimationState({target:e,rect:ft}),e.fromRect=ft,e.thisAnimationDuration=null}))}else a._showClone(t)}},dragOverAnimationCapture:function(e){var t=e.dragRect,n=e.isOwner,r=e.activeSortable;if(mt.forEach((function(e){e.thisAnimationDuration=null})),r.options.animation&&!n&&r.multiDrag.isMultiDrag){ft=o({},t);var a=T(dt,!0);ft.top-=a.f,ft.left-=a.e}},dragOverAnimationComplete:function(){yt&&(yt=!1,Et())},drop:function(e){var t=e.originalEvent,n=e.rootEl,r=e.parentEl,a=e.sortable,o=e.dispatchSortableEvent,i=e.oldIndex,s=e.putSortable,l=s||this.sortable;if(t){var u=this.options,c=r.children;if(!vt)if(u.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),S(dt,u.selectedClass,!~mt.indexOf(dt)),~mt.indexOf(dt))mt.splice(mt.indexOf(dt),1),ut=null,W({sortable:a,rootEl:n,name:"deselect",targetEl:dt,originalEvt:t});else{if(mt.push(dt),W({sortable:a,rootEl:n,name:"select",targetEl:dt,originalEvt:t}),t.shiftKey&&ut&&a.el.contains(ut)){var d,f,p=M(ut),m=M(dt);if(~p&&~m&&p!==m)for(m>p?(f=p,d=m):(f=m,d=p+1);f<d;f++)~mt.indexOf(c[f])||(S(c[f],u.selectedClass,!0),mt.push(c[f]),W({sortable:a,rootEl:n,name:"select",targetEl:c[f],originalEvt:t}))}else ut=dt;ct=l}if(vt&&this.isMultiDrag){if((r[z].options.sort||r!==n)&&mt.length>1){var h=P(dt),_=M(dt,":not(."+this.options.selectedClass+")");if(!_t&&u.animation&&(dt.thisAnimationDuration=null),l.captureAnimationState(),!_t&&(u.animation&&(dt.fromRect=h,mt.forEach((function(e){if(e.thisAnimationDuration=null,e!==dt){var t=yt?P(e):h;e.fromRect=t,l.addAnimationState({target:e,rect:t})}}))),Et(),mt.forEach((function(e){c[_]?r.insertBefore(e,c[_]):r.appendChild(e),_++})),i===M(dt))){var y=!1;mt.forEach((function(e){e.sortableIndex===M(e)||(y=!0)})),y&&o("update")}mt.forEach((function(e){H(e)})),l.animateAll()}ct=l}(n===r||s&&"clone"!==s.lastPutMode)&&ht.forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))}},nullingGlobal:function(){this.isMultiDrag=vt=!1,ht.length=0},destroyGlobal:function(){this._deselectMultiDrag(),v(document,"pointerup",this._deselectMultiDrag),v(document,"mouseup",this._deselectMultiDrag),v(document,"touchend",this._deselectMultiDrag),v(document,"keydown",this._checkKeyDown),v(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!vt&&ct===this.sortable&&!(e&&E(e.target,this.options.draggable,this.sortable.el,!1)||e&&0!==e.button))for(;mt.length;){var t=mt[0];S(t,this.options.selectedClass,!1),mt.shift(),W({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:t,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},o(e,{pluginName:"multiDrag",utils:{select:function(e){var t=e.parentNode[z];t&&t.options.multiDrag&&!~mt.indexOf(e)&&(ct&&ct!==t&&(ct.multiDrag._deselectMultiDrag(),ct=t),S(e,t.options.selectedClass,!0),mt.push(e))},deselect:function(e){var t=e.parentNode[z],n=mt.indexOf(e);t&&t.options.multiDrag&&~n&&(S(e,t.options.selectedClass,!1),mt.splice(n,1))}},eventProperties:function(){var e=this,t=[],n=[];return mt.forEach((function(r){var a;t.push({multiDragElement:r,index:r.sortableIndex}),a=yt&&r!==dt?-1:yt?M(r,":not(."+e.options.selectedClass+")"):M(r),n.push({multiDragElement:r,index:a})})),{items:l(mt),clones:[].concat(ht),oldIndicies:t,newIndicies:n}},optionListeners:{multiDragKey:function(e){return"ctrl"===(e=e.toLowerCase())?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function bt(e,t){ht.forEach((function(n,r){var a=t.children[n.sortableIndex+(e?Number(r):0)];a?t.insertBefore(n,a):t.appendChild(n)}))}function Et(){mt.forEach((function(e){e!==dt&&e.parentNode&&e.parentNode.removeChild(e)}))}Fe.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):this.options.supportPointer?y(document,"pointermove",this._handleFallbackAutoScroll):t.touches?y(document,"touchmove",this._handleFallbackAutoScroll):y(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?v(document,"dragover",this._handleAutoScroll):(v(document,"pointermove",this._handleFallbackAutoScroll),v(document,"touchmove",this._handleFallbackAutoScroll),v(document,"mousemove",this._handleFallbackAutoScroll)),nt(),tt(),clearTimeout(k),k=void 0},nulling:function(){Qe=Ke=We=et=Je=Xe=$e=null,Ze.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(r,a);if(Qe=e,t||d||c||p){at(e,this.options,o,t);var i=L(o,!0);!et||Je&&r===Xe&&a===$e||(Je&&nt(),Je=setInterval((function(){var o=L(document.elementFromPoint(r,a),!0);o!==i&&(i=o,tt()),at(e,n.options,o,t)}),10),Xe=r,$e=a)}else{if(!this.options.bubbleScroll||L(o,!0)===C())return void tt();at(e,this.options,L(o,!1),!1)}}},o(e,{pluginName:"scroll",initializeByDefault:!0})}),Fe.mount(st,it),t.default=Fe}.call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=c(n(0)),i=c(n(76)),s=c(n(5)),l=c(n(17)),u=n(9);function c(e){return e&&e.__esModule?e:{default:e}}var d=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"onChange",value:function(e){for(var t={},n=0;n<=e.length;n++){var a=this.props.commands[e[n]];a&&(t[a.id]=r({},a,{sort_order:n}))}this.props.onChange(t)}},{key:"commands",value:function(){var e=[];if(this.props.commands){var t=!0,n=!1,a=void 0;try{for(var o,i=Object.keys(this.props.commands)[Symbol.iterator]();!(t=(o=i.next()).done);t=!0){var s=o.value;e.push(r({},this.props.commands[s]))}}catch(e){n=!0,a=e}finally{try{!t&&i.return&&i.return()}finally{if(n)throw a}}}return e=(0,u.sortItems)(e,"sort_order"),e}},{key:"render",value:function(){var e=this,t=this.commands();return t?o.default.createElement(i.default,{options:{handle:".commands-setup__item__drag-handle",animation:150},className:"list commands-setup",onChange:function(t,n,r){e.onChange(t)}},t.map((function(t){return o.default.createElement("div",{className:"list__item commands-setup__item list__item--no-interaction",key:t.id,"data-id":t.id},o.default.createElement("div",{className:"commands-setup__item__details"},o.default.createElement(s.default,{className:"commands-setup__item__drag-handle",name:"drag_indicator"}),o.default.createElement("div",{className:"commands-setup__item__command-item commands__item commands__item--small"},o.default.createElement(s.default,{className:"commands__item__icon",name:t.icon}),o.default.createElement("span",{className:t.colour+"-background commands__item__background"})),o.default.createElement("div",{className:"commands-setup__item__url commands__item__url"},t.name?t.name:o.default.createElement("span",{className:"grey-text"},t.url))),o.default.createElement("div",{className:"commands-setup__item__actions"},o.default.createElement("a",{className:"commands-setup__item__run-button action",onClick:function(n){return e.props.runCommand(t.id,!0)}},o.default.createElement(s.default,{name:"play_arrow"})),o.default.createElement(l.default,{className:"commands-setup__item__edit-button action",to:"/edit-command/"+t.id},o.default.createElement(s.default,{name:"edit"}))))}))):null}}]),t}(o.default.Component);t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=w(n(0)),o=n(3),i=n(2),s=w(n(17)),l=w(n(19)),u=w(n(5)),c=w(n(21)),d=w(n(171)),f=w(n(172)),p=w(n(173)),m=w(n(174)),h=k(n(1)),_=k(n(8)),y=k(n(6)),v=k(n(13)),g=k(n(7)),b=k(n(15)),E=k(n(32));function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function w(e){return e&&e.__esModule?e:{default:e}}var S=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={country:n.props.spotify.country,locale:n.props.spotify.locale,input_in_focus:null},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){!this.props.spotify.enabled&&!this.props.spotify.authorization||this.props.spotify.me&&void 0!==this.props.core.users[this.props.spotify.me.id]||this.props.spotifyActions.getMe(),this.props.lastfm.authorization&&void 0===this.props.core.users["lastfm:user:"+this.props.lastfm.authorization.name]&&this.props.lastfmActions.getMe(),!this.props.genius.authorization||this.props.genius.me&&void 0!==this.props.core.users["genius:user:"+this.props.genius.me.id]||this.props.geniusActions.getMe()}},{key:"handleBlur",value:function(e,t){this.setState({input_in_focus:null});var n={};n[e]=t,this.props.coreActions.set(n)}},{key:"renderSpotify",value:function(){var e=this,t=this.props.spotify.me&&this.props.core.users[this.props.spotify.me.uri]?this.props.core.users[this.props.spotify.me.uri]:null;if(t)var n=a.default.createElement(c.default,{className:"user",type:"user",uri:t.uri},a.default.createElement(l.default,{circle:!0,size:"small",images:t.images}),a.default.createElement("span",{className:"user-name"},t.name?t.name:t.id,this.props.spotify.authorization?null:a.default.createElement("span",{className:"mid_grey-text"},"  (Limited access)")));else n=a.default.createElement(c.default,{className:"user"},a.default.createElement(l.default,{circle:!0,size:"small"}),a.default.createElement("span",{className:"user-name"},"Unknown"));var r=null;return this.props.mopidy.uri_schemes&&this.props.mopidy.uri_schemes.includes("spotify:")||(r=a.default.createElement("div",null,a.default.createElement("p",{className:"message warning"},a.default.createElement("em",null,"Mopidy-Spotify")," extension is not running - you will not be able to play any Spotify tracks"),a.default.createElement("br",null))),a.default.createElement("div",null,r,a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Country"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({country:t.target.value})},onFocus:function(t){return e.setState({input_in_focus:"country"})},onBlur:function(t){return e.props.spotifyActions.set({country:t.target.value})},value:this.state.country}),a.default.createElement("div",{className:"description"},"An ",a.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2")," country code (eg ",a.default.createElement("em",null,"NZ"),")"))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Locale"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({locale:t.target.value})},onFocus:function(t){return e.setState({input_in_focus:"locale"})},onBlur:function(t){return e.props.spotifyActions.set({locale:t.target.value})},value:this.state.locale}),a.default.createElement("div",{className:"description"},"Lowercase ",a.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_639",target:"_blank"},"ISO 639 language code")," and an uppercase ",a.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2 country code"),", joined by an underscore (eg",a.default.createElement("em",null,"en_NZ"),")"))),a.default.createElement("div",{className:"field current-user"},a.default.createElement("div",{className:"name"},"Current user"),a.default.createElement("div",{className:"input"},a.default.createElement("div",{className:"text"},n))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Authorization"),a.default.createElement("div",{className:"input"},a.default.createElement(d.default,null),this.props.spotify.refreshing_token?a.default.createElement("a",{className:"button button--default button--working"},"Force token refres"):a.default.createElement("a",{className:"button button--default",onClick:function(t){return e.props.spotifyActions.refreshingToken()}},"Force token refresh"))))}},{key:"renderLastfm",value:function(){var e=this.props.lastfm.me?this.props.core.users["lastfm:user:"+this.props.lastfm.me.name]:null;if(e)var t=a.default.createElement("span",{className:"user"},a.default.createElement(l.default,{circle:!0,size:"small",images:e.images}),a.default.createElement("span",{className:"user-name"},e.name));else t=a.default.createElement("span",{className:"user"},a.default.createElement(l.default,{circle:!0,size:"small"}),a.default.createElement("span",{className:"user-name"},"Unknown"));return a.default.createElement("div",null,this.props.lastfm.authorization?a.default.createElement("div",{className:"field current-user"},a.default.createElement("div",{className:"name"},"Current user"),a.default.createElement("div",{className:"input"},a.default.createElement("div",{className:"text"},t))):null,a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Authorization"),a.default.createElement("div",{className:"input"},a.default.createElement(f.default,null))))}},{key:"renderGenius",value:function(){var e=this.props.genius.me?this.props.core.users[this.props.genius.me.uri]:null;if(e)var t=a.default.createElement("span",{className:"user"},a.default.createElement(l.default,{circle:!0,size:"small",images:e.images}),a.default.createElement("span",{className:"user-name"},e.name));else t=a.default.createElement("span",{className:"user"},a.default.createElement(l.default,{circle:!0,size:"small"}),a.default.createElement("span",{className:"user-name"},"Unknown"));return a.default.createElement("div",null,this.props.genius.authorization?a.default.createElement("div",{className:"field current-user"},a.default.createElement("div",{className:"name"},"Current user"),a.default.createElement("div",{className:"input"},a.default.createElement("div",{className:"text"},t))):null,a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Authorization"),a.default.createElement("div",{className:"input"},a.default.createElement(p.default,null))))}},{key:"renderIcecast",value:function(){var e=this;return a.default.createElement("div",null,a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"name"},"Enable"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"ssl",checked:this.props.core.http_streaming_enabled,onChange:function(t){return e.props.coreActions.set({http_streaming_enabled:!e.props.core.http_streaming_enabled})}}),a.default.createElement("span",{className:"label"},"Stream audio to this browser")))),a.default.createElement("label",{className:"field"},a.default.createElement("div",{className:"name"},"Location"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.props.coreActions.set({http_streaming_url:t.target.value})},value:this.props.core.http_streaming_url}),a.default.createElement("div",{className:"description"},"The full URL to your stream endpoint"))))}},{key:"renderMenu",value:function(){if(this.props.spotify.me&&this.props.core.users[this.props.spotify.me.uri])var e=a.default.createElement(l.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.spotify.me.uri].images});else e=a.default.createElement(l.default,{className:"menu-item__thumbnail",circle:!0,size:"small"});if(this.props.lastfm.me&&this.props.core.users[this.props.lastfm.me.uri])var t=a.default.createElement(l.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.lastfm.me.uri].images});else t=a.default.createElement(u.default,{type:"fontawesome",name:"lastfm",className:"menu-item__icon"});if(this.props.genius.me&&this.props.core.users[this.props.genius.me.uri])var n=a.default.createElement(l.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.genius.me.uri].images});else n=a.default.createElement(u.default,{name:"genius",type:"svg",className:"menu-item__icon"});return a.default.createElement("div",{className:"menu",id:"services-menu"},a.default.createElement("div",{className:"menu__inner"},a.default.createElement(s.default,{history:this.props.history,className:"menu-item menu-item--spotify",activeClassName:"menu-item--active",to:"/settings/spotify",scrollTo:"#services-menu"},a.default.createElement("div",{className:"menu-item__inner"},e,a.default.createElement("div",{className:"menu-item__title"},"Spotify"),this.props.spotify.authorization?a.default.createElement("span",{className:"status green-text"},"Authorized"):a.default.createElement("span",{className:"status mid_grey-text"},"Read-only"))),a.default.createElement(s.default,{history:this.props.history,className:"menu-item menu-item--lastfm",activeClassName:"menu-item--active",to:"/settings/lastfm",scrollTo:"#services-menu"},a.default.createElement("div",{className:"menu-item__inner"},t,a.default.createElement("div",{className:"menu-item__title"},"LastFM"),this.props.lastfm.authorization?a.default.createElement("span",{className:"status green-text"},"Authorized"):a.default.createElement("span",{className:"status mid_grey-text"},"Read-only"))),a.default.createElement(s.default,{history:this.props.history,className:"menu-item menu-item--genius",activeClassName:"menu-item--active",to:"/settings/genius",scrollTo:"#services-menu"},a.default.createElement("div",{className:"menu-item__inner"},n,a.default.createElement("div",{className:"menu-item__title"},"Genius"),this.props.genius.authorization?a.default.createElement("span",{className:"status green-text"},"Authorized"):a.default.createElement("span",{className:"status mid_grey-text"},"Unauthorized"))),a.default.createElement(s.default,{history:this.props.history,className:"menu-item menu-item--snapcast",activeClassName:"menu-item--active",to:"/settings/snapcast",scrollTo:"#services-menu"},a.default.createElement("div",{className:"menu-item__inner"},a.default.createElement(u.default,{className:"menu-item__icon",name:"devices"}),a.default.createElement("div",{className:"menu-item__title"},"Snapcast"),!this.props.snapcast.enabled&&a.default.createElement("span",{className:"status mid_grey-text"},"Disabled"),this.props.snapcast.enabled&&!this.props.snapcast.connected&&a.default.createElement("span",{className:"status red-text"},"Disconnected"),this.props.snapcast.enabled&&this.props.snapcast.connected&&a.default.createElement("span",{className:"status green-text"},"Connected"))),a.default.createElement(s.default,{history:this.props.history,className:"menu-item menu-item--icecast",activeClassName:"menu-item--active",to:"/settings/icecast",scrollTo:"#services-menu"},a.default.createElement("div",{className:"menu-item__inner"},a.default.createElement(u.default,{className:"menu-item__icon",name:"wifi_tethering"}),a.default.createElement("div",{className:"menu-item__title"},"Icecast"),this.props.core.http_streaming_enabled?a.default.createElement("span",{className:"status green-text"},"Enabled"):a.default.createElement("span",{className:"status mid_grey-text"},"Disabled")))))}},{key:"renderService",value:function(){switch(this.props.match.params.service){case"spotify":return a.default.createElement("div",{className:"service"},this.renderSpotify());case"lastfm":return a.default.createElement("div",{className:"service"},this.renderLastfm());case"genius":return a.default.createElement("div",{className:"service"},this.renderGenius());case"icecast":return a.default.createElement("div",{className:"service"},this.renderIcecast());case"snapcast":return a.default.createElement("div",{className:"service"},a.default.createElement(m.default,{match:this.props.match}));default:return null}}},{key:"render",value:function(){return a.default.createElement("div",{className:"services"},this.renderMenu(),this.renderService())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=!1,r={};return e.spotify.country!==t.country&&"country"!==t.input_in_focus&&(n=!0,r.country=e.spotify.country),e.spotify.locale!==t.locale&&"locale"!==t.input_in_focus&&(n=!0,r.locale=e.spotify.locale),n?r:null}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return e}),(function(e){return{coreActions:(0,i.bindActionCreators)(_,e),uiActions:(0,i.bindActionCreators)(h,e),pusherActions:(0,i.bindActionCreators)(v,e),mopidyActions:(0,i.bindActionCreators)(y,e),spotifyActions:(0,i.bindActionCreators)(g,e),lastfmActions:(0,i.bindActionCreators)(b,e),geniusActions:(0,i.bindActionCreators)(E,e)}}))(S)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=f(n(1)),c=f(n(7)),d=n(12);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var p=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={authorizing:!1},n.handleMessage=n.handleMessage.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){window.addEventListener("message",this.handleMessage,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("message",this.handleMessage,!1)}},{key:"handleMessage",value:function(e){var t=(0,d.toJSON)(e.data);if("auth_spotify"==t.origin){var n=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(e.origin!=n)return this.props.uiActions.createNotification({content:"Authorization failed. "+e.origin+" is not the configured authorization_url.",level:"error"}),!1;void 0!==t.error?this.props.uiActions.createNotification({content:t.error,level:"error"}):(this.props.spotifyActions.authorizationGranted(t),this.props.spotifyActions.getMe()),this.setState({authorizing:!1})}}},{key:"startAuthorization",value:function(){var e=this;this.setState({authorizing:!0});var t=this.props.authorization_url+"?action=authorize",n=window.open(t+"&scope="+["playlist-modify-private","playlist-modify-public","playlist-read-private","playlist-modify-private","user-library-read","user-library-modify","user-follow-modify","user-follow-read","user-read-email","user-top-read","user-read-currently-playing","user-read-playback-state","playlist-read-collaborative","ugc-image-upload"].join("%20"),"popup","height=580,width=350"),r=setInterval((function(){void 0!==n&&n?n.closed&&(e.setState({authorizing:!1}),clearInterval(r)):(e.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",level:"error"}),e.setState({authorizing:!1}),clearInterval(r))}),1e3)}},{key:"render",value:function(){var e=this,t=this.state.authorizing;return this.props.authorized?i.default.createElement("a",{className:"button button--destructive "+(t?"button--working":""),onClick:function(t){return e.props.spotifyActions.revokeAuthorization()}},"Log out"):i.default.createElement("a",{className:"button button--primary "+(t?"button--working":""),onClick:function(t){return e.startAuthorization()}},"Log in")}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{authorization_url:e.spotify.authorization_url,authorized:e.spotify.authorization,authorizing:e.spotify.authorizing}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),spotifyActions:(0,l.bindActionCreators)(c,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=f(n(1)),c=f(n(15)),d=n(12);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var p=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={authorizing:!1},n.handleMessage=n.handleMessage.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){window.addEventListener("message",this.handleMessage,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("message",this.handleMessage,!1)}},{key:"handleMessage",value:function(e){var t=(0,d.toJSON)(e.data);if("auth_lastfm"==t.origin){var n=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(e.origin!=n)return this.props.uiActions.createNotification({content:"Authorization failed. "+e.origin+" is not the configured authorization_url.",level:"error"}),!1;void 0!==t.error?this.props.uiActions.createNotification({content:t.message,level:"error"}):(this.props.lastfmActions.authorizationGranted(t),this.props.lastfmActions.getMe()),this.setState({authorizing:!1})}}},{key:"startAuthorization",value:function(){var e=this;this.setState({authorizing:!0});var t=this.props.authorization_url+"?action=authorize",n=window.open(t,"popup","height=580,width=350");n.name="LastfmAuthenticationWindow";var r=setInterval((function(){void 0!==n&&n?n.closed&&(e.setState({authorizing:!1}),clearInterval(r)):(e.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",level:"error"}),e.setState({authorizing:!1}),clearInterval(r))}),1e3)}},{key:"render",value:function(){var e=this,t=this.state.authorizing;return this.props.authorization?i.default.createElement("a",{className:"button button--destructive"+(t?" button--working":""),onClick:function(t){return e.props.lastfmActions.revokeAuthorization()}},"Log out"):i.default.createElement("a",{className:"button button--primary"+(t?" button--working":""),onClick:function(t){return e.startAuthorization()}},"Log in")}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{authorization_url:e.lastfm.authorization_url,authorization:e.lastfm.authorization,authorizing:e.lastfm.authorizing}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),lastfmActions:(0,l.bindActionCreators)(c,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(3),l=n(2),u=f(n(1)),c=f(n(32)),d=n(12);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var p=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={authorizing:!1},n.handleMessage=n.handleMessage.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){window.addEventListener("message",this.handleMessage,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("message",this.handleMessage,!1)}},{key:"handleMessage",value:function(e){var t=(0,d.toJSON)(e.data);if("auth_genius"==t.origin){var n=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(e.origin!=n)return this.props.uiActions.createNotification({content:"Authorization failed. "+e.origin+" is not the configured authorization_url.",level:"error"}),!1;void 0!==t.error?this.props.uiActions.createNotification({content:t.message,level:"error"}):(this.props.geniusActions.authorizationGranted(t),this.props.geniusActions.getMe()),this.setState({authorizing:!1})}}},{key:"startAuthorization",value:function(){var e=this;this.setState({authorizing:!0});var t=this.props.authorization_url+"?action=authorize&scope=me",n=window.open(t,"popup","height=580,width=350");n.name="GeniusAuthenticationWindow";var r=setInterval((function(){void 0!==n&&n?n.closed&&(e.setState({authorizing:!1}),clearInterval(r)):(e.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",level:"error"}),e.setState({authorizing:!1}),clearInterval(r))}),1e3)}},{key:"render",value:function(){var e=this,t=this.state.authorizing;return this.props.authorized?i.default.createElement("a",{className:"button button--destructive"+(t?" button--working":""),onClick:function(t){return e.props.geniusActions.revokeAuthorization()}},"Log out"):i.default.createElement("a",{className:"button button--primary"+(t?" button--working":""),onClick:function(t){return e.startAuthorization()}},"Log in")}}]),t}(i.default.Component);t.default=(0,s.connect)((function(e,t){return{authorization_url:e.genius.authorization_url,authorized:e.genius.authorization,authorizing:e.genius.authorizing}}),(function(e){return{uiActions:(0,l.bindActionCreators)(u,e),geniusActions:(0,l.bindActionCreators)(c,e)}}))(p)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=d(n(0)),a=n(3),o=n(2),i=d(n(45)),s=d(n(175)),l=c(n(1)),u=c(n(36));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function d(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.connect)((function(e,t){return{snapcast:e.snapcast,show_disconnected_clients:void 0!==e.ui.snapcast_show_disconnected_clients&&e.ui.snapcast_show_disconnected_clients}}),(function(e){return{actions:(0,o.bindActionCreators)(u,e),uiActions:(0,o.bindActionCreators)(l,e)}}))((function(e){var t=e.actions,n=e.show_disconnected_clients,a=e.uiActions,o=e.match,l=e.history,u=e.snapcast,c=u.host,d=u.port,f=u.enabled,p=u.connected;return r.default.createElement("div",{className:"snapcast"},r.default.createElement("div",{className:"field checkbox"},r.default.createElement("div",{className:"name"},"Enabled"),r.default.createElement("div",{className:"input"},r.default.createElement("label",null,r.default.createElement("input",{type:"checkbox",name:"enabled",checked:f,onChange:function(){return t.setEnabled(!f)}}),r.default.createElement("span",{className:"label"},"Enabled")),r.default.createElement("label",null,r.default.createElement("input",{type:"checkbox",name:"show_disconnected_clients",checked:n,onChange:function(){return a.set({snapcast_show_disconnected_clients:!n})}}),r.default.createElement("span",{className:"label"},"Show disconnected clients")))),r.default.createElement("div",{className:"field"},r.default.createElement("div",{className:"name"},"Host"),r.default.createElement("div",{className:"input"},r.default.createElement(i.default,{value:c,onChange:function(e){return t.setConnection({host:e})}}))),r.default.createElement("div",{className:"field"},r.default.createElement("div",{className:"name"},"Port"),r.default.createElement("div",{className:"input"},r.default.createElement(i.default,{value:d,onChange:function(e){return t.setConnection({port:e})}}))),p&&f&&r.default.createElement(s.default,{match:o,history:l}))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=_(n(0)),a=n(3),o=n(2),i=n(12),s=n(9),l=_(n(48)),u=_(n(49)),c=_(n(45)),d=_(n(176)),f=_(n(5)),p=_(n(17)),m=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(36)),h=_(n(61));function _(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.connect)((function(e,t){return{show_disconnected_clients:void 0!==e.ui.snapcast_show_disconnected_clients&&e.ui.snapcast_show_disconnected_clients,streams:e.snapcast.streams?e.snapcast.streams:null,groups:e.snapcast.groups?e.snapcast.groups:null,clients:e.snapcast.clients?e.snapcast.clients:null}}),(function(e){return{actions:(0,o.bindActionCreators)(m,e)}}))((function(e){var t=e.actions,n=e.show_disconnected_clients,a=e.streams,o=e.groups,m=e.clients,_=e.history,y=e.match.params.id,v=Object.keys(a).map((function(e){return a[e]})),g=Object.keys(o).map((function(e){return o[e]}));if(!o||g.length<=0)return null;var b=y&&o[y]?(0,i.collate)(o[y],{clients:m}):null;return r.default.createElement("div",{className:"snapcast__groups",id:"services-snapcast-groups"},r.default.createElement("div",{className:"snapcast__groups__menu menu"},r.default.createElement("div",{className:"menu__inner"},(0,s.sortItems)(g,"name").map((function(e){return function(e){var t=(0,i.collate)(e,{clients:m}),a=!(n||t.clients&&t.clients.length&&t.clients.filter((function(e){return e.connected})).length);return r.default.createElement(p.default,{className:"snapcast__groups__menu-item menu-item"+(a?" menu-item--no-clients":""),activeClassName:"menu-item--active",key:t.id,history:_,to:"/settings/snapcast/"+t.id,scrollTo:"#services-snapcast-groups"},r.default.createElement("div",{className:"snapcast__groups__menu-item__inner menu-item__inner"},r.default.createElement(f.default,{className:"menu-item__icon",name:function(){var e=t.name.toLowerCase(),n=!0,r=!1,a=void 0;try{for(var o,i=[{icon:"business",words:["office","work"]},{icon:"king_bed",words:["bed"]},{icon:"weekend",words:["lounge","tv","sitting room"]},{icon:"directions_car",words:["garage","laundry"]},{icon:"fitness_center",words:["gym"]},{icon:"kitchen",words:["kitchen"]},{icon:"deck",words:["deck","outside"]},{icon:"restaurant_menu",words:["dining","dinner"]},{icon:"laptop",words:["laptop"]},{icon:"bug_report",words:["test","debug"]},{icon:"child_care",words:["kids","baby"]},{icon:"smartphone",words:["phone","mobile"]}][Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value,l=!0,u=!1,c=void 0;try{for(var d,f=s.words[Symbol.iterator]();!(l=(d=f.next()).done);l=!0){var p=d.value;if(e.match(new RegExp("("+p+")","gi")))return s.icon}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}return"speaker_group"}()}),r.default.createElement("div",{className:"menu-item__title"},t.name,t.mute&&r.default.createElement(f.default,{name:"volume_off"}))))}(e)})))),b?r.default.createElement("div",{className:"snapcast__group",key:b.id},r.default.createElement("div",{className:"field text"},r.default.createElement("div",{className:"name"},"Name"),r.default.createElement("div",{className:"input"},r.default.createElement(c.default,{value:b.name,onChange:function(e){return t.setGroupName(b.id,e)}}))),r.default.createElement("div",{className:"field dropdown"},r.default.createElement("div",{className:"name"},"Stream"),r.default.createElement("div",{className:"input"},r.default.createElement(h.default,{onChange:function(e){return t.setGroupStream(b.id,e)},value:b.stream_id,options:v.map((function(e){return{key:"group_"+b.id+"_stream_"+e.id,value:e.id,label:e.id+" ("+e.status+")"}}))}))),r.default.createElement("div",{className:"field"},r.default.createElement("div",{className:"name"},"Volume"),r.default.createElement("div",{className:"input"},r.default.createElement(u.default,{className:"snapcast__group__mute-control snapcast__mute-control",mute:b.mute,onMuteChange:function(e){return t.setGroupMute(b.id,e)}}),r.default.createElement(l.default,{className:"snapcast__group__volume-control snapcast__volume-control",volume:b.volume,mute:b.mute,onVolumeChange:function(e,n){return t.setGroupVolume(b.id,e,n)}}))),r.default.createElement(d.default,{group:b,groups:g,actions:t,show_disconnected_clients:n})):null)}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(0)),a=n(9),o=c(n(48)),i=c(n(49)),s=c(n(177)),l=c(n(45)),u=c(n(61));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}t.default=function(e){var t=e.actions,n=e.group,c=e.groups;if(!e.show_disconnected_clients&&n.clients)var f=(0,a.applyFilter)("connected",!0,n.clients);else f=n.clients;return!f||f.length<=0?r.default.createElement("p",{className:"no-results"},"No connected clients"):r.default.createElement("div",{className:"list snapcast__clients"},f.map((function(e){var a="list__item list__item--no-interaction snapcast__client";return e.connected?a+=" snapcast__client--connected":a+=" snapcast__client--disconnected",r.default.createElement("div",{className:a,key:e.id},r.default.createElement("label",{className:"field field--condensed"},r.default.createElement("div",{className:"name"},"Name",!e.connected&&" (disconnected)"),r.default.createElement("div",{className:"input"},r.default.createElement(l.default,{onChange:function(n){return t.setClientName(e.id,n)},value:e.name}))),r.default.createElement("label",{className:"field dropdown field--condensed"},r.default.createElement("div",{className:"name"},"Group"),r.default.createElement("div",{className:"input"},r.default.createElement(u.default,{onChange:function(n){return t.setClientGroup(e.id,n)},value:n.id,options:[].concat(d(c.map((function(t){return{key:"client_"+e.id+"_group_"+t.id,value:t.id,label:t.name}}))),[{key:"client_"+e.id+"_new_group",value:n.id,label:"+ New group"}])}))),r.default.createElement("div",{className:"snapcast__client__latency field field--condensed"},r.default.createElement("div",{className:"name"},"Latency"),r.default.createElement("div",{className:"input"},r.default.createElement(s.default,{max:"150",value:e.latency,onChange:function(n){return t.setClientLatency(e.id,parseInt(n))}}),r.default.createElement(l.default,{className:"tiny",type:"number",onChange:function(n){return t.setClientLatency(e.id,parseInt(n))},value:String(e.latency)}))),r.default.createElement("div",{className:"snapcast__client__volume field field--condensed"},r.default.createElement(o.default,{className:"snapcast__volume-control snapcast__client__volume-control",volume:e.volume,mute:e.mute,vertical:!0,onVolumeChange:function(r){return t.setClientVolume(e.id,r,n.id)}}),r.default.createElement(i.default,{className:"snapcast__mute-control snapcast__client__mute-control",mute:e.mute,onMuteChange:function(n){return t.setClientMute(e.id,n)}})))})))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),i=(r=o)&&r.__esModule?r:{default:r},s=n(4);var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleChange=(0,s.throttle)(n.handleChange.bind(n),100),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"handleChange",value:function(e){this.props.onChange(e,this.props.value)}},{key:"render",value:function(){var e=this;if(this.props.value>=0){(r=this.props.value)>this.props.max&&(r=this.props.max);var t=50,n=!1;(o=a=Math.round(r/this.props.max*100/2))>this.props.max/2&&(o=this.props.max/2)}else{var r;(r=-this.props.value)<-this.props.max&&(r=-this.props.max);var a,o;n=!0;(t=50-(a=Math.round(r/this.props.max*100/2)))<0&&(t=0),(o=a)>this.props.max/2&&(o=this.props.max/2)}return i.default.createElement("span",{className:"latency-control"},i.default.createElement("div",{className:"slider__wrapper"},i.default.createElement("div",{className:"slider slider--latency"},i.default.createElement("input",{type:"range",min:-this.props.max,max:this.props.max,className:"slider__input",value:this.props.value,onChange:function(t){return e.handleChange(parseInt(t.target.value))}}),i.default.createElement("div",{className:"zero"}),i.default.createElement("div",{className:"slider__track"},i.default.createElement("div",{className:"slider__track__progress slider__track__progress--"+(n?"negative":"positive"),style:{width:o+"%",left:t+"%"}})))))}}]),t}(i.default.Component);t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=O(n(0)),i=n(3),s=n(2),l=O(n(179)),u=O(n(43)),c=O(n(31)),d=O(n(19)),f=O(n(35)),p=O(n(33)),m=O(n(195)),h=O(n(21)),_=O(n(34)),y=O(n(75)),v=O(n(5)),g=S(n(1)),b=S(n(6)),E=S(n(7)),k=n(4),w=n(9);function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function O(e){return e&&e.__esModule?e:{default:e}}var T=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDiUpdate=function(e){var t=e.match.params.seeds,r=n.props.match.params.seeds;t!==r&&n.handleURLSeeds(r)},n._autocomplete_timer=!1,n.state={add_seed:"",adding_seed:!1,seeds:[],tunabilities:{acousticness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},danceability:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},energy:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},instrumentalness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},key:{enabled:!1,min:0,max:11,value:{min:3,max:8}},liveness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},loudness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},popularity:{enabled:!1,min:0,max:100,value:{min:0,max:100}},speechiness:{enabled:!1,convert_to_decimal:!0,description:"The presence of spoken words in a track",min:0,max:100,value:{min:25,max:75}},tempo:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},valence:{enabled:!1,convert_to_decimal:!0,description:"The musical positiveness conveyed by a track",min:0,max:100,value:{min:25,max:75}}}},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Discover"),this.props.match.params.seeds&&this.handleURLSeeds(this.props.match.params.seeds)}},{key:"handleContextMenu",value:function(e){var t="iris:discover";if(this.state.seeds){t+=":";for(var n=0;n<this.state.seeds.length;n++)n>0&&(t+=","),t+=this.state.seeds[n].split(":").join("_")}var r=[];if(this.props.recommendations.tracks_uris&&this.props.tracks)for(n=0;n<this.props.recommendations.tracks_uris.length;n++){t=this.props.recommendations.tracks_uris[n];this.props.tracks.hasOwnProperty(t)&&r.push(this.props.tracks[t])}var a={e:e,context:"track",items:r,uris:(0,w.arrayOf)("uri",r)};this.props.uiActions.showContextMenu(a)}},{key:"handleURLSeeds",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.match.params.seeds,t=e.split("_").join(":").split(","),n=0;n<t.length;n++)switch((0,k.uriType)(t[n])){case"artist":this.props.spotifyActions.getArtist(t[n]);break;case"track":this.props.spotifyActions.getTrack(t[n])}this.setState({seeds:t}),this.getRecommendations(t)}},{key:"getRecommendations",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.seeds,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.tunabilities;if(e.length>0){var n={};for(var r in t)if(t.hasOwnProperty(r)&&t[r].enabled){var a=t[r],o=a.value.max,i=a.value.min;a.convert_to_decimal&&(o/=100,i/=100),n[r+"_max"]=o.toString(),n[r+"_min"]=i.toString()}this.props.spotifyActions.getRecommendations(e,50,n)}}},{key:"playTracks",value:function(){this.props.mopidyActions.playURIs(this.props.recommendations.tracks_uris)}},{key:"removeSeed",value:function(e){var t=this.state.seeds;t.splice(e,1),this.setState({seeds:t})}},{key:"handleSelect",value:function(e,t){var n=this.state.seeds;n.push(t),this.setState({seeds:n})}},{key:"renderSeeds",value:function(){var e=this,t=[];if(this.state.seeds.length>0)for(var n=0;n<this.state.seeds.length;n++){var r=this.state.seeds[n];switch((0,k.uriType)(r)){case"track":void 0!==this.props.tracks[r]?t.push(this.props.tracks[r]):t.push({name:"Loading...",uri:r});break;case"artist":void 0!==this.props.artists[r]?t.push(this.props.artists[r]):t.push({name:"Loading...",uri:r});break;case"genre":var a=(0,k.getFromUri)("genreid",r);t.push({name:(a.charAt(0).toUpperCase()+a.slice(1)).replace("-"," "),uri:r})}}return o.default.createElement("div",{className:"seeds"},t.map((function(t,n){var r=(0,k.uriType)(t.uri),a=null;return t.images&&("artist"==r?t.images.length>0&&(a=t.images[0]):a=t.images),o.default.createElement("div",{className:"seed"+(t.images?" has-thumbnail":""),key:t.uri},a?o.default.createElement(h.default,{className:"thumbnail-wrapper",type:r,uri:t.uri},o.default.createElement(d.default,{images:a,circle:"artist"==t.type,size:"small"})):null,o.default.createElement("div",{className:"seed__details"},o.default.createElement("div",{className:"seed__label"},o.default.createElement("span",{className:"seed__label__text"},(0,k.titleCase)(r)),o.default.createElement(v.default,{name:"close",className:"seed__label__remove",onClick:function(){return e.removeSeed(n)}})),o.default.createElement("div",{className:"seed__label__name"},t.name)))})))}},{key:"setTunability",value:function(e,t){var n=this.state.tunabilities;n[e].value=t,this.setState({tunabilities:n})}},{key:"toggleTunability",value:function(e){var t=this.state.tunabilities;t[e].enabled=!t[e].enabled,this.setState({tunabilities:t})}},{key:"renderTunabilities",value:function(){var e=this,t=[],n=[];for(var a in this.state.tunabilities)if(this.state.tunabilities.hasOwnProperty(a)){var i=r({},this.state.tunabilities[a],{name:a});i.enabled?n.push(i):t.push({label:(0,k.titleCase)(i.name),value:i.name})}return o.default.createElement("div",{className:"tunabilities"},n.map((function(t){return o.default.createElement("div",{className:"field tunability range",key:t.name},o.default.createElement("div",{className:"tunability__label"},(0,k.titleCase)(t.name),o.default.createElement("span",{className:"remove",onClick:function(n){return e.toggleTunability(t.name)}},o.default.createElement(v.default,{name:"close"}))),o.default.createElement("div",{className:"tunability__input"},o.default.createElement(l.default,{disabled:!t.enabled,minValue:t.min,maxValue:t.max,value:t.value,onChange:function(n){return e.setTunability(t.name,n)}})))})))}},{key:"renderResults",value:function(){var e=this;if(!this.props.recommendations||void 0===this.props.recommendations.albums_uris||void 0===this.props.recommendations.artists_uris)return o.default.createElement("div",{className:"content-wrapper recommendations-results"});var t=[];if(this.props.recommendations.tracks_uris&&this.props.tracks)for(var n=0;n<this.props.recommendations.tracks_uris.length;n++){var r=this.props.recommendations.tracks_uris[n];this.props.tracks.hasOwnProperty(r)&&t.push(this.props.tracks[r])}var a=[];if(this.props.recommendations.artists_uris&&this.props.artists)for(n=0;n<this.props.recommendations.artists_uris.length;n++){r=this.props.recommendations.artists_uris[n];this.props.artists.hasOwnProperty(r)&&a.push(this.props.artists[r])}var i=[];if(this.props.recommendations.albums_uris&&this.props.albums)for(n=0;n<this.props.recommendations.albums_uris.length;n++){r=this.props.recommendations.albums_uris[n];this.props.albums.hasOwnProperty(r)&&i.push(this.props.albums[r])}if(t.length<=0&&a.length<=0&&i.length<=0)return null;r="iris:discover";if(this.state.seeds){r+=":";for(n=0;n<this.state.seeds.length;n++)n>0&&(r+=","),r+=this.state.seeds[n].split(":").join("_")}return o.default.createElement("div",{className:"content-wrapper recommendations-results"},o.default.createElement("section",{className:"col col--w70 tracks"},o.default.createElement("h4",null,"Tracks",o.default.createElement("div",{className:"pull-right"},o.default.createElement(_.default,{onTrigger:function(t){return e.handleContextMenu(t)}}),o.default.createElement("button",{className:"button button--primary",onClick:function(t){return e.playTracks(t)}},"Play all"))),o.default.createElement(c.default,{className:"discover-track-list",uri:r,tracks:t})),o.default.createElement("div",{className:"col col--w5"}),o.default.createElement("div",{className:"col col--w25 others"},o.default.createElement("section",null,o.default.createElement("h4",null,"Artists"),o.default.createElement(y.default,{artists:a})),o.default.createElement("br",null),o.default.createElement("br",null),o.default.createElement("section",null,o.default.createElement("h4",null,"Albums"),o.default.createElement(u.default,{className:"grid--mini",albums:i}))))}},{key:"render",value:function(){var e=this,t=(0,k.isLoading)(this.props.load_queue,["spotify_recommendations"]),n=[];for(var a in this.state.tunabilities)if(this.state.tunabilities.hasOwnProperty(a)){var i=r({},this.state.tunabilities[a],{name:a});i.enabled||n.push({label:(0,k.titleCase)(i.name),value:i.name})}return o.default.createElement("div",{className:"view discover-view preserve-3d"},o.default.createElement("div",{className:"intro preserve-3d"},"dark"==this.props.theme&&o.default.createElement(f.default,{image:"/iris/assets/backgrounds/discover.jpg"}),o.default.createElement("div",{className:"intro__liner"},o.default.createElement("h1",null,"Explore new music"),o.default.createElement("h2",null,"Add seeds and musical properties below to build your sound"),o.default.createElement("div",{className:"intro__parameters"},this.renderSeeds(),this.renderTunabilities(),this.state.seeds.length>5?o.default.createElement("p",{className:"message error"},"Too many seeds! You can use up to a total of 5 seed tracks, artists and genres."):null),o.default.createElement("div",{className:"intro__actions"},o.default.createElement(m.default,{onSelect:function(t,n){return e.handleSelect(t,n)}}),o.default.createElement(p.default,{className:"add-properties",name:"Properties",options:n,no_status_icon:!0,button:"default",handleChange:function(t){e.toggleTunability(t)}}),o.default.createElement("div",{className:"intro__actions__separator"}),o.default.createElement("span",{className:"submit button button--primary button--large"+(t?" button--working":""),onClick:function(t){return e.getRecommendations()}},o.default.createElement(v.default,{name:"explore"}),"  Find recommendations")))),this.renderResults())}}]),t}(o.default.Component);t.default=(0,i.connect)((function(e,t){return{theme:e.ui.theme,albums:e.core.albums,artists:e.core.artists,tracks:e.core.tracks,genres:e.core.genres?e.core.genres:[],authorized:e.spotify.authorization,load_queue:e.ui.load_queue,quick_search_results:e.spotify.quick_search_results?e.spotify.quick_search_results:{artists:[],tracks:[]},recommendations:e.spotify.recommendations?e.spotify.recommendations:{}}}),(function(e){return{uiActions:(0,s.bindActionCreators)(g,e),mopidyActions:(0,s.bindActionCreators)(b,e),spotifyActions:(0,s.bindActionCreators)(E,e)}}))(T)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(180),o=(r=a)&&r.__esModule?r:{default:r};t.default=o.default,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=y(n(0)),i=y(n(10)),s=y(n(62)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(181)),u=y(n(189)),c=y(n(77)),d=y(n(190)),f=y(n(191)),p=y(n(192)),m=y(n(193)),h=n(51),_=n(194);function y(e){return e&&e.__esModule?e:{default:e}}function v(e,t,n,r,a){var o={};return Object.keys(r).forEach((function(e){o[e]=r[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var g=(v((r=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.startValue=null,n.node=null,n.trackNode=null,n.isSliderDragging=!1,n.lastKeyMoved=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"propTypes",get:function(){return{allowSameValues:i.default.bool,ariaLabelledby:i.default.string,ariaControls:i.default.string,classNames:i.default.objectOf(i.default.string),disabled:i.default.bool,draggableTrack:i.default.bool,formatLabel:i.default.func,maxValue:d.default,minValue:d.default,name:i.default.string,onChangeStart:i.default.func,onChange:i.default.func.isRequired,onChangeComplete:i.default.func,step:i.default.number,value:f.default}}},{key:"defaultProps",get:function(){return{allowSameValues:!1,classNames:u.default,disabled:!1,maxValue:10,minValue:0,step:1}}}]),a(t,[{key:"componentWillUnmount",value:function(){this.removeDocumentMouseUpListener(),this.removeDocumentTouchEndListener()}},{key:"getComponentClassName",value:function(){return this.props.disabled?this.props.classNames.disabledInputRange:this.props.classNames.inputRange}},{key:"getTrackClientRect",value:function(){return this.trackNode.getClientRect()}},{key:"getKeyByPosition",value:function(e){var t=l.getValueFromProps(this.props,this.isMultiValue()),n=l.getPositionsFromValues(t,this.props.minValue,this.props.maxValue,this.getTrackClientRect());if(this.isMultiValue()&&(0,h.distanceTo)(e,n.min)<(0,h.distanceTo)(e,n.max))return"min";return"max"}},{key:"getKeys",value:function(){return this.isMultiValue()?["min","max"]:["max"]}},{key:"hasStepDifference",value:function(e){var t=l.getValueFromProps(this.props,this.isMultiValue());return(0,h.length)(e.min,t.min)>=this.props.step||(0,h.length)(e.max,t.max)>=this.props.step}},{key:"isMultiValue",value:function(){return(0,h.isObject)(this.props.value)}},{key:"isWithinRange",value:function(e){return this.isMultiValue()?e.min>=this.props.minValue&&e.max<=this.props.maxValue&&this.props.allowSameValues?e.min<=e.max:e.min<e.max:e.max>=this.props.minValue&&e.max<=this.props.maxValue}},{key:"shouldUpdate",value:function(e){return this.isWithinRange(e)&&this.hasStepDifference(e)}},{key:"updatePosition",value:function(e,t){var n=l.getValueFromProps(this.props,this.isMultiValue()),r=l.getPositionsFromValues(n,this.props.minValue,this.props.maxValue,this.getTrackClientRect());r[e]=t,this.lastKeyMoved=e,this.updatePositions(r)}},{key:"updatePositions",value:function(e){var t={min:l.getValueFromPosition(e.min,this.props.minValue,this.props.maxValue,this.getTrackClientRect()),max:l.getValueFromPosition(e.max,this.props.minValue,this.props.maxValue,this.getTrackClientRect())},n={min:l.getStepValueFromValue(t.min,this.props.step),max:l.getStepValueFromValue(t.max,this.props.step)};this.updateValues(n)}},{key:"updateValue",value:function(e,t){var n=l.getValueFromProps(this.props,this.isMultiValue());n[e]=t,this.updateValues(n)}},{key:"updateValues",value:function(e){this.shouldUpdate(e)&&this.props.onChange(this.isMultiValue()?e:e.max)}},{key:"incrementValue",value:function(e){var t=l.getValueFromProps(this.props,this.isMultiValue())[e]+this.props.step;this.updateValue(e,t)}},{key:"decrementValue",value:function(e){var t=l.getValueFromProps(this.props,this.isMultiValue())[e]-this.props.step;this.updateValue(e,t)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"addDocumentTouchEndListener",value:function(){this.removeDocumentTouchEndListener(),this.node.ownerDocument.addEventListener("touchend",this.handleTouchEnd)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentTouchEndListener",value:function(){this.node.ownerDocument.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleSliderDrag",value:function(e,t){var n=this;if(!this.props.disabled){var r=l.getPositionFromEvent(e,this.getTrackClientRect());this.isSliderDragging=!0,requestAnimationFrame((function(){return n.updatePosition(t,r)}))}}},{key:"handleTrackDrag",value:function(e,t){if(!this.props.disabled&&this.props.draggableTrack&&!this.isSliderDragging){var n=this.props,r=n.maxValue,a=n.minValue,o=n.value,i=o.max,s=o.min,u=l.getPositionFromEvent(e,this.getTrackClientRect()),c=l.getValueFromPosition(u,a,r,this.getTrackClientRect()),d=l.getStepValueFromValue(c,this.props.step),f=l.getPositionFromEvent(t,this.getTrackClientRect()),p=l.getValueFromPosition(f,a,r,this.getTrackClientRect()),m=l.getStepValueFromValue(p,this.props.step)-d,h={min:s-m,max:i-m};this.updateValues(h)}}},{key:"handleSliderKeyDown",value:function(e,t){if(!this.props.disabled)switch(e.keyCode){case _.LEFT_ARROW:case _.DOWN_ARROW:e.preventDefault(),this.decrementValue(t);break;case _.RIGHT_ARROW:case _.UP_ARROW:e.preventDefault(),this.incrementValue(t)}}},{key:"handleTrackMouseDown",value:function(e,t){if(!this.props.disabled){var n=this.props,r=n.maxValue,a=n.minValue,o=n.value,i=o.max,s=o.min;e.preventDefault();var u=l.getValueFromPosition(t,a,r,this.getTrackClientRect()),c=l.getStepValueFromValue(u,this.props.step);(!this.props.draggableTrack||c>i||c<s)&&this.updatePosition(this.getKeyByPosition(t),t)}}},{key:"handleInteractionStart",value:function(){this.props.onChangeStart&&this.props.onChangeStart(this.props.value),this.props.onChangeComplete&&!(0,h.isDefined)(this.startValue)&&(this.startValue=this.props.value)}},{key:"handleInteractionEnd",value:function(){this.isSliderDragging&&(this.isSliderDragging=!1),this.props.onChangeComplete&&(0,h.isDefined)(this.startValue)&&(this.startValue!==this.props.value&&this.props.onChangeComplete(this.props.value),this.startValue=null)}},{key:"handleKeyDown",value:function(e){this.handleInteractionStart(e)}},{key:"handleKeyUp",value:function(e){this.handleInteractionEnd(e)}},{key:"handleMouseDown",value:function(e){this.handleInteractionStart(e),this.addDocumentMouseUpListener()}},{key:"handleMouseUp",value:function(e){this.handleInteractionEnd(e),this.removeDocumentMouseUpListener()}},{key:"handleTouchStart",value:function(e){this.handleInteractionStart(e),this.addDocumentTouchEndListener()}},{key:"handleTouchEnd",value:function(e){this.handleInteractionEnd(e),this.removeDocumentTouchEndListener()}},{key:"renderSliders",value:function(){var e=this,t=l.getValueFromProps(this.props,this.isMultiValue()),n=l.getPercentagesFromValues(t,this.props.minValue,this.props.maxValue);return(this.props.allowSameValues&&"min"===this.lastKeyMoved?this.getKeys().reverse():this.getKeys()).map((function(r){var a=t[r],i=n[r],s=e.props,l=s.maxValue,u=s.minValue;return"min"===r?l=t.max:u=t.min,o.default.createElement(p.default,{ariaLabelledby:e.props.ariaLabelledby,ariaControls:e.props.ariaControls,classNames:e.props.classNames,formatLabel:e.props.formatLabel,key:r,maxValue:l,minValue:u,onSliderDrag:e.handleSliderDrag,onSliderKeyDown:e.handleSliderKeyDown,percentage:i,type:r,value:a})}))}},{key:"renderHiddenInputs",value:function(){var e=this;if(!this.props.name)return[];var t=this.isMultiValue(),n=l.getValueFromProps(this.props,t);return this.getKeys().map((function(r){var a=n[r],i=t?""+e.props.name+(0,h.captialize)(r):e.props.name;return o.default.createElement("input",{key:r,type:"hidden",name:i,value:a})}))}},{key:"render",value:function(){var e=this,t=this.getComponentClassName(),n=l.getValueFromProps(this.props,this.isMultiValue()),r=l.getPercentagesFromValues(n,this.props.minValue,this.props.maxValue);return o.default.createElement("div",{"aria-disabled":this.props.disabled,ref:function(t){e.node=t},className:t,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart},o.default.createElement(c.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"min"},this.props.minValue),o.default.createElement(m.default,{classNames:this.props.classNames,draggableTrack:this.props.draggableTrack,ref:function(t){e.trackNode=t},percentages:r,onTrackDrag:this.handleTrackDrag,onTrackMouseDown:this.handleTrackMouseDown},this.renderSliders()),o.default.createElement(c.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"max"},this.props.maxValue),this.renderHiddenInputs())}}]),t}(o.default.Component)).prototype,"handleSliderDrag",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleSliderDrag"),r.prototype),v(r.prototype,"handleTrackDrag",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTrackDrag"),r.prototype),v(r.prototype,"handleSliderKeyDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleSliderKeyDown"),r.prototype),v(r.prototype,"handleTrackMouseDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTrackMouseDown"),r.prototype),v(r.prototype,"handleInteractionStart",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleInteractionStart"),r.prototype),v(r.prototype,"handleInteractionEnd",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleInteractionEnd"),r.prototype),v(r.prototype,"handleKeyDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleKeyDown"),r.prototype),v(r.prototype,"handleKeyUp",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleKeyUp"),r.prototype),v(r.prototype,"handleMouseDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseDown"),r.prototype),v(r.prototype,"handleMouseUp",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseUp"),r.prototype),v(r.prototype,"handleTouchStart",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchStart"),r.prototype),v(r.prototype,"handleTouchEnd",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchEnd"),r.prototype),r);t.default=g,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.getPercentageFromPosition=o,t.getValueFromPosition=function(e,t,n,r){var a=o(e,r);return t+(n-t)*a},t.getValueFromProps=function(e,t){if(t)return r({},e.value);return{min:e.minValue,max:e.value}},t.getPercentageFromValue=i,t.getPercentagesFromValues=function(e,t,n){return{min:i(e.min,t,n),max:i(e.max,t,n)}},t.getPositionFromValue=s,t.getPositionsFromValues=function(e,t,n,r){return{min:s(e.min,t,n,r),max:s(e.max,t,n,r)}},t.getPositionFromEvent=function(e,t){var n=t.width,r=(e.touches?e.touches[0]:e).clientX;return{x:(0,a.clamp)(r-t.left,0,n),y:0}},t.getStepValueFromValue=function(e,t){return Math.round(e/t)*t};var a=n(51);function o(e,t){var n=t.width;return e.x/n||0}function i(e,t,n){return((0,a.clamp)(e,t,n)-t)/(n-t)||0}function s(e,t,n,r){var a=r.width;return{x:i(e,t,n)*a,y:0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return Math.min(Math.max(e,t),n)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=Math.pow(t.x-e.x,2),r=Math.pow(t.y-e.y,2);return Math.sqrt(n+r)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return null!=e},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"number"==typeof e},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="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};t.default=function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return Math.abs(e-t)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={activeTrack:"input-range__track input-range__track--active",disabledInputRange:"input-range input-range--disabled",inputRange:"input-range",labelContainer:"input-range__label-container",maxLabel:"input-range__label input-range__label--max",minLabel:"input-range__label input-range__label--min",slider:"input-range__slider",sliderContainer:"input-range__slider-container",track:"input-range__track input-range__track--background",valueLabel:"input-range__label input-range__label--value"},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.maxValue,n=e.minValue;if(!(0,r.isNumber)(n)||!(0,r.isNumber)(t))return new Error('"minValue" and "maxValue" must be a number');if(n>=t)return new Error('"minValue" must be smaller than "maxValue"')};var r=n(51);e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=e.maxValue,a=e.minValue,o=e[t];if(!((0,r.isNumber)(o)||(0,r.isObject)(o)&&(0,r.isNumber)(o.min)&&(0,r.isNumber)(o.max)))return new Error('"'+t+'" must be a number or a range object');if((0,r.isNumber)(o)&&(o<a||o>n))return new Error('"'+t+'" must be in between "minValue" and "maxValue"');if((0,r.isObject)(o)&&(o.min<a||o.min>n||o.max<a||o.max>n))return new Error('"'+t+'" must be in between "minValue" and "maxValue"')};var r=n(51);e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=u(n(0)),i=u(n(10)),s=u(n(62)),l=u(n(77));function u(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n,r,a){var o={};return Object.keys(r).forEach((function(e){o[e]=r[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var d=(c((r=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.node=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"propTypes",get:function(){return{ariaLabelledby:i.default.string,ariaControls:i.default.string,classNames:i.default.objectOf(i.default.string).isRequired,formatLabel:i.default.func,maxValue:i.default.number,minValue:i.default.number,onSliderDrag:i.default.func.isRequired,onSliderKeyDown:i.default.func.isRequired,percentage:i.default.number.isRequired,type:i.default.string.isRequired,value:i.default.number.isRequired}}}]),a(t,[{key:"componentWillUnmount",value:function(){this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener(),this.removeDocumentTouchEndListener(),this.removeDocumentTouchMoveListener()}},{key:"getStyle",value:function(){return{position:"absolute",left:100*(this.props.percentage||0)+"%"}}},{key:"addDocumentMouseMoveListener",value:function(){this.removeDocumentMouseMoveListener(),this.node.ownerDocument.addEventListener("mousemove",this.handleMouseMove)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"addDocumentTouchMoveListener",value:function(){this.removeDocumentTouchMoveListener(),this.node.ownerDocument.addEventListener("touchmove",this.handleTouchMove)}},{key:"addDocumentTouchEndListener",value:function(){this.removeDocumentTouchEndListener(),this.node.ownerDocument.addEventListener("touchend",this.handleTouchEnd)}},{key:"removeDocumentMouseMoveListener",value:function(){this.node.ownerDocument.removeEventListener("mousemove",this.handleMouseMove)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentTouchMoveListener",value:function(){this.node.ownerDocument.removeEventListener("touchmove",this.handleTouchMove)}},{key:"removeDocumentTouchEndListener",value:function(){this.node.ownerDocument.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleMouseDown",value:function(){this.addDocumentMouseMoveListener(),this.addDocumentMouseUpListener()}},{key:"handleMouseUp",value:function(){this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener()}},{key:"handleMouseMove",value:function(e){this.props.onSliderDrag(e,this.props.type)}},{key:"handleTouchStart",value:function(){this.addDocumentTouchEndListener(),this.addDocumentTouchMoveListener()}},{key:"handleTouchMove",value:function(e){this.props.onSliderDrag(e,this.props.type)}},{key:"handleTouchEnd",value:function(){this.removeDocumentTouchMoveListener(),this.removeDocumentTouchEndListener()}},{key:"handleKeyDown",value:function(e){this.props.onSliderKeyDown(e,this.props.type)}},{key:"render",value:function(){var e=this,t=this.getStyle();return o.default.createElement("span",{className:this.props.classNames.sliderContainer,ref:function(t){e.node=t},style:t},o.default.createElement(l.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"value"},this.props.value),o.default.createElement("div",{"aria-labelledby":this.props.ariaLabelledby,"aria-controls":this.props.ariaControls,"aria-valuemax":this.props.maxValue,"aria-valuemin":this.props.minValue,"aria-valuenow":this.props.value,className:this.props.classNames.slider,draggable:"false",onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,role:"slider",tabIndex:"0"}))}}]),t}(o.default.Component)).prototype,"handleMouseDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseDown"),r.prototype),c(r.prototype,"handleMouseUp",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseUp"),r.prototype),c(r.prototype,"handleMouseMove",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseMove"),r.prototype),c(r.prototype,"handleTouchStart",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchStart"),r.prototype),c(r.prototype,"handleTouchMove",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchMove"),r.prototype),c(r.prototype,"handleTouchEnd",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchEnd"),r.prototype),c(r.prototype,"handleKeyDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleKeyDown"),r.prototype),r);t.default=d,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=l(n(0)),i=l(n(10)),s=l(n(62));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t,n,r,a){var o={};return Object.keys(r).forEach((function(e){o[e]=r[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var c=(u((r=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.node=null,n.trackDragEvent=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,null,[{key:"propTypes",get:function(){return{children:i.default.node.isRequired,classNames:i.default.objectOf(i.default.string).isRequired,draggableTrack:i.default.bool,onTrackDrag:i.default.func,onTrackMouseDown:i.default.func.isRequired,percentages:i.default.objectOf(i.default.number).isRequired}}}]),a(t,[{key:"getClientRect",value:function(){return this.node.getBoundingClientRect()}},{key:"getActiveTrackStyle",value:function(){var e=100*(this.props.percentages.max-this.props.percentages.min)+"%";return{left:100*this.props.percentages.min+"%",width:e}}},{key:"addDocumentMouseMoveListener",value:function(){this.removeDocumentMouseMoveListener(),this.node.ownerDocument.addEventListener("mousemove",this.handleMouseMove)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentMouseMoveListener",value:function(){this.node.ownerDocument.removeEventListener("mousemove",this.handleMouseMove)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"handleMouseMove",value:function(e){this.props.draggableTrack&&(null!==this.trackDragEvent&&this.props.onTrackDrag(e,this.trackDragEvent),this.trackDragEvent=e)}},{key:"handleMouseUp",value:function(){this.props.draggableTrack&&(this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener(),this.trackDragEvent=null)}},{key:"handleMouseDown",value:function(e){var t={x:(e.touches?e.touches[0].clientX:e.clientX)-this.getClientRect().left,y:0};this.props.onTrackMouseDown(e,t),this.props.draggableTrack&&(this.addDocumentMouseMoveListener(),this.addDocumentMouseUpListener())}},{key:"handleTouchStart",value:function(e){e.preventDefault(),this.handleMouseDown(e)}},{key:"render",value:function(){var e=this,t=this.getActiveTrackStyle();return o.default.createElement("div",{className:this.props.classNames.track,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,ref:function(t){e.node=t}},o.default.createElement("div",{style:t,className:this.props.classNames.activeTrack}),this.props.children)}}]),t}(o.default.Component)).prototype,"handleMouseMove",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseMove"),r.prototype),u(r.prototype,"handleMouseUp",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseUp"),r.prototype),u(r.prototype,"handleMouseDown",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleMouseDown"),r.prototype),u(r.prototype,"handleTouchStart",[s.default],Object.getOwnPropertyDescriptor(r.prototype,"handleTouchStart"),r.prototype),r);t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.DOWN_ARROW=40,t.LEFT_ARROW=37,t.RIGHT_ARROW=39,t.UP_ARROW=38},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=n(3),i=n(2),s=p(n(30)),l=f(n(8)),u=f(n(1)),c=f(n(7)),d=n(4);function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var m=function(t){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.state={value:""},t.id=(0,d.generateGuid)(),t.timer=null,t.handleClick=t.handleClick.bind(t),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1),this.props.genres||this.props.spotifyActions.getGenres()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"handleClick",value:function(t){e(t.target).closest(".add-seed-field").length<=0&&this.props.spotifyActions.clearAutocompleteResults(this.id)}},{key:"handleChange",value:function(e,t){var n=this;this.setState({value:t}),clearTimeout(this.timer),this.timer=setTimeout((function(){n.setState({searching:!0}),n.props.spotifyActions.getAutocompleteResults(n.id,t,["artist","track","genre"])}),500)}},{key:"handleSelect",value:function(e,t){this.setState({value:""}),this.props.onSelect(e,t.uri),this.props.spotifyActions.clearAutocompleteResults(this.id)}},{key:"results",value:function(){return void 0===this.props.results?null:void 0===this.props.results[this.id]?null:this.props.results[this.id]}},{key:"renderResults",value:function(e){var t=this,n=this.results();if(!n||void 0===n[e]||n[e].length<=0)return null;var r=n[e].slice(0,3);return a.default.createElement("div",{className:"type"},a.default.createElement("h4",{className:"mid_grey-text"},e),r.map((function(n){return a.default.createElement("div",{className:"result",key:n.uri,onClick:function(e){return t.handleSelect(e,n)}},n.name,"tracks"==e?a.default.createElement("span",{className:"mid_grey-text"}," ",a.default.createElement(s.default,{items:n.artists,nolinks:!0})):null)})))}},{key:"render",value:function(){var e=this,t="field autocomplete-field add-seed-field";return this.results()&&this.results().loading&&(t+=" loading"),a.default.createElement("div",{className:t},a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",value:this.state.value,onChange:function(t){return e.handleChange(t,t.target.value)},placeholder:this.props.placeholder?this.props.placeholder:"Start typing..."})),a.default.createElement("div",{className:"results"},this.renderResults("artists"),this.renderResults("tracks"),this.renderResults("genres")))}}]),n}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{genres:e.spotify.genres?e.spotify.genres:null,results:e.spotify.autocomplete_results?e.spotify.autocomplete_results:{}}}),(function(e){return{coreActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e),spotifyActions:(0,i.bindActionCreators)(c,e)}}))(m)}).call(this,n(22))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=_(n(0)),o=n(3),i=n(2),s=_(n(44)),l=_(n(16)),u=_(n(5)),c=(_(n(35)),_(n(18))),d=h(n(1)),f=h(n(6)),p=h(n(7)),m=n(4);function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}var y=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Featured playlists"),this.props.featured_playlists||this.props.spotifyActions.getFeaturedPlaylists()}},{key:"playPlaylist",value:function(e,t){this.props.mopidyActions.playPlaylist(t.uri)}},{key:"handleContextMenu",value:function(e,t){e.preventDefault();var n={e:e,context:"playlist",uris:[t.uri],items:[t]};this.props.uiActions.showContextMenu(n)}},{key:"render",value:function(){var e=this;if((0,m.isLoading)(this.props.load_queue,["spotify_browse/featured-playlists"]))return a.default.createElement("div",{className:"view discover-featured-view preserve-3d"},a.default.createElement(l.default,{className:"overlay",uiActions:this.props.uiActions},a.default.createElement(u.default,{name:"star",type:"material"}),"Featured playlists"),a.default.createElement(c.default,{body:!0,loading:!0}));var t=[];if(this.props.featured_playlists)for(var n=0;n<this.props.featured_playlists.playlists.length;n++){var r=this.props.featured_playlists.playlists[n];this.props.playlists.hasOwnProperty(r)&&t.push(this.props.playlists[r])}var o=a.default.createElement("a",{className:"button button--no-hover",onClick:function(t){e.props.uiActions.hideContextMenu(),e.props.spotifyActions.getFeaturedPlaylists()}},a.default.createElement(u.default,{name:"refresh"}),"Refresh");return a.default.createElement("div",{className:"view discover-featured-view preserve-3d"},a.default.createElement(l.default,{options:o},a.default.createElement(u.default,{name:"star",type:"material"}),"Featured playlists"),a.default.createElement("section",{className:"content-wrapper grid-wrapper"},t?a.default.createElement(s.default,{playlists:t}):null))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{theme:e.ui.theme,load_queue:e.ui.load_queue,featured_playlists:e.spotify.featured_playlists,playlists:e.core.playlists}}),(function(e){return{uiActions:(0,i.bindActionCreators)(d,e),mopidyActions:(0,i.bindActionCreators)(f,e),spotifyActions:(0,i.bindActionCreators)(p,e)}}))(y)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=h(n(0)),o=n(3),i=n(2),s=h(n(16)),l=h(n(5)),u=h(n(198)),c=h(n(18)),d=m(n(1)),f=m(n(7)),p=n(4);function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}var _=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){(!this.props.categories||Object.keys(this.props.categories).length<=1)&&this.props.spotifyActions.getCategories(),this.props.uiActions.setWindowTitle("Genre / Mood")}},{key:"render",value:function(){if((0,p.isLoading)(this.props.load_queue,["spotify_browse/categories"]))return a.default.createElement("div",{className:"view discover-categories-view"},a.default.createElement(s.default,{icon:"grid",title:"Genre / Mood"}),a.default.createElement(c.default,{body:!0,loading:!0}));var e=[];if(this.props.categories)for(var t in this.props.categories)this.props.categories.hasOwnProperty(t)&&e.push(this.props.categories[t]);return a.default.createElement("div",{className:"view discover-categories-view"},a.default.createElement(s.default,{uiActions:this.props.uiActions},a.default.createElement(l.default,{name:"mood",type:"material"}),"Genre / Mood"),a.default.createElement("section",{className:"content-wrapper grid-wrapper"},a.default.createElement(u.default,{categories:e})))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{categories:e.spotify.categories,load_queue:e.ui.load_queue}}),(function(e){return{uiActions:(0,i.bindActionCreators)(d,e),spotifyActions:(0,i.bindActionCreators)(f,e)}}))(_)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(40));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=e.categories,n=e.className,r=e.mini;return t?a.default.createElement("div",{className:"grid grid--tiles "+n+" "+(r?"grid--mini":"")},t.map((function(e){return a.default.createElement(o.default,{key:e.id,type:"category",item:e,link:"/discover/categories/"+encodeURIComponent(e.id)})}))):null}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=y(n(0)),o=n(3),i=n(2),s=y(n(16)),l=y(n(5)),u=y(n(44)),c=y(n(23)),d=y(n(18)),f=_(n(1)),p=_(n(7)),m=n(4),h=n(12);function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function y(e){return e&&e.__esModule?e:{default:e}}function v(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var g=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=v(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.match.params.id,n=e.category,a=r.props,o=a.match.params.id,i=a.category;t!==o&&r.loadCategory(),!n&&i&&r.setWindowTitle(i)},v(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.loadCategory(),this.setWindowTitle()}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.category;e?this.props.uiActions.setWindowTitle(e.name):this.props.uiActions.setWindowTitle("Genre / Mood")}},{key:"loadCategory",value:function(){this.props.category||this.props.spotifyActions.getCategory(this.props.match.params.id),this.props.category.playlists_uris||this.props.spotifyActions.getCategoryPlaylists(this.props.match.params.id)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.category.playlists_more,null,{type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED_MORE",uri:"category:"+this.props.match.params.id})}},{key:"render",value:function(){var e=this;if((0,m.isLoading)(this.props.load_queue,["spotify_browse/categories/"]))return a.default.createElement("div",{className:"view discover-categories-view"},a.default.createElement(s.default,null,a.default.createElement(l.default,{name:"mood",type:"material"}),this.props.category?this.props.category.name:"Category"),a.default.createElement(d.default,{body:!0,loading:!0}));if(!this.props.category)return null;var t=(0,h.collate)(this.props.category,{playlists:this.props.playlists});return a.default.createElement("div",{className:"view discover-categories-view"},a.default.createElement(s.default,{uiActions:this.props.uiActions},a.default.createElement(l.default,{name:"mood",type:"material"}),t.name),a.default.createElement("div",{className:"content-wrapper"},a.default.createElement("section",{className:"grid-wrapper"},a.default.createElement(u.default,{playlists:t.playlists})),a.default.createElement(c.default,{loadKey:t.playlists_more,showLoader:t.playlists_more,loadMore:function(){return e.loadMore()}})))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{load_queue:e.ui.load_queue,playlists:e.core.playlists,category:!(!e.spotify.categories||void 0===e.spotify.categories["category:"+t.match.params.id])&&e.spotify.categories["category:"+t.match.params.id]}}),(function(e){return{uiActions:(0,i.bindActionCreators)(f,e),spotifyActions:(0,i.bindActionCreators)(p,e)}}))(g)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=v(n(0)),o=n(3),i=n(2),s=v(n(16)),l=v(n(5)),u=v(n(43)),c=v(n(35)),d=v(n(23)),f=v(n(18)),p=y(n(1)),m=y(n(6)),h=y(n(7)),_=n(4);n(12);function y(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function v(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var b=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var o=arguments.length,i=Array(o),s=0;s<o;s++)i[s]=arguments[s];return n=r=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.renderIntro=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.images,n=(t=void 0===t?{}:t).large;return a.default.createElement("div",{className:"intro preserve-3d"},a.default.createElement(c.default,{image:n,blur:!0}))},g(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("New releases"),this.props.new_releases||this.props.spotifyActions.getNewReleases()}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.new_releases_more,null,{type:"SPOTIFY_NEW_RELEASES_LOADED"})}},{key:"playAlbum",value:function(e,t){this.props.mopidyActions.playURIs([t.uri],t.uri)}},{key:"handleContextMenu",value:function(e,t){e.preventDefault();var n={e:e,context:"album",uris:[t.uri],items:[t]};this.props.uiActions.showContextMenu(n)}},{key:"render",value:function(){var e=this;if((0,_.isLoading)(this.props.load_queue,["spotify_browse/new-releases"]))return a.default.createElement("div",{className:"view discover-new-releases-view"},a.default.createElement(s.default,null,a.default.createElement(l.default,{name:"new_releases",type:"material"}),"New releases"),a.default.createElement(f.default,{body:!0,loading:!0}));var t=[];if(this.props.new_releases){var n=!0,r=!1,o=void 0;try{for(var i,c=this.props.new_releases[Symbol.iterator]();!(n=(i=c.next()).done);n=!0){var p=i.value;this.props.albums.hasOwnProperty(p)&&t.push(this.props.albums[p])}}catch(e){r=!0,o=e}finally{try{!n&&c.return&&c.return()}finally{if(r)throw o}}}var m=a.default.createElement("a",{className:"button button--no-hover",onClick:function(t){e.props.uiActions.hideContextMenu(),e.props.spotifyActions.getNewReleases()}},a.default.createElement(l.default,{name:"refresh"}),"Refresh");return a.default.createElement("div",{className:"view discover-new-releases-view preserve-3d"},a.default.createElement(s.default,{options:m,uiActions:this.props.uiActions},a.default.createElement(l.default,{name:"new_releases",type:"material"}),"New releases"),a.default.createElement("section",{className:"content-wrapper grid-wrapper"},a.default.createElement(u.default,{albums:t})),a.default.createElement(d.default,{loadKey:this.props.new_releases_more,showLoader:this.props.new_releases_more,loadMore:function(){return e.loadMore()}}))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{theme:e.ui.theme,load_queue:e.ui.load_queue,artists:e.core.artists,albums:e.core.albums,new_releases:e.spotify.new_releases?e.spotify.new_releases:null,new_releases_more:e.spotify.new_releases_more?e.spotify.new_releases_more:null,new_releases_total:e.spotify.new_releases_total?e.spotify.new_releases_total:null}}),(function(e){return{uiActions:(0,i.bindActionCreators)(p,e),mopidyActions:(0,i.bindActionCreators)(m,e),spotifyActions:(0,i.bindActionCreators)(h,e)}}))(b)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=E(n(0)),o=n(3),i=n(2),s=E(n(16)),l=E(n(60)),u=E(n(52)),c=E(n(33)),d=E(n(63)),f=E(n(23)),p=E(n(5)),m=b(n(1)),h=b(n(6)),_=b(n(7)),y=b(n(57)),v=n(4),g=n(9);function b(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}var k=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.mopidy_connected,r=n.props,a=r.source,o=r.mopidy_connected,i=r.google_enabled,s=r.spotify_enabled,l=r.mopidyActions,u=r.googleActions,c=r.spotifyActions,d=r.mopidy_library_artists,f=r.google_library_artists,p=r.spotify_library_artists_status;!o||"all"!==a&&"local"!==a||(t||l.getLibraryArtists(),"all"===a||"local"===a||d||l.getLibraryArtists()),o&&i&&("all"===a||"google"===a)&&("all"===a||"google"===a||f||u.getLibraryArtists()),!s||"all"!==a&&"spotify"!==a||"finished"!==p&&"started"!==p&&c.getLibraryArtists()},n.state={filter:"",limit:50,per_page:50},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props.location.state?this.props.location.state:{};e.limit&&this.setState({limit:e.limit}),this.props.uiActions.setWindowTitle("Artists"),this.props.mopidy_library_artists||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryArtists(),!this.props.google_enabled||this.props.google_library_artists||!this.props.mopidy_connected||"all"!=this.props.source&&"google"!=this.props.source||this.props.googleActions.getLibraryArtists(),!this.props.spotify_enabled||"finished"==this.props.spotify_library_artists_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryArtists()}},{key:"handleContextMenu",value:function(e,t){var n={e:e,context:"artist",uris:[t.uri],items:[t]};this.props.uiActions.showContextMenu(n)}},{key:"loadMore",value:function(){var e=this.state.limit+this.state.per_page;this.setState({limit:e});var t=this.props.location&&this.props.location.state?this.props.location.state:{};t.limit=e,this.props.history.replace({state:t})}},{key:"setSort",value:function(e){var t=!1;this.props.sort==e&&(t=!this.props.sort_reverse);var n={library_artists_sort_reverse:t,library_artists_sort:e};this.props.uiActions.set(n)}},{key:"renderView",value:function(){var e=this,t=[];if(this.props.mopidy_library_artists&&("all"==this.props.source||"local"==this.props.source)){var n=!0,r=!1,o=void 0;try{for(var i,s=this.props.mopidy_library_artists[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var c={uri:b=i.value,source:(0,v.uriSource)(b)};this.props.artists.hasOwnProperty(b)&&(c=this.props.artists[b]),t.push(c)}}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}}if(this.props.google_library_artists&&("all"==this.props.source||"google"==this.props.source)){var d=!0,p=!1,m=void 0;try{for(var h,_=this.props.google_library_artists[Symbol.iterator]();!(d=(h=_.next()).done);d=!0){c={uri:b=h.value,source:(0,v.uriSource)(b)};this.props.artists.hasOwnProperty(b)&&(c=this.props.artists[b]),t.push(c)}}catch(e){p=!0,m=e}finally{try{!d&&_.return&&_.return()}finally{if(p)throw m}}}if(this.props.spotify_library_artists&&("all"==this.props.source||"spotify"==this.props.source))for(var y=0;y<this.props.spotify_library_artists.length;y++){var b=this.props.spotify_library_artists[y];this.props.artists.hasOwnProperty(b)&&t.push(this.props.artists[b])}this.props.sort&&(t=(0,g.sortItems)(t,this.props.sort,this.props.sort_reverse)),""!==this.state.filter&&(t=(0,g.applyFilter)("name",this.state.filter,t));var E=t.length;return t=t.slice(0,this.state.limit),"list"==this.props.view?a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(u.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},rows:t,thumbnail:!0,details:["followers"],middle_column:["source"],className:"artists",link_prefix:"/artist/"}),a.default.createElement(f.default,{loadKey:E>this.state.limit?this.state.limit:E,showLoader:this.state.limit<E,loadMore:function(){return e.loadMore()}})):a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(l.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},artists:t}),a.default.createElement(f.default,{loadKey:E>this.state.limit?this.state.limit:E,showLoader:this.state.limit<E,loadMore:function(){return e.loadMore()}}))}},{key:"render",value:function(){var e=this,t=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&t.push({value:"spotify",label:"Spotify"}),this.props.google_enabled&&t.push({value:"google",label:"Google"});var n=a.default.createElement("span",null,a.default.createElement(d.default,{initialValue:this.state.filter,handleChange:function(t){return e.setState({filter:t,limit:e.state.per_page})},onSubmit:function(t){return e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"swap_vert",name:"Sort",value:this.props.sort,valueAsLabel:!0,options:[{value:null,label:"As loaded"},{value:"name",label:"Name"},{value:"followers",label:"Followers"},{value:"popularity",label:"Popularity"}],selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(t){e.setSort(t),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"visibility",name:"View",value:this.props.view,valueAsLabel:!0,options:[{label:"Thumbnails",value:"thumbnails"},{label:"List",value:"list"}],handleChange:function(t){e.props.uiActions.set({library_artists_view:t}),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"cloud",name:"Source",value:this.props.source,valueAsLabel:!0,options:t,handleChange:function(t){e.props.uiActions.set({library_artists_source:t}),e.props.uiActions.hideContextMenu()}}));return a.default.createElement("div",{className:"view library-artists-view"},a.default.createElement(s.default,{options:n,uiActions:this.props.uiActions},a.default.createElement(p.default,{name:"recent_actors",type:"material"}),"My artists"),this.renderView())}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,mopidy_uri_schemes:e.mopidy.uri_schemes,mopidy_library_artists:e.mopidy.library_artists,google_enabled:e.google.enabled,google_library_artists:e.google.library_artists,spotify_enabled:e.spotify.enabled,spotify_library_artists:e.spotify.library_artists,spotify_library_artists_status:void 0!==e.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR?e.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status:null,artists:e.core.artists,source:e.ui.library_artists_source?e.ui.library_artists_source:"all",sort:e.ui.library_artists_sort?e.ui.library_artists_sort:null,sort_reverse:!!e.ui.library_artists_sort_reverse&&e.ui.library_artists_sort_reverse,view:e.ui.library_artists_view}}),(function(e){return{uiActions:(0,i.bindActionCreators)(m,e),mopidyActions:(0,i.bindActionCreators)(h,e),spotifyActions:(0,i.bindActionCreators)(_,e),googleActions:(0,i.bindActionCreators)(y,e)}}))(k)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=p(n(30)),i=p(n(37)),s=p(n(21)),l=p(n(34)),u=p(n(5)),c=p(n(19)),d=p(n(203)),f=n(4);function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.item,n=e.lastfmActions,r=e.discogsActions;if(t&&!t.images)switch((0,f.uriType)(t.uri)){case"artist":r&&r.getArtistImages(t.uri,t);break;case"album":n&&t.artists&&t.artists.length>0&&n.getAlbum(t.uri,t.artists[0].name,t.name,t.mbid?t.mbid:null)}}},{key:"handleClick",value:function(e){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),this.props.history.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(this.props.item.uri)),(0,f.scrollTo)())}},{key:"handleMouseDown",value:function(e){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),this.props.history.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(this.props.item.uri)),(0,f.scrollTo)())}},{key:"handleContextMenu",value:function(e){this.props.handleContextMenu&&(e.preventDefault(),this.props.handleContextMenu(e,this.props.item))}},{key:"renderValue",value:function(e){for(var t=e.split("."),n=Object.assign(this.props.item),r=0;r<t.length;r++){if(void 0===n[t[r]])return null;if("string"==typeof n[t[r]]&&""==n[t[r]].replace(" ",""))return null;n=n[t[r]]}return"tracks_total"===e||"tracks_uris.length"===e?a.default.createElement("span",null,n," ","tracks"):"followers"===e?a.default.createElement("span",null,n.toLocaleString()," ","followers"):"added_at"===e?a.default.createElement("span",null,"Added"," ",a.default.createElement(i.default,{type:"ago",data:n})," ","ago"):"last_modified"===e?a.default.createElement("span",null,"Updated"," ",a.default.createElement(i.default,{type:"ago",data:n})," ","ago"):"owner"===e?a.default.createElement(s.default,{type:"user",uri:n.uri},n.id):"popularity"===e?a.default.createElement(d.default,{full:!0,popularity:n}):"artists"===e?a.default.createElement(o.default,{items:n}):!0===n?a.default.createElement(u.default,{name:"check"}):"number"==typeof n?a.default.createElement("span",null,n.toLocaleString()):a.default.createElement("span",null,n)}},{key:"render",value:function(){var e=this,t=this.props.item;if(!t)return null;var n="list__item";return t.type&&(n+=" list__item--"+t.type),this.props.middle_column&&(n+=" list__item--has-middle-column"),this.props.thumbnail&&(n+=" list__item--has-thumbnail"),this.props.details&&(n+=" list__item--has-details"),a.default.createElement("div",{className:n,onClick:function(t){return e.handleClick(t)},onContextMenu:function(t){return e.handleContextMenu(t)}},this.props.right_column&&!this.props.nocontext&&a.default.createElement("div",{className:"list__item__column list__item__column--right"},this.props.right_column?this.props.right_column.map((function(n,r){return a.default.createElement("span",{className:"list__item__column__item list__item__column__item--"+n.replace(".","_"),key:r},e.renderValue(n,t))})):null,this.props.nocontext?null:a.default.createElement(l.default,{className:"list__item__column__item list__item__column__item--context-menu-trigger subtle",onTrigger:function(t){return e.handleContextMenu(t)}})),a.default.createElement("div",{className:"list__item__column list__item__column--name"},this.props.thumbnail?a.default.createElement(c.default,{className:"list__item__column__item list__item__column__item--thumbnail",images:t.images?t.images:null,size:"small"}):null,a.default.createElement("div",{className:"list__item__column__item list__item__column__item--name"},void 0!==t.name?this.renderValue("name"):a.default.createElement("span",{className:"grey-text"},t.uri)),this.props.details?a.default.createElement("ul",{className:"list__item__column__item list__item__column__item--details details"},this.props.details.map((function(t,n){var r=e.renderValue(t);return r?a.default.createElement("li",{className:"details__item details__item--"+t.replace(".","_"),key:n},r):null}))):null),this.props.middle_column?a.default.createElement("div",{className:"list__item__column list__item__column--middle"},this.props.middle_column?this.props.middle_column.map((function(t,n){return a.default.createElement("span",{className:"list__item__column__item list__item__column__item--"+t.replace(".","_"),key:n},e.renderValue(t))})):null):null)}}]),t}(a.default.Component);t.default=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(0),o=(r=a)&&r.__esModule?r:{default:r};t.default=(0,a.memo)((function(e){return void 0===e.popularity||null===e.popularity?null:o.default.createElement("span",{className:"popularity"},o.default.createElement("span",{className:"popularity-bars"},o.default.createElement("span",{className:"bar"+(e.popularity>10?" filled":"")}),o.default.createElement("span",{className:"bar"+(e.popularity>30?" filled":"")}),o.default.createElement("span",{className:"bar"+(e.popularity>50?" filled":"")}),o.default.createElement("span",{className:"bar"+(e.popularity>70?" filled":"")}),o.default.createElement("span",{className:"bar"+(e.popularity>90?" filled":"")})),o.default.createElement("span",{className:"popularity-value"},e.popularity,"% popularity"))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=w(n(0)),o=n(3),i=n(2),s=w(n(43)),l=w(n(52)),u=w(n(16)),c=w(n(33)),d=w(n(63)),f=w(n(23)),p=w(n(5)),m=k(n(8)),h=k(n(1)),_=k(n(6)),y=k(n(57)),v=k(n(7)),g=n(4),b=n(9),E=n(12);function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function w(e){return e&&e.__esModule?e:{default:e}}var S=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.mopidy_connected,r=n.props,a=r.mopidy_connected,o=r.google_enabled,i=r.spotify_enabled,s=r.source,l=r.mopidyActions,u=r.googleActions,c=r.spotifyActions,d=r.mopidy_library_albums_status,f=r.google_library_albums_status,p=r.spotify_library_albums_status;!a||"all"!=s&&"local"!=s||(t||l.getLibraryAlbums(),"all"!==s&&"local"!==s&&"finished"!==d&&"started"!==d&&l.getLibraryAlbums()),!o||"all"!=s&&"google"!=s||"all"!==s&&"google"!==s&&"finished"!==f&&"started"!==f&&u.getLibraryAlbums(),!i||"all"!==s&&"spotify"!==s||"finished"!==p&&"started"!==p&&c.getLibraryAlbums()},n.state={filter:"",limit:50,per_page:50},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props.location.state?this.props.location.state:{};e.limit&&this.setState({limit:e.limit}),this.props.uiActions.setWindowTitle("Albums"),!this.props.mopidy_connected||"finished"==this.props.mopidy_library_albums_status||"started"==this.props.mopidy_library_albums_status||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryAlbums(),!this.props.google_enabled||"finished"==this.props.google_library_albums_status||"started"==this.props.google_library_albums_status||"all"!=this.props.source&&"google"!=this.props.source||this.props.googleActions.getLibraryAlbums(),!this.props.spotify_enabled||"finished"==this.props.spotify_library_albums_status||"started"==this.props.spotify_library_albums_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryAlbums()}},{key:"handleContextMenu",value:function(e,t){var n={e:e,context:"album",uris:[t.uri],items:[t]};this.props.uiActions.showContextMenu(n)}},{key:"moreURIsToLoad",value:function(){var e=[];if(this.props.albums&&this.props.library_albums)for(var t=0;t<this.props.library_albums.length;t++){var n=this.props.library_albums[t];if(this.props.albums.hasOwnProperty(n)||"local"!=(0,g.uriSource)(n)||e.push(n),e.length>=50)break}return e}},{key:"loadMore",value:function(){var e=this.state.limit+this.state.per_page;this.setState({limit:e});var t=this.props.location&&this.props.location.state?this.props.location.state:{};t.limit=e,this.props.history.replace({state:t})}},{key:"setSort",value:function(e){var t=!1;this.props.sort==e&&(t=!this.props.sort_reverse);var n={library_albums_sort_reverse:t,library_albums_sort:e};this.props.uiActions.set(n)}},{key:"renderView",value:function(){var e=this,t=[];if(this.props.spotify_library_albums&&("all"==this.props.source||"spotify"==this.props.source)){var n=!0,r=!1,o=void 0;try{for(var i,u=this.props.spotify_library_albums[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var c=i.value;this.props.albums.hasOwnProperty(c)&&t.push(this.props.albums[c])}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}}if(this.props.mopidy_library_albums&&("all"==this.props.source||"local"==this.props.source)){var d=!0,p=!1,m=void 0;try{for(var h,_=this.props.mopidy_library_albums[Symbol.iterator]();!(d=(h=_.next()).done);d=!0){var y={uri:c=h.value,source:(0,g.uriSource)(c)};this.props.albums.hasOwnProperty(c)&&t.push(this.props.albums[c])}}catch(e){p=!0,m=e}finally{try{!d&&_.return&&_.return()}finally{if(p)throw m}}}if(this.props.google_library_albums&&("all"==this.props.source||"google"==this.props.source)){var v=!0,k=!1,w=void 0;try{for(var S,O=this.props.google_library_albums[Symbol.iterator]();!(v=(S=O.next()).done);v=!0){y={uri:c=S.value,source:(0,g.uriSource)(c)};this.props.albums.hasOwnProperty(c)&&(y=this.props.albums[c]),t.push(y)}}catch(e){k=!0,w=e}finally{try{!v&&O.return&&O.return()}finally{if(k)throw w}}}for(var T=0;T<t.length;T++)t[T]=(0,E.collate)(t[T],{artists:this.props.artists});this.props.sort&&(t=(0,b.sortItems)(t,this.props.sort,this.props.sort_reverse)),this.state.filter&&""!==this.state.filter&&(t=(0,b.applyFilter)("name",this.state.filter,t));var A=t.length;return t=t.slice(0,this.state.limit),"list"==this.props.view?a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(l.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},rows:t,thumbnail:!0,details:["artists","tracks_uris.length","last_modified"],right_column:["added_at"],className:"albums",link_prefix:"/album/"}),a.default.createElement(f.default,{loadKey:A>this.state.limit?this.state.limit:A,showLoader:this.state.limit<A,loadMore:function(){return e.loadMore()}})):a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(s.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},albums:t}),a.default.createElement(f.default,{loadKey:A>this.state.limit?this.state.limit:A,showLoader:this.state.limit<A,loadMore:function(){return e.loadMore()}}))}},{key:"render",value:function(){var e=this,t=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&t.push({value:"spotify",label:"Spotify"}),this.props.google_enabled&&t.push({value:"google",label:"Google"});var n=a.default.createElement("div",{className:"header__options__wrapper"},a.default.createElement(d.default,{initialValue:this.state.filter,handleChange:function(t){return e.setState({filter:t,limit:e.state.per_page})},onSubmit:function(t){return e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"swap_vert",name:"Sort",value:this.props.sort,valueAsLabel:!0,options:[{value:null,label:"As loaded"},{value:"name",label:"Name"},{value:"artists.first.name",label:"Artist"},{value:"last_modified",label:"Updated"},{value:"tracks_uris.length",label:"Tracks"},{value:"uri",label:"Source"}],selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(t){e.setSort(t),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"visibility",name:"View",value:this.props.view,valueAsLabel:!0,options:[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],handleChange:function(t){e.props.uiActions.set({library_albums_view:t}),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"cloud",name:"Source",value:this.props.source,valueAsLabel:!0,options:t,handleChange:function(t){e.props.uiActions.set({library_albums_source:t}),e.props.uiActions.hideContextMenu()}}));return a.default.createElement("div",{className:"view library-albums-view"},a.default.createElement(u.default,{options:n,uiActions:this.props.uiActions},a.default.createElement(p.default,{name:"album",type:"material"}),"My albums"),this.renderView())}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,mopidy_uri_schemes:e.mopidy.uri_schemes,load_queue:e.ui.load_queue,artists:e.core.artists,albums:e.core.albums,mopidy_library_albums:e.mopidy.library_albums,mopidy_library_albums_status:void 0!==e.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR?e.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status:null,google_enabled:e.google.enabled,google_library_albums:e.google.library_albums,google_library_albums_status:void 0!==e.ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR?e.ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR.status:null,spotify_enabled:e.spotify.enabled,spotify_library_albums:e.spotify.library_albums,spotify_library_albums_status:void 0!==e.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR?e.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status:null,view:e.ui.library_albums_view,source:e.ui.library_albums_source?e.ui.library_albums_source:"all",sort:e.ui.library_albums_sort?e.ui.library_albums_sort:null,sort_reverse:!!e.ui.library_albums_sort_reverse&&e.ui.library_albums_sort_reverse}}),(function(e){return{coreActions:(0,i.bindActionCreators)(m,e),uiActions:(0,i.bindActionCreators)(h,e),mopidyActions:(0,i.bindActionCreators)(_,e),googleActions:(0,i.bindActionCreators)(y,e),spotifyActions:(0,i.bindActionCreators)(v,e)}}))(S)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=y(n(0)),o=n(3),i=n(2),s=y(n(18)),l=y(n(31)),u=y(n(16)),c=y(n(23)),d=y(n(5)),f=_(n(1)),p=_(n(6)),m=_(n(7)),h=n(4);function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function y(e){return e&&e.__esModule?e:{default:e}}var v=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Tracks"),this.props.spotify_me?void 0===this.props.library_tracks&&this.props.spotifyActions.getLibraryTracks():this.props.uiActions.createNotification({level:"warning",content:"Enable Spotify to browse tracks"})}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.library_tracks_more,null,{type:"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE"})}},{key:"playAll",value:function(){this.props.spotifyActions.getLibraryTracksAndPlay()}},{key:"render",value:function(){var e=this;if((0,h.isLoading)(this.props.load_queue,["spotify_me/tracks?"]))return a.default.createElement("div",{className:"view library-tracks-view"},a.default.createElement(u.default,{icon:"music",title:"My tracks"}),a.default.createElement(s.default,{body:!0,loading:!0}));var t=[];if(this.props.library_tracks&&this.props.tracks)for(var n=0;n<this.props.library_tracks.length;n++){var r=this.props.library_tracks[n];this.props.tracks.hasOwnProperty(r)&&t.push(this.props.tracks[r])}var o=a.default.createElement("a",{className:"button button--no-hover",onClick:function(t){return e.playAll(t)}},a.default.createElement(d.default,{name:"play_circle_filled"}),"Play all");return a.default.createElement("div",{className:"view library-tracks-view"},a.default.createElement(u.default,{options:o,uiActions:this.props.uiActions},a.default.createElement(d.default,{name:"music_note",type:"material"}),"My tracks"),a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(l.default,{tracks:t}),a.default.createElement(c.default,{loadKey:this.props.library_tracks_more,showLoader:this.props.library_tracks_more,loadMore:function(){return e.loadMore()}})))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{load_queue:e.ui.load_queue,tracks:e.core.tracks,spotify_me:e.spotify.me,library_tracks:e.spotify.library_tracks,library_tracks_more:e.spotify.library_tracks_more}}),(function(e){return{uiActions:(0,i.bindActionCreators)(f,e),mopidyActions:(0,i.bindActionCreators)(p,e),spotifyActions:(0,i.bindActionCreators)(m,e)}}))(v)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=E(n(0)),o=n(3),i=n(2),s=E(n(17)),l=E(n(44)),u=E(n(52)),c=E(n(33)),d=E(n(16)),f=E(n(63)),p=E(n(23)),m=E(n(5)),h=b(n(8)),_=b(n(1)),y=b(n(6)),v=b(n(7)),g=n(9);function b(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}var k=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.mopidy_connected,r=n.props,a=r.source,o=r.mopidy_connected,i=r.mopidy_library_playlists,s=r.spotify_enabled,l=r.spotify_library_playlists_status,u=r.mopidyActions,c=r.spotifyActions;!o||"all"!=a&&"local"!=a||(t||u.getLibraryPlaylists(),"all"===a||"local"===a||i||n.props.mopidyActions.getLibraryPlaylists()),!s||"all"!==a&&"spotify"!==a||"finished"!==l&&"started"!==l&&c.getLibraryPlaylists()},n.state={filter:"",limit:50,per_page:50},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props.location.state?this.props.location.state:{};e.limit&&this.setState({limit:e.limit}),this.props.uiActions.setWindowTitle("Playlists"),this.props.mopidy_library_playlists||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryPlaylists(),!this.props.spotify_enabled||"finished"===this.props.spotify_library_playlists_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryPlaylists()}},{key:"handleContextMenu",value:function(e,t){var n={e:e,context:"playlist",uris:[t.uri],items:[t]};this.props.uiActions.showContextMenu(n)}},{key:"loadMore",value:function(){var e=this.state.limit+this.state.per_page;this.setState({limit:e});var t=this.props.location&&this.props.location.state?this.props.location.state:{};t.limit=e,this.props.history.replace({state:t})}},{key:"setSort",value:function(e){var t=!1;this.props.sort==e&&(t=!this.props.sort_reverse);var n={library_playlists_sort_reverse:t,library_playlists_sort:e};this.props.uiActions.set(n)}},{key:"renderView",value:function(){var e=this,t=[];if(this.props.spotify_library_playlists&&("all"==this.props.source||"spotify"==this.props.source))for(var n=0;n<this.props.spotify_library_playlists.length;n++){var r=this.props.spotify_library_playlists[n];this.props.playlists.hasOwnProperty(r)&&t.push(this.props.playlists[r])}if(this.props.mopidy_library_playlists&&("all"==this.props.source||"local"==this.props.source))for(n=0;n<this.props.mopidy_library_playlists.length;n++){r=this.props.mopidy_library_playlists[n];this.props.playlists.hasOwnProperty(r)&&t.push(this.props.playlists[r])}this.props.sort&&(t=(0,g.sortItems)(t,this.props.sort,this.props.sort_reverse)),t=(0,g.removeDuplicates)(t),""!==this.state.filter&&(t=(0,g.applyFilter)("name",this.state.filter,t));var o=t.length;return t=t.slice(0,this.state.limit),"list"==this.props.view?a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(u.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},rows:t,thumbnail:!0,details:["owner","tracks_total","last_modified"],right_column:["source"],className:"playlists",link_prefix:"/playlist/"}),a.default.createElement(p.default,{loadKey:o>this.state.limit?this.state.limit:o,loading:this.state.limit<o,loadMore:function(){return e.loadMore()}})):a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(l.default,{handleContextMenu:function(t,n){return e.handleContextMenu(t,n)},playlists:t}),a.default.createElement(p.default,{loadKey:o>this.state.limit?this.state.limit:o,loading:this.state.limit<o,loadMore:function(){return e.loadMore()}}))}},{key:"render",value:function(){var e=this,t=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&t.push({value:"spotify",label:"Spotify"});var n=a.default.createElement("span",null,a.default.createElement(f.default,{initialValue:this.state.filter,handleChange:function(t){return e.setState({filter:t})},onSubmit:function(t){return e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"swap_vert",name:"Sort",value:this.props.sort,valueAsLabel:!0,options:[{value:null,label:"As loaded"},{value:"name",label:"Name"},{value:"last_modified",label:"Updated"},{value:"can_edit",label:"Editable"},{value:"owner.id",label:"Owner"},{value:"tracks_total",label:"Tracks"},{value:"source",label:"Source"}],selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(t){e.setSort(t),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"visibility",name:"View",valueAsLabel:!0,value:this.props.view,options:[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],handleChange:function(t){e.props.uiActions.set({library_playlists_view:t}),e.props.uiActions.hideContextMenu()}}),a.default.createElement(c.default,{icon:"cloud",name:"Source",valueAsLabel:!0,value:this.props.source,options:t,handleChange:function(t){e.props.uiActions.set({library_playlists_source:t}),e.props.uiActions.hideContextMenu()}}),a.default.createElement(s.default,{className:"button button--no-hover",to:"/playlist/create"},a.default.createElement(m.default,{name:"add_box"}),"New"));return a.default.createElement("div",{className:"view library-playlists-view"},a.default.createElement(d.default,{options:n,uiActions:this.props.uiActions},a.default.createElement(m.default,{name:"queue_music",type:"material"}),"My playlists"),this.renderView())}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{slim_mode:e.ui.slim_mode,mopidy_connected:e.mopidy.connected,mopidy_uri_schemes:e.mopidy.uri_schemes,mopidy_library_playlists:e.mopidy.library_playlists,mopidy_library_playlists_status:void 0!==e.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR?e.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR.status:null,spotify_enabled:e.mopidy.uri_schemes&&e.mopidy.uri_schemes.includes("spotify:"),spotify_library_playlists:e.spotify.library_playlists,spotify_library_playlists_status:void 0!==e.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR?e.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status:null,load_queue:e.ui.load_queue,me_id:!!e.spotify.me&&e.spotify.me.id,view:e.ui.library_playlists_view,source:e.ui.library_playlists_source?e.ui.library_playlists_source:"all",sort:e.ui.library_playlists_sort?e.ui.library_playlists_sort:null,sort_reverse:!!e.ui.library_playlists_sort_reverse&&e.ui.library_playlists_sort_reverse,playlists:e.core.playlists}}),(function(e){return{coreActions:(0,i.bindActionCreators)(h,e),uiActions:(0,i.bindActionCreators)(_,e),mopidyActions:(0,i.bindActionCreators)(y,e),spotifyActions:(0,i.bindActionCreators)(v,e)}}))(k)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=h(n(0)),o=n(3),i=n(2),s=h(n(16)),l=h(n(40)),u=h(n(5)),c=h(n(58)),d=m(n(1)),f=m(n(6)),p=n(12);function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}function _(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var y=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=_(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidUpdate=function(e){var t=e.mopidy_connected,n=r.props.mopidy_connected;!t&&n&&r.loadDirectory()},_(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.loadDirectory(),this.props.uiActions.setWindowTitle("Browse")}},{key:"loadDirectory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;e.mopidy_connected&&this.props.mopidyActions.getDirectory(null)}},{key:"render",value:function(){var e=this,t=[];if(this.props.directory){var n=!0,r=!1,o=void 0;try{for(var i,d=this.props.directory.subdirectories[Symbol.iterator]();!(n=(i=d.next()).done);n=!0){var f=i.value;switch(f.name){case"Dirble":f.icons=["/iris/assets/backgrounds/browse-dirble.jpg"];break;case"Files":case"Local media":f.icons=["/iris/assets/backgrounds/browse-folders.jpg"];break;case"Spotify":case"Spotify Browse":case"Spotify Web Browse":f.icons=["/iris/assets/backgrounds/browse-spotify.jpg"];break;case"Spotify Tunigo":case"Tunigo":f.icons=["/iris/assets/backgrounds/browse-tunigo.jpg"];break;case"TuneIn":f.icons=["/iris/assets/backgrounds/browse-tunein.jpg"];break;case"SoundCloud":f.icons=["/iris/assets/backgrounds/browse-soundcloud.jpg"];break;case"iTunes Store: Podcasts":f.icons=["/iris/assets/backgrounds/browse-itunes.jpg"];break;case"Soma FM":f.icons=["/iris/assets/backgrounds/browse-somafm.jpg"];break;default:f.icons=["/iris/assets/backgrounds/browse-default.jpg"]}t.push({name:f.name,link:"/library/browse/"+encodeURIComponent(f.uri),icons:(0,p.formatImages)(f.icons)})}}catch(e){r=!0,o=e}finally{try{!n&&d.return&&d.return()}finally{if(r)throw o}}}return a.default.createElement("div",{className:"view library-local-view"},a.default.createElement(s.default,null,a.default.createElement(u.default,{name:"folder",type:"material"}),"Browse"),a.default.createElement("section",{className:"content-wrapper"},a.default.createElement("div",{className:"grid grid--tiles"},a.default.createElement(c.default,null,t.map((function(t,n){return a.default.createElement(l.default,{item:t,key:n,link:t.link,mopidyActions:e.props.mopidyActions,type:"browse"})}))))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{load_queue:e.ui.load_queue,mopidy_connected:e.mopidy.connected,directory:e.mopidy.directory,view:e.ui.library_directory_view}}),(function(e){return{uiActions:(0,i.bindActionCreators)(d,e),mopidyActions:(0,i.bindActionCreators)(f,e)}}))(y)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=w(n(0)),o=n(3),i=n(2),s=w(n(18)),l=w(n(16)),u=w(n(52)),c=w(n(31)),d=w(n(40)),f=w(n(33)),p=w(n(5)),m=w(n(21)),h=w(n(58)),_=w(n(23)),y=k(n(1)),v=k(n(6)),g=k(n(7)),b=n(4),E=n(9);function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function w(e){return e&&e.__esModule?e:{default:e}}var S=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.mopidy_connected,r=e.uri,a=n.props,o=a.uri,i=a.mopidy_connected;!t&&i&&n.loadDirectory(),o&&o!==r&&n.loadDirectory()},n.state={filter:"",limit:50,per_page:50},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props.location.state?this.props.location.state:{};e.limit&&this.setState({limit:e.limit}),this.props.uiActions.setWindowTitle("Browse"),this.loadDirectory()}},{key:"loadDirectory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(e.mopidy_connected){var t=null;void 0!==e.uri&&(t=e.uri),this.props.mopidyActions.getDirectory(t)}}},{key:"loadMore",value:function(){var e=this.state.limit+this.state.per_page;this.setState({limit:e});var t=this.props.location&&this.props.location.state?this.props.location.state:{};t.limit=e,this.props.history.replace({state:t})}},{key:"playAll",value:function(e,t){var n=(0,E.arrayOf)("uri",t);this.props.mopidyActions.playURIs(n,"iris:browse:"+this.props.uri),this.props.uiActions.hideContextMenu()}},{key:"goBack",value:function(e){window.history.back(),this.props.uiActions.hideContextMenu()}},{key:"renderBreadcrumbs",value:function(){if(!this.props.uri)return null;var e=this.props.uri;if(e.startsWith("file://")){var t=e.replace("file:///","").split("/");return a.default.createElement("h4",{className:"breadcrumbs"},t.map((function(e,n){for(var r="file://",o=0;o<=n;o++)r+="/"+t[o];return a.default.createElement("span",{key:r},n>0&&a.default.createElement(p.default,{type:"fontawesome",name:"angle-right"}),a.default.createElement(m.default,{type:"browse",uri:r},decodeURI(e)))})))}return null}},{key:"renderSubdirectories",value:function(e){return"list"===this.props.view?a.default.createElement(u.default,(r=!0,(n="nocontext")in(t={nocontext:!0,rows:e,className:"library-local-directory-list",link_prefix:"/library/browse/"})?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t)):a.default.createElement("div",{className:"grid category-grid"},e.map((function(e){return a.default.createElement(d.default,{key:e.uri,type:"directory",link:"/library/browse/"+encodeURIComponent(e.uri),item:e,nocontext:!0})})));var t,n,r}},{key:"render",value:function(){var e=this,t="Directory",n=this.props.uri.split(":");if(n.length>0&&(t=(t=n[0]).charAt(0).toUpperCase()+t.slice(1)),!this.props.directory||(0,b.isLoading)(this.props.load_queue,["mopidy_browse"]))return a.default.createElement("div",{className:"view library-local-view"},a.default.createElement(l.default,{icon:"music",title:t,uiActions:this.props.uiActions}),a.default.createElement(s.default,{body:!0,loading:!0}));var r=this.props.directory.subdirectories&&this.props.directory.subdirectories.length>0?this.props.directory.subdirectories:null;r=(0,E.sortItems)(r,"name");var o=(u?u.length:0)+(r?r.length:0);r=r.slice(0,this.state.limit);var i=null,u=null,d=this.state.limit-r;d>0&&(i=this.props.directory.tracks&&this.props.directory.tracks.length>0?this.props.directory.tracks:null,u=(i=(0,E.sortItems)(i,"name")).slice(0,d));var m=a.default.createElement("span",null,a.default.createElement(f.default,{icon:"visibility",name:"View",value:this.props.view,valueAsLabel:!0,options:[{label:"Thumbnails",value:"thumbnails"},{label:"List",value:"list"}],handleChange:function(t){e.props.uiActions.set({library_directory_view:t}),e.props.uiActions.hideContextMenu()}}),u&&a.default.createElement("a",{className:"button button--no-hover",onClick:function(t){e.props.uiActions.hideContextMenu(),e.playAll(t,i)}},a.default.createElement(p.default,{name:"play_circle_filled"}),"Play all"),a.default.createElement("a",{className:"button button--no-hover",onClick:function(t){e.props.uiActions.hideContextMenu(),e.goBack(t)}},a.default.createElement(p.default,{name:"keyboard_backspace"}),"Back"));return a.default.createElement("div",{className:"view library-local-view"},a.default.createElement(l.default,{options:m,uiActions:this.props.uiActions},a.default.createElement(p.default,{name:"folder",type:"material"}),t),a.default.createElement("section",{className:"content-wrapper"},a.default.createElement(h.default,null,this.renderBreadcrumbs(),r?this.renderSubdirectories(r):null,u&&a.default.createElement(c.default,{tracks:u,uri:"iris:browse:"+this.props.uri,className:"library-local-track-list"}),a.default.createElement(_.default,{loadKey:o>this.state.limit?this.state.limit:o,showLoader:this.state.limit<o,loadMore:function(){return e.loadMore()}}))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n=(n=(n=(n=(n=(n=(n=n.replace(/\s/g,"%20")).replace(/&/g,"%26")).replace(/\[/g,"%5B")).replace(/\]/g,"%5D")).replace(/\(/g,"%28")).replace(/\)/g,"%29")).replace(/\#/g,"%23"),load_queue:e.ui.load_queue,mopidy_connected:e.mopidy.connected,directory:e.mopidy.directory,view:e.ui.library_directory_view}}),(function(e){return{uiActions:(0,i.bindActionCreators)(y,e),mopidyActions:(0,i.bindActionCreators)(v,e),spotifyActions:(0,i.bindActionCreators)(g,e)}}))(S)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=m(n(0)),o=n(3),i=n(2),s=m(n(29)),l=p(n(8)),u=p(n(1)),c=p(n(6)),d=p(n(7)),f=n(4);function p(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}var h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.mopidy_connected,r=n.props,a=r.uri,o=r.playlist,i=r.mopidy_connected,s=r.mopidyActions.getPlaylist;t||!i||o||s(a)},n.state={loaded:!1,error:null,name:"",description:"",image:null,public:!1,collaborative:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){if(this.props.uiActions.setWindowTitle("Edit playlist"),this.props.playlist)this.setState({loaded:!0,name:this.props.playlist.name,description:this.props.playlist.description,public:1==this.props.playlist.public,collaborative:1==this.props.playlist.collaborative});else switch((0,f.uriSource)(this.props.uri)){case"spotify":this.props.spotifyActions.getPlaylist(this.props.uri),this.props.spotifyActions.following(this.props.uri);break;default:this.props.mopidy_connected&&this.props.mopidyActions.getPlaylist(this.props.uri)}}},{key:"savePlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.savePlaylist(this.props.uri,this.state.name,this.state.description,this.state.public,this.state.collaborative,this.state.image),window.history.back(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"setImage",value:function(e){var t=this,n=new FileReader;n.addEventListener("load",(function(e){var n=e.target.result.replace("data:image/jpeg;base64,","");t.setState({image:n})})),n.readAsDataURL(e.target.files[0])}},{key:"renderFields",value:function(){var e=this;switch((0,f.uriSource)(this.props.uri)){case"spotify":return a.default.createElement("div",null,a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Name"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({name:t.target.value})},value:this.state.name}))),a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Description"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({description:t.target.value})},value:this.state.description}))),a.default.createElement("div",{className:"field file"},a.default.createElement("div",{className:"name"},"Cover image"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"file",placeholder:"Leave empty to keep existing image",onChange:function(t){return e.setImage(t)}}),a.default.createElement("div",{className:"description"},"JPEG only, 256kB max. Leave empty to keep cover image unchanged."))),a.default.createElement("div",{className:"field checkbox white"},a.default.createElement("div",{className:"name"},"Options"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"playlist_private",checked:this.state.public,onChange:function(t){return e.setState({public:!e.state.public})}}),a.default.createElement("span",{className:"label"},"Public")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"collaborative",checked:this.state.collaborative,onChange:function(t){return e.setState({collaborative:!e.state.collaborative})}}),a.default.createElement("span",{className:"label"},"Collaborative")))));default:return a.default.createElement("div",null,a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Name"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({name:t.target.value})},value:this.state.name}))))}}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--edit-playlist"},a.default.createElement("h1",null,"Edit playlist"),this.state.error?a.default.createElement("h3",{className:"red-text"},this.state.error):null,a.default.createElement("form",{onSubmit:function(t){return e.savePlaylist(t)}},this.renderFields(),a.default.createElement("div",{className:"actions centered-text"},a.default.createElement("button",{type:"submit",className:"button button--primary button--large"},"Save"))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.playlist;return n&&!t.loaded?{loaded:!0,name:n.name,description:n.description,public:!0===n.public,collaborative:!0===n.collaborative}:null}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=decodeURIComponent(t.match.params.uri);return{uri:n=(n=(n=(n=(n=(n=n.replace(/\s/g,"%20")).replace(/\[/g,"%5B")).replace(/\]/g,"%5D")).replace(/\(/g,"%28")).replace(/\)/g,"%29")).replace(/\#/g,"%23"),mopidy_connected:e.mopidy.connected,playlist:void 0!==e.core.playlists[n]?e.core.playlists[n]:null,playlists:e.core.playlists}}),(function(e){return{coreActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e),mopidyActions:(0,i.bindActionCreators)(c,e),spotifyActions:(0,i.bindActionCreators)(d,e)}}))(h)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=d(n(0)),o=n(3),i=n(2),s=d(n(29)),l=c(n(8)),u=c(n(1));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function d(e){return e&&e.__esModule?e:{default:e}}var f=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={name:"",description:"",scheme:"spotify",is_public:!0,is_collaborative:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Create playlist")}},{key:"createPlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.createPlaylist(this.state.scheme,this.state.name,this.state.description,this.state.is_public,this.state.is_collaborative),window.history.back(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"renderFields",value:function(){var e=this;switch(this.state.scheme){case"spotify":return a.default.createElement("div",null,a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Name"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({name:t.target.value})},value:this.state.name}))),a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Description"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({description:t.target.value})},value:this.state.description}))),a.default.createElement("div",{className:"field checkbox white"},a.default.createElement("div",{className:"name"},"Options"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"is_public",checked:this.state.is_public,onChange:function(t){return e.setState({is_public:!e.state.is_public})}}),a.default.createElement("span",{className:"label"},"Public")),a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"is_collaborative",checked:this.state.is_collaborative,onChange:function(t){return e.setState({is_collaborative:!e.state.is_collaborative})}}),a.default.createElement("span",{className:"label"},"Collaborative")))));default:return a.default.createElement("div",null,a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Name"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({name:t.target.value})},value:this.state.name}))))}}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--create-playlist"},a.default.createElement("h1",null,"Create playlist"),a.default.createElement("form",{onSubmit:function(t){return e.createPlaylist(t)}},a.default.createElement("div",{className:"field radio white"},a.default.createElement("div",{className:"name"},"Provider"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"scheme",value:"spotify",checked:"spotify"==this.state.scheme,onChange:function(t){return e.setState({scheme:t.target.value})}}),a.default.createElement("span",{className:"label"},"Spotify")),a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"scheme",value:"m3u",checked:"m3u"==this.state.scheme,onChange:function(t){return e.setState({scheme:t.target.value})}}),a.default.createElement("span",{className:"label"},"Mopidy")))),this.renderFields(),a.default.createElement("div",{className:"actions centered-text"},a.default.createElement("button",{type:"submit",className:"button button--primary button--large"},"Create playlist"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{}}),(function(e){return{coreActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e)}}))(f)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=_(n(0)),o=n(3),i=n(2),s=_(n(29)),l=_(n(5)),u=h(n(8)),c=h(n(1)),d=h(n(6)),f=h(n(7)),p=h(n(13)),m=n(4);function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}function y(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var v=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.componentDidUpdate=function(e){var t=e.radio,r=n.props.radio;!t&&r&&n.loadRadio(r)},n.state={enabled:!1,seeds:[],uri:"",error_message:null},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Edit radio"),this.props.radio&&this.props.radio.enabled&&this.loadRadio(this.props.radio)}},{key:"loadRadio",value:function(e){var t=[].concat(y(e.seed_tracks),y(e.seed_artists),y(e.seed_genres));this.setState({seeds:t,enabled:e.enabled})}},{key:"handleStart",value:function(e){e.preventDefault();for(var t=!0,n=this.mapSeeds(),r=0;r<n.length;r++)void 0===n[r].unresolved||(t=!1);t?(this.props.pusherActions.startRadio(this.state.seeds),window.history.back()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleUpdate",value:function(e){e.preventDefault();for(var t=!0,n=this.mapSeeds(),r=0;r<n.length;r++)void 0===n[r].unresolved||(t=!1);t?(this.props.pusherActions.updateRadio(this.state.seeds),window.history.back()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleStop",value:function(e){e.preventDefault(),this.props.pusherActions.stopRadio(),this.props.uiActions.closeModal()}},{key:"addSeed",value:function(e){if(e.preventDefault(),""!=this.state.uri){this.setState({error_message:null});var t=Object.assign([],this.state.seeds),n=this.state.uri.split(",");n.length>=5&&(n=n.slice(0,5),this.setState({error_message:"More than 5 seeds provided, ignoring rest"}));for(var r=0;r<n.length;r++){if("spotify"!==(0,m.uriSource)(n[r]))return void this.setState({error_message:"Non-Spotify URIs not supported"});switch(t.indexOf(n[r])>-1?this.setState({error_message:"URI already added"}):t.push(n[r]),(0,m.uriType)(n[r])){case"track":this.props.spotifyActions.getTrack(n[r]);break;case"artist":this.props.spotifyActions.getArtist(n[r])}}this.setState({seeds:t,uri:""})}else this.setState({error_message:"Cannot be empty"})}},{key:"removeSeed",value:function(e){for(var t=[],n=0;n<this.state.seeds.length;n++)this.state.seeds[n]!=e&&t.push(this.state.seeds[n]);this.setState({seeds:t})}},{key:"mapSeeds",value:function(){var e=[];if(this.state.seeds)for(var t=0;t<this.state.seeds.length&&t<5;t++){var n=this.state.seeds[t];n&&("artist"==(0,m.uriType)(n)?this.props.artists&&this.props.artists.hasOwnProperty(n)?e.push(this.props.artists[n]):e.push({unresolved:!0,uri:n}):"track"==(0,m.uriType)(n)&&(this.props.tracks&&this.props.tracks.hasOwnProperty(n)?e.push(this.props.tracks[n]):e.push({unresolved:!0,uri:n})))}return e}},{key:"renderSeeds",value:function(){var e=this,t=this.mapSeeds();return t.length>0?a.default.createElement("div",null,a.default.createElement("div",{className:"list"},t.map((function(t,n){return a.default.createElement("div",{className:"list__item",key:t.uri},t.unresolved?a.default.createElement("span",{className:"mid_grey-text"},t.uri):a.default.createElement("span",null,t.name),t.unresolved?null:a.default.createElement("span",{className:"mid_grey-text"}," (",(0,m.uriType)(t.uri),")"),a.default.createElement("span",{className:"button discrete remove-uri no-hover",onClick:function(n){return e.removeSeed(t.uri)}},a.default.createElement(l.default,{name:"delete"}),"Remove"))})))):a.default.createElement("div",{className:"no-results"},"No seeds")}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--edit-radio"},a.default.createElement("h1",null,"Radio"),a.default.createElement("h2",{className:"mid_grey-text"},"Add and remove seeds to shape the sound of your radio. Radio uses Spotify's recommendations engine to suggest tracks similar to your seeds."),a.default.createElement("form",{onSubmit:function(t){e.state.enabled?e.handleUpdate(t):e.handleStart(t)}},this.renderSeeds(),a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"URI(s)"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({uri:t.target.value,error_message:null})},value:this.state.uri}),a.default.createElement("span",{className:"button discrete add-uri no-hover",onClick:function(t){return e.addSeed(t)}},a.default.createElement(l.default,{name:"add"}),"Add"),this.state.error_message?a.default.createElement("span",{className:"description error"},this.state.error_message):null)),a.default.createElement("div",{className:"actions centered-text"},this.state.enabled?a.default.createElement("span",{className:"button button--destructive button--large",onClick:function(t){return e.handleStop(t)}},"Stop"):null,this.state.enabled?a.default.createElement("button",{className:"button button--primary button--large",onClick:function(t){return e.handleUpdate(t)}},"Save"):a.default.createElement("button",{className:"button button--primary button--large",onClick:function(t){return e.handleStart(t)}},"Start"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,radio:e.core.radio,artists:e.core.artists,tracks:e.core.tracks}}),(function(e){return{coreActions:(0,i.bindActionCreators)(u,e),uiActions:(0,i.bindActionCreators)(c,e),mopidyActions:(0,i.bindActionCreators)(d,e),pusherActions:(0,i.bindActionCreators)(p,e),spotifyActions:(0,i.bindActionCreators)(f,e)}}))(v)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=p(n(0)),o=n(3),i=n(2),s=p(n(29)),l=f(n(8)),u=f(n(1)),c=f(n(6)),d=f(n(7));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={uris:"",next:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Add to queue")}},{key:"handleSubmit",value:function(e){e.preventDefault();var t=this.state.uris.split(",");this.props.mopidyActions.enqueueURIs(t,null,this.state.next),window.history.back()}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--add-to-queue"},a.default.createElement("h1",null,"Add to queue"),a.default.createElement("h2",{className:"mid_grey-text"},"Add a comma-separated list of URIs to the play queue. You must have the appropriate Mopidy backend enabled for each URI schema (eg spotify:, yt:)."),a.default.createElement("form",{onSubmit:function(t){return e.handleSubmit(t)}},a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"URI(s)"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({uris:t.target.value})},value:this.state.uris}))),a.default.createElement("div",{className:"field radio white"},a.default.createElement("div",{className:"name"},"Position"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"next",checked:!this.state.next,onChange:function(t){return e.setState({next:!1})}}),a.default.createElement("span",{className:"label"},"End")),a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"next",checked:this.state.next,onChange:function(t){return e.setState({next:!0})}}),a.default.createElement("span",{className:"label"},"After current track")))),a.default.createElement("div",{className:"actions centered-text"},a.default.createElement("button",{type:"submit",className:"button button--primary button--large"},"Add"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{mopidy_connected:e.mopidy.connected,playlist:void 0!==e.core.playlists[t.match.params.uri]?e.core.playlists[t.match.params.uri]:null,playlists:e.core.playlists}}),(function(e){return{coreActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e),mopidyActions:(0,i.bindActionCreators)(c,e),spotifyActions:(0,i.bindActionCreators)(d,e)}}))(m)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=m(n(0)),o=n(3),i=n(2),s=m(n(29)),l=p(n(8)),u=p(n(1)),c=p(n(13)),d=p(n(6)),f=n(4);function p(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}var h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=e.host,a=e.port,o=e.username,i=e.allow_reporting;return n.state={username:o,allow_reporting:i,host:r,port:a},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.location.search,n=e.uiActions,r=(0,f.queryString)("host",t),a=(0,f.queryString)("port",t);r&&this.setState({host:r}),a&&this.setState({port:a}),n.setWindowTitle("Welcome to Iris")}},{key:"handleSubmit",value:function(e){e.preventDefault();var t=this;return this.props.username!==this.state.username&&this.props.pusherActions.setUsername(this.state.username),this.props.uiActions.set({initial_setup_complete:!0,allow_reporting:this.state.allow_reporting}),this.props.mopidyActions.set({host:this.state.host,port:this.state.port}),this.setState({saving:!0}),setTimeout((function(){t.state.host!==t.props.host||t.state.port!==t.props.port?window.location="/":t.props.history.push("/")}),200),!1}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--initial-setup",noclose:!0},a.default.createElement("h1",null,"Get started"),a.default.createElement("form",{onSubmit:function(t){return e.handleSubmit(t)}},a.default.createElement("div",{className:"field text"},a.default.createElement("div",{className:"name"},"Username"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({username:t.target.value.replace(/\W/g,"")})},value:this.state.username}),a.default.createElement("div",{className:"description"},"A non-unique string used to identify this client (no special characters)"))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Host"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({host:t.target.value})},value:this.state.host}))),a.default.createElement("div",{className:"field"},a.default.createElement("div",{className:"name"},"Port"),a.default.createElement("div",{className:"input"},a.default.createElement("input",{type:"text",onChange:function(t){return e.setState({port:t.target.value})},value:this.state.port}))),(0,f.isHosted)()?null:a.default.createElement("div",{className:"field checkbox"},a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"allow_reporting",checked:this.state.allow_reporting,onChange:function(t){return e.setState({allow_reporting:!e.state.allow_reporting})}}),a.default.createElement("span",{className:"label"},"Allow reporting of anonymous usage statistics")),a.default.createElement("p",{className:"description"},"This anonymous usage data is important in identifying errors and potential features that make Iris better for everyone. Want to know more? Read the",a.default.createElement("a",{href:"https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy",target:"_blank"},"privacy policy"),this.state.allow_reporting?null:a.default.createElement("span",{className:"red-text"}," Are you sure you don't want to support this?"),"."," "))),a.default.createElement("div",{className:"actions centered-text"},a.default.createElement("button",{className:"button button--primary button--large"+(this.state.saving?" button--working":""),onClick:function(t){return e.handleSubmit(t)}},this.state.saving?"Saving":"Save"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{allow_reporting:e.ui.allow_reporting,username:e.pusher&&e.pusher.username?e.pusher.username:null,host:e.mopidy.host,port:e.mopidy.port}}),(function(e){return{coreActions:(0,i.bindActionCreators)(l,e),uiActions:(0,i.bindActionCreators)(u,e),pusherActions:(0,i.bindActionCreators)(c,e),mopidyActions:(0,i.bindActionCreators)(d,e)}}))(h)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=g(n(0)),o=n(3),i=n(2),s=g(n(17)),l=g(n(29)),u=g(n(19)),c=g(n(30)),d=g(n(18)),f=g(n(5)),p=g(n(74)),m=v(n(1)),h=v(n(6)),_=v(n(32)),y=n(4);function v(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var E=function(e){var t=e.content,n=void 0===t?"":t,r=e.time_position,o=void 0===r?1:r,i=e.duration,s=(o/(void 0===i?100:i)*110).toFixed(4);return a.default.createElement("div",{className:"lyrics"},a.default.createElement("div",{className:"lyrics__content",dangerouslySetInnerHTML:{__html:n},style:{transform:"translateY(-"+s+"%)"}}))},k=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return n=r=b(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),r.componentDidUpdate=function(e){var t=e.current_track,n=r.props,a=n.current_track,o=n.show_lyrics,i=n.genius_authorized,s=n.geniusActions.findTrackLyrics;!t&&a?(r.setWindowTitle(a),o&&i&&a&&a.artists&&!a.lyrics_results&&s(a)):o!=o&&o&&a&&i&&a&&a.artists&&!a.lyrics_results&&s(a)},r.toggleLyrics=function(){var e=r.props,t=e.show_lyrics,n=e.uiActions,a=(e.genius_authorized,e.current_track);n.set({show_lyrics:!t}),!t&&r.props.genius_authorized&&a&&a.artists&&!a.lyrics_results&&r.props.geniusActions.findTrackLyrics(a)},r.renderLyrics=function(){var e=r.props,t=e.load_queue,n=e.genius_authorized,o=e.time_position,i=void 0===o?null:o,l=e.current_track||{},u=l.lyrics,c=l.duration;return(0,y.isLoading)(t,["genius_"])?a.default.createElement("div",{className:"lyrics"},a.default.createElement(d.default,{body:!0,loading:!0})):n?u?a.default.createElement(E,{content:u,time_position:i,duration:c}):null:a.default.createElement("p",{className:"no-results"},"Want track lyrics? Authorize Genius under"," ",a.default.createElement(s.default,{to:"/settings/genius",scrollTo:"#services-menu"},"Settings"),".")},b(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.current_track,n=e.genius_authorized,r=e.show_lyrics,a=e.geniusActions;this.setWindowTitle(),r&&n&&t&&t.artists&&!t.lyrics_results&&a.findTrackLyrics(t)}},{key:"setWindowTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.current_track;if(e){for(var t="",n=0;n<e.artists.length;n++)""!=t&&(t+=", "),t+=e.artists[n].name;this.props.uiActions.setWindowTitle(e.name+" by "+t+" (now playing)")}else this.props.uiActions.setWindowTitle("Now playing")}},{key:"togglePlay",value:function(e){"playing"==this.props.play_state?this.props.mopidyActions.pause():this.props.mopidyActions.play()}},{key:"renderPlayButton",value:function(){var e=this,t=a.default.createElement("button",{className:"control play",onClick:function(){return e.props.mopidyActions.play()}},a.default.createElement(f.default,{name:"play_circle_filled",type:"material"}));return"playing"==this.props.play_state&&(t=a.default.createElement("button",{className:"control play",onClick:function(){return e.props.mopidyActions.pause()}},a.default.createElement(f.default,{name:"pause_circle_filled",type:"material"}))),t}},{key:"render",value:function(){var e=this,t=this.props,n=t.show_lyrics,r=t.current_track;if(r&&r.images)var o=r.images;else o=[];var i=a.default.createElement("div",{className:"control",onClick:this.toggleLyrics},n?a.default.createElement(f.default,{name:"toggle_on",className:"turquoise-text"}):a.default.createElement(f.default,{name:"toggle_off"}),a.default.createElement("div",{style:{paddingLeft:"6px",fontWeight:"bold"}},"Lyrics"));return a.default.createElement(l.default,{className:"modal--kiosk-mode",extraControls:i},a.default.createElement(u.default,{className:"background",images:o,placeholder:!1}),a.default.createElement("div",{className:"player player--"+(n?"with":"without")+"-lyrics"},a.default.createElement("div",{className:"track"},a.default.createElement("div",{className:"track__artwork"},a.default.createElement(u.default,{images:o,useImageTag:!0})),a.default.createElement("div",{className:"track__info"},a.default.createElement("div",{className:"title"},r?r.name:a.default.createElement("span",null,"-")),r?a.default.createElement(c.default,{nolinks:!0,items:r.artists}):a.default.createElement(c.default,null))),a.default.createElement("div",{className:"playback"},a.default.createElement("div",{className:"playback__controls"},a.default.createElement("button",{className:"control previous",onClick:function(){return e.props.mopidyActions.previous()}},a.default.createElement(f.default,{name:"navigate_before",type:"material"})),this.renderPlayButton(),a.default.createElement("button",{className:"control next",onClick:function(){return e.props.mopidyActions.next()}},a.default.createElement(f.default,{name:"navigate_next",type:"material"}))),a.default.createElement("div",{className:"playback__progress"},a.default.createElement(p.default,null)))),n&&this.renderLyrics())}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e){return{play_state:e.mopidy.play_state,current_track:e.core.current_track&&void 0!==e.core.tracks[e.core.current_track.uri]?e.core.tracks[e.core.current_track.uri]:null,time_position:e.mopidy.time_position,load_queue:e.ui.load_queue,show_lyrics:e.ui.show_lyrics,genius_authorized:e.genius.authorization}}),(function(e){return{uiActions:(0,i.bindActionCreators)(m,e),mopidyActions:(0,i.bindActionCreators)(h,e),geniusActions:(0,i.bindActionCreators)(_,e)}}))(k)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=d(n(0)),o=n(3),i=n(2),s=d(n(29)),l=c(n(1)),u=c(n(13));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function d(e){return e&&e.__esModule?e:{default:e}}var f=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={recipients:[],spotify:!1,lastfm:!1,genius:!1,ui:!1},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Share configuration")}},{key:"toggleRecipient",value:function(e){var t=this.state.recipients;if(t.includes(e)){var n=t.indexOf(e);t.splice(n,1)}else t.push(e);this.setState({recipients:t})}},{key:"handleSubmit",value:function(e){e.preventDefault();var t={};this.state.spotify&&(t.spotify={authorization:this.props.spotify_authorization,me:this.props.spotify_me}),this.state.genius&&(t.genius={authorization:this.props.genius_authorization,me:this.props.genius_me}),this.state.lastfm&&(t.lastfm={authorization:this.props.lastfm_authorization,me:this.props.lastfm_me}),this.state.ui&&(t.ui=this.props.ui),this.state.snapcast&&(t.snapcast={enabled:this.props.snapcast.enabled,host:this.props.snapcast.host,port:this.props.snapcast.port});var n=!0,r=!1,a=void 0;try{for(var o,i=this.state.recipients[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var s=o.value;this.props.pusherActions.deliverMessage(s,"share_configuration_received",t)}}catch(e){r=!0,a=e}finally{try{!n&&i.return&&i.return()}finally{if(r)throw a}}window.history.back()}},{key:"render",value:function(){var e=this,t=[];for(var n in this.props.connections)this.props.connections.hasOwnProperty(n)&&n!=this.props.connection_id&&t.push(this.props.connections[n]);if(t.length>0)var r=a.default.createElement("div",{className:"input checkbox-group"},t.map((function(t,n){return a.default.createElement("div",{key:t.connection_id,className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"connection_"+t.connection_id,checked:e.state.recipients.includes(t.connection_id),onChange:function(n){return e.toggleRecipient(t.connection_id)}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},t.username),a.default.createElement("div",{className:"description mid_grey-text"},"(",t.ip,")")))))})));else r=a.default.createElement("div",{className:"input text"},a.default.createElement("span",{className:"mid_grey-text"},"No peer connections"));return a.default.createElement(s.default,{className:"modal--share-configuration"},a.default.createElement("h1",null,"Share configuration"),a.default.createElement("h2",null,"Push your authorizations and interface settings to another, connected user"),a.default.createElement("form",{onSubmit:function(t){return e.handleSubmit(t)}},a.default.createElement("div",{className:"field checkbox white"},a.default.createElement("div",{className:"name"},"Recipients"),r),a.default.createElement("div",{className:"field checkbox checkbox--block"},a.default.createElement("div",{className:"name"},"Configurations"),a.default.createElement("div",{className:"input"},this.props.spotify_me&&this.props.spotify_authorization&&a.default.createElement("div",{className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"spotify",checked:this.state.spotify,onChange:function(t){return e.setState({spotify:!e.state.spotify})}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},"Spotify authorization"),a.default.createElement("div",{className:"description mid_grey-text"},"Logged in as "+this.props.spotify_me.name))))),this.props.lastfm_me&&this.props.lastfm_authorization&&a.default.createElement("div",{className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"lastfm_authorization",checked:this.state.lastfm,onChange:function(t){return e.setState({lastfm:!e.state.lastfm})}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},"LastFM authorization"),a.default.createElement("div",{className:"description mid_grey-text"},"Logged in as "+this.props.lastfm_me.name))))),this.props.genius_me&&this.props.genius_authorization&&a.default.createElement("div",{className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"genius_authorization",checked:this.state.genius,onChange:function(t){return e.setState({genius:!e.state.genius})}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},"Genius authorization"),a.default.createElement("div",{className:"description mid_grey-text"},"Logged in as "+this.props.genius_me.name))))),a.default.createElement("div",{className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"snapcast",checked:this.state.snapcast,onChange:function(){return e.setState({snapcast:!e.state.snapcast})}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},"Snapcast"),a.default.createElement("div",{className:"description mid_grey-text"},"Server connection details"))))),a.default.createElement("div",{className:"checkbox-group__item"},a.default.createElement("label",null,a.default.createElement("input",{type:"checkbox",name:"interface",checked:this.state.ui,onChange:function(t){return e.setState({ui:!e.state.ui})}}),a.default.createElement("div",{className:"label"},a.default.createElement("div",null,a.default.createElement("div",{className:"title"},"Interface settings"),a.default.createElement("div",{className:"description mid_grey-text"},"Theme, sorting, filters, etc"))))))),a.default.createElement("div",{className:"actions centered-text"},this.state.recipients.length>0?a.default.createElement("button",{className:"button button--primary button--large",onClick:function(t){return e.handleSubmit(t)}},"Send"):a.default.createElement("button",{className:"button button--primary button--large",disabled:"disabled",onClick:function(t){return e.handleSubmit(t)}},"Send"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{spotify_authorization:e.spotify.authorization,spotify_me:e.spotify.me,genius_authorization:e.genius.authorization,genius_me:e.genius.me,lastfm_authorization:e.lastfm.authorization,lastfm_me:e.lastfm.me,ui:e.ui,snapcast:e.snapcast,connection_id:e.pusher.connection_id,connections:e.pusher.connections}}),(function(e){return{pusherActions:(0,i.bindActionCreators)(u,e),uiActions:(0,i.bindActionCreators)(l,e)}}))(f)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=v(n(0)),o=n(3),i=n(2),s=v(n(18)),l=v(n(29)),u=v(n(5)),c=v(n(19)),d=y(n(8)),f=y(n(1)),p=y(n(6)),m=y(n(7)),h=n(4),_=n(9);function y(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function v(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var b=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=r=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidMount=function(){var e=r.props,t=e.spotify_library_playlists_status,n=e.mopidy_library_playlists_status,a=e.mopidy_connected,o=e.spotifyActions,i=e.mopidyActions;t&&"finished"===t||o.getLibraryPlaylists(),n&&"finished"===n||!a||i.getLibraryPlaylists()},g(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"playlistSelected",value:function(e){var t=this.props,n=t.coreActions,r=t.uris;n.addTracksToPlaylist(e,r),window.history.back()}},{key:"render",value:function(){var e=this,t=this.props,n=t.playlists,r=t.uris,o=t.spotify_library_playlists_status;if(!n)return a.default.createElement("div",{className:"empty"},"No editable playlists");var i=[];for(var d in n)n[d].can_edit&&i.push(n[d]);i=(0,_.sortItems)(i,"name");var f="running"===o;return a.default.createElement(l.default,{className:"modal--add-to-playlist"},a.default.createElement("h1",null,"Add to playlist"),a.default.createElement("h2",{className:"mid_grey-text"},"Select playlist to add "+r.length+" track "+(r.length>1?"s":"")+" to"),i.length<=0&&a.default.createElement("div",{className:"no-results"},"No playlists available"),a.default.createElement("div",{className:"list small playlists"},i.map((function(t){return a.default.createElement("div",{className:"list__item",key:t.uri,onClick:function(){return e.playlistSelected(t.uri)}},a.default.createElement(c.default,{images:t.images,size:"small"}),a.default.createElement("h4",{className:"list__item__name"},t.name),a.default.createElement("ul",{className:"list__item__details details"},a.default.createElement("li",null,a.default.createElement(u.default,{type:"fontawesome",className:"source",name:(0,h.sourceIcon)(t.uri)})),a.default.createElement("li",null,t.tracks_total?a.default.createElement("span",{className:"mid_grey-text"},t.tracks_total," ","tracks"):null)))}))),f&&a.default.createElement(s.default,{body:!0,lazy:!0,loading:!0}))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){return{uris:t.match.params.uris?decodeURIComponent(t.match.params.uris).split(","):[],mopidy_connected:e.mopidy.connected,mopidy_uri_schemes:e.mopidy.uri_schemes,mopidy_library_playlists:e.mopidy.library_playlists,mopidy_library_playlists_status:void 0!==e.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR?e.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR.status:null,spotify_library_playlists:e.spotify.library_playlists,spotify_library_playlists_status:void 0!==e.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR?e.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status:null,load_queue:e.ui.load_queue,me_id:!!e.spotify.me&&e.spotify.me.id,playlists:e.core.playlists}}),(function(e){return{coreActions:(0,i.bindActionCreators)(d,e),uiActions:(0,i.bindActionCreators)(f,e),mopidyActions:(0,i.bindActionCreators)(p,e),spotifyActions:(0,i.bindActionCreators)(m,e)}}))(b)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=u(n(0)),o=n(3),i=n(2),s=u(n(29)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function u(e){return e&&e.__esModule?e:{default:e}}var c=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Zoomed image")}},{key:"render",value:function(){return a.default.createElement(s.default,{className:"modal--image-zoom"},a.default.createElement("img",{src:this.props.location.search.replace("?url=","")}))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e){return{}}),(function(e){return{uiActions:(0,i.bindActionCreators)(l,e)}}))(c)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=h(n(0)),o=n(3),i=n(2),s=h(n(29)),l=h(n(219)),u=h(n(220)),c=h(n(45)),d=m(n(13)),f=m(n(1)),p=n(4);function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}var _=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={id:(0,p.generateGuid)(),icon:"power_settings_new",name:"",colour:"",url:"https://"+window.location.hostname+"/broadlink/sendCommand/power/",method:"GET",post_data:"",additional_headers:""},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){this.props.command?(this.props.uiActions.setWindowTitle("Edit command"),this.setState(this.props.command)):this.props.uiActions.setWindowTitle("Create command")}},{key:"handleSubmit",value:function(e){return e.preventDefault(),this.props.pusherActions.setCommand(this.state),window.history.back(),setTimeout((function(){(0,p.scrollTo)("#commands-setup")}),10),!1}},{key:"handleDelete",value:function(e){this.props.pusherActions.removeCommand(this.state.id),window.history.back(),setTimeout((function(){(0,p.scrollTo)("#commands-setup")}),10)}},{key:"render",value:function(){var e=this;return a.default.createElement(s.default,{className:"modal--create-command"},a.default.createElement("h1",null,this.props.command?"Edit":"Create"," ","command"),a.default.createElement("form",{onSubmit:function(t){return e.handleSubmit(t)}},a.default.createElement("div",{className:"field textarea white"},a.default.createElement("div",{className:"name"},"Name"),a.default.createElement("div",{className:"input"},a.default.createElement(c.default,{name:"name",value:this.state.name,onChange:function(t){return e.setState({name:t})}}))),a.default.createElement("div",{className:"field radio white"},a.default.createElement("div",{className:"name"},"Colour"),a.default.createElement("div",{className:"input"},a.default.createElement(l.default,{colour:this.state.colour,onChange:function(t){return e.setState({colour:t})}}))),a.default.createElement("div",{className:"field radio white"},a.default.createElement("div",{className:"name"},"Icon"),a.default.createElement("div",{className:"input"},a.default.createElement(u.default,{icon:this.state.icon,icons:["power_settings_new","eject","grade","query_builder","settings_input_component","settings_input_hdmi","settings_input_svideo","forward_5","forward_10","forward_30","replay","replay_5","replay_10","replay_30","skip_next","skip_previous","play_arrow","pause","stop","shuffle","snooze","volume_off","volume_down","volume_up","arrow_left","arrow_drop_up","arrow_right","arrow_drop_down","done","done_all","add","remove","clear","cast","speaker","speaker_group","audiotrack","videogame_asset","computer","tv"],onChange:function(t){return e.setState({icon:t})}}))),a.default.createElement("div",{className:"field textarea white"},a.default.createElement("div",{className:"name"},"URL"),a.default.createElement("div",{className:"input"},a.default.createElement(c.default,{name:"url",value:this.state.url,onChange:function(t){return e.setState({url:t})}}))),a.default.createElement("div",{className:"field radio white"},a.default.createElement("div",{className:"name"},"Method"),a.default.createElement("div",{className:"input"},a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"method",value:"GET",checked:"GET"==this.state.method,onChange:function(t){return e.setState({method:t.target.value})}}),a.default.createElement("span",{className:"label"},"GET")),a.default.createElement("label",null,a.default.createElement("input",{type:"radio",name:"method",value:"POST",checked:"POST"==this.state.method,onChange:function(t){return e.setState({method:t.target.value})}}),a.default.createElement("span",{className:"label"},"POST")))),"POST"==this.state.method&&a.default.createElement("div",{className:"field textarea white"},a.default.createElement("div",{className:"name"},"Data"),a.default.createElement("div",{className:"input"},a.default.createElement("textarea",{name:"command",value:this.state.post_data,onChange:function(t){return e.setState({post_data:t.target.value})}}))),a.default.createElement("div",{className:"field textarea white"},a.default.createElement("div",{className:"name"},"Additional Headers"),a.default.createElement("div",{className:"input"},a.default.createElement("textarea",{name:"headers",value:this.state.additional_headers,onChange:function(t){return e.setState({additional_headers:t.target.value})}}))),a.default.createElement("div",{className:"actions centered-text"},this.props.command?a.default.createElement("button",{type:"button",className:"button button--destructive button--large",onClick:function(t){return e.handleDelete(t)}},"Delete"):null,a.default.createElement("button",{type:"submit",className:"button button--primary button--large"},"Save"))))}}]),t}(a.default.Component);t.default=(0,o.connect)((function(e,t){var n=t.match.params.id;return{id:n,command:n&&e.pusher.commands&&void 0!==e.pusher.commands[n]?e.pusher.commands[n]:null}}),(function(e){return{pusherActions:(0,i.bindActionCreators)(d,e),uiActions:(0,i.bindActionCreators)(f,e)}}))(_)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){return a.default.createElement("div",{className:"colour-field"},["","white","mid_grey","grey","dark_grey","black","turquoise","green","blue","light_blue","yellow","orange","red"].map((function(t){var n="white";switch(t){case"yellow":case"white":case"light_blue":n="black"}return a.default.createElement("div",{key:t,className:"colour-field__option "+(t?t+"-background ":"")+(e.colour==t?"colour-field__option--selected":""),onClick:function(n){return e.onChange(t)}},e.colour==t?a.default.createElement(o.default,{name:"check",className:"colour-field__option__icon "+n+"-text"}):null)})))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),a=i(r),o=i(n(5));function i(e){return e&&e.__esModule?e:{default:e}}t.default=(0,r.memo)((function(e){var t=e.icons?e.icons:["3d_rotation","ac_unit","access_alarm","access_alarms","access_time","accessibility","accessible","account_balance","account_balance_wallet","account_box","account_circle","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_circle","add_circle_outline","add_location","add_shopping_cart","add_to_photos","add_to_queue","adjust","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","all_inclusive","all_out","android","announcement","apps","archive","arrow_back","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_upward","art_track","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_photo","attach_file","attach_money","attachment","audiotrack","autorenew","av_timer","backspace","backup","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","beach_access","beenhere","block","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","book","bookmark","bookmark_border","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","brush","bubble_chart","bug_report","build","burst_mode","business","business_center","cached","cake","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_rear","camera_roll","cancel","card_giftcard","card_membership","card_travel","casino","cast","cast_connected","center_focus_strong","center_focus_weak","change_history","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","class","clear","clear_all","close","closed_caption","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","collections","collections_bookmark","color_lens","colorize","comment","compare","compare_arrows","computer","confirmation_number","contact_mail","contact_phone","contacts","content_copy","content_cut","content_paste","control_point","control_point_duplicate","copyright","create","create_new_folder","credit_card","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dashboard","data_usage","date_range","dehaze","delete","delete_forever","delete_sweep","description","desktop_mac","desktop_windows","details","developer_board","developer_mode","device_hub","devices","devices_other","dialer_sip","dialpad","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","disc_full","dns","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","dock","domain","done","done_all","donut_large","donut_small","drafts","drag_handle","drive_eta","dvr","edit","edit_location","eject","email","enhanced_encryption","equalizer","error","error_outline","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand_less","expand_more","explicit","explore","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","face","fast_forward","fast_rewind","favorite","favorite_border","featured_play_list","featured_video","feedback","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_download","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","first_page","fitness_center","flag","flare","flash_auto","flash_off","flash_on","flight","flight_land","flight_takeoff","flip","flip_to_back","flip_to_front","folder","folder_open","folder_shared","folder_special","font_download","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","forum","forward","forward_10","forward_30","forward_5","free_breakfast","fullscreen","fullscreen_exit","functions","g_translate","gamepad","games","gavel","gesture","get_app","gif","golf_course","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grain","graphic_eq","grid_off","grid_on","group","group_add","group_work","hd","hdr_off","hdr_on","hdr_strong","hdr_weak","headset","headset_mic","healing","hearing","help","help_outline","high_quality","highlight","highlight_off","history","home","hot_tub","hotel","hourglass_empty","hourglass_full","http","https","image","image_aspect_ratio","import_contacts","import_export","important_devices","inbox","indeterminate_check_box","info","info_outline","input","insert_chart","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","invert_colors","invert_colors_off","iso","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","kitchen","label","label_outline","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leak_add","leak_remove","lens","library_add","library_books","library_music","lightbulb_outline","line_style","line_weight","linear_scale","link","linked_camera","list","live_help","live_tv","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_city","location_disabled","location_off","location_on","location_searching","lock","lock_open","lock_outline","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","mail","mail_outline","map","markunread","markunread_mailbox","memory","menu","merge_type","message","mic","mic_none","mic_off","mms","mode_comment","mode_edit","monetization_on","money_off","monochrome_photos","mood","mood_bad","more","more_horiz","more_vert","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","multiline_chart","music_note","music_video","my_location","nature","nature_people","navigate_before","navigate_next","navigation","near_me","network_cell","network_check","network_locked","network_wifi","new_releases","next_week","nfc","no_encryption","no_sim","not_interested","note","note_add","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","offline_pin","ondemand_video","opacity","open_in_browser","open_in_new","open_with","pages","pageview","palette","pan_tool","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","party_mode","pause","pause_circle_filled","pause_circle_outline","payment","people","people_outline","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_outline","person_pin","person_pin_circle","personal_video","pets","phone","phone_android","phone_bluetooth_speaker","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outlined","pin_drop","place","play_arrow","play_circle_filled","play_circle_outline","play_for_work","playlist_add","playlist_add_check","playlist_play","plus_one","poll","polymer","pool","portable_wifi_off","portrait","power","power_input","power_settings_new","pregnant_woman","present_to_all","print","priority_high","public","publish","query_builder","question_answer","queue","queue_music","queue_play_next","radio","radio_button_checked","radio_button_unchecked","rate_review","receipt","recent_actors","record_voice_over","redeem","redo","refresh","remove","remove_circle","remove_circle_outline","remove_from_queue","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_one","replay","replay_10","replay_30","replay_5","reply","reply_all","report","report_problem","restaurant","restaurant_menu","restore","restore_page","ring_volume","room","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rv_hookup","satellite","save","scanner","schedule","school","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_share","sd_card","sd_storage","search","security","select_all","send","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_system_daydream","settings_voice","share","shop","shop_two","shopping_basket","shopping_cart","short_text","show_chart","shuffle","signal_cellular_4_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_off","sim_card","sim_card_alert","skip_next","skip_previous","slideshow","slow_motion_video","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snooze","sort","sort_by_alpha","spa","space_bar","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","spellcheck","star","star_border","star_half","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop","stop_screen_share","storage","store","store_mall_directory","straighten","streetview","strikethrough_s","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscriptions","subtitles","subway","supervisor_account","surround_sound","swap_calls","swap_horiz","swap_vert","swap_vertical_circle","switch_camera","switch_video","sync","sync_disabled","sync_problem","system_update","system_update_alt","tab","tab_unselected","tablet","tablet_android","tablet_mac","tag_faces","tap_and_play","terrain","text_fields","text_format","textsms","texture","theaters","thumb_down","thumb_up","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_3","timer_off","title","toc","today","toll","tonality","touch_app","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","translate","trending_down","trending_flat","trending_up","tune","turned_in","turned_in_not","tv","unarchive","undo","unfold_less","unfold_more","update","usb","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vibration","video_call","video_label","video_library","videocam","videocam_off","videogame_asset","view_agenda","view_array","view_carousel","view_column","view_comfy","view_compact","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","vignette","visibility","visibility_off","voice_chat","voicemail","volume_down","volume_mute","volume_off","volume_up","vpn_key","vpn_lock","wallpaper","warning","watch","watch_later","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","wc","web","web_asset","weekend","whatshot","widgets","wifi","wifi_lock","wifi_tethering","work","wrap_text","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"];return a.default.createElement("div",{className:"icon-field"},t.map((function(t){return a.default.createElement("div",{key:t,className:"icon-field__option "+(e.icon==t?"icon-field__option--selected":""),onClick:function(n){return e.onChange(t)}},a.default.createElement(o.default,{name:t,className:"icon-field__option__icon"}))})))}))},function(e,t,n){}]);